@camstack/types 1.2.404 → 1.2.405

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/index.mjs CHANGED
@@ -12882,7 +12882,7 @@ function kindOfValue(value) {
12882
12882
  function only(kind) {
12883
12883
  return new Set([kind]);
12884
12884
  }
12885
- function union(...sets) {
12885
+ function union$1(...sets) {
12886
12886
  return new Set(sets.flatMap((s) => [...s]));
12887
12887
  }
12888
12888
  function withoutNull(set) {
@@ -12910,8 +12910,8 @@ function callKinds(callee, args) {
12910
12910
  const rule = BUILTIN_RESULT_KINDS[callee];
12911
12911
  if (rule === void 0) throw new KindInferenceError(`no result-kind rule for builtin '${callee}'`);
12912
12912
  if (rule.kind === "fixed") return new Set(rule.result);
12913
- const nonNull = union(...args.map(withoutNull));
12914
- return args.every((a) => a.has("null")) ? union(nonNull, only("null")) : nonNull;
12913
+ const nonNull = union$1(...args.map(withoutNull));
12914
+ return args.every((a) => a.has("null")) ? union$1(nonNull, only("null")) : nonNull;
12915
12915
  }
12916
12916
  function kindsOf(node, bindings) {
12917
12917
  switch (node.kind) {
@@ -12924,8 +12924,8 @@ function kindsOf(node, bindings) {
12924
12924
  }
12925
12925
  case "unary": return only(node.op === "!" ? "boolean" : "number");
12926
12926
  case "binary": return binaryKinds(node.op, kindsOf(node.left, bindings), kindsOf(node.right, bindings));
12927
- case "logical": return union(kindsOf(node.left, bindings), kindsOf(node.right, bindings));
12928
- case "conditional": return union(kindsOf(node.consequent, bindings), kindsOf(node.alternate, bindings));
12927
+ case "logical": return union$1(kindsOf(node.left, bindings), kindsOf(node.right, bindings));
12928
+ case "conditional": return union$1(kindsOf(node.consequent, bindings), kindsOf(node.alternate, bindings));
12929
12929
  case "call": return callKinds(node.callee, node.args.map((a) => kindsOf(a, bindings)));
12930
12930
  }
12931
12931
  }
@@ -47288,6 +47288,20 @@ var CAMERA_SENSORS_NOT_LOADED = Object.freeze({
47288
47288
  reason: "camera sensor mappings not loaded"
47289
47289
  });
47290
47290
  //#endregion
47291
+ //#region src/capabilities/schemas/package-llm-verdict.ts
47292
+ /**
47293
+ * What the vision model must answer before a package event is emitted
47294
+ * when a packages rule has "Confirm with the LLM" on.
47295
+ *
47296
+ * `package` is the verdict. `confidence` is 0..1. `reason` is the model's
47297
+ * one-line explanation, stored on the event so a drop is not silent.
47298
+ */
47299
+ var PackageLlmVerdictSchema = z.object({
47300
+ package: z.boolean(),
47301
+ confidence: z.number().min(0).max(1),
47302
+ reason: z.string().min(1)
47303
+ });
47304
+ //#endregion
47291
47305
  //#region src/pipeline/cluster-model-scope.ts
47292
47306
  /**
47293
47307
  * A model choice has a SCOPE, and a scope change has a workflow.
@@ -48406,6 +48420,21 @@ var ObjectEventSchema = z.object({
48406
48420
  * pick-up written before D684 — UNKNOWN, never 0 and never `timestamp`.
48407
48421
  */
48408
48422
  observedAt: z.number().optional(),
48423
+ /**
48424
+ * The delivery was emitted without a vision-model yes (D931).
48425
+ *
48426
+ * Set only when the packages rule asked for an LLM confirm and the model
48427
+ * was unreachable, timed out, or answered something that did not parse.
48428
+ * A notification reads it so it can say "possible" instead of a definite
48429
+ * delivery. Absent on every other row, and on a confirm that said yes.
48430
+ */
48431
+ packagePossible: z.boolean().optional(),
48432
+ /**
48433
+ * The vision model's verdict, when a packages rule asked for one and the
48434
+ * model answered the schema (D931). A "no" never becomes a row — the
48435
+ * detector drops it and logs the reason. Present on a yes.
48436
+ */
48437
+ packageLlmVerdict: PackageLlmVerdictSchema.optional(),
48409
48438
  /** The parent track's key-event importance [0,1], propagated to every object
48410
48439
  * event of the track (so an event row can be sorted by importance without a
48411
48440
  * track join). Absent on legacy rows / before the track was scored. */
@@ -51631,11 +51660,18 @@ var KeptReasonSchema = z.enum(["custom-pin"]);
51631
51660
  * Where a choice's latency came from (D791): this node's own benchmark
51632
51661
  * result, or the hardware-class table. Measured on the node beats the table.
51633
51662
  */
51634
- var LatencySourceSchema = z.discriminatedUnion("kind", [z.object({ kind: z.literal("table") }), z.object({
51635
- kind: z.literal("node-benchmark"),
51636
- resultId: z.string(),
51637
- measuredAtMs: z.number()
51638
- })]);
51663
+ var LatencySourceSchema = z.discriminatedUnion("kind", [
51664
+ z.object({ kind: z.literal("table") }),
51665
+ z.object({
51666
+ kind: z.literal("node-benchmark"),
51667
+ resultId: z.string(),
51668
+ measuredAtMs: z.number()
51669
+ }),
51670
+ z.object({
51671
+ kind: z.literal("estimated"),
51672
+ estimatedFrom: HardwareClassIdSchema
51673
+ })
51674
+ ]);
51639
51675
  var DeviceModelChoiceSchema = z.object({
51640
51676
  modelId: z.string(),
51641
51677
  p50Ms: z.number(),
@@ -51643,6 +51679,11 @@ var DeviceModelChoiceSchema = z.object({
51643
51679
  measured: z.boolean(),
51644
51680
  /** Absent on a plan from before D791 — read as the table. */
51645
51681
  source: LatencySourceSchema.optional(),
51682
+ /**
51683
+ * The measured class this latency was scaled from (D930). Absent when the
51684
+ * cell is the table or a node benchmark.
51685
+ */
51686
+ estimatedFrom: HardwareClassIdSchema.optional(),
51646
51687
  /** Parallel sessions at the camera rate with the headroom kept free: ⌊fps × (1 − headroom) / camera fps⌋. */
51647
51688
  capacitySessions: z.number(),
51648
51689
  personRecall: z.number()
@@ -67661,681 +67702,1455 @@ includeCrops: z.boolean().optional() }).optional(), z.array(VehicleSchema).reado
67661
67702
  }
67662
67703
  };
67663
67704
  //#endregion
67664
- //#region src/capabilities/platform-probe.cap.ts
67665
- var ModelFormatSchema = z.enum(MODEL_FORMATS);
67666
- var HwAccelBackendInputSchema = z.enum([
67667
- "videotoolbox",
67668
- "cuda",
67669
- "nvdec",
67670
- "vaapi",
67671
- "qsv",
67672
- "d3d11va",
67673
- "dxva2",
67674
- "amf",
67675
- "vdpau",
67676
- "drm",
67677
- "coreml",
67678
- "tensorrt",
67679
- "openvino",
67680
- "directml",
67681
- "webgpu",
67682
- "none"
67683
- ]).nullable().optional();
67684
- var HwAccelResolutionSchema = z.object({
67685
- preferred: z.array(z.string()).readonly(),
67686
- rationale: z.string()
67687
- });
67688
- var HardwareEncoderIdSchema = z.enum([
67689
- "h264_videotoolbox",
67690
- "hevc_videotoolbox",
67691
- "h264_vaapi",
67692
- "hevc_vaapi",
67693
- "h264_nvenc",
67694
- "hevc_nvenc",
67695
- "h264_qsv",
67696
- "hevc_qsv",
67697
- "h264_amf",
67698
- "hevc_amf",
67699
- "libx264",
67700
- "libx265"
67701
- ]);
67702
- var HardwareEncoderProbeSchema = z.object({
67703
- encoder: HardwareEncoderIdSchema,
67704
- codec: z.enum(["H264", "H265"]),
67705
- family: z.enum([
67706
- "videotoolbox",
67707
- "vaapi",
67708
- "nvenc",
67709
- "qsv",
67710
- "amf",
67711
- "software"
67712
- ]),
67713
- available: z.boolean(),
67714
- reason: z.string().optional()
67715
- });
67716
- z.object({
67717
- encoders: z.array(HardwareEncoderProbeSchema).readonly(),
67718
- defaultH264: HardwareEncoderIdSchema,
67719
- defaultH265: HardwareEncoderIdSchema,
67720
- probedAt: z.number()
67721
- });
67722
- z.object({
67723
- methods: z.array(z.string()).readonly(),
67724
- probedAt: z.number()
67725
- });
67726
- var HardwarePlatformSchema = z.enum([
67727
- "darwin",
67728
- "linux",
67729
- "win32"
67730
- ]);
67731
- var HardwareArchSchema = z.enum(["arm64", "x64"]);
67732
- var GpuInfoSchema = z.object({
67733
- type: z.enum([
67734
- "nvidia",
67735
- "amd",
67736
- "intel",
67737
- "apple"
67738
- ]),
67739
- name: z.string(),
67740
- memoryMB: z.number().optional()
67741
- });
67742
- var NpuInfoSchema = z.object({
67743
- type: z.enum([
67744
- "apple-ane",
67745
- "intel-npu",
67746
- "amd-xdna"
67747
- ]),
67748
- name: z.string().optional(),
67749
- generation: z.enum(["xdna1", "xdna2"]).optional()
67750
- });
67751
- var CoralBusSchema = z.enum(["usb", "pci"]);
67752
- var CoralInfoSchema = z.object({
67753
- type: z.literal("coral-edgetpu"),
67754
- /** Legacy single-bus report (older nodes) — read via `coralUsableUnits`. */
67755
- bus: z.string().optional(),
67756
- /** Legacy USB unit count (older nodes) — read via `coralUsableUnits`. */
67757
- count: z.number().int().nonnegative().optional(),
67758
- /** Usable units per bus — each one is its own `edgetpu:<bus>[:N]` device. */
67759
- units: z.array(z.object({
67760
- bus: CoralBusSchema,
67761
- count: z.number().int().nonnegative()
67762
- })).readonly().optional(),
67763
- /** Present-but-unusable units, each with its typed reason (never "absent"). */
67764
- unavailable: z.array(z.object({
67765
- bus: CoralBusSchema,
67766
- count: z.number().int().nonnegative(),
67767
- reason: z.enum(["driver-missing", "device-not-accessible"])
67768
- })).readonly().optional()
67769
- });
67770
- var HardwareInfoSchema = z.object({
67771
- platform: HardwarePlatformSchema,
67772
- arch: HardwareArchSchema,
67773
- cpuModel: z.string(),
67774
- cpuCores: z.number(),
67775
- totalRAM_MB: z.number(),
67776
- availableRAM_MB: z.number(),
67777
- gpu: GpuInfoSchema.nullable(),
67778
- npu: NpuInfoSchema.nullable(),
67779
- coral: CoralInfoSchema.nullable().optional()
67780
- });
67781
- var PlatformScoreSchema = z.object({
67782
- runtime: z.literal("python"),
67783
- backend: z.string(),
67784
- format: z.enum([
67785
- "onnx",
67786
- "coreml",
67787
- "openvino",
67788
- "tflite"
67789
- ]),
67790
- score: z.number(),
67791
- reason: z.string(),
67792
- available: z.boolean()
67793
- });
67794
- var InferenceDeviceDescriptorSchema = z.object({
67795
- key: z.string(),
67796
- backend: z.string(),
67797
- device: z.string(),
67798
- format: ModelFormatSchema,
67799
- runtime: z.literal("python"),
67800
- score: z.number(),
67801
- available: z.boolean()
67802
- });
67803
- var PlatformCapabilitiesSchema = z.object({
67804
- hardware: HardwareInfoSchema,
67805
- scores: z.array(PlatformScoreSchema).readonly(),
67806
- bestScore: PlatformScoreSchema,
67807
- pythonPath: z.string().nullable(),
67808
- devices: z.array(InferenceDeviceDescriptorSchema).readonly()
67809
- });
67810
- var ModelRequirementSchema = z.object({
67811
- modelId: z.string(),
67812
- name: z.string(),
67813
- minRAM_MB: z.number(),
67814
- accuracyScore: z.number(),
67815
- formats: z.array(z.string()).readonly()
67816
- });
67817
- var ResolvedInferenceConfigSchema = z.object({
67818
- modelId: z.string(),
67819
- runtime: z.literal("python"),
67820
- backend: z.string(),
67821
- format: ModelFormatSchema,
67822
- reason: z.string()
67823
- });
67824
- /**
67825
- * The answer of an accelerator rescan (D919): the node's device list after
67826
- * the re-probe, what changed, and the evidence that decided the Coral answer
67827
- * (`usbBus` — could the USB bus be read at all; `decidedBy` — USB ids, the PCI
67828
- * bus, the installed-delegate fallback, or nothing).
67829
- */
67830
- var AcceleratorRescanSchema = z.object({
67831
- devices: z.array(InferenceDeviceDescriptorSchema).readonly(),
67832
- appeared: z.array(z.string()).readonly(),
67833
- disappeared: z.array(z.string()).readonly(),
67834
- usbBus: z.enum(["observed", "unobservable"]),
67835
- decidedBy: z.enum([
67836
- "usb-ids",
67837
- "pci",
67838
- "delegate-fallback",
67839
- "none"
67840
- ])
67841
- });
67842
- var platformProbeCapability = {
67843
- name: "platform-probe",
67844
- scope: "system",
67845
- mode: "singleton",
67846
- methods: {
67847
- getCapabilities: method(z.void(), PlatformCapabilitiesSchema),
67848
- getHardware: method(z.void(), HardwareInfoSchema),
67849
- resolveInferenceConfig: method(z.object({ requirements: z.array(ModelRequirementSchema).readonly() }), ResolvedInferenceConfigSchema),
67850
- resolveHwAccel: method(z.object({ prefer: HwAccelBackendInputSchema }), HwAccelResolutionSchema),
67851
- /**
67852
- * Re-probe this node's accelerators NOW (Coral USB ids + PCIe apex units;
67853
- * `/sys` and `/dev` reads, no model load) and rebuild the device list that
67854
- * `getCapabilities` serves. The same re-probe runs every 60 s on its own;
67855
- * this is the operator's "rescan inference devices". Target a node with the
67856
- * `{ nodeId }` routing input, like `getCapabilities`.
67857
- */
67858
- rescanAccelerators: method(z.void(), AcceleratorRescanSchema, {
67859
- kind: "mutation",
67860
- auth: "admin"
67861
- })
67862
- }
67863
- };
67864
- //#endregion
67865
- //#region src/capabilities/power-meter.cap.ts
67866
- /**
67867
- * Multi-metric electrical meter. One slice can carry any combination
67868
- * of instantaneous power (W), cumulative energy (kWh), voltage (V),
67869
- * and current (A) — all fields optional so a single-metric source
67870
- * (HA `sensor` with `device_class: power`) populates only what it
67871
- * has and aggregators (energy dashboards, billing exports) compose
67872
- * across providers without needing one cap per metric.
67873
- *
67874
- * Trade-off acknowledged: a HomeKit export that wants to surface
67875
- * "power" and "energy" as separate services has to crack open the
67876
- * slice and emit two characteristics from one cap. Worth it to avoid
67877
- * exploding the cap catalog with `power-w` / `energy-kwh` /
67878
- * `voltage-v` / `current-a` quartets that always travel together
67879
- * in real-world devices.
67880
- */
67881
- var PowerMeterStatusSchema = z.object({
67882
- /** Instantaneous power draw in watts. */
67883
- watts: z.number().optional(),
67884
- /** Cumulative energy in kilowatt-hours since the meter was reset. */
67885
- kwhTotal: z.number().optional(),
67886
- /** Voltage in volts. */
67887
- volts: z.number().optional(),
67888
- /** Current in amperes. */
67889
- amps: z.number().optional(),
67890
- /** Apparent power in volt-amperes (W × power-factor reciprocal). */
67891
- va: z.number().optional(),
67892
- /** Power factor (0..1) if reported. */
67893
- powerFactor: z.number().min(0).max(1).optional(),
67894
- /** Ms epoch when the slice was last updated. */
67895
- lastFetchedAt: z.number(),
67896
- /** Live display unit of the single metric this slice carries (e.g. HA
67897
- * `attributes.unit_of_measurement` → 'V' / 'A' / 'W' / 'kW' / 'kWh').
67898
- * Each upstream `sensor.*` entity surfaces ONE device_class, so one
67899
- * unit per slice is unambiguous. The UI prefers this over the role's
67900
- * canonical unit so a 'kW' / 'Wh' feed renders verbatim. */
67901
- unit: z.string().optional(),
67902
- /** Suggested decimal places for numeric display.
67903
- * Populated live from the upstream source when provided (e.g. HA
67904
- * `attributes.suggested_display_precision`). Falls back to
67905
- * auto-formatting when absent. */
67906
- precision: z.number().int().min(0).max(10).optional()
67907
- });
67908
- var powerMeterCapability = {
67909
- name: "power-meter",
67910
- scope: "device",
67911
- deviceNative: true,
67912
- mode: "singleton",
67913
- deviceTypes: [DeviceType.Sensor],
67914
- methods: {},
67915
- status: {
67916
- schema: PowerMeterStatusSchema,
67917
- kind: "push"
67918
- },
67919
- runtimeState: PowerMeterStatusSchema,
67920
- /**
67921
- * Runtime-state durability: **restored** — as `numeric-sensor`; `kwhTotal` is an accumulator whose restored value is the baseline.
67922
- *
67923
- * See `RuntimeStateDurability`. Enforced by
67924
- * `scripts/check-runtime-state-durability.ts`.
67925
- */
67926
- durability: "restored",
67927
- /**
67928
- * History (D850): recorded series. Gauges are floored at 30 s; `kwhTotal` is the one monotonic meter (counter).
67929
- */
67930
- history: { fields: {
67931
- watts: {
67932
- kind: "gauge",
67933
- unit: "W",
67934
- deadband: 1,
67935
- minIntervalMs: 3e4
67936
- },
67937
- kwhTotal: {
67938
- kind: "counter",
67939
- unit: "kWh",
67940
- deadband: .01,
67941
- minIntervalMs: 6e4
67942
- },
67943
- volts: {
67944
- kind: "gauge",
67945
- unit: "V",
67946
- deadband: 1,
67947
- minIntervalMs: 3e4
67705
+ //#region src/pipeline/auto-tune/detector-performance.ts
67706
+ var DETECTOR_PERF = {
67707
+ "intel-core-ultra": {
67708
+ "intel-npu": {
67709
+ "yolov9t-320": {
67710
+ p50Ms: 2.9,
67711
+ fps: 383,
67712
+ measured: true
67713
+ },
67714
+ "yolov9t-320-int8": {
67715
+ p50Ms: 3.8,
67716
+ fps: 333,
67717
+ measured: true
67718
+ },
67719
+ "yolov9t-640": {
67720
+ p50Ms: 7.4,
67721
+ fps: 139,
67722
+ measured: true
67723
+ },
67724
+ "yolov9t-640-int8": {
67725
+ p50Ms: 7.5,
67726
+ fps: 144,
67727
+ measured: true
67728
+ },
67729
+ "yolov9s-320": {
67730
+ p50Ms: 4.4,
67731
+ fps: 241,
67732
+ measured: true
67733
+ },
67734
+ "yolov9s-320-int8": {
67735
+ p50Ms: 4.1,
67736
+ fps: 264,
67737
+ measured: true
67738
+ },
67739
+ "yolov9s-640": {
67740
+ p50Ms: 12.7,
67741
+ fps: 82,
67742
+ measured: true
67743
+ },
67744
+ "yolov9s-640-int8": {
67745
+ p50Ms: 10.7,
67746
+ fps: 99,
67747
+ measured: true
67748
+ },
67749
+ "yolov9m-320": {
67750
+ p50Ms: 8.4,
67751
+ fps: 123,
67752
+ measured: true
67753
+ },
67754
+ "yolov9m-320-int8": {
67755
+ p50Ms: 6.5,
67756
+ fps: 165,
67757
+ measured: true
67758
+ },
67759
+ "yolov9m-640": {
67760
+ p50Ms: 29.5,
67761
+ fps: 32,
67762
+ measured: true
67763
+ },
67764
+ "yolov9m-640-int8": {
67765
+ p50Ms: 19.5,
67766
+ fps: 52,
67767
+ measured: true
67768
+ }
67948
67769
  },
67949
- amps: {
67950
- kind: "gauge",
67951
- unit: "A",
67952
- deadband: .05,
67953
- minIntervalMs: 3e4
67770
+ "intel-igpu": {
67771
+ "yolov9t-320": {
67772
+ p50Ms: 2.6,
67773
+ fps: 405,
67774
+ measured: true
67775
+ },
67776
+ "yolov9t-320-int8": {
67777
+ p50Ms: 2.8,
67778
+ fps: 324,
67779
+ measured: true
67780
+ },
67781
+ "yolov9t-640": {
67782
+ p50Ms: 6.5,
67783
+ fps: 157,
67784
+ measured: true
67785
+ },
67786
+ "yolov9t-640-int8": {
67787
+ p50Ms: 5.6,
67788
+ fps: 185,
67789
+ measured: true
67790
+ },
67791
+ "yolov9s-320": {
67792
+ p50Ms: 4.6,
67793
+ fps: 200,
67794
+ measured: true
67795
+ },
67796
+ "yolov9s-320-int8": {
67797
+ p50Ms: 4.1,
67798
+ fps: 239,
67799
+ measured: true
67800
+ },
67801
+ "yolov9s-640": {
67802
+ p50Ms: 15.2,
67803
+ fps: 69,
67804
+ measured: true
67805
+ },
67806
+ "yolov9s-640-int8": {
67807
+ p50Ms: 10.5,
67808
+ fps: 99,
67809
+ measured: true
67810
+ },
67811
+ "yolov9m-320": {
67812
+ p50Ms: 11.4,
67813
+ fps: 88,
67814
+ measured: true
67815
+ },
67816
+ "yolov9m-320-int8": {
67817
+ p50Ms: 7,
67818
+ fps: 127,
67819
+ measured: true
67820
+ },
67821
+ "yolov9m-640": {
67822
+ p50Ms: 40,
67823
+ fps: 25,
67824
+ measured: true
67825
+ },
67826
+ "yolov9m-640-int8": {
67827
+ p50Ms: 23.5,
67828
+ fps: 44,
67829
+ measured: true
67830
+ }
67954
67831
  },
67955
- va: {
67956
- kind: "gauge",
67957
- unit: "VA",
67958
- deadband: 1,
67959
- minIntervalMs: 3e4
67832
+ "x86-cpu": {
67833
+ "yolov9t-320": {
67834
+ p50Ms: 6.9,
67835
+ fps: 145,
67836
+ measured: true
67837
+ },
67838
+ "yolov9t-320-int8": {
67839
+ p50Ms: 2.7,
67840
+ fps: 405,
67841
+ measured: true
67842
+ },
67843
+ "yolov9t-640": {
67844
+ p50Ms: 23,
67845
+ fps: 44,
67846
+ measured: true
67847
+ },
67848
+ "yolov9t-640-int8": {
67849
+ p50Ms: 8.8,
67850
+ fps: 124,
67851
+ measured: true
67852
+ },
67853
+ "yolov9s-320": {
67854
+ p50Ms: 15.8,
67855
+ fps: 63,
67856
+ measured: true
67857
+ },
67858
+ "yolov9s-320-int8": {
67859
+ p50Ms: 6.5,
67860
+ fps: 180,
67861
+ measured: true
67862
+ },
67863
+ "yolov9s-640": {
67864
+ p50Ms: 58.2,
67865
+ fps: 17,
67866
+ measured: true
67867
+ },
67868
+ "yolov9s-640-int8": {
67869
+ p50Ms: 20.1,
67870
+ fps: 52,
67871
+ measured: true
67872
+ },
67873
+ "yolov9m-320": {
67874
+ p50Ms: 40,
67875
+ fps: 25,
67876
+ measured: true
67877
+ },
67878
+ "yolov9m-320-int8": {
67879
+ p50Ms: 14.2,
67880
+ fps: 74,
67881
+ measured: true
67882
+ },
67883
+ "yolov9m-640": {
67884
+ p50Ms: 155.8,
67885
+ fps: 6,
67886
+ measured: true
67887
+ },
67888
+ "yolov9m-640-int8": {
67889
+ p50Ms: 52.4,
67890
+ fps: 19,
67891
+ measured: true
67892
+ }
67960
67893
  },
67961
- powerFactor: {
67962
- kind: "gauge",
67963
- unit: "ratio",
67964
- deadband: .01,
67965
- minIntervalMs: 6e4
67966
- }
67967
- } },
67968
- /** Clock fields: written, but excluded from the compare that decides
67969
- * whether persisting is worth a SQLite commit. */
67970
- volatileStateFields: ["lastFetchedAt"]
67971
- };
67972
- //#endregion
67973
- //#region src/capabilities/presence.cap.ts
67974
- /**
67975
- * Presence cap. Models HA `person.*` and `device_tracker.*` entities
67976
- * on `DeviceType.Presence`. Read-only — no setters: presence is
67977
- * derived from upstream signals (mobile-app location, router DHCP
67978
- * lease, Bluetooth beacon, manual zone change) and pushed into the
67979
- * slice.
67980
- *
67981
- * `state` follows HA's canonical values — `home` / `not_home` /
67982
- * `<zone-name>` for any other named zone. The zone name is freeform
67983
- * because users define arbitrary zones (`work`, `gym`, `school`).
67984
- *
67985
- * GPS coordinates are nullable — tracker types without location
67986
- * (Bluetooth scanner, MQTT presence) omit them. The presence of
67987
- * GPS data is signaled by `DeviceFeature.PresenceGps` for fast
67988
- * UI map-pin rendering.
67989
- */
67990
- var GpsLocationSchema = z.object({
67991
- /** Latitude in decimal degrees, -90..90. */
67992
- latitude: z.number().min(-90).max(90),
67993
- /** Longitude in decimal degrees, -180..180. */
67994
- longitude: z.number().min(-180).max(180),
67995
- /** Reported accuracy in meters (lower = better). */
67996
- accuracyMeters: z.number().nonnegative()
67997
- });
67998
- var PresenceStatusSchema = z.object({
67999
- /** `home` / `not_home` / any user-defined zone name. */
68000
- state: z.string(),
68001
- /** Optional textual location label (zone name, city, address). Null
68002
- * when only the binary state is known. */
68003
- location: z.string().nullable(),
68004
- /** GPS coordinates when available. Null otherwise. */
68005
- gps: GpsLocationSchema.nullable(),
68006
- /** Optional battery level of the tracking device (0..100). Null
68007
- * when not reported. */
68008
- batteryPercent: z.number().min(0).max(100).nullable(),
68009
- /** Ms epoch when the slice was last updated. */
68010
- lastChangedAt: z.number()
68011
- });
68012
- var presenceCapability = {
68013
- name: "presence",
68014
- scope: "device",
68015
- deviceNative: true,
68016
- mode: "singleton",
68017
- deviceTypes: [DeviceType.Presence],
68018
- methods: {},
68019
- status: {
68020
- schema: PresenceStatusSchema,
68021
- kind: "push"
67894
+ coral: { "yolov9s-320-edgetpu": {
67895
+ p50Ms: 32,
67896
+ fps: 31,
67897
+ measured: false
67898
+ } }
68022
67899
  },
68023
- /**
68024
- * Runtime-state slice — mirrored by the kernel. UI presence card
68025
- * reads `state` + `location` for the text label; iff `gps !== null`
68026
- * the map pin is rendered (use `DeviceFeature.PresenceGps` for the
68027
- * pre-fetch fast-path check).
68028
- */
68029
- runtimeState: PresenceStatusSchema,
68030
- /**
68031
- * Runtime-state durability: **restored** — occupancy-relevant: the restored state is what an occupancy rule compares the first post-restart observation against.
68032
- *
68033
- * See `RuntimeStateDurability`. Enforced by
68034
- * `scripts/check-runtime-state-durability.ts`.
68035
- */
68036
- durability: "restored",
68037
- /**
68038
- * History (D850): recorded series.
68039
- */
68040
- history: { fields: { batteryPercent: {
68041
- kind: "gauge",
68042
- unit: "%",
68043
- deadband: 1
68044
- } } },
68045
- /** Clock fields: written, but excluded from the compare that decides
68046
- * whether persisting is worth a SQLite commit. */
68047
- volatileStateFields: ["lastChangedAt"]
67900
+ "intel-n-series": {
67901
+ "intel-igpu": {
67902
+ "yolov9t-320": {
67903
+ p50Ms: 15,
67904
+ fps: 48,
67905
+ measured: true
67906
+ },
67907
+ "yolov9t-320-int8": {
67908
+ p50Ms: 14.1,
67909
+ fps: 67,
67910
+ measured: true
67911
+ },
67912
+ "yolov9t-640": {
67913
+ p50Ms: 38.5,
67914
+ fps: 26,
67915
+ measured: true
67916
+ },
67917
+ "yolov9t-640-int8": {
67918
+ p50Ms: 50,
67919
+ fps: 20,
67920
+ measured: true
67921
+ },
67922
+ "yolov9s-320": {
67923
+ p50Ms: 41.4,
67924
+ fps: 24,
67925
+ measured: true
67926
+ },
67927
+ "yolov9s-320-int8": {
67928
+ p50Ms: 23.3,
67929
+ fps: 34,
67930
+ measured: true
67931
+ },
67932
+ "yolov9s-640": {
67933
+ p50Ms: 127.4,
67934
+ fps: 8,
67935
+ measured: true
67936
+ },
67937
+ "yolov9s-640-int8": {
67938
+ p50Ms: 81,
67939
+ fps: 12,
67940
+ measured: true
67941
+ },
67942
+ "yolov9m-320": {
67943
+ p50Ms: 63.5,
67944
+ fps: 16,
67945
+ measured: true
67946
+ },
67947
+ "yolov9m-320-int8": {
67948
+ p50Ms: 66,
67949
+ fps: 15,
67950
+ measured: true
67951
+ },
67952
+ "yolov9m-640": {
67953
+ p50Ms: 215.5,
67954
+ fps: 5,
67955
+ measured: true
67956
+ },
67957
+ "yolov9m-640-int8": {
67958
+ p50Ms: 163,
67959
+ fps: 6,
67960
+ measured: true
67961
+ }
67962
+ },
67963
+ "x86-cpu": {
67964
+ "yolov9t-320": {
67965
+ p50Ms: 86.2,
67966
+ fps: 12,
67967
+ measured: true
67968
+ },
67969
+ "yolov9t-320-int8": {
67970
+ p50Ms: 52.7,
67971
+ fps: 20,
67972
+ measured: true
67973
+ },
67974
+ "yolov9t-640": {
67975
+ p50Ms: 322.1,
67976
+ fps: 3,
67977
+ measured: true
67978
+ },
67979
+ "yolov9t-640-int8": {
67980
+ p50Ms: 205.6,
67981
+ fps: 5,
67982
+ measured: true
67983
+ },
67984
+ "yolov9s-320": {
67985
+ p50Ms: 164.4,
67986
+ fps: 6,
67987
+ measured: true
67988
+ },
67989
+ "yolov9s-320-int8": {
67990
+ p50Ms: 86.9,
67991
+ fps: 12,
67992
+ measured: true
67993
+ },
67994
+ "yolov9s-640": {
67995
+ p50Ms: 341.3,
67996
+ fps: 3,
67997
+ measured: true
67998
+ },
67999
+ "yolov9s-640-int8": {
68000
+ p50Ms: 185.3,
68001
+ fps: 5,
68002
+ measured: true
68003
+ },
68004
+ "yolov9m-320": {
68005
+ p50Ms: 166.8,
68006
+ fps: 6,
68007
+ measured: true
68008
+ },
68009
+ "yolov9m-320-int8": {
68010
+ p50Ms: 226.3,
68011
+ fps: 4,
68012
+ measured: true
68013
+ },
68014
+ "yolov9m-640": {
68015
+ p50Ms: 663.5,
68016
+ fps: 2,
68017
+ measured: true
68018
+ },
68019
+ "yolov9m-640-int8": {
68020
+ p50Ms: 324.4,
68021
+ fps: 3,
68022
+ measured: true
68023
+ }
68024
+ },
68025
+ coral: { "yolov9s-320-edgetpu": {
68026
+ p50Ms: 32,
68027
+ fps: 31,
68028
+ measured: false
68029
+ } }
68030
+ },
68031
+ "amd-phoenix": {
68032
+ "x86-cpu": {
68033
+ "yolov9t-320": {
68034
+ p50Ms: 24,
68035
+ fps: 42,
68036
+ measured: true
68037
+ },
68038
+ "yolov9t-320-int8": {
68039
+ p50Ms: 12,
68040
+ fps: 83,
68041
+ measured: true
68042
+ },
68043
+ "yolov9t-640": {
68044
+ p50Ms: 50,
68045
+ fps: 20,
68046
+ measured: true
68047
+ },
68048
+ "yolov9t-640-int8": {
68049
+ p50Ms: 20,
68050
+ fps: 50,
68051
+ measured: true
68052
+ },
68053
+ "yolov9s-320": {
68054
+ p50Ms: 30,
68055
+ fps: 33,
68056
+ measured: true
68057
+ },
68058
+ "yolov9s-320-int8": {
68059
+ p50Ms: 15,
68060
+ fps: 67,
68061
+ measured: true
68062
+ },
68063
+ "yolov9s-640": {
68064
+ p50Ms: 92,
68065
+ fps: 11,
68066
+ measured: true
68067
+ },
68068
+ "yolov9s-640-int8": {
68069
+ p50Ms: 27,
68070
+ fps: 37,
68071
+ measured: true
68072
+ },
68073
+ "yolov9m-320": {
68074
+ p50Ms: 67,
68075
+ fps: 15,
68076
+ measured: true
68077
+ },
68078
+ "yolov9m-320-int8": {
68079
+ p50Ms: 21,
68080
+ fps: 48,
68081
+ measured: true
68082
+ },
68083
+ "yolov9m-640": {
68084
+ p50Ms: 229,
68085
+ fps: 4,
68086
+ measured: true
68087
+ },
68088
+ "yolov9m-640-int8": {
68089
+ p50Ms: 48,
68090
+ fps: 21,
68091
+ measured: true
68092
+ }
68093
+ },
68094
+ "amd-igpu": {
68095
+ "yolov9t-320": {
68096
+ p50Ms: 40,
68097
+ fps: 25,
68098
+ measured: true
68099
+ },
68100
+ "yolov9t-640": {
68101
+ p50Ms: 89,
68102
+ fps: 11,
68103
+ measured: true
68104
+ },
68105
+ "yolov9s-320": {
68106
+ p50Ms: 65,
68107
+ fps: 15,
68108
+ measured: true
68109
+ },
68110
+ "yolov9s-640": {
68111
+ p50Ms: 125,
68112
+ fps: 8,
68113
+ measured: true
68114
+ },
68115
+ "yolov9m-320": {
68116
+ p50Ms: 85,
68117
+ fps: 12,
68118
+ measured: true
68119
+ },
68120
+ "yolov9m-640": {
68121
+ p50Ms: 228,
68122
+ fps: 4,
68123
+ measured: true
68124
+ }
68125
+ },
68126
+ coral: { "yolov9s-320-edgetpu": {
68127
+ p50Ms: 32,
68128
+ fps: 31,
68129
+ measured: true
68130
+ } }
68131
+ },
68132
+ "apple-m-pro": {
68133
+ "apple-ane": {
68134
+ "yolov9t-320": {
68135
+ p50Ms: 1.1,
68136
+ fps: 952,
68137
+ measured: true
68138
+ },
68139
+ "yolov9t-640": {
68140
+ p50Ms: 3,
68141
+ fps: 333,
68142
+ measured: true
68143
+ },
68144
+ "yolov9s-320": {
68145
+ p50Ms: 1.5,
68146
+ fps: 667,
68147
+ measured: true
68148
+ },
68149
+ "yolov9s-640": {
68150
+ p50Ms: 5.1,
68151
+ fps: 196,
68152
+ measured: true
68153
+ },
68154
+ "yolov9m-320": {
68155
+ p50Ms: 3.2,
68156
+ fps: 312,
68157
+ measured: true
68158
+ },
68159
+ "yolov9m-640": {
68160
+ p50Ms: 10.2,
68161
+ fps: 98,
68162
+ measured: true
68163
+ }
68164
+ },
68165
+ coral: { "yolov9s-320-edgetpu": {
68166
+ p50Ms: 32,
68167
+ fps: 31,
68168
+ measured: false
68169
+ } }
68170
+ },
68171
+ "apple-m-base": {
68172
+ "apple-ane": {
68173
+ "yolov9t-320": {
68174
+ p50Ms: 1.32,
68175
+ fps: 758,
68176
+ measured: false
68177
+ },
68178
+ "yolov9t-640": {
68179
+ p50Ms: 3.45,
68180
+ fps: 290,
68181
+ measured: true
68182
+ },
68183
+ "yolov9s-320": {
68184
+ p50Ms: 1.8,
68185
+ fps: 556,
68186
+ measured: false
68187
+ },
68188
+ "yolov9s-640": {
68189
+ p50Ms: 5.46,
68190
+ fps: 183,
68191
+ measured: true
68192
+ },
68193
+ "yolov9m-320": {
68194
+ p50Ms: 3.79,
68195
+ fps: 264,
68196
+ measured: true
68197
+ },
68198
+ "yolov9m-640": {
68199
+ p50Ms: 10.34,
68200
+ fps: 97,
68201
+ measured: true
68202
+ }
68203
+ },
68204
+ coral: { "yolov9s-320-edgetpu": {
68205
+ p50Ms: 32,
68206
+ fps: 31,
68207
+ measured: false
68208
+ } }
68209
+ }
68048
68210
  };
68049
- //#endregion
68050
- //#region src/capabilities/pressure-sensor.cap.ts
68051
- /**
68052
- * Atmospheric pressure reading in hectopascals. Drives Home Assistant
68053
- * `sensor` entries with `device_class: pressure`.
68054
- *
68055
- * Unit normalisation: hPa. The canonical display unit (`hPa`) is a
68056
- * descriptor constant in the UI (ROLE_DESCRIPTOR), not stored in
68057
- * `sourceInfo`.
68058
- */
68059
- var PressureSensorStatusSchema = z.object({
68060
- /** Current pressure in hPa. */
68061
- hpa: z.number(),
68062
- /** Ms epoch when the slice was last updated. */
68063
- lastFetchedAt: z.number(),
68064
- /** Live display unit from the upstream source (e.g. HA
68065
- * `attributes.unit_of_measurement`). The UI prefers this over the
68066
- * role's canonical unit. Absent → fall back to the canonical unit. */
68067
- unit: z.string().optional(),
68068
- /** Suggested decimal places for numeric display.
68069
- * Populated live from the upstream source when provided (e.g. HA
68070
- * `attributes.suggested_display_precision`). Falls back to
68071
- * auto-formatting when absent. */
68072
- precision: z.number().int().min(0).max(10).optional()
68073
- });
68074
- var pressureSensorCapability = {
68075
- name: "pressure-sensor",
68076
- scope: "device",
68077
- deviceNative: true,
68078
- mode: "singleton",
68079
- deviceTypes: [DeviceType.Sensor],
68080
- methods: {},
68081
- status: {
68082
- schema: PressureSensorStatusSchema,
68083
- kind: "push"
68211
+ var DETECTOR_ACCURACY = {
68212
+ "yolov9m-320": {
68213
+ personPrecision: .979,
68214
+ personRecall: .649
68084
68215
  },
68085
- runtimeState: PressureSensorStatusSchema,
68086
- /**
68087
- * Runtime-state durability: **restored** — as `numeric-sensor`.
68088
- *
68089
- * See `RuntimeStateDurability`. Enforced by
68090
- * `scripts/check-runtime-state-durability.ts`.
68091
- */
68092
- durability: "restored",
68093
- /**
68094
- * History (D850): recorded series.
68095
- */
68096
- history: { fields: { hpa: {
68097
- kind: "gauge",
68098
- unit: "hPa",
68099
- deadband: .1
68100
- } } },
68101
- /** Clock fields: written, but excluded from the compare that decides
68102
- * whether persisting is worth a SQLite commit. */
68103
- volatileStateFields: ["lastFetchedAt"]
68216
+ "yolov9m-320-int8": {
68217
+ personPrecision: .974,
68218
+ personRecall: .684
68219
+ },
68220
+ "yolov9m-640": {
68221
+ personPrecision: .976,
68222
+ personRecall: .854
68223
+ },
68224
+ "yolov9m-640-int8": {
68225
+ personPrecision: .976,
68226
+ personRecall: .847
68227
+ },
68228
+ "yolov9s-320": {
68229
+ personPrecision: .958,
68230
+ personRecall: .479
68231
+ },
68232
+ "yolov9s-320-int8": {
68233
+ personPrecision: .969,
68234
+ personRecall: .438
68235
+ },
68236
+ "yolov9s-640": {
68237
+ personPrecision: .986,
68238
+ personRecall: .753
68239
+ },
68240
+ "yolov9s-640-int8": {
68241
+ personPrecision: .963,
68242
+ personRecall: .823
68243
+ },
68244
+ "yolov9t-320": {
68245
+ personPrecision: .946,
68246
+ personRecall: .368
68247
+ },
68248
+ "yolov9t-320-int8": {
68249
+ personPrecision: .943,
68250
+ personRecall: .347
68251
+ },
68252
+ "yolov9t-640": {
68253
+ personPrecision: .979,
68254
+ personRecall: .646
68255
+ },
68256
+ "yolov9t-640-int8": {
68257
+ personPrecision: .979,
68258
+ personRecall: .646
68259
+ }
68104
68260
  };
68105
68261
  //#endregion
68106
- //#region src/capabilities/privacy-mask.cap.ts
68107
- /**
68108
- * PRIVACY — what the camera deliberately does not capture. Two planes:
68109
- *
68110
- * - **video**: up to `maxRegions` SHAPES the camera blanks out (NOT a cell
68111
- * grid). Reolink `<shelterList>` zones are rectangles; Hikvision ISAPI
68112
- * `<RegionCoordinatesList>` zones are free polygons (this camera: exactly
68113
- * 4 vertices, not necessarily axis-aligned). The cap composes the shared
68114
- * rect|polygon subset of the MaskShape vocabulary. All coords are
68115
- * normalized 0..1 (top-left origin).
68116
- * - **audio**: the camera's microphone. `setAudioEnabled(false)` stops the
68117
- * camera encoding an audio track at all, so EVERY consumer — live view,
68118
- * recording, the audio analyzer, an export — sees silent video. There is
68119
- * no server-side copy of this fact; the camera is the store and every read
68120
- * is a read-through, which is why a switch over it cannot drift
68121
- * ([D62](../../../../docs/decisions/adr-0062.md)).
68122
- *
68123
- * Both belong here for one reason: they are the two things an operator turns
68124
- * off when the answer to "what is this camera allowed to record" changes, and
68125
- * both are applied ON the device, before anything leaves it.
68126
- *
68127
- * **The audio flag has exactly one writer.** `stream-params` used to carry a
68128
- * per-profile `audio` in its patch schema — reachable from no UI and honoured
68129
- * by one provider — and it was removed when this landed. A second writer onto
68130
- * one device register is the shape of every knob this repo has shipped that
68131
- * disagreed with the one the reader read.
68262
+ //#region src/pipeline/auto-tune/accelerator-compute.ts
68263
+ /**
68264
+ * Capacity of an accelerator we have not measured (D930).
68265
+ *
68266
+ * The latency table stays the measured columns. A device that reports compute
68267
+ * (OpenVINO GOPS, or execution units × clock, or compute units, or TOPS) is
68268
+ * estimated from the nearest measured column of the same accelerator kind,
68269
+ * scaled by the compute ratio and clamped. A node benchmark still replaces
68270
+ * the estimate. A device that reports neither compute nor a known class stays
68271
+ * `unknown`.
68272
+ *
68273
+ * A failed probe field is `null`, never `0` (D393): zero would be a compute
68274
+ * ratio of zero and would size the device as if it could not run.
68275
+ */
68276
+ /**
68277
+ * An unmeasured device is never estimated outside this band of its reference.
68278
+ *
68279
+ * Peak GOPS and detector latency do not move together: a 640 model is memory
68280
+ * bound, a 320 model less so, and the N100→N305 public EU×clock ratio is
68281
+ * about 2.2×. 2× is the widest that spread justifies without a measurement
68282
+ * on the device; 0.5× is the symmetric floor so a tiny iGPU is not told it
68283
+ * is many times slower than the weakest column we measured. A node benchmark
68284
+ * replaces the estimate and is not clamped.
68285
+ */
68286
+ var ESTIMATE_COMPUTE_RATIO_MIN = .5;
68287
+ var ESTIMATE_COMPUTE_RATIO_MAX = 2;
68288
+ /**
68289
+ * Within this of 1.0, a device whose class IS the reference is that measured
68290
+ * machine (a probe clock a few percent off the spec), not a different chip.
68291
+ * An unknown class is still estimated, so the plan says so.
68292
+ */
68293
+ var REFERENCE_MATCH_FRACTION = .05;
68294
+ /** N100 iGPU: 24 execution units, 750 MHz graphics max (Intel specification). */
68295
+ var N100_IGPU_EU = 24;
68296
+ var N100_IGPU_CLOCK_MHZ = 750;
68297
+ /**
68298
+ * Core Ultra 7 265K iGPU: 4 Xe-cores. OpenVINO's execution-unit count for
68299
+ * Xe-LP is 16 per Xe-core, and the graphics max dynamic frequency is 2000 MHz.
68300
+ * Used only to choose the nearest column for a chip that is not itself a
68301
+ * Core Ultra — that class is the measurement and is never scaled.
68302
+ */
68303
+ var CORE_ULTRA_265K_IGPU_EU = 64;
68304
+ var CORE_ULTRA_265K_IGPU_CLOCK_MHZ = 2e3;
68305
+ /** Phoenix / Hawk Point Radeon 780M: 12 compute units. */
68306
+ var PHOENIX_780M_CU = 12;
68307
+ var positiveOrNull = z.number().nullable().transform((value) => value !== null && Number.isFinite(value) && value > 0 ? value : null);
68308
+ var textOrNull = z.string().nullable().transform((value) => value !== null && value.trim() !== "" ? value : null);
68309
+ var PrecisionGopsSchema = z.object({
68310
+ int8: positiveOrNull,
68311
+ fp16: positiveOrNull
68312
+ });
68313
+ /** What one accelerator device reported. Every failed query is null. */
68314
+ var AcceleratorComputeSchema = z.object({
68315
+ deviceKey: z.string(),
68316
+ fullDeviceName: textOrNull,
68317
+ executionUnits: positiveOrNull,
68318
+ clockMHz: positiveOrNull,
68319
+ gops: PrecisionGopsSchema.nullable(),
68320
+ architecture: textOrNull,
68321
+ npuName: textOrNull,
68322
+ tops: positiveOrNull,
68323
+ vendor: textOrNull,
68324
+ webgpuArchitecture: textOrNull,
68325
+ webgpuDevice: textOrNull,
68326
+ computeUnits: positiveOrNull
68327
+ });
68328
+ var AcceleratorFactsPayloadSchema = z.object({ accelerators: z.array(AcceleratorComputeSchema).nullable() });
68329
+ /**
68330
+ * Compute of the machines the latency columns were measured on.
68331
+ * GOPS is preferred when a column carries it; none of these do yet — the
68332
+ * boxes were measured before the probe reported `DEVICE_GOPS` — so the scale
68333
+ * uses execution units × clock (Intel) or compute units (AMD) until a
68334
+ * re-measure locks a GOPS figure on the column.
68335
+ */
68336
+ var REFERENCE_COMPUTE = [
68337
+ {
68338
+ hardwareClass: "intel-n-series",
68339
+ accelerator: "intel-igpu",
68340
+ score: {
68341
+ metric: "eu-mhz",
68342
+ value: 24 * 750
68343
+ }
68344
+ },
68345
+ {
68346
+ hardwareClass: "intel-core-ultra",
68347
+ accelerator: "intel-igpu",
68348
+ score: {
68349
+ metric: "eu-mhz",
68350
+ value: 64 * CORE_ULTRA_265K_IGPU_CLOCK_MHZ
68351
+ }
68352
+ },
68353
+ {
68354
+ hardwareClass: "amd-phoenix",
68355
+ accelerator: "amd-igpu",
68356
+ score: {
68357
+ metric: "cu",
68358
+ value: 12
68359
+ }
68360
+ }
68361
+ ];
68362
+ /** Parse a probe payload. `null` means the probe failed — not "no accelerators". */
68363
+ function parseAcceleratorFactsJson(raw) {
68364
+ const parsed = AcceleratorFactsPayloadSchema.safeParse(raw);
68365
+ if (!parsed.success || parsed.data.accelerators === null) return null;
68366
+ return parsed.data.accelerators;
68367
+ }
68368
+ function positive$1(value) {
68369
+ return value !== null && value > 0 ? value : null;
68370
+ }
68371
+ /** Scores in the order the estimate prefers. A non-positive field is absent. */
68372
+ function computeScores(report) {
68373
+ const scores = [];
68374
+ const int8 = positive$1(report.gops?.int8 ?? null);
68375
+ if (int8 !== null) scores.push({
68376
+ metric: "gops-int8",
68377
+ value: int8
68378
+ });
68379
+ const fp16 = positive$1(report.gops?.fp16 ?? null);
68380
+ if (fp16 !== null) scores.push({
68381
+ metric: "gops-fp16",
68382
+ value: fp16
68383
+ });
68384
+ const units = positive$1(report.executionUnits);
68385
+ const clock = positive$1(report.clockMHz);
68386
+ if (units !== null && clock !== null) scores.push({
68387
+ metric: "eu-mhz",
68388
+ value: units * clock
68389
+ });
68390
+ const computeUnits = positive$1(report.computeUnits);
68391
+ if (computeUnits !== null) scores.push({
68392
+ metric: "cu",
68393
+ value: computeUnits
68394
+ });
68395
+ const tops = positive$1(report.tops);
68396
+ if (tops !== null) scores.push({
68397
+ metric: "tops",
68398
+ value: tops
68399
+ });
68400
+ return scores;
68401
+ }
68402
+ function nearestReference(kind, score, references) {
68403
+ const same = references.filter((ref) => ref.accelerator === kind && ref.score.metric === score.metric && ref.score.value > 0);
68404
+ const first = same[0];
68405
+ if (first === void 0) return null;
68406
+ return same.reduce((best, ref) => {
68407
+ return Math.abs(Math.log(score.value / ref.score.value)) < Math.abs(Math.log(score.value / best.score.value)) ? ref : best;
68408
+ }, first);
68409
+ }
68410
+ function scoreAgainstReferences(report, kind, references) {
68411
+ for (const score of computeScores(report)) if (nearestReference(kind, score, references) !== null) return score;
68412
+ return null;
68413
+ }
68414
+ /** True when this report can scale a measured column of `kind`. */
68415
+ function reportIsScalable(report, kind, references = REFERENCE_COMPUTE) {
68416
+ return scoreAgainstReferences(report, kind, references) !== null;
68417
+ }
68418
+ function classColumn(perf, hardwareClass, accelerator) {
68419
+ if (hardwareClass === "unknown") return void 0;
68420
+ return perf[hardwareClass]?.[accelerator];
68421
+ }
68422
+ function round1(value) {
68423
+ return Math.round(value * 10) / 10;
68424
+ }
68425
+ function clampRatio(ratio) {
68426
+ return Math.min(2, Math.max(ESTIMATE_COMPUTE_RATIO_MIN, ratio));
68427
+ }
68428
+ function scaleColumn(column, ratio, estimatedFrom) {
68429
+ const out = {};
68430
+ for (const [modelId, cell] of Object.entries(column)) out[modelId] = {
68431
+ p50Ms: round1(cell.p50Ms / ratio),
68432
+ fps: Math.max(1, Math.round(cell.fps * ratio)),
68433
+ measured: false,
68434
+ estimatedFrom
68435
+ };
68436
+ return out;
68437
+ }
68438
+ /**
68439
+ * The latency column for one device. A measured class other than the N-series
68440
+ * spread is returned unchanged — one class there is one measured machine.
68441
+ * `intel-n-series` is the N100 column; a different reported compute scales it.
68442
+ * An unknown class scales from the nearest reference of the same kind.
68132
68443
  */
68133
- /** A privacy-mask region's geometry — rectangle or free polygon. */
68134
- var PrivacyMaskShapeSchema = z.discriminatedUnion("kind", [MaskRectShapeSchema, MaskPolygonShapeSchema]);
68135
- /** A single privacy-mask zone. */
68136
- var PrivacyMaskRegionSchema = z.object({
68137
- /** Slot id, 0-based. Stable across read/write. */
68138
- id: z.number(),
68139
- /** Whether this zone is active (blanked out by the camera). */
68140
- enabled: z.boolean(),
68141
- shape: PrivacyMaskShapeSchema
68444
+ function resolveLatencyColumn(input) {
68445
+ const perf = input.perf ?? DETECTOR_PERF;
68446
+ const references = input.references ?? REFERENCE_COMPUTE;
68447
+ const measured = classColumn(perf, input.hardwareClass, input.accelerator);
68448
+ if (measured !== void 0 && input.hardwareClass !== "intel-n-series") return {
68449
+ column: measured,
68450
+ estimatedFrom: null
68451
+ };
68452
+ const score = input.report === null ? null : scoreAgainstReferences(input.report, input.accelerator, references);
68453
+ if (score === null) return measured === void 0 ? null : {
68454
+ column: measured,
68455
+ estimatedFrom: null
68456
+ };
68457
+ const nearest = nearestReference(input.accelerator, score, references);
68458
+ const base = nearest === null ? void 0 : classColumn(perf, nearest.hardwareClass, input.accelerator);
68459
+ if (nearest === null || base === void 0) return measured === void 0 ? null : {
68460
+ column: measured,
68461
+ estimatedFrom: null
68462
+ };
68463
+ const rawRatio = score.value / nearest.score.value;
68464
+ if (input.hardwareClass === nearest.hardwareClass && Math.abs(rawRatio - 1) <= .05) return {
68465
+ column: base,
68466
+ estimatedFrom: null
68467
+ };
68468
+ return {
68469
+ column: scaleColumn(base, clampRatio(rawRatio), nearest.hardwareClass),
68470
+ estimatedFrom: nearest.hardwareClass
68471
+ };
68472
+ }
68473
+ //#endregion
68474
+ //#region src/capabilities/platform-probe.cap.ts
68475
+ var ModelFormatSchema = z.enum(MODEL_FORMATS);
68476
+ var HwAccelBackendInputSchema = z.enum([
68477
+ "videotoolbox",
68478
+ "cuda",
68479
+ "nvdec",
68480
+ "vaapi",
68481
+ "qsv",
68482
+ "d3d11va",
68483
+ "dxva2",
68484
+ "amf",
68485
+ "vdpau",
68486
+ "drm",
68487
+ "coreml",
68488
+ "tensorrt",
68489
+ "openvino",
68490
+ "directml",
68491
+ "webgpu",
68492
+ "none"
68493
+ ]).nullable().optional();
68494
+ var HwAccelResolutionSchema = z.object({
68495
+ preferred: z.array(z.string()).readonly(),
68496
+ rationale: z.string()
68142
68497
  });
68143
- /** Current on-camera privacy state — mask master enable + zones + microphone. */
68144
- var PrivacyMaskStatusSchema = z.object({
68145
- enabled: z.boolean(),
68146
- /**
68147
- * Active zones (normalized 0..1). Length ≤ maxRegions.
68148
- *
68149
- * `null` means "no answer" — the provider has never reached this camera
68150
- * (a cold `runtimeState` slice, a battery camera asleep) or the read
68151
- * failed. A consumer must render it as UNKNOWN and never as "this camera
68152
- * has no zones": those two look identical to an operator right up to the
68153
- * moment one of them is acted on, and acting on them differs completely.
68154
- * The switch group turned an unanswered read into *"nothing is set up for
68155
- * it to act on"* — an instruction to go and draw a zone that already
68156
- * exists — and this editor seeded an EMPTY canvas from it, one Save away
68157
- * from deleting the mask it could not read.
68158
- *
68159
- * Empty-and-answered is `[]` and stays a real answer: this camera genuinely
68160
- * has no zones. The distinction is the same one {@link
68161
- * PrivacyMaskStatusSchema.shape.audioEnabled} already draws for the
68162
- * microphone, on the very same payload — both planes come from ONE refresh,
68163
- * so it was never coherent for one of them to be able to say "unknown"
68164
- * while the other could not.
68165
- */
68166
- regions: z.array(PrivacyMaskRegionSchema).nullable(),
68167
- /**
68168
- * Is the camera capturing sound right now? Read from the camera, never from
68169
- * a server-side mirror.
68170
- *
68171
- * `null` means "no answer" — either this camera exposes no controllable
68172
- * microphone (`getOptions().supportsAudioMute === false`) or the read
68173
- * failed. A consumer must render `null` as UNKNOWN and never as `false`:
68174
- * "the microphone is off" and "we could not ask" look identical to an
68175
- * operator only until one of them is wrong.
68176
- *
68177
- * On a camera whose profiles carry the flag independently (Reolink writes
68178
- * it per stream), `true` means AT LEAST ONE profile still carries audio —
68179
- * privacy is only satisfied when every one of them is silent.
68180
- */
68181
- audioEnabled: z.boolean().nullable(),
68182
- lastFetchedAt: z.number()
68498
+ var HardwareEncoderIdSchema = z.enum([
68499
+ "h264_videotoolbox",
68500
+ "hevc_videotoolbox",
68501
+ "h264_vaapi",
68502
+ "hevc_vaapi",
68503
+ "h264_nvenc",
68504
+ "hevc_nvenc",
68505
+ "h264_qsv",
68506
+ "hevc_qsv",
68507
+ "h264_amf",
68508
+ "hevc_amf",
68509
+ "libx264",
68510
+ "libx265"
68511
+ ]);
68512
+ var HardwareEncoderProbeSchema = z.object({
68513
+ encoder: HardwareEncoderIdSchema,
68514
+ codec: z.enum(["H264", "H265"]),
68515
+ family: z.enum([
68516
+ "videotoolbox",
68517
+ "vaapi",
68518
+ "nvenc",
68519
+ "qsv",
68520
+ "amf",
68521
+ "software"
68522
+ ]),
68523
+ available: z.boolean(),
68524
+ reason: z.string().optional()
68183
68525
  });
68184
- /** Per-camera availability. Probed, never assumed from the model name. */
68185
- var PrivacyMaskOptionsSchema = z.object({
68186
- /** Maximum number of supported zones. */
68187
- maxRegions: z.number(),
68188
- /** Shape kinds this camera accepts — Reolink: ['rect']; Hikvision: ['rect','polygon']. */
68189
- supportedShapes: z.array(MaskShapeKindSchema),
68190
- /** Polygon vertex bounds when 'polygon' is supported (Hikvision: {min:4,max:4}). */
68191
- polygonVertices: MaskPolygonVerticesSchema.optional(),
68526
+ z.object({
68527
+ encoders: z.array(HardwareEncoderProbeSchema).readonly(),
68528
+ defaultH264: HardwareEncoderIdSchema,
68529
+ defaultH265: HardwareEncoderIdSchema,
68530
+ probedAt: z.number()
68531
+ });
68532
+ z.object({
68533
+ methods: z.array(z.string()).readonly(),
68534
+ probedAt: z.number()
68535
+ });
68536
+ var HardwarePlatformSchema = z.enum([
68537
+ "darwin",
68538
+ "linux",
68539
+ "win32"
68540
+ ]);
68541
+ var HardwareArchSchema = z.enum(["arm64", "x64"]);
68542
+ var GpuInfoSchema = z.object({
68543
+ type: z.enum([
68544
+ "nvidia",
68545
+ "amd",
68546
+ "intel",
68547
+ "apple"
68548
+ ]),
68549
+ name: z.string(),
68550
+ memoryMB: z.number().optional()
68551
+ });
68552
+ var NpuInfoSchema = z.object({
68553
+ type: z.enum([
68554
+ "apple-ane",
68555
+ "intel-npu",
68556
+ "amd-xdna"
68557
+ ]),
68558
+ name: z.string().optional(),
68559
+ generation: z.enum(["xdna1", "xdna2"]).optional()
68560
+ });
68561
+ var CoralBusSchema = z.enum(["usb", "pci"]);
68562
+ var CoralInfoSchema = z.object({
68563
+ type: z.literal("coral-edgetpu"),
68564
+ /** Legacy single-bus report (older nodes) — read via `coralUsableUnits`. */
68565
+ bus: z.string().optional(),
68566
+ /** Legacy USB unit count (older nodes) — read via `coralUsableUnits`. */
68567
+ count: z.number().int().nonnegative().optional(),
68568
+ /** Usable units per bus — each one is its own `edgetpu:<bus>[:N]` device. */
68569
+ units: z.array(z.object({
68570
+ bus: CoralBusSchema,
68571
+ count: z.number().int().nonnegative()
68572
+ })).readonly().optional(),
68573
+ /** Present-but-unusable units, each with its typed reason (never "absent"). */
68574
+ unavailable: z.array(z.object({
68575
+ bus: CoralBusSchema,
68576
+ count: z.number().int().nonnegative(),
68577
+ reason: z.enum(["driver-missing", "device-not-accessible"])
68578
+ })).readonly().optional()
68579
+ });
68580
+ var HardwareInfoSchema = z.object({
68581
+ platform: HardwarePlatformSchema,
68582
+ arch: HardwareArchSchema,
68583
+ cpuModel: z.string(),
68584
+ cpuCores: z.number(),
68585
+ totalRAM_MB: z.number(),
68586
+ availableRAM_MB: z.number(),
68587
+ gpu: GpuInfoSchema.nullable(),
68588
+ npu: NpuInfoSchema.nullable(),
68589
+ coral: CoralInfoSchema.nullable().optional(),
68192
68590
  /**
68193
- * Does this camera expose a microphone switch we can actually write?
68194
- *
68195
- * Camera-probed: `true` only when the firmware answered with an audio flag
68196
- * we know how to patch. A camera that never answered is `false` — a control
68197
- * the operator can press that changes nothing is worse than no control, and
68198
- * the switch group renders "not available" instead.
68591
+ * Per-accelerator compute (D930). Omitted by a node that has not probed it.
68592
+ * `null` fields inside an entry are a failed query, never a zero.
68199
68593
  */
68200
- supportsAudioMute: z.boolean()
68594
+ accelerators: z.array(AcceleratorComputeSchema).readonly().optional()
68201
68595
  });
68202
- /** Partial change — every field optional. */
68203
- var PrivacyMaskPatchSchema = z.object({
68204
- enabled: z.boolean().optional(),
68205
- regions: z.array(PrivacyMaskRegionSchema).optional()
68596
+ var PlatformScoreSchema = z.object({
68597
+ runtime: z.literal("python"),
68598
+ backend: z.string(),
68599
+ format: z.enum([
68600
+ "onnx",
68601
+ "coreml",
68602
+ "openvino",
68603
+ "tflite"
68604
+ ]),
68605
+ score: z.number(),
68606
+ reason: z.string(),
68607
+ available: z.boolean()
68206
68608
  });
68207
- var privacyMaskCapability = {
68208
- name: "privacy-mask",
68209
- scope: "device",
68210
- deviceNative: true,
68609
+ var InferenceDeviceDescriptorSchema = z.object({
68610
+ key: z.string(),
68611
+ backend: z.string(),
68612
+ device: z.string(),
68613
+ format: ModelFormatSchema,
68614
+ runtime: z.literal("python"),
68615
+ score: z.number(),
68616
+ available: z.boolean()
68617
+ });
68618
+ var PlatformCapabilitiesSchema = z.object({
68619
+ hardware: HardwareInfoSchema,
68620
+ scores: z.array(PlatformScoreSchema).readonly(),
68621
+ bestScore: PlatformScoreSchema,
68622
+ pythonPath: z.string().nullable(),
68623
+ devices: z.array(InferenceDeviceDescriptorSchema).readonly()
68624
+ });
68625
+ var ModelRequirementSchema = z.object({
68626
+ modelId: z.string(),
68627
+ name: z.string(),
68628
+ minRAM_MB: z.number(),
68629
+ accuracyScore: z.number(),
68630
+ formats: z.array(z.string()).readonly()
68631
+ });
68632
+ var ResolvedInferenceConfigSchema = z.object({
68633
+ modelId: z.string(),
68634
+ runtime: z.literal("python"),
68635
+ backend: z.string(),
68636
+ format: ModelFormatSchema,
68637
+ reason: z.string()
68638
+ });
68639
+ /**
68640
+ * The answer of an accelerator rescan (D919): the node's device list after
68641
+ * the re-probe, what changed, and the evidence that decided the Coral answer
68642
+ * (`usbBus` — could the USB bus be read at all; `decidedBy` — USB ids, the PCI
68643
+ * bus, the installed-delegate fallback, or nothing).
68644
+ */
68645
+ var AcceleratorRescanSchema = z.object({
68646
+ devices: z.array(InferenceDeviceDescriptorSchema).readonly(),
68647
+ appeared: z.array(z.string()).readonly(),
68648
+ disappeared: z.array(z.string()).readonly(),
68649
+ usbBus: z.enum(["observed", "unobservable"]),
68650
+ decidedBy: z.enum([
68651
+ "usb-ids",
68652
+ "pci",
68653
+ "delegate-fallback",
68654
+ "none"
68655
+ ])
68656
+ });
68657
+ var platformProbeCapability = {
68658
+ name: "platform-probe",
68659
+ scope: "system",
68211
68660
  mode: "singleton",
68212
- deviceTypes: [DeviceType.Camera],
68213
- deviceConfig: { ui: {
68214
- kind: "widget",
68215
- widgetId: "host/privacy-mask-grid",
68216
- tab: "image",
68217
- label: "Privacy Mask"
68218
- } },
68219
68661
  methods: {
68220
- getOptions: method(z.object({ deviceId: z.number() }), PrivacyMaskOptionsSchema),
68221
- setMask: method(z.object({
68222
- deviceId: z.number(),
68223
- patch: PrivacyMaskPatchSchema
68224
- }), z.void(), {
68225
- kind: "mutation",
68226
- auth: "admin"
68227
- }),
68662
+ getCapabilities: method(z.void(), PlatformCapabilitiesSchema),
68663
+ getHardware: method(z.void(), HardwareInfoSchema),
68664
+ resolveInferenceConfig: method(z.object({ requirements: z.array(ModelRequirementSchema).readonly() }), ResolvedInferenceConfigSchema),
68665
+ resolveHwAccel: method(z.object({ prefer: HwAccelBackendInputSchema }), HwAccelResolutionSchema),
68228
68666
  /**
68229
- * Turn the camera's microphone on or off, at the camera.
68230
- *
68231
- * Deliberately its OWN mutation rather than a field on
68232
- * {@link PrivacyMaskPatchSchema}: `patch.enabled` already means "the video
68233
- * mask master switch", and overloading it would make one boolean mean two
68234
- * unrelated things on the same call. It is also the only method here whose
68235
- * write leaves the device in a state a later `getStatus` reads back
68236
- * verbatim, which is what makes it safe as a switch authority.
68237
- *
68238
- * A camera whose `getOptions().supportsAudioMute` is false must REJECT
68239
- * this rather than silently accept it — a write nothing applies is exactly
68240
- * what the switch group exists to remove.
68667
+ * Re-probe this node's accelerators NOW (Coral USB ids + PCIe apex units;
68668
+ * `/sys` and `/dev` reads, no model load) and rebuild the device list that
68669
+ * `getCapabilities` serves. The same re-probe runs every 60 s on its own;
68670
+ * this is the operator's "rescan inference devices". Target a node with the
68671
+ * `{ nodeId }` routing input, like `getCapabilities`.
68241
68672
  */
68242
- setAudioEnabled: method(z.object({
68243
- deviceId: z.number(),
68244
- enabled: z.boolean()
68245
- }), z.void(), {
68673
+ rescanAccelerators: method(z.void(), AcceleratorRescanSchema, {
68246
68674
  kind: "mutation",
68247
68675
  auth: "admin"
68248
68676
  })
68249
- },
68677
+ }
68678
+ };
68679
+ //#endregion
68680
+ //#region src/capabilities/power-meter.cap.ts
68681
+ /**
68682
+ * Multi-metric electrical meter. One slice can carry any combination
68683
+ * of instantaneous power (W), cumulative energy (kWh), voltage (V),
68684
+ * and current (A) — all fields optional so a single-metric source
68685
+ * (HA `sensor` with `device_class: power`) populates only what it
68686
+ * has and aggregators (energy dashboards, billing exports) compose
68687
+ * across providers without needing one cap per metric.
68688
+ *
68689
+ * Trade-off acknowledged: a HomeKit export that wants to surface
68690
+ * "power" and "energy" as separate services has to crack open the
68691
+ * slice and emit two characteristics from one cap. Worth it to avoid
68692
+ * exploding the cap catalog with `power-w` / `energy-kwh` /
68693
+ * `voltage-v` / `current-a` quartets that always travel together
68694
+ * in real-world devices.
68695
+ */
68696
+ var PowerMeterStatusSchema = z.object({
68697
+ /** Instantaneous power draw in watts. */
68698
+ watts: z.number().optional(),
68699
+ /** Cumulative energy in kilowatt-hours since the meter was reset. */
68700
+ kwhTotal: z.number().optional(),
68701
+ /** Voltage in volts. */
68702
+ volts: z.number().optional(),
68703
+ /** Current in amperes. */
68704
+ amps: z.number().optional(),
68705
+ /** Apparent power in volt-amperes (W × power-factor reciprocal). */
68706
+ va: z.number().optional(),
68707
+ /** Power factor (0..1) if reported. */
68708
+ powerFactor: z.number().min(0).max(1).optional(),
68709
+ /** Ms epoch when the slice was last updated. */
68710
+ lastFetchedAt: z.number(),
68711
+ /** Live display unit of the single metric this slice carries (e.g. HA
68712
+ * `attributes.unit_of_measurement` → 'V' / 'A' / 'W' / 'kW' / 'kWh').
68713
+ * Each upstream `sensor.*` entity surfaces ONE device_class, so one
68714
+ * unit per slice is unambiguous. The UI prefers this over the role's
68715
+ * canonical unit so a 'kW' / 'Wh' feed renders verbatim. */
68716
+ unit: z.string().optional(),
68717
+ /** Suggested decimal places for numeric display.
68718
+ * Populated live from the upstream source when provided (e.g. HA
68719
+ * `attributes.suggested_display_precision`). Falls back to
68720
+ * auto-formatting when absent. */
68721
+ precision: z.number().int().min(0).max(10).optional()
68722
+ });
68723
+ var powerMeterCapability = {
68724
+ name: "power-meter",
68725
+ scope: "device",
68726
+ deviceNative: true,
68727
+ mode: "singleton",
68728
+ deviceTypes: [DeviceType.Sensor],
68729
+ methods: {},
68250
68730
  status: {
68251
- schema: PrivacyMaskStatusSchema,
68252
- kind: "poll"
68731
+ schema: PowerMeterStatusSchema,
68732
+ kind: "push"
68253
68733
  },
68254
- runtimeState: PrivacyMaskStatusSchema,
68734
+ runtimeState: PowerMeterStatusSchema,
68255
68735
  /**
68256
- * Runtime-state durability: **restored** — operator-drawn regions, zero real churn — 22 writes in 25 minutes, every one of them the clock.
68736
+ * Runtime-state durability: **restored** — as `numeric-sensor`; `kwhTotal` is an accumulator whose restored value is the baseline.
68257
68737
  *
68258
68738
  * See `RuntimeStateDurability`. Enforced by
68259
68739
  * `scripts/check-runtime-state-durability.ts`.
68260
68740
  */
68261
68741
  durability: "restored",
68262
68742
  /**
68263
- * History (D850): none — configuration.
68743
+ * History (D850): recorded series. Gauges are floored at 30 s; `kwhTotal` is the one monotonic meter (counter).
68264
68744
  */
68265
- history: "none",
68745
+ history: { fields: {
68746
+ watts: {
68747
+ kind: "gauge",
68748
+ unit: "W",
68749
+ deadband: 1,
68750
+ minIntervalMs: 3e4
68751
+ },
68752
+ kwhTotal: {
68753
+ kind: "counter",
68754
+ unit: "kWh",
68755
+ deadband: .01,
68756
+ minIntervalMs: 6e4
68757
+ },
68758
+ volts: {
68759
+ kind: "gauge",
68760
+ unit: "V",
68761
+ deadband: 1,
68762
+ minIntervalMs: 3e4
68763
+ },
68764
+ amps: {
68765
+ kind: "gauge",
68766
+ unit: "A",
68767
+ deadband: .05,
68768
+ minIntervalMs: 3e4
68769
+ },
68770
+ va: {
68771
+ kind: "gauge",
68772
+ unit: "VA",
68773
+ deadband: 1,
68774
+ minIntervalMs: 3e4
68775
+ },
68776
+ powerFactor: {
68777
+ kind: "gauge",
68778
+ unit: "ratio",
68779
+ deadband: .01,
68780
+ minIntervalMs: 6e4
68781
+ }
68782
+ } },
68266
68783
  /** Clock fields: written, but excluded from the compare that decides
68267
68784
  * whether persisting is worth a SQLite commit. */
68268
68785
  volatileStateFields: ["lastFetchedAt"]
68269
68786
  };
68270
- /**
68271
- * Collapse a camera's PER-PROFILE audio flags into the one answer
68272
- * {@link PrivacyMaskStatusSchema.shape.audioEnabled} promises.
68273
- *
68274
- * Both firmwares this cap talks to store the flag per stream profile, and
68275
- * both let those profiles disagree. The rule is `some`, not `every`: privacy
68276
- * is only satisfied when NOTHING is carrying sound, so a camera whose sub
68277
- * stream is still audible must read as `true` and be switchable off — not as
68278
- * `false` because the main stream happens to be muted already.
68279
- *
68280
- * An empty list is `null` ("this camera reported no audio flag at all"),
68281
- * never `false`.
68282
- *
68283
- * Lives here rather than in each provider so the rule the schema documents
68284
- * and the rule the providers apply cannot drift apart.
68285
- */
68286
- function summarisePrivacyAudio(profiles) {
68287
- if (profiles.length === 0) return null;
68288
- return profiles.some((p) => p.audioEnabled);
68289
- }
68290
68787
  //#endregion
68291
- //#region src/capabilities/ptz.cap.ts
68788
+ //#region src/capabilities/presence.cap.ts
68292
68789
  /**
68293
- * What a preset id DOES on this camera.
68294
- *
68295
- * On several PTZ firmwares the preset namespace is shared: low ids are stored
68296
- * positions, a reserved band triggers camera FUNCTIONS. The dispensa camera
68297
- * (Hikvision) returns its own reserved band in the preset list, named by the
68298
- * firmware:
68299
- *
68300
- * 34 Back to origin · 39 Day mode · 40 Night mode · 46 Day/Night Auto Mode
68301
- * 92 Set manual limits · 93 Save manual limits · 94 Remote reboot
68302
- * 95 Call OSD menu
68790
+ * Presence cap. Models HA `person.*` and `device_tracker.*` entities
68791
+ * on `DeviceType.Presence`. Read-only — no setters: presence is
68792
+ * derived from upstream signals (mobile-app location, router DHCP
68793
+ * lease, Bluetooth beacon, manual zone change) and pushed into the
68794
+ * slice.
68303
68795
  *
68304
- * We used to hand all of these to the UI as ordinary presets. Saving over one
68305
- * is what produced `PUT /ISAPI/PTZCtrl/channels/1/presets/34 -> HTTP 500`: the
68306
- * camera refusing to let "Back to origin" be overwritten, surfaced to the
68307
- * operator as a transport failure.
68796
+ * `state` follows HA's canonical values — `home` / `not_home` /
68797
+ * `<zone-name>` for any other named zone. The zone name is freeform
68798
+ * because users define arbitrary zones (`work`, `gym`, `school`).
68308
68799
  *
68309
- * A function preset stays fully usable as a DESTINATION -- `goToPreset('34')`
68310
- * is the single most useful thing that camera can do. Only `savePreset` and
68311
- * `deletePreset` are gated.
68800
+ * GPS coordinates are nullable — tracker types without location
68801
+ * (Bluetooth scanner, MQTT presence) omit them. The presence of
68802
+ * GPS data is signaled by `DeviceFeature.PresenceGps` for fast
68803
+ * UI map-pin rendering.
68312
68804
  */
68313
- var PtzPresetFunctionSchema = z.enum([
68314
- "home",
68315
- "day-mode",
68316
- "night-mode",
68317
- "day-night-auto",
68318
- "set-limits",
68319
- "save-limits",
68320
- "reboot",
68321
- "osd-menu"
68322
- ]);
68323
- var PtzPresetSchema = z.object({
68324
- id: z.string(),
68325
- name: z.string(),
68326
- /**
68327
- * The firmware function this id performs, when the provider KNOWS the id is
68328
- * reserved. `null` = an ordinary stored position, OR a reserved id this
68329
- * provider does not recognise -- the two are told apart by `writable`.
68330
- */
68331
- fn: PtzPresetFunctionSchema.nullable(),
68332
- /**
68333
- * Whether `savePreset` / `deletePreset` may target this id. A provider sets
68334
- * it false only for a band it KNOWS is reserved; where the firmware is not
68335
- * documented it stays true and a refusal comes from the camera, named.
68336
- */
68337
- writable: z.boolean()
68338
- });
68805
+ var GpsLocationSchema = z.object({
68806
+ /** Latitude in decimal degrees, -90..90. */
68807
+ latitude: z.number().min(-90).max(90),
68808
+ /** Longitude in decimal degrees, -180..180. */
68809
+ longitude: z.number().min(-180).max(180),
68810
+ /** Reported accuracy in meters (lower = better). */
68811
+ accuracyMeters: z.number().nonnegative()
68812
+ });
68813
+ var PresenceStatusSchema = z.object({
68814
+ /** `home` / `not_home` / any user-defined zone name. */
68815
+ state: z.string(),
68816
+ /** Optional textual location label (zone name, city, address). Null
68817
+ * when only the binary state is known. */
68818
+ location: z.string().nullable(),
68819
+ /** GPS coordinates when available. Null otherwise. */
68820
+ gps: GpsLocationSchema.nullable(),
68821
+ /** Optional battery level of the tracking device (0..100). Null
68822
+ * when not reported. */
68823
+ batteryPercent: z.number().min(0).max(100).nullable(),
68824
+ /** Ms epoch when the slice was last updated. */
68825
+ lastChangedAt: z.number()
68826
+ });
68827
+ var presenceCapability = {
68828
+ name: "presence",
68829
+ scope: "device",
68830
+ deviceNative: true,
68831
+ mode: "singleton",
68832
+ deviceTypes: [DeviceType.Presence],
68833
+ methods: {},
68834
+ status: {
68835
+ schema: PresenceStatusSchema,
68836
+ kind: "push"
68837
+ },
68838
+ /**
68839
+ * Runtime-state slice — mirrored by the kernel. UI presence card
68840
+ * reads `state` + `location` for the text label; iff `gps !== null`
68841
+ * the map pin is rendered (use `DeviceFeature.PresenceGps` for the
68842
+ * pre-fetch fast-path check).
68843
+ */
68844
+ runtimeState: PresenceStatusSchema,
68845
+ /**
68846
+ * Runtime-state durability: **restored** — occupancy-relevant: the restored state is what an occupancy rule compares the first post-restart observation against.
68847
+ *
68848
+ * See `RuntimeStateDurability`. Enforced by
68849
+ * `scripts/check-runtime-state-durability.ts`.
68850
+ */
68851
+ durability: "restored",
68852
+ /**
68853
+ * History (D850): recorded series.
68854
+ */
68855
+ history: { fields: { batteryPercent: {
68856
+ kind: "gauge",
68857
+ unit: "%",
68858
+ deadband: 1
68859
+ } } },
68860
+ /** Clock fields: written, but excluded from the compare that decides
68861
+ * whether persisting is worth a SQLite commit. */
68862
+ volatileStateFields: ["lastChangedAt"]
68863
+ };
68864
+ //#endregion
68865
+ //#region src/capabilities/pressure-sensor.cap.ts
68866
+ /**
68867
+ * Atmospheric pressure reading in hectopascals. Drives Home Assistant
68868
+ * `sensor` entries with `device_class: pressure`.
68869
+ *
68870
+ * Unit normalisation: hPa. The canonical display unit (`hPa`) is a
68871
+ * descriptor constant in the UI (ROLE_DESCRIPTOR), not stored in
68872
+ * `sourceInfo`.
68873
+ */
68874
+ var PressureSensorStatusSchema = z.object({
68875
+ /** Current pressure in hPa. */
68876
+ hpa: z.number(),
68877
+ /** Ms epoch when the slice was last updated. */
68878
+ lastFetchedAt: z.number(),
68879
+ /** Live display unit from the upstream source (e.g. HA
68880
+ * `attributes.unit_of_measurement`). The UI prefers this over the
68881
+ * role's canonical unit. Absent → fall back to the canonical unit. */
68882
+ unit: z.string().optional(),
68883
+ /** Suggested decimal places for numeric display.
68884
+ * Populated live from the upstream source when provided (e.g. HA
68885
+ * `attributes.suggested_display_precision`). Falls back to
68886
+ * auto-formatting when absent. */
68887
+ precision: z.number().int().min(0).max(10).optional()
68888
+ });
68889
+ var pressureSensorCapability = {
68890
+ name: "pressure-sensor",
68891
+ scope: "device",
68892
+ deviceNative: true,
68893
+ mode: "singleton",
68894
+ deviceTypes: [DeviceType.Sensor],
68895
+ methods: {},
68896
+ status: {
68897
+ schema: PressureSensorStatusSchema,
68898
+ kind: "push"
68899
+ },
68900
+ runtimeState: PressureSensorStatusSchema,
68901
+ /**
68902
+ * Runtime-state durability: **restored** — as `numeric-sensor`.
68903
+ *
68904
+ * See `RuntimeStateDurability`. Enforced by
68905
+ * `scripts/check-runtime-state-durability.ts`.
68906
+ */
68907
+ durability: "restored",
68908
+ /**
68909
+ * History (D850): recorded series.
68910
+ */
68911
+ history: { fields: { hpa: {
68912
+ kind: "gauge",
68913
+ unit: "hPa",
68914
+ deadband: .1
68915
+ } } },
68916
+ /** Clock fields: written, but excluded from the compare that decides
68917
+ * whether persisting is worth a SQLite commit. */
68918
+ volatileStateFields: ["lastFetchedAt"]
68919
+ };
68920
+ //#endregion
68921
+ //#region src/capabilities/privacy-mask.cap.ts
68922
+ /**
68923
+ * PRIVACY — what the camera deliberately does not capture. Two planes:
68924
+ *
68925
+ * - **video**: up to `maxRegions` SHAPES the camera blanks out (NOT a cell
68926
+ * grid). Reolink `<shelterList>` zones are rectangles; Hikvision ISAPI
68927
+ * `<RegionCoordinatesList>` zones are free polygons (this camera: exactly
68928
+ * 4 vertices, not necessarily axis-aligned). The cap composes the shared
68929
+ * rect|polygon subset of the MaskShape vocabulary. All coords are
68930
+ * normalized 0..1 (top-left origin).
68931
+ * - **audio**: the camera's microphone. `setAudioEnabled(false)` stops the
68932
+ * camera encoding an audio track at all, so EVERY consumer — live view,
68933
+ * recording, the audio analyzer, an export — sees silent video. There is
68934
+ * no server-side copy of this fact; the camera is the store and every read
68935
+ * is a read-through, which is why a switch over it cannot drift
68936
+ * ([D62](../../../../docs/decisions/adr-0062.md)).
68937
+ *
68938
+ * Both belong here for one reason: they are the two things an operator turns
68939
+ * off when the answer to "what is this camera allowed to record" changes, and
68940
+ * both are applied ON the device, before anything leaves it.
68941
+ *
68942
+ * **The audio flag has exactly one writer.** `stream-params` used to carry a
68943
+ * per-profile `audio` in its patch schema — reachable from no UI and honoured
68944
+ * by one provider — and it was removed when this landed. A second writer onto
68945
+ * one device register is the shape of every knob this repo has shipped that
68946
+ * disagreed with the one the reader read.
68947
+ */
68948
+ /** A privacy-mask region's geometry — rectangle or free polygon. */
68949
+ var PrivacyMaskShapeSchema = z.discriminatedUnion("kind", [MaskRectShapeSchema, MaskPolygonShapeSchema]);
68950
+ /** A single privacy-mask zone. */
68951
+ var PrivacyMaskRegionSchema = z.object({
68952
+ /** Slot id, 0-based. Stable across read/write. */
68953
+ id: z.number(),
68954
+ /** Whether this zone is active (blanked out by the camera). */
68955
+ enabled: z.boolean(),
68956
+ shape: PrivacyMaskShapeSchema
68957
+ });
68958
+ /** Current on-camera privacy state — mask master enable + zones + microphone. */
68959
+ var PrivacyMaskStatusSchema = z.object({
68960
+ enabled: z.boolean(),
68961
+ /**
68962
+ * Active zones (normalized 0..1). Length ≤ maxRegions.
68963
+ *
68964
+ * `null` means "no answer" — the provider has never reached this camera
68965
+ * (a cold `runtimeState` slice, a battery camera asleep) or the read
68966
+ * failed. A consumer must render it as UNKNOWN and never as "this camera
68967
+ * has no zones": those two look identical to an operator right up to the
68968
+ * moment one of them is acted on, and acting on them differs completely.
68969
+ * The switch group turned an unanswered read into *"nothing is set up for
68970
+ * it to act on"* — an instruction to go and draw a zone that already
68971
+ * exists — and this editor seeded an EMPTY canvas from it, one Save away
68972
+ * from deleting the mask it could not read.
68973
+ *
68974
+ * Empty-and-answered is `[]` and stays a real answer: this camera genuinely
68975
+ * has no zones. The distinction is the same one {@link
68976
+ * PrivacyMaskStatusSchema.shape.audioEnabled} already draws for the
68977
+ * microphone, on the very same payload — both planes come from ONE refresh,
68978
+ * so it was never coherent for one of them to be able to say "unknown"
68979
+ * while the other could not.
68980
+ */
68981
+ regions: z.array(PrivacyMaskRegionSchema).nullable(),
68982
+ /**
68983
+ * Is the camera capturing sound right now? Read from the camera, never from
68984
+ * a server-side mirror.
68985
+ *
68986
+ * `null` means "no answer" — either this camera exposes no controllable
68987
+ * microphone (`getOptions().supportsAudioMute === false`) or the read
68988
+ * failed. A consumer must render `null` as UNKNOWN and never as `false`:
68989
+ * "the microphone is off" and "we could not ask" look identical to an
68990
+ * operator only until one of them is wrong.
68991
+ *
68992
+ * On a camera whose profiles carry the flag independently (Reolink writes
68993
+ * it per stream), `true` means AT LEAST ONE profile still carries audio —
68994
+ * privacy is only satisfied when every one of them is silent.
68995
+ */
68996
+ audioEnabled: z.boolean().nullable(),
68997
+ lastFetchedAt: z.number()
68998
+ });
68999
+ /** Per-camera availability. Probed, never assumed from the model name. */
69000
+ var PrivacyMaskOptionsSchema = z.object({
69001
+ /** Maximum number of supported zones. */
69002
+ maxRegions: z.number(),
69003
+ /** Shape kinds this camera accepts — Reolink: ['rect']; Hikvision: ['rect','polygon']. */
69004
+ supportedShapes: z.array(MaskShapeKindSchema),
69005
+ /** Polygon vertex bounds when 'polygon' is supported (Hikvision: {min:4,max:4}). */
69006
+ polygonVertices: MaskPolygonVerticesSchema.optional(),
69007
+ /**
69008
+ * Does this camera expose a microphone switch we can actually write?
69009
+ *
69010
+ * Camera-probed: `true` only when the firmware answered with an audio flag
69011
+ * we know how to patch. A camera that never answered is `false` — a control
69012
+ * the operator can press that changes nothing is worse than no control, and
69013
+ * the switch group renders "not available" instead.
69014
+ */
69015
+ supportsAudioMute: z.boolean()
69016
+ });
69017
+ /** Partial change — every field optional. */
69018
+ var PrivacyMaskPatchSchema = z.object({
69019
+ enabled: z.boolean().optional(),
69020
+ regions: z.array(PrivacyMaskRegionSchema).optional()
69021
+ });
69022
+ var privacyMaskCapability = {
69023
+ name: "privacy-mask",
69024
+ scope: "device",
69025
+ deviceNative: true,
69026
+ mode: "singleton",
69027
+ deviceTypes: [DeviceType.Camera],
69028
+ deviceConfig: { ui: {
69029
+ kind: "widget",
69030
+ widgetId: "host/privacy-mask-grid",
69031
+ tab: "image",
69032
+ label: "Privacy Mask"
69033
+ } },
69034
+ methods: {
69035
+ getOptions: method(z.object({ deviceId: z.number() }), PrivacyMaskOptionsSchema),
69036
+ setMask: method(z.object({
69037
+ deviceId: z.number(),
69038
+ patch: PrivacyMaskPatchSchema
69039
+ }), z.void(), {
69040
+ kind: "mutation",
69041
+ auth: "admin"
69042
+ }),
69043
+ /**
69044
+ * Turn the camera's microphone on or off, at the camera.
69045
+ *
69046
+ * Deliberately its OWN mutation rather than a field on
69047
+ * {@link PrivacyMaskPatchSchema}: `patch.enabled` already means "the video
69048
+ * mask master switch", and overloading it would make one boolean mean two
69049
+ * unrelated things on the same call. It is also the only method here whose
69050
+ * write leaves the device in a state a later `getStatus` reads back
69051
+ * verbatim, which is what makes it safe as a switch authority.
69052
+ *
69053
+ * A camera whose `getOptions().supportsAudioMute` is false must REJECT
69054
+ * this rather than silently accept it — a write nothing applies is exactly
69055
+ * what the switch group exists to remove.
69056
+ */
69057
+ setAudioEnabled: method(z.object({
69058
+ deviceId: z.number(),
69059
+ enabled: z.boolean()
69060
+ }), z.void(), {
69061
+ kind: "mutation",
69062
+ auth: "admin"
69063
+ })
69064
+ },
69065
+ status: {
69066
+ schema: PrivacyMaskStatusSchema,
69067
+ kind: "poll"
69068
+ },
69069
+ runtimeState: PrivacyMaskStatusSchema,
69070
+ /**
69071
+ * Runtime-state durability: **restored** — operator-drawn regions, zero real churn — 22 writes in 25 minutes, every one of them the clock.
69072
+ *
69073
+ * See `RuntimeStateDurability`. Enforced by
69074
+ * `scripts/check-runtime-state-durability.ts`.
69075
+ */
69076
+ durability: "restored",
69077
+ /**
69078
+ * History (D850): none — configuration.
69079
+ */
69080
+ history: "none",
69081
+ /** Clock fields: written, but excluded from the compare that decides
69082
+ * whether persisting is worth a SQLite commit. */
69083
+ volatileStateFields: ["lastFetchedAt"]
69084
+ };
69085
+ /**
69086
+ * Collapse a camera's PER-PROFILE audio flags into the one answer
69087
+ * {@link PrivacyMaskStatusSchema.shape.audioEnabled} promises.
69088
+ *
69089
+ * Both firmwares this cap talks to store the flag per stream profile, and
69090
+ * both let those profiles disagree. The rule is `some`, not `every`: privacy
69091
+ * is only satisfied when NOTHING is carrying sound, so a camera whose sub
69092
+ * stream is still audible must read as `true` and be switchable off — not as
69093
+ * `false` because the main stream happens to be muted already.
69094
+ *
69095
+ * An empty list is `null` ("this camera reported no audio flag at all"),
69096
+ * never `false`.
69097
+ *
69098
+ * Lives here rather than in each provider so the rule the schema documents
69099
+ * and the rule the providers apply cannot drift apart.
69100
+ */
69101
+ function summarisePrivacyAudio(profiles) {
69102
+ if (profiles.length === 0) return null;
69103
+ return profiles.some((p) => p.audioEnabled);
69104
+ }
69105
+ //#endregion
69106
+ //#region src/capabilities/ptz.cap.ts
69107
+ /**
69108
+ * What a preset id DOES on this camera.
69109
+ *
69110
+ * On several PTZ firmwares the preset namespace is shared: low ids are stored
69111
+ * positions, a reserved band triggers camera FUNCTIONS. The dispensa camera
69112
+ * (Hikvision) returns its own reserved band in the preset list, named by the
69113
+ * firmware:
69114
+ *
69115
+ * 34 Back to origin · 39 Day mode · 40 Night mode · 46 Day/Night Auto Mode
69116
+ * 92 Set manual limits · 93 Save manual limits · 94 Remote reboot
69117
+ * 95 Call OSD menu
69118
+ *
69119
+ * We used to hand all of these to the UI as ordinary presets. Saving over one
69120
+ * is what produced `PUT /ISAPI/PTZCtrl/channels/1/presets/34 -> HTTP 500`: the
69121
+ * camera refusing to let "Back to origin" be overwritten, surfaced to the
69122
+ * operator as a transport failure.
69123
+ *
69124
+ * A function preset stays fully usable as a DESTINATION -- `goToPreset('34')`
69125
+ * is the single most useful thing that camera can do. Only `savePreset` and
69126
+ * `deletePreset` are gated.
69127
+ */
69128
+ var PtzPresetFunctionSchema = z.enum([
69129
+ "home",
69130
+ "day-mode",
69131
+ "night-mode",
69132
+ "day-night-auto",
69133
+ "set-limits",
69134
+ "save-limits",
69135
+ "reboot",
69136
+ "osd-menu"
69137
+ ]);
69138
+ var PtzPresetSchema = z.object({
69139
+ id: z.string(),
69140
+ name: z.string(),
69141
+ /**
69142
+ * The firmware function this id performs, when the provider KNOWS the id is
69143
+ * reserved. `null` = an ordinary stored position, OR a reserved id this
69144
+ * provider does not recognise -- the two are told apart by `writable`.
69145
+ */
69146
+ fn: PtzPresetFunctionSchema.nullable(),
69147
+ /**
69148
+ * Whether `savePreset` / `deletePreset` may target this id. A provider sets
69149
+ * it false only for a band it KNOWS is reserved; where the firmware is not
69150
+ * documented it stays true and a refusal comes from the camera, named.
69151
+ */
69152
+ writable: z.boolean()
69153
+ });
68339
69154
  /**
68340
69155
  * Where the head is pointing -- per axis, and `null` when the driver cannot
68341
69156
  * read it.
@@ -71685,7 +72500,20 @@ var ZoneRuleSchema = z.object({
71685
72500
  * Defaults to `true` so operators creating a rule via the UI
71686
72501
  * see it active immediately.
71687
72502
  */
71688
- enabled: z.boolean().default(true)
72503
+ enabled: z.boolean().default(true),
72504
+ /**
72505
+ * Package stage only. When true, a package candidate may open from a
72506
+ * scene difference in this rule's zone after a person leaves. The
72507
+ * package model, when it boxes something overlapping, is extra evidence
72508
+ * and is not the gate. Absent or false keeps today's model path.
72509
+ */
72510
+ detectBySceneDifference: z.boolean().optional(),
72511
+ /**
72512
+ * Package stage only. When true, a promoted package is shown to the
72513
+ * `llm` cap before the delivery event is emitted. Absent or false emits
72514
+ * as today. Usable with or without `detectBySceneDifference`.
72515
+ */
72516
+ confirmWithLlm: z.boolean().optional()
71689
72517
  });
71690
72518
  /**
71691
72519
  * Convenience array schema — used by addon device-settings
@@ -105602,898 +106430,341 @@ function stepModelRunsOnFormat(models, modelId, format) {
105602
106430
  const named = models.find((m) => m.id === modelId);
105603
106431
  if (named !== void 0 && hasBuild(named, format)) return true;
105604
106432
  }
105605
- return models.some((m) => m.legacy !== true && hasBuild(m, format));
105606
- }
105607
- //#endregion
105608
- //#region src/pipeline/removed-model-ids.ts
105609
- /**
105610
- * Model ids DELETED from a step's catalog (D703, D710, D719), per step — and
105611
- * the one question asked of them: is a stored pin to this id a pin to a model
105612
- * that no longer exists? (D725)
105613
- *
105614
- * This is NOT a resolver input. `resolveModelForFormat` still returns an
105615
- * unknown id unchanged (a custom model), and a bulk pass pinned to one still
105616
- * refuses rather than substitutes (D54). The ONE reader is the orchestrator's
105617
- * stored-pin reset (`removed-model-pin-reset.ts`), which clears such a pin from
105618
- * the store so the step follows its default again — unless a registered custom
105619
- * model carries the same id.
105620
- *
105621
- * `removed-model-ids.spec.ts` (addon-pipeline) pins that every id here is
105622
- * really absent from its step's catalog. A model deleted from a catalog is
105623
- * added here in the same change, or its stored pins stay behind as custom ids.
105624
- */
105625
- /** `stepId → ids deleted from that step's catalog`. */
105626
- var REMOVED_MODEL_IDS = {
105627
- "object-detection": ["efficientdet-lite0-edgetpu", "ssdlite-mobiledet-coco-edgetpu"],
105628
- "face-detection": [
105629
- "scrypted-yolov9t-face",
105630
- "scrfd-2.5g",
105631
- "ssd-mobilenet-v2-face-edgetpu"
105632
- ],
105633
- "face-embedding": ["arcface-r100", "inception-resnet-v1"],
105634
- "plate-detection": ["yolov8n-plate"],
105635
- "plate-ocr": ["vgg-english-g2"],
105636
- "clip-embedding": [
105637
- "mobileclip-s0",
105638
- "mobileclip-s1",
105639
- "mobileclip-s2"
105640
- ],
105641
- "package-detection": ["yolov8n-package"],
105642
- "bird-classifier": ["bird-classifier-aiy-edgetpu", "bird-nabirds-404"],
105643
- "animal-classifier": ["animals-10"],
105644
- "vehicle-classifier": ["vehicle-type-efficientnet"]
105645
- };
105646
- /** True when `modelId` was deleted from `stepId`'s catalog. */
105647
- function isRemovedModelId(stepId, modelId) {
105648
- return REMOVED_MODEL_IDS[stepId]?.includes(modelId) ?? false;
105649
- }
105650
- //#endregion
105651
- //#region src/pipeline/model-bound-settings.ts
105652
- /** Suffix of the sibling key that names the model a stored value was made for. */
105653
- var MODEL_BINDING_SUFFIX = "ModelId";
105654
- /** `minConfidencePerson` → `minConfidencePersonModelId`. */
105655
- function modelBindingKey(key) {
105656
- return `${key}${MODEL_BINDING_SUFFIX}`;
105657
- }
105658
- /** The model a stored value was made for, or `undefined` when unbound. */
105659
- function storedBinding(settings, key) {
105660
- const binding = settings?.[modelBindingKey(key)];
105661
- return typeof binding === "string" && binding.length > 0 ? binding : void 0;
105662
- }
105663
- /**
105664
- * The effective value of `key` for the model that runs (`runningModelId`,
105665
- * `undefined` when unknown — it then matches no binding).
105666
- */
105667
- function resolveModelBoundSetting(settings, key, runningModelId, modelDefault, globalDefault) {
105668
- const stored = settings?.[key];
105669
- const binding = storedBinding(settings, key);
105670
- if (stored !== void 0 && binding === void 0) return {
105671
- value: stored,
105672
- source: "override"
105673
- };
105674
- if (stored !== void 0 && binding !== void 0 && binding === runningModelId) return {
105675
- value: stored,
105676
- source: "override",
105677
- boundModelId: binding
105678
- };
105679
- const inapplicable = stored !== void 0 && binding !== void 0 ? { inapplicableOverride: {
105680
- value: stored,
105681
- modelId: binding
105682
- } } : {};
105683
- if (modelDefault !== void 0) return {
105684
- value: modelDefault,
105685
- source: "model-default",
105686
- ...inapplicable
105687
- };
105688
- return {
105689
- value: globalDefault,
105690
- source: "global-default",
105691
- ...inapplicable
105692
- };
105693
- }
105694
- /**
105695
- * The OPERATOR layer of a step's settings as the running model sees it: every
105696
- * model-bound value made for another model is removed (so the default
105697
- * underneath — the running model's — wins the merge), and every binding key is
105698
- * stripped. Unbound values are kept. Returns a fresh object; `undefined` stays
105699
- * `undefined`.
105700
- */
105701
- function applyModelBoundSettings(settings, boundKeys, runningModelId) {
105702
- if (settings === void 0) return void 0;
105703
- const out = { ...settings };
105704
- for (const key of boundKeys) {
105705
- const binding = storedBinding(settings, key);
105706
- if (binding !== void 0 && binding !== runningModelId) delete out[key];
105707
- delete out[modelBindingKey(key)];
105708
- }
105709
- return out;
105710
- }
105711
- /** Store `value` for `key`, made for `modelId`. Returns a fresh object. */
105712
- function writeModelBoundSetting(settings, key, value, modelId) {
105713
- return {
105714
- ...settings,
105715
- [key]: value,
105716
- [modelBindingKey(key)]: modelId
105717
- };
105718
- }
105719
- /** Remove an override and its binding — "reset to the model default". */
105720
- function clearModelBoundSetting(settings, key) {
105721
- const out = { ...settings };
105722
- delete out[key];
105723
- delete out[modelBindingKey(key)];
105724
- return out;
105725
- }
105726
- /** True when any of `boundKeys` has an override IN FORCE for `modelId`. */
105727
- function hasModelBoundOverrides(settings, boundKeys, modelId) {
105728
- return boundKeys.some((key) => resolveModelBoundSetting(settings, key, modelId, void 0, void 0).source === "override");
105729
- }
105730
- /**
105731
- * "Reset thresholds to model defaults": remove every override of `boundKeys`
105732
- * that is in force for `modelId` (bound to it, or unbound), with its binding —
105733
- * one result, so the editor writes it in one save. An override stored for
105734
- * ANOTHER model is kept: it is not in force here, and it applies again when
105735
- * that model runs.
105736
- */
105737
- function clearModelBoundOverrides(settings, boundKeys, modelId) {
105738
- return boundKeys.reduce((acc, key) => resolveModelBoundSetting(acc, key, modelId, void 0, void 0).source === "override" ? clearModelBoundSetting(acc, key) : acc, { ...settings });
105739
- }
105740
- /**
105741
- * The keys of every `bindsToModel` field of a step's config schema, groups
105742
- * flattened (D738). One definition for the runner (which applies the binding)
105743
- * and the orchestrator's Auto tune (which clears those overrides, D745).
105744
- */
105745
- function collectModelBoundKeys(fields) {
105746
- return fields.flatMap((field) => {
105747
- if (field.type === "group") return collectModelBoundKeys(field.fields);
105748
- return "key" in field && "bindsToModel" in field && field.bindsToModel === true ? [field.key] : [];
105749
- });
105750
- }
105751
- //#endregion
105752
- //#region src/pipeline/step-settings-layers.ts
105753
- /**
105754
- * The layers of a detection step's settings, and the field-level edits on them
105755
- * (D754, D927).
105756
- *
105757
- * A step's settings reach a session through two stored layers, merged key by
105758
- * key — a key in the higher layer wins:
105759
- *
105760
- * node the node's base for the accelerator that runs the step
105761
- * camera `cameraSettings[cam].stepSettings[step]` — camera-semantic
105762
- * keys only, on every accelerator (never a model-bound field)
105763
- *
105764
- * Below them sits the default: the running model's (D738) or the field's own.
105765
- *
105766
- * Every layer is SPARSE and FIELD-LEVEL. A key present in a layer is an
105767
- * override; an absent key inherits. Two consequences that every editor must
105768
- * respect, and why this module exists:
105769
- *
105770
- * - A model-bound field (D738) occupies TWO keys, its value and
105771
- * `<key>ModelId`. They are written, compared and removed as one unit — a
105772
- * value without its binding over a lower layer's binding would be judged
105773
- * against the wrong model.
105774
- * - An editor writes a DIFF against the merged layers below, never a copy of
105775
- * them. A copy pins every field at the value it had that day, so later
105776
- * edits below never reach it (the full-copy "Override" this replaced).
105777
- */
105778
- /** Top-down order of the stored layers. */
105779
- var LAYER_ORDER = ["camera", "node"];
105780
- /**
105781
- * The keys one field occupies in a bag: its own, plus its binding key when it
105782
- * binds to a model. `boundKeys` = `collectModelBoundKeys(schema)`.
105783
- */
105784
- function fieldUnitKeys(key, boundKeys) {
105785
- return boundKeys.includes(key) ? [key, modelBindingKey(key)] : [key];
105786
- }
105787
- /** The field a stored key belongs to (`minConfidencePersonModelId` → `minConfidencePerson`). */
105788
- function unitOf(storedKey, boundKeys) {
105789
- return boundKeys.find((k) => modelBindingKey(k) === storedKey) ?? storedKey;
105790
- }
105791
- /** Structural equality for stored values (numbers, strings, booleans, arrays, plain objects). */
105792
- function settingValuesEqual(a, b) {
105793
- if (Object.is(a, b)) return true;
105794
- if (Array.isArray(a) && Array.isArray(b)) return a.length === b.length && a.every((v, i) => settingValuesEqual(v, b[i]));
105795
- if (isPlainObject(a) && isPlainObject(b)) {
105796
- const ka = Object.keys(a);
105797
- const kb = Object.keys(b);
105798
- return ka.length === kb.length && ka.every((k) => settingValuesEqual(a[k], b[k]));
105799
- }
105800
- return false;
105801
- }
105802
- function isPlainObject(v) {
105803
- return typeof v === "object" && v !== null && !Array.isArray(v);
105804
- }
105805
- /** Merge bags bottom-up (later wins, per key). Fresh object. */
105806
- function mergeSettingsBags(...bags) {
105807
- return bags.reduce((acc, bag) => ({
105808
- ...acc,
105809
- ...bag
105810
- }), {});
105811
- }
105812
- /** The merged value of the layers BELOW `layer` (what removing a key from `layer` falls back to). */
105813
- function settingsBelow(layers, layer) {
105814
- return mergeSettingsBags(...LAYER_ORDER.slice(LAYER_ORDER.indexOf(layer) + 1).toReversed().map((id) => layers[id]));
105815
- }
105816
- /** The effective bag: every stored layer merged. */
105817
- function effectiveStepSettings(layers) {
105818
- return mergeSettingsBags(layers.node, layers.camera);
105819
- }
105820
- /** The highest stored layer that holds any key of `key`'s unit, or `default`. */
105821
- function stepSettingSource(layers, key, boundKeys) {
105822
- const unit = fieldUnitKeys(key, boundKeys);
105823
- for (const id of LAYER_ORDER) {
105824
- const bag = layers[id];
105825
- if (bag !== void 0 && unit.some((k) => bag[k] !== void 0)) return id;
105826
- }
105827
- return "default";
105828
- }
105829
- /**
105830
- * `layer` with `key`'s unit set from `values` (a bag carrying the unit's new
105831
- * value — e.g. the editor's whole next settings bag). A unit key that `values`
105832
- * does not carry is removed from the layer. Fresh object.
105833
- */
105834
- function withFieldFrom(layer, key, values, boundKeys) {
105835
- const out = { ...layer };
105836
- for (const k of fieldUnitKeys(key, boundKeys)) if (values[k] === void 0) delete out[k];
105837
- else out[k] = values[k];
105838
- return out;
105839
- }
105840
- /** `layer` without `key`'s unit — "reset to the next level". Fresh object. */
105841
- function withoutField(layer, key, boundKeys) {
105842
- const out = { ...layer };
105843
- for (const k of fieldUnitKeys(key, boundKeys)) delete out[k];
105844
- return out;
105845
- }
105846
- /** Every field unit stored in `layer`, by its field key. */
105847
- function unitsIn(layer, boundKeys) {
105848
- return [...new Set(Object.keys(layer).map((k) => unitOf(k, boundKeys)))];
105849
- }
105850
- /** True when every key of `key`'s unit has the same value in `layer` as in `below`. */
105851
- function unitEqualsBelow(layer, below, key, boundKeys) {
105852
- return fieldUnitKeys(key, boundKeys).every((k) => settingValuesEqual(layer[k], below[k]));
105853
- }
105854
- /**
105855
- * `layer` reduced to the fields that DIFFER from `below` — what an editor
105856
- * stores. A unit is kept or dropped whole. `undefined` when nothing is left.
105857
- */
105858
- function diffStepSettings(layer, below, boundKeys) {
105859
- if (layer === void 0) return void 0;
105860
- const out = {};
105861
- for (const unit of unitsIn(layer, boundKeys)) {
105862
- if (unitEqualsBelow(layer, below, unit, boundKeys)) continue;
105863
- for (const k of fieldUnitKeys(unit, boundKeys)) if (layer[k] !== void 0) out[k] = layer[k];
105864
- }
105865
- return Object.keys(out).length > 0 ? out : void 0;
105866
- }
105867
- /**
105868
- * The fields `layer` stores at exactly the value of the layers below — a
105869
- * legacy full copy's leftovers. They change nothing today and stop every
105870
- * later edit below from reaching this layer. Sorted.
105871
- */
105872
- function fieldsPinnedAtValueBelow(layer, below, boundKeys) {
105873
- if (layer === void 0) return [];
105874
- return unitsIn(layer, boundKeys).filter((unit) => unitEqualsBelow(layer, below, unit, boundKeys)).toSorted();
105875
- }
105876
- //#endregion
105877
- //#region src/pipeline/auto-tune/hardware-class.ts
105878
- var APPLE_CHIP = /^Apple M(\d+)(?:\s+(Pro|Max|Ultra))?\b/i;
105879
- var INTEL_CORE_ULTRA = /Core\(TM\)\s+Ultra|Core Ultra/i;
105880
- var INTEL_N_SERIES = /Intel\(R\)\s+N\d{2,3}\b|\bIntel\s+N\d{2,3}\b/i;
105881
- /** Phoenix / Hawk Point mobile (7040/8040) and Ryzen 8000G desktop APUs. */
105882
- var AMD_PHOENIX = /Ryzen \d+ (7[0-9]40|8[0-9]40|8[0-9]45)[HSU]|Ryzen \d+ 8[0-9]00G/i;
105883
- function parseAppleChip(cpuModel) {
105884
- const match = APPLE_CHIP.exec(cpuModel.trim());
105885
- if (match === null) return null;
105886
- const generation = Number(match[1]);
105887
- const variantRaw = (match[2] ?? "base").toLowerCase();
105888
- return {
105889
- generation,
105890
- variant: variantRaw === "pro" || variantRaw === "max" || variantRaw === "ultra" ? variantRaw : "base"
105891
- };
105892
- }
105893
- /**
105894
- * Classify a node. Apple base chips (M1–M4) map to the measured M2 column, the
105895
- * Pro/Max/Ultra chips to the measured M3 Pro column — the M2 was measured at
105896
- * 1.0–1.2× the M3 Pro on the Neural Engine, so the generation inside a variant
105897
- * matters less than the column's own error.
105898
- */
105899
- function classifyInferenceHardware(hw) {
105900
- const cpuModel = hw.cpuModel;
105901
- const apple = parseAppleChip(cpuModel);
105902
- if (apple !== null) return {
105903
- hardwareClass: apple.variant === "base" ? "apple-m-base" : "apple-m-pro",
105904
- cpuModel,
105905
- apple
105906
- };
105907
- if (INTEL_CORE_ULTRA.test(cpuModel)) return {
105908
- hardwareClass: "intel-core-ultra",
105909
- cpuModel
105910
- };
105911
- if (INTEL_N_SERIES.test(cpuModel)) return {
105912
- hardwareClass: "intel-n-series",
105913
- cpuModel
105914
- };
105915
- if (AMD_PHOENIX.test(cpuModel)) return {
105916
- hardwareClass: "amd-phoenix",
105917
- cpuModel
105918
- };
105919
- return {
105920
- hardwareClass: "unknown",
105921
- cpuModel
105922
- };
105923
- }
105924
- /**
105925
- * The accelerator kind of one of a node's device keys (`openvino:npu`,
105926
- * `openvino:gpu`, `coreml:all`, `edgetpu:usb`, `cpu`, `onnx:cpu`, …). `null`
105927
- * for a key this table has no column for.
105928
- */
105929
- function acceleratorKindOf(deviceKey, hw) {
105930
- const [backend = "", device = ""] = deviceKey.split(":");
105931
- if (backend === "edgetpu") return "coral";
105932
- if (backend === "coreml") return device === "cpu" ? "arm-cpu" : "apple-ane";
105933
- if (backend === "openvino" && device === "npu") return "intel-npu";
105934
- if (backend === "openvino" && device === "gpu") return "intel-igpu";
105935
- if (backend === "onnx" && device === "webgpu") return "amd-igpu";
105936
- if (backend === "vitisai" && device === "npu") return "amd-npu";
105937
- if (backend === "cpu" || device === "cpu") return hw.arch === "arm64" ? "arm-cpu" : "x86-cpu";
105938
- return null;
105939
- }
105940
- //#endregion
105941
- //#region src/pipeline/auto-tune/detector-performance.ts
105942
- var DETECTOR_PERF = {
105943
- "intel-core-ultra": {
105944
- "intel-npu": {
105945
- "yolov9t-320": {
105946
- p50Ms: 2.9,
105947
- fps: 383,
105948
- measured: true
105949
- },
105950
- "yolov9t-320-int8": {
105951
- p50Ms: 3.8,
105952
- fps: 333,
105953
- measured: true
105954
- },
105955
- "yolov9t-640": {
105956
- p50Ms: 7.4,
105957
- fps: 139,
105958
- measured: true
105959
- },
105960
- "yolov9t-640-int8": {
105961
- p50Ms: 7.5,
105962
- fps: 144,
105963
- measured: true
105964
- },
105965
- "yolov9s-320": {
105966
- p50Ms: 4.4,
105967
- fps: 241,
105968
- measured: true
105969
- },
105970
- "yolov9s-320-int8": {
105971
- p50Ms: 4.1,
105972
- fps: 264,
105973
- measured: true
105974
- },
105975
- "yolov9s-640": {
105976
- p50Ms: 12.7,
105977
- fps: 82,
105978
- measured: true
105979
- },
105980
- "yolov9s-640-int8": {
105981
- p50Ms: 10.7,
105982
- fps: 99,
105983
- measured: true
105984
- },
105985
- "yolov9m-320": {
105986
- p50Ms: 8.4,
105987
- fps: 123,
105988
- measured: true
105989
- },
105990
- "yolov9m-320-int8": {
105991
- p50Ms: 6.5,
105992
- fps: 165,
105993
- measured: true
105994
- },
105995
- "yolov9m-640": {
105996
- p50Ms: 29.5,
105997
- fps: 32,
105998
- measured: true
105999
- },
106000
- "yolov9m-640-int8": {
106001
- p50Ms: 19.5,
106002
- fps: 52,
106003
- measured: true
106004
- }
106005
- },
106006
- "intel-igpu": {
106007
- "yolov9t-320": {
106008
- p50Ms: 2.6,
106009
- fps: 405,
106010
- measured: true
106011
- },
106012
- "yolov9t-320-int8": {
106013
- p50Ms: 2.8,
106014
- fps: 324,
106015
- measured: true
106016
- },
106017
- "yolov9t-640": {
106018
- p50Ms: 6.5,
106019
- fps: 157,
106020
- measured: true
106021
- },
106022
- "yolov9t-640-int8": {
106023
- p50Ms: 5.6,
106024
- fps: 185,
106025
- measured: true
106026
- },
106027
- "yolov9s-320": {
106028
- p50Ms: 4.6,
106029
- fps: 200,
106030
- measured: true
106031
- },
106032
- "yolov9s-320-int8": {
106033
- p50Ms: 4.1,
106034
- fps: 239,
106035
- measured: true
106036
- },
106037
- "yolov9s-640": {
106038
- p50Ms: 15.2,
106039
- fps: 69,
106040
- measured: true
106041
- },
106042
- "yolov9s-640-int8": {
106043
- p50Ms: 10.5,
106044
- fps: 99,
106045
- measured: true
106046
- },
106047
- "yolov9m-320": {
106048
- p50Ms: 11.4,
106049
- fps: 88,
106050
- measured: true
106051
- },
106052
- "yolov9m-320-int8": {
106053
- p50Ms: 7,
106054
- fps: 127,
106055
- measured: true
106056
- },
106057
- "yolov9m-640": {
106058
- p50Ms: 40,
106059
- fps: 25,
106060
- measured: true
106061
- },
106062
- "yolov9m-640-int8": {
106063
- p50Ms: 23.5,
106064
- fps: 44,
106065
- measured: true
106066
- }
106067
- },
106068
- "x86-cpu": {
106069
- "yolov9t-320": {
106070
- p50Ms: 6.9,
106071
- fps: 145,
106072
- measured: true
106073
- },
106074
- "yolov9t-320-int8": {
106075
- p50Ms: 2.7,
106076
- fps: 405,
106077
- measured: true
106078
- },
106079
- "yolov9t-640": {
106080
- p50Ms: 23,
106081
- fps: 44,
106082
- measured: true
106083
- },
106084
- "yolov9t-640-int8": {
106085
- p50Ms: 8.8,
106086
- fps: 124,
106087
- measured: true
106088
- },
106089
- "yolov9s-320": {
106090
- p50Ms: 15.8,
106091
- fps: 63,
106092
- measured: true
106093
- },
106094
- "yolov9s-320-int8": {
106095
- p50Ms: 6.5,
106096
- fps: 180,
106097
- measured: true
106098
- },
106099
- "yolov9s-640": {
106100
- p50Ms: 58.2,
106101
- fps: 17,
106102
- measured: true
106103
- },
106104
- "yolov9s-640-int8": {
106105
- p50Ms: 20.1,
106106
- fps: 52,
106107
- measured: true
106108
- },
106109
- "yolov9m-320": {
106110
- p50Ms: 40,
106111
- fps: 25,
106112
- measured: true
106113
- },
106114
- "yolov9m-320-int8": {
106115
- p50Ms: 14.2,
106116
- fps: 74,
106117
- measured: true
106118
- },
106119
- "yolov9m-640": {
106120
- p50Ms: 155.8,
106121
- fps: 6,
106122
- measured: true
106123
- },
106124
- "yolov9m-640-int8": {
106125
- p50Ms: 52.4,
106126
- fps: 19,
106127
- measured: true
106128
- }
106129
- },
106130
- coral: { "yolov9s-320-edgetpu": {
106131
- p50Ms: 32,
106132
- fps: 31,
106133
- measured: false
106134
- } }
106135
- },
106136
- "intel-n-series": {
106137
- "intel-igpu": {
106138
- "yolov9t-320": {
106139
- p50Ms: 15,
106140
- fps: 48,
106141
- measured: true
106142
- },
106143
- "yolov9t-320-int8": {
106144
- p50Ms: 14.1,
106145
- fps: 67,
106146
- measured: true
106147
- },
106148
- "yolov9t-640": {
106149
- p50Ms: 38.5,
106150
- fps: 26,
106151
- measured: true
106152
- },
106153
- "yolov9t-640-int8": {
106154
- p50Ms: 33.1,
106155
- fps: 33,
106156
- measured: true
106157
- },
106158
- "yolov9s-320": {
106159
- p50Ms: 41.4,
106160
- fps: 24,
106161
- measured: true
106162
- },
106163
- "yolov9s-320-int8": {
106164
- p50Ms: 23.3,
106165
- fps: 34,
106166
- measured: true
106167
- },
106168
- "yolov9s-640": {
106169
- p50Ms: 127.4,
106170
- fps: 8,
106171
- measured: true
106172
- },
106173
- "yolov9s-640-int8": {
106174
- p50Ms: 92.9,
106175
- fps: 11,
106176
- measured: true
106177
- },
106178
- "yolov9m-320": {
106179
- p50Ms: 63.5,
106180
- fps: 16,
106181
- measured: true
106182
- },
106183
- "yolov9m-320-int8": {
106184
- p50Ms: 39.4,
106185
- fps: 26,
106186
- measured: true
106187
- },
106188
- "yolov9m-640": {
106189
- p50Ms: 215.5,
106190
- fps: 5,
106191
- measured: true
106192
- },
106193
- "yolov9m-640-int8": {
106194
- p50Ms: 139.1,
106195
- fps: 7,
106196
- measured: true
106197
- }
106198
- },
106199
- "x86-cpu": {
106200
- "yolov9t-320": {
106201
- p50Ms: 86.2,
106202
- fps: 12,
106203
- measured: true
106204
- },
106205
- "yolov9t-320-int8": {
106206
- p50Ms: 52.7,
106207
- fps: 20,
106208
- measured: true
106209
- },
106210
- "yolov9t-640": {
106211
- p50Ms: 322.1,
106212
- fps: 3,
106213
- measured: true
106214
- },
106215
- "yolov9t-640-int8": {
106216
- p50Ms: 205.6,
106217
- fps: 5,
106218
- measured: true
106219
- },
106220
- "yolov9s-320": {
106221
- p50Ms: 164.4,
106222
- fps: 6,
106223
- measured: true
106224
- },
106225
- "yolov9s-320-int8": {
106226
- p50Ms: 86.9,
106227
- fps: 12,
106228
- measured: true
106229
- },
106230
- "yolov9s-640": {
106231
- p50Ms: 341.3,
106232
- fps: 3,
106233
- measured: true
106234
- },
106235
- "yolov9s-640-int8": {
106236
- p50Ms: 185.3,
106237
- fps: 5,
106238
- measured: true
106239
- },
106240
- "yolov9m-320": {
106241
- p50Ms: 166.8,
106242
- fps: 6,
106243
- measured: true
106244
- },
106245
- "yolov9m-320-int8": {
106246
- p50Ms: 226.3,
106247
- fps: 4,
106248
- measured: true
106249
- },
106250
- "yolov9m-640": {
106251
- p50Ms: 663.5,
106252
- fps: 2,
106253
- measured: true
106254
- },
106255
- "yolov9m-640-int8": {
106256
- p50Ms: 324.4,
106257
- fps: 3,
106258
- measured: true
106259
- }
106260
- },
106261
- coral: { "yolov9s-320-edgetpu": {
106262
- p50Ms: 32,
106263
- fps: 31,
106264
- measured: false
106265
- } }
106266
- },
106267
- "amd-phoenix": {
106268
- "x86-cpu": {
106269
- "yolov9t-320": {
106270
- p50Ms: 24,
106271
- fps: 42,
106272
- measured: true
106273
- },
106274
- "yolov9t-320-int8": {
106275
- p50Ms: 12,
106276
- fps: 83,
106277
- measured: true
106278
- },
106279
- "yolov9t-640": {
106280
- p50Ms: 50,
106281
- fps: 20,
106282
- measured: true
106283
- },
106284
- "yolov9t-640-int8": {
106285
- p50Ms: 20,
106286
- fps: 50,
106287
- measured: true
106288
- },
106289
- "yolov9s-320": {
106290
- p50Ms: 30,
106291
- fps: 33,
106292
- measured: true
106293
- },
106294
- "yolov9s-320-int8": {
106295
- p50Ms: 15,
106296
- fps: 67,
106297
- measured: true
106298
- },
106299
- "yolov9s-640": {
106300
- p50Ms: 92,
106301
- fps: 11,
106302
- measured: true
106303
- },
106304
- "yolov9s-640-int8": {
106305
- p50Ms: 27,
106306
- fps: 37,
106307
- measured: true
106308
- },
106309
- "yolov9m-320": {
106310
- p50Ms: 67,
106311
- fps: 15,
106312
- measured: true
106313
- },
106314
- "yolov9m-320-int8": {
106315
- p50Ms: 21,
106316
- fps: 48,
106317
- measured: true
106318
- },
106319
- "yolov9m-640": {
106320
- p50Ms: 229,
106321
- fps: 4,
106322
- measured: true
106323
- },
106324
- "yolov9m-640-int8": {
106325
- p50Ms: 48,
106326
- fps: 21,
106327
- measured: true
106328
- }
106329
- },
106330
- "amd-igpu": {
106331
- "yolov9t-320": {
106332
- p50Ms: 40,
106333
- fps: 25,
106334
- measured: true
106335
- },
106336
- "yolov9t-640": {
106337
- p50Ms: 89,
106338
- fps: 11,
106339
- measured: true
106340
- },
106341
- "yolov9s-320": {
106342
- p50Ms: 65,
106343
- fps: 15,
106344
- measured: true
106345
- },
106346
- "yolov9s-640": {
106347
- p50Ms: 125,
106348
- fps: 8,
106349
- measured: true
106350
- },
106351
- "yolov9m-320": {
106352
- p50Ms: 85,
106353
- fps: 12,
106354
- measured: true
106355
- },
106356
- "yolov9m-640": {
106357
- p50Ms: 228,
106358
- fps: 4,
106359
- measured: true
106360
- }
106361
- },
106362
- coral: { "yolov9s-320-edgetpu": {
106363
- p50Ms: 32,
106364
- fps: 31,
106365
- measured: true
106366
- } }
106367
- },
106368
- "apple-m-pro": {
106369
- "apple-ane": {
106370
- "yolov9t-320": {
106371
- p50Ms: 1.1,
106372
- fps: 952,
106373
- measured: true
106374
- },
106375
- "yolov9t-640": {
106376
- p50Ms: 3,
106377
- fps: 333,
106378
- measured: true
106379
- },
106380
- "yolov9s-320": {
106381
- p50Ms: 1.5,
106382
- fps: 667,
106383
- measured: true
106384
- },
106385
- "yolov9s-640": {
106386
- p50Ms: 5.1,
106387
- fps: 196,
106388
- measured: true
106389
- },
106390
- "yolov9m-320": {
106391
- p50Ms: 3.2,
106392
- fps: 312,
106393
- measured: true
106394
- },
106395
- "yolov9m-640": {
106396
- p50Ms: 10.2,
106397
- fps: 98,
106398
- measured: true
106399
- }
106400
- },
106401
- coral: { "yolov9s-320-edgetpu": {
106402
- p50Ms: 32,
106403
- fps: 31,
106404
- measured: false
106405
- } }
106406
- },
106407
- "apple-m-base": {
106408
- "apple-ane": {
106409
- "yolov9t-320": {
106410
- p50Ms: 1.32,
106411
- fps: 758,
106412
- measured: false
106413
- },
106414
- "yolov9t-640": {
106415
- p50Ms: 3.45,
106416
- fps: 290,
106417
- measured: true
106418
- },
106419
- "yolov9s-320": {
106420
- p50Ms: 1.8,
106421
- fps: 556,
106422
- measured: false
106423
- },
106424
- "yolov9s-640": {
106425
- p50Ms: 5.46,
106426
- fps: 183,
106427
- measured: true
106428
- },
106429
- "yolov9m-320": {
106430
- p50Ms: 3.79,
106431
- fps: 264,
106432
- measured: true
106433
- },
106434
- "yolov9m-640": {
106435
- p50Ms: 10.34,
106436
- fps: 97,
106437
- measured: true
106438
- }
106439
- },
106440
- coral: { "yolov9s-320-edgetpu": {
106441
- p50Ms: 32,
106442
- fps: 31,
106443
- measured: false
106444
- } }
106445
- }
106433
+ return models.some((m) => m.legacy !== true && hasBuild(m, format));
106434
+ }
106435
+ //#endregion
106436
+ //#region src/pipeline/removed-model-ids.ts
106437
+ /**
106438
+ * Model ids DELETED from a step's catalog (D703, D710, D719), per step — and
106439
+ * the one question asked of them: is a stored pin to this id a pin to a model
106440
+ * that no longer exists? (D725)
106441
+ *
106442
+ * This is NOT a resolver input. `resolveModelForFormat` still returns an
106443
+ * unknown id unchanged (a custom model), and a bulk pass pinned to one still
106444
+ * refuses rather than substitutes (D54). The ONE reader is the orchestrator's
106445
+ * stored-pin reset (`removed-model-pin-reset.ts`), which clears such a pin from
106446
+ * the store so the step follows its default again — unless a registered custom
106447
+ * model carries the same id.
106448
+ *
106449
+ * `removed-model-ids.spec.ts` (addon-pipeline) pins that every id here is
106450
+ * really absent from its step's catalog. A model deleted from a catalog is
106451
+ * added here in the same change, or its stored pins stay behind as custom ids.
106452
+ */
106453
+ /** `stepId → ids deleted from that step's catalog`. */
106454
+ var REMOVED_MODEL_IDS = {
106455
+ "object-detection": ["efficientdet-lite0-edgetpu", "ssdlite-mobiledet-coco-edgetpu"],
106456
+ "face-detection": [
106457
+ "scrypted-yolov9t-face",
106458
+ "scrfd-2.5g",
106459
+ "ssd-mobilenet-v2-face-edgetpu"
106460
+ ],
106461
+ "face-embedding": ["arcface-r100", "inception-resnet-v1"],
106462
+ "plate-detection": ["yolov8n-plate"],
106463
+ "plate-ocr": ["vgg-english-g2"],
106464
+ "clip-embedding": [
106465
+ "mobileclip-s0",
106466
+ "mobileclip-s1",
106467
+ "mobileclip-s2"
106468
+ ],
106469
+ "package-detection": ["yolov8n-package"],
106470
+ "bird-classifier": ["bird-classifier-aiy-edgetpu", "bird-nabirds-404"],
106471
+ "animal-classifier": ["animals-10"],
106472
+ "vehicle-classifier": ["vehicle-type-efficientnet"]
106446
106473
  };
106447
- var DETECTOR_ACCURACY = {
106448
- "yolov9m-320": {
106449
- personPrecision: .979,
106450
- personRecall: .649
106451
- },
106452
- "yolov9m-320-int8": {
106453
- personPrecision: .974,
106454
- personRecall: .684
106455
- },
106456
- "yolov9m-640": {
106457
- personPrecision: .976,
106458
- personRecall: .854
106459
- },
106460
- "yolov9m-640-int8": {
106461
- personPrecision: .976,
106462
- personRecall: .847
106463
- },
106464
- "yolov9s-320": {
106465
- personPrecision: .958,
106466
- personRecall: .479
106467
- },
106468
- "yolov9s-320-int8": {
106469
- personPrecision: .969,
106470
- personRecall: .438
106471
- },
106472
- "yolov9s-640": {
106473
- personPrecision: .986,
106474
- personRecall: .753
106475
- },
106476
- "yolov9s-640-int8": {
106477
- personPrecision: .963,
106478
- personRecall: .823
106479
- },
106480
- "yolov9t-320": {
106481
- personPrecision: .946,
106482
- personRecall: .368
106483
- },
106484
- "yolov9t-320-int8": {
106485
- personPrecision: .943,
106486
- personRecall: .347
106487
- },
106488
- "yolov9t-640": {
106489
- personPrecision: .979,
106490
- personRecall: .646
106491
- },
106492
- "yolov9t-640-int8": {
106493
- personPrecision: .979,
106494
- personRecall: .646
106474
+ /** True when `modelId` was deleted from `stepId`'s catalog. */
106475
+ function isRemovedModelId(stepId, modelId) {
106476
+ return REMOVED_MODEL_IDS[stepId]?.includes(modelId) ?? false;
106477
+ }
106478
+ //#endregion
106479
+ //#region src/pipeline/model-bound-settings.ts
106480
+ /** Suffix of the sibling key that names the model a stored value was made for. */
106481
+ var MODEL_BINDING_SUFFIX = "ModelId";
106482
+ /** `minConfidencePerson` → `minConfidencePersonModelId`. */
106483
+ function modelBindingKey(key) {
106484
+ return `${key}${MODEL_BINDING_SUFFIX}`;
106485
+ }
106486
+ /** The model a stored value was made for, or `undefined` when unbound. */
106487
+ function storedBinding(settings, key) {
106488
+ const binding = settings?.[modelBindingKey(key)];
106489
+ return typeof binding === "string" && binding.length > 0 ? binding : void 0;
106490
+ }
106491
+ /**
106492
+ * The effective value of `key` for the model that runs (`runningModelId`,
106493
+ * `undefined` when unknown — it then matches no binding).
106494
+ */
106495
+ function resolveModelBoundSetting(settings, key, runningModelId, modelDefault, globalDefault) {
106496
+ const stored = settings?.[key];
106497
+ const binding = storedBinding(settings, key);
106498
+ if (stored !== void 0 && binding === void 0) return {
106499
+ value: stored,
106500
+ source: "override"
106501
+ };
106502
+ if (stored !== void 0 && binding !== void 0 && binding === runningModelId) return {
106503
+ value: stored,
106504
+ source: "override",
106505
+ boundModelId: binding
106506
+ };
106507
+ const inapplicable = stored !== void 0 && binding !== void 0 ? { inapplicableOverride: {
106508
+ value: stored,
106509
+ modelId: binding
106510
+ } } : {};
106511
+ if (modelDefault !== void 0) return {
106512
+ value: modelDefault,
106513
+ source: "model-default",
106514
+ ...inapplicable
106515
+ };
106516
+ return {
106517
+ value: globalDefault,
106518
+ source: "global-default",
106519
+ ...inapplicable
106520
+ };
106521
+ }
106522
+ /**
106523
+ * The OPERATOR layer of a step's settings as the running model sees it: every
106524
+ * model-bound value made for another model is removed (so the default
106525
+ * underneath — the running model's — wins the merge), and every binding key is
106526
+ * stripped. Unbound values are kept. Returns a fresh object; `undefined` stays
106527
+ * `undefined`.
106528
+ */
106529
+ function applyModelBoundSettings(settings, boundKeys, runningModelId) {
106530
+ if (settings === void 0) return void 0;
106531
+ const out = { ...settings };
106532
+ for (const key of boundKeys) {
106533
+ const binding = storedBinding(settings, key);
106534
+ if (binding !== void 0 && binding !== runningModelId) delete out[key];
106535
+ delete out[modelBindingKey(key)];
106495
106536
  }
106496
- };
106537
+ return out;
106538
+ }
106539
+ /** Store `value` for `key`, made for `modelId`. Returns a fresh object. */
106540
+ function writeModelBoundSetting(settings, key, value, modelId) {
106541
+ return {
106542
+ ...settings,
106543
+ [key]: value,
106544
+ [modelBindingKey(key)]: modelId
106545
+ };
106546
+ }
106547
+ /** Remove an override and its binding — "reset to the model default". */
106548
+ function clearModelBoundSetting(settings, key) {
106549
+ const out = { ...settings };
106550
+ delete out[key];
106551
+ delete out[modelBindingKey(key)];
106552
+ return out;
106553
+ }
106554
+ /** True when any of `boundKeys` has an override IN FORCE for `modelId`. */
106555
+ function hasModelBoundOverrides(settings, boundKeys, modelId) {
106556
+ return boundKeys.some((key) => resolveModelBoundSetting(settings, key, modelId, void 0, void 0).source === "override");
106557
+ }
106558
+ /**
106559
+ * "Reset thresholds to model defaults": remove every override of `boundKeys`
106560
+ * that is in force for `modelId` (bound to it, or unbound), with its binding —
106561
+ * one result, so the editor writes it in one save. An override stored for
106562
+ * ANOTHER model is kept: it is not in force here, and it applies again when
106563
+ * that model runs.
106564
+ */
106565
+ function clearModelBoundOverrides(settings, boundKeys, modelId) {
106566
+ return boundKeys.reduce((acc, key) => resolveModelBoundSetting(acc, key, modelId, void 0, void 0).source === "override" ? clearModelBoundSetting(acc, key) : acc, { ...settings });
106567
+ }
106568
+ /**
106569
+ * The keys of every `bindsToModel` field of a step's config schema, groups
106570
+ * flattened (D738). One definition for the runner (which applies the binding)
106571
+ * and the orchestrator's Auto tune (which clears those overrides, D745).
106572
+ */
106573
+ function collectModelBoundKeys(fields) {
106574
+ return fields.flatMap((field) => {
106575
+ if (field.type === "group") return collectModelBoundKeys(field.fields);
106576
+ return "key" in field && "bindsToModel" in field && field.bindsToModel === true ? [field.key] : [];
106577
+ });
106578
+ }
106579
+ //#endregion
106580
+ //#region src/pipeline/step-settings-layers.ts
106581
+ /**
106582
+ * The layers of a detection step's settings, and the field-level edits on them
106583
+ * (D754, D927).
106584
+ *
106585
+ * A step's settings reach a session through two stored layers, merged key by
106586
+ * key — a key in the higher layer wins:
106587
+ *
106588
+ * node the node's base for the accelerator that runs the step
106589
+ * camera `cameraSettings[cam].stepSettings[step]` — camera-semantic
106590
+ * keys only, on every accelerator (never a model-bound field)
106591
+ *
106592
+ * Below them sits the default: the running model's (D738) or the field's own.
106593
+ *
106594
+ * Every layer is SPARSE and FIELD-LEVEL. A key present in a layer is an
106595
+ * override; an absent key inherits. Two consequences that every editor must
106596
+ * respect, and why this module exists:
106597
+ *
106598
+ * - A model-bound field (D738) occupies TWO keys, its value and
106599
+ * `<key>ModelId`. They are written, compared and removed as one unit — a
106600
+ * value without its binding over a lower layer's binding would be judged
106601
+ * against the wrong model.
106602
+ * - An editor writes a DIFF against the merged layers below, never a copy of
106603
+ * them. A copy pins every field at the value it had that day, so later
106604
+ * edits below never reach it (the full-copy "Override" this replaced).
106605
+ */
106606
+ /** Top-down order of the stored layers. */
106607
+ var LAYER_ORDER = ["camera", "node"];
106608
+ /**
106609
+ * The keys one field occupies in a bag: its own, plus its binding key when it
106610
+ * binds to a model. `boundKeys` = `collectModelBoundKeys(schema)`.
106611
+ */
106612
+ function fieldUnitKeys(key, boundKeys) {
106613
+ return boundKeys.includes(key) ? [key, modelBindingKey(key)] : [key];
106614
+ }
106615
+ /** The field a stored key belongs to (`minConfidencePersonModelId` → `minConfidencePerson`). */
106616
+ function unitOf(storedKey, boundKeys) {
106617
+ return boundKeys.find((k) => modelBindingKey(k) === storedKey) ?? storedKey;
106618
+ }
106619
+ /** Structural equality for stored values (numbers, strings, booleans, arrays, plain objects). */
106620
+ function settingValuesEqual(a, b) {
106621
+ if (Object.is(a, b)) return true;
106622
+ if (Array.isArray(a) && Array.isArray(b)) return a.length === b.length && a.every((v, i) => settingValuesEqual(v, b[i]));
106623
+ if (isPlainObject(a) && isPlainObject(b)) {
106624
+ const ka = Object.keys(a);
106625
+ const kb = Object.keys(b);
106626
+ return ka.length === kb.length && ka.every((k) => settingValuesEqual(a[k], b[k]));
106627
+ }
106628
+ return false;
106629
+ }
106630
+ function isPlainObject(v) {
106631
+ return typeof v === "object" && v !== null && !Array.isArray(v);
106632
+ }
106633
+ /** Merge bags bottom-up (later wins, per key). Fresh object. */
106634
+ function mergeSettingsBags(...bags) {
106635
+ return bags.reduce((acc, bag) => ({
106636
+ ...acc,
106637
+ ...bag
106638
+ }), {});
106639
+ }
106640
+ /** The merged value of the layers BELOW `layer` (what removing a key from `layer` falls back to). */
106641
+ function settingsBelow(layers, layer) {
106642
+ return mergeSettingsBags(...LAYER_ORDER.slice(LAYER_ORDER.indexOf(layer) + 1).toReversed().map((id) => layers[id]));
106643
+ }
106644
+ /** The effective bag: every stored layer merged. */
106645
+ function effectiveStepSettings(layers) {
106646
+ return mergeSettingsBags(layers.node, layers.camera);
106647
+ }
106648
+ /** The highest stored layer that holds any key of `key`'s unit, or `default`. */
106649
+ function stepSettingSource(layers, key, boundKeys) {
106650
+ const unit = fieldUnitKeys(key, boundKeys);
106651
+ for (const id of LAYER_ORDER) {
106652
+ const bag = layers[id];
106653
+ if (bag !== void 0 && unit.some((k) => bag[k] !== void 0)) return id;
106654
+ }
106655
+ return "default";
106656
+ }
106657
+ /**
106658
+ * `layer` with `key`'s unit set from `values` (a bag carrying the unit's new
106659
+ * value — e.g. the editor's whole next settings bag). A unit key that `values`
106660
+ * does not carry is removed from the layer. Fresh object.
106661
+ */
106662
+ function withFieldFrom(layer, key, values, boundKeys) {
106663
+ const out = { ...layer };
106664
+ for (const k of fieldUnitKeys(key, boundKeys)) if (values[k] === void 0) delete out[k];
106665
+ else out[k] = values[k];
106666
+ return out;
106667
+ }
106668
+ /** `layer` without `key`'s unit — "reset to the next level". Fresh object. */
106669
+ function withoutField(layer, key, boundKeys) {
106670
+ const out = { ...layer };
106671
+ for (const k of fieldUnitKeys(key, boundKeys)) delete out[k];
106672
+ return out;
106673
+ }
106674
+ /** Every field unit stored in `layer`, by its field key. */
106675
+ function unitsIn(layer, boundKeys) {
106676
+ return [...new Set(Object.keys(layer).map((k) => unitOf(k, boundKeys)))];
106677
+ }
106678
+ /** True when every key of `key`'s unit has the same value in `layer` as in `below`. */
106679
+ function unitEqualsBelow(layer, below, key, boundKeys) {
106680
+ return fieldUnitKeys(key, boundKeys).every((k) => settingValuesEqual(layer[k], below[k]));
106681
+ }
106682
+ /**
106683
+ * `layer` reduced to the fields that DIFFER from `below` — what an editor
106684
+ * stores. A unit is kept or dropped whole. `undefined` when nothing is left.
106685
+ */
106686
+ function diffStepSettings(layer, below, boundKeys) {
106687
+ if (layer === void 0) return void 0;
106688
+ const out = {};
106689
+ for (const unit of unitsIn(layer, boundKeys)) {
106690
+ if (unitEqualsBelow(layer, below, unit, boundKeys)) continue;
106691
+ for (const k of fieldUnitKeys(unit, boundKeys)) if (layer[k] !== void 0) out[k] = layer[k];
106692
+ }
106693
+ return Object.keys(out).length > 0 ? out : void 0;
106694
+ }
106695
+ /**
106696
+ * The fields `layer` stores at exactly the value of the layers below — a
106697
+ * legacy full copy's leftovers. They change nothing today and stop every
106698
+ * later edit below from reaching this layer. Sorted.
106699
+ */
106700
+ function fieldsPinnedAtValueBelow(layer, below, boundKeys) {
106701
+ if (layer === void 0) return [];
106702
+ return unitsIn(layer, boundKeys).filter((unit) => unitEqualsBelow(layer, below, unit, boundKeys)).toSorted();
106703
+ }
106704
+ //#endregion
106705
+ //#region src/pipeline/auto-tune/hardware-class.ts
106706
+ var APPLE_CHIP = /^Apple M(\d+)(?:\s+(Pro|Max|Ultra))?\b/i;
106707
+ var INTEL_CORE_ULTRA = /Core\(TM\)\s+Ultra|Core Ultra/i;
106708
+ var INTEL_N_SERIES = /Intel\(R\)\s+N\d{2,3}\b|\bIntel\s+N\d{2,3}\b/i;
106709
+ /** Phoenix / Hawk Point mobile (7040/8040) and Ryzen 8000G desktop APUs. */
106710
+ var AMD_PHOENIX = /Ryzen \d+ (7[0-9]40|8[0-9]40|8[0-9]45)[HSU]|Ryzen \d+ 8[0-9]00G/i;
106711
+ function parseAppleChip(cpuModel) {
106712
+ const match = APPLE_CHIP.exec(cpuModel.trim());
106713
+ if (match === null) return null;
106714
+ const generation = Number(match[1]);
106715
+ const variantRaw = (match[2] ?? "base").toLowerCase();
106716
+ return {
106717
+ generation,
106718
+ variant: variantRaw === "pro" || variantRaw === "max" || variantRaw === "ultra" ? variantRaw : "base"
106719
+ };
106720
+ }
106721
+ /**
106722
+ * Classify a node. Apple base chips (M1–M4) map to the measured M2 column, the
106723
+ * Pro/Max/Ultra chips to the measured M3 Pro column — the M2 was measured at
106724
+ * 1.0–1.2× the M3 Pro on the Neural Engine, so the generation inside a variant
106725
+ * matters less than the column's own error.
106726
+ */
106727
+ function classifyInferenceHardware(hw) {
106728
+ const cpuModel = hw.cpuModel;
106729
+ const apple = parseAppleChip(cpuModel);
106730
+ if (apple !== null) return {
106731
+ hardwareClass: apple.variant === "base" ? "apple-m-base" : "apple-m-pro",
106732
+ cpuModel,
106733
+ apple
106734
+ };
106735
+ if (INTEL_CORE_ULTRA.test(cpuModel)) return {
106736
+ hardwareClass: "intel-core-ultra",
106737
+ cpuModel
106738
+ };
106739
+ if (INTEL_N_SERIES.test(cpuModel)) return {
106740
+ hardwareClass: "intel-n-series",
106741
+ cpuModel
106742
+ };
106743
+ if (AMD_PHOENIX.test(cpuModel)) return {
106744
+ hardwareClass: "amd-phoenix",
106745
+ cpuModel
106746
+ };
106747
+ return {
106748
+ hardwareClass: "unknown",
106749
+ cpuModel
106750
+ };
106751
+ }
106752
+ /**
106753
+ * The accelerator kind of one of a node's device keys (`openvino:npu`,
106754
+ * `openvino:gpu`, `coreml:all`, `edgetpu:usb`, `cpu`, `onnx:cpu`, …). `null`
106755
+ * for a key this table has no column for.
106756
+ */
106757
+ function acceleratorKindOf(deviceKey, hw) {
106758
+ const [backend = "", device = ""] = deviceKey.split(":");
106759
+ if (backend === "edgetpu") return "coral";
106760
+ if (backend === "coreml") return device === "cpu" ? "arm-cpu" : "apple-ane";
106761
+ if (backend === "openvino" && device === "npu") return "intel-npu";
106762
+ if (backend === "openvino" && device === "gpu") return "intel-igpu";
106763
+ if (backend === "onnx" && device === "webgpu") return "amd-igpu";
106764
+ if (backend === "vitisai" && device === "npu") return "amd-npu";
106765
+ if (backend === "cpu" || device === "cpu") return hw.arch === "arm64" ? "arm-cpu" : "x86-cpu";
106766
+ return null;
106767
+ }
106497
106768
  //#endregion
106498
106769
  //#region src/pipeline/auto-tune/recommend.ts
106499
106770
  /** The family the cluster runs. */
@@ -106509,10 +106780,35 @@ var RECALL_TIE = .02;
106509
106780
  var DEFAULT_HEADROOM = .4;
106510
106781
  /** Detection rate a session is counted at when no camera says otherwise. */
106511
106782
  var DEFAULT_CAMERA_FPS = 10;
106512
- /** Parallel sessions one device sustains at `fps` with `headroom` kept free. */
106513
- function capacitySessionsOf(fps, headroom, cameraFps) {
106514
- if (!(fps > 0) || !(cameraFps > 0)) return 0;
106515
- return Math.max(0, Math.floor(fps * (1 - headroom) / cameraFps + 1e-9));
106783
+ /**
106784
+ * Camera rate at which serial `1000/p50` matched the cameras that held
106785
+ * (N100 iGPU, 2026-10-24). Below this the second InferRequest's overlap
106786
+ * becomes extra sessions; at and above it the serial ceiling is the count.
106787
+ */
106788
+ var SERIAL_CAPACITY_CAMERA_FPS = 10;
106789
+ /**
106790
+ * Aggregate throughput ÷ serial throughput when the frame interval is wide
106791
+ * enough to hide the second request. intel-igpu is the N100 measurement
106792
+ * (~1.4× under LATENCY with 2 InferRequests). Every other kind stays 1
106793
+ * until it is measured the same way.
106794
+ */
106795
+ var AGGREGATE_THROUGHPUT_BY_KIND = { "intel-igpu": 1.4 };
106796
+ /** The overlap factor for this kind at this camera rate. 1 at {@link SERIAL_CAPACITY_CAMERA_FPS} and above. */
106797
+ function aggregateThroughputFactor(kind, cameraFps) {
106798
+ if (!(cameraFps > 0) || cameraFps >= 10) return 1;
106799
+ return AGGREGATE_THROUGHPUT_BY_KIND[kind] ?? 1;
106800
+ }
106801
+ /**
106802
+ * Parallel sessions one device sustains at `fps` with `headroom` kept free.
106803
+ * `aggregateFactor` is the kind's overlap (1 unless the caller measured
106804
+ * extra throughput at this camera rate).
106805
+ */
106806
+ function capacitySessionsOf(fps, headroom, cameraFps, aggregateFactor = 1) {
106807
+ if (!(fps > 0) || !(cameraFps > 0) || !(aggregateFactor > 0)) return 0;
106808
+ return Math.max(0, Math.floor(fps * aggregateFactor * (1 - headroom) / cameraFps + 1e-9));
106809
+ }
106810
+ function reportFor(hardware, deviceKey) {
106811
+ return hardware.accelerators?.find((report) => report.deviceKey === deviceKey) ?? null;
106516
106812
  }
106517
106813
  /** The table column with the node's own measurements laid over it. */
106518
106814
  function overlayMeasured(table, measured) {
@@ -106534,11 +106830,12 @@ function round(value, digits = 3) {
106534
106830
  const f = 10 ** digits;
106535
106831
  return Math.round(value * f) / f;
106536
106832
  }
106537
- function sessionsOn(cell, sizing) {
106538
- return cell === void 0 ? 0 : capacitySessionsOf(cell.fps, sizing.headroom, sizing.cameraFps);
106833
+ function sessionsOn(cell, sizing, kind) {
106834
+ if (cell === void 0) return 0;
106835
+ return capacitySessionsOf(cell.fps, sizing.headroom, sizing.cameraFps, aggregateThroughputFactor(kind, sizing.cameraFps));
106539
106836
  }
106540
- function fitsOn(cell, sizing) {
106541
- return sessionsOn(cell, sizing) >= sizing.minSessions;
106837
+ function fitsOn(ctx, modelId, sizing) {
106838
+ return sessionsOn(ctx.column[modelId], sizing, ctx.accelerator) >= sizing.minSessions;
106542
106839
  }
106543
106840
  function candidatesFor(contexts, formatsByModel) {
106544
106841
  return Object.keys(DETECTOR_ACCURACY).filter((id) => id.startsWith(AUTO_TUNE_FAMILY)).filter((id) => contexts.every((c) => c.column[id] !== void 0 && (formatsByModel[id] ?? []).includes(c.device.format))).map((id) => ({
@@ -106551,13 +106848,13 @@ function totalLatency(contexts, modelId) {
106551
106848
  }
106552
106849
  /** The fewest sessions any device of the group sustains with this model. */
106553
106850
  function worstSessions(contexts, modelId, sizing) {
106554
- return contexts.reduce((worst, c) => Math.min(worst, sessionsOn(c.column[modelId], sizing)), Number.POSITIVE_INFINITY);
106851
+ return contexts.reduce((worst, c) => Math.min(worst, sessionsOn(c.column[modelId], sizing, c.accelerator)), Number.POSITIVE_INFINITY);
106555
106852
  }
106556
106853
  /** One model for a group of devices that must agree (step 2–4 of the header). */
106557
106854
  function pickForGroup(contexts, formatsByModel, sizing) {
106558
106855
  const candidates = candidatesFor(contexts, formatsByModel);
106559
106856
  if (candidates.length === 0) return null;
106560
- const fitting = candidates.filter((c) => contexts.every((ctx) => fitsOn(ctx.column[c.modelId], sizing)));
106857
+ const fitting = candidates.filter((c) => contexts.every((ctx) => fitsOn(ctx, c.modelId, sizing)));
106561
106858
  if (fitting.length === 0) {
106562
106859
  const lightest = candidates.toSorted((a, b) => worstSessions(contexts, b.modelId, sizing) - worstSessions(contexts, a.modelId, sizing) || totalLatency(contexts, a.modelId) - totalLatency(contexts, b.modelId))[0];
106563
106860
  if (lightest === void 0) return null;
@@ -106576,7 +106873,7 @@ function pickForGroup(contexts, formatsByModel, sizing) {
106576
106873
  const reasons = [];
106577
106874
  const mostAccurate = candidates[0];
106578
106875
  if (mostAccurate !== void 0 && mostAccurate.modelId !== best.modelId) {
106579
- const limitedBy = contexts.find((ctx) => !fitsOn(ctx.column[mostAccurate.modelId], sizing))?.device.key ?? "";
106876
+ const limitedBy = contexts.find((ctx) => !fitsOn(ctx, mostAccurate.modelId, sizing))?.device.key ?? "";
106580
106877
  reasons.push({
106581
106878
  kind: "stepped-down",
106582
106879
  from: mostAccurate.modelId,
@@ -106597,13 +106894,19 @@ function pickForGroup(contexts, formatsByModel, sizing) {
106597
106894
  function choiceOn(ctx, modelId, sizing) {
106598
106895
  const cell = ctx.column[modelId];
106599
106896
  if (cell === void 0) return null;
106897
+ const estimatedFrom = cell.source?.kind === "node-benchmark" ? void 0 : cell.estimatedFrom;
106898
+ const source = cell.source ?? (estimatedFrom !== void 0 ? {
106899
+ kind: "estimated",
106900
+ estimatedFrom
106901
+ } : { kind: "table" });
106600
106902
  return {
106601
106903
  modelId,
106602
106904
  p50Ms: cell.p50Ms,
106603
106905
  fps: cell.fps,
106604
106906
  measured: cell.measured,
106605
- source: cell.source ?? { kind: "table" },
106606
- capacitySessions: sessionsOn(cell, sizing),
106907
+ source,
106908
+ ...estimatedFrom !== void 0 ? { estimatedFrom } : {},
106909
+ capacitySessions: sessionsOn(cell, sizing, ctx.accelerator),
106607
106910
  personRecall: DETECTOR_ACCURACY[modelId]?.personRecall ?? 0
106608
106911
  };
106609
106912
  }
@@ -106654,7 +106957,11 @@ function recommendNode(input) {
106654
106957
  const measured = input.measured ?? {};
106655
106958
  const hasMeasured = Object.values(measured).some((m) => Object.keys(m).length > 0);
106656
106959
  const knownTable = hardwareClass === "unknown" ? void 0 : perf[hardwareClass];
106657
- if (knownTable === void 0 && !hasMeasured) return skippedNode(node, {
106960
+ const canEstimate = (hardware.accelerators ?? []).some((report) => {
106961
+ const kind = acceleratorKindOf(report.deviceKey, hardware);
106962
+ return kind !== null && reportIsScalable(report, kind);
106963
+ });
106964
+ if (knownTable === void 0 && !hasMeasured && !canEstimate) return skippedNode(node, {
106658
106965
  kind: "no-measured-data",
106659
106966
  hardwareClass
106660
106967
  }, hardwareClass);
@@ -106690,7 +106997,12 @@ function recommendNode(input) {
106690
106997
  });
106691
106998
  continue;
106692
106999
  }
106693
- const column = accelerator === null ? void 0 : overlayMeasured(classTable[accelerator], measured[device.key]);
107000
+ const column = accelerator === null ? void 0 : overlayMeasured(resolveLatencyColumn({
107001
+ hardwareClass,
107002
+ accelerator,
107003
+ report: reportFor(hardware, device.key),
107004
+ perf
107005
+ })?.column, measured[device.key]);
106694
107006
  if (accelerator === null || column === void 0) {
106695
107007
  early.set(device.key, [{
106696
107008
  kind: "no-family-build",
@@ -107438,6 +107750,507 @@ function buildBenchStepTree(schema, rootModelId, enabledStepIds) {
107438
107750
  }];
107439
107751
  }
107440
107752
  //#endregion
107753
+ //#region src/pipeline/second-pass/small-subject-recovery.ts
107754
+ /** The object-detection step id — the first-level detector both recipes run. */
107755
+ var OBJECT_DETECTION_STEP_ID = "object-detection";
107756
+ /**
107757
+ * Smallest crop side, native pixels. Below this the model no longer
107758
+ * magnifies enough to matter on a 4K frame, and on a 1080p frame 640 is
107759
+ * already a third of the picture. Measured: 480–800 px all recover the dog.
107760
+ */
107761
+ var RECOVERY_CROP_MIN_SIDE_PX = 640;
107762
+ /**
107763
+ * Largest crop side. A 320 model on a 1024 px square is a 3.2× reduction and
107764
+ * scored the dog at 0.52–0.76; at 1280 px it was absent again. A region wider
107765
+ * than this is tiled, never zoomed out.
107766
+ */
107767
+ var RECOVERY_CROP_MAX_SIDE_PX = 800;
107768
+ /** Context around the region before squaring, as a fraction of its larger side. */
107769
+ var RECOVERY_CROP_PADDING_RATIO = .25;
107770
+ /**
107771
+ * The view the crop is resolved at, compressed. Never larger than the crop
107772
+ * (the floor is {@link RECOVERY_CROP_MIN_SIDE_PX}), so it never upscales, and
107773
+ * the model letterboxes it to its own input from here as it does the frame.
107774
+ */
107775
+ var RECOVERY_VIEW_PX = 640;
107776
+ /**
107777
+ * Crops per frame. Each is one more inference on the same pool (15–25 ms on
107778
+ * CoreML for a 640 view); two cover a person-and-dog blob and a second mover.
107779
+ */
107780
+ var RECOVERY_MAX_CROPS_PER_FRAME = 2;
107781
+ /**
107782
+ * The pass runs at most this often per camera — at 10 fps that is one frame
107783
+ * in five. A subject the full pass misses is missed for seconds, not for one
107784
+ * frame, so the recovery does not need every frame to find it.
107785
+ *
107786
+ * The floor under this number is the tracker: a track coasts for
107787
+ * `maxMissedMs` (4 000 ms by default) before it is dropped, so 2 recoveries a
107788
+ * second keep a subject the full-frame pass has lost ALIVE with 8× margin,
107789
+ * and reach `minHits` (3) in 1.5 s. Raising it past ~1 300 ms would start to
107790
+ * lose tracks between passes.
107791
+ */
107792
+ var RECOVERY_MIN_INTERVAL_MS = 500;
107793
+ /**
107794
+ * A region larger than this share of the frame is not a small subject: a
107795
+ * lighting change, a car filling the picture, a person at the lens. The
107796
+ * full-frame pass already sees those at scale.
107797
+ */
107798
+ var RECOVERY_MAX_REGION_FRAME_FRACTION = .25;
107799
+ /**
107800
+ * How much of a region must lie OUTSIDE every full-frame detection for the
107801
+ * pass to run on it. A person's own blob (dilated, with shadow) is covered
107802
+ * 70–90% by the person box; a person-and-dog blob is covered ~55% by it.
107803
+ */
107804
+ var RECOVERY_MIN_UNCOVERED_FRACTION = .35;
107805
+ /** Motion regions older than this describe a different frame. */
107806
+ var RECOVERY_MOTION_MAX_AGE_MS = 2e3;
107807
+ /** A recovered box overlapping a same-class full-frame box this much is the same subject. */
107808
+ var RECOVERY_FUSE_IOU = .5;
107809
+ /**
107810
+ * A recovered box CONTAINED this much in a same-class full-frame box is a part
107811
+ * of it — a torso the crop cut out of a person the full pass already has.
107812
+ */
107813
+ var RECOVERY_FUSE_CONTAINMENT = .7;
107814
+ /** A box within this many crop-view pixels of the crop edge was clipped by it. */
107815
+ var RECOVERY_EDGE_MARGIN_PX = 2;
107816
+ /** Area of a normalised rectangle, never negative. Shared with the D396 recipe. */
107817
+ function normalizedArea(r) {
107818
+ return Math.max(0, r.w) * Math.max(0, r.h);
107819
+ }
107820
+ var area = normalizedArea;
107821
+ function intersection(a, b) {
107822
+ return Math.max(0, Math.min(a.x + a.w, b.x + b.w) - Math.max(a.x, b.x)) * Math.max(0, Math.min(a.y + a.h, b.y + b.h) - Math.max(a.y, b.y));
107823
+ }
107824
+ /**
107825
+ * Share of `region` not covered by any detection box. The sum of pairwise
107826
+ * intersections over-counts where detections overlap each other, which only
107827
+ * makes the pass MORE conservative; clipped at 1.
107828
+ */
107829
+ function uncoveredFraction(region, detections) {
107830
+ const regionArea = area(region);
107831
+ if (regionArea <= 0) return 0;
107832
+ let covered = 0;
107833
+ for (const detection of detections) covered += intersection(region, detection);
107834
+ return 1 - Math.min(1, covered / regionArea);
107835
+ }
107836
+ /**
107837
+ * THE square-placement rule of this pass — one owner, shared by both recipes.
107838
+ *
107839
+ * A crop is a square of `side` native pixels centred where it can be and slid
107840
+ * inside the frame where it cannot. Both region rules place their squares
107841
+ * through this function so a crop means the same rectangle whichever rule
107842
+ * chose the region.
107843
+ */
107844
+ function squareAround(centreX, centreY, side, native) {
107845
+ return {
107846
+ left: Math.round(Math.max(0, Math.min(native.width - side, centreX - side / 2))),
107847
+ top: Math.round(Math.max(0, Math.min(native.height - side, centreY - side / 2))),
107848
+ side
107849
+ };
107850
+ }
107851
+ function contains(crop, x, y) {
107852
+ return x >= crop.left && x <= crop.left + crop.side && y >= crop.top && y <= crop.top + crop.side;
107853
+ }
107854
+ /**
107855
+ * Squares for one region: one when it fits the largest side, otherwise up to
107856
+ * two tiles along its longer axis (a person-sized blob with something small
107857
+ * at either end). The padded region decides the side, never the frame.
107858
+ */
107859
+ function cropsForRegion(region, native) {
107860
+ const widthPx = region.w * native.width;
107861
+ const heightPx = region.h * native.height;
107862
+ const longest = Math.max(widthPx, heightPx);
107863
+ const padded = longest * 1.5;
107864
+ const side = Math.round(Math.min(Math.max(padded, 640), 800));
107865
+ const centreX = (region.x + region.w / 2) * native.width;
107866
+ const centreY = (region.y + region.h / 2) * native.height;
107867
+ if (padded <= 800) return [squareAround(centreX, centreY, side, native)];
107868
+ const alongX = widthPx >= heightPx;
107869
+ const quarter = longest / 4;
107870
+ return [squareAround(alongX ? centreX - quarter : centreX, alongX ? centreY : centreY - quarter, side, native), squareAround(alongX ? centreX + quarter : centreX, alongX ? centreY : centreY + quarter, side, native)];
107871
+ }
107872
+ /**
107873
+ * The ONE place the two region gates are decided. `planRecoveryCrops` filters
107874
+ * on it and {@link countRecoverySkips} counts it, so the report can never
107875
+ * describe a gate the planner does not actually apply.
107876
+ */
107877
+ function classifyRegion(region, uncovered) {
107878
+ if (area(region) > .25) return "too-large";
107879
+ if (uncovered < .35) return "covered";
107880
+ return "eligible";
107881
+ }
107882
+ /**
107883
+ * WHY A FRAME PLANNED NO CROP, AS A NUMBER (D378).
107884
+ *
107885
+ * The pass report counts the passes that RAN, so "the second pass stops running
107886
+ * when a person is beside the dog" — a plausible reading of
107887
+ * {@link RECOVERY_MAX_REGION_FRAME_FRACTION} and
107888
+ * {@link RECOVERY_MIN_UNCOVERED_FRACTION}, and a live hypothesis on camera 615
107889
+ * — could not be confirmed or killed from the logs at all. This classifies the
107890
+ * regions a frame offered, against the same predicate the planner filters on.
107891
+ */
107892
+ function countRecoverySkips(input) {
107893
+ let tooLarge = 0;
107894
+ let covered = 0;
107895
+ let eligible = 0;
107896
+ for (const region of input.regions) switch (classifyRegion(region, uncoveredFraction(region, input.detections))) {
107897
+ case "too-large":
107898
+ tooLarge += 1;
107899
+ break;
107900
+ case "covered":
107901
+ covered += 1;
107902
+ break;
107903
+ case "eligible":
107904
+ eligible += 1;
107905
+ break;
107906
+ }
107907
+ return {
107908
+ tooLarge,
107909
+ covered,
107910
+ eligible
107911
+ };
107912
+ }
107913
+ function planRecoveryCrops(input) {
107914
+ const { native } = input;
107915
+ if (Math.min(native.width, native.height) < 640) return [];
107916
+ const ranked = input.regions.map((region) => ({
107917
+ region,
107918
+ uncovered: uncoveredFraction(region, input.detections)
107919
+ })).filter(({ region, uncovered }) => classifyRegion(region, uncovered) === "eligible").toSorted((a, b) => area(b.region) * b.uncovered - area(a.region) * a.uncovered);
107920
+ const planned = [];
107921
+ for (const { region } of ranked) for (const crop of cropsForRegion(region, native)) {
107922
+ if (planned.length >= 2) return planned;
107923
+ const centreX = crop.left + crop.side / 2;
107924
+ const centreY = crop.top + crop.side / 2;
107925
+ if (planned.some((existing) => contains(existing, centreX, centreY))) continue;
107926
+ planned.push(crop);
107927
+ }
107928
+ return planned;
107929
+ }
107930
+ /**
107931
+ * Boxes the executor produced on the crop VIEW → the result's own space.
107932
+ *
107933
+ * Three spaces meet here: the view the model saw (`view`, ≤640 px), the native
107934
+ * square it was cut from (`crop`, native px) and the space the full-frame
107935
+ * result reports in (`result`, native px on the `frameRef` path, the inline
107936
+ * ≤640 view otherwise). A box touching the view edge was clipped by the crop
107937
+ * and is dropped: half a person is not a person, and the tracker would take
107938
+ * the half as the whole.
107939
+ */
107940
+ function remapCropDetections(detections, crop, view, result, native) {
107941
+ const viewToNative = crop.side / Math.max(1, view.width);
107942
+ const nativeToResultX = result.width / Math.max(1, native.width);
107943
+ const nativeToResultY = result.height / Math.max(1, native.height);
107944
+ const out = [];
107945
+ for (const detection of detections) {
107946
+ const { x, y, width, height } = detection.bbox;
107947
+ if (x <= 2 || y <= 2 || x + width >= view.width - 2 || y + height >= view.height - 2) continue;
107948
+ out.push({
107949
+ ...detection,
107950
+ nativeRecovery: {
107951
+ score: detection.score,
107952
+ cropSidePx: crop.side,
107953
+ viewPx: view.width
107954
+ },
107955
+ bbox: {
107956
+ x: (crop.left + x * viewToNative) * nativeToResultX,
107957
+ y: (crop.top + y * viewToNative) * nativeToResultY,
107958
+ width: width * viewToNative * nativeToResultX,
107959
+ height: height * viewToNative * nativeToResultY
107960
+ }
107961
+ });
107962
+ }
107963
+ return out;
107964
+ }
107965
+ function boxIntersection(a, b) {
107966
+ return Math.max(0, Math.min(a.x + a.width, b.x + b.width) - Math.max(a.x, b.x)) * Math.max(0, Math.min(a.y + a.height, b.y + b.height) - Math.max(a.y, b.y));
107967
+ }
107968
+ function sameSubject(recovered, existing) {
107969
+ const inter = boxIntersection(recovered, existing);
107970
+ if (inter <= 0) return false;
107971
+ const areaR = recovered.width * recovered.height;
107972
+ const union = areaR + existing.width * existing.height - inter;
107973
+ if (union > 0 && inter / union >= .5) return true;
107974
+ return areaR > 0 && inter / areaR >= .7;
107975
+ }
107976
+ /**
107977
+ * Class-aware NMS of the recovered boxes against the full-frame ones. Every
107978
+ * full-frame box is kept as it is — the second pass only ADDS. A recovered box
107979
+ * is added when no full-frame box of the same macro class is the same subject
107980
+ * (`RECOVERY_FUSE_IOU`) or contains it (`RECOVERY_FUSE_CONTAINMENT`). Ids are
107981
+ * re-minted so a crop's `d0` cannot collide with the frame's.
107982
+ */
107983
+ function fuseRecoveredDetections(full, recovered) {
107984
+ const accepted = [];
107985
+ for (const [index, candidate] of recovered.entries()) {
107986
+ if ([...full, ...accepted].some((existing) => existing.macroClass === candidate.macroClass && sameSubject(candidate.bbox, existing.bbox))) continue;
107987
+ accepted.push({
107988
+ ...candidate,
107989
+ id: `recovered-${index}-${candidate.id}`
107990
+ });
107991
+ }
107992
+ return [...full, ...accepted];
107993
+ }
107994
+ /**
107995
+ * The step the second pass runs: the enabled first-level object detector of
107996
+ * the camera's own tree, with its own model and no children. Same model as
107997
+ * the full pass so a recovered box is comparable to a full-frame one.
107998
+ */
107999
+ function selectRecoveryStep(steps) {
108000
+ const detector = steps.find((step) => step.addonId === "object-detection" && step.enabled !== false);
108001
+ if (!detector) return null;
108002
+ return {
108003
+ addonId: detector.addonId,
108004
+ ...detector.modelId !== void 0 ? { modelId: detector.modelId } : {},
108005
+ enabled: true
108006
+ };
108007
+ }
108008
+ //#endregion
108009
+ //#region src/pipeline/second-pass/motion-crop-plan.ts
108010
+ /**
108011
+ * Step-settings key of the opt-in, on the `object-detection` step — so it is
108012
+ * per camera through `pipelineOrchestrator.setCameraStepSettings` (a
108013
+ * camera-semantic key, D927), and it rides the same
108014
+ * `PipelineStepInputOutput.settings` the per-macro confidence floors ride.
108015
+ */
108016
+ var MOTION_CROP_DISPATCH_KEY = "motionCropDispatch";
108017
+ /**
108018
+ * Read the opt-in. Anything that is not the boolean `true` is the shipped
108019
+ * rule: a stored string or a number is a mis-write (this repo has shipped a
108020
+ * setting written into the wrong sqlite table before), and a mis-write must
108021
+ * not silently change what a camera detects on.
108022
+ */
108023
+ function readRecoveryRecipe(settings) {
108024
+ return settings?.["motionCropDispatch"] === true ? "motion-crop" : "uncovered-region";
108025
+ }
108026
+ /**
108027
+ * The recipe this camera's resolved step tree selects.
108028
+ *
108029
+ * Reads the ENABLED first-level detector's own settings, which is where
108030
+ * `pipelineOrchestrator.setCameraStepSettings` writes a per-camera value. A
108031
+ * tree with no enabled detector runs no second pass at all, so the answer
108032
+ * there is the shipped rule and it is never used.
108033
+ */
108034
+ function readRecoveryRecipeForSteps(steps) {
108035
+ return readRecoveryRecipe(steps.find((step) => step.addonId === "object-detection" && step.enabled !== false)?.settings);
108036
+ }
108037
+ /**
108038
+ * A motion box is grown ×1.5 about its centre before anything else.
108039
+ *
108040
+ * The motion step's box is the CHANGED pixels, which on a moving animal is the
108041
+ * leading edge plus its shadow, not the animal. The detector needs the subject
108042
+ * and the context it was trained on.
108043
+ */
108044
+ var MOTION_CROP_MOTION_PAD = 1.5;
108045
+ /**
108046
+ * An intersecting tracked box is grown ×1.25 — less, because it is already a
108047
+ * subject rectangle rather than a change mask.
108048
+ */
108049
+ var MOTION_CROP_TRACKED_PAD = 1.25;
108050
+ /**
108051
+ * Regions per frame, largest area first.
108052
+ *
108053
+ * Measured as NON-BINDING: over the 156 frames of the recall harness the cap
108054
+ * bound on 0 of them. It is the bound on a storm, not a tuning knob, and the
108055
+ * runner reports when it binds so a camera on which it starts to is visible.
108056
+ */
108057
+ var MOTION_CROP_MAX_REGIONS = 3;
108058
+ /**
108059
+ * The floor a `person` or `vehicle` box must clear when it came out of a CROP
108060
+ * rather than out of the full frame.
108061
+ *
108062
+ * Collected, not assumed: 3 085 quiet frames produced 27 motion-positive
108063
+ * frames and 28 crop invocations. The full-frame arm produced 0 boxes above
108064
+ * any gate; the crop arm produced 3, of which two are genuine false positives,
108065
+ * and both are night-IR corners upscaled into a 320 model — `vehicle 0.749`
108066
+ * and `person 0.701`. Zero false `animal` at any gate, which is why `animal`
108067
+ * is deliberately absent from this table: the class the pass exists to recover
108068
+ * is the class that never produced a false positive, and gating it would cost
108069
+ * the whole measured gain.
108070
+ *
108071
+ * This is a CROP-ONLY floor, applied on top of the per-macro floors the
108072
+ * executor already enforced. A full-frame `person` at 0.70 is untouched — the
108073
+ * full-frame arm is the one arm with ground truth behind its floor
108074
+ * (`minConfidencePerson` 0.65, raised on 2026-07-30 from a measured
108075
+ * distribution).
108076
+ *
108077
+ * The cost of this floor is stated rather than assumed away: it can also
108078
+ * remove a real distant person or vehicle recovered from a crop at 0.70–0.80.
108079
+ * Nothing in the quiet-footage sample measures that, so the floor is a
108080
+ * constant here rather than a slider, and the runner reports every drop it
108081
+ * makes per camera.
108082
+ */
108083
+ var CROP_CLASS_FLOORS = Object.freeze({
108084
+ person: .8,
108085
+ vehicle: .8
108086
+ });
108087
+ /**
108088
+ * Apply the crop-only class floors, REPORTING every drop.
108089
+ *
108090
+ * A class with no entry in {@link CROP_CLASS_FLOORS} is kept: a floor this
108091
+ * table cannot express is not a floor of zero, and silently dropping a class
108092
+ * nobody measured is the exact shape of silent drop this repo has paid for
108093
+ * three separate times.
108094
+ */
108095
+ function applyCropClassFloors(detections) {
108096
+ const kept = [];
108097
+ const dropped = [];
108098
+ for (const detection of detections) {
108099
+ const floor = CROP_CLASS_FLOORS[detection.macroClass];
108100
+ if (floor !== void 0 && detection.score < floor) {
108101
+ dropped.push({
108102
+ macroClass: detection.macroClass,
108103
+ score: detection.score,
108104
+ floor
108105
+ });
108106
+ continue;
108107
+ }
108108
+ kept.push(detection);
108109
+ }
108110
+ return {
108111
+ kept,
108112
+ dropped
108113
+ };
108114
+ }
108115
+ function scaleAbout(rect, factor) {
108116
+ const w = rect.w * factor;
108117
+ const h = rect.h * factor;
108118
+ return {
108119
+ x: rect.x + rect.w / 2 - w / 2,
108120
+ y: rect.y + rect.h / 2 - h / 2,
108121
+ w,
108122
+ h
108123
+ };
108124
+ }
108125
+ function overlaps(a, b) {
108126
+ return Math.min(a.x + a.w, b.x + b.w) > Math.max(a.x, b.x) && Math.min(a.y + a.h, b.y + b.h) > Math.max(a.y, b.y);
108127
+ }
108128
+ function union(a, b) {
108129
+ const x = Math.min(a.x, b.x);
108130
+ const y = Math.min(a.y, b.y);
108131
+ return {
108132
+ x,
108133
+ y,
108134
+ w: Math.max(a.x + a.w, b.x + b.w) - x,
108135
+ h: Math.max(a.y + a.h, b.y + b.h) - y
108136
+ };
108137
+ }
108138
+ function clampToFrame(rect) {
108139
+ const x = Math.max(0, rect.x);
108140
+ const y = Math.max(0, rect.y);
108141
+ return {
108142
+ x,
108143
+ y,
108144
+ w: Math.min(1, rect.x + rect.w) - x,
108145
+ h: Math.min(1, rect.y + rect.h) - y
108146
+ };
108147
+ }
108148
+ /**
108149
+ * Merge transitively every seed whose padded box overlaps another, and answer
108150
+ * the union rectangles.
108151
+ *
108152
+ * Transitive on purpose: a person, the dog beside them and the dog's shadow
108153
+ * are three components of one subject, and cutting three crops for them spends
108154
+ * two inferences on pixels the first one already showed the detector.
108155
+ */
108156
+ function mergeSeeds(seeds) {
108157
+ const merged = [];
108158
+ for (const seed of seeds) {
108159
+ let current = seed;
108160
+ let changed = true;
108161
+ while (changed) {
108162
+ changed = false;
108163
+ for (let i = merged.length - 1; i >= 0; i -= 1) {
108164
+ const other = merged[i];
108165
+ if (other === void 0 || !overlaps(current, other)) continue;
108166
+ current = union(current, other);
108167
+ merged.splice(i, 1);
108168
+ changed = true;
108169
+ }
108170
+ }
108171
+ merged.push(current);
108172
+ }
108173
+ return merged;
108174
+ }
108175
+ /**
108176
+ * The regions the measured recipe judges this frame on.
108177
+ *
108178
+ * Motion boxes padded {@link MOTION_CROP_MOTION_PAD}; every full-frame box
108179
+ * that intersects a RAW motion box padded {@link MOTION_CROP_TRACKED_PAD} and
108180
+ * added as a seed of its own; everything that overlaps merged; the result
108181
+ * clamped to the frame, ordered largest first and capped at
108182
+ * {@link MOTION_CROP_MAX_REGIONS}.
108183
+ *
108184
+ * There is deliberately no coverage gate and no size gate here. Those belong
108185
+ * to the shipped rule, and they are what makes it a rule about a subject
108186
+ * BESIDE a detected one; the measurement says the pass is worth running on the
108187
+ * detected subject's own region too.
108188
+ */
108189
+ function planMotionCropRegions(input) {
108190
+ if (input.regions.length === 0) return [];
108191
+ const seeds = input.regions.map((r) => scaleAbout(r, MOTION_CROP_MOTION_PAD));
108192
+ for (const detection of input.detections) {
108193
+ if (!input.regions.some((region) => overlaps(detection, region))) continue;
108194
+ seeds.push(scaleAbout(detection, MOTION_CROP_TRACKED_PAD));
108195
+ }
108196
+ return mergeSeeds(seeds).map(clampToFrame).filter((r) => r.w > 0 && r.h > 0).toSorted((a, b) => normalizedArea(b) - normalizedArea(a)).slice(0, 3);
108197
+ }
108198
+ /**
108199
+ * The square the detector is fed for one measured region.
108200
+ *
108201
+ * "Grow to the detector's input aspect ratio without ever shrinking" is a
108202
+ * SQUARE here, and that is a fact about the production detector rather than a
108203
+ * simplification: `yolov9m-320-int8` takes 320×320, as does every hardware
108204
+ * default in the catalog.
108205
+ *
108206
+ * The side is the region's longer side, floored at
108207
+ * {@link RECOVERY_CROP_MIN_SIDE_PX} — the growth is what magnifies the subject
108208
+ * — and ceilinged at {@link RECOVERY_CROP_MAX_SIDE_PX}. The ceiling is NOT a
108209
+ * simplification either: at 1024 px the same 320 model scored the reference
108210
+ * dog 0.52–0.76, and at 1280 px lost it entirely
108211
+ * (`docs/benchmarks/pipeline-frame-model-eval.md`, case `miss-dog-615`). A
108212
+ * region longer than the ceiling is TILED along its longer axis, never zoomed
108213
+ * out.
108214
+ */
108215
+ function motionCropsForRegion(region, native) {
108216
+ const widthPx = region.w * native.width;
108217
+ const heightPx = region.h * native.height;
108218
+ const longest = Math.max(widthPx, heightPx);
108219
+ const side = Math.round(Math.min(Math.max(longest, 640), 800));
108220
+ const centreX = (region.x + region.w / 2) * native.width;
108221
+ const centreY = (region.y + region.h / 2) * native.height;
108222
+ if (longest <= 800) return [squareAround(centreX, centreY, side, native)];
108223
+ const alongX = widthPx >= heightPx;
108224
+ const quarter = longest / 4;
108225
+ return [squareAround(alongX ? centreX - quarter : centreX, alongX ? centreY : centreY - quarter, side, native), squareAround(alongX ? centreX + quarter : centreX, alongX ? centreY : centreY + quarter, side, native)];
108226
+ }
108227
+ /** `true` when `inner` lies entirely inside `outer`. */
108228
+ function cropContains(outer, inner) {
108229
+ return inner.left >= outer.left && inner.top >= outer.top && inner.left + inner.side <= outer.left + outer.side && inner.top + inner.side <= outer.top + outer.side;
108230
+ }
108231
+ /**
108232
+ * The crops the measured recipe runs on this frame.
108233
+ *
108234
+ * Dedupe is by CONTAINMENT only. Two squares that merely overlap both run: the
108235
+ * pixels the second adds are pixels no other crop shows the detector, and the
108236
+ * fusion step downstream already refuses a duplicate BOX. Dropping a crop
108237
+ * because it overlapped would drop the subject sitting at its edge, which is
108238
+ * the whole population this pass exists for.
108239
+ *
108240
+ * A frame that cannot hold the smallest crop yields nothing: it is already
108241
+ * seen at scale.
108242
+ */
108243
+ function planMotionCrops(input) {
108244
+ const { native } = input;
108245
+ if (Math.min(native.width, native.height) < 640) return [];
108246
+ const planned = [];
108247
+ for (const region of planMotionCropRegions(input)) for (const crop of motionCropsForRegion(region, native)) {
108248
+ if (planned.some((existing) => cropContains(existing, crop))) continue;
108249
+ planned.push(crop);
108250
+ }
108251
+ return planned;
108252
+ }
108253
+ //#endregion
107441
108254
  //#region src/pipeline/root-face-crop.ts
107442
108255
  /** Side of the square, as a multiple of the face box's longer side. */
107443
108256
  var ROOT_FACE_REFINE_SCALE = 1.6;
@@ -109786,4 +110599,4 @@ function armRemovalReconcile(opts) {
109786
110599
  return () => clearInterval(timer);
109787
110600
  }
109788
110601
  //#endregion
109789
- export { ACCESSORY_LABEL, ACCESS_ROLES, ADMIN_SCOPE, AGENT_MDNS_QUERY_NAME, AGENT_MDNS_SERVICE_TYPE, AGENT_MDNS_TXT_KEYS, ALEXA_EGRESS_PROFILE, ALL_CAPABILITY_DEFINITIONS, ALL_METHOD_ACCESS, APPEARANCE_BIN_COUNT, APPEARANCE_BLOCKS, APPEARANCE_DESCRIPTOR_VERSION, APPEARANCE_RESOLVES_AMBIGUITY_DEFAULT, APPLE_SA_TO_MACRO, APP_AUTH_CALLBACK_MAX_LENGTH, APP_AUTH_CALLBACK_URLS, APP_FLOW_DEFAULT_REDIRECT, APP_FLOW_REFUSAL_MESSAGES, APP_FLOW_STATE_PREFIX, APP_REFUSED_PATH, APP_START_REFUSAL_MESSAGES, ARCHIVED_DEBUG_NOTES_DEFAULT_LIMIT, AUDIO_ANALYSIS_CAP_NAME, AUDIO_BACKEND_CHOICES, AUDIO_CHUNK_FORMATS, AUDIO_MACRO_LABELS, AUDIO_NOT_CLASSIFIED_REASONS, AUDIO_PRESETS, AUDIO_SCALE_EPOCH_ISO, AUDIO_SCALE_EPOCH_MS, AUTOMATIC_HUB_ADDRESS_FLAGS, AUTO_SHARE_HEADROOM, AUTO_TUNE_FAMILY, AcceleratorKindSchema, AccessoriesStatusSchema, AccessoryKind, AddBrokerInputSchema, AddRetrainFrameFromRecordingResultSchema, AddonAutoUpdateSchema, AddonListItemSchema, AddonPageDeclarationSchema, AddonPageInfoSchema, AddonRoutesScopeSchema, AdminLinkTargetEnum, AdoptInputSchema as AdoptionAdoptInputSchema, AdoptResultSchema as AdoptionAdoptResultSchema, AdoptionCandidateResultSchema, AdoptionFilterSchema, GetCandidateInputSchema as AdoptionGetCandidateInputSchema, AdoptionJobSchema, AdoptionJobStateSchema, ListCandidatesInputSchema as AdoptionListCandidatesInputSchema, ListCandidatesOutputSchema as AdoptionListCandidatesOutputSchema, AdoptionOutcomeSchema, ReleaseInputSchema as AdoptionReleaseInputSchema, AdoptionStatusSchema, AgentLoadSummarySchema, AirQualitySensorStatusSchema, AlarmArmModeSchema, AlarmPanelStatusSchema, AlarmStateSchema, AlertEpisodePayloadSchema, AlertSchema, AlertSeveritySchema, AlertSourceSchema, AlertStatusSchema, AmbientLightSensorStatusSchema, AnalyticsLtsSeriesSchema, AppFlowPurposeSchema, AppLoginPathSchema, AppPageLangSchema, AppleFmAvailabilitySchema, AppleFmUnavailableReasonSchema, ArchiveEntrySchema, ArchiveManifestSchema, ArchiveSqliteSnapshotSchema, ArchivedDebugNoteQueryInputSchema, ArchivedDebugNoteSchema, AttachmentMediaTypeSchema, AttachmentSchema, AudioAnalysisResultSchema, AudioAnalysisSettingsSchema, AudioAttachDeviceInputSchema, AudioAttachDeviceResultSchema, AudioChunkFormatSchema, AudioChunkInputSchema, AudioClassSummarySchema, AudioClassificationLabelSchema, AudioClassificationResultSchema, AudioClassifyOutcomeSchema, AudioCodecInfoSchema, AudioDecodeSessionConfigSchema, AudioDetachDeviceResultSchema, AudioEncodeSchema, AudioEncodeSessionConfigSchema, AudioEncodedChunkSchema, AudioEventSchema, AudioLevelSchema, AudioMetricsHistoryPointSchema, AudioMetricsHistorySchema, AudioMetricsSnapshotSchema, AudioPcmChunkSchema, AudioStreamPickSchema, AuthResultSchema, AutoTuneApplyInputSchema, AutoTuneApplyResultSchema, AutoTuneOptionsSchema, AutoTunePhaseResultSchema, AutoTunePlanSchema, AutoTuneWarningSchema, AutoUpdateSettingsSchema, AutomationActionSchema, AutomationConditionOperatorSchema, AutomationConditionSchema, AutomationControlStatusSchema, AutomationRecipeSchema, AutomationTriggerSchema, AvailableIntegrationTypeSchema, BASE_DEVICE_CAPS, BASE_LIVE_EGRESS_PROFILE, BATTERY_DEVICE_PROFILE, BATTERY_UNREACHABLE_AFTER_MS, BENCH_ROOT_STEP_ID, BIRTH_DECISION_DEFAULT_LIMIT, BOOT_RECOVERY_BACKOFF_MS, BUILTIN_RESULT_KINDS, BackgroundRunRegistry, BacklightModeSchema, BackupArchiveEncryptionSchema, BackupDestinationInfoSchema, BackupEncryptionStatusSchema, BackupEntrySchema, BackupRunPhaseSchema, BackupRunSchema, BackupRunStateSchema, BackupTriggerResultSchema, BaseAddon, BaseDevice, BaseDeviceProvider, BatchTooLargeError, BatteryStatusSchema, BinaryStatusSchema, BirthDecisionCropSourceSchema, BirthDecisionQueryInputSchema, BirthDecisionRecordSchema, BirthDecisionVerdictSchema, BoundingBoxSchema, BrightnessStatusSchema, AddInputSchema as BrokerAddInputSchema, BrokerAudioClientSchema, BrokerClientsSchema, BrokerConnectionDetailsSchema, BrokerConsumerAttributionSchema, BrokerConsumerKindSchema, BrokerEncodedClientSchema, GetStateInputSchema as BrokerGetStateInputSchema, BrokerInfoSchema, BrokerInfoSchema as UnifiedBrokerInfoSchema, BrokerProviderInfoSchema, PublishInputSchema as BrokerPublishInputSchema, RegistryStatusSchema as BrokerRegistryStatusSchema, BrokerRtspClientSchema, BrokerStatsSchema, BrokerStatusEnum, BrokerStatusSchema, SubscribeInputSchema as BrokerSubscribeInputSchema, SubscribeResultSchema as BrokerSubscribeResultSchema, TestConnectionResultSchema as BrokerTestConnectionResultSchema, UnsubscribeInputSchema as BrokerUnsubscribeInputSchema, BucketAccumulator, BulkRecordSchema, CALLER_STAMPED_CAPABILITIES, CAMERA_SENSORS_NOT_LOADED, CAMERA_SENSORS_SETTINGS_KEY, CAMERA_SWITCH_CATALOG, CAMERA_SWITCH_ORDER, CAMERA_TRIGGER, CAMSTACK_APP_LINK_ORIGIN, CAMSTACK_EVENT_PREFIX, CAM_PROFILE_ORDER, CAPABILITY_NAMES, CAPABILITY_ROUTER_KEYS, CAP_NAMES_WITH_STATUS, CAP_NODE_PIN_CONTEXT_KEY, CAP_PROVIDER_KIND_MAP, CAP_VOCABULARY, CAP_VOCABULARY_BY_NAME, CATALOG_LANGS, CLASS_MAP_MACRO_TARGETS, CLIP_BROKER_PACED_RATES, CLIP_LABEL_EVENT_FETCH_LIMIT, CLIP_PLAYBACK_OPTIONS, CLIP_REALTIME_SOURCE_RATES, CLIP_REASON_HEADER_MAX, CLIP_SEARCH_STRICTNESS, CLIP_STILL_DISPOSITION_HEADER, CLIP_STILL_REASON_CODE_HEADER, CLIP_STILL_REASON_HEADER, CLIP_STREAM_SOURCE_RATES, CLIP_STREAM_TRANSPORT_HEADER, CLIP_STRICTNESS_FACTOR, CLIP_VECTOR_INDEX_PATTERN, CLUSTER_MODEL_CHOICE_UNREADABLE_REASONS, CLUSTER_MODEL_SCOPED_STEPS, CLUSTER_MODEL_SECTION_ID, CLUSTER_STEP_SETTING_FIELDS, COCO_80_LABELS, COCO_TO_MACRO, COMPOSED_DEVICE_STABLE_ID_PREFIX, COMPOSED_ITEM_FIXED_FIELDS, COMPOSER_ADDON_ID, COMPOSER_RUNNER_ID, COMPOSITION_EVENT_CATEGORY, COMPOSITION_ITEM_ARRAY_PATH, COMPOSITION_ITEM_KEY_RE, CONNECTION_TEST_TIMEOUT_MS, CONTAINER_CHILD_PRIORITY, CORAL_DEFAULT_MODEL_ID, CORE_BLOCKS_ADDON_ID, CORE_BLOCK_ADDON_PREFIX, CREDENTIAL_TOKEN_AUDIENCE, CREDENTIAL_TOKEN_KIND, CROP_SUPPLY_SOURCES, CROP_SUPPLY_STEP_IDS, CUSTOMIZATION_BLOCK_NAME_PREFIX, CalendarColorSchema, CalendarEntrySchema, CalendarEventSchema, CalendarInfoSchema, CalendarListEventsInputSchema, CalendarPreferenceEntrySchema, CalendarPreferencesSchema, CalendarSetPreferenceInputSchema, CalendarSourceKindSchema, CamProfileSchema, CamStreamDescriptorSchema, CamStreamKindSchema, CamStreamResolutionSchema, CameraAssignmentStatusSchema, CameraAudioStatusSchema, CameraBrokerProfileSchema, CameraBrokerStatusSchema, CameraCredentialsSchema, CameraCredentialsStatusSchema, CameraDecoderStatusSchema, CameraDetectionPhaseSchema, CameraDetectionProvisioningSchema, CameraDetectionProvisioningStateSchema, CameraDetectionSourceSchema, CameraDetectionStatusSchema, CameraMetricsSchema, CameraMetricsWithDeviceIdSchema, CameraMotionStatusSchema, CameraOccupancySnapshotForDeviceSchema, CameraOwnMotionSchema, CameraRawLevelSchema, CameraRecordingModeSchema, CameraRecordingStatusSchema, CameraSensorAttachmentSchema, CameraSensorEntrySchema, CameraSensorModeSchema, CameraSensorRefSchema, CameraSensorsConfigSchema, CameraSensorsNotEnforcedSchema, CameraSensorsNotForwardedSchema, CameraSensorsStatusSchema, CameraSourceStatusSchema, CameraSourceStreamSchema, CameraStatusDegradationReasonSchema, CameraStatusDegradationSchema, CameraStatusSchema, CameraStatusStageSchema, CameraStreamSchema, CameraSwitchAuthoritySchema, CameraSwitchGroupSchema, CameraSwitchIdSchema, CameraSwitchSchema, CameraSwitchUnavailableReasonSchema, CameraSwitchWarningSchema, CamstackError, CandidateQueryFilterSchema, CapScopeSchema, CapabilityBindingsSchema, CapacityFallbackSchema, CapacitySourceSchema, CarbonMonoxideStatusSchema, CatalogFileSchema, CatalogLangSchema, ChargingStatus, ClaimOutcomeSchema, ClaimsListingSchema, CleanupDeletedDevicesResultSchema, ClearTrackRelationInputSchema, ClearTrackRelationResultSchema, ClientNetworkStatsSchema, ClimateControlStatusSchema, ClipBytesOfferSchema, ClipBytesSchema, ClipExportFailureSchema, ClipModelMetaSchema, ClipPlaybackOptionsSchema, ClipPlaybackSchema, ClipSchema, ClipSearchStrictnessSchema, ClipSourceAvailabilitySchema, ClipSourceSchema, ClipStillDispositionSchema, ClipStillRefusalCodeSchema, ClipStreamAudioReasonSchema, ClipStreamAudioSchema, ClipStreamDialSchema, ClipWakeSchema, ClusterAddonNodeDeploymentSchema, ClusterAddonStatusEntrySchema, ClusterModelChoiceSchema, CollectionColumnSchema, CollectionIndexSchema, ColorStatusSchema, CompleteEnrollmentInputSchema, CompleteEnrollmentOutputSchema, CompleteEnrollmentResultSchema, ComposableCapabilitiesSchema, ComposableCapabilitySchema, ComposableFieldSchema, ComposerApplyInputSchema, ComposerApplyResultSchema, ComposerBlockSchema, ComposerBlockVerdictSchema, ComposerUnreadableBlockSchema, CompositionBindingSchema, CompositionBlockInputSchema, CompositionBlockStateSchema, CompositionCodeSourceSchema, CompositionCommandTargetSchema, CompositionCustomizationReadSchema, CompositionEventPlanSchema, CompositionExistingTargetSchema, CompositionExpressionSourceSchema, CompositionFeatureModeSchema, CompositionFeaturePlanSchema, CompositionFeatureSchema, CompositionFieldItemSchema, CompositionFieldKindSchema, CompositionFieldPlanSchema, CompositionFieldReadSchema, CompositionFieldRoleSchema, CompositionFieldSourceSchema, CompositionFieldStateKindSchema, CompositionFieldStateSchema, CompositionFieldsFeatureSchema, CompositionForwardCommandSchema, CompositionFromSourceSchema, CompositionGetReadSchema, CompositionGraphError, CompositionItemEntrySchema, CompositionListReadSchema, CompositionLiteralBindingSchema, CompositionNewTargetSchema, CompositionPassthroughFeatureSchema, CompositionProblemCodeSchema, CompositionProblemSchema, CompositionRunStatusSchema, CompositionSchema, CompositionSourceRefSchema, CompositionStateReadSchema, CompositionTargetSchema, CompositionUnavailableModeSchema, CompositionValidationSchema, CompositionViewSchema, ConfigEntrySchema, ConfigSectionWithValuesSchema, ConfigTabDeclarationSchema, ConnectionTestDescriptorSchema, ConnectionTestInputSchema, ConnectionTestOutcomeSchema, ConnectivityStatusSchema, ConsumableFormSchema, ConsumableItemSchema, ConsumableKindSchema, ConsumableLevelSchema, ConsumableRemainingSchema, ConsumableRemainingUnitSchema, ConsumableStatusSchema, ConsumablesStatusSchema, ContactStatusSchema, ControlKindSchema, ControlStatusSchema, ConvertArtifactSchema, ConvertResultSchema, ConvertTargetSchema, CoreBlockCompileInputSchema, CoreBlockCompileResultSchema, CoreBlockFilesSchema, CoreBlockInputFieldsSchema, CoreBlockInputSchema, CoreBlockPlacementSchema, CoreBlockSchema, CoreBlockSourceSchema, CoreBlockStatusSchema, CoverStateSchema, CoverStatusSchema, CreateIntegrationInputSchema, CreateUserInputSchema, CredentialScopeSchema, CredentialTokenClaimsSchema, CustomActionInputSchema, CustomModelDescriptorSchema, DATABASE_SNAPSHOT_PARTIAL_SUFFIX, DATABASE_SNAPSHOT_SUFFIX, DATABASE_SNAPSHOT_TIMEOUT_MS, DATAPLANE_SECRET_HEADER, DATA_STORE_DATABASES, DAYS_PER_WEEK, DAY_NAMES, DECLARED_DEVICE_SWEEP_LIMIT, DECLARED_INTEGRATION_FIXED_KEY, DEFAULT_ADDON_PLACEMENT, DEFAULT_AUDIO_ANALYZER_CONFIG, DEFAULT_CAMERA_FPS, DEFAULT_CAMERA_SENSOR_MODE, DEFAULT_CATALOG_LANG, DEFAULT_CLUSTER_STEP_MODELS, DEFAULT_CLUSTER_STEP_SETTINGS, DEFAULT_CORE_BLOCK_ENTRY, DEFAULT_DECODER_HWACCEL_CONFIG, DEFAULT_DETAIL_CROP_CONVENTION, DEFAULT_EVENTS_BAND_BUFFER_SEC, DEFAULT_EVENT_COLOR, DEFAULT_FEATURES, DEFAULT_FIRST_SIGHTING_FRESHNESS_MS, DEFAULT_HEADROOM, DEFAULT_MIN_LANDMARK_FACE_SIZE_PX, DEFAULT_MIN_SESSIONS_PER_DEVICE, DEFAULT_NATIVE_LEASE_SETTINGS, DEFAULT_OVERLAY_LAYERS, DEFAULT_POOL_MEMORY_POLICY, DEFAULT_RECORDING_PROFILES, DEFAULT_RETENTION, DEFAULT_RUNTIME_STATE_DURABILITY, DEFAULT_SESSION_PLACEMENT_POLICY, DEFAULT_SHARE_SOURCE, DEFAULT_TIMELAPSE_PREVIEW_TEXT, DEFAULT_TOKEN_EXPIRY, DEFAULT_VIEWER_SCOPE, DEFINITIVE_DEVICE_REFUSALS, DERIVED_CAMERA_SILENCED_CAP_NAMES, DETAIL_CROP_PADDING_FIELD, DETAIL_CROP_PADDING_KEY, DETAIL_CROP_SECTION_ID, DETAIL_CROP_SQUARE_KEY, DETECTION_MACRO_CLASSES, DETECTION_PIPELINE_CAP_NAME, DETECTOR_ACCURACY, DETECTOR_PERF, DEVICE_BACKEND_TO_FORMAT, DEVICE_CAP_NAMES, DEVICE_CERT_RENEW_WINDOW_DAYS, DEVICE_CERT_SIGNATURE, DEVICE_CERT_VALIDITY_DAYS, DEVICE_CHILDREN_BATCH_MAX, DEVICE_DEFINITIVE_REFUSALS_BEFORE_DELETE, DEVICE_DO_ACTIONS, DEVICE_ENROLLMENT_TTL_MS, DEVICE_HISTORY_ENERGY_KEY, DEVICE_HISTORY_ORPHAN_DELETE_MAX, DEVICE_HISTORY_ORPHAN_LIST_MAX, DEVICE_HISTORY_QUERY_MANY_MAX_ITEMS, DEVICE_NONCE_TTL_MS, DEVICE_PROFILES, DEVICE_RAMP, DEVICE_REFRESH_REFUSAL_PREFIX, DEVICE_RESTORE_RETRY_CONCURRENCY, DEVICE_RESTORE_RETRY_DELAYS_MS, DEVICE_SAN_CREDENTIAL_PREFIX, DEVICE_SAN_USER_PREFIX, DEVICE_SCOPED_CAPS, DEVICE_SETTINGS_CONTRIBUTION_METHODS, DEVICE_SIGNATURE_MESSAGE_VERSION, DEVICE_STATE_READERS, DEVICE_STATUS_METHOD, DEVICE_TOMBSTONE_RETENTION_MS, DEVICE_TYPE_CONTROL_KIND, DEVICE_TYPE_DO_CAPS, DEVICE_TYPE_INFO, DOORBELL_RISE_DEBOUNCE_MS, DataStoreDatabaseSchema, EngineInfoSchema as DataStoreEngineInfoSchema, DatabaseSnapshotRequestSchema, DatabaseSnapshotResultSchema, DatabaseSnapshotTableSchema, DatabaseSnapshotTargetsSchema, DatabaseSnapshotWrittenSchema, DayNightModeSchema, DayNightOptionsSchema, DayNightSettingsPatchSchema, DayNightStatusSchema, DeclarationRefusedError, DeclareCollectionInputSchema, DeclareKindResultSchema, DeclaredDevices, DecodedAudioChunkSchema, DeleteIntegrationResultSchema, DetailCropConventionSchema, DetectionCatalogClassMapSchema, DetectionSourceSchema, DetectionSourcesSchema, DeviceAdminLinkSchema, DeviceCaStatusSchema, DeviceCertificateLoginMethodSchema, DeviceCertificateSettingsSchema, DeviceChallengeResultSchema, DeviceChallengeSchema, DeviceCodeSeveritySchema, DeviceConfig, DeviceCredentialSchema, DeviceCredentialStatusSchema, DeviceDataEntrySchema, DeviceDiscoveryStatusSchema, DeviceEnrollProofSchema, ExposeInputSchema as DeviceExportExposeInputSchema, DeviceExportStatusSchema, UnexposeInputSchema as DeviceExportUnexposeInputSchema, DeviceFeature, DeviceHistoryKindSchema, DeviceHistoryOrphanDeleteRefusalSchema, DeviceHistoryOrphanReasonSchema, DeviceHistoryProducerKindSchema, DeviceHistoryRefusalReasonSchema, DeviceHistoryResolutionSchema, DeviceHistoryStatusSchema, DeviceHistorySubjectSchema, DeviceInfoSchema, DeviceModelChoiceSchema, DeviceNetworkStatsSchema, DevicePlatformSchema, DeviceProofInputSchema, DeviceRecommendationSchema, DeviceRefusalReasonSchema, DeviceRefusalSchema, DeviceRemovedInputSchema, DeviceRemovedResultSchema, DeviceRestoreRetryScheduler, DeviceRole, DeviceRuntimeState, DeviceSelectorSchema, DeviceSignaturePurposeSchema, DeviceStatusSchema, DeviceTombstoneSchema, DeviceType, DiagnosticIdSchema, DiagnosticWindowPatchSchema, DiagnosticWindowSchema, DiscoveredChildDeviceSchema, DiscoveredChildStatusSchema, DiscoveredDeviceSchema, DiscoveredTargetSchema, DishwasherAccessSchema, DishwasherAvailabilitySchema, DishwasherOperationStateSchema, DishwasherOptionDescriptorSchema, DishwasherOptionsSchema, DishwasherProgramSchema, DishwasherStateSchema, DishwasherStatusSchema, DishwasherValueSchema, DiskReconcileJobSchema, DisposerChain, DoorbellPressEventSchema, DoorbellStatusSchema, EMBEDDING_MODEL_FAILED, EMBEDDING_REQUIREMENTS_FAILED, EMBEDDING_REQUIREMENTS_UNAVAILABLE, EVENTFUL_CAP_NAMES, EVENT_DENSITY_BATCH_MAX, EVENT_KIND_BY_CAP, EVENT_KIND_LABELS, EVENT_KIND_LABEL_KEYS, EVENT_OWNER_TYPES, EVENT_PAD_MS, EVENT_TAXONOMY, EXPORT_DENSE_MAX_RANGES, EXPRESSION_BUILTINS, EXPRESSION_BUILTIN_NAMES, EXPRESSION_COMPILE_CACHE_CAPACITY, EXPRESSION_IDENTIFIER_RE, EXPRESSION_INJECTED_NOW, EXTENSION_HOST_DEVICE_TYPES, EXTENSION_SLOTS, EXTENSION_SLOT_IDS, EXTENSION_SLOT_LISTING_METHOD, EXTENSION_SLOT_REF_SEPARATOR, EffectiveDeviceShareSchema, EffectiveNodeShareSchema, EffectiveSharesSchema, EffectiveTuningSchema, EgressEncodeSchema, EgressRateControlSchema, EgressTranscodeRequestSchema, EgressTranscodeSchema, ElementConfigStore, EmbeddingFailedModelSchema, EmbeddingFailedRequirementSchema, EmbeddingInfoSchema, EmbeddingRefusalCodeSchema, EmbeddingResultSchema, EmbeddingTowerSchema, EncodeProfileSchema, EnrichedWidgetMetadataSchema, EnrollSelfInputSchema, EntryDescriptorSchema, EntryKindInfoSchema, EntryViewSchema, EnumSensorDateTimeFormatSchema, EnumSensorStatusSchema, ErrorCodeSchema, ErrorI18nPayloadSchema, EventCategory, EventDensityBucketSchema, EventDensityForDeviceSchema, EventEmitterStatusSchema, EventFireSchema, EventKindCategorySchema, EventKindDescriptorSchema, EventKindIconSchema, EventKindSchema, EventKindsForDeviceSchema, EventMediaArtifactSchema, EventMediaCoverageSchema, EventMediaKindSchema, EventMediaProductionSchema, EventOwnerTypeSchema, EventSourceType, ExportBytesSchema, ExportClipSubjectSchema, ExportDenseRangeSchema, ExportDenseSchema, ExportDownloadSchema, ExportFootageSubjectSchema, ExportOptionsSchema, ExportRecordSchema, ExportSetupFieldSchema, ExportSetupSchema, ExportSpeedSchema, ExportStateSchema, ExportSubjectSchema, ExportTimelapseSchema, ExposedDeviceSchema, ExposureModeSchema, ExpressionBindingSourceSchema, ExpressionEvalError, ExpressionFieldBindingSchema, ExpressionGlobalBindingSchema, ExpressionLiteralBindingSchema, ExpressionParseError, ExpressionSourceSchema, ExtensionCandidateSchema, ExtensionCandidatesSchema, ExtensionSetResultSchema, ExtensionSetSlotInputSchema, ExtensionSlotActivationSchema, ExtensionSlotIdSchema, ExtensionSlotRefInputSchema, ExtensionSlotRowSchema, ExtensionSlotSourceSchema, ExtensionSlotStateSchema, ExtensionSlotUnreachableSchema, ExtensionSlotValueSchema, ExtensionSourceAvailabilitySchema, ExtensionSourceHealthSchema, ExtensionSourceSchema, ExternalIdentityKeySchema, ExternalIdentitySchema, FACE_RESCORE_INTERVAL_FIELD, FACE_RESCORE_INTERVAL_KEY, FACE_RESCORE_INTERVAL_MIN_RUNNING, FACE_RESCORE_SECTION_ID, FEEDER_EXAMPLE_ADDON_ID, FEEDER_EXAMPLE_HA_DEVICE_ID, FFMPEG_PATH_ENV, FIRST_LEVEL_MACRO_CLASSES, FRIGATE_PLUS_CLASS_FLOORS, FRIGATE_PLUS_TO_MACRO, FRIGATE_PLUS_UNMAPPED_LABELS, FRIGATE_STOCK_CLASS_FLOORS, FULL_IMAGE_BBOX, FailureContributionSchema, FailureCounters, FailureReasonCountSchema, FanControlStatusSchema, FanDirectionSchema, FeatureManifestSchema, FeatureProbeStatusSchema, FieldClaimModeSchema, FieldClaimSchema, FilterRequiredError, FloodStatusSchema, Fmp4BoxSplitter, ForeignSecretMarkerError, FrameHandleSchema, FrameInputSchema, FrameLazyCountersSchema, FrameLazyMetricsSchema, G711_SCALE_CORRECTION_DB, GasStatusSchema, GetLoggingSettingsInputSchema, GetStreamWithCodecInputSchema, GlobalMetricsSchema, GridLayoutPatchSchema, GridLayoutViewSchema, HAP_AUDIO_BASE, HAP_AUDIO_BITRATE_KBPS, HAP_AUDIO_VBV_KBITS, HAP_KEYFRAME_INTERVAL_SEC, HF_BASE_URL, HF_REPO, HISTORY_BUCKET_MS, HISTORY_CATALOG, HISTORY_DEFAULT_MIN_INTERVAL_MS, HISTORY_ITEM_CATALOG, HISTORY_NONE_CAPS, HISTORY_UNIT_LABELS, HOURS_PER_DAY, HUB_ADDRESS_ROLES, HUB_MDNS_QUERY_NAME, HUB_MDNS_ROLE, HUB_MDNS_SERVICE_TYPE, HUB_MDNS_TXT_KEYS, HUB_VIEWER_MOUNT, HWACCEL_OPTIONS, HardwareClassIdSchema, HealthStatusSchema, HeatingValveStatusSchema, HfModelResolutionSchema, HistoryPointSchema, HistoryResolutionEnum, HttpsLeafInfoSchema, HubAddressRoleSchema, HumidifierStatusSchema, HumiditySensorStatusSchema, HvacModeSchema, ICON_CATALOG_SOURCE, ICON_CATEGORIES, ICON_ENTRIES, ICON_KEYS, ICON_VIEWER_MODULES, INFERENCE_DEVICE_EXCLUSION_REASONS, INVERTIBLE_CAPS, IconKeySchema, ImageContractSchema, ImageContractStateSchema, ImageRotateSchema, ImageSettingsOptionsSchema, ImageSettingsPatchSchema, ImageSettingsStatusSchema, ImageStatusSchema, ImportModelBundleInputSchema, ImportModelBundleResultSchema, InferenceDeviceExclusionReasonSchema, IngestOwnerSchema, InstalledPackageSchema, IntegrationLiteSchema, IntegrationWithStateSchema, IntercomAbilitySchema, IntercomStatusSchema, InvalidRecordError, KEYCHAIN_MAX_REFS_PER_CALL, KEYCHAIN_RESET_CONFIRMATION, KEYCHAIN_RESET_TRIGGER_ACTOR, KNOWN_CAP_NAMES, KeptReasonSchema, KeyEventSchema, KeychainAdminSecretSchema, KeychainAuditActionSchema, KeychainAuditEntrySchema, KeychainKeySourceKindSchema, KeychainKeySourceSchema, KeychainResetRecordSchema, KeychainResolveEntrySchema, KeychainResolveResultSchema, KeychainSecretMetaSchema, KeychainSecretUsageSchema, KeychainStateSchema, KeychainStatusSchema, KeychainUnavailableReasonSchema, KeychainWriteRefusedError, LABEL_SUPPLY_MACRO, LABEL_SUPPLY_STEP_IDS, LABEL_SUPPLY_VOCABULARIES, LEGACY_READ_ONLY_CONFIG_KEY, LINKED_DEVICES_SLOT, LINKED_LABEL_STEP_PREFIX, LLM_PROFILE_KIND_PATTERN, LOAD_CONTRIBUTION_ATTRIBUTIONS, LOAD_CONTRIBUTION_ROLES, LOCATION_DESCRIPTION_MAX, LOCATION_ICON_FALLBACK, LOG_CHANNEL_TICK_MS, LOG_LEVEL_RANK, LTS_SCOPE_CLASS_SEPARATOR, LabelAttributionSchema, LabelDefinitionSchema, LabelTierSchema, LatencySourceSchema, LawnMowerActivitySchema, LawnMowerControlStatusSchema, LedgerWalkDeviceReportSchema, LedgerWalkInputSchema, LedgerWalkRefusalSchema, LedgerWalkReportSchema, LedgerWalkSkipCountsSchema, LedgerWalkSkipReasonSchema, LegacyStorageLocationDefaultSchema, LinkedDeviceSchema, LinkedDevicesModeSchema, LinkedDevicesSlotValueSchema, ListNodeBenchmarkResultsInputSchema, ListTrackRelationsInputSchema, ListTrackRelationsResultSchema, LiveViewerCountSchema, LlmDefaultSchema, LlmDefaultSelectorSchema, LlmDownloadProgressSchema, LlmErrorCodeSchema, LlmGenerateBaseInputSchema, LlmGenerateErrSchema, LlmGenerateOkSchema, LlmGenerateResultSchema, LlmImageSchema, LlmListModelsErrorCodeSchema, LlmListModelsInputSchema, LlmListModelsResultSchema, LlmModelFeaturesSchema, LlmModelInfoSchema, LlmNodeModelSchema, LlmProfileFieldSchema, LlmProfileKindDescriptorSchema, LlmProfileKindSchema, LlmProfileSchema, LlmProviderConfigSchema, LlmProviderWidgetSchema, LlmRefusalSourceSchema, LlmRetryPolicySchema, LlmRuntimeAppleCompleteInputSchema, LlmRuntimeCancelInputSchema, LlmRuntimeCompleteInputSchema, LlmRuntimeDiskUsageSchema, LlmRuntimeNodeSchema, LlmRuntimeStatusSchema, LlmTimeoutDefaults, LlmUsageRollupSchema, LlmUsageSchema, LoadBalancingSharesInputSchema, LoadContributionSchema, LocateSegmentResultSchema, LocationDescriptionAssignmentSchema, LocationIconAssignmentSchema, LocationStatSchema, LockControlStatusSchema, LockStateSchema, LogChannelApplyResultSchema, LogChannelDescriptorSchema, LogChannelGate, LogChannelLevelSchema, LogChannelRegistry, LogChannelWindowPatchSchema, LogChannelWindowSchema, LogChannelWindowStateSchema, LogEntrySchema, LogLevelSchema, LogReadCapabilitiesSchema, LogReadEntrySchema, LogReadQuerySchema, LogReadResultSchema, LogStreamEntrySchema, LoggingEffectiveSchema, LoggingExplicitSchema, LoggingLevelLayerSchema, LoggingLevelSourceSchema, LoggingScopeKindSchema, LoggingSettingsPatchSchema, LoggingSettingsStateSchema, LoginMethodContributionSchema, LoginStageEnum, LtsBucketSchema, MACRO_LABELS, MASK_EMITTING_POSTPROCESSORS, MASK_SUPPLY_STEP_IDS, MAX_ARCHIVED_DEBUG_NOTES, MAX_BIRTH_DECISION_RECORDS, MAX_BIRTH_LATENCY_PROXY_MS, MAX_CAMERA_SENSORS, MAX_CLIP_EVENT_IDS, MAX_CLIP_LABELS, MAX_COMPOSITION_CODE_LENGTH, MAX_COMPOSITION_FEATURES, MAX_COMPOSITION_FIELDS_PER_FEATURE, MAX_COMPOSITION_ITEMS, MAX_CONDITION_DEPTH, MAX_CONDITION_LEAVES, MAX_EXPRESSION_AST_NODES, MAX_EXPRESSION_BINDINGS, MAX_EXPRESSION_CALL_ARGS, MAX_EXPRESSION_EVAL_STEPS, MAX_EXPRESSION_SOURCE_LENGTH, MAX_KEYS, MAX_REASONS_PER_KEY, MAX_REQUEUED_BUCKETS_PER_SERIES, MAX_SENSOR_TRIGGER_DEVICES, MAX_TRACK_DEBUG_NOTE_LEN, MAX_TRACK_PURITIES, MAX_TRACK_RELATIONS, MEDIA_OWNER_TYPES, MEDIA_PRESENCE_OWNER_KINDS, METHOD_ACCESS_MAP, METHOD_DEVICE_SELECTORS, MINUTES_PER_DAY, MIN_SCRUBBED_LENGTH, MIN_SESSIONS_PER_DEVICE_RANGE, MODEL_FORMATS, MODEL_HOSTING, MODEL_PROVIDER_IDS, MOTION_CLOSE_AFTER_MS, MOTION_SOURCE_LABELS, MOTION_TRIGGER_FEATURE, ManagedModelCatalogEntrySchema, ManagedModelExtraFileSchema, ManagedModelRefSchema, ManagedRuntimeConfigSchema, MaskGridDimsSchema, MaskGridShapeSchema, MaskLineShapeSchema, MaskPointSchema, MaskPolygonShapeSchema, MaskPolygonVerticesSchema, MaskRectShapeSchema, MaskShapeKindSchema, MaskShapeSchema, MediaFileInfoSchema, MediaFileKindEnum, MediaFileRefSchema, MediaFileSchema, MediaPlayerRepeatSchema, MediaPlayerStateSchema, MediaPlayerStatusSchema, MediaPresenceOwnerKindSchema, MediaRelocateModeSchema, MeshLeafInfoSchema, MeshPeerSchema, MeshStatusSchema, MethodAccessSchema, MigrateDeviceResultSchema, MigrateSwitchOutcomeSchema, MigrateSwitchReportSchema, ModelBundleFileSchema, ModelCatalogEntrySchema, ModelConvertInputSchema, ModelConvertMetadataSchema, ModelDistributeInputSchema, ModelDistributeResultSchema, ModelExtraFileSchema, ModelFormatEntrySchema, ModelFormatPrecisionSchema, ModelFormatsSchema, ModelLicenseSchema, ModelOnDiskStateSchema, ModelPinChangeSchema, ModelProviderIdSchema, ModelSubstitutionSchema, ModelVariantGroupSchema, MotionAnalysisResultSchema, MotionEventSchema, MotionOnMotionChangedDataSchema, MotionRegionSchema, MotionSourceEnum, MotionSourcesSchema, MotionStatusSchema, MotionTriggerRuntimeStateSchema, MotionTriggerStatusSchema, MotionTriggeredBySchema, MotionZoneOptionsSchema, MotionZonePatchSchema, MotionZoneRegionSchema, MotionZoneStatusSchema, BrokerInfoSchema$1 as MqttBrokerInfoSchema, StatusSchema as MqttBrokerStatusSchema, MutationFilterSchema, NATIVE_LEASE_ACTIVITY_FIELD, NATIVE_LEASE_ACTIVITY_KEY, NATIVE_LEASE_ADMISSION_FIELD, NATIVE_LEASE_ADMISSION_KEY, NATIVE_LEASE_BUDGET_FIELD, NATIVE_LEASE_BUDGET_KEY, NATIVE_LEASE_HOLD_FIELD, NATIVE_LEASE_HOLD_KEY, NATIVE_LEASE_SCENE_BUDGET_FIELD, NATIVE_LEASE_SCENE_BUDGET_KEY, NATIVE_LEASE_SECTION_ID, NATIVE_LEASE_TILE_BUDGET_FIELD, NATIVE_LEASE_TILE_BUDGET_KEY, NAVIGATION_ACTION_CATALOG, NAVIGATION_LIGHT_LEVEL_MAX, NAVIGATION_LIGHT_LEVEL_MIN, NC_ALARM_CONTROLLABLE_CAPS, NC_ALARM_DEFAULT_PROFILE_ID, NC_ALARM_DEFAULT_PROFILE_NAME, NC_ALARM_DEFAULT_TRIGGERED_DURATION_SEC, NC_ALARM_DELAY_FIELDS, NC_ALARM_DELAY_MAX_SEC, NC_ALARM_NONBLOCKING_MAX, NC_ALARM_NOTIFY_FIELDS, NC_ALARM_OPENING_EVENT_KINDS, NC_ALARM_SENSORS_MAX, NC_ALARM_SYSTEM_DEFAULT_DELAYS, NC_ALARM_SYSTEM_EVENT_KINDS, NC_ALARM_TRIGGERED_MAX_SEC, NC_AUDIO_CONFIRM_HITS_DEFAULT, NC_AUDIO_CONFIRM_HITS_MAX, NC_AUDIO_CONFIRM_HITS_MIN, NC_AUDIO_CONFIRM_WINDOW_MAX_SEC, NC_AUDIO_CONFIRM_WINDOW_MIN_SEC, NC_AUDIO_CONFIRM_WINDOW_SEC_DEFAULT, NC_AUDIO_DBFS_FLOOR, NC_AUDIO_DB_MAX, NC_AUDIO_DB_MIN, NC_AUDIO_DB_OFFERED, NC_AUDIO_DB_STEP, NC_AUDIO_DEFAULTS, NC_AUDIO_HIT_PERCENT_MAX, NC_AUDIO_HIT_PERCENT_MIN, NC_AUDIO_SAMPLING_MAX_SEC, NC_AUDIO_SAMPLING_MIN_SEC, NC_AUDIO_SEED, NC_AUTHORABLE_SYSTEM_EVENT_KINDS, NC_BASE_CONDITION_KEYS, NC_BATTERY_CONSUMABLE_SYSTEM_EVENT_KINDS, NC_CAMERA_SCOPE_CAP_NAME, NC_CLIP_POST_ROLL_DEFAULT_SEC, NC_CLIP_PRE_ROLL_DEFAULT_SEC, NC_CLIP_RETENTION_MAX_SEC, NC_CONDITION_CATALOG, NC_CONFIRM_DEFAULT_MAX_IMAGE_PX, NC_CONFIRM_DEFAULT_TIMEOUT_MS, NC_CONFIRM_MAX_TIMEOUT_MS, NC_CONFIRM_MIN_TIMEOUT_MS, NC_CONSUMABLE_LOW_PERCENT_DEFAULT, NC_CONSUMABLE_LOW_PERCENT_MAX, NC_CONSUMABLE_SYSTEM_EVENT_KINDS, NC_DEFAULT_SNOOZE_MINUTES, NC_GROUPING_DEFAULT_SEC, NC_GROUPING_MAX_SEC, NC_GROUPING_MIN_SEC, NC_HISTORY_LIMIT_DEFAULT, NC_HISTORY_LIMIT_MAX, NC_MAX_PER_TRACK_IMMEDIATE, NC_MEDIA_IMAGE_MODES, NC_OCCUPANCY_DEFAULTS, NC_RULE_CLEARABLE_KEYS, NC_RULE_EDITOR_SECTION_ORDER, NC_RULE_KIND_SPECS, NC_RULE_RETIRED_CLEAR_KEYS, NC_RULE_SECTIONS, NC_SENSOR_RAISED_FIELD_BY_KIND, NC_SENSOR_TRANSITION_KINDS, NC_SENSOR_TRANSITION_NEVER_FIRES_WARNING, NC_SENSOR_TRANSITION_UNSUPPORTED_REASON, NC_SERVER_PACKAGE_NAME, NC_SNOOZE_MAX_MINUTES, NC_SYSTEM_DELIVERY, NC_SYSTEM_EVENT_CLASS_SPECS, NC_SYSTEM_EVENT_CONDITION_FILTER_KEYS, NC_SYSTEM_EVENT_FAMILIES, NC_SYSTEM_EVENT_FAMILY, NC_SYSTEM_EVENT_FAMILY_FILTERS, NC_SYSTEM_EVENT_FILTER_KEYS, NC_SYSTEM_EVENT_KIND_GROUP_SPECS, NC_SYSTEM_EVENT_SUMMARY_FAMILIES, NC_SYSTEM_RULE_KINDS, NC_TANK_SYSTEM_EVENT_KINDS, NC_TAXONOMY, NC_TEMPLATE_HELD_BACK_SYSTEM_EVENT_KINDS, NC_TEMPLATE_VARS, NC_UPDATE_EVENT_PACKAGE_NAMES, NETWORK_LINK_TYPES, NETWORK_LINK_UNKNOWN, NODE_BENCHMARK_DEFAULTS, NODE_COLOR_IDS, NO_MEASURED_CAPACITY, NativeCropBboxSchema, NativeCropRefSchema, NativeCropResultSchema, NativeDetectionSchema, NativeLeaseAdmissionSchema, NativeLeaseSettingsSchema, NativeObjectClassEnum, NativeObjectDetectionOptionsSchema, NativeObjectDetectionRuntimeStateSchema, NativeObjectDetectionSettingsPatchSchema, NativeObjectDetectionStatusSchema, NativeObjectGeometryEnum, NavigationActionEntrySchema, NavigationActionIdSchema, NavigationEntryKindSchema, NavigationFeaturesSchema, NavigationLightModeSchema, NavigationModeSchema, NavigationMoveCommandSchema, NavigationPointSchema, NavigationRuntimeStateSchema, NavigationStatusSchema, NcActionBindingSchema, NcAlarmBlockingEditSchema, NcAlarmBlockingSchema, NcAlarmConfigSchema, NcAlarmCreateProfileInputSchema, NcAlarmModeCoverageSchema, NcAlarmModeDelaysEditSchema, NcAlarmModeDelaysSchema, NcAlarmModeDeviceListSchema, NcAlarmNonBlockingEditSchema, NcAlarmNonBlockingSchema, NcAlarmPostTriggeredActionSchema, NcAlarmProfileIdInputSchema, NcAlarmProfileMetaSchema, NcAlarmProfilesViewSchema, NcAlarmRenameProfileInputSchema, NcAlarmSecureOnArmEditSchema, NcAlarmSecureOnArmOffSchema, NcAlarmSensorReadingSchema, NcAlarmSensorStateSchema, NcAlarmSensorsInputSchema, NcAlarmSensorsSchema, NcAlarmSettingsPatchSchema, NcAlarmSettingsSchema, NcAlarmSkipReasonSchema, NcAlarmSkippedDeviceSchema, NcAudioConditionSchema, NcClipRetentionAskSchema, NcClipRetentionPlanSchema, NcConditionDescriptorSchema, NcConditionsSchema, NcConfirmExpectSchema, NcConfirmSchema, NcCrossingSchema, NcDeliverySchema, NcDeviceStateConditionSchema, NcHistoryEntrySchema, NcHistoryFilterSchema, NcHistoryRecordKindSchema, NcHistoryStatusSchema, NcHistorySubjectSchema, NcHookBindingsSchema, NcLegacyRuleActionSequenceSchema, NcLinkedCameraModeSchema, NcMediaFrameSchema, NcMediaImageSchema, NcMediaPolicySchema, NcOccupancyConditionSchema, NcPlateMatcherSchema, NcRuleActionSchema, NcRuleActionSequenceSchema, NcRuleActionsSchema, NcRuleClearableKeySchema, NcRuleInputSchema, NcRuleKindSchema, NcRuleLastRunSchema, NcRuleLastRunsSchema, NcRuleNotificationButtonSchema, NcRulePatchSchema, NcRuleSchema, NcRuleTargetSchema, NcRuleUpdateInputSchema, NcSceneConditionSchema, NcScheduleSchema, NcScheduleWindowSchema, NcSensorTransitionSchema, NcSharedSequenceInputSchema, NcSharedSequenceSchema, NcSnoozeInputSchema, NcSnoozeSchema, NcSnoozeScopeSchema, NcSnoozeSuppressedSchema, NcStateSummaryPreviewRowSchema, NcStateSummaryPreviewSchema, NcStateSummaryPreviewSectionSchema, NcStateSummarySectionIdSchema, NcStateSummarySplitSchema, NcSystemEventConditionSchema, NcSystemEventDeliveryModeSchema, NcSystemEventDeliverySchema, NcSystemEventKindSchema, NcTaxonomyEntrySchema, NcTaxonomySchema, NcTemplateFamilySchema, NcTemplateFieldSchema, NcTemplatePreviewInputSchema, NcTemplatePreviewSchema, NcTemplateVarContextSchema, NcTemplateVarDescriptorSchema, NcTemplateVarGroupSchema, NcTemplateVarKindSchema, NcTestResultSchema, NcThrottleGranularitySchema, NcThrottleSchema, NcZoneConditionSchema, NetworkAccessStatusSchema, NetworkAddressSchema, NetworkEndpointSchema, NetworkLinkStatusSchema, NetworkTunnelStartedDataSchema, NoCallerError, NodeBenchCellSchema, NodeBenchClipSchema, NodeBenchDeviceCellSchema, NodeBenchFingerprintSchema, NodeBenchLimitSchema, NodeBenchPipelineCellSchema, NodeBenchProgressSchema, NodeBenchRampStepSchema, NodeBenchRunnerInputSchema, NodeBenchRunnerStateSchema, NodeBenchRunnerStatusSchema, NodeBenchmarkCandidatesSchema, NodeBenchmarkDevicePlanSchema, NodeBenchmarkEndReasonSchema, NodeBenchmarkManifestSchema, NodeBenchmarkMovingCameraSchema, NodeBenchmarkPhaseSchema, NodeBenchmarkPlanSchema, NodeBenchmarkPreflightSchema, NodeBenchmarkRefusalKindSchema, NodeBenchmarkRefusalSchema, NodeBenchmarkResultSchema, NodeBenchmarkResultViewSchema, NodeBenchmarkRunSchema, NodeBenchmarkStateSchema, NodeBenchmarkStatusSchema, NodeBenchmarkStayingCameraSchema, NodeColorIdSchema, NodeDeviceChangeSchema, NodeDirectoryEntrySchema, NodeDirectorySchema, NodeHttpsStateSchema, NodeRecommendationSchema, NotificationActionIconSchema, NotificationActionSchema, NotificationFormatSchema, NotificationSchema, NotifierStatusSchema, NumericSensorStatusSchema, OAUTH_LANDING_PATH, OAUTH_LANDING_REASONS, OPERATOR_WRITTEN_STALE_MS, OPS_LOG_DEFAULT_LIMIT, OPS_LOG_RING_DEFAULT_MAX, OVERFLOW_REASON, OVERLAY_LAYERS, OWNER_ONLY_EVENT_CATEGORIES, OauthIntegrationDescriptorSchema, ObjectEventSchema, OccupancyBurstRefusalSchema, OccupancyLookAnswerSchema, OccupancyLookRefusalSchema, OccupancyLookRequestSchema, OidcConnectionSchema, OidcConnectionUpdateInputSchema, OnboardFieldSupportSchema, OnboardRecordTrackSchema, OnboardScheduleSupportSchema, OnboardStorageSchema, OnboardStorageVolumeSchema, OpsLogDomainSchema, OpsLogEntrySchema, OpsLogOpSchema, OpsLogQueryInputSchema, OpsLogReasonSchema, OrchestratorMetricsSchema, OrphanDeviceDataSchema, OsdNamedTemplateSchema, OsdOverlayKindEnum, OsdOverlayPatchSchema, OsdOverlaySchema, OsdPositionEnum, OsdRenderOutcomeEnum, OsdRenderResultSchema, OsdSlotBindingSchema, OsdSlotViewSchema, OsdSourceOptionSchema, OsdSourceSchema, OsdSourceValueTypeEnum, OsdStatusSchema, OsdTemplateBindingSchema, OsdTemplateFormatSchema, OsdTemplatePickSchema, OsdTemplateTokenKindSchema, PEER_BYTES_CHUNK_BYTES, PEER_BYTES_MAX_OUTSTANDING, PEER_BYTES_STALL_MS, PEER_BYTES_TICKET_TTL_MS, PENDING_BLOCK_ID, PET_FEEDER_MANUAL_FEED_MAX, PET_FEEDER_MANUAL_FEED_MIN, PIPELINE_ANALYTICS_CAP_NAME, PIPELINE_FLOW_CAPABILITY_NAMES, PIPELINE_OWNER_CAPABILITY_NAMES, PIPELINE_RAMP, PREFERENCES_MAX_DEVICE_ID_LENGTH, PREFERENCES_MAX_NAMESPACES, PREFERENCES_MAX_VALUE_BYTES, PREFERENCES_NAMESPACE_PATTERN, PREFERENCES_SELF_SCOPE, PRIVACY_MASK_CAP_NAME, PROVIDER_KIND_CAP_NAMES, PROVIDER_PIN_FIELD, PUBLIC_ENDPOINT_HTTP_REASON, PYTHON_SCRIPT, PackageInstallationSchema, PackageInstallationsSchema, PackageUpdateSchema, PackageVersionInfoSchema, ParkRefusalSchema, ParkTrackFrameResultSchema, ParkedFrameKindSchema, ParkedTrackFrameSchema, PasskeyLoginMethodSchema, PasskeySummarySchema, PcmSampleFormatSchema, PeerBytesTicketSchema, PerScopeBreakdownSchema, PetFeederStatusSchema, PickStreamPreferencesSchema, PickStreamRequirementsSchema, PickedCamStreamSchema, PipelineAssignmentSchema, PipelineDefaultStepSchema, PipelineEngineChoiceSchema, PipelineModelFormatStatusSchema, PipelineRunResultBridge, PipelineStepInputSchema, PipelineValidationIssueSchema, PipelineValidationResultSchema, PlaceholderReasonSchema, PlacementDeviceStatsSchema, PlacementNodeStatsSchema, PlacementStatsInputSchema, PlacementStatsSchema, PlaintextSecretError, PolygonPointSchema, PoolMemoryWatchdog, PowerMeterStatusSchema, PreferenceDeviceIdSchema, PreferenceNamespaceSchema, PreferenceRowSchema, PreferenceValueSchema, PreferencesChangedSinceInputSchema, PreferencesChangedSinceOutputSchema, PreferencesDeleteInputSchema, PreferencesDeleteOutputSchema, PreferencesGetInputSchema, PreferencesGetOutputSchema, PreferencesPutInputSchema, PreferencesPutOutputSchema, PreferencesSelfScopeSchema, PresenceStatusSchema, PressureSensorStatusSchema, PrivacyMaskOptionsSchema, PrivacyMaskPatchSchema, PrivacyMaskRegionSchema, PrivacyMaskShapeSchema, PrivacyMaskStatusSchema, ProbeTargetConfigResultSchema, ProfileRtspEntrySchema, ProfileSlotSchema, ProfileSlotStatusSchema, ProviderJobStateSchema, ProviderJobStatusSchema, ProviderMotionDataSchema, ProviderStatusSchema, PtzAutotrackRuntimeStateSchema, PtzAutotrackSettingsSchema, PtzAutotrackStatusSchema, PtzAutotrackTargetOptionSchema, PtzHomePresetSchema, PtzHomeReturnSchema, PtzMoveCommandSchema, PtzOptionsSchema, PtzPositionSchema, PtzPresetFunctionSchema, PtzPresetSchema, PtzStatusSchema, QueryFilterSchema, RATE_CONTROL_RELAXED, RATE_CONTROL_TIGHT, REACHABILITY_FAILURES_TO_OFFLINE, REACHABILITY_POLL_INTERVAL_MS, REACHABILITY_PROBE_TIMEOUT_MS, RECALL_TIE, RECOGNITION_TYPES, RECORDING_AUDIO_TRIGGER_OFFERED_DBFS, RECORDING_EXPORT_MAX_READ_BYTES, RECORDING_SOURCE_CAMSTACK, RECORDING_SOURCE_CAMSTACK_ADDON, RECORDING_TIMELINE_BATCH_MAX, RECORDS_ERROR_CODES, RECORD_BATCH_MAX, RECORD_BATCH_MAX_BYTES, RECORD_CLASSES, RECORD_DATABASES, RECORD_DEFAULT_MAX_DATA_BYTES, RECORD_DELETE_BATCH, RECORD_ID_MAX_LENGTH, RECORD_MAX_DATA_BYTES, RECORD_MAX_INDEXES, RECORD_MAX_INDEX_FIELDS, RECORD_QUERY_MAX, RECORD_SECRET_COLLECTION_PREFIX, RECORD_SETTINGS_MAX_ROWS, RECORD_SWEEP_INTERVAL_MS, REDACTED_SECRET, REMOVAL_RECONCILE_INTERVAL_MS, REMOVED_MODEL_IDS, REMOVE_LEAF, RESERVED_BINDING_NAMES, RESERVED_COLLECTION_SOURCES, RESTORED_CAP_NAMES, RETRAIN_REVIEW_ADJUSTED_IOU, RETRAIN_REVIEW_MATCH_IOU, RETRAIN_REVIEW_STATUSES, RETRAIN_REVISION_CONFLICT, REVALIDATE_AFTER_MS, ROOM_EXAMPLE_MOTION_SOURCES, ROOM_EXAMPLE_TEMPERATURE_SOURCES, ROOM_OCCUPANCY_WINDOW_MS, ROOT_BUCKET_KEY, ROOT_CHILD_CONTAINMENT_MIN, ROOT_FACE_REFINE_INPUT_PX, ROOT_FACE_REFINE_SCALE, ROOT_SUPPLIABLE_STEP_IDS, RUNTIME_DEFAULTS, RUNTIME_STATE_POLICY, RUNTIME_STATE_REFRESH_MISS_COOLDOWN_MS, RUNTIME_TO_FORMAT, RawSecretMigrationInputSchema, RawSecretMigrationReportSchema, RawStateResultSchema, ReadGopBytesResultSchema, ReadSegmentBytesResultSchema, ReadWindowBytesResultSchema, ReadinessRegistry, ReadinessTimeoutError, RebuildObjectEmbeddingsRefusalSchema, RecentTracksPageSchema, RecentTracksQueryInput, RecommendationReasonSchema, RecordBodySchema, RecordFieldPathSchema, RecordIdSchema, RecordIndexSchema, RecordInputSchema, RecordKindDeclarationSchema, RecordKindNameSchema, RecordNotFoundError, RecordQueryInputSchema, RecordQueryResultSchema, RecordRetentionSchema, RecordSecretRefsSchema, RecordSecretUnavailableError, RecordTooLargeError, RecordTransactOpSchema, RecordTriggerSchema, RecordUniqueViolationError, RecordViewSchema, RecordWhereSchema, RecordWindowSchema, RecordingAvailabilityForDeviceSchema, RecordingAvailabilitySchema, RecordingBandAudioSchema, RecordingBandModeSchema, RecordingBandSchema, RecordingBandTriggersSchema, RecordingConfigSchema, RecordingDaysForDeviceSchema, RecordingDaysSchema, RecordingDeviceUsageSchema, RecordingLocationUsageSchema, RecordingManifestSchema, RecordingObjectTriggerClassSchema, RecordingOnboardOptionsSchema, RecordingOnboardPatchSchema, RecordingOnboardStatusSchema, RecordingPlaybackSchema, RecordingRangeSchema, RecordingReadSchema, RecordingRebalanceInputSchema, RecordingRebalanceMoveSchema, RecordingRebalancePlanSchema, RecordingRebalanceSkipReasonSchema, RecordingRebalanceSkipSchema, RecordingRetentionSchema, RecordingSignalRuntimeStateSchema, RecordingSignalStatusSchema, RecordingSourceAvailabilitySchema, RecordingSourceOptionsSchema, RecordingSourceSchema, RecordingStatusSchema, RecordingStorageModeSchema, RecordingStorageUsageSchema, RecordingTriggersSchema, RecordingWeekdaySchema, RecordsError, RedirectLoginMethodSchema, RelocatableMediaCountInputSchema, RelocatableMediaCountSchema, RelocateFootageClassSchema, RelocateFootageInputSchema, RelocateJobSchema, RelocateJobStateSchema, RelocateMediaInputSchema, RelocateResidueInputSchema, RelocateResidueSchema, RenderedAsSchema, RenewDeviceCertificateOutputSchema, RenewDeviceCertificateResultSchema, ReportMotionInputSchema, ReportedFailureContributionSchema, ReportedLoadContributionSchema, RequestCensusGroupSchema, RequestCensusProcedureSchema, RequestCensusSnapshotSchema, RequestCensusStatusSchema, RetrainAnnotationDraftSchema, RetrainAnnotationKindSchema, RetrainAnnotationSchema, RetrainAnnotationSourceSchema, RetrainArchiveResultSchema, RetrainArchiveTargetSchema, RetrainAssistProfileSchema, RetrainAssistResultSchema, RetrainAssistSubjectSchema, RetrainBoxReviewSchema, RetrainCollectionCreateResultSchema, RetrainCollectionRenameResultSchema, RetrainCollectionSchema, RetrainCopyRefusalSchema, RetrainCorpusFilterSchema, RetrainCorpusKpiCameraRowSchema, RetrainCorpusKpiSchema, RetrainCorpusPageFrameSchema, RetrainCorpusPageSchema, RetrainDatasetSelectionSchema, RetrainDatasetStatsSchema, RetrainDatasetVersionSchema, RetrainDismissedSchema, RetrainExportFilterSchema, RetrainExportLayoutSchema, RetrainFrameCandidateSchema, RetrainFrameListSchema, RetrainFrameOriginSchema, RetrainFrameReviewSchema, RetrainFrameSchema, RetrainFrameSelectionSchema, RetrainFrameWorkStateSchema, RetrainLlmAssistResultSchema, RetrainLlmProposalSchema, RetrainLlmReviewSchema, RetrainMacroClassSchema, RetrainOriginSchema, RetrainPipelineBoxSchema, RetrainReviewStatusSchema, RetrainStatusSchema, RetrainTrackSchema, RetrainTrainingCorpusResolveResultSchema, RetrainTrainingCorpusSelectionSchema, RetrainTransitionResultSchema, RevConflictError, RevokeOwnDeviceCertificateResultSchema, RingBuffer, RootStepSupplySchema, RtpSourceSchema, RtspRestreamEntrySchema, RunnerBootCheckSchema, RunnerCameraConfigSchema, RunnerCameraDeviceUIFields, RunnerFrameSourceSchema, RunnerInferenceDeviceSchema, RunnerJumpStepProvisioningSchema, RunnerLocalLoadSchema, RunnerLocalMetricsSchema, RunnerRefusalSchema, SCENE_CONDITIONS, SCENE_CONFIRM_DEFAULT_MAX_IMAGE_PX, SCENE_CONFIRM_DEFAULT_TIMEOUT_MS, SCENE_DEFAULT_ANCHOR_THRESHOLD, SCENE_DEFAULT_CHECK_INTERVAL_SEC, SCENE_DEFAULT_OBSERVATION_SPACING_SEC, SCENE_DEFAULT_QUIET_SECONDS, SCENE_DEFAULT_UNCOVERED_POLICY, SCENE_DIVERGED, SCENE_RESET_RECAPTURES, SCOPE_PRESETS, SECRET_CLEAR, SECRET_META, SECRET_REF_SCHEME, SENSOR_FEATURES, SENSOR_MAP, SERVER_NAME_MAX_LENGTH, SERVER_NAME_SETTING_KEY, SESSION_PLACEMENT_SETTING_KEY, SHARE_AFFINITY_TOLERANCE_SESSIONS, SHARE_SOURCE_SETTING_KEY, SHARE_VIEW_KINDS, SHARE_VIEW_MAX_DEVICES, SINGLE_HUB_ADDRESS_ROLES, SOURCE_CAPS, SOURCE_CAP_ACTIVE_FIELD, SOURCE_CAP_CHANGED_AT_FIELD, SOURCE_DEVICE_TYPES, SOURCE_INFO_METADATA_KEY, SSO_STATE_COOKIE, SSO_STATE_COOKIE_MAX_AGE_SEC, STATE_LABELS, STATE_LABEL_KEYS, STATIONARY_OVERLAY_STYLE, STORAGE_ACCESS_FALLBACK, STORAGE_BYTES_PER_GB, STORAGE_LOCATION_MODES, STREAM_PROFILE_META, STREAM_QUALITY_LABELS, SUBJECT_PATH_DWELL_EPS, SUBJECT_PATH_FULL_FRAME_COVERAGE, SUBJECT_PATH_MAX_POINTS, SUB_DETECTION_TYPES, SYSTEM_CAP_NAMES, SYSTEM_SCOPE_DEVICE_METHODS, SceneCheckSchema, SceneConditionSchema, SceneConfirmSchema, SceneMonitorSchema, SceneMonitorStateSchema, SceneMonitorStatusForDeviceSchema, SceneMonitorStatusSchema, SceneReferenceSchema, SceneUnavailableSchema, SceneUncoveredPolicySchema, SceneVerdictSchema, ScopedTokenSchema, ScoredObjectEventSchema, ScriptRunnerStatusSchema, SearchResultSchema, SendEmailInputSchema, SendEmailResultSchema, SendResultSchema, SensorEventSchema, ServerBootModeSchema, ServerNameInfoSchema, ServerNameSchema, ServerPackageStatusSchema, ServerRollbackInfoSchema, ServerUpdateActionResultSchema, ServerUpdateCheckResultSchema, ServerUpdateOutcomeSchema, ServerUpdateStateSchema, SessionPlacementPolicySchema, SessionTriggerSchema, SetCameraSensorsInputSchema, SetLoggingSettingsInputSchema, SetShareSourceInputSchema, SetSiteLocationInputSchema, SetTrackPurityInputSchema, SetTrackPurityResultSchema, SetTrackRelationInputSchema, SettingsPatchSchema, SettingsRecordSchema, SettingsSchemaWithValuesSchema, SettingsUpdateResultSchema, ShareSourceSchema, ShareViewGrantSchema, ShareViewScopeSchema, ShareWeightsSchema, SiteLocationSchema, SiteLocationSourceSchema, SiteLocationStatusSchema, SiteZoneSchema, SmokeStatusSchema, SmtpStatusSchema, SnapshotImageSchema, SourceInfoSchema, SpatialDetectionSchema, SsoBridgeClaimsSchema, StaleDevicePinSchema, StartEmbeddedInputSchema, StartEnrollmentOutputSchema, StationaryObjectSchema, AbortUploadInputSchema as StorageAbortUploadInputSchema, StorageAccessSchema, BeginDownloadInputSchema as StorageBeginDownloadInputSchema, BeginDownloadResultSchema as StorageBeginDownloadResultSchema, BeginUploadInputSchema as StorageBeginUploadInputSchema, BeginUploadResultSchema as StorageBeginUploadResultSchema, StorageCleanupInputSchema, StorageCleanupJobSchema, StorageCleanupPhaseSchema, StorageCleanupStatusInputSchema, StorageDrainProgressSchema, EndDownloadInputSchema as StorageEndDownloadInputSchema, StorageEvictionPolicySchema, FinalizeUploadInputSchema as StorageFinalizeUploadInputSchema, StorageKindSchema, StorageLocationDeclarationSchema, StorageLocationModeSchema, StorageLocationRefSchema, StorageLocationSchema, StorageLocationTypeSchema, StorageMigrationClassSchema, StorageMigrationDestinationsSchema, StorageMigrationDrainInputSchema, StorageMigrationFindingCodeSchema, StorageMigrationFindingSchema, StorageMigrationFootageMoveInputSchema, StorageMigrationInputSchema, StorageMigrationJobSchema, StorageMigrationLaneSchema, StorageMigrationLeaseInputSchema, StorageMigrationMediaMoveInputSchema, StorageMigrationModeSchema, StorageMigrationMoveProgressSchema, StorageMigrationMoveSchema, StorageMigrationMoverSchema, StorageMigrationParticipantSchema, StorageMigrationPhaseSchema, StorageMigrationPlanSchema, StorageMigrationResidueSchema, StorageMigrationSourcesSchema, StorageOccupancyReportSchema, ProviderInfoSchema as StorageProviderInfoSchema, ReadChunkInputSchema as StorageReadChunkInputSchema, StorageTableSchema, TestLocationResultSchema as StorageTestLocationResultSchema, WriteChunkInputSchema as StorageWriteChunkInputSchema, StoredRecordKindDeclarationSchema, StreamCodecSchema, StreamFormatSchema, StreamNetworkStatsSchema, StreamParamsOptionsSchema, StreamParamsStatusSchema, StreamProfileConfigSchema, StreamProfileOptionsSchema, StreamProfilePatchSchema, StreamProfileSchema, StreamSignalSchema, StreamSignalsStatusSchema, StreamSourceEntrySchema, StreamSourceSchema, SubscribeAudioChunksInputSchema, SubscribeAudioChunksResultSchema, SuggestSharesInputSchema, SuggestSharesResultSchema, SuggestedDeviceShareSchema, SuggestedNodeShareSchema, SuppliedRootOutputSchema, SwitchStatusSchema, SystemHeldSecretNameSchema, SystemMetricsSchema, SystemMirror, TAXONOMY_COLORS, TIMELAPSE_DENSE_FLOOR_SEC, TIMEZONES, TRACK_RELATIONS_DEFAULT_LIMIT, TRAINING_JOB_SCHEMA, TRAINING_RESULT_SCHEMA, TRANSCODE_DOWN_MAX_BITRATE_KBPS, TRANSCODE_DOWN_MAX_HEIGHT, TamperStatusSchema, TargetKindCapsSchema, TargetKindLevelSchema, TargetKindSchema, TargetSchema, TemperatureSensorStatusSchema, TerminalInstanceInfoSchema, TerminalLegacyCameraSchema, TerminalOutputBatchSchema, TerminalOutputEventSchema, TerminalProfileInfoSchema, TerminalSessionInfoSchema, TestConnectionResultSchema$1 as TestConnectionResultSchema, TestConnectionStatusEnum, TestResultSchema, TimelapseRuleInputSchema, TimelapseRulePatchSchema, TimelapseRuleSchema, TimelapseTemplateSchema, ToastSchema, TokenScopeSchema, TopologyNodeSchema, TopologyProcessSchema, TopologyServiceSchema, TrackCascadeCountsSchema, TrackEnvelopeSchema, TrackFlagsPatchSchema, TrackFlagsSchema, TrackPlacementSchema, TrackProjectionSchema, TrackPuritySchema, TrackPurityValueSchema, TrackRelationKindSchema, TrackRelationRefusalSchema, TrackRelationSchema, TrackSchema, TrackSideSchema, TrackSourceSchema, TrackStateSchema, TrackZoneFilterSchema, TrackedDetectionSchema, TrainerSourceRefSchema, TrainingAcceleratorRefSchema, TrainingBaseModelSchema, TrainingCanarySchema, TrainingCanaryTargetSchema, TrainingCatalogDraftSchema, TrainingCorpusSelectionSchema, TrainingCredentialCheckSchema, TrainingEvalClassSchema, TrainingEvalReportSchema, TrainingEventSchema, TrainingExportDeviceTotalsSchema, TrainingExportSchema, TrainingExportSummarySchema, TrainingFailureReasonSchema, TrainingGpuOptionSchema, TrainingJobPlanSchema, TrainingJobRequestSchema, TrainingJobSchema, TrainingJobSpecSchema, TrainingJobStateSchema, TrainingLogLineSchema, TrainingPresetSchema, TrainingProgressPointSchema, TrainingProviderDefaultsSchema, TrainingProviderDescriptorSchema, TrainingProviderEntrySchema, TrainingProviderTypeSchema, TrainingProviderUpdateEntryInputSchema, TrainingRefusalReasonSchema, TrainingRegionOptionSchema, TrainingResultFileSchema, TrainingResultSchema, TrainingSplitPlanSchema, TrainingStageSchema, TransactRefusedError, TransportPlaneCountsSchema, TransportPlaneSchema, TurnServerSchema, UNATTRIBUTED_BUCKET_KEY, UNIT_TABLE, USE_ROOT_MODEL_DEFAULTS, USE_ROOT_MODEL_SETTING_KEY, UnindexedFilterError, UninstallNodeOutcomeSchema, UninstallNodeResultSchema, UninstallPackageResultSchema, UnitConversionError, UnknownRecordKindError, UnstampedEventMediaCountSchema, UnstampedRowsSchema, UpdateBlockerSchema, UpdateIntegrationInputSchema, UpdateStatusSchema, UpdateUserInputSchema, UserRecordSchema, UserScopeSchema, UserSummarySchema, VECTOR_INDEX_DIM_CONFLICT, VIDEOCLIPS_MAX_OFFER_BYTES, VIDEOCLIPS_MAX_READ_BYTES, VIEWER_FEATURES, VIEWER_FEATURE_IDS, VISIT_MERGE_GAP_MS, VOCAB_TEMPLATES, VacuumControlStatusSchema, VacuumStateSchema, ValveStateSchema, ValveStatusSchema, VectorDeclareIndexInputSchema, VectorDeleteByFilterInputSchema, VectorDeleteInputSchema, VectorDeleteResultSchema, VectorFilterSchema, VectorGetInputSchema, VectorGetResultSchema, VectorItemSchema, VectorMatchSchema, VectorMetadataSchema, VectorMetricSchema, VectorQueryInputSchema, VectorQueryResultSchema, VectorStatsInputSchema, VectorStatsResultSchema, VectorUpsertInputSchema, VectorUpsertResultSchema, VibrationStatusSchema, VideoEncodeSchema, ViewerDeviceAllowSchema, ViewerFeatureIdSchema, ViewerTokenScopeSchema, WEBRTC_CLIMB_HOLD_CODES, WEBRTC_EGRESS_PROFILE, WEBRTC_TRY_BLOCKERS, WEEKLY_MASK_LENGTH, WELL_KNOWN_TABS, WELL_KNOWN_TAB_MAP, WaterHeaterStatusSchema, WeatherStatusSchema, WebrtcClimbHoldSchema, WebrtcLadderDecisionSchema, WebrtcSessionDebugSchema, WebrtcStreamChoiceSchema, WebrtcStreamTargetSchema, WebrtcTierFailureSchema, WhiteBalanceModeSchema, WidgetHostEnum, WidgetLoginMethodSchema, WidgetMetadataSchema, WidgetRemoteSchema, WidgetSizeEnum, WrapperActivationReadSchema, WrapperEvidenceSchema, WrapperIdentitySchema, WrapperKindSchema, YAMNET_TO_MACRO, ZoneCrossingDirectionSchema, ZoneCrossingSchema, ZoneKindEnum, ZoneRuleModeEnum, ZoneRuleSchema, ZoneRuleStageEnum, ZoneRulesArraySchema, ZoneSchema, ZoneScopeBreakdownSchema, __resetLogChannelRegistryForTests, acceleratorKindOf, accessoriesCapability, accessoryChildrenComplete, accessoryChildrenUnknown, accessoryStableId, actionsForBoundCaps, actionsForDevice, actionsForDeviceType, actionsForDevices, activateAlarmProfile, addonCatalogHref, addonPagesCapability, addonPagesSourceCapability, addonRoutesCapability, addonSettingsCapability, addonWidgetsCapability, addonWidgetsSourceCapability, addonsCapability, adminUiCapability, advertisedHubOrigins, airQualitySensorCapability, alarmDeviceBlocksArming, alarmDeviceSecureOnArm, alarmPanelCapability, alarmPatchLanded, alarmProfileById, alertEpisodeId, alertEpisodeKind, alertEpisodePayload, alertNodeId, alertsCapability, allDoActions, allowedSuppliedEffect, ambientLightSensorCapability, annotateClipsWithEventLabels, appFlowLocation, applyBlockingEdit, applyModeDelaysEdits, applyModeDeviceListEdit, applyModelBoundSettings, applyNonBlockingEdit, applySecureOnArmEdit, armRemovalReconcile, arrayItemFieldPath, asBoolean, asJsonArray, asJsonObject, asNumber, asRecordsError, asString, assertTimelapseCadences, assertTransactScope, assertValidDeclaration, assignNodeColorId, audioAnalysisCapability, audioAnalyzerCapability, audioChunkBytesPerSample, audioCodecCapability, audioIsFailClosed, audioKindId, audioLabelChoices, audioMetricsCapability, audioModeOf, audioOrDefaults, audioPlanFromEncodeProfile, audioScaleEraOf, authProviderCapability, autoAssignProfiles, automationControlCapability, backupCapability, bareAddonId, batteryCapability, bestLocationMatch, binaryCapability, bindAddonActions, brightnessCapability, brokerCapability, bucketStartOf, buildAddonRouteProvider, buildAudioArgs, buildBenchStepTree, buildCapabilityLookup, buildDeviceAdminUrl, buildDeviceEnrollmentLink, buildDeviceSignatureMessage, buildDoorbellCompositionFeature, buildEventKindDescriptor, buildFfmpegArgs, buildFrigateClassMap, buildInputArgs, buildModelVariantGroups, buildNcTaxonomy, buildRoleScopes, buildSecretRef, buildStreamParamsConfigSchema, buildSubjectPath, buildVideoArgs, buildViewerLink, builtCapabilityBlockers, buttonCapability, calendarEventLocalSpan, calendarEventOnLocalDay, calendarSourceCapability, calendarsCapability, cameraCredentialsCapability, cameraGridLayoutCapability, cameraOwnsMotionViaSensor, cameraPipelineConfigCapability, cameraScopedStepSettings, cameraSensorRefKey, cameraStreamsCapability, canConvertUnit, canonicalEgressPlan, canonicalIconKey, canonicalizeAppCallback, capabilityScopesOf, capacityForModel, capacitySessionsOf, carbonMonoxideCapability, cellsToRects, checkRoleAddress, claimedRequestOrigins, classifyBearerPrincipal, classifyCamerasForBenchmark, classifyInferenceHardware, classifyRetrainReview, classifySecretWrite, classifyStoreError, classifyStream, classifyStreams, clearKnownSecrets, clearModelBoundOverrides, clearModelBoundSetting, climateControlCapability, clipEventLabelDepsFromApi, clipExportFailure, clipExportFailureOf, clipLabelsForWindow, clipReasonHeaderValue, cloneAlarmSettings, cloneStatefulExpressionMemory, clusterModelSettingKey, clusterStepSettingFieldsFor, clusterStepSettingKey, codecIsAccepted, collectHydratedFieldEntries, collectHydratedFieldValues, collectKeychainStoredKeys, collectModelBoundKeys, collectSecretConfigKeys, collectSecretLeaves, collectSecretMarkerRefs, collectZodSecretPaths, colorCapability, colorForKind, commitWatchdogRestart, compareToTarget, compileExpression, compileExpressionSafe, composeSwitchedOff, composedDeviceRef, composedDeviceStableId, composerCapability, compositionEdges, compositionFeatureEnabled, compositionFieldKey, compositionItemFieldPath, compositionReadKey, compositionSliceKey, compositionSourceKey, compositionSourceRefs, computeCapacityShares, conditionDepth, conditionExclusionReason, conditionVisibleForKind, connectionTestCapability, connectivityCapability, consumableFormOf, consumableKindOf, consumableLowPercentOf, consumablesCapability, contactCapability, containingParentIndex, controlCapability, convertPresetFeature, convertUnit, coralUsableUnits, coreBlockAddonId, coreBlockComposition, coreBlockIdFromAddonId, coreBlockSourceKind, coreBlocksCapability, cosineSimilarity, countConditionLeaves, coverCapability, createAlarmProfile, createDeviceExtensionProvider, createDeviceProxy, createDurableState, createEvent, createEventBusSliceSource, createExpressionScope, createHwAccelCache, createLazyTrpcSource, createLogChannelsProvider, createMirrorSource, createRecordsAccess, createRuntimeStateBridge, createSecretsAccess, createSliceHandle, createStatefulExpressionMemory, createSystemProxy, customAction, customModelRegistryCapability, dataStoreProviderCapability, databaseSnapshotCapability, dayNightCapability, dayOfWeekToIndex, declarationOwnerNodeId, declarationsOf, declareLogChannel, decodeVectorBase64, decoderCapability, defaultDeliveryForSection, defaultDeviceFor, defineCustomActions, defineEntryKind, defineExtensionSlotProvider, defineRecordKinds, dehydrateConfigField, dehydrateSchema, deleteAlarmProfile, deriveBatteryPresence, deriveCameraSwitches, deriveDetailCropRect, deriveMaskSupplies, derivePostTriggeredAction, deriveRecordingMode, deriveRootFaceRefineRect, deriveRootSupplies, describeComposableCaps, describeCustomActions, describeModelVariant, describeOnboardClamp, describeOnboardRefusal, describeRootSupplies, describeRootSupply, describeStateField, describeSystemEventDeliveryProblem, describeSystemEventFamilyProblem, describeTopLevelStateFields, detectAccessRole, detectionPipelineCapability, deviceAdminLinkCapability, deviceAdoptionCapability, deviceAttentionKind, deviceBackendToFormat, deviceCredentialsCapability, deviceCustomAction, deviceDiscoveryCapability, deviceDoFamily, deviceExportCapability, deviceExtensionCapability, deviceHistoryCapability, deviceManagerCapability, deviceMatchesProfile, deviceOpsCapability, deviceProviderCapability, deviceRefusalFromMessage, deviceRemovalHookCapability, deviceSelectorMatches, deviceStateCapability, deviceStatusCapability, diffStepSettings, disarmRoseMemory, dishwasherCapability, doActionSelectValue, dominantClipLabels, doorbellCapability, doorbellFeatureSources, droppedConditionsForKind, edgetpuDelegateDevice, effectiveStepSettings, egressTranscodeSharingKey, egressTransportFromRequest, electByShare, electByShareWithAffinity, eligibleUnderBenchmark, embeddingEncoderCapability, embeddingModelFailedError, embeddingModelFailedOf, embeddingRefusalOf, embeddingRequirementsFailedError, embeddingRequirementsUnavailableError, emitDownForOwnedCaps, emitReadiness, emitsCollectionSelector, encodeProfileFromStreamShape, encodeVectorBase64, ensureAlarmProfiles, entryBody, enumSensorCapability, enumerateInferenceDevices, enumerateItemArrayFields, enumerateSchemaFields, errMsg, estimateNodeBenchmarkDurationMs, evaluateAst, evaluateCompositionField, evaluateCount, evaluateExpressionSource, evaluatePoolMemory, evaluateRose, evaluateSensorEdge, evaluateSensorLevelEdge, evaluateStatefulExpressionCall, evaluateZoneRules, event, eventEmitterCapability, eventKindLabel, eventOverlapsClipWindow, evictionPolicyForMode, evictionPolicyOfLocation, expandAudioChunkToF32le, expandCapMethods, expandContainer, expandSystemEventClasses, exportSubjectOf, exposeBlockDevices, expressionContainsBuiltinCall, extensionSlotRef, extractNestedAddonId, extractSourceInfoFromMetadata, faceGalleryCapability, failureContributionCapability, failureRate, fanControlCapability, featureFieldEntries, featureOfRole, featureProbeCapability, featureSources, feederCustomizationExample, feederExampleSources, ffmpegRate, fieldReads, fieldUnitKeys, fieldsPinnedAtValueBelow, filesystemBrowseCapability, findCandidateCycles, findCompositionCycles, findTimezone, floodCapability, foldSnapshotByFunction, foreignCapacityCells, forgetKnownSecret, formatDeviceRevoker, formatForRuntime, formatMediaOwnerKey, formatMinutes, formatParkedFor, formatSecretScope, freshResults, frigateDefaultClassFloors, frigateLabelFields, gasCapability, gbToBytes, generateAutomationBlock, getAudioMacroClassIds, getByPath, getCapsByProviderKind, getLogChannelRegistry, getTaxonomyEntry, gifDeriveSpeed, gifFilterComplex, gifFromMp4Args, globalSecretScope, grantRowsOf, hasModelBoundOverrides, hasMotionTrigger, hasUrlScheme, heatingValveCapability, hfModelUrl, historyFieldsFor, historyItemFieldPath, htmlToText, hubAddressHostname, hubMotionNativeProvider, humidifierCapability, humiditySensorCapability, hydrateSchema, iconCategoryLabel, iconEntry, iconsInCategory, imageCapability, imageModesForKind, imageSettingsCapability, inferExpressionKinds, inferModelProvider, initialPoolMemoryState, integrationsCapability, intercomCapability, interpolate, interpretStoredClusterModel, invalidClusterStepModelEntries, invertPresetFeature, invocationFromEncodeProfile, isAgentOnlyPlacement, isAlarmControllableCap, isAlertEpisodeOpen, isAlertEpisodeSeverity, isAppLinkBase, isAppStartRefusal, isArrayOutputSchema, isAudioChunkFormat, isAudioClassName, isAudioLabelSelected, isAudioRule, isAutomaticShareSource, isBaseConditionKey, isBatteryPresenceFault, isClusterScopedStep, isCollectionArrayMethod, isCredentialTokenPayload, isDefaultAlarmProfileId, isDefaultAppConnectionEndpoint, isDefinitiveDeviceRefusal, isDeployableToAgent, isDetectionMacroClass, isDeviceConfigCap, isDeviceScopedCap, isDoActionActuatable, isDoPickerDeviceType, isDrawableSubjectPath, isEmbeddingModelFailed, isEvent, isEventKindLabelKey, isEventOwnerType, isFirstLevelMacroClass, isHeldBackTemplateVar, isIconKey, isIsolatedBuiltin, isKeychainStoredField, isKnownTemplateVar, isLabelSupplyStepId, isLocationEnabled, isMediaOwnerType, isModelScopedStepSettingKey, isNode, isOauthLandingReason, isObjectInput, isOccupancyRule, isOwnerOnlyEventCategory, isRemovedModelId, isRestoredCap, isRetiredClearKey, isRootSuppliableStepId, isSameAddonId, isScheduleActive, isSecretClear, isSecretConfigField, isSecretFieldView, isSecretMarker, isSecretMarkerLike, isSecretRef, isSecretRefOwnedBy, isSingleHubAddressRole, isSoftwareDecode, isSourceCap, isStateLabelKey, isStatefulBuiltin, isStorageLocationMode, isSystemDelivery, isSystemEventFamily, isSystemEventRecoveryKind, isSystemEventSummaryRule, isSystemRuleKind, isVectorIndexDimConflict, isVoidInput, isZodSecret, ituDbfsFromPreEpoch, jobKindSchema, kebabToCamel, keychainAdminCapability, keychainCapability, kindOfValue, kindsForDiscriminator, knownSecretCount, knownValues, lawnMowerControlCapability, legacyAutoLinkIds, legacyImageMode, legacyModeOf, lifecycleJobSchema, lifecycleJobScopeSchema, lifecycleJobStateSchema, lifecycleTaskSchema, linkedLabelStepId, linkedStepOf, listBenchDetailSteps, llmCapability, llmRuntimeCapability, loadContributionCapability, localNetworkCapability, localizeConfigTree, locationIconKey, locationSimilarity, lockControlCapability, logBannerArgs, logChannelsCapability, logDestinationCapability, logLevelAtMost, loginMethodCapability, looseSchema, makeInMemoryRecords, makeProfileBrokerId, makeSecretMarker, makeSourceBrokerId, mapAudioLabelToMacro, mapSecretLeaves, markdownToHtmlLite, markdownToText, maskUrlCredentials, matchDoAction, mayReadLocation, mayWriteToLocation, measuredCapacityFromResults, measuredDetectorCells, mediaPlayerCapability, memoizePinnedFfmpeg, mergeClipLabels, mergeSecretStatePaths, mergeSettingsBags, mergeSourceInfo, meshNetworkCapability, method, methodAccessForHttpMethod, methodRoleOf, metricsProviderCapability, migrateLegacyDeviceSignalConfig, minutesToTimeOfDay, modeMayRead, modeMayWrite, modelBindingKey, modelConvertCapability, modelDistributorCapability, modelFormatForRuntime, modelScopedStepSettingKeys, motionCapability, motionDetectionCapability, motionSourceLabel, motionTriggerCapability, motionZonesCapability, mqttBrokerCapability, nativeObjectDetectionCapability, navigationCapability, ncAlarmSystemDefaultSettings, ncMediaPolicyError, networkAccessCapability, networkLinkCapability, networkQualityCapability, nodeBenchmarkRefusals, nodeCertificatesCapability, nodePickerItems, nodePin, nodesCapability, normalizeAddonInitResult, normalizeAudioLabel, normalizeCoreBlockWrite, normalizeNcMediaPolicy, normalizeNodeId, normalizeOrigin, normalizeSecretOwner, normalizeTokenScopes, normalizeUnit, notificationOutputCapability, notificationRulesCapability, notifierCapability, numericSensorCapability, oauthIntegrationCapability, oauthLandingUrl, objectInputDeclaresAddonId, objectInputDeclaresRequiredDeviceId, occupancyScope, oidcConnectionsCapability, omitTransientConfig, optionalAncestors, optionalMethod, osdCapability, osdManagerCapability, overlayClusterStepSettings, packagePickerItems, parseAdminBase, parseAlertEpisodePayload, parseAppAuthCallback, parseAppFlowRequest, parseAppPageLang, parseCameraStreamConfig, parseCredentialScopes, parseDeviceEnrollmentLink, parseExpression, parseJsonArray, parseJsonObject, parseJsonUnknown, parseMediaOwnerKey, parseOauthLandingFragment, parseOccupancyScope, parseProcStatus, parseProfileBrokerId, parseRetrainRevisionConflict, parseRuleSection, parseSecretPath, parseSecretRef, parseSecretStatePath, parseSessionPlacementPolicy, parseShareSource, parseStreamParamsFormPatch, parseTrainingEventLine, patchAudio, petFeederCapability, pickAccessoryControl, pickAppLinkHub, pickClusterStepModels, pickClusterStepSettings, pickDetailCropConvention, pickFaceRescoreIntervalMinutes, pickInvalidClusterStepModels, pickNativeLeaseOverride, pickPreferredRtspEntry, pickRequestOrigin, pickRestartCandidate, pickVideoEncoder, pickerForCondition, pickerForRuleClasses, pinUnderBenchmark, pipelineAnalyticsCapability, pipelineExecutorCapability, pipelineOrchestratorCapability, pipelineRunnerCapability, planComposition, planCompositionEvents, planItems, plateGalleryCapability, platformProbeCapability, poolMemoryThreshold, powerMeterCapability, prepareNotification, presenceCapability, pressureSensorCapability, principalMayReachAddon, privacyMaskCapability, procedureAuthKey, projectSubjectPath, providerMotionEvent, ptzAutotrackCapability, ptzCapability, publicEventCategories, pythonScriptForBackend, rankStreams, readClusterStepModels, readClusterStepSettings, readDetailCropConvention, readDeviceStateFrom, readErrorI18n, readFaceRescoreIntervalMinutes, readHubMotionDetected, readHubMotionStatus, readMotionTriggeredBy, readNativeLeaseOverride, readNodePin, readTimelapseGeneratedAt, readUseRootModel, readinessKey, rebootCapability, recommendNode, reconcileBlockDevices, reconcileRemovedDevices, recordArrayItemPath, recordEntriesCapability, recordSecretCollection, recordSecretRef, recordingArchiveCapability, recordingCapability, recordingExportCapability, recordingOnboardCapability, recordingSignalCapability, recordsCapability, recordsErrorFromMessage, rectsToCells, reducePoints, registerKnownSecret, renameAlarmProfile, renderVocabPhrase, replacedFieldKeys, requestMountPrefix, requiredTopLevelKeys, requiresPython, reservedSourceOwner, resetPoolBaseline, resolveAddonExecution, resolveAddonGroup, resolveAddonPlacement, resolveAppConnections, resolveBucketMs, resolveCapMount, resolveClipSearchMinScore, resolveClusterStepModelId, resolveContainerPrimaryChild, resolveCoreBlockEntry, resolveCoreBlockFiles, resolveCreateExportSubject, resolveDeviceControlKind, resolveDeviceProfile, resolveEffectiveShares, resolveEgressDecodeHwAccel, resolveExportProfiles, resolveFormat, resolveHubAddressRoles, resolveHydratedFieldValue, resolveIconKey, resolveInternalAddress, resolveLocationMode, resolveMethodAuth, resolveMethodRole, resolveModeDelays, resolveModeNotifyPolicy, resolveModelBoundSetting, resolveMutate, resolveNcMediaImage, resolveNotificationTapAddress, resolvePoolMemoryPolicy, resolvePublicEndpoint, resolveRecordingProfiles, resolveRootSupply, resolveRunnerId, resolveSecretMarkers, resolveSecretViewsIn, resolveServerName, resolveStreamMaps, resolveVariantModelId, resolveViewableDeviceIds, resultCellKey, resultStandings, retrainBoxIou, retrainRevisionConflictMessage, roleSpec, roomCompositionExample, rootSuppliesOf, rootSupplyServes, ruleAutoTriggersAlarm, ruleBelongsToAlarm, ruleDeviceCompatCapNames, ruleDeviceCompatCapQueries, ruleEditorSectionsForKind, ruleGatedOnArmedState, ruleGroupingApplies, ruleKindOf, ruleKindSpec, ruleMatchesSection, ruleSection, ruleSectionOf, ruleSeedForSection, ruleTriggerZoneIds, runInferenceStep, runtimeDevices, runtimeStatePolicyFor, sameDoFamily, sceneMonitorCapability, scheduleForSendTimes, schemaDeclaresAnyField, scopeInherits, scopeKey, scopesAllowAddon, scopesAllowAddonRoutes, scopesAllowDeviceCap, scopesAllowOwnPreferences, scopesGrantAdmin, scoreRuntimes, scriptRunnerCapability, scrubKnownSecrets, searchIcons, secretArrayPrefixes, secretTreeFromPaths, secretTreeFromSchema, secureActuationFor, selectAppConnectionEndpoints, selectAssignedProfileSlots, sendTimesForEditor, sendTimesOfSchedule, sensorRaisedOf, sensorTransitionNeverFires, sensorTransitionOffered, servedTemplateVars, serverManagementCapability, sessionsOfDeviceCell, setByPath, settingValuesEqual, settingsBelow, settingsStoreCapability, shareViewGrantOf, shortHostname, shortSecretRefHash, signalPercentFromBars, signalPercentFromRssi, siteZoneKey, sleep, sleepCancellable, sliceActiveValue, sliceChangedAt, smokeCapability, smtpProviderCapability, snapshotCapability, splitTranslationRef, ssoBridgeCapability, startMoverUnderClearance, startReachabilityPoll, stateLabel, stateVocabularyFor, stepModelRunsOnFormat, stepSettingSource, storageAdminCapability, storageCapability, storageEvictableCapability, storageMigrationCapability, storageOccupancyCapability, storageProviderCapability, streamBrokerCapability, streamCatalogCapability, streamParamsCapability, streamPixels, streamQualityLabel, streamSignalsCapability, stripRetiredBandPreBufferSec, strippedOfLegacyReadOnly, subKindsOf, subjectHasPath, subjectPathSampleFromBox, subjectPathSvgPoints, summarisePrivacyAudio, summarizeEffectiveScope, summarizeReview, supplyFor, supportedRuntimes, switchCapability, switchedOffIds, syncActiveAlarmProfileSettings, synthesizeSourceInfo, systemCapability, systemEventClassKinds, systemEventClassOf, systemEventClassesFor, systemEventDeliveryProblems, systemEventFamilyOf, systemEventFamilyProblems, systemEventFilterApplies, systemEventFilterAppliesToAnyKind, systemEventKindNamesOf, systemEventKindsOfFamily, systemEventSummaryScheduleOf, systemEventSummarySplitOf, systemFamilyOfKind, systemRuleKindOf, tamperCapability, taskLogEntrySchema, taskPhaseSchema, taskTargetSchema, temperatureSensorCapability, templateCarriesSummary, templateVarDeliveryApplies, templateVarKindApplies, templateVarSystemEventApplies, templateVarsFor, terminalSessionCapability, textToHtml, timeOfDayToMinutes, toAppLinkHubOrigin, toDeviceSummary, toExpressionValue, toNodeId, toPercentShares, toSecretFieldView, toStreamSourceEntry, toastCapability, toggleAudioLabel, tokenize, trainingCapability, trainingProviderCapability, transcodeBody, transformSecretWrite, tryConvertUnit, turnProviderCapability, unitDimension, unitsForDimension, unreachableExtensionSlotRow, unwrapSchema, updateCapability, userError, userManagementCapability, userPasskeysCapability, vacuumControlCapability, validateComposition, validateCustomAddress, validateExpressionSource, validateRecipeBounds, valveCapability, vectorDimFromBase64, vectorIndexDimConflictError, vectorStoreCapability, vibrationCapability, videoclipsCapability, viewerAdmitsDevice, viewerHoldsRole, viewerLinkBaseOf, viewerScopeOf, viewerUiCapability, actionsForDevice$1 as vocabularyActionsForDevice, triggersForDevice as vocabularyTriggersForDevice, waterHeaterCapability, weatherCapability, webrtcClientHintsSchema, webrtcSessionCapability, weeklyMaskIndex, weeklyMaskIsUniform, weeklyMaskToWindows, widenDeviceConstructor, windowsToWeeklyMask, wiringAddonHealthSchema, wiringHealthSnapshotSchema, wiringNodeHealthSchema, wiringProbeKindSchema, wiringProbeResultSchema, withClipEventLabels, withFieldFrom, withLocationMode, withSystemEventClasses, withoutCallerStamp, withoutField, writeModelBoundSetting, zodEntriesToConfigUI, zoneAnalyticsCapability, zoneRulesCapability, zonesCapability };
110602
+ export { ACCESSORY_LABEL, ACCESS_ROLES, ADMIN_SCOPE, AGENT_MDNS_QUERY_NAME, AGENT_MDNS_SERVICE_TYPE, AGENT_MDNS_TXT_KEYS, AGGREGATE_THROUGHPUT_BY_KIND, ALEXA_EGRESS_PROFILE, ALL_CAPABILITY_DEFINITIONS, ALL_METHOD_ACCESS, APPEARANCE_BIN_COUNT, APPEARANCE_BLOCKS, APPEARANCE_DESCRIPTOR_VERSION, APPEARANCE_RESOLVES_AMBIGUITY_DEFAULT, APPLE_SA_TO_MACRO, APP_AUTH_CALLBACK_MAX_LENGTH, APP_AUTH_CALLBACK_URLS, APP_FLOW_DEFAULT_REDIRECT, APP_FLOW_REFUSAL_MESSAGES, APP_FLOW_STATE_PREFIX, APP_REFUSED_PATH, APP_START_REFUSAL_MESSAGES, ARCHIVED_DEBUG_NOTES_DEFAULT_LIMIT, AUDIO_ANALYSIS_CAP_NAME, AUDIO_BACKEND_CHOICES, AUDIO_CHUNK_FORMATS, AUDIO_MACRO_LABELS, AUDIO_NOT_CLASSIFIED_REASONS, AUDIO_PRESETS, AUDIO_SCALE_EPOCH_ISO, AUDIO_SCALE_EPOCH_MS, AUTOMATIC_HUB_ADDRESS_FLAGS, AUTO_SHARE_HEADROOM, AUTO_TUNE_FAMILY, AcceleratorComputeSchema, AcceleratorKindSchema, AccessoriesStatusSchema, AccessoryKind, AddBrokerInputSchema, AddRetrainFrameFromRecordingResultSchema, AddonAutoUpdateSchema, AddonListItemSchema, AddonPageDeclarationSchema, AddonPageInfoSchema, AddonRoutesScopeSchema, AdminLinkTargetEnum, AdoptInputSchema as AdoptionAdoptInputSchema, AdoptResultSchema as AdoptionAdoptResultSchema, AdoptionCandidateResultSchema, AdoptionFilterSchema, GetCandidateInputSchema as AdoptionGetCandidateInputSchema, AdoptionJobSchema, AdoptionJobStateSchema, ListCandidatesInputSchema as AdoptionListCandidatesInputSchema, ListCandidatesOutputSchema as AdoptionListCandidatesOutputSchema, AdoptionOutcomeSchema, ReleaseInputSchema as AdoptionReleaseInputSchema, AdoptionStatusSchema, AgentLoadSummarySchema, AirQualitySensorStatusSchema, AlarmArmModeSchema, AlarmPanelStatusSchema, AlarmStateSchema, AlertEpisodePayloadSchema, AlertSchema, AlertSeveritySchema, AlertSourceSchema, AlertStatusSchema, AmbientLightSensorStatusSchema, AnalyticsLtsSeriesSchema, AppFlowPurposeSchema, AppLoginPathSchema, AppPageLangSchema, AppleFmAvailabilitySchema, AppleFmUnavailableReasonSchema, ArchiveEntrySchema, ArchiveManifestSchema, ArchiveSqliteSnapshotSchema, ArchivedDebugNoteQueryInputSchema, ArchivedDebugNoteSchema, AttachmentMediaTypeSchema, AttachmentSchema, AudioAnalysisResultSchema, AudioAnalysisSettingsSchema, AudioAttachDeviceInputSchema, AudioAttachDeviceResultSchema, AudioChunkFormatSchema, AudioChunkInputSchema, AudioClassSummarySchema, AudioClassificationLabelSchema, AudioClassificationResultSchema, AudioClassifyOutcomeSchema, AudioCodecInfoSchema, AudioDecodeSessionConfigSchema, AudioDetachDeviceResultSchema, AudioEncodeSchema, AudioEncodeSessionConfigSchema, AudioEncodedChunkSchema, AudioEventSchema, AudioLevelSchema, AudioMetricsHistoryPointSchema, AudioMetricsHistorySchema, AudioMetricsSnapshotSchema, AudioPcmChunkSchema, AudioStreamPickSchema, AuthResultSchema, AutoTuneApplyInputSchema, AutoTuneApplyResultSchema, AutoTuneOptionsSchema, AutoTunePhaseResultSchema, AutoTunePlanSchema, AutoTuneWarningSchema, AutoUpdateSettingsSchema, AutomationActionSchema, AutomationConditionOperatorSchema, AutomationConditionSchema, AutomationControlStatusSchema, AutomationRecipeSchema, AutomationTriggerSchema, AvailableIntegrationTypeSchema, BASE_DEVICE_CAPS, BASE_LIVE_EGRESS_PROFILE, BATTERY_DEVICE_PROFILE, BATTERY_UNREACHABLE_AFTER_MS, BENCH_ROOT_STEP_ID, BIRTH_DECISION_DEFAULT_LIMIT, BOOT_RECOVERY_BACKOFF_MS, BUILTIN_RESULT_KINDS, BackgroundRunRegistry, BacklightModeSchema, BackupArchiveEncryptionSchema, BackupDestinationInfoSchema, BackupEncryptionStatusSchema, BackupEntrySchema, BackupRunPhaseSchema, BackupRunSchema, BackupRunStateSchema, BackupTriggerResultSchema, BaseAddon, BaseDevice, BaseDeviceProvider, BatchTooLargeError, BatteryStatusSchema, BinaryStatusSchema, BirthDecisionCropSourceSchema, BirthDecisionQueryInputSchema, BirthDecisionRecordSchema, BirthDecisionVerdictSchema, BoundingBoxSchema, BrightnessStatusSchema, AddInputSchema as BrokerAddInputSchema, BrokerAudioClientSchema, BrokerClientsSchema, BrokerConnectionDetailsSchema, BrokerConsumerAttributionSchema, BrokerConsumerKindSchema, BrokerEncodedClientSchema, GetStateInputSchema as BrokerGetStateInputSchema, BrokerInfoSchema, BrokerInfoSchema as UnifiedBrokerInfoSchema, BrokerProviderInfoSchema, PublishInputSchema as BrokerPublishInputSchema, RegistryStatusSchema as BrokerRegistryStatusSchema, BrokerRtspClientSchema, BrokerStatsSchema, BrokerStatusEnum, BrokerStatusSchema, SubscribeInputSchema as BrokerSubscribeInputSchema, SubscribeResultSchema as BrokerSubscribeResultSchema, TestConnectionResultSchema as BrokerTestConnectionResultSchema, UnsubscribeInputSchema as BrokerUnsubscribeInputSchema, BucketAccumulator, BulkRecordSchema, CALLER_STAMPED_CAPABILITIES, CAMERA_SENSORS_NOT_LOADED, CAMERA_SENSORS_SETTINGS_KEY, CAMERA_SWITCH_CATALOG, CAMERA_SWITCH_ORDER, CAMERA_TRIGGER, CAMSTACK_APP_LINK_ORIGIN, CAMSTACK_EVENT_PREFIX, CAM_PROFILE_ORDER, CAPABILITY_NAMES, CAPABILITY_ROUTER_KEYS, CAP_NAMES_WITH_STATUS, CAP_NODE_PIN_CONTEXT_KEY, CAP_PROVIDER_KIND_MAP, CAP_VOCABULARY, CAP_VOCABULARY_BY_NAME, CATALOG_LANGS, CLASS_MAP_MACRO_TARGETS, CLIP_BROKER_PACED_RATES, CLIP_LABEL_EVENT_FETCH_LIMIT, CLIP_PLAYBACK_OPTIONS, CLIP_REALTIME_SOURCE_RATES, CLIP_REASON_HEADER_MAX, CLIP_SEARCH_STRICTNESS, CLIP_STILL_DISPOSITION_HEADER, CLIP_STILL_REASON_CODE_HEADER, CLIP_STILL_REASON_HEADER, CLIP_STREAM_SOURCE_RATES, CLIP_STREAM_TRANSPORT_HEADER, CLIP_STRICTNESS_FACTOR, CLIP_VECTOR_INDEX_PATTERN, CLUSTER_MODEL_CHOICE_UNREADABLE_REASONS, CLUSTER_MODEL_SCOPED_STEPS, CLUSTER_MODEL_SECTION_ID, CLUSTER_STEP_SETTING_FIELDS, COCO_80_LABELS, COCO_TO_MACRO, COMPOSED_DEVICE_STABLE_ID_PREFIX, COMPOSED_ITEM_FIXED_FIELDS, COMPOSER_ADDON_ID, COMPOSER_RUNNER_ID, COMPOSITION_EVENT_CATEGORY, COMPOSITION_ITEM_ARRAY_PATH, COMPOSITION_ITEM_KEY_RE, CONNECTION_TEST_TIMEOUT_MS, CONTAINER_CHILD_PRIORITY, CORAL_DEFAULT_MODEL_ID, CORE_BLOCKS_ADDON_ID, CORE_BLOCK_ADDON_PREFIX, CORE_ULTRA_265K_IGPU_CLOCK_MHZ, CORE_ULTRA_265K_IGPU_EU, CREDENTIAL_TOKEN_AUDIENCE, CREDENTIAL_TOKEN_KIND, CROP_CLASS_FLOORS, CROP_SUPPLY_SOURCES, CROP_SUPPLY_STEP_IDS, CUSTOMIZATION_BLOCK_NAME_PREFIX, CalendarColorSchema, CalendarEntrySchema, CalendarEventSchema, CalendarInfoSchema, CalendarListEventsInputSchema, CalendarPreferenceEntrySchema, CalendarPreferencesSchema, CalendarSetPreferenceInputSchema, CalendarSourceKindSchema, CamProfileSchema, CamStreamDescriptorSchema, CamStreamKindSchema, CamStreamResolutionSchema, CameraAssignmentStatusSchema, CameraAudioStatusSchema, CameraBrokerProfileSchema, CameraBrokerStatusSchema, CameraCredentialsSchema, CameraCredentialsStatusSchema, CameraDecoderStatusSchema, CameraDetectionPhaseSchema, CameraDetectionProvisioningSchema, CameraDetectionProvisioningStateSchema, CameraDetectionSourceSchema, CameraDetectionStatusSchema, CameraMetricsSchema, CameraMetricsWithDeviceIdSchema, CameraMotionStatusSchema, CameraOccupancySnapshotForDeviceSchema, CameraOwnMotionSchema, CameraRawLevelSchema, CameraRecordingModeSchema, CameraRecordingStatusSchema, CameraSensorAttachmentSchema, CameraSensorEntrySchema, CameraSensorModeSchema, CameraSensorRefSchema, CameraSensorsConfigSchema, CameraSensorsNotEnforcedSchema, CameraSensorsNotForwardedSchema, CameraSensorsStatusSchema, CameraSourceStatusSchema, CameraSourceStreamSchema, CameraStatusDegradationReasonSchema, CameraStatusDegradationSchema, CameraStatusSchema, CameraStatusStageSchema, CameraStreamSchema, CameraSwitchAuthoritySchema, CameraSwitchGroupSchema, CameraSwitchIdSchema, CameraSwitchSchema, CameraSwitchUnavailableReasonSchema, CameraSwitchWarningSchema, CamstackError, CandidateQueryFilterSchema, CapScopeSchema, CapabilityBindingsSchema, CapacityFallbackSchema, CapacitySourceSchema, CarbonMonoxideStatusSchema, CatalogFileSchema, CatalogLangSchema, ChargingStatus, ClaimOutcomeSchema, ClaimsListingSchema, CleanupDeletedDevicesResultSchema, ClearTrackRelationInputSchema, ClearTrackRelationResultSchema, ClientNetworkStatsSchema, ClimateControlStatusSchema, ClipBytesOfferSchema, ClipBytesSchema, ClipExportFailureSchema, ClipModelMetaSchema, ClipPlaybackOptionsSchema, ClipPlaybackSchema, ClipSchema, ClipSearchStrictnessSchema, ClipSourceAvailabilitySchema, ClipSourceSchema, ClipStillDispositionSchema, ClipStillRefusalCodeSchema, ClipStreamAudioReasonSchema, ClipStreamAudioSchema, ClipStreamDialSchema, ClipWakeSchema, ClusterAddonNodeDeploymentSchema, ClusterAddonStatusEntrySchema, ClusterModelChoiceSchema, CollectionColumnSchema, CollectionIndexSchema, ColorStatusSchema, CompleteEnrollmentInputSchema, CompleteEnrollmentOutputSchema, CompleteEnrollmentResultSchema, ComposableCapabilitiesSchema, ComposableCapabilitySchema, ComposableFieldSchema, ComposerApplyInputSchema, ComposerApplyResultSchema, ComposerBlockSchema, ComposerBlockVerdictSchema, ComposerUnreadableBlockSchema, CompositionBindingSchema, CompositionBlockInputSchema, CompositionBlockStateSchema, CompositionCodeSourceSchema, CompositionCommandTargetSchema, CompositionCustomizationReadSchema, CompositionEventPlanSchema, CompositionExistingTargetSchema, CompositionExpressionSourceSchema, CompositionFeatureModeSchema, CompositionFeaturePlanSchema, CompositionFeatureSchema, CompositionFieldItemSchema, CompositionFieldKindSchema, CompositionFieldPlanSchema, CompositionFieldReadSchema, CompositionFieldRoleSchema, CompositionFieldSourceSchema, CompositionFieldStateKindSchema, CompositionFieldStateSchema, CompositionFieldsFeatureSchema, CompositionForwardCommandSchema, CompositionFromSourceSchema, CompositionGetReadSchema, CompositionGraphError, CompositionItemEntrySchema, CompositionListReadSchema, CompositionLiteralBindingSchema, CompositionNewTargetSchema, CompositionPassthroughFeatureSchema, CompositionProblemCodeSchema, CompositionProblemSchema, CompositionRunStatusSchema, CompositionSchema, CompositionSourceRefSchema, CompositionStateReadSchema, CompositionTargetSchema, CompositionUnavailableModeSchema, CompositionValidationSchema, CompositionViewSchema, ConfigEntrySchema, ConfigSectionWithValuesSchema, ConfigTabDeclarationSchema, ConnectionTestDescriptorSchema, ConnectionTestInputSchema, ConnectionTestOutcomeSchema, ConnectivityStatusSchema, ConsumableFormSchema, ConsumableItemSchema, ConsumableKindSchema, ConsumableLevelSchema, ConsumableRemainingSchema, ConsumableRemainingUnitSchema, ConsumableStatusSchema, ConsumablesStatusSchema, ContactStatusSchema, ControlKindSchema, ControlStatusSchema, ConvertArtifactSchema, ConvertResultSchema, ConvertTargetSchema, CoreBlockCompileInputSchema, CoreBlockCompileResultSchema, CoreBlockFilesSchema, CoreBlockInputFieldsSchema, CoreBlockInputSchema, CoreBlockPlacementSchema, CoreBlockSchema, CoreBlockSourceSchema, CoreBlockStatusSchema, CoverStateSchema, CoverStatusSchema, CreateIntegrationInputSchema, CreateUserInputSchema, CredentialScopeSchema, CredentialTokenClaimsSchema, CustomActionInputSchema, CustomModelDescriptorSchema, DATABASE_SNAPSHOT_PARTIAL_SUFFIX, DATABASE_SNAPSHOT_SUFFIX, DATABASE_SNAPSHOT_TIMEOUT_MS, DATAPLANE_SECRET_HEADER, DATA_STORE_DATABASES, DAYS_PER_WEEK, DAY_NAMES, DECLARED_DEVICE_SWEEP_LIMIT, DECLARED_INTEGRATION_FIXED_KEY, DEFAULT_ADDON_PLACEMENT, DEFAULT_AUDIO_ANALYZER_CONFIG, DEFAULT_CAMERA_FPS, DEFAULT_CAMERA_SENSOR_MODE, DEFAULT_CATALOG_LANG, DEFAULT_CLUSTER_STEP_MODELS, DEFAULT_CLUSTER_STEP_SETTINGS, DEFAULT_CORE_BLOCK_ENTRY, DEFAULT_DECODER_HWACCEL_CONFIG, DEFAULT_DETAIL_CROP_CONVENTION, DEFAULT_EVENTS_BAND_BUFFER_SEC, DEFAULT_EVENT_COLOR, DEFAULT_FEATURES, DEFAULT_FIRST_SIGHTING_FRESHNESS_MS, DEFAULT_HEADROOM, DEFAULT_MIN_LANDMARK_FACE_SIZE_PX, DEFAULT_MIN_SESSIONS_PER_DEVICE, DEFAULT_NATIVE_LEASE_SETTINGS, DEFAULT_OVERLAY_LAYERS, DEFAULT_POOL_MEMORY_POLICY, DEFAULT_RECORDING_PROFILES, DEFAULT_RETENTION, DEFAULT_RUNTIME_STATE_DURABILITY, DEFAULT_SESSION_PLACEMENT_POLICY, DEFAULT_SHARE_SOURCE, DEFAULT_TIMELAPSE_PREVIEW_TEXT, DEFAULT_TOKEN_EXPIRY, DEFAULT_VIEWER_SCOPE, DEFINITIVE_DEVICE_REFUSALS, DERIVED_CAMERA_SILENCED_CAP_NAMES, DETAIL_CROP_PADDING_FIELD, DETAIL_CROP_PADDING_KEY, DETAIL_CROP_SECTION_ID, DETAIL_CROP_SQUARE_KEY, DETECTION_MACRO_CLASSES, DETECTION_PIPELINE_CAP_NAME, DETECTOR_ACCURACY, DETECTOR_PERF, DEVICE_BACKEND_TO_FORMAT, DEVICE_CAP_NAMES, DEVICE_CERT_RENEW_WINDOW_DAYS, DEVICE_CERT_SIGNATURE, DEVICE_CERT_VALIDITY_DAYS, DEVICE_CHILDREN_BATCH_MAX, DEVICE_DEFINITIVE_REFUSALS_BEFORE_DELETE, DEVICE_DO_ACTIONS, DEVICE_ENROLLMENT_TTL_MS, DEVICE_HISTORY_ENERGY_KEY, DEVICE_HISTORY_ORPHAN_DELETE_MAX, DEVICE_HISTORY_ORPHAN_LIST_MAX, DEVICE_HISTORY_QUERY_MANY_MAX_ITEMS, DEVICE_NONCE_TTL_MS, DEVICE_PROFILES, DEVICE_RAMP, DEVICE_REFRESH_REFUSAL_PREFIX, DEVICE_RESTORE_RETRY_CONCURRENCY, DEVICE_RESTORE_RETRY_DELAYS_MS, DEVICE_SAN_CREDENTIAL_PREFIX, DEVICE_SAN_USER_PREFIX, DEVICE_SCOPED_CAPS, DEVICE_SETTINGS_CONTRIBUTION_METHODS, DEVICE_SIGNATURE_MESSAGE_VERSION, DEVICE_STATE_READERS, DEVICE_STATUS_METHOD, DEVICE_TOMBSTONE_RETENTION_MS, DEVICE_TYPE_CONTROL_KIND, DEVICE_TYPE_DO_CAPS, DEVICE_TYPE_INFO, DOORBELL_RISE_DEBOUNCE_MS, DataStoreDatabaseSchema, EngineInfoSchema as DataStoreEngineInfoSchema, DatabaseSnapshotRequestSchema, DatabaseSnapshotResultSchema, DatabaseSnapshotTableSchema, DatabaseSnapshotTargetsSchema, DatabaseSnapshotWrittenSchema, DayNightModeSchema, DayNightOptionsSchema, DayNightSettingsPatchSchema, DayNightStatusSchema, DeclarationRefusedError, DeclareCollectionInputSchema, DeclareKindResultSchema, DeclaredDevices, DecodedAudioChunkSchema, DeleteIntegrationResultSchema, DetailCropConventionSchema, DetectionCatalogClassMapSchema, DetectionSourceSchema, DetectionSourcesSchema, DeviceAdminLinkSchema, DeviceCaStatusSchema, DeviceCertificateLoginMethodSchema, DeviceCertificateSettingsSchema, DeviceChallengeResultSchema, DeviceChallengeSchema, DeviceCodeSeveritySchema, DeviceConfig, DeviceCredentialSchema, DeviceCredentialStatusSchema, DeviceDataEntrySchema, DeviceDiscoveryStatusSchema, DeviceEnrollProofSchema, ExposeInputSchema as DeviceExportExposeInputSchema, DeviceExportStatusSchema, UnexposeInputSchema as DeviceExportUnexposeInputSchema, DeviceFeature, DeviceHistoryKindSchema, DeviceHistoryOrphanDeleteRefusalSchema, DeviceHistoryOrphanReasonSchema, DeviceHistoryProducerKindSchema, DeviceHistoryRefusalReasonSchema, DeviceHistoryResolutionSchema, DeviceHistoryStatusSchema, DeviceHistorySubjectSchema, DeviceInfoSchema, DeviceModelChoiceSchema, DeviceNetworkStatsSchema, DevicePlatformSchema, DeviceProofInputSchema, DeviceRecommendationSchema, DeviceRefusalReasonSchema, DeviceRefusalSchema, DeviceRemovedInputSchema, DeviceRemovedResultSchema, DeviceRestoreRetryScheduler, DeviceRole, DeviceRuntimeState, DeviceSelectorSchema, DeviceSignaturePurposeSchema, DeviceStatusSchema, DeviceTombstoneSchema, DeviceType, DiagnosticIdSchema, DiagnosticWindowPatchSchema, DiagnosticWindowSchema, DiscoveredChildDeviceSchema, DiscoveredChildStatusSchema, DiscoveredDeviceSchema, DiscoveredTargetSchema, DishwasherAccessSchema, DishwasherAvailabilitySchema, DishwasherOperationStateSchema, DishwasherOptionDescriptorSchema, DishwasherOptionsSchema, DishwasherProgramSchema, DishwasherStateSchema, DishwasherStatusSchema, DishwasherValueSchema, DiskReconcileJobSchema, DisposerChain, DoorbellPressEventSchema, DoorbellStatusSchema, EMBEDDING_MODEL_FAILED, EMBEDDING_REQUIREMENTS_FAILED, EMBEDDING_REQUIREMENTS_UNAVAILABLE, ESTIMATE_COMPUTE_RATIO_MAX, ESTIMATE_COMPUTE_RATIO_MIN, EVENTFUL_CAP_NAMES, EVENT_DENSITY_BATCH_MAX, EVENT_KIND_BY_CAP, EVENT_KIND_LABELS, EVENT_KIND_LABEL_KEYS, EVENT_OWNER_TYPES, EVENT_PAD_MS, EVENT_TAXONOMY, EXPORT_DENSE_MAX_RANGES, EXPRESSION_BUILTINS, EXPRESSION_BUILTIN_NAMES, EXPRESSION_COMPILE_CACHE_CAPACITY, EXPRESSION_IDENTIFIER_RE, EXPRESSION_INJECTED_NOW, EXTENSION_HOST_DEVICE_TYPES, EXTENSION_SLOTS, EXTENSION_SLOT_IDS, EXTENSION_SLOT_LISTING_METHOD, EXTENSION_SLOT_REF_SEPARATOR, EffectiveDeviceShareSchema, EffectiveNodeShareSchema, EffectiveSharesSchema, EffectiveTuningSchema, EgressEncodeSchema, EgressRateControlSchema, EgressTranscodeRequestSchema, EgressTranscodeSchema, ElementConfigStore, EmbeddingFailedModelSchema, EmbeddingFailedRequirementSchema, EmbeddingInfoSchema, EmbeddingRefusalCodeSchema, EmbeddingResultSchema, EmbeddingTowerSchema, EncodeProfileSchema, EnrichedWidgetMetadataSchema, EnrollSelfInputSchema, EntryDescriptorSchema, EntryKindInfoSchema, EntryViewSchema, EnumSensorDateTimeFormatSchema, EnumSensorStatusSchema, ErrorCodeSchema, ErrorI18nPayloadSchema, EventCategory, EventDensityBucketSchema, EventDensityForDeviceSchema, EventEmitterStatusSchema, EventFireSchema, EventKindCategorySchema, EventKindDescriptorSchema, EventKindIconSchema, EventKindSchema, EventKindsForDeviceSchema, EventMediaArtifactSchema, EventMediaCoverageSchema, EventMediaKindSchema, EventMediaProductionSchema, EventOwnerTypeSchema, EventSourceType, ExportBytesSchema, ExportClipSubjectSchema, ExportDenseRangeSchema, ExportDenseSchema, ExportDownloadSchema, ExportFootageSubjectSchema, ExportOptionsSchema, ExportRecordSchema, ExportSetupFieldSchema, ExportSetupSchema, ExportSpeedSchema, ExportStateSchema, ExportSubjectSchema, ExportTimelapseSchema, ExposedDeviceSchema, ExposureModeSchema, ExpressionBindingSourceSchema, ExpressionEvalError, ExpressionFieldBindingSchema, ExpressionGlobalBindingSchema, ExpressionLiteralBindingSchema, ExpressionParseError, ExpressionSourceSchema, ExtensionCandidateSchema, ExtensionCandidatesSchema, ExtensionSetResultSchema, ExtensionSetSlotInputSchema, ExtensionSlotActivationSchema, ExtensionSlotIdSchema, ExtensionSlotRefInputSchema, ExtensionSlotRowSchema, ExtensionSlotSourceSchema, ExtensionSlotStateSchema, ExtensionSlotUnreachableSchema, ExtensionSlotValueSchema, ExtensionSourceAvailabilitySchema, ExtensionSourceHealthSchema, ExtensionSourceSchema, ExternalIdentityKeySchema, ExternalIdentitySchema, FACE_RESCORE_INTERVAL_FIELD, FACE_RESCORE_INTERVAL_KEY, FACE_RESCORE_INTERVAL_MIN_RUNNING, FACE_RESCORE_SECTION_ID, FEEDER_EXAMPLE_ADDON_ID, FEEDER_EXAMPLE_HA_DEVICE_ID, FFMPEG_PATH_ENV, FIRST_LEVEL_MACRO_CLASSES, FRIGATE_PLUS_CLASS_FLOORS, FRIGATE_PLUS_TO_MACRO, FRIGATE_PLUS_UNMAPPED_LABELS, FRIGATE_STOCK_CLASS_FLOORS, FULL_IMAGE_BBOX, FailureContributionSchema, FailureCounters, FailureReasonCountSchema, FanControlStatusSchema, FanDirectionSchema, FeatureManifestSchema, FeatureProbeStatusSchema, FieldClaimModeSchema, FieldClaimSchema, FilterRequiredError, FloodStatusSchema, Fmp4BoxSplitter, ForeignSecretMarkerError, FrameHandleSchema, FrameInputSchema, FrameLazyCountersSchema, FrameLazyMetricsSchema, G711_SCALE_CORRECTION_DB, GasStatusSchema, GetLoggingSettingsInputSchema, GetStreamWithCodecInputSchema, GlobalMetricsSchema, GridLayoutPatchSchema, GridLayoutViewSchema, HAP_AUDIO_BASE, HAP_AUDIO_BITRATE_KBPS, HAP_AUDIO_VBV_KBITS, HAP_KEYFRAME_INTERVAL_SEC, HF_BASE_URL, HF_REPO, HISTORY_BUCKET_MS, HISTORY_CATALOG, HISTORY_DEFAULT_MIN_INTERVAL_MS, HISTORY_ITEM_CATALOG, HISTORY_NONE_CAPS, HISTORY_UNIT_LABELS, HOURS_PER_DAY, HUB_ADDRESS_ROLES, HUB_MDNS_QUERY_NAME, HUB_MDNS_ROLE, HUB_MDNS_SERVICE_TYPE, HUB_MDNS_TXT_KEYS, HUB_VIEWER_MOUNT, HWACCEL_OPTIONS, HardwareClassIdSchema, HealthStatusSchema, HeatingValveStatusSchema, HfModelResolutionSchema, HistoryPointSchema, HistoryResolutionEnum, HttpsLeafInfoSchema, HubAddressRoleSchema, HumidifierStatusSchema, HumiditySensorStatusSchema, HvacModeSchema, ICON_CATALOG_SOURCE, ICON_CATEGORIES, ICON_ENTRIES, ICON_KEYS, ICON_VIEWER_MODULES, INFERENCE_DEVICE_EXCLUSION_REASONS, INVERTIBLE_CAPS, IconKeySchema, ImageContractSchema, ImageContractStateSchema, ImageRotateSchema, ImageSettingsOptionsSchema, ImageSettingsPatchSchema, ImageSettingsStatusSchema, ImageStatusSchema, ImportModelBundleInputSchema, ImportModelBundleResultSchema, InferenceDeviceExclusionReasonSchema, IngestOwnerSchema, InstalledPackageSchema, IntegrationLiteSchema, IntegrationWithStateSchema, IntercomAbilitySchema, IntercomStatusSchema, InvalidRecordError, KEYCHAIN_MAX_REFS_PER_CALL, KEYCHAIN_RESET_CONFIRMATION, KEYCHAIN_RESET_TRIGGER_ACTOR, KNOWN_CAP_NAMES, KeptReasonSchema, KeyEventSchema, KeychainAdminSecretSchema, KeychainAuditActionSchema, KeychainAuditEntrySchema, KeychainKeySourceKindSchema, KeychainKeySourceSchema, KeychainResetRecordSchema, KeychainResolveEntrySchema, KeychainResolveResultSchema, KeychainSecretMetaSchema, KeychainSecretUsageSchema, KeychainStateSchema, KeychainStatusSchema, KeychainUnavailableReasonSchema, KeychainWriteRefusedError, LABEL_SUPPLY_MACRO, LABEL_SUPPLY_STEP_IDS, LABEL_SUPPLY_VOCABULARIES, LEGACY_READ_ONLY_CONFIG_KEY, LINKED_DEVICES_SLOT, LINKED_LABEL_STEP_PREFIX, LLM_PROFILE_KIND_PATTERN, LOAD_CONTRIBUTION_ATTRIBUTIONS, LOAD_CONTRIBUTION_ROLES, LOCATION_DESCRIPTION_MAX, LOCATION_ICON_FALLBACK, LOG_CHANNEL_TICK_MS, LOG_LEVEL_RANK, LTS_SCOPE_CLASS_SEPARATOR, LabelAttributionSchema, LabelDefinitionSchema, LabelTierSchema, LatencySourceSchema, LawnMowerActivitySchema, LawnMowerControlStatusSchema, LedgerWalkDeviceReportSchema, LedgerWalkInputSchema, LedgerWalkRefusalSchema, LedgerWalkReportSchema, LedgerWalkSkipCountsSchema, LedgerWalkSkipReasonSchema, LegacyStorageLocationDefaultSchema, LinkedDeviceSchema, LinkedDevicesModeSchema, LinkedDevicesSlotValueSchema, ListNodeBenchmarkResultsInputSchema, ListTrackRelationsInputSchema, ListTrackRelationsResultSchema, LiveViewerCountSchema, LlmDefaultSchema, LlmDefaultSelectorSchema, LlmDownloadProgressSchema, LlmErrorCodeSchema, LlmGenerateBaseInputSchema, LlmGenerateErrSchema, LlmGenerateOkSchema, LlmGenerateResultSchema, LlmImageSchema, LlmListModelsErrorCodeSchema, LlmListModelsInputSchema, LlmListModelsResultSchema, LlmModelFeaturesSchema, LlmModelInfoSchema, LlmNodeModelSchema, LlmProfileFieldSchema, LlmProfileKindDescriptorSchema, LlmProfileKindSchema, LlmProfileSchema, LlmProviderConfigSchema, LlmProviderWidgetSchema, LlmRefusalSourceSchema, LlmRetryPolicySchema, LlmRuntimeAppleCompleteInputSchema, LlmRuntimeCancelInputSchema, LlmRuntimeCompleteInputSchema, LlmRuntimeDiskUsageSchema, LlmRuntimeNodeSchema, LlmRuntimeStatusSchema, LlmTimeoutDefaults, LlmUsageRollupSchema, LlmUsageSchema, LoadBalancingSharesInputSchema, LoadContributionSchema, LocateSegmentResultSchema, LocationDescriptionAssignmentSchema, LocationIconAssignmentSchema, LocationStatSchema, LockControlStatusSchema, LockStateSchema, LogChannelApplyResultSchema, LogChannelDescriptorSchema, LogChannelGate, LogChannelLevelSchema, LogChannelRegistry, LogChannelWindowPatchSchema, LogChannelWindowSchema, LogChannelWindowStateSchema, LogEntrySchema, LogLevelSchema, LogReadCapabilitiesSchema, LogReadEntrySchema, LogReadQuerySchema, LogReadResultSchema, LogStreamEntrySchema, LoggingEffectiveSchema, LoggingExplicitSchema, LoggingLevelLayerSchema, LoggingLevelSourceSchema, LoggingScopeKindSchema, LoggingSettingsPatchSchema, LoggingSettingsStateSchema, LoginMethodContributionSchema, LoginStageEnum, LtsBucketSchema, MACRO_LABELS, MASK_EMITTING_POSTPROCESSORS, MASK_SUPPLY_STEP_IDS, MAX_ARCHIVED_DEBUG_NOTES, MAX_BIRTH_DECISION_RECORDS, MAX_BIRTH_LATENCY_PROXY_MS, MAX_CAMERA_SENSORS, MAX_CLIP_EVENT_IDS, MAX_CLIP_LABELS, MAX_COMPOSITION_CODE_LENGTH, MAX_COMPOSITION_FEATURES, MAX_COMPOSITION_FIELDS_PER_FEATURE, MAX_COMPOSITION_ITEMS, MAX_CONDITION_DEPTH, MAX_CONDITION_LEAVES, MAX_EXPRESSION_AST_NODES, MAX_EXPRESSION_BINDINGS, MAX_EXPRESSION_CALL_ARGS, MAX_EXPRESSION_EVAL_STEPS, MAX_EXPRESSION_SOURCE_LENGTH, MAX_KEYS, MAX_REASONS_PER_KEY, MAX_REQUEUED_BUCKETS_PER_SERIES, MAX_SENSOR_TRIGGER_DEVICES, MAX_TRACK_DEBUG_NOTE_LEN, MAX_TRACK_PURITIES, MAX_TRACK_RELATIONS, MEDIA_OWNER_TYPES, MEDIA_PRESENCE_OWNER_KINDS, METHOD_ACCESS_MAP, METHOD_DEVICE_SELECTORS, MINUTES_PER_DAY, MIN_SCRUBBED_LENGTH, MIN_SESSIONS_PER_DEVICE_RANGE, MODEL_FORMATS, MODEL_HOSTING, MODEL_PROVIDER_IDS, MOTION_CLOSE_AFTER_MS, MOTION_CROP_DISPATCH_KEY, MOTION_CROP_MAX_REGIONS, MOTION_CROP_MOTION_PAD, MOTION_CROP_TRACKED_PAD, MOTION_SOURCE_LABELS, MOTION_TRIGGER_FEATURE, ManagedModelCatalogEntrySchema, ManagedModelExtraFileSchema, ManagedModelRefSchema, ManagedRuntimeConfigSchema, MaskGridDimsSchema, MaskGridShapeSchema, MaskLineShapeSchema, MaskPointSchema, MaskPolygonShapeSchema, MaskPolygonVerticesSchema, MaskRectShapeSchema, MaskShapeKindSchema, MaskShapeSchema, MediaFileInfoSchema, MediaFileKindEnum, MediaFileRefSchema, MediaFileSchema, MediaPlayerRepeatSchema, MediaPlayerStateSchema, MediaPlayerStatusSchema, MediaPresenceOwnerKindSchema, MediaRelocateModeSchema, MeshLeafInfoSchema, MeshPeerSchema, MeshStatusSchema, MethodAccessSchema, MigrateDeviceResultSchema, MigrateSwitchOutcomeSchema, MigrateSwitchReportSchema, ModelBundleFileSchema, ModelCatalogEntrySchema, ModelConvertInputSchema, ModelConvertMetadataSchema, ModelDistributeInputSchema, ModelDistributeResultSchema, ModelExtraFileSchema, ModelFormatEntrySchema, ModelFormatPrecisionSchema, ModelFormatsSchema, ModelLicenseSchema, ModelOnDiskStateSchema, ModelPinChangeSchema, ModelProviderIdSchema, ModelSubstitutionSchema, ModelVariantGroupSchema, MotionAnalysisResultSchema, MotionEventSchema, MotionOnMotionChangedDataSchema, MotionRegionSchema, MotionSourceEnum, MotionSourcesSchema, MotionStatusSchema, MotionTriggerRuntimeStateSchema, MotionTriggerStatusSchema, MotionTriggeredBySchema, MotionZoneOptionsSchema, MotionZonePatchSchema, MotionZoneRegionSchema, MotionZoneStatusSchema, BrokerInfoSchema$1 as MqttBrokerInfoSchema, StatusSchema as MqttBrokerStatusSchema, MutationFilterSchema, N100_IGPU_CLOCK_MHZ, N100_IGPU_EU, NATIVE_LEASE_ACTIVITY_FIELD, NATIVE_LEASE_ACTIVITY_KEY, NATIVE_LEASE_ADMISSION_FIELD, NATIVE_LEASE_ADMISSION_KEY, NATIVE_LEASE_BUDGET_FIELD, NATIVE_LEASE_BUDGET_KEY, NATIVE_LEASE_HOLD_FIELD, NATIVE_LEASE_HOLD_KEY, NATIVE_LEASE_SCENE_BUDGET_FIELD, NATIVE_LEASE_SCENE_BUDGET_KEY, NATIVE_LEASE_SECTION_ID, NATIVE_LEASE_TILE_BUDGET_FIELD, NATIVE_LEASE_TILE_BUDGET_KEY, NAVIGATION_ACTION_CATALOG, NAVIGATION_LIGHT_LEVEL_MAX, NAVIGATION_LIGHT_LEVEL_MIN, NC_ALARM_CONTROLLABLE_CAPS, NC_ALARM_DEFAULT_PROFILE_ID, NC_ALARM_DEFAULT_PROFILE_NAME, NC_ALARM_DEFAULT_TRIGGERED_DURATION_SEC, NC_ALARM_DELAY_FIELDS, NC_ALARM_DELAY_MAX_SEC, NC_ALARM_NONBLOCKING_MAX, NC_ALARM_NOTIFY_FIELDS, NC_ALARM_OPENING_EVENT_KINDS, NC_ALARM_SENSORS_MAX, NC_ALARM_SYSTEM_DEFAULT_DELAYS, NC_ALARM_SYSTEM_EVENT_KINDS, NC_ALARM_TRIGGERED_MAX_SEC, NC_AUDIO_CONFIRM_HITS_DEFAULT, NC_AUDIO_CONFIRM_HITS_MAX, NC_AUDIO_CONFIRM_HITS_MIN, NC_AUDIO_CONFIRM_WINDOW_MAX_SEC, NC_AUDIO_CONFIRM_WINDOW_MIN_SEC, NC_AUDIO_CONFIRM_WINDOW_SEC_DEFAULT, NC_AUDIO_DBFS_FLOOR, NC_AUDIO_DB_MAX, NC_AUDIO_DB_MIN, NC_AUDIO_DB_OFFERED, NC_AUDIO_DB_STEP, NC_AUDIO_DEFAULTS, NC_AUDIO_HIT_PERCENT_MAX, NC_AUDIO_HIT_PERCENT_MIN, NC_AUDIO_SAMPLING_MAX_SEC, NC_AUDIO_SAMPLING_MIN_SEC, NC_AUDIO_SEED, NC_AUTHORABLE_SYSTEM_EVENT_KINDS, NC_BASE_CONDITION_KEYS, NC_BATTERY_CONSUMABLE_SYSTEM_EVENT_KINDS, NC_CAMERA_SCOPE_CAP_NAME, NC_CLIP_POST_ROLL_DEFAULT_SEC, NC_CLIP_PRE_ROLL_DEFAULT_SEC, NC_CLIP_RETENTION_MAX_SEC, NC_CONDITION_CATALOG, NC_CONFIRM_DEFAULT_MAX_IMAGE_PX, NC_CONFIRM_DEFAULT_TIMEOUT_MS, NC_CONFIRM_MAX_TIMEOUT_MS, NC_CONFIRM_MIN_TIMEOUT_MS, NC_CONSUMABLE_LOW_PERCENT_DEFAULT, NC_CONSUMABLE_LOW_PERCENT_MAX, NC_CONSUMABLE_SYSTEM_EVENT_KINDS, NC_DEFAULT_SNOOZE_MINUTES, NC_GROUPING_DEFAULT_SEC, NC_GROUPING_MAX_SEC, NC_GROUPING_MIN_SEC, NC_HISTORY_LIMIT_DEFAULT, NC_HISTORY_LIMIT_MAX, NC_MAX_PER_TRACK_IMMEDIATE, NC_MEDIA_IMAGE_MODES, NC_OCCUPANCY_DEFAULTS, NC_RULE_CLEARABLE_KEYS, NC_RULE_EDITOR_SECTION_ORDER, NC_RULE_KIND_SPECS, NC_RULE_RETIRED_CLEAR_KEYS, NC_RULE_SECTIONS, NC_SENSOR_RAISED_FIELD_BY_KIND, NC_SENSOR_TRANSITION_KINDS, NC_SENSOR_TRANSITION_NEVER_FIRES_WARNING, NC_SENSOR_TRANSITION_UNSUPPORTED_REASON, NC_SERVER_PACKAGE_NAME, NC_SNOOZE_MAX_MINUTES, NC_SYSTEM_DELIVERY, NC_SYSTEM_EVENT_CLASS_SPECS, NC_SYSTEM_EVENT_CONDITION_FILTER_KEYS, NC_SYSTEM_EVENT_FAMILIES, NC_SYSTEM_EVENT_FAMILY, NC_SYSTEM_EVENT_FAMILY_FILTERS, NC_SYSTEM_EVENT_FILTER_KEYS, NC_SYSTEM_EVENT_KIND_GROUP_SPECS, NC_SYSTEM_EVENT_SUMMARY_FAMILIES, NC_SYSTEM_RULE_KINDS, NC_TANK_SYSTEM_EVENT_KINDS, NC_TAXONOMY, NC_TEMPLATE_HELD_BACK_SYSTEM_EVENT_KINDS, NC_TEMPLATE_VARS, NC_UPDATE_EVENT_PACKAGE_NAMES, NETWORK_LINK_TYPES, NETWORK_LINK_UNKNOWN, NODE_BENCHMARK_DEFAULTS, NODE_COLOR_IDS, NO_MEASURED_CAPACITY, NativeCropBboxSchema, NativeCropRefSchema, NativeCropResultSchema, NativeDetectionSchema, NativeLeaseAdmissionSchema, NativeLeaseSettingsSchema, NativeObjectClassEnum, NativeObjectDetectionOptionsSchema, NativeObjectDetectionRuntimeStateSchema, NativeObjectDetectionSettingsPatchSchema, NativeObjectDetectionStatusSchema, NativeObjectGeometryEnum, NavigationActionEntrySchema, NavigationActionIdSchema, NavigationEntryKindSchema, NavigationFeaturesSchema, NavigationLightModeSchema, NavigationModeSchema, NavigationMoveCommandSchema, NavigationPointSchema, NavigationRuntimeStateSchema, NavigationStatusSchema, NcActionBindingSchema, NcAlarmBlockingEditSchema, NcAlarmBlockingSchema, NcAlarmConfigSchema, NcAlarmCreateProfileInputSchema, NcAlarmModeCoverageSchema, NcAlarmModeDelaysEditSchema, NcAlarmModeDelaysSchema, NcAlarmModeDeviceListSchema, NcAlarmNonBlockingEditSchema, NcAlarmNonBlockingSchema, NcAlarmPostTriggeredActionSchema, NcAlarmProfileIdInputSchema, NcAlarmProfileMetaSchema, NcAlarmProfilesViewSchema, NcAlarmRenameProfileInputSchema, NcAlarmSecureOnArmEditSchema, NcAlarmSecureOnArmOffSchema, NcAlarmSensorReadingSchema, NcAlarmSensorStateSchema, NcAlarmSensorsInputSchema, NcAlarmSensorsSchema, NcAlarmSettingsPatchSchema, NcAlarmSettingsSchema, NcAlarmSkipReasonSchema, NcAlarmSkippedDeviceSchema, NcAudioConditionSchema, NcClipRetentionAskSchema, NcClipRetentionPlanSchema, NcConditionDescriptorSchema, NcConditionsSchema, NcConfirmExpectSchema, NcConfirmSchema, NcCrossingSchema, NcDeliverySchema, NcDeviceStateConditionSchema, NcHistoryEntrySchema, NcHistoryFilterSchema, NcHistoryRecordKindSchema, NcHistoryStatusSchema, NcHistorySubjectSchema, NcHookBindingsSchema, NcLegacyRuleActionSequenceSchema, NcLinkedCameraModeSchema, NcMediaFrameSchema, NcMediaImageSchema, NcMediaPolicySchema, NcOccupancyConditionSchema, NcPlateMatcherSchema, NcRuleActionSchema, NcRuleActionSequenceSchema, NcRuleActionsSchema, NcRuleClearableKeySchema, NcRuleInputSchema, NcRuleKindSchema, NcRuleLastRunSchema, NcRuleLastRunsSchema, NcRuleNotificationButtonSchema, NcRulePatchSchema, NcRuleSchema, NcRuleTargetSchema, NcRuleUpdateInputSchema, NcSceneConditionSchema, NcScheduleSchema, NcScheduleWindowSchema, NcSensorTransitionSchema, NcSharedSequenceInputSchema, NcSharedSequenceSchema, NcSnoozeInputSchema, NcSnoozeSchema, NcSnoozeScopeSchema, NcSnoozeSuppressedSchema, NcStateSummaryPreviewRowSchema, NcStateSummaryPreviewSchema, NcStateSummaryPreviewSectionSchema, NcStateSummarySectionIdSchema, NcStateSummarySplitSchema, NcSystemEventConditionSchema, NcSystemEventDeliveryModeSchema, NcSystemEventDeliverySchema, NcSystemEventKindSchema, NcTaxonomyEntrySchema, NcTaxonomySchema, NcTemplateFamilySchema, NcTemplateFieldSchema, NcTemplatePreviewInputSchema, NcTemplatePreviewSchema, NcTemplateVarContextSchema, NcTemplateVarDescriptorSchema, NcTemplateVarGroupSchema, NcTemplateVarKindSchema, NcTestResultSchema, NcThrottleGranularitySchema, NcThrottleSchema, NcZoneConditionSchema, NetworkAccessStatusSchema, NetworkAddressSchema, NetworkEndpointSchema, NetworkLinkStatusSchema, NetworkTunnelStartedDataSchema, NoCallerError, NodeBenchCellSchema, NodeBenchClipSchema, NodeBenchDeviceCellSchema, NodeBenchFingerprintSchema, NodeBenchLimitSchema, NodeBenchPipelineCellSchema, NodeBenchProgressSchema, NodeBenchRampStepSchema, NodeBenchRunnerInputSchema, NodeBenchRunnerStateSchema, NodeBenchRunnerStatusSchema, NodeBenchmarkCandidatesSchema, NodeBenchmarkDevicePlanSchema, NodeBenchmarkEndReasonSchema, NodeBenchmarkManifestSchema, NodeBenchmarkMovingCameraSchema, NodeBenchmarkPhaseSchema, NodeBenchmarkPlanSchema, NodeBenchmarkPreflightSchema, NodeBenchmarkRefusalKindSchema, NodeBenchmarkRefusalSchema, NodeBenchmarkResultSchema, NodeBenchmarkResultViewSchema, NodeBenchmarkRunSchema, NodeBenchmarkStateSchema, NodeBenchmarkStatusSchema, NodeBenchmarkStayingCameraSchema, NodeColorIdSchema, NodeDeviceChangeSchema, NodeDirectoryEntrySchema, NodeDirectorySchema, NodeHttpsStateSchema, NodeRecommendationSchema, NotificationActionIconSchema, NotificationActionSchema, NotificationFormatSchema, NotificationSchema, NotifierStatusSchema, NumericSensorStatusSchema, OAUTH_LANDING_PATH, OAUTH_LANDING_REASONS, OBJECT_DETECTION_STEP_ID, OPERATOR_WRITTEN_STALE_MS, OPS_LOG_DEFAULT_LIMIT, OPS_LOG_RING_DEFAULT_MAX, OVERFLOW_REASON, OVERLAY_LAYERS, OWNER_ONLY_EVENT_CATEGORIES, OauthIntegrationDescriptorSchema, ObjectEventSchema, OccupancyBurstRefusalSchema, OccupancyLookAnswerSchema, OccupancyLookRefusalSchema, OccupancyLookRequestSchema, OidcConnectionSchema, OidcConnectionUpdateInputSchema, OnboardFieldSupportSchema, OnboardRecordTrackSchema, OnboardScheduleSupportSchema, OnboardStorageSchema, OnboardStorageVolumeSchema, OpsLogDomainSchema, OpsLogEntrySchema, OpsLogOpSchema, OpsLogQueryInputSchema, OpsLogReasonSchema, OrchestratorMetricsSchema, OrphanDeviceDataSchema, OsdNamedTemplateSchema, OsdOverlayKindEnum, OsdOverlayPatchSchema, OsdOverlaySchema, OsdPositionEnum, OsdRenderOutcomeEnum, OsdRenderResultSchema, OsdSlotBindingSchema, OsdSlotViewSchema, OsdSourceOptionSchema, OsdSourceSchema, OsdSourceValueTypeEnum, OsdStatusSchema, OsdTemplateBindingSchema, OsdTemplateFormatSchema, OsdTemplatePickSchema, OsdTemplateTokenKindSchema, PEER_BYTES_CHUNK_BYTES, PEER_BYTES_MAX_OUTSTANDING, PEER_BYTES_STALL_MS, PEER_BYTES_TICKET_TTL_MS, PENDING_BLOCK_ID, PET_FEEDER_MANUAL_FEED_MAX, PET_FEEDER_MANUAL_FEED_MIN, PHOENIX_780M_CU, PIPELINE_ANALYTICS_CAP_NAME, PIPELINE_FLOW_CAPABILITY_NAMES, PIPELINE_OWNER_CAPABILITY_NAMES, PIPELINE_RAMP, PREFERENCES_MAX_DEVICE_ID_LENGTH, PREFERENCES_MAX_NAMESPACES, PREFERENCES_MAX_VALUE_BYTES, PREFERENCES_NAMESPACE_PATTERN, PREFERENCES_SELF_SCOPE, PRIVACY_MASK_CAP_NAME, PROVIDER_KIND_CAP_NAMES, PROVIDER_PIN_FIELD, PUBLIC_ENDPOINT_HTTP_REASON, PYTHON_SCRIPT, PackageInstallationSchema, PackageInstallationsSchema, PackageLlmVerdictSchema, PackageUpdateSchema, PackageVersionInfoSchema, ParkRefusalSchema, ParkTrackFrameResultSchema, ParkedFrameKindSchema, ParkedTrackFrameSchema, PasskeyLoginMethodSchema, PasskeySummarySchema, PcmSampleFormatSchema, PeerBytesTicketSchema, PerScopeBreakdownSchema, PetFeederStatusSchema, PickStreamPreferencesSchema, PickStreamRequirementsSchema, PickedCamStreamSchema, PipelineAssignmentSchema, PipelineDefaultStepSchema, PipelineEngineChoiceSchema, PipelineModelFormatStatusSchema, PipelineRunResultBridge, PipelineStepInputSchema, PipelineValidationIssueSchema, PipelineValidationResultSchema, PlaceholderReasonSchema, PlacementDeviceStatsSchema, PlacementNodeStatsSchema, PlacementStatsInputSchema, PlacementStatsSchema, PlaintextSecretError, PolygonPointSchema, PoolMemoryWatchdog, PowerMeterStatusSchema, PrecisionGopsSchema, PreferenceDeviceIdSchema, PreferenceNamespaceSchema, PreferenceRowSchema, PreferenceValueSchema, PreferencesChangedSinceInputSchema, PreferencesChangedSinceOutputSchema, PreferencesDeleteInputSchema, PreferencesDeleteOutputSchema, PreferencesGetInputSchema, PreferencesGetOutputSchema, PreferencesPutInputSchema, PreferencesPutOutputSchema, PreferencesSelfScopeSchema, PresenceStatusSchema, PressureSensorStatusSchema, PrivacyMaskOptionsSchema, PrivacyMaskPatchSchema, PrivacyMaskRegionSchema, PrivacyMaskShapeSchema, PrivacyMaskStatusSchema, ProbeTargetConfigResultSchema, ProfileRtspEntrySchema, ProfileSlotSchema, ProfileSlotStatusSchema, ProviderJobStateSchema, ProviderJobStatusSchema, ProviderMotionDataSchema, ProviderStatusSchema, PtzAutotrackRuntimeStateSchema, PtzAutotrackSettingsSchema, PtzAutotrackStatusSchema, PtzAutotrackTargetOptionSchema, PtzHomePresetSchema, PtzHomeReturnSchema, PtzMoveCommandSchema, PtzOptionsSchema, PtzPositionSchema, PtzPresetFunctionSchema, PtzPresetSchema, PtzStatusSchema, QueryFilterSchema, RATE_CONTROL_RELAXED, RATE_CONTROL_TIGHT, REACHABILITY_FAILURES_TO_OFFLINE, REACHABILITY_POLL_INTERVAL_MS, REACHABILITY_PROBE_TIMEOUT_MS, RECALL_TIE, RECOGNITION_TYPES, RECORDING_AUDIO_TRIGGER_OFFERED_DBFS, RECORDING_EXPORT_MAX_READ_BYTES, RECORDING_SOURCE_CAMSTACK, RECORDING_SOURCE_CAMSTACK_ADDON, RECORDING_TIMELINE_BATCH_MAX, RECORDS_ERROR_CODES, RECORD_BATCH_MAX, RECORD_BATCH_MAX_BYTES, RECORD_CLASSES, RECORD_DATABASES, RECORD_DEFAULT_MAX_DATA_BYTES, RECORD_DELETE_BATCH, RECORD_ID_MAX_LENGTH, RECORD_MAX_DATA_BYTES, RECORD_MAX_INDEXES, RECORD_MAX_INDEX_FIELDS, RECORD_QUERY_MAX, RECORD_SECRET_COLLECTION_PREFIX, RECORD_SETTINGS_MAX_ROWS, RECORD_SWEEP_INTERVAL_MS, RECOVERY_CROP_MAX_SIDE_PX, RECOVERY_CROP_MIN_SIDE_PX, RECOVERY_CROP_PADDING_RATIO, RECOVERY_EDGE_MARGIN_PX, RECOVERY_FUSE_CONTAINMENT, RECOVERY_FUSE_IOU, RECOVERY_MAX_CROPS_PER_FRAME, RECOVERY_MAX_REGION_FRAME_FRACTION, RECOVERY_MIN_INTERVAL_MS, RECOVERY_MIN_UNCOVERED_FRACTION, RECOVERY_MOTION_MAX_AGE_MS, RECOVERY_VIEW_PX, REDACTED_SECRET, REFERENCE_COMPUTE, REFERENCE_MATCH_FRACTION, REMOVAL_RECONCILE_INTERVAL_MS, REMOVED_MODEL_IDS, REMOVE_LEAF, RESERVED_BINDING_NAMES, RESERVED_COLLECTION_SOURCES, RESTORED_CAP_NAMES, RETRAIN_REVIEW_ADJUSTED_IOU, RETRAIN_REVIEW_MATCH_IOU, RETRAIN_REVIEW_STATUSES, RETRAIN_REVISION_CONFLICT, REVALIDATE_AFTER_MS, ROOM_EXAMPLE_MOTION_SOURCES, ROOM_EXAMPLE_TEMPERATURE_SOURCES, ROOM_OCCUPANCY_WINDOW_MS, ROOT_BUCKET_KEY, ROOT_CHILD_CONTAINMENT_MIN, ROOT_FACE_REFINE_INPUT_PX, ROOT_FACE_REFINE_SCALE, ROOT_SUPPLIABLE_STEP_IDS, RUNTIME_DEFAULTS, RUNTIME_STATE_POLICY, RUNTIME_STATE_REFRESH_MISS_COOLDOWN_MS, RUNTIME_TO_FORMAT, RawSecretMigrationInputSchema, RawSecretMigrationReportSchema, RawStateResultSchema, ReadGopBytesResultSchema, ReadSegmentBytesResultSchema, ReadWindowBytesResultSchema, ReadinessRegistry, ReadinessTimeoutError, RebuildObjectEmbeddingsRefusalSchema, RecentTracksPageSchema, RecentTracksQueryInput, RecommendationReasonSchema, RecordBodySchema, RecordFieldPathSchema, RecordIdSchema, RecordIndexSchema, RecordInputSchema, RecordKindDeclarationSchema, RecordKindNameSchema, RecordNotFoundError, RecordQueryInputSchema, RecordQueryResultSchema, RecordRetentionSchema, RecordSecretRefsSchema, RecordSecretUnavailableError, RecordTooLargeError, RecordTransactOpSchema, RecordTriggerSchema, RecordUniqueViolationError, RecordViewSchema, RecordWhereSchema, RecordWindowSchema, RecordingAvailabilityForDeviceSchema, RecordingAvailabilitySchema, RecordingBandAudioSchema, RecordingBandModeSchema, RecordingBandSchema, RecordingBandTriggersSchema, RecordingConfigSchema, RecordingDaysForDeviceSchema, RecordingDaysSchema, RecordingDeviceUsageSchema, RecordingLocationUsageSchema, RecordingManifestSchema, RecordingObjectTriggerClassSchema, RecordingOnboardOptionsSchema, RecordingOnboardPatchSchema, RecordingOnboardStatusSchema, RecordingPlaybackSchema, RecordingRangeSchema, RecordingReadSchema, RecordingRebalanceInputSchema, RecordingRebalanceMoveSchema, RecordingRebalancePlanSchema, RecordingRebalanceSkipReasonSchema, RecordingRebalanceSkipSchema, RecordingRetentionSchema, RecordingSignalRuntimeStateSchema, RecordingSignalStatusSchema, RecordingSourceAvailabilitySchema, RecordingSourceOptionsSchema, RecordingSourceSchema, RecordingStatusSchema, RecordingStorageModeSchema, RecordingStorageUsageSchema, RecordingTriggersSchema, RecordingWeekdaySchema, RecordsError, RedirectLoginMethodSchema, RelocatableMediaCountInputSchema, RelocatableMediaCountSchema, RelocateFootageClassSchema, RelocateFootageInputSchema, RelocateJobSchema, RelocateJobStateSchema, RelocateMediaInputSchema, RelocateResidueInputSchema, RelocateResidueSchema, RenderedAsSchema, RenewDeviceCertificateOutputSchema, RenewDeviceCertificateResultSchema, ReportMotionInputSchema, ReportedFailureContributionSchema, ReportedLoadContributionSchema, RequestCensusGroupSchema, RequestCensusProcedureSchema, RequestCensusSnapshotSchema, RequestCensusStatusSchema, RetrainAnnotationDraftSchema, RetrainAnnotationKindSchema, RetrainAnnotationSchema, RetrainAnnotationSourceSchema, RetrainArchiveResultSchema, RetrainArchiveTargetSchema, RetrainAssistProfileSchema, RetrainAssistResultSchema, RetrainAssistSubjectSchema, RetrainBoxReviewSchema, RetrainCollectionCreateResultSchema, RetrainCollectionRenameResultSchema, RetrainCollectionSchema, RetrainCopyRefusalSchema, RetrainCorpusFilterSchema, RetrainCorpusKpiCameraRowSchema, RetrainCorpusKpiSchema, RetrainCorpusPageFrameSchema, RetrainCorpusPageSchema, RetrainDatasetSelectionSchema, RetrainDatasetStatsSchema, RetrainDatasetVersionSchema, RetrainDismissedSchema, RetrainExportFilterSchema, RetrainExportLayoutSchema, RetrainFrameCandidateSchema, RetrainFrameListSchema, RetrainFrameOriginSchema, RetrainFrameReviewSchema, RetrainFrameSchema, RetrainFrameSelectionSchema, RetrainFrameWorkStateSchema, RetrainLlmAssistResultSchema, RetrainLlmProposalSchema, RetrainLlmReviewSchema, RetrainMacroClassSchema, RetrainOriginSchema, RetrainPipelineBoxSchema, RetrainReviewStatusSchema, RetrainStatusSchema, RetrainTrackSchema, RetrainTrainingCorpusResolveResultSchema, RetrainTrainingCorpusSelectionSchema, RetrainTransitionResultSchema, RevConflictError, RevokeOwnDeviceCertificateResultSchema, RingBuffer, RootStepSupplySchema, RtpSourceSchema, RtspRestreamEntrySchema, RunnerBootCheckSchema, RunnerCameraConfigSchema, RunnerCameraDeviceUIFields, RunnerFrameSourceSchema, RunnerInferenceDeviceSchema, RunnerJumpStepProvisioningSchema, RunnerLocalLoadSchema, RunnerLocalMetricsSchema, RunnerRefusalSchema, SCENE_CONDITIONS, SCENE_CONFIRM_DEFAULT_MAX_IMAGE_PX, SCENE_CONFIRM_DEFAULT_TIMEOUT_MS, SCENE_DEFAULT_ANCHOR_THRESHOLD, SCENE_DEFAULT_CHECK_INTERVAL_SEC, SCENE_DEFAULT_OBSERVATION_SPACING_SEC, SCENE_DEFAULT_QUIET_SECONDS, SCENE_DEFAULT_UNCOVERED_POLICY, SCENE_DIVERGED, SCENE_RESET_RECAPTURES, SCOPE_PRESETS, SECRET_CLEAR, SECRET_META, SECRET_REF_SCHEME, SENSOR_FEATURES, SENSOR_MAP, SERIAL_CAPACITY_CAMERA_FPS, SERVER_NAME_MAX_LENGTH, SERVER_NAME_SETTING_KEY, SESSION_PLACEMENT_SETTING_KEY, SHARE_AFFINITY_TOLERANCE_SESSIONS, SHARE_SOURCE_SETTING_KEY, SHARE_VIEW_KINDS, SHARE_VIEW_MAX_DEVICES, SINGLE_HUB_ADDRESS_ROLES, SOURCE_CAPS, SOURCE_CAP_ACTIVE_FIELD, SOURCE_CAP_CHANGED_AT_FIELD, SOURCE_DEVICE_TYPES, SOURCE_INFO_METADATA_KEY, SSO_STATE_COOKIE, SSO_STATE_COOKIE_MAX_AGE_SEC, STATE_LABELS, STATE_LABEL_KEYS, STATIONARY_OVERLAY_STYLE, STORAGE_ACCESS_FALLBACK, STORAGE_BYTES_PER_GB, STORAGE_LOCATION_MODES, STREAM_PROFILE_META, STREAM_QUALITY_LABELS, SUBJECT_PATH_DWELL_EPS, SUBJECT_PATH_FULL_FRAME_COVERAGE, SUBJECT_PATH_MAX_POINTS, SUB_DETECTION_TYPES, SYSTEM_CAP_NAMES, SYSTEM_SCOPE_DEVICE_METHODS, SceneCheckSchema, SceneConditionSchema, SceneConfirmSchema, SceneMonitorSchema, SceneMonitorStateSchema, SceneMonitorStatusForDeviceSchema, SceneMonitorStatusSchema, SceneReferenceSchema, SceneUnavailableSchema, SceneUncoveredPolicySchema, SceneVerdictSchema, ScopedTokenSchema, ScoredObjectEventSchema, ScriptRunnerStatusSchema, SearchResultSchema, SendEmailInputSchema, SendEmailResultSchema, SendResultSchema, SensorEventSchema, ServerBootModeSchema, ServerNameInfoSchema, ServerNameSchema, ServerPackageStatusSchema, ServerRollbackInfoSchema, ServerUpdateActionResultSchema, ServerUpdateCheckResultSchema, ServerUpdateOutcomeSchema, ServerUpdateStateSchema, SessionPlacementPolicySchema, SessionTriggerSchema, SetCameraSensorsInputSchema, SetLoggingSettingsInputSchema, SetShareSourceInputSchema, SetSiteLocationInputSchema, SetTrackPurityInputSchema, SetTrackPurityResultSchema, SetTrackRelationInputSchema, SettingsPatchSchema, SettingsRecordSchema, SettingsSchemaWithValuesSchema, SettingsUpdateResultSchema, ShareSourceSchema, ShareViewGrantSchema, ShareViewScopeSchema, ShareWeightsSchema, SiteLocationSchema, SiteLocationSourceSchema, SiteLocationStatusSchema, SiteZoneSchema, SmokeStatusSchema, SmtpStatusSchema, SnapshotImageSchema, SourceInfoSchema, SpatialDetectionSchema, SsoBridgeClaimsSchema, StaleDevicePinSchema, StartEmbeddedInputSchema, StartEnrollmentOutputSchema, StationaryObjectSchema, AbortUploadInputSchema as StorageAbortUploadInputSchema, StorageAccessSchema, BeginDownloadInputSchema as StorageBeginDownloadInputSchema, BeginDownloadResultSchema as StorageBeginDownloadResultSchema, BeginUploadInputSchema as StorageBeginUploadInputSchema, BeginUploadResultSchema as StorageBeginUploadResultSchema, StorageCleanupInputSchema, StorageCleanupJobSchema, StorageCleanupPhaseSchema, StorageCleanupStatusInputSchema, StorageDrainProgressSchema, EndDownloadInputSchema as StorageEndDownloadInputSchema, StorageEvictionPolicySchema, FinalizeUploadInputSchema as StorageFinalizeUploadInputSchema, StorageKindSchema, StorageLocationDeclarationSchema, StorageLocationModeSchema, StorageLocationRefSchema, StorageLocationSchema, StorageLocationTypeSchema, StorageMigrationClassSchema, StorageMigrationDestinationsSchema, StorageMigrationDrainInputSchema, StorageMigrationFindingCodeSchema, StorageMigrationFindingSchema, StorageMigrationFootageMoveInputSchema, StorageMigrationInputSchema, StorageMigrationJobSchema, StorageMigrationLaneSchema, StorageMigrationLeaseInputSchema, StorageMigrationMediaMoveInputSchema, StorageMigrationModeSchema, StorageMigrationMoveProgressSchema, StorageMigrationMoveSchema, StorageMigrationMoverSchema, StorageMigrationParticipantSchema, StorageMigrationPhaseSchema, StorageMigrationPlanSchema, StorageMigrationResidueSchema, StorageMigrationSourcesSchema, StorageOccupancyReportSchema, ProviderInfoSchema as StorageProviderInfoSchema, ReadChunkInputSchema as StorageReadChunkInputSchema, StorageTableSchema, TestLocationResultSchema as StorageTestLocationResultSchema, WriteChunkInputSchema as StorageWriteChunkInputSchema, StoredRecordKindDeclarationSchema, StreamCodecSchema, StreamFormatSchema, StreamNetworkStatsSchema, StreamParamsOptionsSchema, StreamParamsStatusSchema, StreamProfileConfigSchema, StreamProfileOptionsSchema, StreamProfilePatchSchema, StreamProfileSchema, StreamSignalSchema, StreamSignalsStatusSchema, StreamSourceEntrySchema, StreamSourceSchema, SubscribeAudioChunksInputSchema, SubscribeAudioChunksResultSchema, SuggestSharesInputSchema, SuggestSharesResultSchema, SuggestedDeviceShareSchema, SuggestedNodeShareSchema, SuppliedRootOutputSchema, SwitchStatusSchema, SystemHeldSecretNameSchema, SystemMetricsSchema, SystemMirror, TAXONOMY_COLORS, TIMELAPSE_DENSE_FLOOR_SEC, TIMEZONES, TRACK_RELATIONS_DEFAULT_LIMIT, TRAINING_JOB_SCHEMA, TRAINING_RESULT_SCHEMA, TRANSCODE_DOWN_MAX_BITRATE_KBPS, TRANSCODE_DOWN_MAX_HEIGHT, TamperStatusSchema, TargetKindCapsSchema, TargetKindLevelSchema, TargetKindSchema, TargetSchema, TemperatureSensorStatusSchema, TerminalInstanceInfoSchema, TerminalLegacyCameraSchema, TerminalOutputBatchSchema, TerminalOutputEventSchema, TerminalProfileInfoSchema, TerminalSessionInfoSchema, TestConnectionResultSchema$1 as TestConnectionResultSchema, TestConnectionStatusEnum, TestResultSchema, TimelapseRuleInputSchema, TimelapseRulePatchSchema, TimelapseRuleSchema, TimelapseTemplateSchema, ToastSchema, TokenScopeSchema, TopologyNodeSchema, TopologyProcessSchema, TopologyServiceSchema, TrackCascadeCountsSchema, TrackEnvelopeSchema, TrackFlagsPatchSchema, TrackFlagsSchema, TrackPlacementSchema, TrackProjectionSchema, TrackPuritySchema, TrackPurityValueSchema, TrackRelationKindSchema, TrackRelationRefusalSchema, TrackRelationSchema, TrackSchema, TrackSideSchema, TrackSourceSchema, TrackStateSchema, TrackZoneFilterSchema, TrackedDetectionSchema, TrainerSourceRefSchema, TrainingAcceleratorRefSchema, TrainingBaseModelSchema, TrainingCanarySchema, TrainingCanaryTargetSchema, TrainingCatalogDraftSchema, TrainingCorpusSelectionSchema, TrainingCredentialCheckSchema, TrainingEvalClassSchema, TrainingEvalReportSchema, TrainingEventSchema, TrainingExportDeviceTotalsSchema, TrainingExportSchema, TrainingExportSummarySchema, TrainingFailureReasonSchema, TrainingGpuOptionSchema, TrainingJobPlanSchema, TrainingJobRequestSchema, TrainingJobSchema, TrainingJobSpecSchema, TrainingJobStateSchema, TrainingLogLineSchema, TrainingPresetSchema, TrainingProgressPointSchema, TrainingProviderDefaultsSchema, TrainingProviderDescriptorSchema, TrainingProviderEntrySchema, TrainingProviderTypeSchema, TrainingProviderUpdateEntryInputSchema, TrainingRefusalReasonSchema, TrainingRegionOptionSchema, TrainingResultFileSchema, TrainingResultSchema, TrainingSplitPlanSchema, TrainingStageSchema, TransactRefusedError, TransportPlaneCountsSchema, TransportPlaneSchema, TurnServerSchema, UNATTRIBUTED_BUCKET_KEY, UNIT_TABLE, USE_ROOT_MODEL_DEFAULTS, USE_ROOT_MODEL_SETTING_KEY, UnindexedFilterError, UninstallNodeOutcomeSchema, UninstallNodeResultSchema, UninstallPackageResultSchema, UnitConversionError, UnknownRecordKindError, UnstampedEventMediaCountSchema, UnstampedRowsSchema, UpdateBlockerSchema, UpdateIntegrationInputSchema, UpdateStatusSchema, UpdateUserInputSchema, UserRecordSchema, UserScopeSchema, UserSummarySchema, VECTOR_INDEX_DIM_CONFLICT, VIDEOCLIPS_MAX_OFFER_BYTES, VIDEOCLIPS_MAX_READ_BYTES, VIEWER_FEATURES, VIEWER_FEATURE_IDS, VISIT_MERGE_GAP_MS, VOCAB_TEMPLATES, VacuumControlStatusSchema, VacuumStateSchema, ValveStateSchema, ValveStatusSchema, VectorDeclareIndexInputSchema, VectorDeleteByFilterInputSchema, VectorDeleteInputSchema, VectorDeleteResultSchema, VectorFilterSchema, VectorGetInputSchema, VectorGetResultSchema, VectorItemSchema, VectorMatchSchema, VectorMetadataSchema, VectorMetricSchema, VectorQueryInputSchema, VectorQueryResultSchema, VectorStatsInputSchema, VectorStatsResultSchema, VectorUpsertInputSchema, VectorUpsertResultSchema, VibrationStatusSchema, VideoEncodeSchema, ViewerDeviceAllowSchema, ViewerFeatureIdSchema, ViewerTokenScopeSchema, WEBRTC_CLIMB_HOLD_CODES, WEBRTC_EGRESS_PROFILE, WEBRTC_TRY_BLOCKERS, WEEKLY_MASK_LENGTH, WELL_KNOWN_TABS, WELL_KNOWN_TAB_MAP, WaterHeaterStatusSchema, WeatherStatusSchema, WebrtcClimbHoldSchema, WebrtcLadderDecisionSchema, WebrtcSessionDebugSchema, WebrtcStreamChoiceSchema, WebrtcStreamTargetSchema, WebrtcTierFailureSchema, WhiteBalanceModeSchema, WidgetHostEnum, WidgetLoginMethodSchema, WidgetMetadataSchema, WidgetRemoteSchema, WidgetSizeEnum, WrapperActivationReadSchema, WrapperEvidenceSchema, WrapperIdentitySchema, WrapperKindSchema, YAMNET_TO_MACRO, ZoneCrossingDirectionSchema, ZoneCrossingSchema, ZoneKindEnum, ZoneRuleModeEnum, ZoneRuleSchema, ZoneRuleStageEnum, ZoneRulesArraySchema, ZoneSchema, ZoneScopeBreakdownSchema, __resetLogChannelRegistryForTests, acceleratorKindOf, accessoriesCapability, accessoryChildrenComplete, accessoryChildrenUnknown, accessoryStableId, actionsForBoundCaps, actionsForDevice, actionsForDeviceType, actionsForDevices, activateAlarmProfile, addonCatalogHref, addonPagesCapability, addonPagesSourceCapability, addonRoutesCapability, addonSettingsCapability, addonWidgetsCapability, addonWidgetsSourceCapability, addonsCapability, adminUiCapability, advertisedHubOrigins, aggregateThroughputFactor, airQualitySensorCapability, alarmDeviceBlocksArming, alarmDeviceSecureOnArm, alarmPanelCapability, alarmPatchLanded, alarmProfileById, alertEpisodeId, alertEpisodeKind, alertEpisodePayload, alertNodeId, alertsCapability, allDoActions, allowedSuppliedEffect, ambientLightSensorCapability, annotateClipsWithEventLabels, appFlowLocation, applyBlockingEdit, applyCropClassFloors, applyModeDelaysEdits, applyModeDeviceListEdit, applyModelBoundSettings, applyNonBlockingEdit, applySecureOnArmEdit, armRemovalReconcile, arrayItemFieldPath, asBoolean, asJsonArray, asJsonObject, asNumber, asRecordsError, asString, assertTimelapseCadences, assertTransactScope, assertValidDeclaration, assignNodeColorId, audioAnalysisCapability, audioAnalyzerCapability, audioChunkBytesPerSample, audioCodecCapability, audioIsFailClosed, audioKindId, audioLabelChoices, audioMetricsCapability, audioModeOf, audioOrDefaults, audioPlanFromEncodeProfile, audioScaleEraOf, authProviderCapability, autoAssignProfiles, automationControlCapability, backupCapability, bareAddonId, batteryCapability, bestLocationMatch, binaryCapability, bindAddonActions, brightnessCapability, brokerCapability, bucketStartOf, buildAddonRouteProvider, buildAudioArgs, buildBenchStepTree, buildCapabilityLookup, buildDeviceAdminUrl, buildDeviceEnrollmentLink, buildDeviceSignatureMessage, buildDoorbellCompositionFeature, buildEventKindDescriptor, buildFfmpegArgs, buildFrigateClassMap, buildInputArgs, buildModelVariantGroups, buildNcTaxonomy, buildRoleScopes, buildSecretRef, buildStreamParamsConfigSchema, buildSubjectPath, buildVideoArgs, buildViewerLink, builtCapabilityBlockers, buttonCapability, calendarEventLocalSpan, calendarEventOnLocalDay, calendarSourceCapability, calendarsCapability, cameraCredentialsCapability, cameraGridLayoutCapability, cameraOwnsMotionViaSensor, cameraPipelineConfigCapability, cameraScopedStepSettings, cameraSensorRefKey, cameraStreamsCapability, canConvertUnit, canonicalEgressPlan, canonicalIconKey, canonicalizeAppCallback, capabilityScopesOf, capacityForModel, capacitySessionsOf, carbonMonoxideCapability, cellsToRects, checkRoleAddress, claimedRequestOrigins, classifyBearerPrincipal, classifyCamerasForBenchmark, classifyInferenceHardware, classifyRetrainReview, classifySecretWrite, classifyStoreError, classifyStream, classifyStreams, clearKnownSecrets, clearModelBoundOverrides, clearModelBoundSetting, climateControlCapability, clipEventLabelDepsFromApi, clipExportFailure, clipExportFailureOf, clipLabelsForWindow, clipReasonHeaderValue, cloneAlarmSettings, cloneStatefulExpressionMemory, clusterModelSettingKey, clusterStepSettingFieldsFor, clusterStepSettingKey, codecIsAccepted, collectHydratedFieldEntries, collectHydratedFieldValues, collectKeychainStoredKeys, collectModelBoundKeys, collectSecretConfigKeys, collectSecretLeaves, collectSecretMarkerRefs, collectZodSecretPaths, colorCapability, colorForKind, commitWatchdogRestart, compareToTarget, compileExpression, compileExpressionSafe, composeSwitchedOff, composedDeviceRef, composedDeviceStableId, composerCapability, compositionEdges, compositionFeatureEnabled, compositionFieldKey, compositionItemFieldPath, compositionReadKey, compositionSliceKey, compositionSourceKey, compositionSourceRefs, computeCapacityShares, computeScores, conditionDepth, conditionExclusionReason, conditionVisibleForKind, connectionTestCapability, connectivityCapability, consumableFormOf, consumableKindOf, consumableLowPercentOf, consumablesCapability, contactCapability, containingParentIndex, controlCapability, convertPresetFeature, convertUnit, coralUsableUnits, coreBlockAddonId, coreBlockComposition, coreBlockIdFromAddonId, coreBlockSourceKind, coreBlocksCapability, cosineSimilarity, countConditionLeaves, countRecoverySkips, coverCapability, createAlarmProfile, createDeviceExtensionProvider, createDeviceProxy, createDurableState, createEvent, createEventBusSliceSource, createExpressionScope, createHwAccelCache, createLazyTrpcSource, createLogChannelsProvider, createMirrorSource, createRecordsAccess, createRuntimeStateBridge, createSecretsAccess, createSliceHandle, createStatefulExpressionMemory, createSystemProxy, customAction, customModelRegistryCapability, dataStoreProviderCapability, databaseSnapshotCapability, dayNightCapability, dayOfWeekToIndex, declarationOwnerNodeId, declarationsOf, declareLogChannel, decodeVectorBase64, decoderCapability, defaultDeliveryForSection, defaultDeviceFor, defineCustomActions, defineEntryKind, defineExtensionSlotProvider, defineRecordKinds, dehydrateConfigField, dehydrateSchema, deleteAlarmProfile, deriveBatteryPresence, deriveCameraSwitches, deriveDetailCropRect, deriveMaskSupplies, derivePostTriggeredAction, deriveRecordingMode, deriveRootFaceRefineRect, deriveRootSupplies, describeComposableCaps, describeCustomActions, describeModelVariant, describeOnboardClamp, describeOnboardRefusal, describeRootSupplies, describeRootSupply, describeStateField, describeSystemEventDeliveryProblem, describeSystemEventFamilyProblem, describeTopLevelStateFields, detectAccessRole, detectionPipelineCapability, deviceAdminLinkCapability, deviceAdoptionCapability, deviceAttentionKind, deviceBackendToFormat, deviceCredentialsCapability, deviceCustomAction, deviceDiscoveryCapability, deviceDoFamily, deviceExportCapability, deviceExtensionCapability, deviceHistoryCapability, deviceManagerCapability, deviceMatchesProfile, deviceOpsCapability, deviceProviderCapability, deviceRefusalFromMessage, deviceRemovalHookCapability, deviceSelectorMatches, deviceStateCapability, deviceStatusCapability, diffStepSettings, disarmRoseMemory, dishwasherCapability, doActionSelectValue, dominantClipLabels, doorbellCapability, doorbellFeatureSources, droppedConditionsForKind, edgetpuDelegateDevice, effectiveStepSettings, egressTranscodeSharingKey, egressTransportFromRequest, electByShare, electByShareWithAffinity, eligibleUnderBenchmark, embeddingEncoderCapability, embeddingModelFailedError, embeddingModelFailedOf, embeddingRefusalOf, embeddingRequirementsFailedError, embeddingRequirementsUnavailableError, emitDownForOwnedCaps, emitReadiness, emitsCollectionSelector, encodeProfileFromStreamShape, encodeVectorBase64, ensureAlarmProfiles, entryBody, enumSensorCapability, enumerateInferenceDevices, enumerateItemArrayFields, enumerateSchemaFields, errMsg, estimateNodeBenchmarkDurationMs, evaluateAst, evaluateCompositionField, evaluateCount, evaluateExpressionSource, evaluatePoolMemory, evaluateRose, evaluateSensorEdge, evaluateSensorLevelEdge, evaluateStatefulExpressionCall, evaluateZoneRules, event, eventEmitterCapability, eventKindLabel, eventOverlapsClipWindow, evictionPolicyForMode, evictionPolicyOfLocation, expandAudioChunkToF32le, expandCapMethods, expandContainer, expandSystemEventClasses, exportSubjectOf, exposeBlockDevices, expressionContainsBuiltinCall, extensionSlotRef, extractNestedAddonId, extractSourceInfoFromMetadata, faceGalleryCapability, failureContributionCapability, failureRate, fanControlCapability, featureFieldEntries, featureOfRole, featureProbeCapability, featureSources, feederCustomizationExample, feederExampleSources, ffmpegRate, fieldReads, fieldUnitKeys, fieldsPinnedAtValueBelow, filesystemBrowseCapability, findCandidateCycles, findCompositionCycles, findTimezone, floodCapability, foldSnapshotByFunction, foreignCapacityCells, forgetKnownSecret, formatDeviceRevoker, formatForRuntime, formatMediaOwnerKey, formatMinutes, formatParkedFor, formatSecretScope, freshResults, frigateDefaultClassFloors, frigateLabelFields, fuseRecoveredDetections, gasCapability, gbToBytes, generateAutomationBlock, getAudioMacroClassIds, getByPath, getCapsByProviderKind, getLogChannelRegistry, getTaxonomyEntry, gifDeriveSpeed, gifFilterComplex, gifFromMp4Args, globalSecretScope, grantRowsOf, hasModelBoundOverrides, hasMotionTrigger, hasUrlScheme, heatingValveCapability, hfModelUrl, historyFieldsFor, historyItemFieldPath, htmlToText, hubAddressHostname, hubMotionNativeProvider, humidifierCapability, humiditySensorCapability, hydrateSchema, iconCategoryLabel, iconEntry, iconsInCategory, imageCapability, imageModesForKind, imageSettingsCapability, inferExpressionKinds, inferModelProvider, initialPoolMemoryState, integrationsCapability, intercomCapability, interpolate, interpretStoredClusterModel, invalidClusterStepModelEntries, invertPresetFeature, invocationFromEncodeProfile, isAgentOnlyPlacement, isAlarmControllableCap, isAlertEpisodeOpen, isAlertEpisodeSeverity, isAppLinkBase, isAppStartRefusal, isArrayOutputSchema, isAudioChunkFormat, isAudioClassName, isAudioLabelSelected, isAudioRule, isAutomaticShareSource, isBaseConditionKey, isBatteryPresenceFault, isClusterScopedStep, isCollectionArrayMethod, isCredentialTokenPayload, isDefaultAlarmProfileId, isDefaultAppConnectionEndpoint, isDefinitiveDeviceRefusal, isDeployableToAgent, isDetectionMacroClass, isDeviceConfigCap, isDeviceScopedCap, isDoActionActuatable, isDoPickerDeviceType, isDrawableSubjectPath, isEmbeddingModelFailed, isEvent, isEventKindLabelKey, isEventOwnerType, isFirstLevelMacroClass, isHeldBackTemplateVar, isIconKey, isIsolatedBuiltin, isKeychainStoredField, isKnownTemplateVar, isLabelSupplyStepId, isLocationEnabled, isMediaOwnerType, isModelScopedStepSettingKey, isNode, isOauthLandingReason, isObjectInput, isOccupancyRule, isOwnerOnlyEventCategory, isRemovedModelId, isRestoredCap, isRetiredClearKey, isRootSuppliableStepId, isSameAddonId, isScheduleActive, isSecretClear, isSecretConfigField, isSecretFieldView, isSecretMarker, isSecretMarkerLike, isSecretRef, isSecretRefOwnedBy, isSingleHubAddressRole, isSoftwareDecode, isSourceCap, isStateLabelKey, isStatefulBuiltin, isStorageLocationMode, isSystemDelivery, isSystemEventFamily, isSystemEventRecoveryKind, isSystemEventSummaryRule, isSystemRuleKind, isVectorIndexDimConflict, isVoidInput, isZodSecret, ituDbfsFromPreEpoch, jobKindSchema, kebabToCamel, keychainAdminCapability, keychainCapability, kindOfValue, kindsForDiscriminator, knownSecretCount, knownValues, lawnMowerControlCapability, legacyAutoLinkIds, legacyImageMode, legacyModeOf, lifecycleJobSchema, lifecycleJobScopeSchema, lifecycleJobStateSchema, lifecycleTaskSchema, linkedLabelStepId, linkedStepOf, listBenchDetailSteps, llmCapability, llmRuntimeCapability, loadContributionCapability, localNetworkCapability, localizeConfigTree, locationIconKey, locationSimilarity, lockControlCapability, logBannerArgs, logChannelsCapability, logDestinationCapability, logLevelAtMost, loginMethodCapability, looseSchema, makeInMemoryRecords, makeProfileBrokerId, makeSecretMarker, makeSourceBrokerId, mapAudioLabelToMacro, mapSecretLeaves, markdownToHtmlLite, markdownToText, maskUrlCredentials, matchDoAction, mayReadLocation, mayWriteToLocation, measuredCapacityFromResults, measuredDetectorCells, mediaPlayerCapability, memoizePinnedFfmpeg, mergeClipLabels, mergeSecretStatePaths, mergeSettingsBags, mergeSourceInfo, meshNetworkCapability, method, methodAccessForHttpMethod, methodRoleOf, metricsProviderCapability, migrateLegacyDeviceSignalConfig, minutesToTimeOfDay, modeMayRead, modeMayWrite, modelBindingKey, modelConvertCapability, modelDistributorCapability, modelFormatForRuntime, modelScopedStepSettingKeys, motionCapability, motionDetectionCapability, motionSourceLabel, motionTriggerCapability, motionZonesCapability, mqttBrokerCapability, nativeObjectDetectionCapability, navigationCapability, ncAlarmSystemDefaultSettings, ncMediaPolicyError, networkAccessCapability, networkLinkCapability, networkQualityCapability, nodeBenchmarkRefusals, nodeCertificatesCapability, nodePickerItems, nodePin, nodesCapability, normalizeAddonInitResult, normalizeAudioLabel, normalizeCoreBlockWrite, normalizeNcMediaPolicy, normalizeNodeId, normalizeOrigin, normalizeSecretOwner, normalizeTokenScopes, normalizeUnit, normalizedArea, notificationOutputCapability, notificationRulesCapability, notifierCapability, numericSensorCapability, oauthIntegrationCapability, oauthLandingUrl, objectInputDeclaresAddonId, objectInputDeclaresRequiredDeviceId, occupancyScope, oidcConnectionsCapability, omitTransientConfig, optionalAncestors, optionalMethod, osdCapability, osdManagerCapability, overlayClusterStepSettings, packagePickerItems, parseAcceleratorFactsJson, parseAdminBase, parseAlertEpisodePayload, parseAppAuthCallback, parseAppFlowRequest, parseAppPageLang, parseCameraStreamConfig, parseCredentialScopes, parseDeviceEnrollmentLink, parseExpression, parseJsonArray, parseJsonObject, parseJsonUnknown, parseMediaOwnerKey, parseOauthLandingFragment, parseOccupancyScope, parseProcStatus, parseProfileBrokerId, parseRetrainRevisionConflict, parseRuleSection, parseSecretPath, parseSecretRef, parseSecretStatePath, parseSessionPlacementPolicy, parseShareSource, parseStreamParamsFormPatch, parseTrainingEventLine, patchAudio, petFeederCapability, pickAccessoryControl, pickAppLinkHub, pickClusterStepModels, pickClusterStepSettings, pickDetailCropConvention, pickFaceRescoreIntervalMinutes, pickInvalidClusterStepModels, pickNativeLeaseOverride, pickPreferredRtspEntry, pickRequestOrigin, pickRestartCandidate, pickVideoEncoder, pickerForCondition, pickerForRuleClasses, pinUnderBenchmark, pipelineAnalyticsCapability, pipelineExecutorCapability, pipelineOrchestratorCapability, pipelineRunnerCapability, planComposition, planCompositionEvents, planItems, planMotionCropRegions, planMotionCrops, planRecoveryCrops, plateGalleryCapability, platformProbeCapability, poolMemoryThreshold, powerMeterCapability, prepareNotification, presenceCapability, pressureSensorCapability, principalMayReachAddon, privacyMaskCapability, procedureAuthKey, projectSubjectPath, providerMotionEvent, ptzAutotrackCapability, ptzCapability, publicEventCategories, pythonScriptForBackend, rankStreams, readClusterStepModels, readClusterStepSettings, readDetailCropConvention, readDeviceStateFrom, readErrorI18n, readFaceRescoreIntervalMinutes, readHubMotionDetected, readHubMotionStatus, readMotionTriggeredBy, readNativeLeaseOverride, readNodePin, readRecoveryRecipe, readRecoveryRecipeForSteps, readTimelapseGeneratedAt, readUseRootModel, readinessKey, rebootCapability, recommendNode, reconcileBlockDevices, reconcileRemovedDevices, recordArrayItemPath, recordEntriesCapability, recordSecretCollection, recordSecretRef, recordingArchiveCapability, recordingCapability, recordingExportCapability, recordingOnboardCapability, recordingSignalCapability, recordsCapability, recordsErrorFromMessage, rectsToCells, reducePoints, registerKnownSecret, remapCropDetections, renameAlarmProfile, renderVocabPhrase, replacedFieldKeys, reportIsScalable, requestMountPrefix, requiredTopLevelKeys, requiresPython, reservedSourceOwner, resetPoolBaseline, resolveAddonExecution, resolveAddonGroup, resolveAddonPlacement, resolveAppConnections, resolveBucketMs, resolveCapMount, resolveClipSearchMinScore, resolveClusterStepModelId, resolveContainerPrimaryChild, resolveCoreBlockEntry, resolveCoreBlockFiles, resolveCreateExportSubject, resolveDeviceControlKind, resolveDeviceProfile, resolveEffectiveShares, resolveEgressDecodeHwAccel, resolveExportProfiles, resolveFormat, resolveHubAddressRoles, resolveHydratedFieldValue, resolveIconKey, resolveInternalAddress, resolveLatencyColumn, resolveLocationMode, resolveMethodAuth, resolveMethodRole, resolveModeDelays, resolveModeNotifyPolicy, resolveModelBoundSetting, resolveMutate, resolveNcMediaImage, resolveNotificationTapAddress, resolvePoolMemoryPolicy, resolvePublicEndpoint, resolveRecordingProfiles, resolveRootSupply, resolveRunnerId, resolveSecretMarkers, resolveSecretViewsIn, resolveServerName, resolveStreamMaps, resolveVariantModelId, resolveViewableDeviceIds, resultCellKey, resultStandings, retrainBoxIou, retrainRevisionConflictMessage, roleSpec, roomCompositionExample, rootSuppliesOf, rootSupplyServes, ruleAutoTriggersAlarm, ruleBelongsToAlarm, ruleDeviceCompatCapNames, ruleDeviceCompatCapQueries, ruleEditorSectionsForKind, ruleGatedOnArmedState, ruleGroupingApplies, ruleKindOf, ruleKindSpec, ruleMatchesSection, ruleSection, ruleSectionOf, ruleSeedForSection, ruleTriggerZoneIds, runInferenceStep, runtimeDevices, runtimeStatePolicyFor, sameDoFamily, sceneMonitorCapability, scheduleForSendTimes, schemaDeclaresAnyField, scopeInherits, scopeKey, scopesAllowAddon, scopesAllowAddonRoutes, scopesAllowDeviceCap, scopesAllowOwnPreferences, scopesGrantAdmin, scoreRuntimes, scriptRunnerCapability, scrubKnownSecrets, searchIcons, secretArrayPrefixes, secretTreeFromPaths, secretTreeFromSchema, secureActuationFor, selectAppConnectionEndpoints, selectAssignedProfileSlots, selectRecoveryStep, sendTimesForEditor, sendTimesOfSchedule, sensorRaisedOf, sensorTransitionNeverFires, sensorTransitionOffered, servedTemplateVars, serverManagementCapability, sessionsOfDeviceCell, setByPath, settingValuesEqual, settingsBelow, settingsStoreCapability, shareViewGrantOf, shortHostname, shortSecretRefHash, signalPercentFromBars, signalPercentFromRssi, siteZoneKey, sleep, sleepCancellable, sliceActiveValue, sliceChangedAt, smokeCapability, smtpProviderCapability, snapshotCapability, splitTranslationRef, squareAround, ssoBridgeCapability, startMoverUnderClearance, startReachabilityPoll, stateLabel, stateVocabularyFor, stepModelRunsOnFormat, stepSettingSource, storageAdminCapability, storageCapability, storageEvictableCapability, storageMigrationCapability, storageOccupancyCapability, storageProviderCapability, streamBrokerCapability, streamCatalogCapability, streamParamsCapability, streamPixels, streamQualityLabel, streamSignalsCapability, stripRetiredBandPreBufferSec, strippedOfLegacyReadOnly, subKindsOf, subjectHasPath, subjectPathSampleFromBox, subjectPathSvgPoints, summarisePrivacyAudio, summarizeEffectiveScope, summarizeReview, supplyFor, supportedRuntimes, switchCapability, switchedOffIds, syncActiveAlarmProfileSettings, synthesizeSourceInfo, systemCapability, systemEventClassKinds, systemEventClassOf, systemEventClassesFor, systemEventDeliveryProblems, systemEventFamilyOf, systemEventFamilyProblems, systemEventFilterApplies, systemEventFilterAppliesToAnyKind, systemEventKindNamesOf, systemEventKindsOfFamily, systemEventSummaryScheduleOf, systemEventSummarySplitOf, systemFamilyOfKind, systemRuleKindOf, tamperCapability, taskLogEntrySchema, taskPhaseSchema, taskTargetSchema, temperatureSensorCapability, templateCarriesSummary, templateVarDeliveryApplies, templateVarKindApplies, templateVarSystemEventApplies, templateVarsFor, terminalSessionCapability, textToHtml, timeOfDayToMinutes, toAppLinkHubOrigin, toDeviceSummary, toExpressionValue, toNodeId, toPercentShares, toSecretFieldView, toStreamSourceEntry, toastCapability, toggleAudioLabel, tokenize, trainingCapability, trainingProviderCapability, transcodeBody, transformSecretWrite, tryConvertUnit, turnProviderCapability, unitDimension, unitsForDimension, unreachableExtensionSlotRow, unwrapSchema, updateCapability, userError, userManagementCapability, userPasskeysCapability, vacuumControlCapability, validateComposition, validateCustomAddress, validateExpressionSource, validateRecipeBounds, valveCapability, vectorDimFromBase64, vectorIndexDimConflictError, vectorStoreCapability, vibrationCapability, videoclipsCapability, viewerAdmitsDevice, viewerHoldsRole, viewerLinkBaseOf, viewerScopeOf, viewerUiCapability, actionsForDevice$1 as vocabularyActionsForDevice, triggersForDevice as vocabularyTriggersForDevice, waterHeaterCapability, weatherCapability, webrtcClientHintsSchema, webrtcSessionCapability, weeklyMaskIndex, weeklyMaskIsUniform, weeklyMaskToWindows, widenDeviceConstructor, windowsToWeeklyMask, wiringAddonHealthSchema, wiringHealthSnapshotSchema, wiringNodeHealthSchema, wiringProbeKindSchema, wiringProbeResultSchema, withClipEventLabels, withFieldFrom, withLocationMode, withSystemEventClasses, withoutCallerStamp, withoutField, writeModelBoundSetting, zodEntriesToConfigUI, zoneAnalyticsCapability, zoneRulesCapability, zonesCapability };