@camstack/addon-pipeline 1.2.64 → 1.2.67
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 +1 -1
- package/dist/audio-analyzer/index.mjs +1 -1
- package/dist/detection-pipeline/index.js +2 -2
- package/dist/detection-pipeline/index.mjs +2 -2
- package/dist/{dist-DKrqeIfS.js → dist-B6GWr9am.js} +151 -6
- package/dist/{dist-B9_C-QmC.mjs → dist-BEbyhqoG.mjs} +146 -7
- package/dist/{event-loop-stall-monitor-CnJ5JGA2.js → event-loop-stall-monitor-BHOEgVnP.js} +1 -1
- package/dist/{event-loop-stall-monitor-BucTbe9v.mjs → event-loop-stall-monitor-BNyf5yEt.mjs} +1 -1
- package/dist/motion-wasm/index.js +1 -1
- package/dist/motion-wasm/index.mjs +1 -1
- package/dist/pipeline-runner/index.js +144 -14
- package/dist/pipeline-runner/index.mjs +144 -14
- package/dist/recorder/index.js +114 -3
- package/dist/recorder/index.mjs +114 -3
- package/dist/remote-restream-BYbAsgUf.js +89 -0
- package/dist/remote-restream-Ci7RXNGb.mjs +66 -0
- package/dist/session-decode/decode-worker-child.js +1 -1
- package/dist/session-decode/decode-worker-child.mjs +1 -1
- package/dist/stream-broker/_stub.js +2 -2
- package/dist/stream-broker/{_virtual_mf-localSharedImportMap___mfe_internal__addon_stream_broker_widgets-DkDAcqBW.mjs → _virtual_mf-localSharedImportMap___mfe_internal__addon_stream_broker_widgets-BkKnIpb0.mjs} +2 -2
- package/dist/stream-broker/_virtual_mf___mfe_internal__addon_stream_broker_widgets__loadShare___mf_0_camstack_mf_1_types__loadShare__.js-ircnzt0s.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-CJAUKSrT.mjs → _virtual_mf___mfe_internal__addon_stream_broker_widgets__loadShare___mf_0_camstack_mf_1_ui_mf_2_library__loadShare__.js-DU7u9EJt.mjs} +1 -1
- package/dist/stream-broker/{hostInit-C-peB-6a.mjs → hostInit-y3zWHWoe.mjs} +2 -2
- package/dist/stream-broker/index.js +172 -36
- package/dist/stream-broker/index.mjs +172 -36
- package/dist/stream-broker/remoteEntry.js +1 -1
- package/dist/{worker-protocol-CQHY2NeB.mjs → worker-protocol-CBg9bqCs.mjs} +1 -1
- package/dist/{worker-protocol-CDkbdSuM.js → worker-protocol-qzaozj7t.js} +1 -1
- package/package.json +1 -1
- package/dist/remote-restream-BeHi78PZ.mjs +0 -25
- package/dist/remote-restream-CO36Sr30.js +0 -36
- package/dist/stream-broker/_virtual_mf___mfe_internal__addon_stream_broker_widgets__loadShare___mf_0_camstack_mf_1_types__loadShare__.js-C2tu4c14.mjs +0 -26
- package/python/__pycache__/inference_pool.cpython-312.pyc +0 -0
- package/python/__pycache__/inference_pool.cpython-313.pyc +0 -0
- package/python/__pycache__/inference_pool.cpython-314.pyc +0 -0
- package/python/__pycache__/test_inference_pool_backpressure.cpython-314.pyc +0 -0
- package/python/__pycache__/test_inference_pool_coreml_cache.cpython-314.pyc +0 -0
- package/python/__pycache__/test_inference_pool_device_selection.cpython-314.pyc +0 -0
- package/python/__pycache__/test_inference_pool_layout.cpython-314.pyc +0 -0
- package/python/__pycache__/test_inference_pool_preprocess.cpython-314.pyc +0 -0
- package/python/__pycache__/yamnet_audio.cpython-314.pyc +0 -0
- package/python/postprocessors/__pycache__/__init__.cpython-312.pyc +0 -0
- package/python/postprocessors/__pycache__/__init__.cpython-313.pyc +0 -0
- package/python/postprocessors/__pycache__/__init__.cpython-314.pyc +0 -0
- package/python/postprocessors/__pycache__/_safety.cpython-313.pyc +0 -0
- package/python/postprocessors/__pycache__/arcface.cpython-312.pyc +0 -0
- package/python/postprocessors/__pycache__/arcface.cpython-313.pyc +0 -0
- package/python/postprocessors/__pycache__/arcface.cpython-314.pyc +0 -0
- package/python/postprocessors/__pycache__/clip.cpython-312.pyc +0 -0
- package/python/postprocessors/__pycache__/clip.cpython-313.pyc +0 -0
- package/python/postprocessors/__pycache__/clip.cpython-314.pyc +0 -0
- package/python/postprocessors/__pycache__/ctc.cpython-312.pyc +0 -0
- package/python/postprocessors/__pycache__/ctc.cpython-313.pyc +0 -0
- package/python/postprocessors/__pycache__/ctc.cpython-314.pyc +0 -0
- package/python/postprocessors/__pycache__/rfdetr.cpython-312.pyc +0 -0
- package/python/postprocessors/__pycache__/saliency.cpython-312.pyc +0 -0
- package/python/postprocessors/__pycache__/saliency.cpython-313.pyc +0 -0
- package/python/postprocessors/__pycache__/saliency.cpython-314.pyc +0 -0
- package/python/postprocessors/__pycache__/scrfd.cpython-312.pyc +0 -0
- package/python/postprocessors/__pycache__/scrfd.cpython-313.pyc +0 -0
- package/python/postprocessors/__pycache__/scrfd.cpython-314.pyc +0 -0
- package/python/postprocessors/__pycache__/softmax.cpython-312.pyc +0 -0
- package/python/postprocessors/__pycache__/softmax.cpython-313.pyc +0 -0
- package/python/postprocessors/__pycache__/softmax.cpython-314.pyc +0 -0
- package/python/postprocessors/__pycache__/ssd.cpython-312.pyc +0 -0
- package/python/postprocessors/__pycache__/ssd.cpython-313.pyc +0 -0
- package/python/postprocessors/__pycache__/ssd.cpython-314.pyc +0 -0
- package/python/postprocessors/__pycache__/test_clip.cpython-312-pytest-9.1.1.pyc +0 -0
- package/python/postprocessors/__pycache__/test_clip.cpython-313-pytest-9.1.1.pyc +0 -0
- package/python/postprocessors/__pycache__/test_ctc.cpython-312-pytest-9.1.1.pyc +0 -0
- package/python/postprocessors/__pycache__/test_ctc.cpython-312.pyc +0 -0
- package/python/postprocessors/__pycache__/test_ctc.cpython-313-pytest-9.1.1.pyc +0 -0
- package/python/postprocessors/__pycache__/test_ctc.cpython-313.pyc +0 -0
- package/python/postprocessors/__pycache__/test_rfdetr.cpython-312-pytest-9.1.1.pyc +0 -0
- package/python/postprocessors/__pycache__/test_saliency.cpython-312-pytest-9.1.1.pyc +0 -0
- package/python/postprocessors/__pycache__/test_saliency.cpython-313-pytest-9.1.1.pyc +0 -0
- package/python/postprocessors/__pycache__/test_softmax.cpython-312-pytest-9.1.1.pyc +0 -0
- package/python/postprocessors/__pycache__/test_yolo_nms.cpython-312-pytest-9.1.1.pyc +0 -0
- package/python/postprocessors/__pycache__/test_yolo_nms.cpython-39.pyc +0 -0
- package/python/postprocessors/__pycache__/yamnet.cpython-312.pyc +0 -0
- package/python/postprocessors/__pycache__/yamnet.cpython-313.pyc +0 -0
- package/python/postprocessors/__pycache__/yamnet.cpython-314.pyc +0 -0
- package/python/postprocessors/__pycache__/yolo.cpython-312.pyc +0 -0
- package/python/postprocessors/__pycache__/yolo.cpython-313.pyc +0 -0
- package/python/postprocessors/__pycache__/yolo.cpython-314.pyc +0 -0
- package/python/postprocessors/__pycache__/yolo.cpython-39.pyc +0 -0
- package/python/postprocessors/__pycache__/yolo_seg.cpython-312.pyc +0 -0
- package/python/postprocessors/__pycache__/yolo_seg.cpython-313.pyc +0 -0
- package/python/postprocessors/__pycache__/yolo_seg.cpython-314.pyc +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { r as __toESM, t as __commonJSMin } from "../chunk-DnnnRqeS.mjs";
|
|
2
|
-
import {
|
|
3
|
-
import { n as profileForStreamId } from "../remote-restream-
|
|
2
|
+
import { At as string, Ct as boolean, D as cameraStreamsCapability, Dt as number, Et as literal, F as egressTranscodeSharingKey, I as egressTransportFromRequest, Mt as EventCategory, O as createHwAccelCache, Ot as object, Q as streamBrokerCapability, S as RingBuffer, St as array, V as maskUrlCredentials, Y as resolveEgressDecodeHwAccel, at as invocationFromEncodeProfile, ct as CAM_PROFILE_ORDER, dt as createEvent, et as webrtcSessionCapability, f as EncodeProfileSchema, gt as nodePin, ht as makeSourceBrokerId, it as buildFfmpegArgs$1, jt as union, kt as record, lt as DeviceFeature, mt as makeProfileBrokerId, nt as AUDIO_PRESETS, ot as isSoftwareDecode, pt as isEvent, rt as Fmp4BoxSplitter, st as BaseAddon, tt as errMsg, ut as DeviceType, v as RATE_CONTROL_RELAXED, vt as parseProfileBrokerId, w as addonWidgetsSourceCapability, wt as discriminatedUnion, xt as _enum, y as RATE_CONTROL_TIGHT } from "../dist-BEbyhqoG.mjs";
|
|
3
|
+
import { n as profileForStreamId, r as parseRestreamPath } from "../remote-restream-Ci7RXNGb.mjs";
|
|
4
4
|
import { createRequire } from "node:module";
|
|
5
5
|
import * as crypto$1 from "node:crypto";
|
|
6
6
|
import crypto, { createHash, randomBytes, randomUUID } from "node:crypto";
|
|
@@ -1927,10 +1927,12 @@ var RtspRestreamer = class {
|
|
|
1927
1927
|
const overPackets = primePackets.length > bound.maxPackets;
|
|
1928
1928
|
const served = [];
|
|
1929
1929
|
let withheld = 0;
|
|
1930
|
+
let detectionIntentServed = 0;
|
|
1930
1931
|
for (const sessionId of ready) {
|
|
1931
1932
|
const session = this.sessions.get(sessionId);
|
|
1932
1933
|
if (!session) continue;
|
|
1933
|
-
|
|
1934
|
+
const detectionIntent = session.isDetectionIntent();
|
|
1935
|
+
if (session.isMuted() && !detectionIntent) {
|
|
1934
1936
|
if (!fromRing || spanMs > LIVE_EDGE_MAX_SPAN_MS) {
|
|
1935
1937
|
this.dropsWithheldMutedLiveEdge++;
|
|
1936
1938
|
withheld++;
|
|
@@ -1942,6 +1944,7 @@ var RtspRestreamer = class {
|
|
|
1942
1944
|
withheld++;
|
|
1943
1945
|
continue;
|
|
1944
1946
|
}
|
|
1947
|
+
if (detectionIntent) detectionIntentServed++;
|
|
1945
1948
|
served.push(sessionId);
|
|
1946
1949
|
}
|
|
1947
1950
|
if (withheld > 0) this.reportDrops(false);
|
|
@@ -1956,7 +1959,8 @@ var RtspRestreamer = class {
|
|
|
1956
1959
|
clients: served.length,
|
|
1957
1960
|
boundSpanMs: bound.maxSpanMs,
|
|
1958
1961
|
boundPackets: bound.maxPackets,
|
|
1959
|
-
withheld
|
|
1962
|
+
withheld,
|
|
1963
|
+
detectionIntentServed
|
|
1960
1964
|
}
|
|
1961
1965
|
});
|
|
1962
1966
|
const items = primePackets.map((packet) => ({
|
|
@@ -2295,6 +2299,16 @@ var RtspSession = class {
|
|
|
2295
2299
|
/** When true, this session receives video-only (no audio RTP). */
|
|
2296
2300
|
muted;
|
|
2297
2301
|
/**
|
|
2302
|
+
* The consumer purpose this session DECLARED on its dial path (see
|
|
2303
|
+
* `restream-intent.ts`), or `null` when it declared none — which is every
|
|
2304
|
+
* consumer except the per-session detection decode.
|
|
2305
|
+
*
|
|
2306
|
+
* Kept separate from {@link muted} deliberately: `isMuted()` is shared by the
|
|
2307
|
+
* WebRTC/HomeKit loopback legs, and the join rule that keys on it must stay
|
|
2308
|
+
* true for them. Only an explicit declaration changes behaviour.
|
|
2309
|
+
*/
|
|
2310
|
+
intent;
|
|
2311
|
+
/**
|
|
2298
2312
|
* Latch for a `muted` (local-decoder loopback) session that has started
|
|
2299
2313
|
* dropping video packets on socket backlog. While set, every non-keyframe
|
|
2300
2314
|
* packet is dropped — even after the backlog clears — until the next keyframe
|
|
@@ -2302,11 +2316,12 @@ var RtspSession = class {
|
|
|
2302
2316
|
* of mid-GOP with reference-broken (missing P-frame) packets.
|
|
2303
2317
|
*/
|
|
2304
2318
|
droppingUntilKeyframe = false;
|
|
2305
|
-
constructor(socket, sdp, onClose, muted) {
|
|
2319
|
+
constructor(socket, sdp, onClose, muted, intent) {
|
|
2306
2320
|
this.socket = socket;
|
|
2307
2321
|
this.sdp = sdp;
|
|
2308
2322
|
this.onClose = onClose;
|
|
2309
2323
|
this.muted = muted ?? false;
|
|
2324
|
+
this.intent = intent ?? null;
|
|
2310
2325
|
this.sessionId = randomUUID().replace(/-/g, "").slice(0, 16);
|
|
2311
2326
|
socket.on("data", (chunk) => {
|
|
2312
2327
|
if (this.closed) return;
|
|
@@ -2332,6 +2347,16 @@ var RtspSession = class {
|
|
|
2332
2347
|
return this.muted;
|
|
2333
2348
|
}
|
|
2334
2349
|
/**
|
|
2350
|
+
* True only for a session that dialed the DETECTION path
|
|
2351
|
+
* (`DETECTION_MUTED_PATH_SUFFIX`). Read by
|
|
2352
|
+
* `RtspRestreamer.servePendingSessionsRtp` to exempt this session from the
|
|
2353
|
+
* live-edge join withhold — a detection decode has decode headroom by
|
|
2354
|
+
* construction and drains the burst instead of accumulating it.
|
|
2355
|
+
*/
|
|
2356
|
+
isDetectionIntent() {
|
|
2357
|
+
return this.intent === "detection";
|
|
2358
|
+
}
|
|
2359
|
+
/**
|
|
2335
2360
|
* Diagnostic snapshot consumed by `StreamBroker.listClients` (Phase 10).
|
|
2336
2361
|
* Gives operators the information needed to identify a specific RTSP
|
|
2337
2362
|
* session: where it's coming from, whether it's active, when it
|
|
@@ -2670,9 +2695,7 @@ var RtspListenServer = class RtspListenServer {
|
|
|
2670
2695
|
async dispatch(socket, requestBuffer) {
|
|
2671
2696
|
const uriMatch = (requestBuffer.split("\r\n")[0] ?? "").match(/\s(rtsp:\/\/[^\s]+)\s/);
|
|
2672
2697
|
const pathMatch = (uriMatch ? uriMatch[1] : "").match(/rtsp:\/\/[^/]+(\/.*?)(?:\s|$)/);
|
|
2673
|
-
const
|
|
2674
|
-
const isMuted = streamPath.endsWith("/muted");
|
|
2675
|
-
const lookupPath = isMuted ? streamPath.slice(0, -6) : streamPath;
|
|
2698
|
+
const { lookupPath, muted: isMuted, intent } = parseRestreamPath(pathMatch ? pathMatch[1].replace(/^\//, "").replace(/\/trackID=\d+$/, "") : "");
|
|
2676
2699
|
const restreamer = this.restreamers.get(lookupPath);
|
|
2677
2700
|
if (!restreamer) {
|
|
2678
2701
|
socket.write(`RTSP/1.0 404 Not Found\r\nCSeq: 1\r\n\r\n`);
|
|
@@ -2701,7 +2724,7 @@ var RtspListenServer = class RtspListenServer {
|
|
|
2701
2724
|
const session = new RtspSession(socket, isMuted ? restreamer.getMutedSdp() ?? restreamer.getSdp() ?? "" : restreamer.getSdp() ?? "", () => {
|
|
2702
2725
|
restreamer.removeSession(session.getSessionId());
|
|
2703
2726
|
releaseOnce();
|
|
2704
|
-
}, isMuted);
|
|
2727
|
+
}, isMuted, intent);
|
|
2705
2728
|
restreamer.addSession(session);
|
|
2706
2729
|
releaseOnce();
|
|
2707
2730
|
socket.unshift(Buffer.from(requestBuffer, "ascii"));
|
|
@@ -9813,7 +9836,8 @@ var LAZY_DIAL_SOURCE_TYPES = new Set([
|
|
|
9813
9836
|
"rtsp",
|
|
9814
9837
|
"rtmp",
|
|
9815
9838
|
"rfc4571",
|
|
9816
|
-
"flv"
|
|
9839
|
+
"flv",
|
|
9840
|
+
"http"
|
|
9817
9841
|
]);
|
|
9818
9842
|
/**
|
|
9819
9843
|
* True when a source must not be dialed until {@link StreamBroker.hasDemand}
|
|
@@ -14694,9 +14718,67 @@ var StreamBrokerManager = class StreamBrokerManager {
|
|
|
14694
14718
|
setProfileMapPersister(persister) {
|
|
14695
14719
|
this.profileMapPersister = persister;
|
|
14696
14720
|
}
|
|
14697
|
-
|
|
14721
|
+
/**
|
|
14722
|
+
* Rehydrate the persisted profile map, then reconcile it against the live
|
|
14723
|
+
* device registry — a blob written before a camera was deleted otherwise
|
|
14724
|
+
* resurrects that camera's slots on every boot.
|
|
14725
|
+
*
|
|
14726
|
+
* Call AFTER `setProfileMapPersister` / `setApiAccess`: the prune persists
|
|
14727
|
+
* what it drops, and reads the registry to decide what to drop.
|
|
14728
|
+
*/
|
|
14729
|
+
async loadPersistedProfileMap(entries) {
|
|
14698
14730
|
this.assignments.clear();
|
|
14699
14731
|
for (const [k, v] of entries) this.assignments.set(k, v);
|
|
14732
|
+
await this.pruneAssignmentsForRemovedDevices();
|
|
14733
|
+
}
|
|
14734
|
+
/**
|
|
14735
|
+
* Drop assignments for devices the registry no longer knows.
|
|
14736
|
+
*
|
|
14737
|
+
* Deletion decided by a fallible read, so every way the read can be WRONG
|
|
14738
|
+
* skips the prune outright (D49): no api yet, a failed enumeration, or an
|
|
14739
|
+
* empty enumeration standing next to persisted assignments — that last one
|
|
14740
|
+
* is device-restore not having run, and believing it would wipe the whole
|
|
14741
|
+
* fleet's slot map on one bad boot. Nothing here is retried: the next boot
|
|
14742
|
+
* reads the same blob, and A3 already removes a device at the moment it is
|
|
14743
|
+
* deleted.
|
|
14744
|
+
*/
|
|
14745
|
+
async pruneAssignmentsForRemovedDevices() {
|
|
14746
|
+
const persistedCount = this.assignments.size;
|
|
14747
|
+
if (persistedCount === 0) return;
|
|
14748
|
+
const api = this.api;
|
|
14749
|
+
if (!api) {
|
|
14750
|
+
this.logger.warn("profile-map prune skipped — no api access", { meta: { persistedCount } });
|
|
14751
|
+
return;
|
|
14752
|
+
}
|
|
14753
|
+
let devices;
|
|
14754
|
+
try {
|
|
14755
|
+
devices = await api.deviceManager.listAll.query({});
|
|
14756
|
+
} catch (err) {
|
|
14757
|
+
this.logger.warn("profile-map prune skipped — deviceManager.listAll failed", { meta: {
|
|
14758
|
+
persistedCount,
|
|
14759
|
+
error: errMsg(err)
|
|
14760
|
+
} });
|
|
14761
|
+
return;
|
|
14762
|
+
}
|
|
14763
|
+
if (devices.length === 0) {
|
|
14764
|
+
this.logger.warn("profile-map prune skipped — device enumeration came back empty", { meta: { persistedCount } });
|
|
14765
|
+
return;
|
|
14766
|
+
}
|
|
14767
|
+
const known = new Set(devices.map((d) => d.id));
|
|
14768
|
+
const dropped = [...this.assignments.keys()].filter((deviceId) => !known.has(deviceId));
|
|
14769
|
+
if (dropped.length === 0) {
|
|
14770
|
+
this.logger.debug("profile-map prune: every persisted device still exists", { meta: { persistedCount } });
|
|
14771
|
+
return;
|
|
14772
|
+
}
|
|
14773
|
+
for (const deviceId of dropped) {
|
|
14774
|
+
this.assignments.delete(deviceId);
|
|
14775
|
+
this.logger.debug("profile-map prune dropped a device that no longer exists", { tags: { deviceId } });
|
|
14776
|
+
}
|
|
14777
|
+
this.persistProfileMap();
|
|
14778
|
+
this.logger.info("profile-map prune — dropped assignments for devices that no longer exist", { meta: {
|
|
14779
|
+
dropped,
|
|
14780
|
+
remaining: this.assignments.size
|
|
14781
|
+
} });
|
|
14700
14782
|
}
|
|
14701
14783
|
getRtspRestreamProvider() {
|
|
14702
14784
|
return this.rtspProvider;
|
|
@@ -15140,12 +15222,32 @@ var StreamBrokerManager = class StreamBrokerManager {
|
|
|
15140
15222
|
}
|
|
15141
15223
|
async retractDeviceNow(deviceId, opts) {
|
|
15142
15224
|
const existing = this.cameraStreams.get(deviceId);
|
|
15143
|
-
if (
|
|
15144
|
-
for (const camStreamId of Array.from(existing.keys())) await this.retractCameraStream({
|
|
15225
|
+
if (existing) for (const camStreamId of Array.from(existing.keys())) await this.retractCameraStream({
|
|
15145
15226
|
deviceId,
|
|
15146
15227
|
camStreamId,
|
|
15147
15228
|
preserveAssignment: opts.preserveAssignments === true
|
|
15148
15229
|
});
|
|
15230
|
+
if (opts.purgeAssignments === true) this.purgeDeviceAssignments(deviceId);
|
|
15231
|
+
}
|
|
15232
|
+
/**
|
|
15233
|
+
* Forget a device's profile-slot assignments and persist the shrunk map.
|
|
15234
|
+
*
|
|
15235
|
+
* Reachable only from the PERMANENT-removal path. A deleted device that
|
|
15236
|
+
* keeps its entry stays in `listAllProfileSlots` for the life of the
|
|
15237
|
+
* process AND is written straight back into the persisted `profileMap`
|
|
15238
|
+
* blob, so it returns at every boot — which is how 3217/3218 outlived
|
|
15239
|
+
* their cameras.
|
|
15240
|
+
*/
|
|
15241
|
+
purgeDeviceAssignments(deviceId) {
|
|
15242
|
+
const existing = this.assignments.get(deviceId);
|
|
15243
|
+
if (!existing) return;
|
|
15244
|
+
const profiles = CAM_PROFILE_ORDER.filter((profile) => existing.map[profile] !== void 0);
|
|
15245
|
+
this.assignments.delete(deviceId);
|
|
15246
|
+
this.persistProfileMap();
|
|
15247
|
+
this.logger.info("device removed — dropping its profile-slot assignments", {
|
|
15248
|
+
tags: { deviceId },
|
|
15249
|
+
meta: { profiles }
|
|
15250
|
+
});
|
|
15149
15251
|
}
|
|
15150
15252
|
async runDeviceCatalogOperation(deviceId, operation) {
|
|
15151
15253
|
const previous = this.deviceCatalogOperations.get(deviceId) ?? Promise.resolve();
|
|
@@ -17430,13 +17532,28 @@ var StreamBrokerManager = class StreamBrokerManager {
|
|
|
17430
17532
|
}
|
|
17431
17533
|
/**
|
|
17432
17534
|
* Whether a stream is warmed BY DEFAULT (no explicit override): the device's
|
|
17433
|
-
* `high` profile, on a non-battery camera
|
|
17434
|
-
*
|
|
17435
|
-
*
|
|
17436
|
-
*
|
|
17535
|
+
* `high` profile, on a non-battery camera, from a source that is worth
|
|
17536
|
+
* keeping hot. Single source of truth used by both the broker-config default
|
|
17537
|
+
* (`applyPreBufferConfig`) and the settings-patch override synthesis
|
|
17538
|
+
* (`defaultStreamPreBuffer`) so a seconds-only patch never silently disables
|
|
17539
|
+
* the high-profile warm default.
|
|
17540
|
+
*
|
|
17541
|
+
* `pull-http` is excluded. The warm default is not free storage — it is
|
|
17542
|
+
* PERMANENT SYNTHETIC DEMAND: `StreamBroker.hasDemand()` returns true on
|
|
17543
|
+
* `_preBufferEnabled` alone, so a warm stream is dialed forever regardless
|
|
17544
|
+
* of subscribers. For an MJPEG relay that means the ingest transcode
|
|
17545
|
+
* (`HTTP_MJPEG_H264_OUTPUT_ARGS` → libx264) runs forever too. Measured on
|
|
17546
|
+
* the live hub: the terminal addon's glances relay burned ~12% of a core
|
|
17547
|
+
* and held its PTY open for hours with zero viewers. The trade the warm
|
|
17548
|
+
* default buys elsewhere — a seeded GOP instead of a ~5-8 s cold start —
|
|
17549
|
+
* does not apply here: an MJPEG relay is cheap to re-dial (no camera
|
|
17550
|
+
* handshake) and expensive to keep hot. An explicit operator ON override
|
|
17551
|
+
* still warms it; this is a DEFAULT, not a ban.
|
|
17437
17552
|
*/
|
|
17438
17553
|
isDefaultWarm(deviceId, camStreamId) {
|
|
17439
|
-
|
|
17554
|
+
if (!(findProfileForStream(this.assignments.get(deviceId)?.map ?? {}, camStreamId) === "high")) return false;
|
|
17555
|
+
if (this.deviceHasFeature(deviceId, DeviceFeature.BatteryOperated)) return false;
|
|
17556
|
+
return this.cameraStreams.get(deviceId)?.get(camStreamId)?.kind !== "pull-http";
|
|
17440
17557
|
}
|
|
17441
17558
|
/**
|
|
17442
17559
|
* Default `StreamPreBuffer` for a brand-new override entry — mirrors
|
|
@@ -33597,6 +33714,17 @@ var StreamBrokerAddon = class extends BaseAddon {
|
|
|
33597
33714
|
});
|
|
33598
33715
|
});
|
|
33599
33716
|
const profileMapState = this.state("profileMap", ProfileMapSchema, {});
|
|
33717
|
+
const profileMapPersister = (assignments) => {
|
|
33718
|
+
const obj = {};
|
|
33719
|
+
for (const [deviceId, assignment] of assignments) obj[`${deviceId}`] = {
|
|
33720
|
+
map: { ...assignment.map },
|
|
33721
|
+
auto: assignment.auto
|
|
33722
|
+
};
|
|
33723
|
+
profileMapState.set(obj).catch((err) => {
|
|
33724
|
+
this.ctx.logger.warn("Failed to persist profile map", { meta: { error: errMsg(err) } });
|
|
33725
|
+
});
|
|
33726
|
+
};
|
|
33727
|
+
this.brokerManager.setProfileMapPersister(profileMapPersister);
|
|
33600
33728
|
try {
|
|
33601
33729
|
const obj = await profileMapState.get();
|
|
33602
33730
|
const loaded = /* @__PURE__ */ new Map();
|
|
@@ -33613,22 +33741,11 @@ var StreamBrokerAddon = class extends BaseAddon {
|
|
|
33613
33741
|
auto: val.auto
|
|
33614
33742
|
});
|
|
33615
33743
|
}
|
|
33616
|
-
this.brokerManager.loadPersistedProfileMap(loaded);
|
|
33744
|
+
await this.brokerManager.loadPersistedProfileMap(loaded);
|
|
33617
33745
|
this.ctx.logger.info("Loaded persisted profile map", { meta: { deviceCount: loaded.size } });
|
|
33618
33746
|
} catch (err) {
|
|
33619
33747
|
this.ctx.logger.warn("Failed to load profile map", { meta: { error: errMsg(err) } });
|
|
33620
33748
|
}
|
|
33621
|
-
const profileMapPersister = (assignments) => {
|
|
33622
|
-
const obj = {};
|
|
33623
|
-
for (const [deviceId, assignment] of assignments) obj[`${deviceId}`] = {
|
|
33624
|
-
map: { ...assignment.map },
|
|
33625
|
-
auto: assignment.auto
|
|
33626
|
-
};
|
|
33627
|
-
profileMapState.set(obj).catch((err) => {
|
|
33628
|
-
this.ctx.logger.warn("Failed to persist profile map", { meta: { error: errMsg(err) } });
|
|
33629
|
-
});
|
|
33630
|
-
};
|
|
33631
|
-
this.brokerManager.setProfileMapPersister(profileMapPersister);
|
|
33632
33749
|
const probeSnapshotsState = this.state("probeSnapshots", ProbedSnapshotMapSchema, {});
|
|
33633
33750
|
this.probeSnapshotsState = probeSnapshotsState;
|
|
33634
33751
|
try {
|
|
@@ -33710,12 +33827,7 @@ var StreamBrokerAddon = class extends BaseAddon {
|
|
|
33710
33827
|
});
|
|
33711
33828
|
this.subscribe({ category: EventCategory.DeviceUnregistered }, (event) => {
|
|
33712
33829
|
const deviceId = event.data.deviceId;
|
|
33713
|
-
if (typeof deviceId === "number") this.
|
|
33714
|
-
this.ctx.logger.warn("device retract failed", {
|
|
33715
|
-
tags: { deviceId },
|
|
33716
|
-
meta: { error: errMsg(err) }
|
|
33717
|
-
});
|
|
33718
|
-
});
|
|
33830
|
+
if (typeof deviceId === "number") this.handleDeviceRemoved(deviceId);
|
|
33719
33831
|
});
|
|
33720
33832
|
this.subscribe({ category: EventCategory.StreamParamsChanged }, (event) => {
|
|
33721
33833
|
const deviceId = event.data.deviceId;
|
|
@@ -33917,6 +34029,30 @@ var StreamBrokerAddon = class extends BaseAddon {
|
|
|
33917
34029
|
this.brokerManager = null;
|
|
33918
34030
|
}
|
|
33919
34031
|
/**
|
|
34032
|
+
* A device was PERMANENTLY removed (`DeviceUnregistered`).
|
|
34033
|
+
*
|
|
34034
|
+
* Retracts its cam-streams AND purges its profile-slot assignments.
|
|
34035
|
+
* `preserveAssignments` alone is the provider-restart contract — the streams
|
|
34036
|
+
* come back and the operator's manual slot choices must survive — but a
|
|
34037
|
+
* DELETED device that keeps its assignments stays in `listAllProfileSlots`
|
|
34038
|
+
* for the life of the process and is written straight back into the
|
|
34039
|
+
* persisted `profileMap` blob, so it returns at every boot. Live ids
|
|
34040
|
+
* 3217/3218 outlived their cameras exactly that way.
|
|
34041
|
+
*/
|
|
34042
|
+
async handleDeviceRemoved(deviceId) {
|
|
34043
|
+
try {
|
|
34044
|
+
await this.brokerManager?.retractDevice(deviceId, {
|
|
34045
|
+
preserveAssignments: true,
|
|
34046
|
+
purgeAssignments: true
|
|
34047
|
+
});
|
|
34048
|
+
} catch (err) {
|
|
34049
|
+
this.ctx.logger.warn("device retract failed", {
|
|
34050
|
+
tags: { deviceId },
|
|
34051
|
+
meta: { error: errMsg(err) }
|
|
34052
|
+
});
|
|
34053
|
+
}
|
|
34054
|
+
}
|
|
34055
|
+
/**
|
|
33920
34056
|
* Emit one `stream-broker.metrics-snapshot` event per active broker.
|
|
33921
34057
|
* BrokerStats already aggregates everything UI consumers need
|
|
33922
34058
|
* (status, fps, bitrate, codec, subscriber count). Skipped when no
|
|
@@ -30,7 +30,7 @@ async function d(e) {
|
|
|
30
30
|
}
|
|
31
31
|
}
|
|
32
32
|
async function f() {
|
|
33
|
-
return l ||= d(() => import("./_virtual_mf-localSharedImportMap___mfe_internal__addon_stream_broker_widgets-
|
|
33
|
+
return l ||= d(() => import("./_virtual_mf-localSharedImportMap___mfe_internal__addon_stream_broker_widgets-BkKnIpb0.mjs")).catch((e) => {
|
|
34
34
|
throw l = void 0, e;
|
|
35
35
|
}), l;
|
|
36
36
|
}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { g as NativeLeaseSettingsSchema, h as NativeLeaseAdmissionSchema, l as DEFAULT_NATIVE_LEASE_SETTINGS } from "./dist-
|
|
1
|
+
import { g as NativeLeaseSettingsSchema, h as NativeLeaseAdmissionSchema, l as DEFAULT_NATIVE_LEASE_SETTINGS } from "./dist-BEbyhqoG.mjs";
|
|
2
2
|
//#region src/session-decode/native-lease-config.ts
|
|
3
3
|
/**
|
|
4
4
|
* Resolution of the native-frame lease knobs for one decode worker.
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@camstack/addon-pipeline",
|
|
3
|
-
"version": "1.2.
|
|
3
|
+
"version": "1.2.67",
|
|
4
4
|
"description": "Pipeline bundle — runner, detection, motion, audio + stream broker. Multi-entry npm package shipping pipeline addons under a single bundle.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"camstack",
|
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
//#region src/pipeline-runner/remote-restream.ts
|
|
2
|
-
/**
|
|
3
|
-
* Runner-side mode selection (pure): whether an attach payload routes this
|
|
4
|
-
* camera through the remote-source leg. Absent `frameSource` (a pre-P2c
|
|
5
|
-
* payload) and `local-broker` both take the co-located broker path.
|
|
6
|
-
*/
|
|
7
|
-
function isRemoteRestream(frameSource) {
|
|
8
|
-
return frameSource !== void 0 && frameSource.kind === "remote-restream";
|
|
9
|
-
}
|
|
10
|
-
/**
|
|
11
|
-
* Resolve WHICH broker profile a camStream id feeds for a device (pure).
|
|
12
|
-
*
|
|
13
|
-
* `getStreamWithCodec` targets a PROFILE (its assigned camStream), while the
|
|
14
|
-
* runner is dispatched with camStream ids (`motionStreamId` /
|
|
15
|
-
* `detectionStreamId`). The broker's profile slots carry the mapping
|
|
16
|
-
* (`sourceCamStreamId`); a stream no slot feeds returns `null` — the acquire
|
|
17
|
-
* fails fast and the caller's backoff retries (the assignment may still be
|
|
18
|
-
* propagating).
|
|
19
|
-
*/
|
|
20
|
-
function profileForStreamId(slots, deviceId, streamId) {
|
|
21
|
-
for (const slot of slots) if (slot.deviceId === deviceId && slot.sourceCamStreamId === streamId) return slot.profile;
|
|
22
|
-
return null;
|
|
23
|
-
}
|
|
24
|
-
//#endregion
|
|
25
|
-
export { profileForStreamId as n, isRemoteRestream as t };
|
|
@@ -1,36 +0,0 @@
|
|
|
1
|
-
//#region src/pipeline-runner/remote-restream.ts
|
|
2
|
-
/**
|
|
3
|
-
* Runner-side mode selection (pure): whether an attach payload routes this
|
|
4
|
-
* camera through the remote-source leg. Absent `frameSource` (a pre-P2c
|
|
5
|
-
* payload) and `local-broker` both take the co-located broker path.
|
|
6
|
-
*/
|
|
7
|
-
function isRemoteRestream(frameSource) {
|
|
8
|
-
return frameSource !== void 0 && frameSource.kind === "remote-restream";
|
|
9
|
-
}
|
|
10
|
-
/**
|
|
11
|
-
* Resolve WHICH broker profile a camStream id feeds for a device (pure).
|
|
12
|
-
*
|
|
13
|
-
* `getStreamWithCodec` targets a PROFILE (its assigned camStream), while the
|
|
14
|
-
* runner is dispatched with camStream ids (`motionStreamId` /
|
|
15
|
-
* `detectionStreamId`). The broker's profile slots carry the mapping
|
|
16
|
-
* (`sourceCamStreamId`); a stream no slot feeds returns `null` — the acquire
|
|
17
|
-
* fails fast and the caller's backoff retries (the assignment may still be
|
|
18
|
-
* propagating).
|
|
19
|
-
*/
|
|
20
|
-
function profileForStreamId(slots, deviceId, streamId) {
|
|
21
|
-
for (const slot of slots) if (slot.deviceId === deviceId && slot.sourceCamStreamId === streamId) return slot.profile;
|
|
22
|
-
return null;
|
|
23
|
-
}
|
|
24
|
-
//#endregion
|
|
25
|
-
Object.defineProperty(exports, "isRemoteRestream", {
|
|
26
|
-
enumerable: true,
|
|
27
|
-
get: function() {
|
|
28
|
-
return isRemoteRestream;
|
|
29
|
-
}
|
|
30
|
-
});
|
|
31
|
-
Object.defineProperty(exports, "profileForStreamId", {
|
|
32
|
-
enumerable: true,
|
|
33
|
-
get: function() {
|
|
34
|
-
return profileForStreamId;
|
|
35
|
-
}
|
|
36
|
-
});
|
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
//#region \0virtual:mf:__mfe_internal__addon_stream_broker_widgets__loadShare___mf_0_camstack_mf_1_types__loadShare__.js
|
|
2
|
-
var e = "__mf_init__virtual:mf:__mfe_internal__addon_stream_broker_widgets__mf_v__runtimeInit__mf_v__.js__", t = globalThis[e];
|
|
3
|
-
if (!t) {
|
|
4
|
-
let n, r, i = new Promise((e, t) => {
|
|
5
|
-
n = e, r = t;
|
|
6
|
-
});
|
|
7
|
-
t = globalThis[e] = {
|
|
8
|
-
initPromise: i,
|
|
9
|
-
initResolve: n,
|
|
10
|
-
initReject: r
|
|
11
|
-
};
|
|
12
|
-
}
|
|
13
|
-
var n = t.initPromise, r = "__mf_module_cache__";
|
|
14
|
-
globalThis[r] ||= {
|
|
15
|
-
share: {},
|
|
16
|
-
remote: {}
|
|
17
|
-
}, globalThis[r].share ||= {}, globalThis[r].remote ||= {};
|
|
18
|
-
var i = globalThis[r], a, o = (e) => {
|
|
19
|
-
e.ACCESSORY_LABEL, e.ALEXA_EGRESS_PROFILE, e.ALL_CAPABILITY_DEFINITIONS, e.APPLE_SA_TO_MACRO, e.AUDIO_ANALYSIS_CAP_NAME, e.AUDIO_BACKEND_CHOICES, e.AUDIO_MACRO_LABELS, e.AUDIO_PRESETS, e.AccessoriesStatusSchema, e.AccessoryKind, e.AddBrokerInputSchema, e.AddonAutoUpdateSchema, e.AddonListItemSchema, e.AddonPageDeclarationSchema, e.AddonPageInfoSchema, e.AdoptionAdoptInputSchema, e.AdoptionAdoptResultSchema, e.AdoptionCandidateResultSchema, e.AdoptionFilterSchema, e.AdoptionGetCandidateInputSchema, e.AdoptionJobSchema, e.AdoptionJobStateSchema, e.AdoptionListCandidatesInputSchema, e.AdoptionListCandidatesOutputSchema, e.AdoptionOutcomeSchema, e.AdoptionReleaseInputSchema, e.AdoptionStatusSchema, e.AgentLoadSummarySchema, e.AirQualitySensorStatusSchema, e.AlarmArmModeSchema, e.AlarmPanelStatusSchema, e.AlarmStateSchema, e.AlertSchema, e.AlertSeveritySchema, e.AlertSourceSchema, e.AlertStatusSchema, e.AmbientLightSensorStatusSchema, e.ApiKeyRecordSchema, e.ApiKeySummarySchema, e.ArchiveEntrySchema, e.ArchiveManifestSchema, e.AttachmentMediaTypeSchema, e.AttachmentSchema, e.AudioAnalysisResultSchema, e.AudioAnalysisSettingsSchema, e.AudioChunkInputSchema, e.AudioClassSummarySchema, e.AudioClassificationLabelSchema, e.AudioClassificationResultSchema, e.AudioCodecInfoSchema, e.AudioDecodeSessionConfigSchema, e.AudioEncodeSchema, e.AudioEncodeSessionConfigSchema, e.AudioEncodedChunkSchema, e.AudioEventSchema, e.AudioLevelSchema, e.AudioMetricsHistoryPointSchema, e.AudioMetricsHistorySchema, e.AudioMetricsSnapshotSchema, e.AudioPcmChunkSchema, e.AuthResultSchema, e.AutoUpdateSettingsSchema, e.AutomationActionSchema, e.AutomationConditionOperatorSchema, e.AutomationConditionSchema, e.AutomationControlStatusSchema, e.AutomationRecipeSchema, e.AutomationTriggerSchema, e.AvailableIntegrationTypeSchema, e.BACKEND_TO_FORMAT, e.BASE_LIVE_EGRESS_PROFILE, e.BATTERY_DEVICE_PROFILE, e.BacklightModeSchema, e.BackupDestinationInfoSchema, e.BackupEntrySchema, e.BaseAddon, e.BaseDevice, e.BaseDeviceProvider, e.BatteryStatusSchema, e.BinaryStatusSchema, e.BoundingBoxSchema, e.BrightnessStatusSchema, e.BrokerAddInputSchema, e.BrokerAudioClientSchema, e.BrokerClientsSchema, e.BrokerConnectionDetailsSchema, e.BrokerConsumerAttributionSchema, e.BrokerConsumerKindSchema, e.BrokerDecodedClientSchema, e.BrokerEncodedClientSchema, e.BrokerGetStateInputSchema, e.BrokerInfoSchema, e.BrokerProviderInfoSchema, e.BrokerPublishInputSchema, e.BrokerRegistryStatusSchema, e.BrokerRtspClientSchema, e.BrokerStatsSchema, e.BrokerStatusEnum, e.BrokerStatusSchema, e.BrokerSubscribeInputSchema, e.BrokerSubscribeResultSchema, e.BrokerTestConnectionResultSchema, e.BrokerUnsubscribeInputSchema, e.CAMERA_SWITCH_CATALOG, e.CAMERA_SWITCH_ORDER, e.CAM_PROFILE_ORDER, e.CAPABILITY_NAMES, e.CAPABILITY_ROUTER_KEYS, e.CAP_NAMES_WITH_STATUS, e.CAP_NODE_PIN_CONTEXT_KEY, e.CAP_PROVIDER_KIND_MAP, e.COCO_80_LABELS, e.COCO_TO_MACRO, e.CONNECTION_TEST_TIMEOUT_MS, e.CORE_BLOCKS_ADDON_ID, e.CORE_BLOCK_ADDON_PREFIX, e.CamProfileSchema, e.CamStreamDescriptorSchema, e.CamStreamKindSchema, e.CamStreamResolutionSchema, e.CameraAssignmentStatusSchema, e.CameraAudioStatusSchema, e.CameraBrokerProfileSchema, e.CameraBrokerStatusSchema, e.CameraCredentialsSchema, e.CameraCredentialsStatusSchema, e.CameraDecoderShmSchema, e.CameraDecoderStatusSchema, e.CameraDetectionPhaseSchema, e.CameraDetectionProvisioningSchema, e.CameraDetectionProvisioningStateSchema, e.CameraDetectionStatusSchema, e.CameraMetricsSchema, e.CameraMetricsWithDeviceIdSchema, e.CameraMotionStatusSchema, e.CameraRecordingModeSchema, e.CameraRecordingStatusSchema, e.CameraSourceStatusSchema, e.CameraSourceStreamSchema, e.CameraStatusDegradationReasonSchema, e.CameraStatusDegradationSchema, e.CameraStatusSchema, e.CameraStatusStageSchema, e.CameraStreamSchema, e.CameraSwitchAuthoritySchema, e.CameraSwitchGroupSchema, e.CameraSwitchIdSchema, e.CameraSwitchSchema, e.CameraSwitchUnavailableReasonSchema, e.CandidateQueryFilterSchema, e.CapScopeSchema, e.CapabilityBindingsSchema, e.CarbonMonoxideStatusSchema, e.ChargingStatus, e.ClientNetworkStatsSchema, e.ClimateControlStatusSchema, e.ClipPlaybackSchema, e.ClipSchema, e.ClusterAddonNodeDeploymentSchema, e.ClusterAddonStatusEntrySchema, e.CollectionColumnSchema, e.CollectionIndexSchema, e.ColorStatusSchema, e.ConfigEntrySchema, e.ConfigSectionWithValuesSchema, e.ConfigTabDeclarationSchema, e.ConnectionTestDescriptorSchema, e.ConnectionTestInputSchema, e.ConnectionTestOutcomeSchema, e.ConnectivityStatusSchema, e.ConsumableItemSchema, e.ConsumablesStatusSchema, e.ContactStatusSchema, e.ControlKindSchema, e.ControlStatusSchema, e.ConvertArtifactSchema, e.ConvertResultSchema, e.ConvertTargetSchema, e.CoreBlockCompileResultSchema, e.CoreBlockInputSchema, e.CoreBlockPlacementSchema, e.CoreBlockSchema, e.CoreBlockStatusSchema, e.CoverStateSchema, e.CoverStatusSchema, e.CreateApiKeyInputSchema, e.CreateApiKeyResultSchema, e.CreateIntegrationInputSchema, e.CreateScopedTokenInputSchema, e.CreateScopedTokenResultSchema, e.CreateUserInputSchema, e.CustomActionInputSchema, e.CustomModelDescriptorSchema, e.DATAPLANE_SECRET_HEADER, e.DECLARED_DEVICE_SWEEP_LIMIT, e.DECLARED_INTEGRATION_FIXED_KEY, e.DEFAULT_ADDON_PLACEMENT, e.DEFAULT_AUDIO_ANALYZER_CONFIG, e.DEFAULT_DECODER_HWACCEL_CONFIG, e.DEFAULT_DETAIL_CROP_CONVENTION, e.DEFAULT_EVENTS_BAND_BUFFER_SEC, e.DEFAULT_EVENT_COLOR, e.DEFAULT_FEATURES, e.DEFAULT_NATIVE_LEASE_SETTINGS, e.DEFAULT_RETENTION, e.DEFAULT_SCRUB_THUMBNAIL_PRESET, e.DETAIL_CROP_PADDING_FIELD, e.DETAIL_CROP_PADDING_KEY, e.DETAIL_CROP_SECTION_ID, e.DETAIL_CROP_SQUARE_KEY, e.DETECTION_PIPELINE_CAP_NAME, e.DEVICE_BACKEND_TO_FORMAT, e.DEVICE_CAP_NAMES, e.DEVICE_PROFILES, e.DEVICE_SCOPED_CAPS, e.DEVICE_SETTINGS_CONTRIBUTION_METHODS, e.DEVICE_STATE_READERS, e.DEVICE_STATUS_METHOD, e.DEVICE_TYPE_CONTROL_KIND, e.DEVICE_TYPE_INFO, e.DataStoreEngineInfoSchema, e.DayNightModeSchema, e.DayNightOptionsSchema, e.DayNightSettingsPatchSchema, e.DayNightStatusSchema, e.DeclaredDevices, e.DecodedAudioChunkSchema, e.DecodedFrameSchema, e.DecoderSessionConfigSchema, e.DecoderStatsSchema, e.DeleteIntegrationResultSchema, e.DetailCropConventionSchema, e.DetectionSourceSchema, e.DeviceCodeSeveritySchema, e.DeviceConfig, e.DeviceDiscoveryStatusSchema, e.DeviceExportExposeInputSchema, e.DeviceExportStatusSchema, e.DeviceExportUnexposeInputSchema, e.DeviceFeature, e.DeviceInfoSchema, e.DeviceNetworkStatsSchema, e.DeviceRole, e.DeviceRuntimeState, e.DeviceStatusSchema, e.DeviceType, e.DiscoveredChildDeviceSchema, e.DiscoveredChildStatusSchema, e.DiscoveredDeviceSchema, e.DiscoveredTargetSchema, e.DisposerChain, e.DoorbellPressEventSchema, e.DoorbellStatusSchema, e.EVENTFUL_CAP_NAMES, e.EVENT_KIND_BY_CAP, e.EVENT_PAD_MS, e.EVENT_TAXONOMY, e.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.ExportDownloadSchema, e.ExportOptionsSchema, e.ExportRecordSchema, e.ExportSetupFieldSchema, e.ExportSetupSchema, e.ExportSpeedSchema, e.ExportStateSchema, e.ExportTimelapseSchema, e.ExposedDeviceSchema, e.ExposureModeSchema, e.ExpressionBindingSourceSchema, e.ExpressionEvalError, e.ExpressionFieldBindingSchema, e.ExpressionGlobalBindingSchema, e.ExpressionLiteralBindingSchema, e.ExpressionParseError, e.ExpressionSourceSchema, e.FanControlStatusSchema, e.FanDirectionSchema, e.FeatureManifestSchema, e.FeatureProbeStatusSchema, e.FloodStatusSchema, e.Fmp4BoxSplitter, e.FrameHandleFormatSchema, e.FrameHandleSchema, e.FrameInputSchema, e.GasStatusSchema, e.GetStreamWithCodecInputSchema, e.GlobalMetricsSchema, e.HAP_AUDIO_BASE, e.HAP_AUDIO_BITRATE_KBPS, e.HAP_AUDIO_VBV_KBITS, e.HAP_KEYFRAME_INTERVAL_SEC, e.HF_BASE_URL, e.HF_REPO, e.HWACCEL_OPTIONS, e.HealthStatusSchema, e.HistoryPointSchema, e.HistoryResolutionEnum, e.HumidifierStatusSchema, e.HumiditySensorStatusSchema, e.HvacModeSchema, e.ImageContractSchema, e.ImageContractStateSchema, e.ImageRotateSchema, e.ImageSettingsOptionsSchema, e.ImageSettingsPatchSchema, e.ImageSettingsStatusSchema, e.ImageStatusSchema, e.IngestOwnerSchema, e.InstalledPackageSchema, e.IntegrationLiteSchema, e.IntegrationWithStateSchema, e.IntercomAbilitySchema, e.IntercomStatusSchema, e.KNOWN_CAP_NAMES, e.KeyEventSchema, e.LOG_LEVEL_RANK, e.LabelAttributionSchema, e.LabelDefinitionSchema, e.LabelTierSchema, e.LawnMowerActivitySchema, e.LawnMowerControlStatusSchema, e.LinkedDeviceSchema, e.LinkedDevicesModeSchema, e.LlmDefaultSchema, e.LlmDefaultSelectorSchema, e.LlmErrorCodeSchema, e.LlmGenerateBaseInputSchema, e.LlmGenerateErrSchema, e.LlmGenerateOkSchema, e.LlmGenerateResultSchema, e.LlmImageSchema, e.LlmNodeModelSchema, e.LlmProfileKindDescriptorSchema, e.LlmProfileKindSchema, e.LlmProfileSchema, e.LlmRuntimeCompleteInputSchema, e.LlmRuntimeDiskUsageSchema, e.LlmRuntimeNodeSchema, e.LlmRuntimeStatusSchema, e.LlmUsageRollupSchema, e.LlmUsageSchema, e.LocateSegmentResultSchema, e.LocationStatSchema, e.LockControlStatusSchema, e.LockStateSchema, e.LogEntrySchema, e.LogLevelSchema, e.LogStreamEntrySchema, e.LoginMethodContributionSchema, e.LoginStageEnum, e.MACRO_LABELS, e.MAX_CONDITION_DEPTH, e.MAX_CONDITION_LEAVES, e.MAX_EXPRESSION_AST_NODES, e.MAX_EXPRESSION_BINDINGS, e.MAX_EXPRESSION_CALL_ARGS, e.MAX_EXPRESSION_EVAL_STEPS, e.MAX_EXPRESSION_SOURCE_LENGTH, e.METHOD_ACCESS_MAP, e.MODEL_FORMATS, e.MOTION_TRIGGER_FEATURE, e.ManagedModelCatalogEntrySchema, e.ManagedModelRefSchema, e.ManagedRuntimeConfigSchema, e.MaskGridDimsSchema, e.MaskGridShapeSchema, e.MaskLineShapeSchema, e.MaskPointSchema, e.MaskPolygonShapeSchema, e.MaskPolygonVerticesSchema, e.MaskRectShapeSchema, e.MaskShapeKindSchema, e.MaskShapeSchema, e.MediaFileInfoSchema, e.MediaFileSchema, e.MediaPlayerRepeatSchema, e.MediaPlayerStateSchema, e.MediaPlayerStatusSchema, e.MeshPeerSchema, e.MeshStatusSchema, e.MethodAccessSchema, e.ModelCatalogEntrySchema, e.ModelConvertInputSchema, e.ModelConvertMetadataSchema, e.ModelDistributeInputSchema, e.ModelDistributeResultSchema, e.ModelExtraFileSchema, e.ModelFormatEntrySchema, e.ModelFormatsSchema, e.ModelSubstitutionSchema, e.ModelVariantGroupSchema, e.MotionAnalysisResultSchema, e.MotionEventSchema, e.MotionOnMotionChangedDataSchema, e.MotionRegionSchema, e.MotionSourceEnum, e.MotionSourcesSchema, e.MotionStatusSchema, e.MotionTriggerRuntimeStateSchema, e.MotionTriggerStatusSchema, e.MotionZoneOptionsSchema, e.MotionZonePatchSchema, e.MotionZoneRegionSchema, e.MotionZoneStatusSchema, e.MqttBrokerStatusSchema, e.MutationFilterSchema, e.NATIVE_LEASE_ACTIVITY_FIELD, e.NATIVE_LEASE_ACTIVITY_KEY, e.NATIVE_LEASE_ADMISSION_FIELD, e.NATIVE_LEASE_ADMISSION_KEY, e.NATIVE_LEASE_BUDGET_FIELD, e.NATIVE_LEASE_BUDGET_KEY, e.NATIVE_LEASE_SECTION_ID, e.NATIVE_LEASE_TTL_FIELD, e.NATIVE_LEASE_TTL_KEY, e.NC_BASE_CONDITION_KEYS, e.NC_CONDITION_CATALOG, e.NC_HISTORY_LIMIT_DEFAULT, e.NC_HISTORY_LIMIT_MAX, e.NC_MAX_PER_TRACK_IMMEDIATE, e.NC_SNOOZE_MAX_MINUTES, e.NC_TAXONOMY, e.NativeCropBboxSchema, e.NativeCropRefSchema, e.NativeCropResultSchema, e.NativeDetectionSchema, e.NativeLeaseAdmissionSchema, e.NativeLeaseSettingsSchema, e.NativeObjectClassEnum, e.NativeObjectDetectionRuntimeStateSchema, e.NativeObjectDetectionStatusSchema, e.NcAlarmConfigSchema, e.NcAlarmModeCoverageSchema, e.NcAlarmSettingsPatchSchema, e.NcAlarmSettingsSchema, e.NcConditionDescriptorSchema, e.NcConditionsSchema, e.NcCrossingSchema, e.NcDeliverySchema, e.NcDeviceStateConditionSchema, e.NcHistoryEntrySchema, e.NcHistoryFilterSchema, e.NcHistoryRecordKindSchema, e.NcHistoryStatusSchema, e.NcHistorySubjectSchema, e.NcMediaFrameSchema, e.NcMediaPolicySchema, e.NcOccupancyConditionSchema, e.NcPlateMatcherSchema, e.NcRuleActionSchema, e.NcRuleActionSequenceSchema, e.NcRuleActionsSchema, e.NcRuleInputSchema, e.NcRuleNotificationButtonSchema, e.NcRulePatchSchema, e.NcRuleSchema, e.NcRuleTargetSchema, e.NcScheduleSchema, e.NcScheduleWindowSchema, e.NcSnoozeInputSchema, e.NcSnoozeSchema, e.NcSnoozeScopeSchema, e.NcSnoozeSuppressedSchema, e.NcSystemEventConditionSchema, e.NcSystemEventKindSchema, e.NcTaxonomyEntrySchema, e.NcTaxonomySchema, e.NcTestResultSchema, e.NcThrottleGranularitySchema, e.NcThrottleSchema, e.NcZoneConditionSchema, e.NetworkAccessStatusSchema, e.NetworkAddressSchema, e.NetworkEndpointSchema, e.NotificationActionIconSchema, e.NotificationActionSchema, e.NotificationFormatSchema, e.NotificationSchema, e.NotifierStatusSchema, e.NumericSensorStatusSchema, e.OPS_LOG_DEFAULT_LIMIT, e.OPS_LOG_RING_DEFAULT_MAX, e.OauthIntegrationDescriptorSchema, e.ObjectEventSchema, e.OpsLogDomainSchema, e.OpsLogEntrySchema, e.OpsLogOpSchema, e.OpsLogQueryInputSchema, e.OpsLogReasonSchema, e.OrchestratorMetricsSchema, e.OsdOverlayKindEnum, e.OsdOverlayPatchSchema, e.OsdOverlaySchema, e.OsdPositionEnum, e.OsdRenderOutcomeEnum, e.OsdRenderResultSchema, e.OsdSlotBindingSchema, e.OsdSlotViewSchema, e.OsdSourceOptionSchema, e.OsdSourceSchema, e.OsdSourceValueTypeEnum, e.OsdStatusSchema, e.PET_FEEDER_MANUAL_FEED_MAX, e.PET_FEEDER_MANUAL_FEED_MIN, e.PIPELINE_FLOW_CAPABILITY_NAMES, e.PIPELINE_OWNER_CAPABILITY_NAMES, e.PRIVACY_MASK_CAP_NAME, e.PROVIDER_KIND_CAP_NAMES, e.PYTHON_SCRIPT, e.PackageUpdateSchema, e.PackageVersionInfoSchema, e.PasskeyLoginMethodSchema, e.PasskeySummarySchema, e.PcmSampleFormatSchema, e.PerScopeBreakdownSchema, e.PetFeederStatusSchema, e.PickStreamPreferencesSchema, e.PickStreamRequirementsSchema, e.PickedCamStreamSchema, e.PipelineAssignmentSchema, e.PipelineDefaultStepSchema, e.PipelineEngineChoiceSchema, e.PipelineRunResultBridge, e.PipelineStepInputSchema, e.PipelineValidationIssueSchema, e.PipelineValidationResultSchema, e.PlaceholderReasonSchema, e.PolygonPointSchema, e.PowerMeterStatusSchema, e.PresenceStatusSchema, e.PressureSensorStatusSchema, e.PrivacyMaskOptionsSchema, e.PrivacyMaskPatchSchema, e.PrivacyMaskRegionSchema, e.PrivacyMaskShapeSchema, e.PrivacyMaskStatusSchema, e.ProfileRtspEntrySchema, e.ProfileSlotSchema, e.ProfileSlotStatusSchema, e.ProviderStatusSchema, e.PtzAutotrackRuntimeStateSchema, e.PtzAutotrackSettingsSchema, e.PtzAutotrackStatusSchema, e.PtzAutotrackTargetOptionSchema, e.PtzMoveCommandSchema, e.PtzOptionsSchema, e.PtzPositionSchema, e.PtzPresetSchema, e.PtzStatusSchema, e.QueryFilterSchema, e.RATE_CONTROL_RELAXED, e.RATE_CONTROL_TIGHT, e.REACHABILITY_FAILURES_TO_OFFLINE, e.REACHABILITY_POLL_INTERVAL_MS, e.REACHABILITY_PROBE_TIMEOUT_MS, e.RECOGNITION_TYPES, e.RESERVED_BINDING_NAMES, e.RUNTIME_DEFAULTS, e.RUNTIME_TO_FORMAT, e.RawStateResultSchema, e.ReadGopBytesResultSchema, e.ReadSegmentBytesResultSchema, e.ReadinessRegistry, e.ReadinessTimeoutError, e.RecentTracksPageSchema, e.RecentTracksQueryInput, e.RecordingAvailabilitySchema, e.RecordingBandModeSchema, e.RecordingBandSchema, e.RecordingBandTriggersSchema, e.RecordingConfigSchema, e.RecordingDaysSchema, e.RecordingDeviceUsageSchema, e.RecordingLocationUsageSchema, e.RecordingManifestSchema, e.RecordingRangeSchema, e.RecordingRetentionSchema, e.RecordingStatusSchema, e.RecordingStorageModeSchema, e.RecordingStorageUsageSchema, e.RecordingTriggersSchema, e.RecordingWeekdaySchema, e.RedirectLoginMethodSchema, e.RelocateFootageClassSchema, e.RelocateFootageInputSchema, e.RelocateJobSchema, e.RelocateJobStateSchema, e.RelocateMediaInputSchema, e.RenderedAsSchema, e.ReportMotionInputSchema, e.RetrainAnnotationDraftSchema, e.RetrainAnnotationKindSchema, e.RetrainAnnotationSchema, e.RetrainAnnotationSourceSchema, e.RetrainAssistResultSchema, e.RetrainAssistSubjectSchema, e.RetrainCopyRefusalSchema, e.RetrainFrameCandidateSchema, e.RetrainFrameListSchema, e.RetrainFrameSchema, e.RetrainFrameSelectionSchema, e.RetrainMacroClassSchema, e.RetrainStatusSchema, e.RetrainTrackSchema, e.RetrainTransitionResultSchema, e.RingBuffer, e.RtpSourceSchema, e.RtspRestreamEntrySchema, e.RunnerCameraConfigSchema, e.RunnerCameraDeviceUIFields, e.RunnerFrameSourceSchema, e.RunnerInferenceDeviceSchema, e.RunnerLocalLoadSchema, e.RunnerLocalMetricsSchema, e.SCOPE_PRESETS, e.SCRUB_THUMBNAIL_PRESETS, e.SCRUB_THUMBNAIL_PRESET_LABELS, e.SCRUB_THUMBNAIL_PRESET_ORDER, e.SENSOR_FEATURES, e.SENSOR_MAP, e.SOURCE_INFO_METADATA_KEY, e.STREAM_PROFILE_META, e.STREAM_QUALITY_LABELS, e.SUB_DETECTION_TYPES, e.SYSTEM_CAP_NAMES, e.SceneCheckSchema, e.SceneConditionSchema, e.SceneMonitorSchema, e.SceneMonitorStateSchema, e.SceneMonitorStatusSchema, e.SceneReferenceSchema, e.ScopedTokenSchema, e.ScopedTokenSummarySchema, e.ScoredObjectEventSchema, e.ScriptRunnerStatusSchema, e.ScrubThumbnailPresetSchema, e.SearchResultSchema, e.SendEmailInputSchema, e.SendEmailResultSchema, e.SendResultSchema, e.SensorEventSchema, e.ServerBootModeSchema, e.ServerPackageStatusSchema, e.ServerRollbackInfoSchema, e.ServerUpdateActionResultSchema, e.ServerUpdateCheckResultSchema, e.ServerUpdateStateSchema, e.SettingsPatchSchema, e.SettingsRecordSchema, e.SettingsSchemaWithValuesSchema, e.SettingsUpdateResultSchema, e.ShmRingStatsSchema, 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.TIMEZONES, e.TRANSCODE_DOWN_MAX_BITRATE_KBPS, e.TRANSCODE_DOWN_MAX_HEIGHT, e.TamperStatusSchema, e.TankStatusSchema, e.TargetKindCapsSchema, e.TargetKindLevelSchema, e.TargetKindSchema, e.TargetSchema, e.TemperatureSensorStatusSchema, e.TerminalInstanceInfoSchema, e.TerminalLegacyCameraSchema, e.TerminalOutputBatchSchema, e.TerminalOutputEventSchema, e.TerminalProfileInfoSchema, e.TerminalSessionInfoSchema, e.TestConnectionResultSchema, e.TestConnectionStatusEnum, e.TestResultSchema, e.TimelapseRuleInputSchema, e.TimelapseRulePatchSchema, e.TimelapseRuleSchema, e.TimelapseTemplateSchema, e.ToastSchema, e.TokenScopeSchema, e.TopologyNodeSchema, e.TopologyProcessSchema, e.TopologyServiceSchema, e.TrackCascadeCountsSchema, e.TrackEnvelopeSchema, e.TrackFlagsPatchSchema, e.TrackFlagsSchema, e.TrackProjectionSchema, e.TrackSchema, e.TrackSourceSchema, e.TrackStateSchema, e.TrackZoneFilterSchema, e.TrackedDetectionSchema, e.TrainingExportDeviceTotalsSchema, e.TrainingExportSummarySchema, e.TurnServerSchema, e.UNIT_TABLE, e.UnifiedBrokerInfoSchema, e.UnitConversionError, e.UpdateIntegrationInputSchema, e.UpdateStatusSchema, e.UpdateUserInputSchema, e.UserRecordSchema, e.UserSummarySchema, e.VacuumControlStatusSchema, e.VacuumStateSchema, e.ValveStateSchema, e.ValveStatusSchema, e.VectorDeclareIndexInputSchema, e.VectorDeleteByFilterInputSchema, e.VectorDeleteInputSchema, e.VectorDeleteResultSchema, e.VectorFilterSchema, e.VectorGetInputSchema, e.VectorGetResultSchema, e.VectorItemSchema, e.VectorMatchSchema, e.VectorMetadataSchema, e.VectorMetricSchema, e.VectorQueryInputSchema, e.VectorQueryResultSchema, e.VectorStatsInputSchema, e.VectorStatsResultSchema, e.VectorUpsertInputSchema, e.VectorUpsertResultSchema, e.VibrationStatusSchema, e.VideoEncodeSchema, e.WEBRTC_EGRESS_PROFILE, e.WELL_KNOWN_TABS, e.WELL_KNOWN_TAB_MAP, e.WaterHeaterStatusSchema, e.WeatherStatusSchema, e.WebrtcStreamChoiceSchema, e.WebrtcStreamTargetSchema, e.WhiteBalanceModeSchema, e.WidgetHostEnum, e.WidgetLoginMethodSchema, e.WidgetMetadataSchema, e.WidgetRemoteSchema, e.WidgetSizeEnum, e.YAMNET_TO_MACRO, e.ZoneCrossingDirectionSchema, e.ZoneCrossingSchema, e.ZoneKindEnum, e.ZoneRuleModeEnum, e.ZoneRuleSchema, e.ZoneRuleStageEnum, e.ZoneRulesArraySchema, e.ZoneSchema, e.ZoneScopeBreakdownSchema, e.accessoriesCapability, e.accessoryStableId, e.addonPagesCapability, e.addonPagesSourceCapability, e.addonRoutesCapability, e.addonSettingsCapability, e.addonWidgetsCapability, e.addonWidgetsSourceCapability, e.addonsCapability, e.adminUiCapability, e.airQualitySensorCapability, e.alarmPanelCapability, e.alertsCapability, e.ambientLightSensorCapability, e.asBoolean, e.asJsonArray, e.asJsonObject, e.asNumber, e.asString, e.audioAnalysisCapability, e.audioAnalyzerCapability, e.audioCodecCapability, e.audioMetricsCapability, 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.buildStreamParamsConfigSchema, e.buildVideoArgs, e.buttonCapability, e.cameraCredentialsCapability, e.cameraPipelineConfigCapability, e.cameraStreamsCapability, e.canConvertUnit, e.canonicalEgressPlan, e.carbonMonoxideCapability, e.cellsToRects, e.classifyBearerPrincipal, e.classifyStream, e.classifyStreams, e.climateControlCapability, e.collectHydratedFieldEntries, e.collectHydratedFieldValues, e.colorCapability, e.colorForKind, e.compileExpression, e.compileExpressionSafe, e.conditionDepth, e.connectionTestCapability, e.connectivityCapability, e.consumablesCapability, e.contactCapability, e.controlCapability, e.convertUnit, e.coreBlockAddonId, e.coreBlockIdFromAddonId, e.coreBlocksCapability, e.cosineSimilarity, e.countConditionLeaves, e.coverCapability, e.createDeviceProxy, e.createDurableState, e.createEvent, e.createExpressionScope, e.createHwAccelCache, e.createLazyTrpcSource, e.createMirrorSource, e.createRuntimeStateBridge, e.createSliceHandle, e.createSystemProxy, e.customAction, e.customModelRegistryCapability, e.dataStoreProviderCapability, e.dayNightCapability, e.declarationOwnerNodeId, e.decodeVectorBase64, e.decoderCapability, e.defaultDeviceFor, e.defineCustomActions, e.deriveCameraSwitches, e.deriveDetailCropRect, e.deriveRecordingMode, e.describeModelVariant, e.detectionPipelineCapability, e.deviceAdoptionCapability, e.deviceBackendToFormat, e.deviceCustomAction, e.deviceDiscoveryCapability, e.deviceExportCapability, e.deviceManagerCapability, e.deviceMatchesProfile, e.deviceOpsCapability, e.deviceProviderCapability, e.deviceStateCapability, e.deviceStatusCapability, e.doorbellCapability, e.egressTranscodeSharingKey, e.egressTransportFromRequest, e.embeddingEncoderCapability, e.emitDownForOwnedCaps, e.emitReadiness, e.encodeProfileFromStreamShape, e.encodeVectorBase64, e.enumSensorCapability, e.enumerateInferenceDevices, e.enumerateItemArrayFields, e.enumerateSchemaFields, e.errMsg, e.evaluateAst, e.evaluateExpressionSource, e.evaluateZoneRules, e.event, e.eventEmitterCapability, e.eventsCapability, e.expandCapMethods, e.extractNestedAddonId, e.extractSourceInfoFromMetadata, e.faceGalleryCapability, e.fanControlCapability, e.featureProbeCapability, e.filesystemBrowseCapability, e.findTimezone, e.floodCapability, e.formatForBackend, e.formatForRuntime, e.gasCapability, e.generateAutomationBlock, e.getAudioMacroClassIds, e.getByPath, e.getCapsByProviderKind, e.getTaxonomyEntry, e.hasMotionTrigger, e.hfModelUrl, e.htmlToText, e.humidifierCapability, e.humiditySensorCapability, e.hydrateSchema, e.imageCapability, e.imageSettingsCapability, e.integrationsCapability, e.intercomCapability, e.invocationFromEncodeProfile, e.isAgentOnlyPlacement, e.isArrayOutputSchema, e.isBaseConditionKey, e.isCollectionArrayMethod, e.isDeployableToAgent, e.isDeviceConfigCap, e.isDeviceScopedCap, e.isEvent, e.isNode, e.isObjectInput, e.isSameAddonId, e.isScheduleActive, e.isSoftwareDecode, e.isVoidInput, e.jobKindSchema, e.kebabToCamel, e.knownValues, e.lawnMowerControlCapability, e.lifecycleJobSchema, e.lifecycleJobScopeSchema, e.lifecycleJobStateSchema, e.lifecycleTaskSchema, e.llmCapability, e.llmRuntimeCapability, e.localNetworkCapability, e.locationSimilarity, e.lockControlCapability, e.logBannerArgs, e.logDestinationCapability, e.logLevelAtMost, e.loginMethodCapability, e.looseSchema, e.makeProfileBrokerId, a = e.makeSourceBrokerId, e.mapAudioLabelToMacro, e.markdownToHtmlLite, e.markdownToText, e.maskUrlCredentials, e.mediaPlayerCapability, e.mergeSourceInfo, e.meshNetworkCapability, e.method, e.methodAccessForHttpMethod, e.metricsProviderCapability, e.modelConvertCapability, e.modelDistributorCapability, e.modelFormatForRuntime, e.motionCapability, e.motionDetectionCapability, e.motionTriggerCapability, e.motionZonesCapability, e.mqttBrokerCapability, e.nativeObjectDetectionCapability, e.networkAccessCapability, e.networkQualityCapability, e.nodePin, e.nodesCapability, e.normalizeAddonInitResult, e.normalizeUnit, e.notificationOutputCapability, e.notificationRulesCapability, e.notifierCapability, e.numericSensorCapability, e.oauthIntegrationCapability, e.objectInputDeclaresAddonId, e.osdCapability, e.osdManagerCapability, e.parseCameraStreamConfig, e.parseExpression, e.parseJsonArray, e.parseJsonObject, e.parseJsonUnknown, e.parseProfileBrokerId, e.parseStreamParamsFormPatch, e.petFeederCapability, e.pickAccessoryControl, e.pickDetailCropConvention, e.pickNativeLeaseOverride, e.pickPreferredRtspEntry, e.pickVideoEncoder, e.pickerForCondition, e.pipelineAnalyticsCapability, e.pipelineExecutorCapability, e.pipelineOrchestratorCapability, e.pipelineRunnerCapability, e.plateGalleryCapability, e.platformProbeCapability, e.powerMeterCapability, e.prepareNotification, e.presenceCapability, e.pressureSensorCapability, e.principalMayReachAddon, e.privacyMaskCapability, e.procedureAuthKey, e.ptzAutotrackCapability, e.ptzCapability, e.pythonScriptForBackend, e.readDetailCropConvention, e.readDeviceStateFrom, e.readNativeLeaseOverride, e.readNodePin, e.readinessKey, e.rebootCapability, e.recordingCapability, e.recordingExportCapability, e.rectsToCells, e.requiresPython, e.resolveAddonExecution, e.resolveAddonGroup, e.resolveAddonPlacement, e.resolveAddonRuntime, e.resolveCapMount, e.resolveDetectionRuntime, e.resolveDeviceControlKind, e.resolveDeviceProfile, e.resolveEgressDecodeHwAccel, e.resolveFormat, e.resolveHydratedFieldValue, e.resolveModelFormat, e.resolveMutate, e.resolveRunnerId, e.resolveScrubThumbnailGeometry, e.resolveVariantModelId, e.runInferenceStep, e.runtimeDevices, e.sceneMonitorCapability, e.scopeKey, e.scopesAllowAddon, e.scopesAllowDeviceCap, e.scoreRuntimes, e.scriptRunnerCapability, e.selectAssignedProfileSlots, e.serverManagementCapability, e.setByPath, e.settingsStoreCapability, e.sleep, e.sleepCancellable, e.smokeCapability, e.smtpProviderCapability, e.snapshotCapability, e.ssoBridgeCapability, e.startReachabilityPoll, e.stateVocabularyFor, e.storageCapability, e.storageEvictableCapability, e.storageMigrationCapability, e.storageProviderCapability, e.streamBrokerCapability, e.streamCatalogCapability, e.streamParamsCapability, e.streamPixels, e.streamQualityLabel, e.subKindsOf, e.summarisePrivacyAudio, e.supportedRuntimes, e.switchCapability, e.switchedOffIds, e.synthesizeSourceInfo, e.systemCapability, e.tamperCapability, e.taskLogEntrySchema, e.taskPhaseSchema, e.taskTargetSchema, e.temperatureSensorCapability, e.terminalSessionCapability, e.textToHtml, e.toDeviceSummary, e.toExpressionValue, e.toNodeId, e.toStreamSourceEntry, e.toastCapability, e.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 };
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|