@camstack/types 0.1.40 → 0.1.41
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/addon/base-addon.d.ts +12 -0
- package/dist/addon/base-addon.d.ts.map +1 -1
- package/dist/addon/durable-state.d.ts +33 -0
- package/dist/addon/durable-state.d.ts.map +1 -0
- package/dist/capabilities/accessories.cap.d.ts +56 -8
- package/dist/capabilities/accessories.cap.d.ts.map +1 -1
- package/dist/capabilities/advanced-notifier.cap.d.ts +4 -0
- package/dist/capabilities/advanced-notifier.cap.d.ts.map +1 -1
- package/dist/capabilities/air-quality-sensor.cap.d.ts +56 -0
- package/dist/capabilities/air-quality-sensor.cap.d.ts.map +1 -0
- package/dist/capabilities/alarm-panel.cap.d.ts +154 -0
- package/dist/capabilities/alarm-panel.cap.d.ts.map +1 -0
- package/dist/capabilities/ambient-light-sensor.cap.d.ts +39 -0
- package/dist/capabilities/ambient-light-sensor.cap.d.ts.map +1 -0
- package/dist/capabilities/automation-control.cap.d.ts +65 -0
- package/dist/capabilities/automation-control.cap.d.ts.map +1 -0
- package/dist/capabilities/battery.cap.d.ts +30 -1
- package/dist/capabilities/battery.cap.d.ts.map +1 -1
- package/dist/capabilities/binary.cap.d.ts +40 -0
- package/dist/capabilities/binary.cap.d.ts.map +1 -0
- package/dist/capabilities/brightness.cap.d.ts +3 -2
- package/dist/capabilities/brightness.cap.d.ts.map +1 -1
- package/dist/capabilities/broker.cap.d.ts +291 -0
- package/dist/capabilities/broker.cap.d.ts.map +1 -0
- package/dist/capabilities/button.cap.d.ts +27 -0
- package/dist/capabilities/button.cap.d.ts.map +1 -0
- package/dist/capabilities/camera-credentials.cap.d.ts +1 -0
- package/dist/capabilities/camera-credentials.cap.d.ts.map +1 -1
- package/dist/capabilities/camera-streams.cap.d.ts +147 -10
- package/dist/capabilities/camera-streams.cap.d.ts.map +1 -1
- package/dist/capabilities/capability-definition.d.ts +15 -0
- package/dist/capabilities/capability-definition.d.ts.map +1 -1
- package/dist/capabilities/carbon-monoxide.cap.d.ts +33 -0
- package/dist/capabilities/carbon-monoxide.cap.d.ts.map +1 -0
- package/dist/capabilities/climate-control.cap.d.ts +183 -0
- package/dist/capabilities/climate-control.cap.d.ts.map +1 -0
- package/dist/capabilities/color.cap.d.ts +186 -0
- package/dist/capabilities/color.cap.d.ts.map +1 -0
- package/dist/capabilities/connectivity.cap.d.ts +37 -0
- package/dist/capabilities/connectivity.cap.d.ts.map +1 -0
- package/dist/capabilities/consumables.cap.d.ts +105 -0
- package/dist/capabilities/consumables.cap.d.ts.map +1 -0
- package/dist/capabilities/contact.cap.d.ts +41 -0
- package/dist/capabilities/contact.cap.d.ts.map +1 -0
- package/dist/capabilities/control.cap.d.ts +167 -0
- package/dist/capabilities/control.cap.d.ts.map +1 -0
- package/dist/capabilities/cover.cap.d.ts +104 -0
- package/dist/capabilities/cover.cap.d.ts.map +1 -0
- package/dist/capabilities/custom-actions.d.ts +6 -0
- package/dist/capabilities/custom-actions.d.ts.map +1 -1
- package/dist/capabilities/decoder.cap.d.ts +1 -1
- package/dist/capabilities/device-adoption.cap.d.ts +203 -0
- package/dist/capabilities/device-adoption.cap.d.ts.map +1 -0
- package/dist/capabilities/device-discovery.cap.d.ts +44 -143
- package/dist/capabilities/device-discovery.cap.d.ts.map +1 -1
- package/dist/capabilities/device-manager.cap.d.ts +469 -0
- package/dist/capabilities/device-manager.cap.d.ts.map +1 -1
- package/dist/capabilities/device-ops.cap.d.ts +30 -0
- package/dist/capabilities/device-ops.cap.d.ts.map +1 -1
- package/dist/capabilities/device-provider.cap.d.ts +36 -0
- package/dist/capabilities/device-provider.cap.d.ts.map +1 -1
- package/dist/capabilities/device-status.cap.d.ts +1 -0
- package/dist/capabilities/device-status.cap.d.ts.map +1 -1
- package/dist/capabilities/doorbell.cap.d.ts +1 -0
- package/dist/capabilities/doorbell.cap.d.ts.map +1 -1
- package/dist/capabilities/enum-sensor.cap.d.ts +60 -0
- package/dist/capabilities/enum-sensor.cap.d.ts.map +1 -0
- package/dist/capabilities/event-emitter.cap.d.ts +79 -0
- package/dist/capabilities/event-emitter.cap.d.ts.map +1 -0
- package/dist/capabilities/fan-control.cap.d.ts +100 -0
- package/dist/capabilities/fan-control.cap.d.ts.map +1 -0
- package/dist/capabilities/feature-probe.cap.d.ts +1 -0
- package/dist/capabilities/feature-probe.cap.d.ts.map +1 -1
- package/dist/capabilities/flood.cap.d.ts +37 -0
- package/dist/capabilities/flood.cap.d.ts.map +1 -0
- package/dist/capabilities/gas.cap.d.ts +34 -0
- package/dist/capabilities/gas.cap.d.ts.map +1 -0
- package/dist/capabilities/humidifier.cap.d.ts +82 -0
- package/dist/capabilities/humidifier.cap.d.ts.map +1 -0
- package/dist/capabilities/humidity-sensor.cap.d.ts +43 -0
- package/dist/capabilities/humidity-sensor.cap.d.ts.map +1 -0
- package/dist/capabilities/image.cap.d.ts +44 -0
- package/dist/capabilities/image.cap.d.ts.map +1 -0
- package/dist/capabilities/index.d.ts +93 -12
- package/dist/capabilities/index.d.ts.map +1 -1
- package/dist/capabilities/integrations.cap.d.ts +12 -0
- package/dist/capabilities/integrations.cap.d.ts.map +1 -1
- package/dist/capabilities/intercom.cap.d.ts +49 -9
- package/dist/capabilities/intercom.cap.d.ts.map +1 -1
- package/dist/capabilities/lawn-mower-control.cap.d.ts +83 -0
- package/dist/capabilities/lawn-mower-control.cap.d.ts.map +1 -0
- package/dist/capabilities/lock-control.cap.d.ts +92 -0
- package/dist/capabilities/lock-control.cap.d.ts.map +1 -0
- package/dist/capabilities/media-player.cap.d.ts +201 -0
- package/dist/capabilities/media-player.cap.d.ts.map +1 -0
- package/dist/capabilities/motion-trigger.cap.d.ts +1 -0
- package/dist/capabilities/motion-trigger.cap.d.ts.map +1 -1
- package/dist/capabilities/motion-zones.cap.d.ts +1 -0
- package/dist/capabilities/motion-zones.cap.d.ts.map +1 -1
- package/dist/capabilities/native-object-detection.cap.d.ts +1 -0
- package/dist/capabilities/native-object-detection.cap.d.ts.map +1 -1
- package/dist/capabilities/network-quality.cap.d.ts +5 -0
- package/dist/capabilities/network-quality.cap.d.ts.map +1 -1
- package/dist/capabilities/notifier.cap.d.ts +173 -0
- package/dist/capabilities/notifier.cap.d.ts.map +1 -0
- package/dist/capabilities/numeric-sensor.cap.d.ts +52 -0
- package/dist/capabilities/numeric-sensor.cap.d.ts.map +1 -0
- package/dist/capabilities/osd.cap.d.ts +1 -0
- package/dist/capabilities/osd.cap.d.ts.map +1 -1
- package/dist/capabilities/pipeline-analytics.cap.d.ts +69 -22
- package/dist/capabilities/pipeline-analytics.cap.d.ts.map +1 -1
- package/dist/capabilities/pipeline-executor.cap.d.ts +2 -2
- package/dist/capabilities/pipeline-orchestrator.cap.d.ts +1 -1
- package/dist/capabilities/pipeline-runner.cap.d.ts +2 -2
- package/dist/capabilities/platform-probe.cap.d.ts +25 -0
- package/dist/capabilities/platform-probe.cap.d.ts.map +1 -1
- package/dist/capabilities/power-meter.cap.d.ts +65 -0
- package/dist/capabilities/power-meter.cap.d.ts.map +1 -0
- package/dist/capabilities/presence.cap.d.ts +79 -0
- package/dist/capabilities/presence.cap.d.ts.map +1 -0
- package/dist/capabilities/pressure-sensor.cap.d.ts +43 -0
- package/dist/capabilities/pressure-sensor.cap.d.ts.map +1 -0
- package/dist/capabilities/privacy-mask.cap.d.ts +1 -0
- package/dist/capabilities/privacy-mask.cap.d.ts.map +1 -1
- package/dist/capabilities/ptz-autotrack.cap.d.ts +1 -0
- package/dist/capabilities/ptz-autotrack.cap.d.ts.map +1 -1
- package/dist/capabilities/ptz.cap.d.ts +1 -0
- package/dist/capabilities/ptz.cap.d.ts.map +1 -1
- package/dist/capabilities/reboot.cap.d.ts +1 -0
- package/dist/capabilities/reboot.cap.d.ts.map +1 -1
- package/dist/capabilities/recording.cap.d.ts +238 -32
- package/dist/capabilities/recording.cap.d.ts.map +1 -1
- package/dist/capabilities/restreamer.cap.d.ts +2 -2
- package/dist/capabilities/schemas/orchestrator-metrics.d.ts +2 -2
- package/dist/capabilities/schemas/streaming-shared.d.ts +64 -1
- package/dist/capabilities/schemas/streaming-shared.d.ts.map +1 -1
- package/dist/capabilities/script-runner.cap.d.ts +62 -0
- package/dist/capabilities/script-runner.cap.d.ts.map +1 -0
- package/dist/capabilities/settings-store.cap.d.ts +25 -0
- package/dist/capabilities/settings-store.cap.d.ts.map +1 -1
- package/dist/capabilities/smoke.cap.d.ts +38 -0
- package/dist/capabilities/smoke.cap.d.ts.map +1 -0
- package/dist/capabilities/snapshot-provider.cap.d.ts +1 -1
- package/dist/capabilities/snapshot.cap.d.ts +1 -0
- package/dist/capabilities/snapshot.cap.d.ts.map +1 -1
- package/dist/capabilities/storage-evictable.cap.d.ts +54 -0
- package/dist/capabilities/storage-evictable.cap.d.ts.map +1 -0
- package/dist/capabilities/storage-provider.cap.d.ts +31 -186
- package/dist/capabilities/storage-provider.cap.d.ts.map +1 -1
- package/dist/capabilities/storage.cap.d.ts +35 -226
- package/dist/capabilities/storage.cap.d.ts.map +1 -1
- package/dist/capabilities/stream-broker.cap.d.ts +309 -25
- package/dist/capabilities/stream-broker.cap.d.ts.map +1 -1
- package/dist/capabilities/stream-catalog.cap.d.ts +3 -0
- package/dist/capabilities/stream-catalog.cap.d.ts.map +1 -1
- package/dist/capabilities/stream-params.cap.d.ts +27 -26
- package/dist/capabilities/stream-params.cap.d.ts.map +1 -1
- package/dist/capabilities/switch.cap.d.ts +1 -0
- package/dist/capabilities/switch.cap.d.ts.map +1 -1
- package/dist/capabilities/tamper.cap.d.ts +33 -0
- package/dist/capabilities/tamper.cap.d.ts.map +1 -0
- package/dist/capabilities/temperature-sensor.cap.d.ts +51 -0
- package/dist/capabilities/temperature-sensor.cap.d.ts.map +1 -0
- package/dist/capabilities/update.cap.d.ts +49 -0
- package/dist/capabilities/update.cap.d.ts.map +1 -0
- package/dist/capabilities/vacuum-control.cap.d.ts +229 -0
- package/dist/capabilities/vacuum-control.cap.d.ts.map +1 -0
- package/dist/capabilities/valve.cap.d.ts +93 -0
- package/dist/capabilities/valve.cap.d.ts.map +1 -0
- package/dist/capabilities/vibration.cap.d.ts +33 -0
- package/dist/capabilities/vibration.cap.d.ts.map +1 -0
- package/dist/capabilities/water-heater.cap.d.ts +78 -0
- package/dist/capabilities/water-heater.cap.d.ts.map +1 -0
- package/dist/capabilities/weather.cap.d.ts +76 -0
- package/dist/capabilities/weather.cap.d.ts.map +1 -0
- package/dist/capabilities/webrtc-session.cap.d.ts +95 -1
- package/dist/capabilities/webrtc-session.cap.d.ts.map +1 -1
- package/dist/constants.d.ts +0 -2
- package/dist/constants.d.ts.map +1 -1
- package/dist/device/base-device-provider.d.ts +11 -0
- package/dist/device/base-device-provider.d.ts.map +1 -1
- package/dist/device/base-device.d.ts +52 -0
- package/dist/device/base-device.d.ts.map +1 -1
- package/dist/device/device-context.d.ts +29 -0
- package/dist/device/device-context.d.ts.map +1 -1
- package/dist/device/device-link-transform.d.ts +6 -0
- package/dist/device/device-link-transform.d.ts.map +1 -0
- package/dist/device/device-management.d.ts +116 -4
- package/dist/device/device-management.d.ts.map +1 -1
- package/dist/device/device-type.d.ts +214 -3
- package/dist/device/device-type.d.ts.map +1 -1
- package/dist/device/device.d.ts +25 -0
- package/dist/device/device.d.ts.map +1 -1
- package/dist/device/index.d.ts +5 -1
- package/dist/device/index.d.ts.map +1 -1
- package/dist/device/path-util.d.ts +13 -0
- package/dist/device/path-util.d.ts.map +1 -0
- package/dist/device/schema-fields.d.ts +12 -0
- package/dist/device/schema-fields.d.ts.map +1 -0
- package/dist/device/source-info.d.ts +87 -0
- package/dist/device/source-info.d.ts.map +1 -0
- package/dist/device/system-mirror.d.ts +6 -2
- package/dist/device/system-mirror.d.ts.map +1 -1
- package/dist/encode-profile.d.ts +126 -0
- package/dist/encode-profile.d.ts.map +1 -0
- package/dist/enums/event-category.d.ts +64 -6
- package/dist/enums/event-category.d.ts.map +1 -1
- package/dist/generated/addon-api.d.ts +12345 -8129
- package/dist/generated/addon-api.d.ts.map +1 -1
- package/dist/generated/cap-status-types.d.ts +85 -1
- package/dist/generated/cap-status-types.d.ts.map +1 -1
- package/dist/generated/capability-router-map.d.ts +133 -7
- package/dist/generated/capability-router-map.d.ts.map +1 -1
- package/dist/generated/device-local-state.d.ts +117 -0
- package/dist/generated/device-local-state.d.ts.map +1 -1
- package/dist/generated/device-proxy.d.ts +124 -5
- package/dist/generated/device-proxy.d.ts.map +1 -1
- package/dist/generated/method-access-map.d.ts +1 -1
- package/dist/generated/method-access-map.d.ts.map +1 -1
- package/dist/generated/provider-kind-map.d.ts +1 -1
- package/dist/generated/provider-kind-map.d.ts.map +1 -1
- package/dist/generated/system-proxy.d.ts +9 -7
- package/dist/generated/system-proxy.d.ts.map +1 -1
- package/dist/{index-DnpdVFKv.js → index-BSA_TBea.js} +4170 -728
- package/dist/index-BSA_TBea.js.map +1 -0
- package/dist/{index-C2zzIDdX.mjs → index-Bpj3ScIH.mjs} +4563 -1121
- package/dist/index-Bpj3ScIH.mjs.map +1 -0
- package/dist/index.d.ts +21 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1323 -116
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +1637 -430
- package/dist/index.mjs.map +1 -1
- package/dist/interfaces/addon-data-plane.d.ts +76 -0
- package/dist/interfaces/addon-data-plane.d.ts.map +1 -0
- package/dist/interfaces/addon.d.ts +60 -0
- package/dist/interfaces/addon.d.ts.map +1 -1
- package/dist/interfaces/advanced-notifier.d.ts +4 -0
- package/dist/interfaces/advanced-notifier.d.ts.map +1 -1
- package/dist/interfaces/capability.d.ts +42 -1
- package/dist/interfaces/capability.d.ts.map +1 -1
- package/dist/interfaces/config-ui.d.ts +70 -6
- package/dist/interfaces/config-ui.d.ts.map +1 -1
- package/dist/interfaces/device-capabilities/camera.d.ts +2 -1
- package/dist/interfaces/device-capabilities/camera.d.ts.map +1 -1
- package/dist/interfaces/event-bus.d.ts +49 -3
- package/dist/interfaces/event-bus.d.ts.map +1 -1
- package/dist/interfaces/kernel-abstractions.d.ts +10 -1
- package/dist/interfaces/kernel-abstractions.d.ts.map +1 -1
- package/dist/interfaces/network-quality.d.ts +8 -0
- package/dist/interfaces/network-quality.d.ts.map +1 -1
- package/dist/interfaces/pipeline-executor-capability.d.ts +2 -2
- package/dist/interfaces/pipeline-orchestrator-capability.d.ts +2 -1
- package/dist/interfaces/pipeline-orchestrator-capability.d.ts.map +1 -1
- package/dist/interfaces/pipeline-runner-capability.d.ts +7 -0
- package/dist/interfaces/pipeline-runner-capability.d.ts.map +1 -1
- package/dist/interfaces/recording-config.d.ts +91 -0
- package/dist/interfaces/recording-config.d.ts.map +1 -0
- package/dist/interfaces/rtp-egress.d.ts +2 -3
- package/dist/interfaces/rtp-egress.d.ts.map +1 -1
- package/dist/interfaces/storage-location-declaration.d.ts +34 -0
- package/dist/interfaces/storage-location-declaration.d.ts.map +1 -0
- package/dist/interfaces/storage-location.d.ts +18 -74
- package/dist/interfaces/storage-location.d.ts.map +1 -1
- package/dist/interfaces/storage.d.ts +15 -4
- package/dist/interfaces/storage.d.ts.map +1 -1
- package/dist/interfaces/stream-broker.d.ts +18 -3
- package/dist/interfaces/stream-broker.d.ts.map +1 -1
- package/dist/interfaces/timezones.d.ts +59 -0
- package/dist/interfaces/timezones.d.ts.map +1 -0
- package/dist/node.d.ts +3 -0
- package/dist/node.d.ts.map +1 -1
- package/dist/node.js +50 -8
- package/dist/node.js.map +1 -1
- package/dist/node.mjs +51 -9
- package/dist/node.mjs.map +1 -1
- package/dist/storage/filesystem-storage-provider.d.ts +2 -1
- package/dist/storage/filesystem-storage-provider.d.ts.map +1 -1
- package/dist/stream-selection.d.ts +85 -0
- package/dist/stream-selection.d.ts.map +1 -0
- package/dist/types/detection.d.ts +3 -3
- package/dist/types/io.d.ts +1 -1
- package/dist/types/io.d.ts.map +1 -1
- package/dist/util/location-match.d.ts +15 -0
- package/dist/util/location-match.d.ts.map +1 -0
- package/dist/utils/canonical-hash.d.ts +20 -0
- package/dist/utils/canonical-hash.d.ts.map +1 -0
- package/dist/utils/export-reconciler.d.ts +101 -0
- package/dist/utils/export-reconciler.d.ts.map +1 -0
- package/dist/utils/sleep.d.ts +36 -0
- package/dist/utils/sleep.d.ts.map +1 -0
- package/package.json +1 -1
- package/dist/capabilities/recording-engine.cap.d.ts +0 -477
- package/dist/capabilities/recording-engine.cap.d.ts.map +0 -1
- package/dist/index-C2zzIDdX.mjs.map +0 -1
- package/dist/index-DnpdVFKv.js.map +0 -1
package/dist/index.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
3
|
-
const index = require("./index-
|
|
3
|
+
const index = require("./index-BSA_TBea.js");
|
|
4
4
|
const zod = require("zod");
|
|
5
5
|
class DisposerChain {
|
|
6
6
|
disposers = [];
|
|
@@ -120,10 +120,15 @@ var EventCategory = /* @__PURE__ */ ((EventCategory2) => {
|
|
|
120
120
|
EventCategory2["DeviceSettingsUpdated"] = "device.settings-updated";
|
|
121
121
|
EventCategory2["DeviceBindingsChanged"] = "device.bindings-changed";
|
|
122
122
|
EventCategory2["DeviceMetaChanged"] = "device.meta-changed";
|
|
123
|
+
EventCategory2["DeviceSourceInfoChanged"] = "device.source-info-changed";
|
|
123
124
|
EventCategory2["DeviceStreamsRegistered"] = "device.streams-registered";
|
|
125
|
+
EventCategory2["DeviceProvisioned"] = "device.provisioned";
|
|
126
|
+
EventCategory2["DeviceReady"] = "device.ready";
|
|
124
127
|
EventCategory2["IntegrationEnabled"] = "integration.enabled";
|
|
125
128
|
EventCategory2["IntegrationDisabled"] = "integration.disabled";
|
|
126
129
|
EventCategory2["IntegrationDeleted"] = "integration.deleted";
|
|
130
|
+
EventCategory2["BrokerStatusChanged"] = "broker.status-changed";
|
|
131
|
+
EventCategory2["BrokerMessage"] = "broker.message";
|
|
127
132
|
EventCategory2["ProviderStarted"] = "provider.started";
|
|
128
133
|
EventCategory2["ProviderStopped"] = "provider.stopped";
|
|
129
134
|
EventCategory2["ProcessCrashed"] = "process.crashed";
|
|
@@ -157,7 +162,9 @@ var EventCategory = /* @__PURE__ */ ((EventCategory2) => {
|
|
|
157
162
|
EventCategory2["StreamParamsChanged"] = "stream-params.changed";
|
|
158
163
|
EventCategory2["DeviceStateChanged"] = "device.state-changed";
|
|
159
164
|
EventCategory2["BatteryOnStatusChanged"] = "battery.onStatusChanged";
|
|
165
|
+
EventCategory2["BatteryOnWakeStarted"] = "battery.onWakeStarted";
|
|
160
166
|
EventCategory2["DoorbellOnPressed"] = "doorbell.onPressed";
|
|
167
|
+
EventCategory2["EventEmitted"] = "event-emitter.event";
|
|
161
168
|
EventCategory2["PipelineEngineMetricsSnapshot"] = "pipeline.engine-metrics-snapshot";
|
|
162
169
|
EventCategory2["ClusterTopologySnapshot"] = "cluster.topology-snapshot";
|
|
163
170
|
EventCategory2["MetricsNodeResourcesSnapshot"] = "metrics.node-resources-snapshot";
|
|
@@ -243,6 +250,27 @@ function emitReadiness(bus, params) {
|
|
|
243
250
|
}
|
|
244
251
|
));
|
|
245
252
|
}
|
|
253
|
+
function createDurableState(deps) {
|
|
254
|
+
const get = async () => {
|
|
255
|
+
const store = await deps.read();
|
|
256
|
+
const raw = store[deps.key];
|
|
257
|
+
if (raw === void 0) return deps.fallback;
|
|
258
|
+
const parsed = deps.schema.safeParse(raw);
|
|
259
|
+
if (!parsed.success) {
|
|
260
|
+
deps.onParseError?.(deps.key, parsed.error);
|
|
261
|
+
return deps.fallback;
|
|
262
|
+
}
|
|
263
|
+
return parsed.data;
|
|
264
|
+
};
|
|
265
|
+
const set = async (next) => {
|
|
266
|
+
const validated = deps.schema.parse(next);
|
|
267
|
+
await deps.write({ [deps.key]: validated });
|
|
268
|
+
};
|
|
269
|
+
const update = async (fn) => {
|
|
270
|
+
await set(fn(await get()));
|
|
271
|
+
};
|
|
272
|
+
return { get, set, update };
|
|
273
|
+
}
|
|
246
274
|
class BaseAddon {
|
|
247
275
|
_ctx = null;
|
|
248
276
|
_config;
|
|
@@ -486,12 +514,18 @@ class BaseAddon {
|
|
|
486
514
|
// ── Lifecycle event emission ────────────────────────────────────────────
|
|
487
515
|
emitLifecycle(category, data) {
|
|
488
516
|
try {
|
|
489
|
-
this._ctx
|
|
490
|
-
|
|
517
|
+
const ctx = this._ctx;
|
|
518
|
+
if (!ctx) return;
|
|
519
|
+
ctx.eventBus.emit({
|
|
520
|
+
id: `${ctx.id}-${Date.now()}`,
|
|
491
521
|
timestamp: /* @__PURE__ */ new Date(),
|
|
492
|
-
source: { type: "addon", id:
|
|
522
|
+
source: { type: "addon", id: ctx.id, nodeId: ctx.kernel.localNodeId ?? "hub" },
|
|
493
523
|
category,
|
|
494
|
-
|
|
524
|
+
// Always carry `addonId` in the payload (the lifecycle event
|
|
525
|
+
// contract declares it) so consumers — e.g. the alerts builder —
|
|
526
|
+
// can name the addon without reaching into `source`. An explicit
|
|
527
|
+
// `data.addonId` still wins if a caller provides one.
|
|
528
|
+
data: { addonId: ctx.id, ...data ?? {} }
|
|
495
529
|
});
|
|
496
530
|
} catch {
|
|
497
531
|
}
|
|
@@ -564,6 +598,44 @@ class BaseAddon {
|
|
|
564
598
|
}
|
|
565
599
|
this._config = resolved;
|
|
566
600
|
}
|
|
601
|
+
/**
|
|
602
|
+
* Typed durable handle over ONE key of this addon's store. The whole
|
|
603
|
+
* Zod-validated value round-trips on every read/write — no hand-listed
|
|
604
|
+
* fields, so a field can never be silently dropped on persist. Reads use
|
|
605
|
+
* the same retry budget as config resolution; a corrupt/legacy blob logs
|
|
606
|
+
* a warning and falls back rather than crashing boot.
|
|
607
|
+
*/
|
|
608
|
+
state(key, schema, fallback) {
|
|
609
|
+
return createDurableState({
|
|
610
|
+
key,
|
|
611
|
+
schema,
|
|
612
|
+
fallback,
|
|
613
|
+
read: () => this.readAddonStoreWithRetry(),
|
|
614
|
+
write: async (patch) => {
|
|
615
|
+
await this._ctx?.settings?.writeAddonStore(patch);
|
|
616
|
+
},
|
|
617
|
+
onParseError: (k, e) => this._ctx?.logger?.warn?.(
|
|
618
|
+
`durable-state: stored "${k}" failed validation — using fallback`,
|
|
619
|
+
{ meta: { addonId: this._ctx?.id, key: k, error: String(e) } }
|
|
620
|
+
)
|
|
621
|
+
});
|
|
622
|
+
}
|
|
623
|
+
/** Per-device variant of {@link state}, backed by the per-device store. */
|
|
624
|
+
deviceState(deviceId, key, schema, fallback) {
|
|
625
|
+
return createDurableState({
|
|
626
|
+
key,
|
|
627
|
+
schema,
|
|
628
|
+
fallback,
|
|
629
|
+
read: async () => await this._ctx?.settings?.readDeviceStore(deviceId) ?? {},
|
|
630
|
+
write: async (patch) => {
|
|
631
|
+
await this._ctx?.settings?.writeDeviceStore(deviceId, patch);
|
|
632
|
+
},
|
|
633
|
+
onParseError: (k, e) => this._ctx?.logger?.warn?.(
|
|
634
|
+
`durable-state: stored device ${deviceId} "${k}" failed validation — using fallback`,
|
|
635
|
+
{ meta: { addonId: this._ctx?.id, deviceId, key: k, error: String(e) } }
|
|
636
|
+
)
|
|
637
|
+
});
|
|
638
|
+
}
|
|
567
639
|
/**
|
|
568
640
|
* Wrap `ctx.settings.readAddonStore()` with a short retry budget so a
|
|
569
641
|
* transient settings-store outage (mid-restart of sqlite-settings, tsx-watch
|
|
@@ -689,6 +761,68 @@ function buildCapturingReply(envelope) {
|
|
|
689
761
|
};
|
|
690
762
|
return wrapper;
|
|
691
763
|
}
|
|
764
|
+
const EU_DST = {
|
|
765
|
+
offsetHours: 1,
|
|
766
|
+
startMonth: 3,
|
|
767
|
+
startWeekIndex: 5,
|
|
768
|
+
startWeekday: "Sunday",
|
|
769
|
+
startHour: 2,
|
|
770
|
+
endMonth: 10,
|
|
771
|
+
endWeekIndex: 5,
|
|
772
|
+
endWeekday: "Sunday",
|
|
773
|
+
endHour: 3
|
|
774
|
+
};
|
|
775
|
+
const US_DST = {
|
|
776
|
+
offsetHours: 1,
|
|
777
|
+
startMonth: 3,
|
|
778
|
+
startWeekIndex: 2,
|
|
779
|
+
startWeekday: "Sunday",
|
|
780
|
+
startHour: 2,
|
|
781
|
+
endMonth: 11,
|
|
782
|
+
endWeekIndex: 1,
|
|
783
|
+
endWeekday: "Sunday",
|
|
784
|
+
endHour: 2
|
|
785
|
+
};
|
|
786
|
+
const AU_DST = {
|
|
787
|
+
offsetHours: 1,
|
|
788
|
+
startMonth: 10,
|
|
789
|
+
startWeekIndex: 1,
|
|
790
|
+
startWeekday: "Sunday",
|
|
791
|
+
startHour: 2,
|
|
792
|
+
endMonth: 4,
|
|
793
|
+
endWeekIndex: 1,
|
|
794
|
+
endWeekday: "Sunday",
|
|
795
|
+
endHour: 3
|
|
796
|
+
};
|
|
797
|
+
const TIMEZONES = [
|
|
798
|
+
// --- Universal ---
|
|
799
|
+
{ id: "UTC", label: "UTC (UTC+0)", region: "Universal", stdOffsetMinutes: 0, dst: null },
|
|
800
|
+
// --- Europe (EU DST rule) ---
|
|
801
|
+
{ id: "Europe/London", label: "Europe/London (UTC+0 / BST)", region: "Europe", stdOffsetMinutes: 0, dst: EU_DST },
|
|
802
|
+
{ id: "Europe/Rome", label: "Europe/Rome (UTC+1 / CEST)", region: "Europe", stdOffsetMinutes: 60, dst: EU_DST },
|
|
803
|
+
{ id: "Europe/Paris", label: "Europe/Paris (UTC+1 / CEST)", region: "Europe", stdOffsetMinutes: 60, dst: EU_DST },
|
|
804
|
+
{ id: "Europe/Berlin", label: "Europe/Berlin (UTC+1 / CEST)", region: "Europe", stdOffsetMinutes: 60, dst: EU_DST },
|
|
805
|
+
{ id: "Europe/Madrid", label: "Europe/Madrid (UTC+1 / CEST)", region: "Europe", stdOffsetMinutes: 60, dst: EU_DST },
|
|
806
|
+
{ id: "Europe/Amsterdam", label: "Europe/Amsterdam (UTC+1 / CEST)", region: "Europe", stdOffsetMinutes: 60, dst: EU_DST },
|
|
807
|
+
{ id: "Europe/Istanbul", label: "Europe/Istanbul (UTC+3)", region: "Europe", stdOffsetMinutes: 180, dst: null },
|
|
808
|
+
// --- Americas (US/Canada DST rule) ---
|
|
809
|
+
{ id: "America/New_York", label: "America/New York (UTC−5 / EDT)", region: "Americas", stdOffsetMinutes: -300, dst: US_DST },
|
|
810
|
+
{ id: "America/Chicago", label: "America/Chicago (UTC−6 / CDT)", region: "Americas", stdOffsetMinutes: -360, dst: US_DST },
|
|
811
|
+
{ id: "America/Denver", label: "America/Denver (UTC−7 / MDT)", region: "Americas", stdOffsetMinutes: -420, dst: US_DST },
|
|
812
|
+
{ id: "America/Los_Angeles", label: "America/Los Angeles (UTC−8 / PDT)", region: "Americas", stdOffsetMinutes: -480, dst: US_DST },
|
|
813
|
+
{ id: "America/Sao_Paulo", label: "America/Sao Paulo (UTC−3)", region: "Americas", stdOffsetMinutes: -180, dst: null },
|
|
814
|
+
// --- Asia / Middle East (no DST) ---
|
|
815
|
+
{ id: "Asia/Dubai", label: "Asia/Dubai (UTC+4)", region: "Asia", stdOffsetMinutes: 240, dst: null },
|
|
816
|
+
{ id: "Asia/Kolkata", label: "Asia/Kolkata (UTC+5:30)", region: "Asia", stdOffsetMinutes: 330, dst: null },
|
|
817
|
+
{ id: "Asia/Singapore", label: "Asia/Singapore (UTC+8)", region: "Asia", stdOffsetMinutes: 480, dst: null },
|
|
818
|
+
{ id: "Asia/Shanghai", label: "Asia/Shanghai (UTC+8)", region: "Asia", stdOffsetMinutes: 480, dst: null },
|
|
819
|
+
{ id: "Asia/Tokyo", label: "Asia/Tokyo (UTC+9)", region: "Asia", stdOffsetMinutes: 540, dst: null },
|
|
820
|
+
// --- Oceania (southern-hemisphere DST) ---
|
|
821
|
+
{ id: "Australia/Sydney", label: "Australia/Sydney (UTC+10 / AEDT)", region: "Oceania", stdOffsetMinutes: 600, dst: AU_DST }
|
|
822
|
+
];
|
|
823
|
+
function findTimezone(id) {
|
|
824
|
+
return TIMEZONES.find((tz) => tz.id === id);
|
|
825
|
+
}
|
|
692
826
|
class ReadinessTimeoutError extends Error {
|
|
693
827
|
capName;
|
|
694
828
|
scope;
|
|
@@ -1084,34 +1218,7 @@ function emitDownForOwnedCaps(registry, owned) {
|
|
|
1084
1218
|
registry.emitDown(capName, scope);
|
|
1085
1219
|
}
|
|
1086
1220
|
}
|
|
1087
|
-
const
|
|
1088
|
-
"data",
|
|
1089
|
-
"media",
|
|
1090
|
-
"recordings",
|
|
1091
|
-
"recordings-high",
|
|
1092
|
-
"recordings-low",
|
|
1093
|
-
"recordings-clips",
|
|
1094
|
-
"event-images",
|
|
1095
|
-
"models",
|
|
1096
|
-
"addons-data",
|
|
1097
|
-
"cache",
|
|
1098
|
-
"logs",
|
|
1099
|
-
"backups"
|
|
1100
|
-
];
|
|
1101
|
-
const DEFAULT_LOCATION_SUBDIRS = {
|
|
1102
|
-
"data": "db",
|
|
1103
|
-
"media": "media",
|
|
1104
|
-
"recordings": "recordings",
|
|
1105
|
-
"recordings-high": "recordings-high",
|
|
1106
|
-
"recordings-low": "recordings-low",
|
|
1107
|
-
"recordings-clips": "recordings-clips",
|
|
1108
|
-
"event-images": "event-images",
|
|
1109
|
-
"models": "models",
|
|
1110
|
-
"addons-data": "addons-data",
|
|
1111
|
-
"cache": "/tmp/camstack-cache",
|
|
1112
|
-
"logs": "logs",
|
|
1113
|
-
"backups": "backups"
|
|
1114
|
-
};
|
|
1221
|
+
const DATAPLANE_SECRET_HEADER = "x-camstack-dataplane-secret";
|
|
1115
1222
|
const STREAM_QUALITY_LABELS = {
|
|
1116
1223
|
high: "High",
|
|
1117
1224
|
mid: "Mid",
|
|
@@ -1159,12 +1266,12 @@ function toStreamSourceEntry(stream) {
|
|
|
1159
1266
|
function isString(v) {
|
|
1160
1267
|
return typeof v === "string";
|
|
1161
1268
|
}
|
|
1162
|
-
function isRecord(v) {
|
|
1269
|
+
function isRecord$1(v) {
|
|
1163
1270
|
return typeof v === "object" && v !== null && !Array.isArray(v);
|
|
1164
1271
|
}
|
|
1165
1272
|
function parseStreamEntry(v) {
|
|
1166
1273
|
if (isString(v) && v.trim()) return { url: v };
|
|
1167
|
-
if (isRecord(v) && isString(v["url"]) && v["url"].trim()) {
|
|
1274
|
+
if (isRecord$1(v) && isString(v["url"]) && v["url"].trim()) {
|
|
1168
1275
|
return {
|
|
1169
1276
|
url: v["url"],
|
|
1170
1277
|
label: isString(v["label"]) ? v["label"] : void 0
|
|
@@ -1225,6 +1332,51 @@ const DEFAULT_FEATURES = {
|
|
|
1225
1332
|
};
|
|
1226
1333
|
const SUB_DETECTION_TYPES = ["face", "plate"];
|
|
1227
1334
|
const RECOGNITION_TYPES = ["face", "plate", "clip", "custom"];
|
|
1335
|
+
function pickPreferredRtspEntry(entries, pref, deviceId, options = {}) {
|
|
1336
|
+
if (entries.length === 0) return null;
|
|
1337
|
+
const prefix = `${deviceId}/`;
|
|
1338
|
+
const toPicked = (e) => ({
|
|
1339
|
+
brokerId: e.brokerId,
|
|
1340
|
+
profileId: e.brokerId.startsWith(prefix) ? e.brokerId.slice(prefix.length) : e.brokerId,
|
|
1341
|
+
url: e.url,
|
|
1342
|
+
mutedUrl: e.mutedUrl,
|
|
1343
|
+
enabled: e.enabled,
|
|
1344
|
+
...e.codec !== void 0 ? { codec: e.codec } : {},
|
|
1345
|
+
...e.resolution !== void 0 ? { resolution: e.resolution } : {}
|
|
1346
|
+
});
|
|
1347
|
+
if (pref !== "auto") {
|
|
1348
|
+
const match = entries.find(
|
|
1349
|
+
(e) => e.enabled && e.url.length > 0 && (e.profile === pref || e.brokerId === `${prefix}${pref}`)
|
|
1350
|
+
);
|
|
1351
|
+
if (match) return toPicked(match);
|
|
1352
|
+
}
|
|
1353
|
+
const eligible = entries.filter((e) => e.enabled && e.url.length > 0);
|
|
1354
|
+
if (eligible.length === 0) return null;
|
|
1355
|
+
const target = options.targetResolution;
|
|
1356
|
+
if (target) {
|
|
1357
|
+
const withRes = eligible.filter((e) => e.resolution !== void 0);
|
|
1358
|
+
if (withRes.length > 0) {
|
|
1359
|
+
const picked = pickClosestResolution(withRes, target);
|
|
1360
|
+
if (picked) return toPicked(picked);
|
|
1361
|
+
}
|
|
1362
|
+
}
|
|
1363
|
+
return toPicked(eligible[0]);
|
|
1364
|
+
}
|
|
1365
|
+
function pickClosestResolution(entries, target) {
|
|
1366
|
+
const targetPixels = target.width * target.height;
|
|
1367
|
+
let bestAbove;
|
|
1368
|
+
let bestBelow;
|
|
1369
|
+
for (const e of entries) {
|
|
1370
|
+
if (e.resolution === void 0) continue;
|
|
1371
|
+
const pixels = e.resolution.width * e.resolution.height;
|
|
1372
|
+
if (pixels >= targetPixels) {
|
|
1373
|
+
if (!bestAbove || pixels < bestAbove.pixels) bestAbove = { entry: e, pixels };
|
|
1374
|
+
} else {
|
|
1375
|
+
if (!bestBelow || pixels > bestBelow.pixels) bestBelow = { entry: e, pixels };
|
|
1376
|
+
}
|
|
1377
|
+
}
|
|
1378
|
+
return bestAbove?.entry ?? bestBelow?.entry;
|
|
1379
|
+
}
|
|
1228
1380
|
const DEFAULT_RETENTION = {
|
|
1229
1381
|
cleanupIntervalMs: 60 * 60 * 1e3,
|
|
1230
1382
|
detectionEventsDays: 30,
|
|
@@ -1266,9 +1418,6 @@ const RUNTIME_DEFAULTS = {
|
|
|
1266
1418
|
models: "camstack-data/models"
|
|
1267
1419
|
},
|
|
1268
1420
|
"providers": [],
|
|
1269
|
-
// Recording
|
|
1270
|
-
"recording.segmentDurationSeconds": 4,
|
|
1271
|
-
"recording.defaultRetentionDays": 30,
|
|
1272
1421
|
// Streaming ports are addon-specific (go2rtc owns its defaults)
|
|
1273
1422
|
// FFmpeg
|
|
1274
1423
|
"ffmpeg.binaryPath": "ffmpeg",
|
|
@@ -1936,22 +2085,61 @@ function createRuntimeStateBridge(params) {
|
|
|
1936
2085
|
return { ensureFresh, getStatus };
|
|
1937
2086
|
}
|
|
1938
2087
|
const DEVICE_LOCAL_STATE_CAPS = {
|
|
2088
|
+
airQualitySensor: index.airQualitySensorCapability,
|
|
2089
|
+
alarmPanel: index.alarmPanelCapability,
|
|
2090
|
+
ambientLightSensor: index.ambientLightSensorCapability,
|
|
1939
2091
|
audioMetrics: index.audioMetricsCapability,
|
|
2092
|
+
automationControl: index.automationControlCapability,
|
|
1940
2093
|
battery: index.batteryCapability,
|
|
2094
|
+
binary: index.binaryCapability,
|
|
1941
2095
|
brightness: index.brightnessCapability,
|
|
1942
2096
|
cameraStreams: index.cameraStreamsCapability,
|
|
2097
|
+
carbonMonoxide: index.carbonMonoxideCapability,
|
|
2098
|
+
climateControl: index.climateControlCapability,
|
|
2099
|
+
color: index.colorCapability,
|
|
2100
|
+
connectivity: index.connectivityCapability,
|
|
2101
|
+
consumables: index.consumablesCapability,
|
|
2102
|
+
contact: index.contactCapability,
|
|
2103
|
+
control: index.controlCapability,
|
|
2104
|
+
cover: index.coverCapability,
|
|
1943
2105
|
deviceDiscovery: index.deviceDiscoveryCapability,
|
|
1944
2106
|
deviceStatus: index.deviceStatusCapability,
|
|
1945
2107
|
doorbell: index.doorbellCapability,
|
|
2108
|
+
enumSensor: index.enumSensorCapability,
|
|
2109
|
+
eventEmitter: index.eventEmitterCapability,
|
|
2110
|
+
fanControl: index.fanControlCapability,
|
|
1946
2111
|
featureProbe: index.featureProbeCapability,
|
|
2112
|
+
flood: index.floodCapability,
|
|
2113
|
+
gas: index.gasCapability,
|
|
2114
|
+
humidifier: index.humidifierCapability,
|
|
2115
|
+
humiditySensor: index.humiditySensorCapability,
|
|
2116
|
+
image: index.imageCapability,
|
|
2117
|
+
lawnMowerControl: index.lawnMowerControlCapability,
|
|
2118
|
+
lockControl: index.lockControlCapability,
|
|
2119
|
+
mediaPlayer: index.mediaPlayerCapability,
|
|
1947
2120
|
motion: index.motionCapability,
|
|
1948
2121
|
motionTrigger: index.motionTriggerCapability,
|
|
1949
2122
|
motionZones: index.motionZonesCapability,
|
|
1950
2123
|
nativeObjectDetection: index.nativeObjectDetectionCapability,
|
|
2124
|
+
notifier: index.notifierCapability,
|
|
2125
|
+
numericSensor: index.numericSensorCapability,
|
|
2126
|
+
powerMeter: index.powerMeterCapability,
|
|
2127
|
+
presence: index.presenceCapability,
|
|
2128
|
+
pressureSensor: index.pressureSensorCapability,
|
|
1951
2129
|
privacyMask: index.privacyMaskCapability,
|
|
1952
2130
|
ptzAutotrack: index.ptzAutotrackCapability,
|
|
2131
|
+
scriptRunner: index.scriptRunnerCapability,
|
|
2132
|
+
smoke: index.smokeCapability,
|
|
1953
2133
|
streamParams: index.streamParamsCapability,
|
|
1954
2134
|
switch: index.switchCapability,
|
|
2135
|
+
tamper: index.tamperCapability,
|
|
2136
|
+
temperatureSensor: index.temperatureSensorCapability,
|
|
2137
|
+
update: index.updateCapability,
|
|
2138
|
+
vacuumControl: index.vacuumControlCapability,
|
|
2139
|
+
valve: index.valveCapability,
|
|
2140
|
+
vibration: index.vibrationCapability,
|
|
2141
|
+
waterHeater: index.waterHeaterCapability,
|
|
2142
|
+
weather: index.weatherCapability,
|
|
1955
2143
|
zoneAnalytics: index.zoneAnalyticsCapability,
|
|
1956
2144
|
zoneRules: index.zoneRulesCapability,
|
|
1957
2145
|
zones: index.zonesCapability
|
|
@@ -2055,6 +2243,16 @@ class BaseDevice {
|
|
|
2055
2243
|
* `kernel.devices.setDisabled(id, value)`.
|
|
2056
2244
|
*/
|
|
2057
2245
|
disabled;
|
|
2246
|
+
/**
|
|
2247
|
+
* Cached materialised `SourceInfo` — either the value persisted under
|
|
2248
|
+
* `metadata.sourceInfo` at construction time, or a synthetic
|
|
2249
|
+
* `{ id: stableId, system: addonId }` for providers that haven't
|
|
2250
|
+
* migrated yet. Lazily populated on first `sourceInfo` read so the
|
|
2251
|
+
* cost of Zod-parsing the meta blob is paid once per device boot.
|
|
2252
|
+
* Invalidated by `updateSourceInfo()` so providers see the new value
|
|
2253
|
+
* back through the getter without a re-fetch from the meta surface.
|
|
2254
|
+
*/
|
|
2255
|
+
_sourceInfoCache = null;
|
|
2058
2256
|
constructor(ctx, schema, options) {
|
|
2059
2257
|
this.ctx = ctx;
|
|
2060
2258
|
this.id = ctx.id;
|
|
@@ -2095,7 +2293,7 @@ class BaseDevice {
|
|
|
2095
2293
|
this.runtimeState = DeviceRuntimeState.fromInitial(initial, writer);
|
|
2096
2294
|
ctx.bindRuntimeState?.(this.runtimeState);
|
|
2097
2295
|
ctx.registerNativeCap?.(index.deviceStatusCapability, {});
|
|
2098
|
-
const seed = { online:
|
|
2296
|
+
const seed = { online: true, lastChangedAt: Date.now() };
|
|
2099
2297
|
this.runtimeState.setCapState("device-status", seed);
|
|
2100
2298
|
ctx.registerNativeCap?.(index.featureProbeCapability, {});
|
|
2101
2299
|
const probeSeed = {
|
|
@@ -2108,6 +2306,21 @@ class BaseDevice {
|
|
|
2108
2306
|
};
|
|
2109
2307
|
this.runtimeState.setCapState("feature-probe", probeSeed);
|
|
2110
2308
|
}
|
|
2309
|
+
deviceActions = /* @__PURE__ */ new Map();
|
|
2310
|
+
/** Declare a device custom action + its typed handler. Idempotent per name. */
|
|
2311
|
+
registerDeviceAction(name, spec, handler) {
|
|
2312
|
+
this.deviceActions.set(name, {
|
|
2313
|
+
spec,
|
|
2314
|
+
handler
|
|
2315
|
+
});
|
|
2316
|
+
}
|
|
2317
|
+
/** Invoke a registered device action. Validates input against the spec. */
|
|
2318
|
+
async runDeviceAction(action, input) {
|
|
2319
|
+
const entry = this.deviceActions.get(action);
|
|
2320
|
+
if (!entry) throw new Error(`unknown device action "${action}" on device ${this.id}`);
|
|
2321
|
+
const parsed = entry.spec.input.parse(input);
|
|
2322
|
+
return entry.handler(parsed);
|
|
2323
|
+
}
|
|
2111
2324
|
async removeDevice() {
|
|
2112
2325
|
}
|
|
2113
2326
|
/**
|
|
@@ -2124,6 +2337,71 @@ class BaseDevice {
|
|
|
2124
2337
|
const next = { online, lastChangedAt: Date.now() };
|
|
2125
2338
|
this.runtimeState.setCapState("device-status", next);
|
|
2126
2339
|
}
|
|
2340
|
+
/**
|
|
2341
|
+
* Upstream-system identity + rendering envelope for this device. See
|
|
2342
|
+
* `SourceInfo` for the field contract. Always returns a valid object:
|
|
2343
|
+
* if the persisted `metadata.sourceInfo` blob is absent or fails Zod
|
|
2344
|
+
* validation, falls back to a synthetic `{ id: stableId, system: addonId }`
|
|
2345
|
+
* so providers that haven't migrated keep working without code changes.
|
|
2346
|
+
*
|
|
2347
|
+
* The value is cached after the first read. `updateSourceInfo()`
|
|
2348
|
+
* invalidates the cache so subsequent reads see the new patch. The
|
|
2349
|
+
* returned object is frozen to prevent accidental in-place mutation —
|
|
2350
|
+
* use `updateSourceInfo({ patch })` to change fields.
|
|
2351
|
+
*/
|
|
2352
|
+
get sourceInfo() {
|
|
2353
|
+
if (this._sourceInfoCache) return this._sourceInfoCache;
|
|
2354
|
+
const fromMeta = index.extractSourceInfoFromMetadata(this.ctx.deviceMeta.metadata);
|
|
2355
|
+
const resolved = fromMeta ?? index.synthesizeSourceInfo({
|
|
2356
|
+
stableId: this.stableId,
|
|
2357
|
+
addonId: this.ctx.deviceMeta.addonId
|
|
2358
|
+
});
|
|
2359
|
+
this._sourceInfoCache = Object.freeze({ ...resolved });
|
|
2360
|
+
return this._sourceInfoCache;
|
|
2361
|
+
}
|
|
2362
|
+
/**
|
|
2363
|
+
* Convenience accessor for the upstream dispatch key. Equivalent to
|
|
2364
|
+
* `this.sourceInfo.id` — providers use this to keep a
|
|
2365
|
+
* `Map<sourceId, IDevice>` for routing inbound push events.
|
|
2366
|
+
*/
|
|
2367
|
+
get sourceId() {
|
|
2368
|
+
return this.sourceInfo.id;
|
|
2369
|
+
}
|
|
2370
|
+
/**
|
|
2371
|
+
* Patch the device's `SourceInfo`. Shallow-merges `patch` over the
|
|
2372
|
+
* current value, persists the merged result under
|
|
2373
|
+
* `metadata.sourceInfo` via the `device-manager.setMetadata` cap, and
|
|
2374
|
+
* emits `EventCategory.DeviceSourceInfoChanged` for live consumers.
|
|
2375
|
+
*
|
|
2376
|
+
* Safe to call from anywhere in the device's lifetime — the call is
|
|
2377
|
+
* idempotent for `undefined` patch values (ignored) and best-effort
|
|
2378
|
+
* for persistence (a transient device-manager error doesn't unwind
|
|
2379
|
+
* the local cache update, so subsequent reads still see the patch).
|
|
2380
|
+
*
|
|
2381
|
+
* Drivers populate this on adoption + on every metadata change push
|
|
2382
|
+
* from the upstream source. Subscribers (UI, export adapters) react
|
|
2383
|
+
* via the `DeviceSourceInfoChanged` event without polling.
|
|
2384
|
+
*/
|
|
2385
|
+
async updateSourceInfo(patch) {
|
|
2386
|
+
const next = index.mergeSourceInfo(this.sourceInfo, patch);
|
|
2387
|
+
this._sourceInfoCache = Object.freeze({ ...next });
|
|
2388
|
+
const api = this.ctx.api;
|
|
2389
|
+
const action = api?.deviceManager?.setMetadata;
|
|
2390
|
+
if (action) {
|
|
2391
|
+
try {
|
|
2392
|
+
await action.mutate({
|
|
2393
|
+
deviceId: this.id,
|
|
2394
|
+
patch: { [index.SOURCE_INFO_METADATA_KEY]: next }
|
|
2395
|
+
});
|
|
2396
|
+
} catch {
|
|
2397
|
+
}
|
|
2398
|
+
}
|
|
2399
|
+
this.ctx.eventBus.emit(createEvent(
|
|
2400
|
+
"device.source-info-changed",
|
|
2401
|
+
{ type: "device", id: this.stableId },
|
|
2402
|
+
{ deviceId: this.id, sourceInfo: next }
|
|
2403
|
+
));
|
|
2404
|
+
}
|
|
2127
2405
|
/**
|
|
2128
2406
|
* Re-publish the device's current `features` array to the persisted
|
|
2129
2407
|
* meta blob. Drivers call this after a probe finishes when the live
|
|
@@ -2374,7 +2652,13 @@ function toDeviceSummary(device, addonId) {
|
|
|
2374
2652
|
parentDeviceId: device.parentDeviceId,
|
|
2375
2653
|
online: device.online,
|
|
2376
2654
|
features: [...device.features],
|
|
2377
|
-
config
|
|
2655
|
+
config,
|
|
2656
|
+
// BaseDevice always resolves sourceInfo (synthetic or persisted).
|
|
2657
|
+
// `IDevice` doesn't declare the field — providers that override
|
|
2658
|
+
// `IDevice` outside the BaseDevice hierarchy stay backwards-
|
|
2659
|
+
// compatible. Read through a structural check so non-BaseDevice
|
|
2660
|
+
// implementations don't blow up.
|
|
2661
|
+
sourceInfo: device.sourceInfo
|
|
2378
2662
|
};
|
|
2379
2663
|
}
|
|
2380
2664
|
class BaseDeviceProvider extends BaseAddon {
|
|
@@ -2683,6 +2967,80 @@ function getZodDefault(schema) {
|
|
|
2683
2967
|
function humanizeKey(key) {
|
|
2684
2968
|
return key.replace(/([A-Z])/g, " $1").replace(/[_-]/g, " ").replace(/^\w/, (c) => c.toUpperCase()).trim();
|
|
2685
2969
|
}
|
|
2970
|
+
function isRecord(x) {
|
|
2971
|
+
return x !== null && typeof x === "object" && !Array.isArray(x);
|
|
2972
|
+
}
|
|
2973
|
+
function getByPath(obj, path) {
|
|
2974
|
+
const parts = path.split(".");
|
|
2975
|
+
let cur = obj;
|
|
2976
|
+
for (const part of parts) {
|
|
2977
|
+
if (!isRecord(cur)) return void 0;
|
|
2978
|
+
cur = cur[part];
|
|
2979
|
+
}
|
|
2980
|
+
return cur;
|
|
2981
|
+
}
|
|
2982
|
+
function setByPath(obj, path, value) {
|
|
2983
|
+
const dotIndex = path.indexOf(".");
|
|
2984
|
+
if (dotIndex === -1) {
|
|
2985
|
+
return { ...obj, [path]: value };
|
|
2986
|
+
}
|
|
2987
|
+
const head = path.slice(0, dotIndex);
|
|
2988
|
+
const tail = path.slice(dotIndex + 1);
|
|
2989
|
+
const child = obj[head];
|
|
2990
|
+
const childObj = isRecord(child) ? child : {};
|
|
2991
|
+
return { ...obj, [head]: setByPath(childObj, tail, value) };
|
|
2992
|
+
}
|
|
2993
|
+
function applyTransform(value, transform) {
|
|
2994
|
+
if (!transform || transform.kind === "identity") return value;
|
|
2995
|
+
if (transform.kind === "enum-map") {
|
|
2996
|
+
const key = String(value);
|
|
2997
|
+
if (Object.prototype.hasOwnProperty.call(transform.mapping, key)) return transform.mapping[key];
|
|
2998
|
+
return transform.fallback ?? null;
|
|
2999
|
+
}
|
|
3000
|
+
if (transform.kind === "linear") {
|
|
3001
|
+
if (typeof value !== "number" || Number.isNaN(value)) return null;
|
|
3002
|
+
let out = value * transform.scale + transform.offset;
|
|
3003
|
+
if (transform.clamp) {
|
|
3004
|
+
const min = transform.clamp[0];
|
|
3005
|
+
const max = transform.clamp[1];
|
|
3006
|
+
out = Math.min(max, Math.max(min, out));
|
|
3007
|
+
}
|
|
3008
|
+
return out;
|
|
3009
|
+
}
|
|
3010
|
+
return value;
|
|
3011
|
+
}
|
|
3012
|
+
function unwrap(schema) {
|
|
3013
|
+
let s = schema;
|
|
3014
|
+
while (s instanceof zod.z.ZodNullable || s instanceof zod.z.ZodOptional || s instanceof zod.z.ZodDefault) {
|
|
3015
|
+
s = s.unwrap();
|
|
3016
|
+
}
|
|
3017
|
+
return s;
|
|
3018
|
+
}
|
|
3019
|
+
function leafKind(schema) {
|
|
3020
|
+
const s = unwrap(schema);
|
|
3021
|
+
if (s instanceof zod.z.ZodEnum) return { kind: "enum", enumValues: s.options };
|
|
3022
|
+
if (s instanceof zod.z.ZodNumber) return { kind: "number" };
|
|
3023
|
+
if (s instanceof zod.z.ZodString) return { kind: "string" };
|
|
3024
|
+
if (s instanceof zod.z.ZodBoolean) return { kind: "boolean" };
|
|
3025
|
+
return null;
|
|
3026
|
+
}
|
|
3027
|
+
function enumerateSchemaFields(schema, prefix = "") {
|
|
3028
|
+
const root = unwrap(schema);
|
|
3029
|
+
if (!(root instanceof zod.z.ZodObject)) return [];
|
|
3030
|
+
const out = [];
|
|
3031
|
+
const shape = root.shape;
|
|
3032
|
+
for (const [key, field] of Object.entries(shape)) {
|
|
3033
|
+
const path = prefix ? `${prefix}.${key}` : key;
|
|
3034
|
+
const inner = unwrap(field);
|
|
3035
|
+
if (inner instanceof zod.z.ZodObject) {
|
|
3036
|
+
out.push(...enumerateSchemaFields(inner, path));
|
|
3037
|
+
continue;
|
|
3038
|
+
}
|
|
3039
|
+
const leaf = leafKind(field);
|
|
3040
|
+
if (leaf) out.push({ path, kind: leaf.kind, ...leaf.enumValues ? { enumValues: leaf.enumValues } : {} });
|
|
3041
|
+
}
|
|
3042
|
+
return out;
|
|
3043
|
+
}
|
|
2686
3044
|
const DEVICE_STATE_EVENT_CATEGORY = "device.state-changed";
|
|
2687
3045
|
function createLazyTrpcSource(api) {
|
|
2688
3046
|
const cache = /* @__PURE__ */ new Map();
|
|
@@ -2846,8 +3204,21 @@ function createDeviceProxy(api, binding, opts) {
|
|
|
2846
3204
|
return callLeaf(capProp, method, kind, mergeInput(input, void 0), push);
|
|
2847
3205
|
}
|
|
2848
3206
|
const accessoriesInterface = {
|
|
3207
|
+
setChildHidden: (input) => dispatch("accessories", "accessories", "setChildHidden", "mutation", input),
|
|
2849
3208
|
getStatus: (input) => dispatch("accessories", "accessories", "getStatus", "query", input)
|
|
2850
3209
|
};
|
|
3210
|
+
const airQualitySensorInterface = {
|
|
3211
|
+
getStatus: (input) => dispatch("air-quality-sensor", "airQualitySensor", "getStatus", "query", input)
|
|
3212
|
+
};
|
|
3213
|
+
const alarmPanelInterface = {
|
|
3214
|
+
arm: (input) => dispatch("alarm-panel", "alarmPanel", "arm", "mutation", input),
|
|
3215
|
+
disarm: (input) => dispatch("alarm-panel", "alarmPanel", "disarm", "mutation", input),
|
|
3216
|
+
trigger: (input) => dispatch("alarm-panel", "alarmPanel", "trigger", "mutation", input),
|
|
3217
|
+
getStatus: (input) => dispatch("alarm-panel", "alarmPanel", "getStatus", "query", input)
|
|
3218
|
+
};
|
|
3219
|
+
const ambientLightSensorInterface = {
|
|
3220
|
+
getStatus: (input) => dispatch("ambient-light-sensor", "ambientLightSensor", "getStatus", "query", input)
|
|
3221
|
+
};
|
|
2851
3222
|
const audioAnalysisInterface = {
|
|
2852
3223
|
resolveDeviceSettings: (input) => dispatch("audio-analysis", "audioAnalysis", "resolveDeviceSettings", "query", input),
|
|
2853
3224
|
getDeviceSettingsContribution: (input) => dispatch("audio-analysis", "audioAnalysis", "getDeviceSettingsContribution", "query", input),
|
|
@@ -2858,13 +3229,26 @@ function createDeviceProxy(api, binding, opts) {
|
|
|
2858
3229
|
getCurrentSnapshot: (input) => dispatch("audio-metrics", "audioMetrics", "getCurrentSnapshot", "query", input),
|
|
2859
3230
|
getHistory: (input) => dispatch("audio-metrics", "audioMetrics", "getHistory", "query", input)
|
|
2860
3231
|
};
|
|
3232
|
+
const automationControlInterface = {
|
|
3233
|
+
enable: (input) => dispatch("automation-control", "automationControl", "enable", "mutation", input),
|
|
3234
|
+
disable: (input) => dispatch("automation-control", "automationControl", "disable", "mutation", input),
|
|
3235
|
+
trigger: (input) => dispatch("automation-control", "automationControl", "trigger", "mutation", input),
|
|
3236
|
+
getStatus: (input) => dispatch("automation-control", "automationControl", "getStatus", "query", input)
|
|
3237
|
+
};
|
|
2861
3238
|
const batteryInterface = {
|
|
3239
|
+
wakeForStream: (input) => dispatch("battery", "battery", "wakeForStream", "mutation", input),
|
|
2862
3240
|
getStatus: (input) => dispatch("battery", "battery", "getStatus", "query", input)
|
|
2863
3241
|
};
|
|
3242
|
+
const binaryInterface = {
|
|
3243
|
+
getStatus: (input) => dispatch("binary", "binary", "getStatus", "query", input)
|
|
3244
|
+
};
|
|
2864
3245
|
const brightnessInterface = {
|
|
2865
3246
|
setBrightness: (input) => dispatch("brightness", "brightness", "setBrightness", "mutation", input),
|
|
2866
3247
|
getStatus: (input) => dispatch("brightness", "brightness", "getStatus", "query", input)
|
|
2867
3248
|
};
|
|
3249
|
+
const buttonInterface = {
|
|
3250
|
+
press: (input) => dispatch("button", "button", "press", "mutation", input)
|
|
3251
|
+
};
|
|
2868
3252
|
const cameraCredentialsInterface = {
|
|
2869
3253
|
getCredentials: (input) => dispatch("camera-credentials", "cameraCredentials", "getCredentials", "query", input),
|
|
2870
3254
|
getStatus: (input) => dispatch("camera-credentials", "cameraCredentials", "getStatus", "query", input)
|
|
@@ -2872,7 +3256,47 @@ function createDeviceProxy(api, binding, opts) {
|
|
|
2872
3256
|
const cameraStreamsInterface = {
|
|
2873
3257
|
getCameraStreams: (input) => dispatch("camera-streams", "cameraStreams", "getCameraStreams", "query", input),
|
|
2874
3258
|
getBrokerStreams: (input) => dispatch("camera-streams", "cameraStreams", "getBrokerStreams", "query", input),
|
|
2875
|
-
getRtspEntries: (input) => dispatch("camera-streams", "cameraStreams", "getRtspEntries", "query", input)
|
|
3259
|
+
getRtspEntries: (input) => dispatch("camera-streams", "cameraStreams", "getRtspEntries", "query", input),
|
|
3260
|
+
getProfileRtspEntries: (input) => dispatch("camera-streams", "cameraStreams", "getProfileRtspEntries", "query", input),
|
|
3261
|
+
pickStream: (input) => dispatch("camera-streams", "cameraStreams", "pickStream", "query", input)
|
|
3262
|
+
};
|
|
3263
|
+
const carbonMonoxideInterface = {
|
|
3264
|
+
getStatus: (input) => dispatch("carbon-monoxide", "carbonMonoxide", "getStatus", "query", input)
|
|
3265
|
+
};
|
|
3266
|
+
const climateControlInterface = {
|
|
3267
|
+
setMode: (input) => dispatch("climate-control", "climateControl", "setMode", "mutation", input),
|
|
3268
|
+
setFanMode: (input) => dispatch("climate-control", "climateControl", "setFanMode", "mutation", input),
|
|
3269
|
+
setPreset: (input) => dispatch("climate-control", "climateControl", "setPreset", "mutation", input),
|
|
3270
|
+
setTarget: (input) => dispatch("climate-control", "climateControl", "setTarget", "mutation", input),
|
|
3271
|
+
setTargetRange: (input) => dispatch("climate-control", "climateControl", "setTargetRange", "mutation", input),
|
|
3272
|
+
setTargetHumidity: (input) => dispatch("climate-control", "climateControl", "setTargetHumidity", "mutation", input),
|
|
3273
|
+
getStatus: (input) => dispatch("climate-control", "climateControl", "getStatus", "query", input)
|
|
3274
|
+
};
|
|
3275
|
+
const colorInterface = {
|
|
3276
|
+
setColor: (input) => dispatch("color", "color", "setColor", "mutation", input),
|
|
3277
|
+
getStatus: (input) => dispatch("color", "color", "getStatus", "query", input)
|
|
3278
|
+
};
|
|
3279
|
+
const connectivityInterface = {
|
|
3280
|
+
getStatus: (input) => dispatch("connectivity", "connectivity", "getStatus", "query", input)
|
|
3281
|
+
};
|
|
3282
|
+
const consumablesInterface = {
|
|
3283
|
+
reset: (input) => dispatch("consumables", "consumables", "reset", "mutation", input),
|
|
3284
|
+
getStatus: (input) => dispatch("consumables", "consumables", "getStatus", "query", input)
|
|
3285
|
+
};
|
|
3286
|
+
const contactInterface = {
|
|
3287
|
+
getStatus: (input) => dispatch("contact", "contact", "getStatus", "query", input)
|
|
3288
|
+
};
|
|
3289
|
+
const controlInterface = {
|
|
3290
|
+
setValue: (input) => dispatch("control", "control", "setValue", "mutation", input),
|
|
3291
|
+
getStatus: (input) => dispatch("control", "control", "getStatus", "query", input)
|
|
3292
|
+
};
|
|
3293
|
+
const coverInterface = {
|
|
3294
|
+
open: (input) => dispatch("cover", "cover", "open", "mutation", input),
|
|
3295
|
+
close: (input) => dispatch("cover", "cover", "close", "mutation", input),
|
|
3296
|
+
stop: (input) => dispatch("cover", "cover", "stop", "mutation", input),
|
|
3297
|
+
setPosition: (input) => dispatch("cover", "cover", "setPosition", "mutation", input),
|
|
3298
|
+
setTiltPosition: (input) => dispatch("cover", "cover", "setTiltPosition", "mutation", input),
|
|
3299
|
+
getStatus: (input) => dispatch("cover", "cover", "getStatus", "query", input)
|
|
2876
3300
|
};
|
|
2877
3301
|
const detectionPipelineInterface = {
|
|
2878
3302
|
getDeviceSettingsContribution: (input) => dispatch("detection-pipeline", "detectionPipeline", "getDeviceSettingsContribution", "query", input),
|
|
@@ -2890,8 +3314,10 @@ function createDeviceProxy(api, binding, opts) {
|
|
|
2890
3314
|
getStreamSources: (input) => dispatch("device-ops", "deviceOps", "getStreamSources", "query", input),
|
|
2891
3315
|
getConfigEntries: (input) => dispatch("device-ops", "deviceOps", "getConfigEntries", "query", input),
|
|
2892
3316
|
setConfig: (input) => dispatch("device-ops", "deviceOps", "setConfig", "mutation", input),
|
|
3317
|
+
runAction: (input) => dispatch("device-ops", "deviceOps", "runAction", "mutation", input),
|
|
2893
3318
|
removeDevice: (input) => dispatch("device-ops", "deviceOps", "removeDevice", "mutation", input),
|
|
2894
|
-
getSettingsSchema: (input) => dispatch("device-ops", "deviceOps", "getSettingsSchema", "query", input)
|
|
3319
|
+
getSettingsSchema: (input) => dispatch("device-ops", "deviceOps", "getSettingsSchema", "query", input),
|
|
3320
|
+
getRawState: (input) => dispatch("device-ops", "deviceOps", "getRawState", "query", input)
|
|
2895
3321
|
};
|
|
2896
3322
|
const deviceStatusInterface = {
|
|
2897
3323
|
getStatus: (input) => dispatch("device-status", "deviceStatus", "getStatus", "query", input)
|
|
@@ -2899,23 +3325,81 @@ function createDeviceProxy(api, binding, opts) {
|
|
|
2899
3325
|
const doorbellInterface = {
|
|
2900
3326
|
getStatus: (input) => dispatch("doorbell", "doorbell", "getStatus", "query", input)
|
|
2901
3327
|
};
|
|
3328
|
+
const enumSensorInterface = {
|
|
3329
|
+
getStatus: (input) => dispatch("enum-sensor", "enumSensor", "getStatus", "query", input)
|
|
3330
|
+
};
|
|
3331
|
+
const eventEmitterInterface = {
|
|
3332
|
+
getStatus: (input) => dispatch("event-emitter", "eventEmitter", "getStatus", "query", input)
|
|
3333
|
+
};
|
|
2902
3334
|
const eventsInterface = {
|
|
2903
3335
|
getEvents: (input) => dispatch("events", "events", "getEvents", "query", input),
|
|
2904
3336
|
getEventThumbnail: (input) => dispatch("events", "events", "getEventThumbnail", "query", input),
|
|
2905
3337
|
getEventClipUrl: (input) => dispatch("events", "events", "getEventClipUrl", "query", input)
|
|
2906
3338
|
};
|
|
3339
|
+
const fanControlInterface = {
|
|
3340
|
+
setPercentage: (input) => dispatch("fan-control", "fanControl", "setPercentage", "mutation", input),
|
|
3341
|
+
setPreset: (input) => dispatch("fan-control", "fanControl", "setPreset", "mutation", input),
|
|
3342
|
+
setDirection: (input) => dispatch("fan-control", "fanControl", "setDirection", "mutation", input),
|
|
3343
|
+
setOscillating: (input) => dispatch("fan-control", "fanControl", "setOscillating", "mutation", input),
|
|
3344
|
+
getStatus: (input) => dispatch("fan-control", "fanControl", "getStatus", "query", input)
|
|
3345
|
+
};
|
|
2907
3346
|
const featureProbeInterface = {
|
|
2908
3347
|
getStatus: (input) => dispatch("feature-probe", "featureProbe", "getStatus", "query", input)
|
|
2909
3348
|
};
|
|
3349
|
+
const floodInterface = {
|
|
3350
|
+
getStatus: (input) => dispatch("flood", "flood", "getStatus", "query", input)
|
|
3351
|
+
};
|
|
3352
|
+
const gasInterface = {
|
|
3353
|
+
getStatus: (input) => dispatch("gas", "gas", "getStatus", "query", input)
|
|
3354
|
+
};
|
|
3355
|
+
const humidifierInterface = {
|
|
3356
|
+
setOn: (input) => dispatch("humidifier", "humidifier", "setOn", "mutation", input),
|
|
3357
|
+
setTargetHumidity: (input) => dispatch("humidifier", "humidifier", "setTargetHumidity", "mutation", input),
|
|
3358
|
+
setMode: (input) => dispatch("humidifier", "humidifier", "setMode", "mutation", input),
|
|
3359
|
+
getStatus: (input) => dispatch("humidifier", "humidifier", "getStatus", "query", input)
|
|
3360
|
+
};
|
|
3361
|
+
const humiditySensorInterface = {
|
|
3362
|
+
getStatus: (input) => dispatch("humidity-sensor", "humiditySensor", "getStatus", "query", input)
|
|
3363
|
+
};
|
|
3364
|
+
const imageInterface = {
|
|
3365
|
+
getStatus: (input) => dispatch("image", "image", "getStatus", "query", input)
|
|
3366
|
+
};
|
|
2910
3367
|
const intercomInterface = {
|
|
2911
3368
|
startSession: (input) => dispatch("intercom", "intercom", "startSession", "mutation", input),
|
|
2912
3369
|
handleAnswer: (input) => dispatch("intercom", "intercom", "handleAnswer", "mutation", input),
|
|
2913
3370
|
stopSession: (input) => dispatch("intercom", "intercom", "stopSession", "mutation", input),
|
|
2914
3371
|
startTalkSession: (input) => dispatch("intercom", "intercom", "startTalkSession", "mutation", input),
|
|
2915
|
-
|
|
3372
|
+
pushTalkAudio: (input) => dispatch("intercom", "intercom", "pushTalkAudio", "mutation", input),
|
|
2916
3373
|
endTalkSession: (input) => dispatch("intercom", "intercom", "endTalkSession", "mutation", input),
|
|
2917
3374
|
getStatus: (input) => dispatch("intercom", "intercom", "getStatus", "query", input)
|
|
2918
3375
|
};
|
|
3376
|
+
const lawnMowerControlInterface = {
|
|
3377
|
+
startMowing: (input) => dispatch("lawn-mower-control", "lawnMowerControl", "startMowing", "mutation", input),
|
|
3378
|
+
pause: (input) => dispatch("lawn-mower-control", "lawnMowerControl", "pause", "mutation", input),
|
|
3379
|
+
dock: (input) => dispatch("lawn-mower-control", "lawnMowerControl", "dock", "mutation", input),
|
|
3380
|
+
getStatus: (input) => dispatch("lawn-mower-control", "lawnMowerControl", "getStatus", "query", input)
|
|
3381
|
+
};
|
|
3382
|
+
const lockControlInterface = {
|
|
3383
|
+
lock: (input) => dispatch("lock-control", "lockControl", "lock", "mutation", input),
|
|
3384
|
+
unlock: (input) => dispatch("lock-control", "lockControl", "unlock", "mutation", input),
|
|
3385
|
+
open: (input) => dispatch("lock-control", "lockControl", "open", "mutation", input),
|
|
3386
|
+
getStatus: (input) => dispatch("lock-control", "lockControl", "getStatus", "query", input)
|
|
3387
|
+
};
|
|
3388
|
+
const mediaPlayerInterface = {
|
|
3389
|
+
play: (input) => dispatch("media-player", "mediaPlayer", "play", "mutation", input),
|
|
3390
|
+
pause: (input) => dispatch("media-player", "mediaPlayer", "pause", "mutation", input),
|
|
3391
|
+
stop: (input) => dispatch("media-player", "mediaPlayer", "stop", "mutation", input),
|
|
3392
|
+
next: (input) => dispatch("media-player", "mediaPlayer", "next", "mutation", input),
|
|
3393
|
+
previous: (input) => dispatch("media-player", "mediaPlayer", "previous", "mutation", input),
|
|
3394
|
+
seek: (input) => dispatch("media-player", "mediaPlayer", "seek", "mutation", input),
|
|
3395
|
+
setVolume: (input) => dispatch("media-player", "mediaPlayer", "setVolume", "mutation", input),
|
|
3396
|
+
setMute: (input) => dispatch("media-player", "mediaPlayer", "setMute", "mutation", input),
|
|
3397
|
+
setShuffle: (input) => dispatch("media-player", "mediaPlayer", "setShuffle", "mutation", input),
|
|
3398
|
+
setRepeat: (input) => dispatch("media-player", "mediaPlayer", "setRepeat", "mutation", input),
|
|
3399
|
+
selectSource: (input) => dispatch("media-player", "mediaPlayer", "selectSource", "mutation", input),
|
|
3400
|
+
playMedia: (input) => dispatch("media-player", "mediaPlayer", "playMedia", "mutation", input),
|
|
3401
|
+
getStatus: (input) => dispatch("media-player", "mediaPlayer", "getStatus", "query", input)
|
|
3402
|
+
};
|
|
2919
3403
|
const motionInterface = {
|
|
2920
3404
|
isDetected: (input) => dispatch("motion", "motion", "isDetected", "query", input),
|
|
2921
3405
|
getStatus: (input) => dispatch("motion", "motion", "getStatus", "query", input)
|
|
@@ -2941,6 +3425,14 @@ function createDeviceProxy(api, binding, opts) {
|
|
|
2941
3425
|
setEnabled: (input) => dispatch("native-object-detection", "nativeObjectDetection", "setEnabled", "mutation", input),
|
|
2942
3426
|
getStatus: (input) => dispatch("native-object-detection", "nativeObjectDetection", "getStatus", "query", input)
|
|
2943
3427
|
};
|
|
3428
|
+
const notifierInterface = {
|
|
3429
|
+
send: (input) => dispatch("notifier", "notifier", "send", "mutation", input),
|
|
3430
|
+
cancel: (input) => dispatch("notifier", "notifier", "cancel", "mutation", input),
|
|
3431
|
+
getStatus: (input) => dispatch("notifier", "notifier", "getStatus", "query", input)
|
|
3432
|
+
};
|
|
3433
|
+
const numericSensorInterface = {
|
|
3434
|
+
getStatus: (input) => dispatch("numeric-sensor", "numericSensor", "getStatus", "query", input)
|
|
3435
|
+
};
|
|
2944
3436
|
const osdInterface = {
|
|
2945
3437
|
setOverlay: (input) => dispatch("osd", "osd", "setOverlay", "mutation", input),
|
|
2946
3438
|
getStatus: (input) => dispatch("osd", "osd", "getStatus", "query", input)
|
|
@@ -2953,12 +3445,23 @@ function createDeviceProxy(api, binding, opts) {
|
|
|
2953
3445
|
getMotionEvents: (input) => dispatch("pipeline-analytics", "pipelineAnalytics", "getMotionEvents", "query", input),
|
|
2954
3446
|
getObjectEvents: (input) => dispatch("pipeline-analytics", "pipelineAnalytics", "getObjectEvents", "query", input),
|
|
2955
3447
|
getAudioEvents: (input) => dispatch("pipeline-analytics", "pipelineAnalytics", "getAudioEvents", "query", input),
|
|
3448
|
+
getEventDensity: (input) => dispatch("pipeline-analytics", "pipelineAnalytics", "getEventDensity", "query", input),
|
|
3449
|
+
pruneEventsBefore: (input) => dispatch("pipeline-analytics", "pipelineAnalytics", "pruneEventsBefore", "mutation", input),
|
|
2956
3450
|
getEventMedia: (input) => dispatch("pipeline-analytics", "pipelineAnalytics", "getEventMedia", "query", input),
|
|
2957
3451
|
getTrackMedia: (input) => dispatch("pipeline-analytics", "pipelineAnalytics", "getTrackMedia", "query", input),
|
|
2958
3452
|
getDeviceSettingsContribution: (input) => dispatch("pipeline-analytics", "pipelineAnalytics", "getDeviceSettingsContribution", "query", input),
|
|
2959
3453
|
getDeviceLiveContribution: (input) => dispatch("pipeline-analytics", "pipelineAnalytics", "getDeviceLiveContribution", "query", input),
|
|
2960
3454
|
applyDeviceSettingsPatch: (input) => dispatch("pipeline-analytics", "pipelineAnalytics", "applyDeviceSettingsPatch", "mutation", input)
|
|
2961
3455
|
};
|
|
3456
|
+
const powerMeterInterface = {
|
|
3457
|
+
getStatus: (input) => dispatch("power-meter", "powerMeter", "getStatus", "query", input)
|
|
3458
|
+
};
|
|
3459
|
+
const presenceInterface = {
|
|
3460
|
+
getStatus: (input) => dispatch("presence", "presence", "getStatus", "query", input)
|
|
3461
|
+
};
|
|
3462
|
+
const pressureSensorInterface = {
|
|
3463
|
+
getStatus: (input) => dispatch("pressure-sensor", "pressureSensor", "getStatus", "query", input)
|
|
3464
|
+
};
|
|
2962
3465
|
const privacyMaskInterface = {
|
|
2963
3466
|
getOptions: (input) => dispatch("privacy-mask", "privacyMask", "getOptions", "query", input),
|
|
2964
3467
|
setMask: (input) => dispatch("privacy-mask", "privacyMask", "setMask", "mutation", input),
|
|
@@ -2987,10 +3490,13 @@ function createDeviceProxy(api, binding, opts) {
|
|
|
2987
3490
|
const rebootInterface = {
|
|
2988
3491
|
reboot: (input) => dispatch("reboot", "reboot", "reboot", "mutation", input)
|
|
2989
3492
|
};
|
|
2990
|
-
const
|
|
2991
|
-
|
|
2992
|
-
|
|
2993
|
-
|
|
3493
|
+
const scriptRunnerInterface = {
|
|
3494
|
+
run: (input) => dispatch("script-runner", "scriptRunner", "run", "mutation", input),
|
|
3495
|
+
stop: (input) => dispatch("script-runner", "scriptRunner", "stop", "mutation", input),
|
|
3496
|
+
getStatus: (input) => dispatch("script-runner", "scriptRunner", "getStatus", "query", input)
|
|
3497
|
+
};
|
|
3498
|
+
const smokeInterface = {
|
|
3499
|
+
getStatus: (input) => dispatch("smoke", "smoke", "getStatus", "query", input)
|
|
2994
3500
|
};
|
|
2995
3501
|
const snapshotInterface = {
|
|
2996
3502
|
getSnapshot: (input) => dispatch("snapshot", "snapshot", "getSnapshot", "query", input),
|
|
@@ -3013,6 +3519,44 @@ function createDeviceProxy(api, binding, opts) {
|
|
|
3013
3519
|
setState: (input) => dispatch("switch", "switch", "setState", "mutation", input),
|
|
3014
3520
|
getStatus: (input) => dispatch("switch", "switch", "getStatus", "query", input)
|
|
3015
3521
|
};
|
|
3522
|
+
const tamperInterface = {
|
|
3523
|
+
getStatus: (input) => dispatch("tamper", "tamper", "getStatus", "query", input)
|
|
3524
|
+
};
|
|
3525
|
+
const temperatureSensorInterface = {
|
|
3526
|
+
getStatus: (input) => dispatch("temperature-sensor", "temperatureSensor", "getStatus", "query", input)
|
|
3527
|
+
};
|
|
3528
|
+
const updateInterface = {
|
|
3529
|
+
installUpdate: (input) => dispatch("update", "update", "installUpdate", "mutation", input),
|
|
3530
|
+
getStatus: (input) => dispatch("update", "update", "getStatus", "query", input)
|
|
3531
|
+
};
|
|
3532
|
+
const vacuumControlInterface = {
|
|
3533
|
+
start: (input) => dispatch("vacuum-control", "vacuumControl", "start", "mutation", input),
|
|
3534
|
+
pause: (input) => dispatch("vacuum-control", "vacuumControl", "pause", "mutation", input),
|
|
3535
|
+
stop: (input) => dispatch("vacuum-control", "vacuumControl", "stop", "mutation", input),
|
|
3536
|
+
returnToBase: (input) => dispatch("vacuum-control", "vacuumControl", "returnToBase", "mutation", input),
|
|
3537
|
+
locate: (input) => dispatch("vacuum-control", "vacuumControl", "locate", "mutation", input),
|
|
3538
|
+
setFanSpeed: (input) => dispatch("vacuum-control", "vacuumControl", "setFanSpeed", "mutation", input),
|
|
3539
|
+
getStatus: (input) => dispatch("vacuum-control", "vacuumControl", "getStatus", "query", input)
|
|
3540
|
+
};
|
|
3541
|
+
const valveInterface = {
|
|
3542
|
+
open: (input) => dispatch("valve", "valve", "open", "mutation", input),
|
|
3543
|
+
close: (input) => dispatch("valve", "valve", "close", "mutation", input),
|
|
3544
|
+
stop: (input) => dispatch("valve", "valve", "stop", "mutation", input),
|
|
3545
|
+
setPosition: (input) => dispatch("valve", "valve", "setPosition", "mutation", input),
|
|
3546
|
+
getStatus: (input) => dispatch("valve", "valve", "getStatus", "query", input)
|
|
3547
|
+
};
|
|
3548
|
+
const vibrationInterface = {
|
|
3549
|
+
getStatus: (input) => dispatch("vibration", "vibration", "getStatus", "query", input)
|
|
3550
|
+
};
|
|
3551
|
+
const waterHeaterInterface = {
|
|
3552
|
+
setTargetTemp: (input) => dispatch("water-heater", "waterHeater", "setTargetTemp", "mutation", input),
|
|
3553
|
+
setOperationMode: (input) => dispatch("water-heater", "waterHeater", "setOperationMode", "mutation", input),
|
|
3554
|
+
setAway: (input) => dispatch("water-heater", "waterHeater", "setAway", "mutation", input),
|
|
3555
|
+
getStatus: (input) => dispatch("water-heater", "waterHeater", "getStatus", "query", input)
|
|
3556
|
+
};
|
|
3557
|
+
const weatherInterface = {
|
|
3558
|
+
getStatus: (input) => dispatch("weather", "weather", "getStatus", "query", input)
|
|
3559
|
+
};
|
|
3016
3560
|
const webrtcSessionInterface = {
|
|
3017
3561
|
listStreams: (input) => dispatch("webrtc-session", "webrtcSession", "listStreams", "query", input),
|
|
3018
3562
|
createSession: (input) => dispatch("webrtc-session", "webrtcSession", "createSession", "mutation", input),
|
|
@@ -3021,7 +3565,8 @@ function createDeviceProxy(api, binding, opts) {
|
|
|
3021
3565
|
addIceCandidate: (input) => dispatch("webrtc-session", "webrtcSession", "addIceCandidate", "mutation", input),
|
|
3022
3566
|
getIceCandidates: (input) => dispatch("webrtc-session", "webrtcSession", "getIceCandidates", "query", input),
|
|
3023
3567
|
closeSession: (input) => dispatch("webrtc-session", "webrtcSession", "closeSession", "mutation", input),
|
|
3024
|
-
hasAdaptiveBitrate: (input) => dispatch("webrtc-session", "webrtcSession", "hasAdaptiveBitrate", "query", input)
|
|
3568
|
+
hasAdaptiveBitrate: (input) => dispatch("webrtc-session", "webrtcSession", "hasAdaptiveBitrate", "query", input),
|
|
3569
|
+
getSessionState: (input) => dispatch("webrtc-session", "webrtcSession", "getSessionState", "query", input)
|
|
3025
3570
|
};
|
|
3026
3571
|
const zoneAnalyticsInterface = {
|
|
3027
3572
|
getCurrentSnapshot: (input) => dispatch("zone-analytics", "zoneAnalytics", "getCurrentSnapshot", "query", input),
|
|
@@ -3048,6 +3593,9 @@ function createDeviceProxy(api, binding, opts) {
|
|
|
3048
3593
|
getDeviceLiveContribution: (input) => dispatchSystem("cameraPipelineConfig", "getDeviceLiveContribution", "query", input),
|
|
3049
3594
|
applyDeviceSettingsPatch: (input) => dispatchSystem("cameraPipelineConfig", "applyDeviceSettingsPatch", "mutation", input)
|
|
3050
3595
|
};
|
|
3596
|
+
const deviceAdoptionInterface = {
|
|
3597
|
+
getStatus: (input) => dispatchSystem("deviceAdoption", "getStatus", "query", input)
|
|
3598
|
+
};
|
|
3051
3599
|
const deviceExportInterface = {
|
|
3052
3600
|
getDeviceSettingsContribution: (input) => dispatchSystem("deviceExport", "getDeviceSettingsContribution", "query", input),
|
|
3053
3601
|
getDeviceLiveContribution: (input) => dispatchSystem("deviceExport", "getDeviceLiveContribution", "query", input),
|
|
@@ -3059,6 +3607,15 @@ function createDeviceProxy(api, binding, opts) {
|
|
|
3059
3607
|
loadMeta: (input) => dispatchSystem("deviceManager", "loadMeta", "query", input),
|
|
3060
3608
|
setName: (input) => dispatchSystem("deviceManager", "setName", "mutation", input),
|
|
3061
3609
|
setLocation: (input) => dispatchSystem("deviceManager", "setLocation", "mutation", input),
|
|
3610
|
+
setType: (input) => dispatchSystem("deviceManager", "setType", "mutation", input),
|
|
3611
|
+
setIntegrationId: (input) => dispatchSystem("deviceManager", "setIntegrationId", "mutation", input),
|
|
3612
|
+
setLinkDeviceId: (input) => dispatchSystem("deviceManager", "setLinkDeviceId", "mutation", input),
|
|
3613
|
+
setPrimaryChildEntityId: (input) => dispatchSystem("deviceManager", "setPrimaryChildEntityId", "mutation", input),
|
|
3614
|
+
setChildLayout: (input) => dispatchSystem("deviceManager", "setChildLayout", "mutation", input),
|
|
3615
|
+
setDeviceLinks: (input) => dispatchSystem("deviceManager", "setDeviceLinks", "mutation", input),
|
|
3616
|
+
getWireableFields: (input) => dispatchSystem("deviceManager", "getWireableFields", "query", input),
|
|
3617
|
+
setRole: (input) => dispatchSystem("deviceManager", "setRole", "mutation", input),
|
|
3618
|
+
applyInitialMeta: (input) => dispatchSystem("deviceManager", "applyInitialMeta", "mutation", input),
|
|
3062
3619
|
setMetadata: (input) => dispatchSystem("deviceManager", "setMetadata", "mutation", input),
|
|
3063
3620
|
setDisabled: (input) => dispatchSystem("deviceManager", "setDisabled", "mutation", input),
|
|
3064
3621
|
getDevice: (input) => dispatchSystem("deviceManager", "getDevice", "query", input),
|
|
@@ -3078,6 +3635,7 @@ function createDeviceProxy(api, binding, opts) {
|
|
|
3078
3635
|
getDeviceSettingsAggregate: (input) => dispatchSystem("deviceManager", "getDeviceSettingsAggregate", "query", input),
|
|
3079
3636
|
getDeviceLiveInfoAggregate: (input) => dispatchSystem("deviceManager", "getDeviceLiveInfoAggregate", "query", input),
|
|
3080
3637
|
getDeviceAggregate: (input) => dispatchSystem("deviceManager", "getDeviceAggregate", "query", input),
|
|
3638
|
+
runDeviceAction: (input) => dispatchSystem("deviceManager", "runDeviceAction", "mutation", input),
|
|
3081
3639
|
updateDeviceField: (input) => dispatchSystem("deviceManager", "updateDeviceField", "mutation", input),
|
|
3082
3640
|
updateDeviceFieldsBatch: (input) => dispatchSystem("deviceManager", "updateDeviceFieldsBatch", "mutation", input),
|
|
3083
3641
|
testField: (input) => dispatchSystem("deviceManager", "testField", "mutation", input),
|
|
@@ -3122,8 +3680,17 @@ function createDeviceProxy(api, binding, opts) {
|
|
|
3122
3680
|
detachCamera: (input) => dispatchSystem("pipelineRunner", "detachCamera", "mutation", input),
|
|
3123
3681
|
getCameraMetrics: (input) => dispatchSystem("pipelineRunner", "getCameraMetrics", "query", input)
|
|
3124
3682
|
};
|
|
3125
|
-
const
|
|
3126
|
-
|
|
3683
|
+
const recordingInterface = {
|
|
3684
|
+
getAvailability: (input) => dispatchSystem("recording", "getAvailability", "query", input),
|
|
3685
|
+
getPlaybackManifest: (input) => dispatchSystem("recording", "getPlaybackManifest", "query", input),
|
|
3686
|
+
getDeviceConfig: (input) => dispatchSystem("recording", "getDeviceConfig", "query", input),
|
|
3687
|
+
setDeviceConfig: (input) => dispatchSystem("recording", "setDeviceConfig", "mutation", input),
|
|
3688
|
+
rescanStorage: (input) => dispatchSystem("recording", "rescanStorage", "mutation", input),
|
|
3689
|
+
pruneFootage: (input) => dispatchSystem("recording", "pruneFootage", "mutation", input),
|
|
3690
|
+
getStatus: (input) => dispatchSystem("recording", "getStatus", "query", input),
|
|
3691
|
+
getDeviceSettingsContribution: (input) => dispatchSystem("recording", "getDeviceSettingsContribution", "query", input),
|
|
3692
|
+
getDeviceLiveContribution: (input) => dispatchSystem("recording", "getDeviceLiveContribution", "query", input),
|
|
3693
|
+
applyDeviceSettingsPatch: (input) => dispatchSystem("recording", "applyDeviceSettingsPatch", "mutation", input)
|
|
3127
3694
|
};
|
|
3128
3695
|
const snapshotProviderInterface = {
|
|
3129
3696
|
supportsDevice: (input) => dispatchSystem("snapshotProvider", "supportsDevice", "query", input),
|
|
@@ -3143,63 +3710,142 @@ function createDeviceProxy(api, binding, opts) {
|
|
|
3143
3710
|
deviceId: binding.deviceId,
|
|
3144
3711
|
binding,
|
|
3145
3712
|
state: {
|
|
3713
|
+
airQualitySensor: createSliceHandle(stateSource, binding.deviceId, "air-quality-sensor"),
|
|
3714
|
+
alarmPanel: createSliceHandle(stateSource, binding.deviceId, "alarm-panel"),
|
|
3715
|
+
ambientLightSensor: createSliceHandle(stateSource, binding.deviceId, "ambient-light-sensor"),
|
|
3146
3716
|
audioMetrics: createSliceHandle(stateSource, binding.deviceId, "audio-metrics"),
|
|
3717
|
+
automationControl: createSliceHandle(stateSource, binding.deviceId, "automation-control"),
|
|
3147
3718
|
battery: createSliceHandle(stateSource, binding.deviceId, "battery"),
|
|
3719
|
+
binary: createSliceHandle(stateSource, binding.deviceId, "binary"),
|
|
3148
3720
|
brightness: createSliceHandle(stateSource, binding.deviceId, "brightness"),
|
|
3149
3721
|
cameraStreams: createSliceHandle(stateSource, binding.deviceId, "camera-streams"),
|
|
3722
|
+
carbonMonoxide: createSliceHandle(stateSource, binding.deviceId, "carbon-monoxide"),
|
|
3723
|
+
climateControl: createSliceHandle(stateSource, binding.deviceId, "climate-control"),
|
|
3724
|
+
color: createSliceHandle(stateSource, binding.deviceId, "color"),
|
|
3725
|
+
connectivity: createSliceHandle(stateSource, binding.deviceId, "connectivity"),
|
|
3726
|
+
consumables: createSliceHandle(stateSource, binding.deviceId, "consumables"),
|
|
3727
|
+
contact: createSliceHandle(stateSource, binding.deviceId, "contact"),
|
|
3728
|
+
control: createSliceHandle(stateSource, binding.deviceId, "control"),
|
|
3729
|
+
cover: createSliceHandle(stateSource, binding.deviceId, "cover"),
|
|
3150
3730
|
deviceDiscovery: createSliceHandle(stateSource, binding.deviceId, "device-discovery"),
|
|
3151
3731
|
deviceStatus: createSliceHandle(stateSource, binding.deviceId, "device-status"),
|
|
3152
3732
|
doorbell: createSliceHandle(stateSource, binding.deviceId, "doorbell"),
|
|
3733
|
+
enumSensor: createSliceHandle(stateSource, binding.deviceId, "enum-sensor"),
|
|
3734
|
+
eventEmitter: createSliceHandle(stateSource, binding.deviceId, "event-emitter"),
|
|
3735
|
+
fanControl: createSliceHandle(stateSource, binding.deviceId, "fan-control"),
|
|
3153
3736
|
featureProbe: createSliceHandle(stateSource, binding.deviceId, "feature-probe"),
|
|
3737
|
+
flood: createSliceHandle(stateSource, binding.deviceId, "flood"),
|
|
3738
|
+
gas: createSliceHandle(stateSource, binding.deviceId, "gas"),
|
|
3739
|
+
humidifier: createSliceHandle(stateSource, binding.deviceId, "humidifier"),
|
|
3740
|
+
humiditySensor: createSliceHandle(stateSource, binding.deviceId, "humidity-sensor"),
|
|
3741
|
+
image: createSliceHandle(stateSource, binding.deviceId, "image"),
|
|
3742
|
+
lawnMowerControl: createSliceHandle(stateSource, binding.deviceId, "lawn-mower-control"),
|
|
3743
|
+
lockControl: createSliceHandle(stateSource, binding.deviceId, "lock-control"),
|
|
3744
|
+
mediaPlayer: createSliceHandle(stateSource, binding.deviceId, "media-player"),
|
|
3154
3745
|
motion: createSliceHandle(stateSource, binding.deviceId, "motion"),
|
|
3155
3746
|
motionTrigger: createSliceHandle(stateSource, binding.deviceId, "motion-trigger"),
|
|
3156
3747
|
motionZones: createSliceHandle(stateSource, binding.deviceId, "motion-zones"),
|
|
3157
3748
|
nativeObjectDetection: createSliceHandle(stateSource, binding.deviceId, "native-object-detection"),
|
|
3749
|
+
notifier: createSliceHandle(stateSource, binding.deviceId, "notifier"),
|
|
3750
|
+
numericSensor: createSliceHandle(stateSource, binding.deviceId, "numeric-sensor"),
|
|
3751
|
+
powerMeter: createSliceHandle(stateSource, binding.deviceId, "power-meter"),
|
|
3752
|
+
presence: createSliceHandle(stateSource, binding.deviceId, "presence"),
|
|
3753
|
+
pressureSensor: createSliceHandle(stateSource, binding.deviceId, "pressure-sensor"),
|
|
3158
3754
|
privacyMask: createSliceHandle(stateSource, binding.deviceId, "privacy-mask"),
|
|
3159
3755
|
ptzAutotrack: createSliceHandle(stateSource, binding.deviceId, "ptz-autotrack"),
|
|
3756
|
+
scriptRunner: createSliceHandle(stateSource, binding.deviceId, "script-runner"),
|
|
3757
|
+
smoke: createSliceHandle(stateSource, binding.deviceId, "smoke"),
|
|
3160
3758
|
streamParams: createSliceHandle(stateSource, binding.deviceId, "stream-params"),
|
|
3161
3759
|
switch: createSliceHandle(stateSource, binding.deviceId, "switch"),
|
|
3760
|
+
tamper: createSliceHandle(stateSource, binding.deviceId, "tamper"),
|
|
3761
|
+
temperatureSensor: createSliceHandle(stateSource, binding.deviceId, "temperature-sensor"),
|
|
3762
|
+
update: createSliceHandle(stateSource, binding.deviceId, "update"),
|
|
3763
|
+
vacuumControl: createSliceHandle(stateSource, binding.deviceId, "vacuum-control"),
|
|
3764
|
+
valve: createSliceHandle(stateSource, binding.deviceId, "valve"),
|
|
3765
|
+
vibration: createSliceHandle(stateSource, binding.deviceId, "vibration"),
|
|
3766
|
+
waterHeater: createSliceHandle(stateSource, binding.deviceId, "water-heater"),
|
|
3767
|
+
weather: createSliceHandle(stateSource, binding.deviceId, "weather"),
|
|
3162
3768
|
zoneAnalytics: createSliceHandle(stateSource, binding.deviceId, "zone-analytics"),
|
|
3163
3769
|
zoneRules: createSliceHandle(stateSource, binding.deviceId, "zone-rules"),
|
|
3164
3770
|
zones: createSliceHandle(stateSource, binding.deviceId, "zones")
|
|
3165
3771
|
},
|
|
3166
3772
|
accessories: accessoriesInterface,
|
|
3773
|
+
airQualitySensor: airQualitySensorInterface,
|
|
3774
|
+
alarmPanel: alarmPanelInterface,
|
|
3775
|
+
ambientLightSensor: ambientLightSensorInterface,
|
|
3167
3776
|
audioAnalysis: audioAnalysisInterface,
|
|
3168
3777
|
audioMetrics: audioMetricsInterface,
|
|
3778
|
+
automationControl: automationControlInterface,
|
|
3169
3779
|
battery: batteryInterface,
|
|
3780
|
+
binary: binaryInterface,
|
|
3170
3781
|
brightness: brightnessInterface,
|
|
3782
|
+
button: buttonInterface,
|
|
3171
3783
|
cameraCredentials: cameraCredentialsInterface,
|
|
3172
3784
|
cameraStreams: cameraStreamsInterface,
|
|
3785
|
+
carbonMonoxide: carbonMonoxideInterface,
|
|
3786
|
+
climateControl: climateControlInterface,
|
|
3787
|
+
color: colorInterface,
|
|
3788
|
+
connectivity: connectivityInterface,
|
|
3789
|
+
consumables: consumablesInterface,
|
|
3790
|
+
contact: contactInterface,
|
|
3791
|
+
control: controlInterface,
|
|
3792
|
+
cover: coverInterface,
|
|
3173
3793
|
detectionPipeline: detectionPipelineInterface,
|
|
3174
3794
|
deviceDiscovery: deviceDiscoveryInterface,
|
|
3175
3795
|
deviceOps: deviceOpsInterface,
|
|
3176
3796
|
deviceStatus: deviceStatusInterface,
|
|
3177
3797
|
doorbell: doorbellInterface,
|
|
3798
|
+
enumSensor: enumSensorInterface,
|
|
3799
|
+
eventEmitter: eventEmitterInterface,
|
|
3178
3800
|
events: eventsInterface,
|
|
3801
|
+
fanControl: fanControlInterface,
|
|
3179
3802
|
featureProbe: featureProbeInterface,
|
|
3803
|
+
flood: floodInterface,
|
|
3804
|
+
gas: gasInterface,
|
|
3805
|
+
humidifier: humidifierInterface,
|
|
3806
|
+
humiditySensor: humiditySensorInterface,
|
|
3807
|
+
image: imageInterface,
|
|
3180
3808
|
intercom: intercomInterface,
|
|
3809
|
+
lawnMowerControl: lawnMowerControlInterface,
|
|
3810
|
+
lockControl: lockControlInterface,
|
|
3811
|
+
mediaPlayer: mediaPlayerInterface,
|
|
3181
3812
|
motion: motionInterface,
|
|
3182
3813
|
motionDetection: motionDetectionInterface,
|
|
3183
3814
|
motionTrigger: motionTriggerInterface,
|
|
3184
3815
|
motionZones: motionZonesInterface,
|
|
3185
3816
|
nativeObjectDetection: nativeObjectDetectionInterface,
|
|
3817
|
+
notifier: notifierInterface,
|
|
3818
|
+
numericSensor: numericSensorInterface,
|
|
3186
3819
|
osd: osdInterface,
|
|
3187
3820
|
pipelineAnalytics: pipelineAnalyticsInterface,
|
|
3821
|
+
powerMeter: powerMeterInterface,
|
|
3822
|
+
presence: presenceInterface,
|
|
3823
|
+
pressureSensor: pressureSensorInterface,
|
|
3188
3824
|
privacyMask: privacyMaskInterface,
|
|
3189
3825
|
ptz: ptzInterface,
|
|
3190
3826
|
ptzAutotrack: ptzAutotrackInterface,
|
|
3191
3827
|
reboot: rebootInterface,
|
|
3192
|
-
|
|
3828
|
+
scriptRunner: scriptRunnerInterface,
|
|
3829
|
+
smoke: smokeInterface,
|
|
3193
3830
|
snapshot: snapshotInterface,
|
|
3194
3831
|
streamCatalog: streamCatalogInterface,
|
|
3195
3832
|
streamParams: streamParamsInterface,
|
|
3196
3833
|
switch: switchInterface,
|
|
3834
|
+
tamper: tamperInterface,
|
|
3835
|
+
temperatureSensor: temperatureSensorInterface,
|
|
3836
|
+
update: updateInterface,
|
|
3837
|
+
vacuumControl: vacuumControlInterface,
|
|
3838
|
+
valve: valveInterface,
|
|
3839
|
+
vibration: vibrationInterface,
|
|
3840
|
+
waterHeater: waterHeaterInterface,
|
|
3841
|
+
weather: weatherInterface,
|
|
3197
3842
|
webrtcSession: webrtcSessionInterface,
|
|
3198
3843
|
zoneAnalytics: zoneAnalyticsInterface,
|
|
3199
3844
|
zoneRules: zoneRulesInterface,
|
|
3200
3845
|
zones: zonesInterface,
|
|
3201
3846
|
addonSettings: addonSettingsInterface,
|
|
3202
3847
|
cameraPipelineConfig: cameraPipelineConfigInterface,
|
|
3848
|
+
deviceAdoption: deviceAdoptionInterface,
|
|
3203
3849
|
deviceExport: deviceExportInterface,
|
|
3204
3850
|
deviceManager: deviceManagerInterface,
|
|
3205
3851
|
deviceState: deviceStateInterface,
|
|
@@ -3207,7 +3853,7 @@ function createDeviceProxy(api, binding, opts) {
|
|
|
3207
3853
|
pipelineExecutor: pipelineExecutorInterface,
|
|
3208
3854
|
pipelineOrchestrator: pipelineOrchestratorInterface,
|
|
3209
3855
|
pipelineRunner: pipelineRunnerInterface,
|
|
3210
|
-
|
|
3856
|
+
recording: recordingInterface,
|
|
3211
3857
|
snapshotProvider: snapshotProviderInterface,
|
|
3212
3858
|
streamBroker: streamBrokerInterface
|
|
3213
3859
|
};
|
|
@@ -3358,6 +4004,24 @@ function createSystemProxy(api) {
|
|
|
3358
4004
|
upsertDestinationPolicy: (input) => dispatch("backup", "upsertDestinationPolicy", "mutation", input),
|
|
3359
4005
|
previewSchedule: (input) => dispatch("backup", "previewSchedule", "query", input)
|
|
3360
4006
|
};
|
|
4007
|
+
const brokerInterface = {
|
|
4008
|
+
list: (input) => dispatch("broker", "list", "query", input),
|
|
4009
|
+
get: (input) => dispatch("broker", "get", "query", input),
|
|
4010
|
+
listProviders: (input) => dispatch("broker", "listProviders", "query", input),
|
|
4011
|
+
add: (input) => dispatch("broker", "add", "mutation", input),
|
|
4012
|
+
remove: (input) => dispatch("broker", "remove", "mutation", input),
|
|
4013
|
+
testConnection: (input) => dispatch("broker", "testConnection", "mutation", input),
|
|
4014
|
+
getSettings: (input) => dispatch("broker", "getSettings", "query", input),
|
|
4015
|
+
setSettings: (input) => dispatch("broker", "setSettings", "mutation", input),
|
|
4016
|
+
getBrokerConfig: (input) => dispatch("broker", "getBrokerConfig", "query", input),
|
|
4017
|
+
getSettingsSchema: (input) => dispatch("broker", "getSettingsSchema", "query", input),
|
|
4018
|
+
testSettings: (input) => dispatch("broker", "testSettings", "mutation", input),
|
|
4019
|
+
publish: (input) => dispatch("broker", "publish", "mutation", input),
|
|
4020
|
+
subscribe: (input) => dispatch("broker", "subscribe", "mutation", input),
|
|
4021
|
+
unsubscribe: (input) => dispatch("broker", "unsubscribe", "mutation", input),
|
|
4022
|
+
getState: (input) => dispatch("broker", "getState", "query", input),
|
|
4023
|
+
getStatus: (input) => dispatch("broker", "getStatus", "query", input)
|
|
4024
|
+
};
|
|
3361
4025
|
const decoderInterface = {
|
|
3362
4026
|
supportsCodec: (input) => dispatch("decoder", "supportsCodec", "query", input),
|
|
3363
4027
|
getInfo: (input) => dispatch("decoder", "getInfo", "query", input),
|
|
@@ -3374,6 +4038,15 @@ function createSystemProxy(api) {
|
|
|
3374
4038
|
listActiveSessions: (input) => dispatch("decoder", "listActiveSessions", "query", input),
|
|
3375
4039
|
reprobeHwaccel: (input) => dispatch("decoder", "reprobeHwaccel", "mutation", input)
|
|
3376
4040
|
};
|
|
4041
|
+
const deviceAdoptionInterface = {
|
|
4042
|
+
listCandidateFilters: (input) => dispatch("deviceAdoption", "listCandidateFilters", "query", input),
|
|
4043
|
+
listCandidates: (input) => dispatch("deviceAdoption", "listCandidates", "query", input),
|
|
4044
|
+
getCandidate: (input) => dispatch("deviceAdoption", "getCandidate", "query", input),
|
|
4045
|
+
refresh: (input) => dispatch("deviceAdoption", "refresh", "mutation", input),
|
|
4046
|
+
adopt: (input) => dispatch("deviceAdoption", "adopt", "mutation", input),
|
|
4047
|
+
release: (input) => dispatch("deviceAdoption", "release", "mutation", input),
|
|
4048
|
+
resync: (input) => dispatch("deviceAdoption", "resync", "mutation", input)
|
|
4049
|
+
};
|
|
3377
4050
|
const deviceExportInterface = {
|
|
3378
4051
|
getStatus: (input) => dispatch("deviceExport", "getStatus", "query", input),
|
|
3379
4052
|
listSupportedDeviceKinds: (input) => dispatch("deviceExport", "listSupportedDeviceKinds", "query", input),
|
|
@@ -3392,13 +4065,18 @@ function createSystemProxy(api) {
|
|
|
3392
4065
|
listPersistedByAddon: (input) => dispatch("deviceManager", "listPersistedByAddon", "query", input),
|
|
3393
4066
|
listAll: (input) => dispatch("deviceManager", "listAll", "query", input),
|
|
3394
4067
|
getChildren: (input) => dispatch("deviceManager", "getChildren", "query", input),
|
|
4068
|
+
removeByIntegration: (input) => dispatch("deviceManager", "removeByIntegration", "mutation", input),
|
|
3395
4069
|
listWrappersForCap: (input) => dispatch("deviceManager", "listWrappersForCap", "query", input),
|
|
3396
4070
|
listBindableCapsForDeviceType: (input) => dispatch("deviceManager", "listBindableCapsForDeviceType", "query", input),
|
|
3397
4071
|
discoverDevices: (input) => dispatch("deviceManager", "discoverDevices", "mutation", input),
|
|
3398
4072
|
adoptDevice: (input) => dispatch("deviceManager", "adoptDevice", "mutation", input),
|
|
3399
4073
|
getCreationSchema: (input) => dispatch("deviceManager", "getCreationSchema", "query", input),
|
|
3400
4074
|
createDevice: (input) => dispatch("deviceManager", "createDevice", "mutation", input),
|
|
3401
|
-
testCreationField: (input) => dispatch("deviceManager", "testCreationField", "mutation", input)
|
|
4075
|
+
testCreationField: (input) => dispatch("deviceManager", "testCreationField", "mutation", input),
|
|
4076
|
+
adoptionListCandidates: (input) => dispatch("deviceManager", "adoptionListCandidates", "query", input),
|
|
4077
|
+
adoptionRefresh: (input) => dispatch("deviceManager", "adoptionRefresh", "mutation", input),
|
|
4078
|
+
adoptionAdopt: (input) => dispatch("deviceManager", "adoptionAdopt", "mutation", input),
|
|
4079
|
+
adoptionRelease: (input) => dispatch("deviceManager", "adoptionRelease", "mutation", input)
|
|
3402
4080
|
};
|
|
3403
4081
|
const deviceProviderInterface = {
|
|
3404
4082
|
start: (input) => dispatch("deviceProvider", "start", "mutation", input),
|
|
@@ -3558,32 +4236,8 @@ function createSystemProxy(api) {
|
|
|
3558
4236
|
getAllCameraMetrics: (input) => dispatch("pipelineRunner", "getAllCameraMetrics", "query", input),
|
|
3559
4237
|
getLocalCameras: (input) => dispatch("pipelineRunner", "getLocalCameras", "query", input)
|
|
3560
4238
|
};
|
|
3561
|
-
const
|
|
3562
|
-
|
|
3563
|
-
getHardware: (input) => dispatch("platformProbe", "getHardware", "query", input),
|
|
3564
|
-
resolveInferenceConfig: (input) => dispatch("platformProbe", "resolveInferenceConfig", "query", input),
|
|
3565
|
-
resolveHwAccel: (input) => dispatch("platformProbe", "resolveHwAccel", "query", input),
|
|
3566
|
-
getHardwareEncoders: (input) => dispatch("platformProbe", "getHardwareEncoders", "query", input),
|
|
3567
|
-
refreshHardwareEncoders: (input) => dispatch("platformProbe", "refreshHardwareEncoders", "mutation", input)
|
|
3568
|
-
};
|
|
3569
|
-
const recordingEngineInterface = {
|
|
3570
|
-
getStatus: (input) => dispatch("recordingEngine", "getStatus", "query", input),
|
|
3571
|
-
enable: (input) => dispatch("recordingEngine", "enable", "mutation", input),
|
|
3572
|
-
disable: (input) => dispatch("recordingEngine", "disable", "mutation", input),
|
|
3573
|
-
getConfig: (input) => dispatch("recordingEngine", "getConfig", "query", input),
|
|
3574
|
-
updateConfig: (input) => dispatch("recordingEngine", "updateConfig", "mutation", input),
|
|
3575
|
-
getPlaylist: (input) => dispatch("recordingEngine", "getPlaylist", "query", input),
|
|
3576
|
-
getThumbnail: (input) => dispatch("recordingEngine", "getThumbnail", "query", input),
|
|
3577
|
-
getSegments: (input) => dispatch("recordingEngine", "getSegments", "query", input),
|
|
3578
|
-
getAvailability: (input) => dispatch("recordingEngine", "getAvailability", "query", input),
|
|
3579
|
-
estimateStorage: (input) => dispatch("recordingEngine", "estimateStorage", "query", input),
|
|
3580
|
-
estimateGlobalStorage: (input) => dispatch("recordingEngine", "estimateGlobalStorage", "query", input),
|
|
3581
|
-
getStorageUsage: (input) => dispatch("recordingEngine", "getStorageUsage", "query", input),
|
|
3582
|
-
setPolicy: (input) => dispatch("recordingEngine", "setPolicy", "mutation", input),
|
|
3583
|
-
getPolicy: (input) => dispatch("recordingEngine", "getPolicy", "query", input),
|
|
3584
|
-
getRetentionConfig: (input) => dispatch("recordingEngine", "getRetentionConfig", "query", input),
|
|
3585
|
-
updateRetentionConfig: (input) => dispatch("recordingEngine", "updateRetentionConfig", "mutation", input),
|
|
3586
|
-
getMotionStats: (input) => dispatch("recordingEngine", "getMotionStats", "query", input)
|
|
4239
|
+
const recordingInterface = {
|
|
4240
|
+
getStorageUsage: (input) => dispatch("recording", "getStorageUsage", "query", input)
|
|
3587
4241
|
};
|
|
3588
4242
|
const settingsStoreInterface = {
|
|
3589
4243
|
get: (input) => dispatch("settingsStore", "get", "query", input),
|
|
@@ -3593,6 +4247,7 @@ function createSystemProxy(api) {
|
|
|
3593
4247
|
update: (input) => dispatch("settingsStore", "update", "mutation", input),
|
|
3594
4248
|
delete: (input) => dispatch("settingsStore", "delete", "mutation", input),
|
|
3595
4249
|
count: (input) => dispatch("settingsStore", "count", "query", input),
|
|
4250
|
+
histogram: (input) => dispatch("settingsStore", "histogram", "query", input),
|
|
3596
4251
|
isEmpty: (input) => dispatch("settingsStore", "isEmpty", "query", input),
|
|
3597
4252
|
declareCollection: (input) => dispatch("settingsStore", "declareCollection", "mutation", input)
|
|
3598
4253
|
};
|
|
@@ -3613,6 +4268,7 @@ function createSystemProxy(api) {
|
|
|
3613
4268
|
endDownload: (input) => dispatch("storage", "endDownload", "mutation", input),
|
|
3614
4269
|
listLocations: (input) => dispatch("storage", "listLocations", "query", input),
|
|
3615
4270
|
getDefaultLocation: (input) => dispatch("storage", "getDefaultLocation", "query", input),
|
|
4271
|
+
listLocationDeclarations: (input) => dispatch("storage", "listLocationDeclarations", "query", input),
|
|
3616
4272
|
upsertLocation: (input) => dispatch("storage", "upsertLocation", "mutation", input),
|
|
3617
4273
|
deleteLocation: (input) => dispatch("storage", "deleteLocation", "mutation", input),
|
|
3618
4274
|
testLocation: (input) => dispatch("storage", "testLocation", "query", input),
|
|
@@ -3695,7 +4351,9 @@ function createSystemProxy(api) {
|
|
|
3695
4351
|
audioAnalyzer: audioAnalyzerInterface,
|
|
3696
4352
|
audioCodec: audioCodecInterface,
|
|
3697
4353
|
backup: backupInterface,
|
|
4354
|
+
broker: brokerInterface,
|
|
3698
4355
|
decoder: decoderInterface,
|
|
4356
|
+
deviceAdoption: deviceAdoptionInterface,
|
|
3699
4357
|
deviceExport: deviceExportInterface,
|
|
3700
4358
|
deviceManager: deviceManagerInterface,
|
|
3701
4359
|
deviceProvider: deviceProviderInterface,
|
|
@@ -3712,8 +4370,7 @@ function createSystemProxy(api) {
|
|
|
3712
4370
|
pipelineExecutor: pipelineExecutorInterface,
|
|
3713
4371
|
pipelineOrchestrator: pipelineOrchestratorInterface,
|
|
3714
4372
|
pipelineRunner: pipelineRunnerInterface,
|
|
3715
|
-
|
|
3716
|
-
recordingEngine: recordingEngineInterface,
|
|
4373
|
+
recording: recordingInterface,
|
|
3717
4374
|
settingsStore: settingsStoreInterface,
|
|
3718
4375
|
storage: storageInterface,
|
|
3719
4376
|
streamBroker: streamBrokerInterface,
|
|
@@ -4475,6 +5132,15 @@ function customAction(input, output, options) {
|
|
|
4475
5132
|
scope: options?.scope ?? { kind: "system" }
|
|
4476
5133
|
};
|
|
4477
5134
|
}
|
|
5135
|
+
function deviceCustomAction(input, output, options) {
|
|
5136
|
+
return {
|
|
5137
|
+
input,
|
|
5138
|
+
output,
|
|
5139
|
+
kind: options?.kind ?? "query",
|
|
5140
|
+
auth: options?.auth ?? "protected",
|
|
5141
|
+
scope: { kind: "device", ...options?.deviceTypes ? { deviceTypes: options.deviceTypes } : {} }
|
|
5142
|
+
};
|
|
5143
|
+
}
|
|
4478
5144
|
const STREAM_PROFILE_META = [
|
|
4479
5145
|
{ profile: "main", prefix: "streamMain", label: "Main stream" },
|
|
4480
5146
|
{ profile: "sub", prefix: "streamSub", label: "Sub stream" },
|
|
@@ -4685,20 +5351,36 @@ const CAPABILITY_NAMES = {
|
|
|
4685
5351
|
addons: "addons",
|
|
4686
5352
|
adminUi: "admin-ui",
|
|
4687
5353
|
advancedNotifier: "advanced-notifier",
|
|
5354
|
+
airQualitySensor: "air-quality-sensor",
|
|
5355
|
+
alarmPanel: "alarm-panel",
|
|
4688
5356
|
alerts: "alerts",
|
|
5357
|
+
ambientLightSensor: "ambient-light-sensor",
|
|
4689
5358
|
audioAnalysis: "audio-analysis",
|
|
4690
5359
|
audioAnalyzer: "audio-analyzer",
|
|
4691
5360
|
audioCodec: "audio-codec",
|
|
4692
5361
|
audioMetrics: "audio-metrics",
|
|
4693
5362
|
authProvider: "auth-provider",
|
|
5363
|
+
automationControl: "automation-control",
|
|
4694
5364
|
backup: "backup",
|
|
4695
5365
|
battery: "battery",
|
|
5366
|
+
binary: "binary",
|
|
4696
5367
|
brightness: "brightness",
|
|
5368
|
+
broker: "broker",
|
|
5369
|
+
button: "button",
|
|
4697
5370
|
cameraCredentials: "camera-credentials",
|
|
4698
5371
|
cameraPipelineConfig: "camera-pipeline-config",
|
|
4699
5372
|
cameraStreams: "camera-streams",
|
|
5373
|
+
carbonMonoxide: "carbon-monoxide",
|
|
5374
|
+
climateControl: "climate-control",
|
|
5375
|
+
color: "color",
|
|
5376
|
+
connectivity: "connectivity",
|
|
5377
|
+
consumables: "consumables",
|
|
5378
|
+
contact: "contact",
|
|
5379
|
+
control: "control",
|
|
5380
|
+
cover: "cover",
|
|
4700
5381
|
decoder: "decoder",
|
|
4701
5382
|
detectionPipeline: "detection-pipeline",
|
|
5383
|
+
deviceAdoption: "device-adoption",
|
|
4702
5384
|
deviceDiscovery: "device-discovery",
|
|
4703
5385
|
deviceExport: "device-export",
|
|
4704
5386
|
deviceManager: "device-manager",
|
|
@@ -4708,12 +5390,23 @@ const CAPABILITY_NAMES = {
|
|
|
4708
5390
|
deviceStatus: "device-status",
|
|
4709
5391
|
doorbell: "doorbell",
|
|
4710
5392
|
embeddingEncoder: "embedding-encoder",
|
|
5393
|
+
enumSensor: "enum-sensor",
|
|
5394
|
+
eventEmitter: "event-emitter",
|
|
4711
5395
|
events: "events",
|
|
5396
|
+
fanControl: "fan-control",
|
|
4712
5397
|
featureProbe: "feature-probe",
|
|
5398
|
+
flood: "flood",
|
|
5399
|
+
gas: "gas",
|
|
5400
|
+
humidifier: "humidifier",
|
|
5401
|
+
humiditySensor: "humidity-sensor",
|
|
5402
|
+
image: "image",
|
|
4713
5403
|
integrations: "integrations",
|
|
4714
5404
|
intercom: "intercom",
|
|
5405
|
+
lawnMowerControl: "lawn-mower-control",
|
|
4715
5406
|
localNetwork: "local-network",
|
|
5407
|
+
lockControl: "lock-control",
|
|
4716
5408
|
logDestination: "log-destination",
|
|
5409
|
+
mediaPlayer: "media-player",
|
|
4717
5410
|
meshNetwork: "mesh-network",
|
|
4718
5411
|
metricsProvider: "metrics-provider",
|
|
4719
5412
|
motion: "motion",
|
|
@@ -4726,6 +5419,8 @@ const CAPABILITY_NAMES = {
|
|
|
4726
5419
|
networkQuality: "network-quality",
|
|
4727
5420
|
nodes: "nodes",
|
|
4728
5421
|
notificationOutput: "notification-output",
|
|
5422
|
+
notifier: "notifier",
|
|
5423
|
+
numericSensor: "numeric-sensor",
|
|
4729
5424
|
oauthIntegration: "oauth-integration",
|
|
4730
5425
|
osd: "osd",
|
|
4731
5426
|
pipelineAnalytics: "pipeline-analytics",
|
|
@@ -4733,19 +5428,24 @@ const CAPABILITY_NAMES = {
|
|
|
4733
5428
|
pipelineOrchestrator: "pipeline-orchestrator",
|
|
4734
5429
|
pipelineRunner: "pipeline-runner",
|
|
4735
5430
|
platformProbe: "platform-probe",
|
|
5431
|
+
powerMeter: "power-meter",
|
|
5432
|
+
presence: "presence",
|
|
5433
|
+
pressureSensor: "pressure-sensor",
|
|
4736
5434
|
privacyMask: "privacy-mask",
|
|
4737
5435
|
ptz: "ptz",
|
|
4738
5436
|
ptzAutotrack: "ptz-autotrack",
|
|
4739
5437
|
reboot: "reboot",
|
|
4740
5438
|
recording: "recording",
|
|
4741
|
-
recordingEngine: "recording-engine",
|
|
4742
5439
|
restreamer: "restreamer",
|
|
5440
|
+
scriptRunner: "script-runner",
|
|
4743
5441
|
settingsStore: "settings-store",
|
|
5442
|
+
smoke: "smoke",
|
|
4744
5443
|
smtpProvider: "smtp-provider",
|
|
4745
5444
|
snapshot: "snapshot",
|
|
4746
5445
|
snapshotProvider: "snapshot-provider",
|
|
4747
5446
|
ssoBridge: "sso-bridge",
|
|
4748
5447
|
storage: "storage",
|
|
5448
|
+
storageEvictable: "storage-evictable",
|
|
4749
5449
|
storageProvider: "storage-provider",
|
|
4750
5450
|
streamBroker: "stream-broker",
|
|
4751
5451
|
streamCatalog: "stream-catalog",
|
|
@@ -4753,10 +5453,18 @@ const CAPABILITY_NAMES = {
|
|
|
4753
5453
|
streamingEngine: "streaming-engine",
|
|
4754
5454
|
switch: "switch",
|
|
4755
5455
|
system: "system",
|
|
5456
|
+
tamper: "tamper",
|
|
5457
|
+
temperatureSensor: "temperature-sensor",
|
|
4756
5458
|
toast: "toast",
|
|
4757
5459
|
turnProvider: "turn-provider",
|
|
5460
|
+
update: "update",
|
|
4758
5461
|
userManagement: "user-management",
|
|
4759
5462
|
userPasskeys: "user-passkeys",
|
|
5463
|
+
vacuumControl: "vacuum-control",
|
|
5464
|
+
valve: "valve",
|
|
5465
|
+
vibration: "vibration",
|
|
5466
|
+
waterHeater: "water-heater",
|
|
5467
|
+
weather: "weather",
|
|
4760
5468
|
webrtc: "webrtc",
|
|
4761
5469
|
webrtcSession: "webrtc-session",
|
|
4762
5470
|
zoneAnalytics: "zone-analytics",
|
|
@@ -4774,20 +5482,36 @@ const CAPABILITY_ROUTER_KEYS = [
|
|
|
4774
5482
|
{ key: "addons", name: "addons" },
|
|
4775
5483
|
{ key: "adminUi", name: "admin-ui" },
|
|
4776
5484
|
{ key: "advancedNotifier", name: "advanced-notifier" },
|
|
5485
|
+
{ key: "airQualitySensor", name: "air-quality-sensor" },
|
|
5486
|
+
{ key: "alarmPanel", name: "alarm-panel" },
|
|
4777
5487
|
{ key: "alerts", name: "alerts" },
|
|
5488
|
+
{ key: "ambientLightSensor", name: "ambient-light-sensor" },
|
|
4778
5489
|
{ key: "audioAnalysis", name: "audio-analysis" },
|
|
4779
5490
|
{ key: "audioAnalyzer", name: "audio-analyzer" },
|
|
4780
5491
|
{ key: "audioCodec", name: "audio-codec" },
|
|
4781
5492
|
{ key: "audioMetrics", name: "audio-metrics" },
|
|
4782
5493
|
{ key: "authProvider", name: "auth-provider" },
|
|
5494
|
+
{ key: "automationControl", name: "automation-control" },
|
|
4783
5495
|
{ key: "backup", name: "backup" },
|
|
4784
5496
|
{ key: "battery", name: "battery" },
|
|
5497
|
+
{ key: "binary", name: "binary" },
|
|
4785
5498
|
{ key: "brightness", name: "brightness" },
|
|
5499
|
+
{ key: "broker", name: "broker" },
|
|
5500
|
+
{ key: "button", name: "button" },
|
|
4786
5501
|
{ key: "cameraCredentials", name: "camera-credentials" },
|
|
4787
5502
|
{ key: "cameraPipelineConfig", name: "camera-pipeline-config" },
|
|
4788
5503
|
{ key: "cameraStreams", name: "camera-streams" },
|
|
5504
|
+
{ key: "carbonMonoxide", name: "carbon-monoxide" },
|
|
5505
|
+
{ key: "climateControl", name: "climate-control" },
|
|
5506
|
+
{ key: "color", name: "color" },
|
|
5507
|
+
{ key: "connectivity", name: "connectivity" },
|
|
5508
|
+
{ key: "consumables", name: "consumables" },
|
|
5509
|
+
{ key: "contact", name: "contact" },
|
|
5510
|
+
{ key: "control", name: "control" },
|
|
5511
|
+
{ key: "cover", name: "cover" },
|
|
4789
5512
|
{ key: "decoder", name: "decoder" },
|
|
4790
5513
|
{ key: "detectionPipeline", name: "detection-pipeline" },
|
|
5514
|
+
{ key: "deviceAdoption", name: "device-adoption" },
|
|
4791
5515
|
{ key: "deviceDiscovery", name: "device-discovery" },
|
|
4792
5516
|
{ key: "deviceExport", name: "device-export" },
|
|
4793
5517
|
{ key: "deviceManager", name: "device-manager" },
|
|
@@ -4797,12 +5521,23 @@ const CAPABILITY_ROUTER_KEYS = [
|
|
|
4797
5521
|
{ key: "deviceStatus", name: "device-status" },
|
|
4798
5522
|
{ key: "doorbell", name: "doorbell" },
|
|
4799
5523
|
{ key: "embeddingEncoder", name: "embedding-encoder" },
|
|
5524
|
+
{ key: "enumSensor", name: "enum-sensor" },
|
|
5525
|
+
{ key: "eventEmitter", name: "event-emitter" },
|
|
4800
5526
|
{ key: "events", name: "events" },
|
|
5527
|
+
{ key: "fanControl", name: "fan-control" },
|
|
4801
5528
|
{ key: "featureProbe", name: "feature-probe" },
|
|
5529
|
+
{ key: "flood", name: "flood" },
|
|
5530
|
+
{ key: "gas", name: "gas" },
|
|
5531
|
+
{ key: "humidifier", name: "humidifier" },
|
|
5532
|
+
{ key: "humiditySensor", name: "humidity-sensor" },
|
|
5533
|
+
{ key: "image", name: "image" },
|
|
4802
5534
|
{ key: "integrations", name: "integrations" },
|
|
4803
5535
|
{ key: "intercom", name: "intercom" },
|
|
5536
|
+
{ key: "lawnMowerControl", name: "lawn-mower-control" },
|
|
4804
5537
|
{ key: "localNetwork", name: "local-network" },
|
|
5538
|
+
{ key: "lockControl", name: "lock-control" },
|
|
4805
5539
|
{ key: "logDestination", name: "log-destination" },
|
|
5540
|
+
{ key: "mediaPlayer", name: "media-player" },
|
|
4806
5541
|
{ key: "meshNetwork", name: "mesh-network" },
|
|
4807
5542
|
{ key: "metricsProvider", name: "metrics-provider" },
|
|
4808
5543
|
{ key: "motion", name: "motion" },
|
|
@@ -4815,6 +5550,8 @@ const CAPABILITY_ROUTER_KEYS = [
|
|
|
4815
5550
|
{ key: "networkQuality", name: "network-quality" },
|
|
4816
5551
|
{ key: "nodes", name: "nodes" },
|
|
4817
5552
|
{ key: "notificationOutput", name: "notification-output" },
|
|
5553
|
+
{ key: "notifier", name: "notifier" },
|
|
5554
|
+
{ key: "numericSensor", name: "numeric-sensor" },
|
|
4818
5555
|
{ key: "oauthIntegration", name: "oauth-integration" },
|
|
4819
5556
|
{ key: "osd", name: "osd" },
|
|
4820
5557
|
{ key: "pipelineAnalytics", name: "pipeline-analytics" },
|
|
@@ -4822,19 +5559,24 @@ const CAPABILITY_ROUTER_KEYS = [
|
|
|
4822
5559
|
{ key: "pipelineOrchestrator", name: "pipeline-orchestrator" },
|
|
4823
5560
|
{ key: "pipelineRunner", name: "pipeline-runner" },
|
|
4824
5561
|
{ key: "platformProbe", name: "platform-probe" },
|
|
5562
|
+
{ key: "powerMeter", name: "power-meter" },
|
|
5563
|
+
{ key: "presence", name: "presence" },
|
|
5564
|
+
{ key: "pressureSensor", name: "pressure-sensor" },
|
|
4825
5565
|
{ key: "privacyMask", name: "privacy-mask" },
|
|
4826
5566
|
{ key: "ptz", name: "ptz" },
|
|
4827
5567
|
{ key: "ptzAutotrack", name: "ptz-autotrack" },
|
|
4828
5568
|
{ key: "reboot", name: "reboot" },
|
|
4829
5569
|
{ key: "recording", name: "recording" },
|
|
4830
|
-
{ key: "recordingEngine", name: "recording-engine" },
|
|
4831
5570
|
{ key: "restreamer", name: "restreamer" },
|
|
5571
|
+
{ key: "scriptRunner", name: "script-runner" },
|
|
4832
5572
|
{ key: "settingsStore", name: "settings-store" },
|
|
5573
|
+
{ key: "smoke", name: "smoke" },
|
|
4833
5574
|
{ key: "smtpProvider", name: "smtp-provider" },
|
|
4834
5575
|
{ key: "snapshot", name: "snapshot" },
|
|
4835
5576
|
{ key: "snapshotProvider", name: "snapshot-provider" },
|
|
4836
5577
|
{ key: "ssoBridge", name: "sso-bridge" },
|
|
4837
5578
|
{ key: "storage", name: "storage" },
|
|
5579
|
+
{ key: "storageEvictable", name: "storage-evictable" },
|
|
4838
5580
|
{ key: "storageProvider", name: "storage-provider" },
|
|
4839
5581
|
{ key: "streamBroker", name: "stream-broker" },
|
|
4840
5582
|
{ key: "streamCatalog", name: "stream-catalog" },
|
|
@@ -4842,10 +5584,18 @@ const CAPABILITY_ROUTER_KEYS = [
|
|
|
4842
5584
|
{ key: "streamingEngine", name: "streaming-engine" },
|
|
4843
5585
|
{ key: "switch", name: "switch" },
|
|
4844
5586
|
{ key: "system", name: "system" },
|
|
5587
|
+
{ key: "tamper", name: "tamper" },
|
|
5588
|
+
{ key: "temperatureSensor", name: "temperature-sensor" },
|
|
4845
5589
|
{ key: "toast", name: "toast" },
|
|
4846
5590
|
{ key: "turnProvider", name: "turn-provider" },
|
|
5591
|
+
{ key: "update", name: "update" },
|
|
4847
5592
|
{ key: "userManagement", name: "user-management" },
|
|
4848
5593
|
{ key: "userPasskeys", name: "user-passkeys" },
|
|
5594
|
+
{ key: "vacuumControl", name: "vacuum-control" },
|
|
5595
|
+
{ key: "valve", name: "valve" },
|
|
5596
|
+
{ key: "vibration", name: "vibration" },
|
|
5597
|
+
{ key: "waterHeater", name: "water-heater" },
|
|
5598
|
+
{ key: "weather", name: "weather" },
|
|
4849
5599
|
{ key: "webrtc", name: "webrtc" },
|
|
4850
5600
|
{ key: "webrtcSession", name: "webrtc-session" },
|
|
4851
5601
|
{ key: "zoneAnalytics", name: "zone-analytics" },
|
|
@@ -4863,20 +5613,36 @@ const ALL_CAPABILITY_DEFINITIONS = [
|
|
|
4863
5613
|
index.addonsCapability,
|
|
4864
5614
|
index.adminUiCapability,
|
|
4865
5615
|
index.advancedNotifierCapability,
|
|
5616
|
+
index.airQualitySensorCapability,
|
|
5617
|
+
index.alarmPanelCapability,
|
|
4866
5618
|
index.alertsCapability,
|
|
5619
|
+
index.ambientLightSensorCapability,
|
|
4867
5620
|
index.audioAnalysisCapability,
|
|
4868
5621
|
index.audioAnalyzerCapability,
|
|
4869
5622
|
index.audioCodecCapability,
|
|
4870
5623
|
index.audioMetricsCapability,
|
|
4871
5624
|
index.authProviderCapability,
|
|
5625
|
+
index.automationControlCapability,
|
|
4872
5626
|
index.backupCapability,
|
|
4873
5627
|
index.batteryCapability,
|
|
5628
|
+
index.binaryCapability,
|
|
4874
5629
|
index.brightnessCapability,
|
|
5630
|
+
index.brokerCapability,
|
|
5631
|
+
index.buttonCapability,
|
|
4875
5632
|
index.cameraCredentialsCapability,
|
|
4876
5633
|
index.cameraPipelineConfigCapability,
|
|
4877
5634
|
index.cameraStreamsCapability,
|
|
5635
|
+
index.carbonMonoxideCapability,
|
|
5636
|
+
index.climateControlCapability,
|
|
5637
|
+
index.colorCapability,
|
|
5638
|
+
index.connectivityCapability,
|
|
5639
|
+
index.consumablesCapability,
|
|
5640
|
+
index.contactCapability,
|
|
5641
|
+
index.controlCapability,
|
|
5642
|
+
index.coverCapability,
|
|
4878
5643
|
index.decoderCapability,
|
|
4879
5644
|
index.detectionPipelineCapability,
|
|
5645
|
+
index.deviceAdoptionCapability,
|
|
4880
5646
|
index.deviceDiscoveryCapability,
|
|
4881
5647
|
index.deviceExportCapability,
|
|
4882
5648
|
index.deviceManagerCapability,
|
|
@@ -4886,12 +5652,23 @@ const ALL_CAPABILITY_DEFINITIONS = [
|
|
|
4886
5652
|
index.deviceStatusCapability,
|
|
4887
5653
|
index.doorbellCapability,
|
|
4888
5654
|
index.embeddingEncoderCapability,
|
|
5655
|
+
index.enumSensorCapability,
|
|
5656
|
+
index.eventEmitterCapability,
|
|
4889
5657
|
index.eventsCapability,
|
|
5658
|
+
index.fanControlCapability,
|
|
4890
5659
|
index.featureProbeCapability,
|
|
5660
|
+
index.floodCapability,
|
|
5661
|
+
index.gasCapability,
|
|
5662
|
+
index.humidifierCapability,
|
|
5663
|
+
index.humiditySensorCapability,
|
|
5664
|
+
index.imageCapability,
|
|
4891
5665
|
index.integrationsCapability,
|
|
4892
5666
|
index.intercomCapability,
|
|
5667
|
+
index.lawnMowerControlCapability,
|
|
4893
5668
|
index.localNetworkCapability,
|
|
5669
|
+
index.lockControlCapability,
|
|
4894
5670
|
index.logDestinationCapability,
|
|
5671
|
+
index.mediaPlayerCapability,
|
|
4895
5672
|
index.meshNetworkCapability,
|
|
4896
5673
|
index.metricsProviderCapability,
|
|
4897
5674
|
index.motionCapability,
|
|
@@ -4904,6 +5681,8 @@ const ALL_CAPABILITY_DEFINITIONS = [
|
|
|
4904
5681
|
index.networkQualityCapability,
|
|
4905
5682
|
index.nodesCapability,
|
|
4906
5683
|
index.notificationOutputCapability,
|
|
5684
|
+
index.notifierCapability,
|
|
5685
|
+
index.numericSensorCapability,
|
|
4907
5686
|
index.oauthIntegrationCapability,
|
|
4908
5687
|
index.osdCapability,
|
|
4909
5688
|
index.pipelineAnalyticsCapability,
|
|
@@ -4911,19 +5690,24 @@ const ALL_CAPABILITY_DEFINITIONS = [
|
|
|
4911
5690
|
index.pipelineOrchestratorCapability,
|
|
4912
5691
|
index.pipelineRunnerCapability,
|
|
4913
5692
|
index.platformProbeCapability,
|
|
5693
|
+
index.powerMeterCapability,
|
|
5694
|
+
index.presenceCapability,
|
|
5695
|
+
index.pressureSensorCapability,
|
|
4914
5696
|
index.privacyMaskCapability,
|
|
4915
5697
|
index.ptzCapability,
|
|
4916
5698
|
index.ptzAutotrackCapability,
|
|
4917
5699
|
index.rebootCapability,
|
|
4918
5700
|
index.recordingCapability,
|
|
4919
|
-
index.recordingEngineCapability,
|
|
4920
5701
|
index.restreamerCapability,
|
|
5702
|
+
index.scriptRunnerCapability,
|
|
4921
5703
|
index.settingsStoreCapability,
|
|
5704
|
+
index.smokeCapability,
|
|
4922
5705
|
index.smtpProviderCapability,
|
|
4923
5706
|
index.snapshotCapability,
|
|
4924
5707
|
index.snapshotProviderCapability,
|
|
4925
5708
|
index.ssoBridgeCapability,
|
|
4926
5709
|
index.storageCapability,
|
|
5710
|
+
index.storageEvictableCapability,
|
|
4927
5711
|
index.storageProviderCapability,
|
|
4928
5712
|
index.streamBrokerCapability,
|
|
4929
5713
|
index.streamCatalogCapability,
|
|
@@ -4931,10 +5715,18 @@ const ALL_CAPABILITY_DEFINITIONS = [
|
|
|
4931
5715
|
index.streamingEngineCapability,
|
|
4932
5716
|
index.switchCapability,
|
|
4933
5717
|
index.systemCapability,
|
|
5718
|
+
index.tamperCapability,
|
|
5719
|
+
index.temperatureSensorCapability,
|
|
4934
5720
|
index.toastCapability,
|
|
4935
5721
|
index.turnProviderCapability,
|
|
5722
|
+
index.updateCapability,
|
|
4936
5723
|
index.userManagementCapability,
|
|
4937
5724
|
index.userPasskeysCapability,
|
|
5725
|
+
index.vacuumControlCapability,
|
|
5726
|
+
index.valveCapability,
|
|
5727
|
+
index.vibrationCapability,
|
|
5728
|
+
index.waterHeaterCapability,
|
|
5729
|
+
index.weatherCapability,
|
|
4938
5730
|
index.webrtcCapability,
|
|
4939
5731
|
index.webrtcSessionCapability,
|
|
4940
5732
|
index.zoneAnalyticsCapability,
|
|
@@ -4943,29 +5735,72 @@ const ALL_CAPABILITY_DEFINITIONS = [
|
|
|
4943
5735
|
];
|
|
4944
5736
|
const CAP_NAMES_WITH_STATUS = [
|
|
4945
5737
|
"accessories",
|
|
5738
|
+
"air-quality-sensor",
|
|
5739
|
+
"alarm-panel",
|
|
5740
|
+
"ambient-light-sensor",
|
|
5741
|
+
"automation-control",
|
|
4946
5742
|
"battery",
|
|
5743
|
+
"binary",
|
|
4947
5744
|
"brightness",
|
|
5745
|
+
"broker",
|
|
4948
5746
|
"camera-credentials",
|
|
5747
|
+
"carbon-monoxide",
|
|
5748
|
+
"climate-control",
|
|
5749
|
+
"color",
|
|
5750
|
+
"connectivity",
|
|
5751
|
+
"consumables",
|
|
5752
|
+
"contact",
|
|
5753
|
+
"control",
|
|
5754
|
+
"cover",
|
|
5755
|
+
"device-adoption",
|
|
4949
5756
|
"device-discovery",
|
|
4950
5757
|
"device-export",
|
|
4951
5758
|
"device-status",
|
|
4952
5759
|
"doorbell",
|
|
5760
|
+
"enum-sensor",
|
|
5761
|
+
"event-emitter",
|
|
5762
|
+
"fan-control",
|
|
4953
5763
|
"feature-probe",
|
|
5764
|
+
"flood",
|
|
5765
|
+
"gas",
|
|
5766
|
+
"humidifier",
|
|
5767
|
+
"humidity-sensor",
|
|
5768
|
+
"image",
|
|
4954
5769
|
"intercom",
|
|
5770
|
+
"lawn-mower-control",
|
|
5771
|
+
"lock-control",
|
|
5772
|
+
"media-player",
|
|
4955
5773
|
"motion",
|
|
4956
5774
|
"motion-trigger",
|
|
4957
5775
|
"motion-zones",
|
|
4958
5776
|
"mqtt-broker",
|
|
4959
5777
|
"native-object-detection",
|
|
5778
|
+
"notifier",
|
|
5779
|
+
"numeric-sensor",
|
|
4960
5780
|
"osd",
|
|
5781
|
+
"power-meter",
|
|
5782
|
+
"presence",
|
|
5783
|
+
"pressure-sensor",
|
|
4961
5784
|
"privacy-mask",
|
|
4962
5785
|
"ptz",
|
|
4963
5786
|
"ptz-autotrack",
|
|
5787
|
+
"recording",
|
|
5788
|
+
"script-runner",
|
|
5789
|
+
"smoke",
|
|
4964
5790
|
"snapshot",
|
|
4965
5791
|
"stream-params",
|
|
4966
|
-
"switch"
|
|
5792
|
+
"switch",
|
|
5793
|
+
"tamper",
|
|
5794
|
+
"temperature-sensor",
|
|
5795
|
+
"update",
|
|
5796
|
+
"vacuum-control",
|
|
5797
|
+
"valve",
|
|
5798
|
+
"vibration",
|
|
5799
|
+
"water-heater",
|
|
5800
|
+
"weather"
|
|
4967
5801
|
];
|
|
4968
5802
|
const METHOD_ACCESS_MAP = Object.freeze({
|
|
5803
|
+
"accessories.setChildHidden": { capName: "accessories", capScope: "device", addonId: null, access: "create" },
|
|
4969
5804
|
"addonPages.listPages": { capName: "addon-pages", capScope: "system", addonId: null, access: "view" },
|
|
4970
5805
|
"addonPagesSource.listPages": { capName: "addon-pages-source", capScope: "system", addonId: null, access: "view" },
|
|
4971
5806
|
"addonRoutes.getRoutes": { capName: "addon-routes", capScope: "system", addonId: null, access: "view" },
|
|
@@ -5017,6 +5852,9 @@ const METHOD_ACCESS_MAP = Object.freeze({
|
|
|
5017
5852
|
"advancedNotifier.getRules": { capName: "advanced-notifier", capScope: "system", addonId: null, access: "view" },
|
|
5018
5853
|
"advancedNotifier.testRule": { capName: "advanced-notifier", capScope: "system", addonId: null, access: "create" },
|
|
5019
5854
|
"advancedNotifier.upsertRule": { capName: "advanced-notifier", capScope: "system", addonId: null, access: "create" },
|
|
5855
|
+
"alarmPanel.arm": { capName: "alarm-panel", capScope: "device", addonId: null, access: "create" },
|
|
5856
|
+
"alarmPanel.disarm": { capName: "alarm-panel", capScope: "device", addonId: null, access: "create" },
|
|
5857
|
+
"alarmPanel.trigger": { capName: "alarm-panel", capScope: "device", addonId: null, access: "create" },
|
|
5020
5858
|
"alerts.dismiss": { capName: "alerts", capScope: "system", addonId: null, access: "create" },
|
|
5021
5859
|
"alerts.emit": { capName: "alerts", capScope: "system", addonId: null, access: "create" },
|
|
5022
5860
|
"alerts.getUnreadCount": { capName: "alerts", capScope: "system", addonId: null, access: "view" },
|
|
@@ -5047,6 +5885,9 @@ const METHOD_ACCESS_MAP = Object.freeze({
|
|
|
5047
5885
|
"authProvider.handleCallback": { capName: "auth-provider", capScope: "system", addonId: null, access: "create" },
|
|
5048
5886
|
"authProvider.validateCredentials": { capName: "auth-provider", capScope: "system", addonId: null, access: "create" },
|
|
5049
5887
|
"authProvider.validateToken": { capName: "auth-provider", capScope: "system", addonId: null, access: "view" },
|
|
5888
|
+
"automationControl.disable": { capName: "automation-control", capScope: "device", addonId: null, access: "create" },
|
|
5889
|
+
"automationControl.enable": { capName: "automation-control", capScope: "device", addonId: null, access: "create" },
|
|
5890
|
+
"automationControl.trigger": { capName: "automation-control", capScope: "device", addonId: null, access: "create" },
|
|
5050
5891
|
"backup.delete": { capName: "backup", capScope: "system", addonId: null, access: "delete" },
|
|
5051
5892
|
"backup.getEntries": { capName: "backup", capScope: "system", addonId: null, access: "view" },
|
|
5052
5893
|
"backup.list": { capName: "backup", capScope: "system", addonId: null, access: "view" },
|
|
@@ -5057,11 +5898,45 @@ const METHOD_ACCESS_MAP = Object.freeze({
|
|
|
5057
5898
|
"backup.restore": { capName: "backup", capScope: "system", addonId: null, access: "create" },
|
|
5058
5899
|
"backup.trigger": { capName: "backup", capScope: "system", addonId: null, access: "create" },
|
|
5059
5900
|
"backup.upsertDestinationPolicy": { capName: "backup", capScope: "system", addonId: null, access: "create" },
|
|
5901
|
+
"battery.wakeForStream": { capName: "battery", capScope: "device", addonId: null, access: "create" },
|
|
5060
5902
|
"brightness.setBrightness": { capName: "brightness", capScope: "device", addonId: null, access: "create" },
|
|
5903
|
+
"broker.add": { capName: "broker", capScope: "system", addonId: null, access: "create" },
|
|
5904
|
+
"broker.get": { capName: "broker", capScope: "system", addonId: null, access: "view" },
|
|
5905
|
+
"broker.getBrokerConfig": { capName: "broker", capScope: "system", addonId: null, access: "view" },
|
|
5906
|
+
"broker.getSettings": { capName: "broker", capScope: "system", addonId: null, access: "view" },
|
|
5907
|
+
"broker.getSettingsSchema": { capName: "broker", capScope: "system", addonId: null, access: "view" },
|
|
5908
|
+
"broker.getState": { capName: "broker", capScope: "system", addonId: null, access: "view" },
|
|
5909
|
+
"broker.getStatus": { capName: "broker", capScope: "system", addonId: null, access: "view" },
|
|
5910
|
+
"broker.list": { capName: "broker", capScope: "system", addonId: null, access: "view" },
|
|
5911
|
+
"broker.listProviders": { capName: "broker", capScope: "system", addonId: null, access: "view" },
|
|
5912
|
+
"broker.publish": { capName: "broker", capScope: "system", addonId: null, access: "create" },
|
|
5913
|
+
"broker.remove": { capName: "broker", capScope: "system", addonId: null, access: "delete" },
|
|
5914
|
+
"broker.setSettings": { capName: "broker", capScope: "system", addonId: null, access: "create" },
|
|
5915
|
+
"broker.subscribe": { capName: "broker", capScope: "system", addonId: null, access: "create" },
|
|
5916
|
+
"broker.testConnection": { capName: "broker", capScope: "system", addonId: null, access: "create" },
|
|
5917
|
+
"broker.testSettings": { capName: "broker", capScope: "system", addonId: null, access: "create" },
|
|
5918
|
+
"broker.unsubscribe": { capName: "broker", capScope: "system", addonId: null, access: "create" },
|
|
5919
|
+
"button.press": { capName: "button", capScope: "device", addonId: null, access: "create" },
|
|
5061
5920
|
"cameraCredentials.getCredentials": { capName: "camera-credentials", capScope: "device", addonId: null, access: "view" },
|
|
5062
5921
|
"cameraStreams.getBrokerStreams": { capName: "camera-streams", capScope: "device", addonId: null, access: "view" },
|
|
5063
5922
|
"cameraStreams.getCameraStreams": { capName: "camera-streams", capScope: "device", addonId: null, access: "view" },
|
|
5923
|
+
"cameraStreams.getProfileRtspEntries": { capName: "camera-streams", capScope: "device", addonId: null, access: "view" },
|
|
5064
5924
|
"cameraStreams.getRtspEntries": { capName: "camera-streams", capScope: "device", addonId: null, access: "view" },
|
|
5925
|
+
"cameraStreams.pickStream": { capName: "camera-streams", capScope: "device", addonId: null, access: "view" },
|
|
5926
|
+
"climateControl.setFanMode": { capName: "climate-control", capScope: "device", addonId: null, access: "create" },
|
|
5927
|
+
"climateControl.setMode": { capName: "climate-control", capScope: "device", addonId: null, access: "create" },
|
|
5928
|
+
"climateControl.setPreset": { capName: "climate-control", capScope: "device", addonId: null, access: "create" },
|
|
5929
|
+
"climateControl.setTarget": { capName: "climate-control", capScope: "device", addonId: null, access: "create" },
|
|
5930
|
+
"climateControl.setTargetHumidity": { capName: "climate-control", capScope: "device", addonId: null, access: "create" },
|
|
5931
|
+
"climateControl.setTargetRange": { capName: "climate-control", capScope: "device", addonId: null, access: "create" },
|
|
5932
|
+
"color.setColor": { capName: "color", capScope: "device", addonId: null, access: "create" },
|
|
5933
|
+
"consumables.reset": { capName: "consumables", capScope: "device", addonId: null, access: "delete" },
|
|
5934
|
+
"control.setValue": { capName: "control", capScope: "device", addonId: null, access: "create" },
|
|
5935
|
+
"cover.close": { capName: "cover", capScope: "device", addonId: null, access: "create" },
|
|
5936
|
+
"cover.open": { capName: "cover", capScope: "device", addonId: null, access: "create" },
|
|
5937
|
+
"cover.setPosition": { capName: "cover", capScope: "device", addonId: null, access: "create" },
|
|
5938
|
+
"cover.setTiltPosition": { capName: "cover", capScope: "device", addonId: null, access: "create" },
|
|
5939
|
+
"cover.stop": { capName: "cover", capScope: "device", addonId: null, access: "create" },
|
|
5065
5940
|
"decoder.createSession": { capName: "decoder", capScope: "system", addonId: null, access: "view" },
|
|
5066
5941
|
"decoder.destroySession": { capName: "decoder", capScope: "system", addonId: null, access: "delete" },
|
|
5067
5942
|
"decoder.getFrame": { capName: "decoder", capScope: "system", addonId: null, access: "view" },
|
|
@@ -5076,6 +5951,13 @@ const METHOD_ACCESS_MAP = Object.freeze({
|
|
|
5076
5951
|
"decoder.reprobeHwaccel": { capName: "decoder", capScope: "system", addonId: null, access: "create" },
|
|
5077
5952
|
"decoder.supportsCodec": { capName: "decoder", capScope: "system", addonId: null, access: "view" },
|
|
5078
5953
|
"decoder.updateConfig": { capName: "decoder", capScope: "system", addonId: null, access: "view" },
|
|
5954
|
+
"deviceAdoption.adopt": { capName: "device-adoption", capScope: "system", addonId: null, access: "create" },
|
|
5955
|
+
"deviceAdoption.getCandidate": { capName: "device-adoption", capScope: "system", addonId: null, access: "view" },
|
|
5956
|
+
"deviceAdoption.listCandidateFilters": { capName: "device-adoption", capScope: "system", addonId: null, access: "view" },
|
|
5957
|
+
"deviceAdoption.listCandidates": { capName: "device-adoption", capScope: "system", addonId: null, access: "view" },
|
|
5958
|
+
"deviceAdoption.refresh": { capName: "device-adoption", capScope: "system", addonId: null, access: "create" },
|
|
5959
|
+
"deviceAdoption.release": { capName: "device-adoption", capScope: "system", addonId: null, access: "create" },
|
|
5960
|
+
"deviceAdoption.resync": { capName: "device-adoption", capScope: "system", addonId: null, access: "create" },
|
|
5079
5961
|
"deviceDiscovery.adoptDevice": { capName: "device-discovery", capScope: "device", addonId: null, access: "create" },
|
|
5080
5962
|
"deviceDiscovery.listDiscovered": { capName: "device-discovery", capScope: "device", addonId: null, access: "view" },
|
|
5081
5963
|
"deviceDiscovery.refreshDiscovery": { capName: "device-discovery", capScope: "device", addonId: null, access: "create" },
|
|
@@ -5087,7 +5969,12 @@ const METHOD_ACCESS_MAP = Object.freeze({
|
|
|
5087
5969
|
"deviceExport.unexposeDevice": { capName: "device-export", capScope: "system", addonId: null, access: "create" },
|
|
5088
5970
|
"deviceManager.addLocation": { capName: "device-manager", capScope: "system", addonId: null, access: "create" },
|
|
5089
5971
|
"deviceManager.adoptDevice": { capName: "device-manager", capScope: "system", addonId: null, access: "create" },
|
|
5972
|
+
"deviceManager.adoptionAdopt": { capName: "device-manager", capScope: "system", addonId: null, access: "create" },
|
|
5973
|
+
"deviceManager.adoptionListCandidates": { capName: "device-manager", capScope: "system", addonId: null, access: "view" },
|
|
5974
|
+
"deviceManager.adoptionRefresh": { capName: "device-manager", capScope: "system", addonId: null, access: "create" },
|
|
5975
|
+
"deviceManager.adoptionRelease": { capName: "device-manager", capScope: "system", addonId: null, access: "create" },
|
|
5090
5976
|
"deviceManager.allocateDeviceId": { capName: "device-manager", capScope: "system", addonId: null, access: "create" },
|
|
5977
|
+
"deviceManager.applyInitialMeta": { capName: "device-manager", capScope: "system", addonId: null, access: "create" },
|
|
5091
5978
|
"deviceManager.createDevice": { capName: "device-manager", capScope: "system", addonId: null, access: "create" },
|
|
5092
5979
|
"deviceManager.disable": { capName: "device-manager", capScope: "system", addonId: null, access: "create" },
|
|
5093
5980
|
"deviceManager.discoverDevices": { capName: "device-manager", capScope: "system", addonId: null, access: "create" },
|
|
@@ -5105,6 +5992,7 @@ const METHOD_ACCESS_MAP = Object.freeze({
|
|
|
5105
5992
|
"deviceManager.getSettingsSchema": { capName: "device-manager", capScope: "system", addonId: null, access: "view" },
|
|
5106
5993
|
"deviceManager.getStreamProfileMap": { capName: "device-manager", capScope: "system", addonId: null, access: "view" },
|
|
5107
5994
|
"deviceManager.getStreamSources": { capName: "device-manager", capScope: "system", addonId: null, access: "view" },
|
|
5995
|
+
"deviceManager.getWireableFields": { capName: "device-manager", capScope: "system", addonId: null, access: "view" },
|
|
5108
5996
|
"deviceManager.listAll": { capName: "device-manager", capScope: "system", addonId: null, access: "view" },
|
|
5109
5997
|
"deviceManager.listBindableCapsForDeviceType": { capName: "device-manager", capScope: "system", addonId: null, access: "view" },
|
|
5110
5998
|
"deviceManager.listLocations": { capName: "device-manager", capScope: "system", addonId: null, access: "view" },
|
|
@@ -5117,13 +6005,22 @@ const METHOD_ACCESS_MAP = Object.freeze({
|
|
|
5117
6005
|
"deviceManager.probeStreams": { capName: "device-manager", capScope: "system", addonId: null, access: "create" },
|
|
5118
6006
|
"deviceManager.registerDevice": { capName: "device-manager", capScope: "system", addonId: null, access: "create" },
|
|
5119
6007
|
"deviceManager.remove": { capName: "device-manager", capScope: "system", addonId: null, access: "delete" },
|
|
6008
|
+
"deviceManager.removeByIntegration": { capName: "device-manager", capScope: "system", addonId: null, access: "delete" },
|
|
5120
6009
|
"deviceManager.removeDevice": { capName: "device-manager", capScope: "system", addonId: null, access: "delete" },
|
|
5121
6010
|
"deviceManager.removeLocation": { capName: "device-manager", capScope: "system", addonId: null, access: "delete" },
|
|
6011
|
+
"deviceManager.runDeviceAction": { capName: "device-manager", capScope: "system", addonId: null, access: "create" },
|
|
6012
|
+
"deviceManager.setChildLayout": { capName: "device-manager", capScope: "system", addonId: null, access: "create" },
|
|
6013
|
+
"deviceManager.setDeviceLinks": { capName: "device-manager", capScope: "system", addonId: null, access: "create" },
|
|
5122
6014
|
"deviceManager.setDisabled": { capName: "device-manager", capScope: "system", addonId: null, access: "create" },
|
|
6015
|
+
"deviceManager.setIntegrationId": { capName: "device-manager", capScope: "system", addonId: null, access: "create" },
|
|
6016
|
+
"deviceManager.setLinkDeviceId": { capName: "device-manager", capScope: "system", addonId: null, access: "create" },
|
|
5123
6017
|
"deviceManager.setLocation": { capName: "device-manager", capScope: "system", addonId: null, access: "create" },
|
|
5124
6018
|
"deviceManager.setMetadata": { capName: "device-manager", capScope: "system", addonId: null, access: "create" },
|
|
5125
6019
|
"deviceManager.setName": { capName: "device-manager", capScope: "system", addonId: null, access: "create" },
|
|
6020
|
+
"deviceManager.setPrimaryChildEntityId": { capName: "device-manager", capScope: "system", addonId: null, access: "create" },
|
|
6021
|
+
"deviceManager.setRole": { capName: "device-manager", capScope: "system", addonId: null, access: "create" },
|
|
5126
6022
|
"deviceManager.setStreamProfileMap": { capName: "device-manager", capScope: "system", addonId: null, access: "create" },
|
|
6023
|
+
"deviceManager.setType": { capName: "device-manager", capScope: "system", addonId: null, access: "create" },
|
|
5127
6024
|
"deviceManager.setWrapperActive": { capName: "device-manager", capScope: "system", addonId: null, access: "create" },
|
|
5128
6025
|
"deviceManager.testCreationField": { capName: "device-manager", capScope: "system", addonId: null, access: "create" },
|
|
5129
6026
|
"deviceManager.testField": { capName: "device-manager", capScope: "system", addonId: null, access: "create" },
|
|
@@ -5131,9 +6028,11 @@ const METHOD_ACCESS_MAP = Object.freeze({
|
|
|
5131
6028
|
"deviceManager.updateDeviceField": { capName: "device-manager", capScope: "system", addonId: null, access: "create" },
|
|
5132
6029
|
"deviceManager.updateDeviceFieldsBatch": { capName: "device-manager", capScope: "system", addonId: null, access: "create" },
|
|
5133
6030
|
"deviceOps.getConfigEntries": { capName: "device-ops", capScope: "device", addonId: null, access: "view" },
|
|
6031
|
+
"deviceOps.getRawState": { capName: "device-ops", capScope: "device", addonId: null, access: "view" },
|
|
5134
6032
|
"deviceOps.getSettingsSchema": { capName: "device-ops", capScope: "device", addonId: null, access: "view" },
|
|
5135
6033
|
"deviceOps.getStreamSources": { capName: "device-ops", capScope: "device", addonId: null, access: "view" },
|
|
5136
6034
|
"deviceOps.removeDevice": { capName: "device-ops", capScope: "device", addonId: null, access: "delete" },
|
|
6035
|
+
"deviceOps.runAction": { capName: "device-ops", capScope: "device", addonId: null, access: "create" },
|
|
5137
6036
|
"deviceOps.setConfig": { capName: "device-ops", capScope: "device", addonId: null, access: "create" },
|
|
5138
6037
|
"deviceProvider.adoptDiscoveredDevice": { capName: "device-provider", capScope: "system", addonId: null, access: "create" },
|
|
5139
6038
|
"deviceProvider.createDevice": { capName: "device-provider", capScope: "system", addonId: null, access: "create" },
|
|
@@ -5156,6 +6055,13 @@ const METHOD_ACCESS_MAP = Object.freeze({
|
|
|
5156
6055
|
"events.getEventClipUrl": { capName: "events", capScope: "device", addonId: null, access: "view" },
|
|
5157
6056
|
"events.getEvents": { capName: "events", capScope: "device", addonId: null, access: "view" },
|
|
5158
6057
|
"events.getEventThumbnail": { capName: "events", capScope: "device", addonId: null, access: "view" },
|
|
6058
|
+
"fanControl.setDirection": { capName: "fan-control", capScope: "device", addonId: null, access: "create" },
|
|
6059
|
+
"fanControl.setOscillating": { capName: "fan-control", capScope: "device", addonId: null, access: "create" },
|
|
6060
|
+
"fanControl.setPercentage": { capName: "fan-control", capScope: "device", addonId: null, access: "create" },
|
|
6061
|
+
"fanControl.setPreset": { capName: "fan-control", capScope: "device", addonId: null, access: "create" },
|
|
6062
|
+
"humidifier.setMode": { capName: "humidifier", capScope: "device", addonId: null, access: "create" },
|
|
6063
|
+
"humidifier.setOn": { capName: "humidifier", capScope: "device", addonId: null, access: "create" },
|
|
6064
|
+
"humidifier.setTargetHumidity": { capName: "humidifier", capScope: "device", addonId: null, access: "create" },
|
|
5159
6065
|
"integrations.create": { capName: "integrations", capScope: "system", addonId: null, access: "create" },
|
|
5160
6066
|
"integrations.delete": { capName: "integrations", capScope: "system", addonId: null, access: "delete" },
|
|
5161
6067
|
"integrations.get": { capName: "integrations", capScope: "system", addonId: null, access: "view" },
|
|
@@ -5168,18 +6074,36 @@ const METHOD_ACCESS_MAP = Object.freeze({
|
|
|
5168
6074
|
"integrations.update": { capName: "integrations", capScope: "system", addonId: null, access: "create" },
|
|
5169
6075
|
"intercom.endTalkSession": { capName: "intercom", capScope: "device", addonId: null, access: "create" },
|
|
5170
6076
|
"intercom.handleAnswer": { capName: "intercom", capScope: "device", addonId: null, access: "create" },
|
|
5171
|
-
"intercom.
|
|
6077
|
+
"intercom.pushTalkAudio": { capName: "intercom", capScope: "device", addonId: null, access: "create" },
|
|
5172
6078
|
"intercom.startSession": { capName: "intercom", capScope: "device", addonId: null, access: "create" },
|
|
5173
6079
|
"intercom.startTalkSession": { capName: "intercom", capScope: "device", addonId: null, access: "create" },
|
|
5174
6080
|
"intercom.stopSession": { capName: "intercom", capScope: "device", addonId: null, access: "create" },
|
|
6081
|
+
"lawnMowerControl.dock": { capName: "lawn-mower-control", capScope: "device", addonId: null, access: "create" },
|
|
6082
|
+
"lawnMowerControl.pause": { capName: "lawn-mower-control", capScope: "device", addonId: null, access: "create" },
|
|
6083
|
+
"lawnMowerControl.startMowing": { capName: "lawn-mower-control", capScope: "device", addonId: null, access: "create" },
|
|
5175
6084
|
"localNetwork.getAllowedAddresses": { capName: "local-network", capScope: "system", addonId: null, access: "view" },
|
|
5176
6085
|
"localNetwork.getConnectionEndpoints": { capName: "local-network", capScope: "system", addonId: null, access: "view" },
|
|
5177
6086
|
"localNetwork.getPreferred": { capName: "local-network", capScope: "system", addonId: null, access: "view" },
|
|
5178
6087
|
"localNetwork.list": { capName: "local-network", capScope: "system", addonId: null, access: "view" },
|
|
5179
6088
|
"localNetwork.resetAllowlistToBestMatch": { capName: "local-network", capScope: "system", addonId: null, access: "delete" },
|
|
5180
6089
|
"localNetwork.setAllowedAddresses": { capName: "local-network", capScope: "system", addonId: null, access: "create" },
|
|
6090
|
+
"lockControl.lock": { capName: "lock-control", capScope: "device", addonId: null, access: "create" },
|
|
6091
|
+
"lockControl.open": { capName: "lock-control", capScope: "device", addonId: null, access: "create" },
|
|
6092
|
+
"lockControl.unlock": { capName: "lock-control", capScope: "device", addonId: null, access: "create" },
|
|
5181
6093
|
"logDestination.query": { capName: "log-destination", capScope: "system", addonId: null, access: "view" },
|
|
5182
6094
|
"logDestination.write": { capName: "log-destination", capScope: "system", addonId: null, access: "create" },
|
|
6095
|
+
"mediaPlayer.next": { capName: "media-player", capScope: "device", addonId: null, access: "create" },
|
|
6096
|
+
"mediaPlayer.pause": { capName: "media-player", capScope: "device", addonId: null, access: "create" },
|
|
6097
|
+
"mediaPlayer.play": { capName: "media-player", capScope: "device", addonId: null, access: "create" },
|
|
6098
|
+
"mediaPlayer.playMedia": { capName: "media-player", capScope: "device", addonId: null, access: "create" },
|
|
6099
|
+
"mediaPlayer.previous": { capName: "media-player", capScope: "device", addonId: null, access: "create" },
|
|
6100
|
+
"mediaPlayer.seek": { capName: "media-player", capScope: "device", addonId: null, access: "create" },
|
|
6101
|
+
"mediaPlayer.selectSource": { capName: "media-player", capScope: "device", addonId: null, access: "create" },
|
|
6102
|
+
"mediaPlayer.setMute": { capName: "media-player", capScope: "device", addonId: null, access: "create" },
|
|
6103
|
+
"mediaPlayer.setRepeat": { capName: "media-player", capScope: "device", addonId: null, access: "create" },
|
|
6104
|
+
"mediaPlayer.setShuffle": { capName: "media-player", capScope: "device", addonId: null, access: "create" },
|
|
6105
|
+
"mediaPlayer.setVolume": { capName: "media-player", capScope: "device", addonId: null, access: "create" },
|
|
6106
|
+
"mediaPlayer.stop": { capName: "media-player", capScope: "device", addonId: null, access: "create" },
|
|
5183
6107
|
"meshNetwork.getStatus": { capName: "mesh-network", capScope: "system", addonId: null, access: "view" },
|
|
5184
6108
|
"meshNetwork.join": { capName: "mesh-network", capScope: "system", addonId: null, access: "create" },
|
|
5185
6109
|
"meshNetwork.leave": { capName: "mesh-network", capScope: "system", addonId: null, access: "create" },
|
|
@@ -5237,17 +6161,21 @@ const METHOD_ACCESS_MAP = Object.freeze({
|
|
|
5237
6161
|
"nodes.undeployAddon": { capName: "nodes", capScope: "system", addonId: null, access: "create" },
|
|
5238
6162
|
"notificationOutput.send": { capName: "notification-output", capScope: "system", addonId: null, access: "create" },
|
|
5239
6163
|
"notificationOutput.sendTest": { capName: "notification-output", capScope: "system", addonId: null, access: "create" },
|
|
6164
|
+
"notifier.cancel": { capName: "notifier", capScope: "device", addonId: null, access: "create" },
|
|
6165
|
+
"notifier.send": { capName: "notifier", capScope: "device", addonId: null, access: "create" },
|
|
5240
6166
|
"oauthIntegration.getDescriptor": { capName: "oauth-integration", capScope: "system", addonId: null, access: "view" },
|
|
5241
6167
|
"osd.setOverlay": { capName: "osd", capScope: "device", addonId: null, access: "create" },
|
|
5242
6168
|
"pipelineAnalytics.clearTracks": { capName: "pipeline-analytics", capScope: "device", addonId: null, access: "delete" },
|
|
5243
6169
|
"pipelineAnalytics.getActiveTracks": { capName: "pipeline-analytics", capScope: "device", addonId: null, access: "view" },
|
|
5244
6170
|
"pipelineAnalytics.getAudioEvents": { capName: "pipeline-analytics", capScope: "device", addonId: null, access: "view" },
|
|
6171
|
+
"pipelineAnalytics.getEventDensity": { capName: "pipeline-analytics", capScope: "device", addonId: null, access: "view" },
|
|
5245
6172
|
"pipelineAnalytics.getEventMedia": { capName: "pipeline-analytics", capScope: "device", addonId: null, access: "view" },
|
|
5246
6173
|
"pipelineAnalytics.getMotionEvents": { capName: "pipeline-analytics", capScope: "device", addonId: null, access: "view" },
|
|
5247
6174
|
"pipelineAnalytics.getObjectEvents": { capName: "pipeline-analytics", capScope: "device", addonId: null, access: "view" },
|
|
5248
6175
|
"pipelineAnalytics.getTrack": { capName: "pipeline-analytics", capScope: "device", addonId: null, access: "view" },
|
|
5249
6176
|
"pipelineAnalytics.getTrackMedia": { capName: "pipeline-analytics", capScope: "device", addonId: null, access: "view" },
|
|
5250
6177
|
"pipelineAnalytics.listTracks": { capName: "pipeline-analytics", capScope: "device", addonId: null, access: "view" },
|
|
6178
|
+
"pipelineAnalytics.pruneEventsBefore": { capName: "pipeline-analytics", capScope: "device", addonId: null, access: "create" },
|
|
5251
6179
|
"pipelineExecutor.cacheFrameInPool": { capName: "pipeline-executor", capScope: "system", addonId: null, access: "create" },
|
|
5252
6180
|
"pipelineExecutor.deleteModel": { capName: "pipeline-executor", capScope: "system", addonId: null, access: "delete" },
|
|
5253
6181
|
"pipelineExecutor.deleteTemplate": { capName: "pipeline-executor", capScope: "system", addonId: null, access: "delete" },
|
|
@@ -5326,7 +6254,9 @@ const METHOD_ACCESS_MAP = Object.freeze({
|
|
|
5326
6254
|
"pipelineRunner.reportMotion": { capName: "pipeline-runner", capScope: "system", addonId: null, access: "create" },
|
|
5327
6255
|
"platformProbe.getCapabilities": { capName: "platform-probe", capScope: "system", addonId: null, access: "view" },
|
|
5328
6256
|
"platformProbe.getHardware": { capName: "platform-probe", capScope: "system", addonId: null, access: "view" },
|
|
6257
|
+
"platformProbe.getHardwareDecodeAccels": { capName: "platform-probe", capScope: "system", addonId: null, access: "view" },
|
|
5329
6258
|
"platformProbe.getHardwareEncoders": { capName: "platform-probe", capScope: "system", addonId: null, access: "view" },
|
|
6259
|
+
"platformProbe.refreshHardwareDecodeAccels": { capName: "platform-probe", capScope: "system", addonId: null, access: "create" },
|
|
5330
6260
|
"platformProbe.refreshHardwareEncoders": { capName: "platform-probe", capScope: "system", addonId: null, access: "create" },
|
|
5331
6261
|
"platformProbe.resolveHwAccel": { capName: "platform-probe", capScope: "system", addonId: null, access: "view" },
|
|
5332
6262
|
"platformProbe.resolveInferenceConfig": { capName: "platform-probe", capScope: "system", addonId: null, access: "view" },
|
|
@@ -5348,34 +6278,23 @@ const METHOD_ACCESS_MAP = Object.freeze({
|
|
|
5348
6278
|
"ptzAutotrack.setEnabled": { capName: "ptz-autotrack", capScope: "device", addonId: null, access: "create" },
|
|
5349
6279
|
"ptzAutotrack.setSettings": { capName: "ptz-autotrack", capScope: "device", addonId: null, access: "create" },
|
|
5350
6280
|
"reboot.reboot": { capName: "reboot", capScope: "device", addonId: null, access: "create" },
|
|
5351
|
-
"recording.
|
|
5352
|
-
"recording.
|
|
5353
|
-
"recording.
|
|
5354
|
-
"
|
|
5355
|
-
"
|
|
5356
|
-
"
|
|
5357
|
-
"
|
|
5358
|
-
"recordingEngine.getAvailability": { capName: "recording-engine", capScope: "system", addonId: null, access: "view" },
|
|
5359
|
-
"recordingEngine.getConfig": { capName: "recording-engine", capScope: "system", addonId: null, access: "view" },
|
|
5360
|
-
"recordingEngine.getMotionStats": { capName: "recording-engine", capScope: "system", addonId: null, access: "view" },
|
|
5361
|
-
"recordingEngine.getPlaylist": { capName: "recording-engine", capScope: "system", addonId: null, access: "view" },
|
|
5362
|
-
"recordingEngine.getPolicy": { capName: "recording-engine", capScope: "system", addonId: null, access: "view" },
|
|
5363
|
-
"recordingEngine.getPolicyStatus": { capName: "recording-engine", capScope: "system", addonId: null, access: "view" },
|
|
5364
|
-
"recordingEngine.getRetentionConfig": { capName: "recording-engine", capScope: "system", addonId: null, access: "view" },
|
|
5365
|
-
"recordingEngine.getSegments": { capName: "recording-engine", capScope: "system", addonId: null, access: "view" },
|
|
5366
|
-
"recordingEngine.getStatus": { capName: "recording-engine", capScope: "system", addonId: null, access: "view" },
|
|
5367
|
-
"recordingEngine.getStorageUsage": { capName: "recording-engine", capScope: "system", addonId: null, access: "view" },
|
|
5368
|
-
"recordingEngine.getThumbnail": { capName: "recording-engine", capScope: "system", addonId: null, access: "view" },
|
|
5369
|
-
"recordingEngine.setPolicy": { capName: "recording-engine", capScope: "system", addonId: null, access: "create" },
|
|
5370
|
-
"recordingEngine.updateConfig": { capName: "recording-engine", capScope: "system", addonId: null, access: "create" },
|
|
5371
|
-
"recordingEngine.updateRetentionConfig": { capName: "recording-engine", capScope: "system", addonId: null, access: "create" },
|
|
6281
|
+
"recording.getAvailability": { capName: "recording", capScope: "system", addonId: null, access: "view" },
|
|
6282
|
+
"recording.getDeviceConfig": { capName: "recording", capScope: "system", addonId: null, access: "view" },
|
|
6283
|
+
"recording.getPlaybackManifest": { capName: "recording", capScope: "system", addonId: null, access: "view" },
|
|
6284
|
+
"recording.getStorageUsage": { capName: "recording", capScope: "system", addonId: null, access: "view" },
|
|
6285
|
+
"recording.pruneFootage": { capName: "recording", capScope: "system", addonId: null, access: "create" },
|
|
6286
|
+
"recording.rescanStorage": { capName: "recording", capScope: "system", addonId: null, access: "create" },
|
|
6287
|
+
"recording.setDeviceConfig": { capName: "recording", capScope: "system", addonId: null, access: "create" },
|
|
5372
6288
|
"restreamer.getExposedResources": { capName: "restreamer", capScope: "system", addonId: null, access: "view" },
|
|
5373
6289
|
"restreamer.registerDevice": { capName: "restreamer", capScope: "system", addonId: null, access: "create" },
|
|
5374
6290
|
"restreamer.unregisterDevice": { capName: "restreamer", capScope: "system", addonId: null, access: "delete" },
|
|
6291
|
+
"scriptRunner.run": { capName: "script-runner", capScope: "device", addonId: null, access: "create" },
|
|
6292
|
+
"scriptRunner.stop": { capName: "script-runner", capScope: "device", addonId: null, access: "create" },
|
|
5375
6293
|
"settingsStore.count": { capName: "settings-store", capScope: "system", addonId: null, access: "view" },
|
|
5376
6294
|
"settingsStore.declareCollection": { capName: "settings-store", capScope: "system", addonId: null, access: "create" },
|
|
5377
6295
|
"settingsStore.delete": { capName: "settings-store", capScope: "system", addonId: null, access: "delete" },
|
|
5378
6296
|
"settingsStore.get": { capName: "settings-store", capScope: "system", addonId: null, access: "view" },
|
|
6297
|
+
"settingsStore.histogram": { capName: "settings-store", capScope: "system", addonId: null, access: "view" },
|
|
5379
6298
|
"settingsStore.insert": { capName: "settings-store", capScope: "system", addonId: null, access: "create" },
|
|
5380
6299
|
"settingsStore.isEmpty": { capName: "settings-store", capScope: "system", addonId: null, access: "view" },
|
|
5381
6300
|
"settingsStore.query": { capName: "settings-store", capScope: "system", addonId: null, access: "view" },
|
|
@@ -5401,6 +6320,7 @@ const METHOD_ACCESS_MAP = Object.freeze({
|
|
|
5401
6320
|
"storage.getAvailableSpace": { capName: "storage", capScope: "system", addonId: null, access: "view" },
|
|
5402
6321
|
"storage.getDefaultLocation": { capName: "storage", capScope: "system", addonId: null, access: "view" },
|
|
5403
6322
|
"storage.list": { capName: "storage", capScope: "system", addonId: null, access: "view" },
|
|
6323
|
+
"storage.listLocationDeclarations": { capName: "storage", capScope: "system", addonId: null, access: "view" },
|
|
5404
6324
|
"storage.listLocations": { capName: "storage", capScope: "system", addonId: null, access: "view" },
|
|
5405
6325
|
"storage.listProviders": { capName: "storage", capScope: "system", addonId: null, access: "view" },
|
|
5406
6326
|
"storage.read": { capName: "storage", capScope: "system", addonId: null, access: "view" },
|
|
@@ -5411,6 +6331,8 @@ const METHOD_ACCESS_MAP = Object.freeze({
|
|
|
5411
6331
|
"storage.upsertLocation": { capName: "storage", capScope: "system", addonId: null, access: "create" },
|
|
5412
6332
|
"storage.write": { capName: "storage", capScope: "system", addonId: null, access: "create" },
|
|
5413
6333
|
"storage.writeChunk": { capName: "storage", capScope: "system", addonId: null, access: "create" },
|
|
6334
|
+
"storageEvictable.evict": { capName: "storage-evictable", capScope: "system", addonId: null, access: "create" },
|
|
6335
|
+
"storageEvictable.getEvictableUsage": { capName: "storage-evictable", capScope: "system", addonId: null, access: "view" },
|
|
5414
6336
|
"storageProvider.abortUpload": { capName: "storage-provider", capScope: "system", addonId: null, access: "create" },
|
|
5415
6337
|
"storageProvider.beginDownload": { capName: "storage-provider", capScope: "system", addonId: null, access: "create" },
|
|
5416
6338
|
"storageProvider.beginUpload": { capName: "storage-provider", capScope: "system", addonId: null, access: "create" },
|
|
@@ -5472,6 +6394,7 @@ const METHOD_ACCESS_MAP = Object.freeze({
|
|
|
5472
6394
|
"system.setRetentionConfig": { capName: "system", capScope: "system", addonId: null, access: "create" },
|
|
5473
6395
|
"toast.onToast": { capName: "toast", capScope: "system", addonId: null, access: "view" },
|
|
5474
6396
|
"turnProvider.getTurnServers": { capName: "turn-provider", capScope: "system", addonId: null, access: "view" },
|
|
6397
|
+
"update.installUpdate": { capName: "update", capScope: "device", addonId: null, access: "create" },
|
|
5475
6398
|
"userManagement.confirmTotp": { capName: "user-management", capScope: "system", addonId: null, access: "create" },
|
|
5476
6399
|
"userManagement.createApiKey": { capName: "user-management", capScope: "system", addonId: null, access: "create" },
|
|
5477
6400
|
"userManagement.createScopedToken": { capName: "user-management", capScope: "system", addonId: null, access: "create" },
|
|
@@ -5504,6 +6427,19 @@ const METHOD_ACCESS_MAP = Object.freeze({
|
|
|
5504
6427
|
"userPasskeys.finishRegistration": { capName: "user-passkeys", capScope: "system", addonId: null, access: "create" },
|
|
5505
6428
|
"userPasskeys.listPasskeys": { capName: "user-passkeys", capScope: "system", addonId: null, access: "view" },
|
|
5506
6429
|
"userPasskeys.removePasskey": { capName: "user-passkeys", capScope: "system", addonId: null, access: "delete" },
|
|
6430
|
+
"vacuumControl.locate": { capName: "vacuum-control", capScope: "device", addonId: null, access: "create" },
|
|
6431
|
+
"vacuumControl.pause": { capName: "vacuum-control", capScope: "device", addonId: null, access: "create" },
|
|
6432
|
+
"vacuumControl.returnToBase": { capName: "vacuum-control", capScope: "device", addonId: null, access: "create" },
|
|
6433
|
+
"vacuumControl.setFanSpeed": { capName: "vacuum-control", capScope: "device", addonId: null, access: "create" },
|
|
6434
|
+
"vacuumControl.start": { capName: "vacuum-control", capScope: "device", addonId: null, access: "create" },
|
|
6435
|
+
"vacuumControl.stop": { capName: "vacuum-control", capScope: "device", addonId: null, access: "create" },
|
|
6436
|
+
"valve.close": { capName: "valve", capScope: "device", addonId: null, access: "create" },
|
|
6437
|
+
"valve.open": { capName: "valve", capScope: "device", addonId: null, access: "create" },
|
|
6438
|
+
"valve.setPosition": { capName: "valve", capScope: "device", addonId: null, access: "create" },
|
|
6439
|
+
"valve.stop": { capName: "valve", capScope: "device", addonId: null, access: "create" },
|
|
6440
|
+
"waterHeater.setAway": { capName: "water-heater", capScope: "device", addonId: null, access: "create" },
|
|
6441
|
+
"waterHeater.setOperationMode": { capName: "water-heater", capScope: "device", addonId: null, access: "create" },
|
|
6442
|
+
"waterHeater.setTargetTemp": { capName: "water-heater", capScope: "device", addonId: null, access: "create" },
|
|
5507
6443
|
"webrtc.closeSession": { capName: "webrtc", capScope: "system", addonId: null, access: "create" },
|
|
5508
6444
|
"webrtc.createSession": { capName: "webrtc", capScope: "system", addonId: null, access: "create" },
|
|
5509
6445
|
"webrtc.handleAnswer": { capName: "webrtc", capScope: "system", addonId: null, access: "create" },
|
|
@@ -5516,6 +6452,7 @@ const METHOD_ACCESS_MAP = Object.freeze({
|
|
|
5516
6452
|
"webrtcSession.closeSession": { capName: "webrtc-session", capScope: "device", addonId: null, access: "create" },
|
|
5517
6453
|
"webrtcSession.createSession": { capName: "webrtc-session", capScope: "device", addonId: null, access: "create" },
|
|
5518
6454
|
"webrtcSession.getIceCandidates": { capName: "webrtc-session", capScope: "device", addonId: null, access: "view" },
|
|
6455
|
+
"webrtcSession.getSessionState": { capName: "webrtc-session", capScope: "device", addonId: null, access: "view" },
|
|
5519
6456
|
"webrtcSession.handleAnswer": { capName: "webrtc-session", capScope: "device", addonId: null, access: "create" },
|
|
5520
6457
|
"webrtcSession.handleOffer": { capName: "webrtc-session", capScope: "device", addonId: null, access: "create" },
|
|
5521
6458
|
"webrtcSession.hasAdaptiveBitrate": { capName: "webrtc-session", capScope: "device", addonId: null, access: "view" },
|
|
@@ -5532,6 +6469,7 @@ const METHOD_ACCESS_MAP = Object.freeze({
|
|
|
5532
6469
|
"zones.updateZone": { capName: "zones", capScope: "device", addonId: null, access: "create" }
|
|
5533
6470
|
});
|
|
5534
6471
|
const KNOWN_CAP_NAMES = [
|
|
6472
|
+
"accessories",
|
|
5535
6473
|
"addon-pages",
|
|
5536
6474
|
"addon-pages-source",
|
|
5537
6475
|
"addon-routes",
|
|
@@ -5541,17 +6479,28 @@ const KNOWN_CAP_NAMES = [
|
|
|
5541
6479
|
"addons",
|
|
5542
6480
|
"admin-ui",
|
|
5543
6481
|
"advanced-notifier",
|
|
6482
|
+
"alarm-panel",
|
|
5544
6483
|
"alerts",
|
|
5545
6484
|
"audio-analysis",
|
|
5546
6485
|
"audio-analyzer",
|
|
5547
6486
|
"audio-codec",
|
|
5548
6487
|
"audio-metrics",
|
|
5549
6488
|
"auth-provider",
|
|
6489
|
+
"automation-control",
|
|
5550
6490
|
"backup",
|
|
6491
|
+
"battery",
|
|
5551
6492
|
"brightness",
|
|
6493
|
+
"broker",
|
|
6494
|
+
"button",
|
|
5552
6495
|
"camera-credentials",
|
|
5553
6496
|
"camera-streams",
|
|
6497
|
+
"climate-control",
|
|
6498
|
+
"color",
|
|
6499
|
+
"consumables",
|
|
6500
|
+
"control",
|
|
6501
|
+
"cover",
|
|
5554
6502
|
"decoder",
|
|
6503
|
+
"device-adoption",
|
|
5555
6504
|
"device-discovery",
|
|
5556
6505
|
"device-export",
|
|
5557
6506
|
"device-manager",
|
|
@@ -5560,10 +6509,15 @@ const KNOWN_CAP_NAMES = [
|
|
|
5560
6509
|
"device-state",
|
|
5561
6510
|
"embedding-encoder",
|
|
5562
6511
|
"events",
|
|
6512
|
+
"fan-control",
|
|
6513
|
+
"humidifier",
|
|
5563
6514
|
"integrations",
|
|
5564
6515
|
"intercom",
|
|
6516
|
+
"lawn-mower-control",
|
|
5565
6517
|
"local-network",
|
|
6518
|
+
"lock-control",
|
|
5566
6519
|
"log-destination",
|
|
6520
|
+
"media-player",
|
|
5567
6521
|
"mesh-network",
|
|
5568
6522
|
"metrics-provider",
|
|
5569
6523
|
"motion",
|
|
@@ -5576,6 +6530,7 @@ const KNOWN_CAP_NAMES = [
|
|
|
5576
6530
|
"network-quality",
|
|
5577
6531
|
"nodes",
|
|
5578
6532
|
"notification-output",
|
|
6533
|
+
"notifier",
|
|
5579
6534
|
"oauth-integration",
|
|
5580
6535
|
"osd",
|
|
5581
6536
|
"pipeline-analytics",
|
|
@@ -5588,14 +6543,15 @@ const KNOWN_CAP_NAMES = [
|
|
|
5588
6543
|
"ptz-autotrack",
|
|
5589
6544
|
"reboot",
|
|
5590
6545
|
"recording",
|
|
5591
|
-
"recording-engine",
|
|
5592
6546
|
"restreamer",
|
|
6547
|
+
"script-runner",
|
|
5593
6548
|
"settings-store",
|
|
5594
6549
|
"smtp-provider",
|
|
5595
6550
|
"snapshot",
|
|
5596
6551
|
"snapshot-provider",
|
|
5597
6552
|
"sso-bridge",
|
|
5598
6553
|
"storage",
|
|
6554
|
+
"storage-evictable",
|
|
5599
6555
|
"storage-provider",
|
|
5600
6556
|
"stream-broker",
|
|
5601
6557
|
"stream-catalog",
|
|
@@ -5605,8 +6561,12 @@ const KNOWN_CAP_NAMES = [
|
|
|
5605
6561
|
"system",
|
|
5606
6562
|
"toast",
|
|
5607
6563
|
"turn-provider",
|
|
6564
|
+
"update",
|
|
5608
6565
|
"user-management",
|
|
5609
6566
|
"user-passkeys",
|
|
6567
|
+
"vacuum-control",
|
|
6568
|
+
"valve",
|
|
6569
|
+
"water-heater",
|
|
5610
6570
|
"webrtc",
|
|
5611
6571
|
"webrtc-session",
|
|
5612
6572
|
"zone-analytics",
|
|
@@ -5614,31 +6574,51 @@ const KNOWN_CAP_NAMES = [
|
|
|
5614
6574
|
"zones"
|
|
5615
6575
|
];
|
|
5616
6576
|
const DEVICE_CAP_NAMES = [
|
|
6577
|
+
"accessories",
|
|
6578
|
+
"alarm-panel",
|
|
5617
6579
|
"audio-analysis",
|
|
5618
6580
|
"audio-metrics",
|
|
6581
|
+
"automation-control",
|
|
6582
|
+
"battery",
|
|
5619
6583
|
"brightness",
|
|
6584
|
+
"button",
|
|
5620
6585
|
"camera-credentials",
|
|
5621
6586
|
"camera-streams",
|
|
6587
|
+
"climate-control",
|
|
6588
|
+
"color",
|
|
6589
|
+
"consumables",
|
|
6590
|
+
"control",
|
|
6591
|
+
"cover",
|
|
5622
6592
|
"device-discovery",
|
|
5623
6593
|
"device-ops",
|
|
5624
6594
|
"events",
|
|
6595
|
+
"fan-control",
|
|
6596
|
+
"humidifier",
|
|
5625
6597
|
"intercom",
|
|
6598
|
+
"lawn-mower-control",
|
|
6599
|
+
"lock-control",
|
|
6600
|
+
"media-player",
|
|
5626
6601
|
"motion",
|
|
5627
6602
|
"motion-detection",
|
|
5628
6603
|
"motion-trigger",
|
|
5629
6604
|
"motion-zones",
|
|
5630
6605
|
"native-object-detection",
|
|
6606
|
+
"notifier",
|
|
5631
6607
|
"osd",
|
|
5632
6608
|
"pipeline-analytics",
|
|
5633
6609
|
"privacy-mask",
|
|
5634
6610
|
"ptz",
|
|
5635
6611
|
"ptz-autotrack",
|
|
5636
6612
|
"reboot",
|
|
5637
|
-
"
|
|
6613
|
+
"script-runner",
|
|
5638
6614
|
"snapshot",
|
|
5639
6615
|
"stream-catalog",
|
|
5640
6616
|
"stream-params",
|
|
5641
6617
|
"switch",
|
|
6618
|
+
"update",
|
|
6619
|
+
"vacuum-control",
|
|
6620
|
+
"valve",
|
|
6621
|
+
"water-heater",
|
|
5642
6622
|
"webrtc-session",
|
|
5643
6623
|
"zone-analytics",
|
|
5644
6624
|
"zone-rules",
|
|
@@ -5659,7 +6639,9 @@ const SYSTEM_CAP_NAMES = [
|
|
|
5659
6639
|
"audio-codec",
|
|
5660
6640
|
"auth-provider",
|
|
5661
6641
|
"backup",
|
|
6642
|
+
"broker",
|
|
5662
6643
|
"decoder",
|
|
6644
|
+
"device-adoption",
|
|
5663
6645
|
"device-export",
|
|
5664
6646
|
"device-manager",
|
|
5665
6647
|
"device-provider",
|
|
@@ -5680,13 +6662,14 @@ const SYSTEM_CAP_NAMES = [
|
|
|
5680
6662
|
"pipeline-orchestrator",
|
|
5681
6663
|
"pipeline-runner",
|
|
5682
6664
|
"platform-probe",
|
|
5683
|
-
"recording
|
|
6665
|
+
"recording",
|
|
5684
6666
|
"restreamer",
|
|
5685
6667
|
"settings-store",
|
|
5686
6668
|
"smtp-provider",
|
|
5687
6669
|
"snapshot-provider",
|
|
5688
6670
|
"sso-bridge",
|
|
5689
6671
|
"storage",
|
|
6672
|
+
"storage-evictable",
|
|
5690
6673
|
"storage-provider",
|
|
5691
6674
|
"stream-broker",
|
|
5692
6675
|
"streaming-engine",
|
|
@@ -5734,6 +6717,7 @@ const SCOPE_PRESETS = [
|
|
|
5734
6717
|
}
|
|
5735
6718
|
];
|
|
5736
6719
|
const CAP_PROVIDER_KIND_MAP = Object.freeze({
|
|
6720
|
+
"broker": "broker",
|
|
5737
6721
|
"device-export": "device-export",
|
|
5738
6722
|
"mesh-network": "mesh",
|
|
5739
6723
|
"mqtt-broker": "broker",
|
|
@@ -5741,6 +6725,7 @@ const CAP_PROVIDER_KIND_MAP = Object.freeze({
|
|
|
5741
6725
|
"smtp-provider": "email"
|
|
5742
6726
|
});
|
|
5743
6727
|
const PROVIDER_KIND_CAP_NAMES = [
|
|
6728
|
+
"broker",
|
|
5744
6729
|
"device-export",
|
|
5745
6730
|
"mesh-network",
|
|
5746
6731
|
"mqtt-broker",
|
|
@@ -5754,6 +6739,46 @@ function getCapsByProviderKind(kind) {
|
|
|
5754
6739
|
}
|
|
5755
6740
|
return out;
|
|
5756
6741
|
}
|
|
6742
|
+
function levenshtein(a, b) {
|
|
6743
|
+
const m = a.length;
|
|
6744
|
+
const n = b.length;
|
|
6745
|
+
if (m === 0) return n;
|
|
6746
|
+
if (n === 0) return m;
|
|
6747
|
+
const prevRow = Array.from({ length: n + 1 }, (_, k) => k);
|
|
6748
|
+
const currRow = Array.from({ length: n + 1 }, () => 0);
|
|
6749
|
+
for (let i = 1; i <= m; i++) {
|
|
6750
|
+
currRow[0] = i;
|
|
6751
|
+
let diagVal = prevRow[0] ?? 0;
|
|
6752
|
+
for (let j = 1; j <= n; j++) {
|
|
6753
|
+
const above = prevRow[j] ?? 0;
|
|
6754
|
+
const left = currRow[j - 1] ?? 0;
|
|
6755
|
+
const cost = a.charCodeAt(i - 1) === b.charCodeAt(j - 1) ? 0 : 1;
|
|
6756
|
+
currRow[j] = Math.min(above + 1, left + 1, diagVal + cost);
|
|
6757
|
+
diagVal = above;
|
|
6758
|
+
}
|
|
6759
|
+
for (let j = 0; j <= n; j++) prevRow[j] = currRow[j] ?? 0;
|
|
6760
|
+
}
|
|
6761
|
+
return prevRow[n] ?? 0;
|
|
6762
|
+
}
|
|
6763
|
+
function locationSimilarity(a, b) {
|
|
6764
|
+
const x = a.trim().toLowerCase();
|
|
6765
|
+
const y = b.trim().toLowerCase();
|
|
6766
|
+
if (x === y) return 1;
|
|
6767
|
+
if (x.length === 0 || y.length === 0) return 0;
|
|
6768
|
+
return 1 - levenshtein(x, y) / Math.max(x.length, y.length);
|
|
6769
|
+
}
|
|
6770
|
+
function bestLocationMatch(externalName, existing, threshold = 0.8) {
|
|
6771
|
+
let best = null;
|
|
6772
|
+
let bestScore = 0;
|
|
6773
|
+
for (const name of existing) {
|
|
6774
|
+
const score = locationSimilarity(externalName, name);
|
|
6775
|
+
if (score >= threshold && score > bestScore) {
|
|
6776
|
+
best = name;
|
|
6777
|
+
bestScore = score;
|
|
6778
|
+
}
|
|
6779
|
+
}
|
|
6780
|
+
return best;
|
|
6781
|
+
}
|
|
5757
6782
|
const CREDENTIAL_PARAM_PATTERNS = [
|
|
5758
6783
|
/^user$/i,
|
|
5759
6784
|
/^usr$/i,
|
|
@@ -5907,6 +6932,24 @@ function cellsToRects(cells, gridWidth, gridHeight, maxRegions) {
|
|
|
5907
6932
|
h: (block.rowEnd - block.rowStart + 1) / gridHeight
|
|
5908
6933
|
}));
|
|
5909
6934
|
}
|
|
6935
|
+
function sleep(ms) {
|
|
6936
|
+
return new Promise((resolve) => setTimeout(resolve, Math.max(0, ms)));
|
|
6937
|
+
}
|
|
6938
|
+
function sleepCancellable(ms, signal) {
|
|
6939
|
+
if (signal.aborted) return Promise.resolve();
|
|
6940
|
+
return new Promise((resolve) => {
|
|
6941
|
+
const timer = setTimeout(() => {
|
|
6942
|
+
signal.removeEventListener("abort", onAbort);
|
|
6943
|
+
resolve();
|
|
6944
|
+
}, Math.max(0, ms));
|
|
6945
|
+
const onAbort = () => {
|
|
6946
|
+
clearTimeout(timer);
|
|
6947
|
+
signal.removeEventListener("abort", onAbort);
|
|
6948
|
+
resolve();
|
|
6949
|
+
};
|
|
6950
|
+
signal.addEventListener("abort", onAbort, { once: true });
|
|
6951
|
+
});
|
|
6952
|
+
}
|
|
5910
6953
|
function bindAddonActions(api, addonId, catalog) {
|
|
5911
6954
|
const out = {};
|
|
5912
6955
|
for (const action of Object.keys(catalog)) {
|
|
@@ -5928,11 +6971,24 @@ exports.AddonAutoUpdateSchema = index.AddonAutoUpdateSchema;
|
|
|
5928
6971
|
exports.AddonListItemSchema = index.AddonListItemSchema;
|
|
5929
6972
|
exports.AddonPageDeclarationSchema = index.AddonPageDeclarationSchema;
|
|
5930
6973
|
exports.AddonPageInfoSchema = index.AddonPageInfoSchema;
|
|
6974
|
+
exports.AdoptionAdoptInputSchema = index.AdoptInputSchema;
|
|
6975
|
+
exports.AdoptionAdoptResultSchema = index.AdoptResultSchema;
|
|
6976
|
+
exports.AdoptionFilterSchema = index.AdoptionFilterSchema;
|
|
6977
|
+
exports.AdoptionGetCandidateInputSchema = index.GetCandidateInputSchema;
|
|
6978
|
+
exports.AdoptionListCandidatesInputSchema = index.ListCandidatesInputSchema;
|
|
6979
|
+
exports.AdoptionListCandidatesOutputSchema = index.ListCandidatesOutputSchema;
|
|
6980
|
+
exports.AdoptionReleaseInputSchema = index.ReleaseInputSchema;
|
|
6981
|
+
exports.AdoptionStatusSchema = index.AdoptionStatusSchema;
|
|
5931
6982
|
exports.AgentLoadSummarySchema = index.AgentLoadSummarySchema;
|
|
6983
|
+
exports.AirQualitySensorStatusSchema = index.AirQualitySensorStatusSchema;
|
|
6984
|
+
exports.AlarmArmModeSchema = index.AlarmArmModeSchema;
|
|
6985
|
+
exports.AlarmPanelStatusSchema = index.AlarmPanelStatusSchema;
|
|
6986
|
+
exports.AlarmStateSchema = index.AlarmStateSchema;
|
|
5932
6987
|
exports.AlertSchema = index.AlertSchema;
|
|
5933
6988
|
exports.AlertSeveritySchema = index.AlertSeveritySchema;
|
|
5934
6989
|
exports.AlertSourceSchema = index.AlertSourceSchema;
|
|
5935
6990
|
exports.AlertStatusSchema = index.AlertStatusSchema;
|
|
6991
|
+
exports.AmbientLightSensorStatusSchema = index.AmbientLightSensorStatusSchema;
|
|
5936
6992
|
exports.ApiKeyRecordSchema = index.ApiKeyRecordSchema;
|
|
5937
6993
|
exports.ApiKeySummarySchema = index.ApiKeySummarySchema;
|
|
5938
6994
|
exports.ArchiveEntrySchema = index.ArchiveEntrySchema;
|
|
@@ -5945,6 +7001,7 @@ exports.AudioClassificationLabelSchema = index.AudioClassificationLabelSchema;
|
|
|
5945
7001
|
exports.AudioClassificationResultSchema = index.AudioClassificationResultSchema;
|
|
5946
7002
|
exports.AudioCodecInfoSchema = index.AudioCodecInfoSchema;
|
|
5947
7003
|
exports.AudioDecodeSessionConfigSchema = index.AudioDecodeSessionConfigSchema;
|
|
7004
|
+
exports.AudioEncodeSchema = index.AudioEncodeSchema;
|
|
5948
7005
|
exports.AudioEncodeSessionConfigSchema = index.AudioEncodeSessionConfigSchema;
|
|
5949
7006
|
exports.AudioEncodedChunkSchema = index.AudioEncodedChunkSchema;
|
|
5950
7007
|
exports.AudioEventSchema = index.AudioEventSchema;
|
|
@@ -5955,21 +7012,36 @@ exports.AudioMetricsSnapshotSchema = index.AudioMetricsSnapshotSchema;
|
|
|
5955
7012
|
exports.AudioPcmChunkSchema = index.AudioPcmChunkSchema;
|
|
5956
7013
|
exports.AuthResultSchema = index.AuthResultSchema;
|
|
5957
7014
|
exports.AutoUpdateSettingsSchema = index.AutoUpdateSettingsSchema;
|
|
7015
|
+
exports.AutomationControlStatusSchema = index.AutomationControlStatusSchema;
|
|
5958
7016
|
exports.AvailableIntegrationTypeSchema = index.AvailableIntegrationTypeSchema;
|
|
5959
7017
|
exports.BATTERY_DEVICE_PROFILE = index.BATTERY_DEVICE_PROFILE;
|
|
5960
7018
|
exports.BackupDestinationInfoSchema = index.BackupDestinationInfoSchema;
|
|
5961
7019
|
exports.BackupEntrySchema = index.BackupEntrySchema;
|
|
5962
7020
|
exports.BatteryStatusSchema = index.BatteryStatusSchema;
|
|
7021
|
+
exports.BinaryStatusSchema = index.BinaryStatusSchema;
|
|
5963
7022
|
exports.BoundingBoxSchema = index.BoundingBoxSchema;
|
|
5964
7023
|
exports.BrightnessStatusSchema = index.BrightnessStatusSchema;
|
|
7024
|
+
exports.BrokerAddInputSchema = index.AddInputSchema;
|
|
5965
7025
|
exports.BrokerAudioClientSchema = index.BrokerAudioClientSchema;
|
|
5966
7026
|
exports.BrokerClientsSchema = index.BrokerClientsSchema;
|
|
5967
7027
|
exports.BrokerConnectionDetailsSchema = index.BrokerConnectionDetailsSchema;
|
|
7028
|
+
exports.BrokerConsumerAttributionSchema = index.BrokerConsumerAttributionSchema;
|
|
7029
|
+
exports.BrokerConsumerKindSchema = index.BrokerConsumerKindSchema;
|
|
5968
7030
|
exports.BrokerDecodedClientSchema = index.BrokerDecodedClientSchema;
|
|
7031
|
+
exports.BrokerEncodedClientSchema = index.BrokerEncodedClientSchema;
|
|
7032
|
+
exports.BrokerGetStateInputSchema = index.GetStateInputSchema;
|
|
5969
7033
|
exports.BrokerInfoSchema = index.BrokerInfoSchema;
|
|
7034
|
+
exports.BrokerProviderInfoSchema = index.BrokerProviderInfoSchema;
|
|
7035
|
+
exports.BrokerPublishInputSchema = index.PublishInputSchema;
|
|
7036
|
+
exports.BrokerRegistryStatusSchema = index.RegistryStatusSchema;
|
|
5970
7037
|
exports.BrokerRtspClientSchema = index.BrokerRtspClientSchema;
|
|
5971
7038
|
exports.BrokerStatsSchema = index.BrokerStatsSchema;
|
|
7039
|
+
exports.BrokerStatusEnum = index.BrokerStatusEnum;
|
|
5972
7040
|
exports.BrokerStatusSchema = index.BrokerStatusSchema;
|
|
7041
|
+
exports.BrokerSubscribeInputSchema = index.SubscribeInputSchema;
|
|
7042
|
+
exports.BrokerSubscribeResultSchema = index.SubscribeResultSchema;
|
|
7043
|
+
exports.BrokerTestConnectionResultSchema = index.TestConnectionResultSchema;
|
|
7044
|
+
exports.BrokerUnsubscribeInputSchema = index.UnsubscribeInputSchema;
|
|
5973
7045
|
exports.CAM_PROFILE_ORDER = index.CAM_PROFILE_ORDER;
|
|
5974
7046
|
exports.CamProfileSchema = index.CamProfileSchema;
|
|
5975
7047
|
exports.CamStreamDescriptorSchema = index.CamStreamDescriptorSchema;
|
|
@@ -5980,17 +7052,29 @@ exports.CameraCredentialsStatusSchema = index.CameraCredentialsStatusSchema;
|
|
|
5980
7052
|
exports.CameraMetricsSchema = index.CameraMetricsSchema;
|
|
5981
7053
|
exports.CameraMetricsWithDeviceIdSchema = index.CameraMetricsWithDeviceIdSchema;
|
|
5982
7054
|
exports.CameraStreamSchema = index.CameraStreamSchema;
|
|
7055
|
+
exports.CandidateQueryFilterSchema = index.CandidateQueryFilterSchema;
|
|
5983
7056
|
exports.CapScopeSchema = index.CapScopeSchema;
|
|
5984
7057
|
exports.CapabilityBindingsSchema = index.CapabilityBindingsSchema;
|
|
7058
|
+
exports.CarbonMonoxideStatusSchema = index.CarbonMonoxideStatusSchema;
|
|
5985
7059
|
exports.ChargingStatus = index.ChargingStatus;
|
|
5986
7060
|
exports.ClientNetworkStatsSchema = index.ClientNetworkStatsSchema;
|
|
7061
|
+
exports.ClimateControlStatusSchema = index.ClimateControlStatusSchema;
|
|
5987
7062
|
exports.ClusterAddonNodeDeploymentSchema = index.ClusterAddonNodeDeploymentSchema;
|
|
5988
7063
|
exports.ClusterAddonStatusEntrySchema = index.ClusterAddonStatusEntrySchema;
|
|
5989
7064
|
exports.CollectionColumnSchema = index.CollectionColumnSchema;
|
|
5990
7065
|
exports.CollectionIndexSchema = index.CollectionIndexSchema;
|
|
7066
|
+
exports.ColorStatusSchema = index.ColorStatusSchema;
|
|
5991
7067
|
exports.ConfigEntrySchema = index.ConfigEntrySchema;
|
|
5992
7068
|
exports.ConfigSectionWithValuesSchema = index.ConfigSectionWithValuesSchema;
|
|
5993
7069
|
exports.ConfigTabDeclarationSchema = index.ConfigTabDeclarationSchema;
|
|
7070
|
+
exports.ConnectivityStatusSchema = index.ConnectivityStatusSchema;
|
|
7071
|
+
exports.ConsumableItemSchema = index.ConsumableItemSchema;
|
|
7072
|
+
exports.ConsumablesStatusSchema = index.ConsumablesStatusSchema;
|
|
7073
|
+
exports.ContactStatusSchema = index.ContactStatusSchema;
|
|
7074
|
+
exports.ControlKindSchema = index.ControlKindSchema;
|
|
7075
|
+
exports.ControlStatusSchema = index.ControlStatusSchema;
|
|
7076
|
+
exports.CoverStateSchema = index.CoverStateSchema;
|
|
7077
|
+
exports.CoverStatusSchema = index.CoverStatusSchema;
|
|
5994
7078
|
exports.CreateApiKeyInputSchema = index.CreateApiKeyInputSchema;
|
|
5995
7079
|
exports.CreateApiKeyResultSchema = index.CreateApiKeyResultSchema;
|
|
5996
7080
|
exports.CreateIntegrationInputSchema = index.CreateIntegrationInputSchema;
|
|
@@ -6027,31 +7111,48 @@ exports.DoorbellPressEventSchema = index.DoorbellPressEventSchema;
|
|
|
6027
7111
|
exports.DoorbellStatusSchema = index.DoorbellStatusSchema;
|
|
6028
7112
|
exports.EmbeddingInfoSchema = index.EmbeddingInfoSchema;
|
|
6029
7113
|
exports.EmbeddingResultSchema = index.EmbeddingResultSchema;
|
|
7114
|
+
exports.EncodeProfileSchema = index.EncodeProfileSchema;
|
|
6030
7115
|
exports.EncodedPacketSchema = index.EncodedPacketSchema;
|
|
6031
7116
|
exports.EnrichedWidgetMetadataSchema = index.EnrichedWidgetMetadataSchema;
|
|
7117
|
+
exports.EnumSensorDateTimeFormatSchema = index.EnumSensorDateTimeFormatSchema;
|
|
7118
|
+
exports.EnumSensorStatusSchema = index.EnumSensorStatusSchema;
|
|
7119
|
+
exports.EventEmitterStatusSchema = index.EventEmitterStatusSchema;
|
|
7120
|
+
exports.EventFireSchema = index.EventFireSchema;
|
|
6032
7121
|
exports.EventItemSchema = index.EventItemSchema;
|
|
6033
7122
|
exports.EventKindSchema = index.EventKindSchema;
|
|
6034
7123
|
exports.ExportSetupFieldSchema = index.ExportSetupFieldSchema;
|
|
6035
7124
|
exports.ExportSetupSchema = index.ExportSetupSchema;
|
|
6036
7125
|
exports.ExposedDeviceSchema = index.ExposedDeviceSchema;
|
|
6037
7126
|
exports.ExposedResourceSchema = index.ExposedResourceSchema;
|
|
7127
|
+
exports.FanControlStatusSchema = index.FanControlStatusSchema;
|
|
7128
|
+
exports.FanDirectionSchema = index.FanDirectionSchema;
|
|
6038
7129
|
exports.FeatureManifestSchema = index.FeatureManifestSchema;
|
|
6039
7130
|
exports.FeatureProbeStatusSchema = index.FeatureProbeStatusSchema;
|
|
7131
|
+
exports.FloodStatusSchema = index.FloodStatusSchema;
|
|
6040
7132
|
exports.FrameHandleFormatSchema = index.FrameHandleFormatSchema;
|
|
6041
7133
|
exports.FrameHandleSchema = index.FrameHandleSchema;
|
|
6042
7134
|
exports.FrameInputSchema = index.FrameInputSchema;
|
|
7135
|
+
exports.GasStatusSchema = index.GasStatusSchema;
|
|
6043
7136
|
exports.GetStreamWithCodecInputSchema = index.GetStreamWithCodecInputSchema;
|
|
6044
7137
|
exports.GlobalMetricsSchema = index.GlobalMetricsSchema;
|
|
6045
7138
|
exports.HWACCEL_OPTIONS = index.HWACCEL_OPTIONS;
|
|
6046
7139
|
exports.HealthStatusSchema = index.HealthStatusSchema;
|
|
6047
7140
|
exports.HistoryPointSchema = index.HistoryPointSchema;
|
|
6048
7141
|
exports.HistoryResolutionEnum = index.HistoryResolutionEnum;
|
|
7142
|
+
exports.HumidifierStatusSchema = index.HumidifierStatusSchema;
|
|
7143
|
+
exports.HumiditySensorStatusSchema = index.HumiditySensorStatusSchema;
|
|
7144
|
+
exports.HvacModeSchema = index.HvacModeSchema;
|
|
7145
|
+
exports.ImageStatusSchema = index.ImageStatusSchema;
|
|
6049
7146
|
exports.InstalledPackageSchema = index.InstalledPackageSchema;
|
|
6050
7147
|
exports.IntegrationLiteSchema = index.IntegrationLiteSchema;
|
|
6051
7148
|
exports.IntegrationWithStateSchema = index.IntegrationWithStateSchema;
|
|
6052
7149
|
exports.IntercomAbilitySchema = index.IntercomAbilitySchema;
|
|
6053
7150
|
exports.IntercomStatusSchema = index.IntercomStatusSchema;
|
|
7151
|
+
exports.LawnMowerActivitySchema = index.LawnMowerActivitySchema;
|
|
7152
|
+
exports.LawnMowerControlStatusSchema = index.LawnMowerControlStatusSchema;
|
|
6054
7153
|
exports.LocationStatSchema = index.LocationStatSchema;
|
|
7154
|
+
exports.LockControlStatusSchema = index.LockControlStatusSchema;
|
|
7155
|
+
exports.LockStateSchema = index.LockStateSchema;
|
|
6055
7156
|
exports.LogEntrySchema = index.LogEntrySchema;
|
|
6056
7157
|
exports.LogLevelSchema = index.LogLevelSchema;
|
|
6057
7158
|
exports.LogStreamEntrySchema = index.LogStreamEntrySchema;
|
|
@@ -6066,6 +7167,9 @@ exports.MaskRectShapeSchema = index.MaskRectShapeSchema;
|
|
|
6066
7167
|
exports.MaskShapeKindSchema = index.MaskShapeKindSchema;
|
|
6067
7168
|
exports.MaskShapeSchema = index.MaskShapeSchema;
|
|
6068
7169
|
exports.MediaFileSchema = index.MediaFileSchema;
|
|
7170
|
+
exports.MediaPlayerRepeatSchema = index.MediaPlayerRepeatSchema;
|
|
7171
|
+
exports.MediaPlayerStateSchema = index.MediaPlayerStateSchema;
|
|
7172
|
+
exports.MediaPlayerStatusSchema = index.MediaPlayerStatusSchema;
|
|
6069
7173
|
exports.MeshPeerSchema = index.MeshPeerSchema;
|
|
6070
7174
|
exports.MeshStatusSchema = index.MeshStatusSchema;
|
|
6071
7175
|
exports.MethodAccessSchema = index.MethodAccessSchema;
|
|
@@ -6093,6 +7197,8 @@ exports.NetworkEndpointSchema = index.NetworkEndpointSchema;
|
|
|
6093
7197
|
exports.NotificationHistoryEntrySchema = index.NotificationHistoryEntrySchema;
|
|
6094
7198
|
exports.NotificationRuleSchema = index.NotificationRuleSchema;
|
|
6095
7199
|
exports.NotificationSchema = index.NotificationSchema;
|
|
7200
|
+
exports.NotifierStatusSchema = index.NotifierStatusSchema;
|
|
7201
|
+
exports.NumericSensorStatusSchema = index.NumericSensorStatusSchema;
|
|
6096
7202
|
exports.OauthIntegrationDescriptorSchema = index.OauthIntegrationDescriptorSchema;
|
|
6097
7203
|
exports.ObjectEventSchema = index.ObjectEventSchema;
|
|
6098
7204
|
exports.OrchestratorMetricsSchema = index.OrchestratorMetricsSchema;
|
|
@@ -6108,6 +7214,9 @@ exports.PackageVersionInfoSchema = index.PackageVersionInfoSchema;
|
|
|
6108
7214
|
exports.PasskeySummarySchema = index.PasskeySummarySchema;
|
|
6109
7215
|
exports.PcmSampleFormatSchema = index.PcmSampleFormatSchema;
|
|
6110
7216
|
exports.PerScopeBreakdownSchema = index.PerScopeBreakdownSchema;
|
|
7217
|
+
exports.PickStreamPreferencesSchema = index.PickStreamPreferencesSchema;
|
|
7218
|
+
exports.PickStreamRequirementsSchema = index.PickStreamRequirementsSchema;
|
|
7219
|
+
exports.PickedCamStreamSchema = index.PickedCamStreamSchema;
|
|
6111
7220
|
exports.PipelineAssignmentSchema = index.PipelineAssignmentSchema;
|
|
6112
7221
|
exports.PipelineDefaultStepSchema = index.PipelineDefaultStepSchema;
|
|
6113
7222
|
exports.PipelineEngineChoiceSchema = index.PipelineEngineChoiceSchema;
|
|
@@ -6115,11 +7224,15 @@ exports.PipelineRunResultBridge = index.PipelineRunResultBridge;
|
|
|
6115
7224
|
exports.PipelineStepInputSchema = index.PipelineStepInputSchema;
|
|
6116
7225
|
exports.PlaceholderReasonSchema = index.PlaceholderReasonSchema;
|
|
6117
7226
|
exports.PolygonPointSchema = index.PolygonPointSchema;
|
|
7227
|
+
exports.PowerMeterStatusSchema = index.PowerMeterStatusSchema;
|
|
7228
|
+
exports.PresenceStatusSchema = index.PresenceStatusSchema;
|
|
7229
|
+
exports.PressureSensorStatusSchema = index.PressureSensorStatusSchema;
|
|
6118
7230
|
exports.PrivacyMaskOptionsSchema = index.PrivacyMaskOptionsSchema;
|
|
6119
7231
|
exports.PrivacyMaskPatchSchema = index.PrivacyMaskPatchSchema;
|
|
6120
7232
|
exports.PrivacyMaskRegionSchema = index.PrivacyMaskRegionSchema;
|
|
6121
7233
|
exports.PrivacyMaskShapeSchema = index.PrivacyMaskShapeSchema;
|
|
6122
7234
|
exports.PrivacyMaskStatusSchema = index.PrivacyMaskStatusSchema;
|
|
7235
|
+
exports.ProfileRtspEntrySchema = index.ProfileRtspEntrySchema;
|
|
6123
7236
|
exports.ProfileSlotSchema = index.ProfileSlotSchema;
|
|
6124
7237
|
exports.ProfileSlotStatusSchema = index.ProfileSlotStatusSchema;
|
|
6125
7238
|
exports.ProviderStatusSchema = index.ProviderStatusSchema;
|
|
@@ -6132,6 +7245,20 @@ exports.PtzPositionSchema = index.PtzPositionSchema;
|
|
|
6132
7245
|
exports.PtzPresetSchema = index.PtzPresetSchema;
|
|
6133
7246
|
exports.PtzStatusSchema = index.PtzStatusSchema;
|
|
6134
7247
|
exports.QueryFilterSchema = index.QueryFilterSchema;
|
|
7248
|
+
exports.RawStateResultSchema = index.RawStateResultSchema;
|
|
7249
|
+
exports.RecordingAvailabilitySchema = index.RecordingAvailabilitySchema;
|
|
7250
|
+
exports.RecordingConfigSchema = index.RecordingConfigSchema;
|
|
7251
|
+
exports.RecordingDeviceUsageSchema = index.RecordingDeviceUsageSchema;
|
|
7252
|
+
exports.RecordingLocationUsageSchema = index.RecordingLocationUsageSchema;
|
|
7253
|
+
exports.RecordingManifestSchema = index.RecordingManifestSchema;
|
|
7254
|
+
exports.RecordingModeSchema = index.RecordingModeSchema;
|
|
7255
|
+
exports.RecordingRangeSchema = index.RecordingRangeSchema;
|
|
7256
|
+
exports.RecordingRetentionSchema = index.RecordingRetentionSchema;
|
|
7257
|
+
exports.RecordingRuleSchema = index.RecordingRuleSchema;
|
|
7258
|
+
exports.RecordingScheduleSchema = index.RecordingScheduleSchema;
|
|
7259
|
+
exports.RecordingStatusSchema = index.RecordingStatusSchema;
|
|
7260
|
+
exports.RecordingStorageUsageSchema = index.RecordingStorageUsageSchema;
|
|
7261
|
+
exports.RecordingWeekdaySchema = index.RecordingWeekdaySchema;
|
|
6135
7262
|
exports.RegisteredStreamSchema = index.RegisteredStreamSchema;
|
|
6136
7263
|
exports.ReportMotionInputSchema = index.ReportMotionInputSchema;
|
|
6137
7264
|
exports.RtpSourceSchema = index.RtpSourceSchema;
|
|
@@ -6140,11 +7267,11 @@ exports.RunnerCameraConfigSchema = index.RunnerCameraConfigSchema;
|
|
|
6140
7267
|
exports.RunnerCameraDeviceUIFields = index.RunnerCameraDeviceUIFields;
|
|
6141
7268
|
exports.RunnerLocalLoadSchema = index.RunnerLocalLoadSchema;
|
|
6142
7269
|
exports.RunnerLocalMetricsSchema = index.RunnerLocalMetricsSchema;
|
|
6143
|
-
exports.
|
|
7270
|
+
exports.SOURCE_INFO_METADATA_KEY = index.SOURCE_INFO_METADATA_KEY;
|
|
6144
7271
|
exports.ScopedTokenSchema = index.ScopedTokenSchema;
|
|
6145
7272
|
exports.ScopedTokenSummarySchema = index.ScopedTokenSummarySchema;
|
|
7273
|
+
exports.ScriptRunnerStatusSchema = index.ScriptRunnerStatusSchema;
|
|
6146
7274
|
exports.SearchResultSchema = index.SearchResultSchema;
|
|
6147
|
-
exports.SegmentSchema = index.SegmentSchema;
|
|
6148
7275
|
exports.SendEmailInputSchema = index.SendEmailInputSchema;
|
|
6149
7276
|
exports.SendEmailResultSchema = index.SendEmailResultSchema;
|
|
6150
7277
|
exports.SettingsPatchSchema = index.SettingsPatchSchema;
|
|
@@ -6152,8 +7279,10 @@ exports.SettingsRecordSchema = index.SettingsRecordSchema;
|
|
|
6152
7279
|
exports.SettingsSchemaWithValuesSchema = index.SettingsSchemaWithValuesSchema;
|
|
6153
7280
|
exports.SettingsUpdateResultSchema = index.SettingsUpdateResultSchema;
|
|
6154
7281
|
exports.ShmRingStatsSchema = index.ShmRingStatsSchema;
|
|
7282
|
+
exports.SmokeStatusSchema = index.SmokeStatusSchema;
|
|
6155
7283
|
exports.SmtpStatusSchema = index.SmtpStatusSchema;
|
|
6156
7284
|
exports.SnapshotImageSchema = index.SnapshotImageSchema;
|
|
7285
|
+
exports.SourceInfoSchema = index.SourceInfoSchema;
|
|
6157
7286
|
exports.SpatialDetectionSchema = index.SpatialDetectionSchema;
|
|
6158
7287
|
exports.SsoBridgeClaimsSchema = index.SsoBridgeClaimsSchema;
|
|
6159
7288
|
exports.StartEmbeddedInputSchema = index.StartEmbeddedInputSchema;
|
|
@@ -6164,6 +7293,7 @@ exports.StorageBeginUploadInputSchema = index.BeginUploadInputSchema;
|
|
|
6164
7293
|
exports.StorageBeginUploadResultSchema = index.BeginUploadResultSchema;
|
|
6165
7294
|
exports.StorageEndDownloadInputSchema = index.EndDownloadInputSchema;
|
|
6166
7295
|
exports.StorageFinalizeUploadInputSchema = index.FinalizeUploadInputSchema;
|
|
7296
|
+
exports.StorageLocationDeclarationSchema = index.StorageLocationDeclarationSchema;
|
|
6167
7297
|
exports.StorageLocationRefSchema = index.StorageLocationRefSchema;
|
|
6168
7298
|
exports.StorageLocationSchema = index.StorageLocationSchema;
|
|
6169
7299
|
exports.StorageLocationTypeSchema = index.StorageLocationTypeSchema;
|
|
@@ -6171,6 +7301,7 @@ exports.StorageProviderInfoSchema = index.ProviderInfoSchema;
|
|
|
6171
7301
|
exports.StorageReadChunkInputSchema = index.ReadChunkInputSchema;
|
|
6172
7302
|
exports.StorageTestLocationResultSchema = index.TestLocationResultSchema;
|
|
6173
7303
|
exports.StorageWriteChunkInputSchema = index.WriteChunkInputSchema;
|
|
7304
|
+
exports.StreamCodecSchema = index.StreamCodecSchema;
|
|
6174
7305
|
exports.StreamFormatSchema = index.StreamFormatSchema;
|
|
6175
7306
|
exports.StreamInfoSchema = index.StreamInfoSchema;
|
|
6176
7307
|
exports.StreamNetworkStatsSchema = index.StreamNetworkStatsSchema;
|
|
@@ -6188,7 +7319,10 @@ exports.SubscribeFramesInputSchema = index.SubscribeFramesInputSchema;
|
|
|
6188
7319
|
exports.SubscribeFramesResultSchema = index.SubscribeFramesResultSchema;
|
|
6189
7320
|
exports.SwitchStatusSchema = index.SwitchStatusSchema;
|
|
6190
7321
|
exports.SystemMetricsSchema = index.SystemMetricsSchema;
|
|
6191
|
-
exports.
|
|
7322
|
+
exports.TamperStatusSchema = index.TamperStatusSchema;
|
|
7323
|
+
exports.TankStatusSchema = index.TankStatusSchema;
|
|
7324
|
+
exports.TemperatureSensorStatusSchema = index.TemperatureSensorStatusSchema;
|
|
7325
|
+
exports.TestConnectionResultSchema = index.TestConnectionResultSchema$1;
|
|
6192
7326
|
exports.ToastSchema = index.ToastSchema;
|
|
6193
7327
|
exports.TokenScopeSchema = index.TokenScopeSchema;
|
|
6194
7328
|
exports.TopologyNodeSchema = index.TopologyNodeSchema;
|
|
@@ -6198,12 +7332,22 @@ exports.TrackSchema = index.TrackSchema;
|
|
|
6198
7332
|
exports.TrackStateSchema = index.TrackStateSchema;
|
|
6199
7333
|
exports.TrackedDetectionSchema = index.TrackedDetectionSchema;
|
|
6200
7334
|
exports.TurnServerSchema = index.TurnServerSchema;
|
|
7335
|
+
exports.UnifiedBrokerInfoSchema = index.BrokerInfoSchema$1;
|
|
6201
7336
|
exports.UpdateIntegrationInputSchema = index.UpdateIntegrationInputSchema;
|
|
7337
|
+
exports.UpdateStatusSchema = index.UpdateStatusSchema;
|
|
6202
7338
|
exports.UpdateUserInputSchema = index.UpdateUserInputSchema;
|
|
6203
7339
|
exports.UserRecordSchema = index.UserRecordSchema;
|
|
6204
7340
|
exports.UserSummarySchema = index.UserSummarySchema;
|
|
7341
|
+
exports.VacuumControlStatusSchema = index.VacuumControlStatusSchema;
|
|
7342
|
+
exports.VacuumStateSchema = index.VacuumStateSchema;
|
|
7343
|
+
exports.ValveStateSchema = index.ValveStateSchema;
|
|
7344
|
+
exports.ValveStatusSchema = index.ValveStatusSchema;
|
|
7345
|
+
exports.VibrationStatusSchema = index.VibrationStatusSchema;
|
|
7346
|
+
exports.VideoEncodeSchema = index.VideoEncodeSchema;
|
|
6205
7347
|
exports.WELL_KNOWN_TABS = index.WELL_KNOWN_TABS;
|
|
6206
7348
|
exports.WELL_KNOWN_TAB_MAP = index.WELL_KNOWN_TAB_MAP;
|
|
7349
|
+
exports.WaterHeaterStatusSchema = index.WaterHeaterStatusSchema;
|
|
7350
|
+
exports.WeatherStatusSchema = index.WeatherStatusSchema;
|
|
6207
7351
|
exports.WebrtcStreamChoiceSchema = index.WebrtcStreamChoiceSchema;
|
|
6208
7352
|
exports.WebrtcStreamTargetSchema = index.WebrtcStreamTargetSchema;
|
|
6209
7353
|
exports.WidgetHostEnum = index.WidgetHostEnum;
|
|
@@ -6229,20 +7373,36 @@ exports.addonWidgetsSourceCapability = index.addonWidgetsSourceCapability;
|
|
|
6229
7373
|
exports.addonsCapability = index.addonsCapability;
|
|
6230
7374
|
exports.adminUiCapability = index.adminUiCapability;
|
|
6231
7375
|
exports.advancedNotifierCapability = index.advancedNotifierCapability;
|
|
7376
|
+
exports.airQualitySensorCapability = index.airQualitySensorCapability;
|
|
7377
|
+
exports.alarmPanelCapability = index.alarmPanelCapability;
|
|
6232
7378
|
exports.alertsCapability = index.alertsCapability;
|
|
7379
|
+
exports.ambientLightSensorCapability = index.ambientLightSensorCapability;
|
|
6233
7380
|
exports.audioAnalysisCapability = index.audioAnalysisCapability;
|
|
6234
7381
|
exports.audioAnalyzerCapability = index.audioAnalyzerCapability;
|
|
6235
7382
|
exports.audioCodecCapability = index.audioCodecCapability;
|
|
6236
7383
|
exports.audioMetricsCapability = index.audioMetricsCapability;
|
|
6237
7384
|
exports.authProviderCapability = index.authProviderCapability;
|
|
7385
|
+
exports.automationControlCapability = index.automationControlCapability;
|
|
6238
7386
|
exports.backupCapability = index.backupCapability;
|
|
6239
7387
|
exports.batteryCapability = index.batteryCapability;
|
|
7388
|
+
exports.binaryCapability = index.binaryCapability;
|
|
6240
7389
|
exports.brightnessCapability = index.brightnessCapability;
|
|
7390
|
+
exports.brokerCapability = index.brokerCapability;
|
|
7391
|
+
exports.buttonCapability = index.buttonCapability;
|
|
6241
7392
|
exports.cameraCredentialsCapability = index.cameraCredentialsCapability;
|
|
6242
7393
|
exports.cameraPipelineConfigCapability = index.cameraPipelineConfigCapability;
|
|
6243
7394
|
exports.cameraStreamsCapability = index.cameraStreamsCapability;
|
|
7395
|
+
exports.carbonMonoxideCapability = index.carbonMonoxideCapability;
|
|
7396
|
+
exports.climateControlCapability = index.climateControlCapability;
|
|
7397
|
+
exports.colorCapability = index.colorCapability;
|
|
7398
|
+
exports.connectivityCapability = index.connectivityCapability;
|
|
7399
|
+
exports.consumablesCapability = index.consumablesCapability;
|
|
7400
|
+
exports.contactCapability = index.contactCapability;
|
|
7401
|
+
exports.controlCapability = index.controlCapability;
|
|
7402
|
+
exports.coverCapability = index.coverCapability;
|
|
6244
7403
|
exports.decoderCapability = index.decoderCapability;
|
|
6245
7404
|
exports.detectionPipelineCapability = index.detectionPipelineCapability;
|
|
7405
|
+
exports.deviceAdoptionCapability = index.deviceAdoptionCapability;
|
|
6246
7406
|
exports.deviceDiscoveryCapability = index.deviceDiscoveryCapability;
|
|
6247
7407
|
exports.deviceExportCapability = index.deviceExportCapability;
|
|
6248
7408
|
exports.deviceManagerCapability = index.deviceManagerCapability;
|
|
@@ -6253,19 +7413,35 @@ exports.deviceStateCapability = index.deviceStateCapability;
|
|
|
6253
7413
|
exports.deviceStatusCapability = index.deviceStatusCapability;
|
|
6254
7414
|
exports.doorbellCapability = index.doorbellCapability;
|
|
6255
7415
|
exports.embeddingEncoderCapability = index.embeddingEncoderCapability;
|
|
7416
|
+
exports.encodeProfileFromStreamShape = index.encodeProfileFromStreamShape;
|
|
7417
|
+
exports.enumSensorCapability = index.enumSensorCapability;
|
|
6256
7418
|
exports.errMsg = index.errMsg;
|
|
6257
7419
|
exports.event = index.event;
|
|
7420
|
+
exports.eventEmitterCapability = index.eventEmitterCapability;
|
|
6258
7421
|
exports.eventsCapability = index.eventsCapability;
|
|
6259
7422
|
exports.expandCapMethods = index.expandCapMethods;
|
|
7423
|
+
exports.extractSourceInfoFromMetadata = index.extractSourceInfoFromMetadata;
|
|
7424
|
+
exports.fanControlCapability = index.fanControlCapability;
|
|
6260
7425
|
exports.featureProbeCapability = index.featureProbeCapability;
|
|
7426
|
+
exports.floodCapability = index.floodCapability;
|
|
7427
|
+
exports.gasCapability = index.gasCapability;
|
|
6261
7428
|
exports.getAudioMacroClassIds = index.getAudioMacroClassIds;
|
|
7429
|
+
exports.humidifierCapability = index.humidifierCapability;
|
|
7430
|
+
exports.humiditySensorCapability = index.humiditySensorCapability;
|
|
6262
7431
|
exports.hydrateSchema = index.hydrateSchema;
|
|
7432
|
+
exports.imageCapability = index.imageCapability;
|
|
6263
7433
|
exports.integrationsCapability = index.integrationsCapability;
|
|
6264
7434
|
exports.intercomCapability = index.intercomCapability;
|
|
6265
7435
|
exports.isDeviceConfigCap = index.isDeviceConfigCap;
|
|
7436
|
+
exports.lawnMowerControlCapability = index.lawnMowerControlCapability;
|
|
6266
7437
|
exports.localNetworkCapability = index.localNetworkCapability;
|
|
7438
|
+
exports.lockControlCapability = index.lockControlCapability;
|
|
6267
7439
|
exports.logDestinationCapability = index.logDestinationCapability;
|
|
7440
|
+
exports.makeProfileBrokerId = index.makeProfileBrokerId;
|
|
7441
|
+
exports.makeSourceBrokerId = index.makeSourceBrokerId;
|
|
6268
7442
|
exports.mapAudioLabelToMacro = index.mapAudioLabelToMacro;
|
|
7443
|
+
exports.mediaPlayerCapability = index.mediaPlayerCapability;
|
|
7444
|
+
exports.mergeSourceInfo = index.mergeSourceInfo;
|
|
6269
7445
|
exports.meshNetworkCapability = index.meshNetworkCapability;
|
|
6270
7446
|
exports.method = index.method;
|
|
6271
7447
|
exports.metricsProviderCapability = index.metricsProviderCapability;
|
|
@@ -6278,39 +7454,58 @@ exports.nativeObjectDetectionCapability = index.nativeObjectDetectionCapability;
|
|
|
6278
7454
|
exports.networkAccessCapability = index.networkAccessCapability;
|
|
6279
7455
|
exports.networkQualityCapability = index.networkQualityCapability;
|
|
6280
7456
|
exports.nodesCapability = index.nodesCapability;
|
|
7457
|
+
exports.normalizeUnit = index.normalizeUnit;
|
|
6281
7458
|
exports.notificationOutputCapability = index.notificationOutputCapability;
|
|
7459
|
+
exports.notifierCapability = index.notifierCapability;
|
|
7460
|
+
exports.numericSensorCapability = index.numericSensorCapability;
|
|
6282
7461
|
exports.oauthIntegrationCapability = index.oauthIntegrationCapability;
|
|
6283
7462
|
exports.osdCapability = index.osdCapability;
|
|
7463
|
+
exports.parseProfileBrokerId = index.parseProfileBrokerId;
|
|
6284
7464
|
exports.pipelineAnalyticsCapability = index.pipelineAnalyticsCapability;
|
|
6285
7465
|
exports.pipelineExecutorCapability = index.pipelineExecutorCapability;
|
|
6286
7466
|
exports.pipelineOrchestratorCapability = index.pipelineOrchestratorCapability;
|
|
6287
7467
|
exports.pipelineRunnerCapability = index.pipelineRunnerCapability;
|
|
6288
7468
|
exports.platformProbeCapability = index.platformProbeCapability;
|
|
7469
|
+
exports.powerMeterCapability = index.powerMeterCapability;
|
|
7470
|
+
exports.presenceCapability = index.presenceCapability;
|
|
7471
|
+
exports.pressureSensorCapability = index.pressureSensorCapability;
|
|
6289
7472
|
exports.privacyMaskCapability = index.privacyMaskCapability;
|
|
6290
7473
|
exports.ptzAutotrackCapability = index.ptzAutotrackCapability;
|
|
6291
7474
|
exports.ptzCapability = index.ptzCapability;
|
|
6292
7475
|
exports.rebootCapability = index.rebootCapability;
|
|
6293
7476
|
exports.recordingCapability = index.recordingCapability;
|
|
6294
|
-
exports.recordingEngineCapability = index.recordingEngineCapability;
|
|
6295
7477
|
exports.resolveDeviceProfile = index.resolveDeviceProfile;
|
|
6296
7478
|
exports.restreamerCapability = index.restreamerCapability;
|
|
7479
|
+
exports.scriptRunnerCapability = index.scriptRunnerCapability;
|
|
7480
|
+
exports.selectAssignedProfileSlots = index.selectAssignedProfileSlots;
|
|
6297
7481
|
exports.settingsStoreCapability = index.settingsStoreCapability;
|
|
7482
|
+
exports.smokeCapability = index.smokeCapability;
|
|
6298
7483
|
exports.smtpProviderCapability = index.smtpProviderCapability;
|
|
6299
7484
|
exports.snapshotCapability = index.snapshotCapability;
|
|
6300
7485
|
exports.snapshotProviderCapability = index.snapshotProviderCapability;
|
|
6301
7486
|
exports.ssoBridgeCapability = index.ssoBridgeCapability;
|
|
6302
7487
|
exports.storageCapability = index.storageCapability;
|
|
7488
|
+
exports.storageEvictableCapability = index.storageEvictableCapability;
|
|
6303
7489
|
exports.storageProviderCapability = index.storageProviderCapability;
|
|
6304
7490
|
exports.streamBrokerCapability = index.streamBrokerCapability;
|
|
6305
7491
|
exports.streamCatalogCapability = index.streamCatalogCapability;
|
|
6306
7492
|
exports.streamParamsCapability = index.streamParamsCapability;
|
|
6307
7493
|
exports.streamingEngineCapability = index.streamingEngineCapability;
|
|
6308
7494
|
exports.switchCapability = index.switchCapability;
|
|
7495
|
+
exports.synthesizeSourceInfo = index.synthesizeSourceInfo;
|
|
6309
7496
|
exports.systemCapability = index.systemCapability;
|
|
7497
|
+
exports.tamperCapability = index.tamperCapability;
|
|
7498
|
+
exports.temperatureSensorCapability = index.temperatureSensorCapability;
|
|
6310
7499
|
exports.toastCapability = index.toastCapability;
|
|
6311
7500
|
exports.turnProviderCapability = index.turnProviderCapability;
|
|
7501
|
+
exports.updateCapability = index.updateCapability;
|
|
6312
7502
|
exports.userManagementCapability = index.userManagementCapability;
|
|
6313
7503
|
exports.userPasskeysCapability = index.userPasskeysCapability;
|
|
7504
|
+
exports.vacuumControlCapability = index.vacuumControlCapability;
|
|
7505
|
+
exports.valveCapability = index.valveCapability;
|
|
7506
|
+
exports.vibrationCapability = index.vibrationCapability;
|
|
7507
|
+
exports.waterHeaterCapability = index.waterHeaterCapability;
|
|
7508
|
+
exports.weatherCapability = index.weatherCapability;
|
|
6314
7509
|
exports.webrtcCapability = index.webrtcCapability;
|
|
6315
7510
|
exports.webrtcClientHintsSchema = index.webrtcClientHintsSchema;
|
|
6316
7511
|
exports.webrtcSessionCapability = index.webrtcSessionCapability;
|
|
@@ -6333,9 +7528,9 @@ exports.CAP_NAMES_WITH_STATUS = CAP_NAMES_WITH_STATUS;
|
|
|
6333
7528
|
exports.CAP_PROVIDER_KIND_MAP = CAP_PROVIDER_KIND_MAP;
|
|
6334
7529
|
exports.COCO_80_LABELS = COCO_80_LABELS;
|
|
6335
7530
|
exports.COCO_TO_MACRO = COCO_TO_MACRO;
|
|
7531
|
+
exports.DATAPLANE_SECRET_HEADER = DATAPLANE_SECRET_HEADER;
|
|
6336
7532
|
exports.DEFAULT_ADDON_PLACEMENT = DEFAULT_ADDON_PLACEMENT;
|
|
6337
7533
|
exports.DEFAULT_FEATURES = DEFAULT_FEATURES;
|
|
6338
|
-
exports.DEFAULT_LOCATION_SUBDIRS = DEFAULT_LOCATION_SUBDIRS;
|
|
6339
7534
|
exports.DEFAULT_RETENTION = DEFAULT_RETENTION;
|
|
6340
7535
|
exports.DEVICE_CAP_NAMES = DEVICE_CAP_NAMES;
|
|
6341
7536
|
exports.DEVICE_TYPE_INFO = DEVICE_TYPE_INFO;
|
|
@@ -6359,18 +7554,20 @@ exports.ReadinessRegistry = ReadinessRegistry;
|
|
|
6359
7554
|
exports.ReadinessTimeoutError = ReadinessTimeoutError;
|
|
6360
7555
|
exports.RingBuffer = RingBuffer;
|
|
6361
7556
|
exports.SCOPE_PRESETS = SCOPE_PRESETS;
|
|
6362
|
-
exports.STORAGE_LOCATION_TYPES = STORAGE_LOCATION_TYPES;
|
|
6363
7557
|
exports.STREAM_PROFILE_META = STREAM_PROFILE_META;
|
|
6364
7558
|
exports.STREAM_QUALITY_LABELS = STREAM_QUALITY_LABELS;
|
|
6365
7559
|
exports.SUB_DETECTION_TYPES = SUB_DETECTION_TYPES;
|
|
6366
7560
|
exports.SYSTEM_CAP_NAMES = SYSTEM_CAP_NAMES;
|
|
6367
7561
|
exports.SystemMirror = SystemMirror;
|
|
7562
|
+
exports.TIMEZONES = TIMEZONES;
|
|
7563
|
+
exports.applyTransform = applyTransform;
|
|
6368
7564
|
exports.asBoolean = asBoolean;
|
|
6369
7565
|
exports.asJsonArray = asJsonArray;
|
|
6370
7566
|
exports.asJsonObject = asJsonObject;
|
|
6371
7567
|
exports.asNumber = asNumber;
|
|
6372
7568
|
exports.asString = asString;
|
|
6373
7569
|
exports.autoAssignProfiles = autoAssignProfiles;
|
|
7570
|
+
exports.bestLocationMatch = bestLocationMatch;
|
|
6374
7571
|
exports.bindAddonActions = bindAddonActions;
|
|
6375
7572
|
exports.buildAddonRouteProvider = buildAddonRouteProvider;
|
|
6376
7573
|
exports.buildStreamParamsConfigSchema = buildStreamParamsConfigSchema;
|
|
@@ -6379,6 +7576,7 @@ exports.classifyStream = classifyStream;
|
|
|
6379
7576
|
exports.classifyStreams = classifyStreams;
|
|
6380
7577
|
exports.cosineSimilarity = cosineSimilarity;
|
|
6381
7578
|
exports.createDeviceProxy = createDeviceProxy;
|
|
7579
|
+
exports.createDurableState = createDurableState;
|
|
6382
7580
|
exports.createEvent = createEvent;
|
|
6383
7581
|
exports.createLazyTrpcSource = createLazyTrpcSource;
|
|
6384
7582
|
exports.createMirrorSource = createMirrorSource;
|
|
@@ -6387,16 +7585,21 @@ exports.createSliceHandle = createSliceHandle;
|
|
|
6387
7585
|
exports.createSystemProxy = createSystemProxy;
|
|
6388
7586
|
exports.customAction = customAction;
|
|
6389
7587
|
exports.defineCustomActions = defineCustomActions;
|
|
7588
|
+
exports.deviceCustomAction = deviceCustomAction;
|
|
6390
7589
|
exports.emitDownForOwnedCaps = emitDownForOwnedCaps;
|
|
6391
7590
|
exports.emitReadiness = emitReadiness;
|
|
7591
|
+
exports.enumerateSchemaFields = enumerateSchemaFields;
|
|
6392
7592
|
exports.evaluateZoneRules = evaluateZoneRules;
|
|
7593
|
+
exports.findTimezone = findTimezone;
|
|
6393
7594
|
exports.formatForBackend = formatForBackend;
|
|
6394
7595
|
exports.formatForRuntime = formatForRuntime;
|
|
7596
|
+
exports.getByPath = getByPath;
|
|
6395
7597
|
exports.getCapsByProviderKind = getCapsByProviderKind;
|
|
6396
7598
|
exports.hfModelUrl = hfModelUrl;
|
|
6397
7599
|
exports.isAgentOnlyPlacement = isAgentOnlyPlacement;
|
|
6398
7600
|
exports.isDeployableToAgent = isDeployableToAgent;
|
|
6399
7601
|
exports.isEvent = isEvent;
|
|
7602
|
+
exports.locationSimilarity = locationSimilarity;
|
|
6400
7603
|
exports.maskUrlCredentials = maskUrlCredentials;
|
|
6401
7604
|
exports.normalizeAddonInitResult = normalizeAddonInitResult;
|
|
6402
7605
|
exports.parseCameraStreamConfig = parseCameraStreamConfig;
|
|
@@ -6404,6 +7607,7 @@ exports.parseJsonArray = parseJsonArray;
|
|
|
6404
7607
|
exports.parseJsonObject = parseJsonObject;
|
|
6405
7608
|
exports.parseJsonUnknown = parseJsonUnknown;
|
|
6406
7609
|
exports.parseStreamParamsFormPatch = parseStreamParamsFormPatch;
|
|
7610
|
+
exports.pickPreferredRtspEntry = pickPreferredRtspEntry;
|
|
6407
7611
|
exports.pythonScriptForBackend = pythonScriptForBackend;
|
|
6408
7612
|
exports.readinessKey = readinessKey;
|
|
6409
7613
|
exports.rectsToCells = rectsToCells;
|
|
@@ -6417,6 +7621,9 @@ exports.resolveModelFormat = resolveModelFormat;
|
|
|
6417
7621
|
exports.resolveRunnerId = resolveRunnerId;
|
|
6418
7622
|
exports.runInferenceStep = runInferenceStep;
|
|
6419
7623
|
exports.scopeKey = scopeKey;
|
|
7624
|
+
exports.setByPath = setByPath;
|
|
7625
|
+
exports.sleep = sleep;
|
|
7626
|
+
exports.sleepCancellable = sleepCancellable;
|
|
6420
7627
|
exports.streamPixels = streamPixels;
|
|
6421
7628
|
exports.streamQualityLabel = streamQualityLabel;
|
|
6422
7629
|
exports.toDeviceSummary = toDeviceSummary;
|