@camstack/addon-pipeline 1.2.41 → 1.2.43
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 +4 -4
- package/dist/audio-analyzer/index.mjs +2 -2
- package/dist/detection-pipeline/index.js +9 -9
- package/dist/detection-pipeline/index.mjs +3 -3
- package/dist/{dist-DvUTPZ8J.mjs → dist-B-VVBzrL.mjs} +14015 -12502
- package/dist/{dist-BS7wLqoV.js → dist-UHbKZiSa.js} +15254 -13705
- package/dist/{event-loop-stall-monitor-C5P2bcwP.js → event-loop-stall-monitor-C7_L6vHO.js} +1 -1
- package/dist/{event-loop-stall-monitor-a2u9e1qx.mjs → event-loop-stall-monitor-DfKdC7G4.mjs} +1 -1
- package/dist/{model-download-service-Cp9f4dk6-fsdDExML.js → model-download-service-D8B-4ktF-7-YxE9Wx.js} +2 -2
- package/dist/{model-download-service-Cp9f4dk6-CwUb5v3Y.mjs → model-download-service-D8B-4ktF-BB7oZL3y.mjs} +2 -2
- package/dist/motion-wasm/index.js +1 -1
- package/dist/motion-wasm/index.mjs +1 -1
- package/dist/pipeline-runner/index.js +348 -27
- package/dist/pipeline-runner/index.mjs +348 -27
- package/dist/recorder/index.js +6 -6
- package/dist/recorder/index.mjs +3 -3
- package/dist/stream-broker/_stub.js +2 -2
- package/dist/stream-broker/{_virtual_mf-localSharedImportMap___mfe_internal__addon_stream_broker_widgets-CS82x0lt.mjs → _virtual_mf-localSharedImportMap___mfe_internal__addon_stream_broker_widgets-D7iQbuKY.mjs} +2 -2
- package/dist/stream-broker/_virtual_mf___mfe_internal__addon_stream_broker_widgets__loadShare___mf_0_camstack_mf_1_types__loadShare__.js-CCC9fqHH.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-54IklEep.mjs +26 -0
- package/dist/stream-broker/{hostInit-lj4kKHrb.mjs → hostInit-CKYS9yZO.mjs} +2 -2
- package/dist/stream-broker/index.js +16202 -15821
- package/dist/stream-broker/index.mjs +16201 -15820
- package/dist/stream-broker/remoteEntry.js +1 -1
- package/embed-dist/assets/{MaskShapeCanvas-DI4BY7W2-BRQ5u_mo.js → MaskShapeCanvas-DI4BY7W2-DxZ75vB8.js} +1 -1
- package/embed-dist/assets/{MotionZonesSettings-NcxxQN8r-KbOg5nD9.js → MotionZonesSettings-NcxxQN8r-BBY2Ztz5.js} +1 -1
- package/embed-dist/assets/{PrivacyMaskSettings-APgPLF7p-CKSPn3_D.js → PrivacyMaskSettings-APgPLF7p-BC-3QmHa.js} +1 -1
- package/embed-dist/assets/index-on1wyOnd.js +112 -0
- package/embed-dist/index.html +1 -1
- package/package.json +1 -1
- package/dist/stream-broker/_virtual_mf___mfe_internal__addon_stream_broker_widgets__loadShare___mf_0_camstack_mf_1_types__loadShare__.js-CDzxDzcv.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-CciPNnL7.mjs +0 -26
- package/embed-dist/assets/index-CbrEyYGW.js +0 -112
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { c as getStepDefinition, t as attributeStall } from "../event-loop-stall-monitor-
|
|
1
|
+
import { C as customAction, E as deriveDetailCropRect, I as pickDetailCropConvention, K as errMsg, R as pipelineRunnerCapability, T as defineCustomActions, Z as createEvent, c as DEFAULT_DETAIL_CROP_CONVENTION, ct as array, dt as lazy, ft as literal, gt as string, l as DEVICE_BACKEND_TO_FORMAT, lt as boolean, mt as object, nt as nodePin, pt as number, q as BaseAddon, st as _enum, vt as EventCategory } from "../dist-B-VVBzrL.mjs";
|
|
2
|
+
import { c as getStepDefinition, t as attributeStall } from "../event-loop-stall-monitor-DfKdC7G4.mjs";
|
|
3
3
|
import { t as isWorkerReply } from "../worker-protocol-D7RzZIla.mjs";
|
|
4
4
|
import { t as resolveHubHostname } from "../hub-hostname-cCknRYKj.mjs";
|
|
5
5
|
import { t as getSharp } from "../lazy-sharp-B-mb8uWx.mjs";
|
|
@@ -1679,27 +1679,108 @@ function startStallSampler(opts = {}) {
|
|
|
1679
1679
|
};
|
|
1680
1680
|
}
|
|
1681
1681
|
//#endregion
|
|
1682
|
-
//#region src/pipeline-runner/
|
|
1683
|
-
/**
|
|
1684
|
-
|
|
1682
|
+
//#region src/pipeline-runner/crop-convention-source.ts
|
|
1683
|
+
/**
|
|
1684
|
+
* Where the runner gets the ONE detail-crop convention.
|
|
1685
|
+
*
|
|
1686
|
+
* ## Why the runner, and only the runner
|
|
1687
|
+
*
|
|
1688
|
+
* Every detail crop is now cut inside `runDetailSubtree` — the live plane from
|
|
1689
|
+
* a frame handle, the embedding rebuild from a stored key frame it ships in as
|
|
1690
|
+
* `frameJpeg`. One cutter means one reader: nothing else needs the value, so
|
|
1691
|
+
* nothing else can drift from it.
|
|
1692
|
+
*
|
|
1693
|
+
* ## Why a settings read and not the attach config
|
|
1694
|
+
*
|
|
1695
|
+
* `RunnerCameraConfig` is the obvious orchestrator→runner channel, and it is
|
|
1696
|
+
* the wrong one here. Eleven separate call sites construct a
|
|
1697
|
+
* `RunnerCameraConfig` (session dispatch, standing dispatch, zone refresh,
|
|
1698
|
+
* node reconnect, placement correction, …). A cluster-wide constant threaded
|
|
1699
|
+
* through eleven builders is a constant that eventually reaches ten of them,
|
|
1700
|
+
* and the failure is invisible: the cameras attached by the forgotten builder
|
|
1701
|
+
* quietly cut a different crop and write it into the same index. That is the
|
|
1702
|
+
* bug this whole change exists to remove, so it must not be reintroduced as
|
|
1703
|
+
* the delivery mechanism.
|
|
1704
|
+
*
|
|
1705
|
+
* Instead the runner reads the OWNER addon's global settings directly, the way
|
|
1706
|
+
* both decoder addons read their backend selector
|
|
1707
|
+
* (`decoder-backend.ts`) — hub-routed by `AddonCallGateway`, so an agent runner
|
|
1708
|
+
* transparently reads the hub-central store with no placement branching.
|
|
1709
|
+
*
|
|
1710
|
+
* ## Deliberately NOT node-scoped
|
|
1711
|
+
*
|
|
1712
|
+
* The read passes no `nodeId`. With one, `addon-settings` would project that
|
|
1713
|
+
* node's scoped value and two nodes could cut different crops into the same
|
|
1714
|
+
* `object-clip` index — the original defect, relocated to the transport.
|
|
1715
|
+
*/
|
|
1685
1716
|
/**
|
|
1686
|
-
*
|
|
1687
|
-
*
|
|
1717
|
+
* The addon whose GLOBAL settings own the convention. `pipeline-orchestrator`
|
|
1718
|
+
* is hub-resident and neutral — it already owns the per-node decoder-backend
|
|
1719
|
+
* selector for the same reason (neither consumer should own a value the other
|
|
1720
|
+
* depends on).
|
|
1688
1721
|
*/
|
|
1689
|
-
|
|
1690
|
-
|
|
1691
|
-
|
|
1692
|
-
|
|
1693
|
-
|
|
1694
|
-
|
|
1695
|
-
|
|
1696
|
-
|
|
1697
|
-
|
|
1698
|
-
|
|
1699
|
-
|
|
1700
|
-
|
|
1701
|
-
|
|
1702
|
-
|
|
1722
|
+
var CROP_CONVENTION_OWNER_ADDON_ID = "pipeline-orchestrator";
|
|
1723
|
+
/**
|
|
1724
|
+
* TTL-cached read of the cluster crop convention.
|
|
1725
|
+
*
|
|
1726
|
+
* {@link current} is synchronous because the crop derivation is, and because a
|
|
1727
|
+
* value that is never missing is easier to reason about than one that is
|
|
1728
|
+
* sometimes a promise. {@link refresh} is what actually talks to the hub;
|
|
1729
|
+
* the runner awaits it at the top of a detail dispatch.
|
|
1730
|
+
*/
|
|
1731
|
+
var CropConventionSource = class {
|
|
1732
|
+
convention = DEFAULT_DETAIL_CROP_CONVENTION;
|
|
1733
|
+
lastReadAtMs = Number.NEGATIVE_INFINITY;
|
|
1734
|
+
inFlight = null;
|
|
1735
|
+
logger;
|
|
1736
|
+
now;
|
|
1737
|
+
ttlMs;
|
|
1738
|
+
constructor(options) {
|
|
1739
|
+
this.logger = options.logger;
|
|
1740
|
+
this.now = options.now ?? (() => Date.now());
|
|
1741
|
+
this.ttlMs = options.ttlMs ?? 6e4;
|
|
1742
|
+
}
|
|
1743
|
+
/** The convention in force right now — the default until a read lands. */
|
|
1744
|
+
current() {
|
|
1745
|
+
return this.convention;
|
|
1746
|
+
}
|
|
1747
|
+
/**
|
|
1748
|
+
* Re-read if the cached value has expired. Concurrent callers share one
|
|
1749
|
+
* in-flight read; a failure keeps the LAST KNOWN value rather than reverting
|
|
1750
|
+
* to the default, because a mid-pass revert would silently change what every
|
|
1751
|
+
* remaining vector of that pass means.
|
|
1752
|
+
*/
|
|
1753
|
+
async refresh(api) {
|
|
1754
|
+
if (api === void 0) return this.convention;
|
|
1755
|
+
if (this.now() - this.lastReadAtMs < this.ttlMs) return this.convention;
|
|
1756
|
+
this.inFlight ??= this.read(api).finally(() => {
|
|
1757
|
+
this.inFlight = null;
|
|
1758
|
+
});
|
|
1759
|
+
await this.inFlight;
|
|
1760
|
+
return this.convention;
|
|
1761
|
+
}
|
|
1762
|
+
async read(api) {
|
|
1763
|
+
try {
|
|
1764
|
+
const next = pickDetailCropConvention(await api.addonSettings.getGlobalSettings.query({ addonId: CROP_CONVENTION_OWNER_ADDON_ID }));
|
|
1765
|
+
this.lastReadAtMs = this.now();
|
|
1766
|
+
if (next.paddingRatio !== this.convention.paddingRatio || next.square !== this.convention.square) {
|
|
1767
|
+
this.logger.info("detail crop convention changed — stored vectors need a rebuild", { meta: {
|
|
1768
|
+
from: { ...this.convention },
|
|
1769
|
+
to: { ...next }
|
|
1770
|
+
} });
|
|
1771
|
+
this.convention = next;
|
|
1772
|
+
}
|
|
1773
|
+
} catch (err) {
|
|
1774
|
+
this.logger.warn("detail crop convention read failed — keeping the last known value", { meta: {
|
|
1775
|
+
owner: CROP_CONVENTION_OWNER_ADDON_ID,
|
|
1776
|
+
inUse: { ...this.convention },
|
|
1777
|
+
error: err instanceof Error ? err.message : String(err)
|
|
1778
|
+
} });
|
|
1779
|
+
}
|
|
1780
|
+
}
|
|
1781
|
+
};
|
|
1782
|
+
//#endregion
|
|
1783
|
+
//#region src/pipeline-runner/detail-subtree.ts
|
|
1703
1784
|
/** Normalize a frame-space pixel rect to `[0,1]` by the given frame dims. */
|
|
1704
1785
|
function normalizeRect(rect, frameWidth, frameHeight) {
|
|
1705
1786
|
return {
|
|
@@ -1785,6 +1866,15 @@ function encodeEmbeddingBase64(embedding) {
|
|
|
1785
1866
|
function pickLabel(detection) {
|
|
1786
1867
|
return detection.labels.find((l) => !l.label.startsWith("embedding:"))?.label;
|
|
1787
1868
|
}
|
|
1869
|
+
/**
|
|
1870
|
+
* Turn one executor detection into the cap's `DetailResult`, reprojecting its
|
|
1871
|
+
* crop-space bbox back onto the frame the crop came from.
|
|
1872
|
+
*
|
|
1873
|
+
* Exported because the STATELESS step path (`stateless-step.ts`) produces the
|
|
1874
|
+
* same shape from the same executor output and must not grow its own mapping —
|
|
1875
|
+
* a second reprojection is a second set of coordinates, and the two would agree
|
|
1876
|
+
* right up until one of them changed.
|
|
1877
|
+
*/
|
|
1788
1878
|
function toDetailResult(detection, stepId, crop) {
|
|
1789
1879
|
const label = pickLabel(detection);
|
|
1790
1880
|
return {
|
|
@@ -1798,15 +1888,62 @@ function toDetailResult(detection, stepId, crop) {
|
|
|
1798
1888
|
...detection.nativeFaceShortSidePx !== void 0 ? { nativeFaceShortSidePx: detection.nativeFaceShortSidePx } : {}
|
|
1799
1889
|
};
|
|
1800
1890
|
}
|
|
1801
|
-
|
|
1891
|
+
/**
|
|
1892
|
+
* Cut the crop out of a caller-supplied FULL FRAME, applying the one crop
|
|
1893
|
+
* convention. This is the branch that made the rebuild comparable with live
|
|
1894
|
+
* traffic: before it existed the only way to feed stored pixels in was a
|
|
1895
|
+
* pre-cut tile, so the caller decided the rectangle and every caller decided
|
|
1896
|
+
* differently.
|
|
1897
|
+
*
|
|
1898
|
+
* Exported so the STATELESS step path can reach `deriveDetailCropRect` through
|
|
1899
|
+
* this function rather than importing it — `scripts/check-clip-crop-single-owner.ts`
|
|
1900
|
+
* permits exactly one importer, and that is the enforcement of
|
|
1901
|
+
* [D52](../../../../docs/decisions/adr-0052.md). A second caller of the
|
|
1902
|
+
* derivation is a second cutter no matter how similar its arithmetic looks
|
|
1903
|
+
* today.
|
|
1904
|
+
*/
|
|
1905
|
+
async function cutFromFullFrame(frameJpegBase64, bbox, convention) {
|
|
1906
|
+
const image = (await getSharp())(Buffer.from(frameJpegBase64, "base64"));
|
|
1907
|
+
const meta = await image.metadata();
|
|
1908
|
+
const frameWidth = meta.width ?? 0;
|
|
1909
|
+
const frameHeight = meta.height ?? 0;
|
|
1910
|
+
if (frameWidth <= 0 || frameHeight <= 0) return null;
|
|
1911
|
+
const rect = deriveDetailCropRect(bbox.kind === "frame-pixels" ? bbox.rect : denormalizeRect(bbox.rect, frameWidth, frameHeight), frameWidth, frameHeight, convention);
|
|
1912
|
+
const left = Math.max(0, Math.min(Math.round(rect.x), frameWidth - 1));
|
|
1913
|
+
const top = Math.max(0, Math.min(Math.round(rect.y), frameHeight - 1));
|
|
1914
|
+
const width = Math.max(1, Math.min(Math.round(rect.w), frameWidth - left));
|
|
1915
|
+
const height = Math.max(1, Math.min(Math.round(rect.h), frameHeight - top));
|
|
1916
|
+
return {
|
|
1917
|
+
jpeg: await image.extract({
|
|
1918
|
+
left,
|
|
1919
|
+
top,
|
|
1920
|
+
width,
|
|
1921
|
+
height
|
|
1922
|
+
}).jpeg({ quality: 90 }).toBuffer(),
|
|
1923
|
+
width,
|
|
1924
|
+
height,
|
|
1925
|
+
frameSpace: {
|
|
1926
|
+
x: left,
|
|
1927
|
+
y: top,
|
|
1928
|
+
w: width,
|
|
1929
|
+
h: height
|
|
1930
|
+
},
|
|
1931
|
+
source: "derived"
|
|
1932
|
+
};
|
|
1933
|
+
}
|
|
1934
|
+
async function resolveCrop(deps, input, convention) {
|
|
1802
1935
|
if (input.frameHandle) {
|
|
1803
|
-
const normalized = normalizeRect(
|
|
1936
|
+
const normalized = normalizeRect(deriveDetailCropRect(input.parent.bbox, input.frameHandle.width, input.frameHandle.height, convention), input.frameHandle.width, input.frameHandle.height);
|
|
1804
1937
|
const native = await deps.getNativeCrop(input.deviceId, input.frameHandle, normalized);
|
|
1805
1938
|
if (native) return {
|
|
1806
1939
|
...native,
|
|
1807
1940
|
source: "native"
|
|
1808
1941
|
};
|
|
1809
1942
|
}
|
|
1943
|
+
if (input.frameJpeg) return cutFromFullFrame(input.frameJpeg, {
|
|
1944
|
+
kind: "frame-pixels",
|
|
1945
|
+
rect: input.parent.bbox
|
|
1946
|
+
}, convention);
|
|
1810
1947
|
if (input.cropJpeg) {
|
|
1811
1948
|
const jpeg = Buffer.from(input.cropJpeg, "base64");
|
|
1812
1949
|
const meta = await (await getSharp())(jpeg).metadata();
|
|
@@ -1841,11 +1978,42 @@ async function resolveCrop(deps, input) {
|
|
|
1841
1978
|
*/
|
|
1842
1979
|
async function runDetailSubtree(deps, input) {
|
|
1843
1980
|
const matched = deps.resolveChildSteps(input.deviceId, input.parent.className, input.steps);
|
|
1844
|
-
if (!matched
|
|
1981
|
+
if (!matched) {
|
|
1982
|
+
deps.logger.warn("runDetailSubtree: camera is not attached — no detail steps to run", {
|
|
1983
|
+
tags: { deviceId: input.deviceId },
|
|
1984
|
+
meta: {
|
|
1985
|
+
parentClass: input.parent.className,
|
|
1986
|
+
...input.steps ? { requestedSteps: [...input.steps] } : {}
|
|
1987
|
+
}
|
|
1988
|
+
});
|
|
1989
|
+
return null;
|
|
1990
|
+
}
|
|
1991
|
+
if (matched.length === 0) {
|
|
1992
|
+
deps.logger.warn("runDetailSubtree: no matching detail step is enabled for this parent class", {
|
|
1993
|
+
tags: { deviceId: input.deviceId },
|
|
1994
|
+
meta: {
|
|
1995
|
+
parentClass: input.parent.className,
|
|
1996
|
+
...input.steps ? { requestedSteps: [...input.steps] } : {},
|
|
1997
|
+
hint: "the step is either absent from this camera step tree or disabled on it"
|
|
1998
|
+
}
|
|
1999
|
+
});
|
|
2000
|
+
return null;
|
|
2001
|
+
}
|
|
1845
2002
|
const requested = input.steps;
|
|
1846
2003
|
const steps = requested === void 0 ? matched : matched.map((step) => pruneChildStepsToRequested(step, requested));
|
|
1847
|
-
const crop = await resolveCrop(deps, input);
|
|
1848
|
-
if (!crop)
|
|
2004
|
+
const crop = await resolveCrop(deps, input, deps.resolveCropConvention(input.deviceId));
|
|
2005
|
+
if (!crop) {
|
|
2006
|
+
deps.logger.warn("runDetailSubtree: no crop source resolved — the dispatch produced nothing", {
|
|
2007
|
+
tags: { deviceId: input.deviceId },
|
|
2008
|
+
meta: {
|
|
2009
|
+
parentClass: input.parent.className,
|
|
2010
|
+
hadFrameHandle: input.frameHandle !== void 0,
|
|
2011
|
+
hadFrameJpeg: input.frameJpeg !== void 0,
|
|
2012
|
+
hadCropJpeg: input.cropJpeg !== void 0
|
|
2013
|
+
}
|
|
2014
|
+
});
|
|
2015
|
+
return null;
|
|
2016
|
+
}
|
|
1849
2017
|
const nativeCropRef = input.frameHandle !== void 0 && crop.source === "native" ? {
|
|
1850
2018
|
handle: input.frameHandle,
|
|
1851
2019
|
cropFrameSpace: crop.frameSpace
|
|
@@ -3240,6 +3408,83 @@ var PipelineRunner = class {
|
|
|
3240
3408
|
}
|
|
3241
3409
|
};
|
|
3242
3410
|
//#endregion
|
|
3411
|
+
//#region src/pipeline-runner/stateless-step.ts
|
|
3412
|
+
function modelServability(step, modelId, format) {
|
|
3413
|
+
const entry = step.models.find((m) => m.id === modelId);
|
|
3414
|
+
if (entry === void 0) return { kind: "custom-model" };
|
|
3415
|
+
if (entry.formats[format] !== void 0) return { kind: "catalog-build" };
|
|
3416
|
+
return {
|
|
3417
|
+
kind: "no-build",
|
|
3418
|
+
availableFormats: Object.keys(entry.formats)
|
|
3419
|
+
};
|
|
3420
|
+
}
|
|
3421
|
+
/** Build the refusal answer, log it, and return it — never one without the other. */
|
|
3422
|
+
function refuse(deps, input, reason, detail) {
|
|
3423
|
+
deps.logger.warn("runStatelessStep refused", {
|
|
3424
|
+
tags: { deviceId: input.sourceDeviceId },
|
|
3425
|
+
meta: {
|
|
3426
|
+
nodeId: deps.nodeId,
|
|
3427
|
+
stepId: input.stepId,
|
|
3428
|
+
modelId: input.modelId,
|
|
3429
|
+
reason,
|
|
3430
|
+
detail
|
|
3431
|
+
}
|
|
3432
|
+
});
|
|
3433
|
+
return {
|
|
3434
|
+
kind: "refused",
|
|
3435
|
+
nodeId: deps.nodeId,
|
|
3436
|
+
reason,
|
|
3437
|
+
detail
|
|
3438
|
+
};
|
|
3439
|
+
}
|
|
3440
|
+
function errorMessage(err) {
|
|
3441
|
+
return err instanceof Error ? err.message : String(err);
|
|
3442
|
+
}
|
|
3443
|
+
/**
|
|
3444
|
+
* Run one step over one subject. See the module header for the two invariants.
|
|
3445
|
+
*
|
|
3446
|
+
* Never throws: every failure mode is a named, logged refusal, because the
|
|
3447
|
+
* caller is a bulk pass whose counters are the only signal an operator gets and
|
|
3448
|
+
* a thrown error there reads as "the whole pass broke".
|
|
3449
|
+
*/
|
|
3450
|
+
async function runStatelessStep(deps, input) {
|
|
3451
|
+
const definition = deps.lookupStep(input.stepId);
|
|
3452
|
+
if (definition === null) return refuse(deps, input, "unknown-step", `this node's step catalog has no "${input.stepId}" — version skew, or a custom step that is not installed here`);
|
|
3453
|
+
if (input.bbox.w <= 0 || input.bbox.h <= 0) return refuse(deps, input, "unreadable-frame", `degenerate normalized bbox ${JSON.stringify(input.bbox)} — nothing to crop`);
|
|
3454
|
+
const format = await deps.executionFormat();
|
|
3455
|
+
if (format === null) return refuse(deps, input, "model-not-servable", "this node could not report the engine format it would dispatch on, so the model pin cannot be verified — running anyway would risk a silent format substitution");
|
|
3456
|
+
const servability = modelServability(definition, input.modelId, format);
|
|
3457
|
+
if (servability.kind === "no-build") return refuse(deps, input, "model-not-servable", `model "${input.modelId}" has no ${format} build (catalog ships: ${servability.availableFormats.join(", ") || "none"}) — this node would have substituted the ${format} default`);
|
|
3458
|
+
let decodeError = null;
|
|
3459
|
+
const crop = await cutFromFullFrame(input.frameJpeg, {
|
|
3460
|
+
kind: "normalized",
|
|
3461
|
+
rect: input.bbox
|
|
3462
|
+
}, deps.resolveCropConvention()).catch((err) => {
|
|
3463
|
+
decodeError = errorMessage(err);
|
|
3464
|
+
return null;
|
|
3465
|
+
});
|
|
3466
|
+
if (crop === null) return refuse(deps, input, "unreadable-frame", decodeError ?? "the supplied frame decoded to no readable dimensions");
|
|
3467
|
+
const steps = [{
|
|
3468
|
+
addonId: input.stepId,
|
|
3469
|
+
modelId: input.modelId,
|
|
3470
|
+
enabled: true
|
|
3471
|
+
}];
|
|
3472
|
+
let result;
|
|
3473
|
+
try {
|
|
3474
|
+
result = await deps.runPipeline(steps, crop.jpeg, input.sourceDeviceId);
|
|
3475
|
+
} catch (err) {
|
|
3476
|
+
return refuse(deps, input, "execution-failed", errorMessage(err));
|
|
3477
|
+
}
|
|
3478
|
+
if (result === null) return refuse(deps, input, "execution-failed", "the executor returned no frame result for the crop");
|
|
3479
|
+
const details = result.detections.map((detection) => toDetailResult(detection, input.stepId, crop));
|
|
3480
|
+
return {
|
|
3481
|
+
kind: "ran",
|
|
3482
|
+
nodeId: deps.nodeId,
|
|
3483
|
+
modelId: input.modelId,
|
|
3484
|
+
details
|
|
3485
|
+
};
|
|
3486
|
+
}
|
|
3487
|
+
//#endregion
|
|
3243
3488
|
//#region src/pipeline-runner/index.ts
|
|
3244
3489
|
var DEFAULT_CONFIG = {
|
|
3245
3490
|
maxQueueDepth: 30,
|
|
@@ -4597,14 +4842,90 @@ var PipelineRunnerAddon = class PipelineRunnerAddon extends BaseAddon {
|
|
|
4597
4842
|
* the frame's owning process), and the node-local `pipelineExecutor`.
|
|
4598
4843
|
*/
|
|
4599
4844
|
async runDetailSubtree(input) {
|
|
4845
|
+
const convention = await this.cropConvention.refresh(this.ctxIfReady?.api);
|
|
4600
4846
|
return runDetailSubtree({
|
|
4601
4847
|
resolveChildSteps: (deviceId, parentClassName, filter) => this.resolveDetailChildSteps(deviceId, parentClassName, filter),
|
|
4602
4848
|
getNativeCrop: (deviceId, handle, paddedBbox) => this.getNativeCropForDetail(deviceId, handle, paddedBbox),
|
|
4603
4849
|
runPipeline: (steps, imageJpeg, deviceId, deviceKey, nativeCropRef) => this.runDetailPipeline(steps, imageJpeg, deviceId, deviceKey, nativeCropRef),
|
|
4604
|
-
resolveStepDevice: (deviceId, step) => this.resolveDetailStepDevice(deviceId, step)
|
|
4850
|
+
resolveStepDevice: (deviceId, step) => this.resolveDetailStepDevice(deviceId, step),
|
|
4851
|
+
resolveCropConvention: () => convention,
|
|
4852
|
+
logger: this.detailSubtreeLogger()
|
|
4853
|
+
}, input);
|
|
4854
|
+
}
|
|
4855
|
+
/**
|
|
4856
|
+
* Stateless single-step execution — no attach, no handle, no device
|
|
4857
|
+
* affinity. Delegates the decision table (catalog lookup, MODEL PIN
|
|
4858
|
+
* servability, crop, dispatch) to the deps-injected pure function in
|
|
4859
|
+
* {@link runStatelessStepImpl}; this method only wires the real deps.
|
|
4860
|
+
*
|
|
4861
|
+
* Note what is NOT wired, deliberately: no `resolveChildSteps` (the step
|
|
4862
|
+
* comes from the catalog, not from an attachment) and no `deviceKey` /
|
|
4863
|
+
* device jump (the jump roster is part of the attach config). The step runs
|
|
4864
|
+
* on the node's default engine, which is exactly the engine
|
|
4865
|
+
* `executionFormat` reports — so the servability check and the dispatch
|
|
4866
|
+
* cannot disagree about which format was verified.
|
|
4867
|
+
*/
|
|
4868
|
+
async runStatelessStep(input) {
|
|
4869
|
+
const convention = await this.cropConvention.refresh(this.ctxIfReady?.api);
|
|
4870
|
+
return runStatelessStep({
|
|
4871
|
+
nodeId: this.nodeId,
|
|
4872
|
+
lookupStep: (stepId) => tryGetStepDefinition(stepId),
|
|
4873
|
+
executionFormat: () => this.resolveNodeExecutionFormat(),
|
|
4874
|
+
resolveCropConvention: () => convention,
|
|
4875
|
+
runPipeline: (steps, imageJpeg, sourceDeviceId) => this.runStatelessPipeline(steps, imageJpeg, sourceDeviceId),
|
|
4876
|
+
logger: this.detailSubtreeLogger()
|
|
4605
4877
|
}, input);
|
|
4606
4878
|
}
|
|
4607
4879
|
/**
|
|
4880
|
+
* The model format this node dispatches on when no `deviceKey` is given —
|
|
4881
|
+
* its selected engine's format. `null` on any failure, which the caller
|
|
4882
|
+
* turns into a refusal rather than a guess: a model pin that cannot be
|
|
4883
|
+
* checked is a substitution waiting to happen.
|
|
4884
|
+
*/
|
|
4885
|
+
async resolveNodeExecutionFormat() {
|
|
4886
|
+
const api = this.ctxIfReady?.api;
|
|
4887
|
+
if (!api) return null;
|
|
4888
|
+
try {
|
|
4889
|
+
return (await api.pipelineExecutor.getSelectedEngine.query()).format;
|
|
4890
|
+
} catch (err) {
|
|
4891
|
+
this.ctxIfReady?.logger.warn("runStatelessStep: could not read this node selected engine — refusing rather than guessing a format", { meta: { error: errMsg(err) } });
|
|
4892
|
+
return null;
|
|
4893
|
+
}
|
|
4894
|
+
}
|
|
4895
|
+
/**
|
|
4896
|
+
* Real `runPipeline` dep for the stateless path: node-local
|
|
4897
|
+
* `pipelineExecutor.runPipeline` on the `'full'` plane with NO `deviceKey`.
|
|
4898
|
+
*
|
|
4899
|
+
* `deviceId` is passed so the executor's own gate/substitution lines are
|
|
4900
|
+
* tagged with the source camera. It is a routing hint on other transports,
|
|
4901
|
+
* but not here: the executor is co-located in the `detection` group, so
|
|
4902
|
+
* `localProviderLink` answers in-process before any router sees it — the
|
|
4903
|
+
* call cannot leave the node this one was pinned to.
|
|
4904
|
+
*/
|
|
4905
|
+
async runStatelessPipeline(steps, imageJpeg, sourceDeviceId) {
|
|
4906
|
+
const api = this.ctxIfReady?.api;
|
|
4907
|
+
if (!api) return null;
|
|
4908
|
+
return api.pipelineExecutor.runPipeline.mutate({
|
|
4909
|
+
steps: [...steps],
|
|
4910
|
+
image: new Uint8Array(imageJpeg),
|
|
4911
|
+
deviceId: sourceDeviceId,
|
|
4912
|
+
plane: "full"
|
|
4913
|
+
});
|
|
4914
|
+
}
|
|
4915
|
+
/**
|
|
4916
|
+
* The cluster-wide detail-crop convention — read from the orchestrator's
|
|
4917
|
+
* global settings, NOT from the attach config. See `crop-convention-source.ts`
|
|
4918
|
+
* for why eleven attach builders make the attach config the wrong carrier.
|
|
4919
|
+
*/
|
|
4920
|
+
cropConvention = new CropConventionSource({ logger: {
|
|
4921
|
+
info: (message, extras) => this.ctxIfReady?.logger.info(message, extras),
|
|
4922
|
+
warn: (message, extras) => this.ctxIfReady?.logger.warn(message, extras)
|
|
4923
|
+
} });
|
|
4924
|
+
/** A warn sink that survives a not-yet-ready ctx (boot-order dispatches). */
|
|
4925
|
+
detailSubtreeLogger() {
|
|
4926
|
+
return { warn: (message, extras) => this.ctxIfReady?.logger.warn(message, extras) };
|
|
4927
|
+
}
|
|
4928
|
+
/**
|
|
4608
4929
|
* Step-tree device jump (phase 1) — pick which same-node inference device an
|
|
4609
4930
|
* enrichment `step` runs on. AUTO-jumps only when the camera's elected device
|
|
4610
4931
|
* cannot run the step's model (its format has no build); an operator
|
package/dist/recorder/index.js
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
const require_chunk = require("../chunk-emK7D4bc.js");
|
|
2
|
-
const require_dist = require("../dist-
|
|
2
|
+
const require_dist = require("../dist-UHbKZiSa.js");
|
|
3
3
|
const require_hub_hostname = require("../hub-hostname-DAJXlOgV.js");
|
|
4
|
-
const
|
|
4
|
+
const require_model_download_service_D8B_4ktF = require("../model-download-service-D8B-4ktF-7-YxE9Wx.js");
|
|
5
|
+
let node_crypto = require("node:crypto");
|
|
5
6
|
let node_child_process = require("node:child_process");
|
|
6
7
|
let node_fs = require("node:fs");
|
|
7
8
|
let node_path = require("node:path");
|
|
8
9
|
node_path = require_chunk.__toESM(node_path);
|
|
9
|
-
let node_crypto = require("node:crypto");
|
|
10
10
|
let node_fs_promises = require("node:fs/promises");
|
|
11
11
|
//#region src/recorder/addon/calendar-scan.ts
|
|
12
12
|
/**
|
|
@@ -5235,7 +5235,7 @@ var RecorderV2Addon = class extends require_dist.BaseAddon {
|
|
|
5235
5235
|
source: this.calendar,
|
|
5236
5236
|
mfraFor: (deviceId, profile, startMs) => this.mfraTables.get(deviceId, profile, startMs),
|
|
5237
5237
|
onLog: (msg, meta) => this.ctx.logger.debug(msg, { meta })
|
|
5238
|
-
},
|
|
5238
|
+
}, require_model_download_service_D8B_4ktF.createFileDataPlaneHandler({ getRoots: () => this.playbackRoots() }));
|
|
5239
5239
|
const served = await this.ctx.dataPlane?.serve({
|
|
5240
5240
|
prefix: PLAYBACK_PREFIX,
|
|
5241
5241
|
access: "authenticated",
|
|
@@ -5709,11 +5709,11 @@ var RecorderV2Addon = class extends require_dist.BaseAddon {
|
|
|
5709
5709
|
return;
|
|
5710
5710
|
}
|
|
5711
5711
|
const baseHeaders = {
|
|
5712
|
-
"content-type":
|
|
5712
|
+
"content-type": require_model_download_service_D8B_4ktF.contentTypeFor(absPath),
|
|
5713
5713
|
"accept-ranges": "bytes",
|
|
5714
5714
|
"cache-control": "no-cache"
|
|
5715
5715
|
};
|
|
5716
|
-
const range =
|
|
5716
|
+
const range = require_model_download_service_D8B_4ktF.parseRangeHeader(req.headers.range, size);
|
|
5717
5717
|
const servesFinalByte = range ? range.end === size - 1 : true;
|
|
5718
5718
|
const recordDownloadOnFinish = () => {
|
|
5719
5719
|
if (req.method !== "GET" || !servesFinalByte) return;
|
package/dist/recorder/index.mjs
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { B as recordingExportCapability, D as deriveRecordingMode, H as storageEvictableCapability, K as errMsg, Q as hydrateSchema, X as DeviceType, at as selectAssignedProfileSlots, ct as array, f as ExportRecordSchema, gt as string, h as RecordingConfigSchema, ht as record, m as OpsLogEntrySchema, nt as nodePin, q as BaseAddon, u as EVENT_PAD_MS, vt as EventCategory, z as recordingCapability } from "../dist-B-VVBzrL.mjs";
|
|
2
2
|
import { t as resolveHubHostname } from "../hub-hostname-cCknRYKj.mjs";
|
|
3
|
-
import { n as createFileDataPlaneHandler, s as parseRangeHeader, t as contentTypeFor } from "../model-download-service-
|
|
3
|
+
import { n as createFileDataPlaneHandler, s as parseRangeHeader, t as contentTypeFor } from "../model-download-service-D8B-4ktF-BB7oZL3y.mjs";
|
|
4
|
+
import { randomUUID } from "node:crypto";
|
|
4
5
|
import { spawn } from "node:child_process";
|
|
5
6
|
import { createReadStream, promises, realpathSync } from "node:fs";
|
|
6
7
|
import path from "node:path";
|
|
7
|
-
import { randomUUID } from "node:crypto";
|
|
8
8
|
import { open } from "node:fs/promises";
|
|
9
9
|
//#region src/recorder/addon/calendar-scan.ts
|
|
10
10
|
/**
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { a as e, c as t, d as n, i as r, l as i, n as a, o, r as s, s as c, t as l, u } 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, i as r, l as i, n as a, o, r as s, s as c, t as l, u } from "./_virtual_mf___mfe_internal__addon_stream_broker_widgets__loadShare___mf_0_camstack_mf_1_ui_mf_2_library__loadShare__.js-54IklEep.mjs";
|
|
2
2
|
import { a as d, i as f, n as p, o as m, r as h, t as g } from "./_virtual_mf___mfe_internal__addon_stream_broker_widgets__loadShare__react__loadShare__.js-C9j-2lBe.mjs";
|
|
3
3
|
import { n as _, r as v, t as y } from "./_virtual_mf___mfe_internal__addon_stream_broker_widgets__loadShare__react_mf_1_jsx_mf_2_runtime__loadShare__.js-XO0-Pyu6.mjs";
|
|
4
4
|
import { n as b, t as x } from "./_virtual_mf___mfe_internal__addon_stream_broker_widgets__loadShare___mf_0_tanstack_mf_1_react_mf_2_query__loadShare__.js-BO7TIbJV.mjs";
|
|
5
|
-
import { t as S } from "./_virtual_mf___mfe_internal__addon_stream_broker_widgets__loadShare___mf_0_camstack_mf_1_types__loadShare__.js-
|
|
5
|
+
import { t as S } from "./_virtual_mf___mfe_internal__addon_stream_broker_widgets__loadShare___mf_0_camstack_mf_1_types__loadShare__.js-CCC9fqHH.mjs";
|
|
6
6
|
//#region ../../node_modules/lucide-react/dist/esm/shared/src/utils.js
|
|
7
7
|
var C = (e) => e.replace(/([a-z0-9])([A-Z])/g, "$1-$2").toLowerCase(), w = (e) => e.replace(/^([A-Z])|[\s-_]+(\w)/g, (e, t, n) => n ? n.toUpperCase() : t.toLowerCase()), T = (e) => {
|
|
8
8
|
let t = w(e);
|
|
@@ -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.42",
|
|
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.30",
|
|
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.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.AdoptionFilterSchema, e.AdoptionGetCandidateInputSchema, e.AdoptionListCandidatesInputSchema, e.AdoptionListCandidatesOutputSchema, 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.AutomationControlStatusSchema, 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.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.CameraStatusSchema, 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.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.DEFAULT_ADDON_PLACEMENT, e.DEFAULT_AUDIO_ANALYZER_CONFIG, e.DEFAULT_DECODER_HWACCEL_CONFIG, e.DEFAULT_DETAIL_CROP_CONVENTION, e.DEFAULT_EVENT_COLOR, e.DEFAULT_FEATURES, 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.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.DeviceLinkModeSchema, 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.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.EventSourceType, e.ExportDownloadSchema, e.ExportOptionsSchema, e.ExportRecordSchema, e.ExportSetupFieldSchema, e.ExportSetupSchema, e.ExportSpeedSchema, e.ExportStateSchema, e.ExportTimelapseSchema, e.ExposedDeviceSchema, e.ExposureModeSchema, e.ExpressionEvalError, e.ExpressionParseError, e.FanControlStatusSchema, e.FanDirectionSchema, e.FeatureManifestSchema, e.FeatureProbeStatusSchema, e.FloodStatusSchema, 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.LabelDefinitionSchema, e.LawnMowerActivitySchema, e.LawnMowerControlStatusSchema, e.LinkedDeviceSchema, 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_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.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.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.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.OsdStatusSchema, e.PET_FEEDER_MANUAL_FEED_MAX, e.PET_FEEDER_MANUAL_FEED_MIN, e.PIPELINE_FLOW_CAPABILITY_NAMES, e.PIPELINE_OWNER_CAPABILITY_NAMES, 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.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.RelocateFootageInputSchema, e.RelocateJobSchema, e.RelocateJobStateSchema, e.RelocateMediaInputSchema, e.RenderedAsSchema, e.ReportMotionInputSchema, 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.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.TerminalProfileInfoSchema, e.TerminalSessionInfoSchema, e.TestConnectionResultSchema, 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.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.applyTransform, 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.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.classifyStream, e.classifyStreams, e.climateControlCapability, e.collectHydratedFieldEntries, e.collectHydratedFieldValues, e.colorCapability, e.colorForKind, e.compileExpression, e.compileExpressionSafe, e.connectivityCapability, e.consumablesCapability, e.contactCapability, e.controlCapability, e.convertUnit, e.coreBlocksCapability, e.cosineSimilarity, 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.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.embeddingEncoderCapability, e.emitDownForOwnedCaps, e.emitReadiness, e.encodeProfileFromStreamShape, e.encodeVectorBase64, e.enumSensorCapability, e.enumerateInferenceDevices, e.enumerateItemArrayFields, e.enumerateSchemaFields, e.errMsg, e.evaluateAst, e.evaluateLinkExpression, 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.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.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.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.parseCameraStreamConfig, e.parseExpression, e.parseJsonArray, e.parseJsonObject, e.parseJsonUnknown, e.parseProfileBrokerId, e.parseStreamParamsFormPatch, e.petFeederCapability, e.pickAccessoryControl, e.pickDetailCropConvention, 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.privacyMaskCapability, e.procedureAuthKey, e.ptzAutotrackCapability, e.ptzCapability, e.pythonScriptForBackend, e.readDetailCropConvention, e.readDeviceStateFrom, 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.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.storageProviderCapability, e.streamBrokerCapability, e.streamCatalogCapability, e.streamParamsCapability, e.streamPixels, e.streamQualityLabel, e.subKindsOf, 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.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.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 };
|