@camstack/types 0.1.39 → 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 +14 -2
- 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/addon-settings.cap.d.ts +1 -0
- package/dist/capabilities/addon-settings.cap.d.ts.map +1 -1
- package/dist/capabilities/addons.cap.d.ts +187 -1
- package/dist/capabilities/addons.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/alerts.cap.d.ts +5 -5
- 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/audio-analyzer.cap.d.ts +2 -2
- 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-pipeline-config.cap.d.ts +43 -0
- package/dist/capabilities/camera-pipeline-config.cap.d.ts.map +1 -0
- 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 +103 -15
- 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/local-network.cap.d.ts +1 -1
- package/dist/capabilities/lock-control.cap.d.ts +92 -0
- package/dist/capabilities/lock-control.cap.d.ts.map +1 -0
- package/dist/capabilities/mask-shape.d.ts +99 -0
- package/dist/capabilities/mask-shape.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/mesh-network.cap.d.ts +3 -3
- 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 +95 -13
- package/dist/capabilities/motion-zones.cap.d.ts.map +1 -1
- package/dist/capabilities/mqtt-broker.cap.d.ts +3 -3
- package/dist/capabilities/native-object-detection.cap.d.ts +74 -3
- package/dist/capabilities/native-object-detection.cap.d.ts.map +1 -1
- package/dist/capabilities/network-access.cap.d.ts +7 -7
- 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/oauth-integration.cap.d.ts +4 -2
- package/dist/capabilities/oauth-integration.cap.d.ts.map +1 -1
- 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 +4 -2
- package/dist/capabilities/pipeline-runner.cap.d.ts.map +1 -1
- 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 +207 -0
- package/dist/capabilities/privacy-mask.cap.d.ts.map +1 -0
- 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/detection-shared.d.ts +14 -1
- package/dist/capabilities/schemas/detection-shared.d.ts.map +1 -1
- 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/sso-bridge.cap.d.ts +3 -3
- 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 +85 -0
- package/dist/capabilities/stream-catalog.cap.d.ts.map +1 -0
- 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/user-management.cap.d.ts +20 -20
- 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 +128 -0
- 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 +92 -7
- package/dist/enums/event-category.d.ts.map +1 -1
- package/dist/generated/addon-api.d.ts +12821 -8025
- package/dist/generated/addon-api.d.ts.map +1 -1
- package/dist/generated/cap-status-types.d.ts +87 -1
- package/dist/generated/cap-status-types.d.ts.map +1 -1
- package/dist/generated/capability-router-map.d.ts +142 -7
- package/dist/generated/capability-router-map.d.ts.map +1 -1
- package/dist/generated/device-local-state.d.ts +123 -0
- package/dist/generated/device-local-state.d.ts.map +1 -1
- package/dist/generated/device-proxy.d.ts +132 -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 +10 -8
- package/dist/generated/system-proxy.d.ts.map +1 -1
- package/dist/health/wiring-health.d.ts +136 -0
- package/dist/health/wiring-health.d.ts.map +1 -0
- package/dist/{index-CMM1Y9W6.js → index-BSA_TBea.js} +4774 -923
- package/dist/index-BSA_TBea.js.map +1 -0
- package/dist/{index-QRlzao1I.mjs → index-Bpj3ScIH.mjs} +5142 -1291
- package/dist/index-Bpj3ScIH.mjs.map +1 -0
- package/dist/index.d.ts +23 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1498 -119
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +1806 -427
- 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 +61 -1
- 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 +59 -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 +105 -4
- 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 +39 -4
- 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/readiness/readiness-registry.d.ts.map +1 -1
- package/dist/schemas/auth-records.d.ts +4 -4
- 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 +13 -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/privacy-grid-raster.d.ts +48 -0
- package/dist/utils/privacy-grid-raster.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-CMM1Y9W6.js.map +0 -1
- package/dist/index-QRlzao1I.mjs.map +0 -1
package/dist/index.mjs
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { h as hydrateSchema, e as errMsg, z as zonesCapability, a as zoneRulesCapability, b as zoneAnalyticsCapability, s as switchCapability,
|
|
2
|
-
import {
|
|
1
|
+
import { h as hydrateSchema, e as errMsg, z as zonesCapability, a as zoneRulesCapability, b as zoneAnalyticsCapability, w as weatherCapability, c as waterHeaterCapability, v as vibrationCapability, d as valveCapability, f as vacuumControlCapability, u as updateCapability, t as temperatureSensorCapability, g as tamperCapability, s as switchCapability, i as streamParamsCapability, j as smokeCapability, k as scriptRunnerCapability, p as ptzAutotrackCapability, l as privacyMaskCapability, m as pressureSensorCapability, n as presenceCapability, o as powerMeterCapability, q as numericSensorCapability, r as notifierCapability, x as nativeObjectDetectionCapability, y as motionZonesCapability, A as motionTriggerCapability, B as motionCapability, C as mediaPlayerCapability, D as lockControlCapability, E as lawnMowerControlCapability, F as imageCapability, G as humiditySensorCapability, H as humidifierCapability, I as gasCapability, J as floodCapability, K as featureProbeCapability, L as fanControlCapability, M as eventEmitterCapability, N as enumSensorCapability, O as doorbellCapability, P as deviceStatusCapability, Q as deviceDiscoveryCapability, R as coverCapability, S as controlCapability, T as contactCapability, U as consumablesCapability, V as connectivityCapability, W as colorCapability, X as climateControlCapability, Y as carbonMonoxideCapability, Z as cameraStreamsCapability, _ as brightnessCapability, $ as binaryCapability, a0 as batteryCapability, a1 as automationControlCapability, a2 as audioMetricsCapability, a3 as ambientLightSensorCapability, a4 as alarmPanelCapability, a5 as airQualitySensorCapability, a6 as extractSourceInfoFromMetadata, a7 as synthesizeSourceInfo, a8 as mergeSourceInfo, a9 as SOURCE_INFO_METADATA_KEY, aa as deviceProviderCapability, ab as accessoriesCapability, ac as addonPagesCapability, ad as addonPagesSourceCapability, ae as addonRoutesCapability, af as addonSettingsCapability, ag as addonWidgetsCapability, ah as addonWidgetsSourceCapability, ai as addonsCapability, aj as adminUiCapability, ak as advancedNotifierCapability, al as alertsCapability, am as audioAnalysisCapability, an as audioAnalyzerCapability, ao as audioCodecCapability, ap as authProviderCapability, aq as backupCapability, ar as brokerCapability, as as buttonCapability, at as cameraCredentialsCapability, au as cameraPipelineConfigCapability, av as decoderCapability, aw as detectionPipelineCapability, ax as deviceAdoptionCapability, ay as deviceExportCapability, az as deviceManagerCapability, aA as deviceOpsCapability, aB as deviceStateCapability, aC as embeddingEncoderCapability, aD as eventsCapability, aE as integrationsCapability, aF as intercomCapability, aG as localNetworkCapability, aH as logDestinationCapability, aI as meshNetworkCapability, aJ as metricsProviderCapability, aK as motionDetectionCapability, aL as mqttBrokerCapability, aM as networkAccessCapability, aN as networkQualityCapability, aO as nodesCapability, aP as notificationOutputCapability, aQ as oauthIntegrationCapability, aR as osdCapability, aS as pipelineAnalyticsCapability, aT as pipelineExecutorCapability, aU as pipelineOrchestratorCapability, aV as pipelineRunnerCapability, aW as platformProbeCapability, aX as ptzCapability, aY as rebootCapability, aZ as recordingCapability, a_ as restreamerCapability, a$ as settingsStoreCapability, b0 as smtpProviderCapability, b1 as snapshotCapability, b2 as snapshotProviderCapability, b3 as ssoBridgeCapability, b4 as storageCapability, b5 as storageEvictableCapability, b6 as storageProviderCapability, b7 as streamBrokerCapability, b8 as streamCatalogCapability, b9 as streamingEngineCapability, ba as systemCapability, bb as toastCapability, bc as turnProviderCapability, bd as userManagementCapability, be as userPasskeysCapability, bf as webrtcCapability, bg as webrtcSessionCapability } from "./index-Bpj3ScIH.mjs";
|
|
2
|
+
import { bh, bi, bj, bk, bl, bm, bn, bo, bp, bq, br, bs, bt, bu, bv, bw, bx, by, bz, bA, bB, bC, bD, bE, bF, bG, bH, bI, bJ, bK, bL, bM, bN, bO, bP, bQ, bR, bS, bT, bU, bV, bW, bX, bY, bZ, b_, b$, c0, c1, c2, c3, c4, c5, c6, c7, c8, c9, ca, cb, cc, cd, ce, cf, cg, ch, ci, cj, ck, cl, cm, cn, co, cp, cq, cr, cs, ct, cu, cv, cw, cx, cy, cz, cA, cB, cC, cD, cE, cF, cG, cH, cI, cJ, cK, cL, cM, cN, cO, cP, cQ, cR, cS, cT, cU, cV, cW, cX, cY, cZ, c_, c$, d0, d1, d2, d3, d4, d5, d6, d7, d8, d9, da, db, dc, dd, de, df, dg, dh, di, dj, dk, dl, dm, dn, dp, dq, dr, ds, dt, du, dv, dw, dx, dy, dz, dA, dB, dC, dD, dE, dF, dG, dH, dI, dJ, dK, dL, dM, dN, dO, dP, dQ, dR, dS, dT, dU, dV, dW, dX, dY, dZ, d_, d$, e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, ea, eb, ec, ed, ee, ef, eg, eh, ei, ej, ek, el, em, en, eo, ep, eq, er, es, et, eu, ev, ew, ex, ey, ez, eA, eB, eC, eD, eE, eF, eG, eH, eI, eJ, eK, eL, eM, eN, eO, eP, eQ, eR, eS, eT, eU, eV, eW, eX, eY, eZ, e_, e$, f0, f1, f2, f3, f4, f5, f6, f7, f8, f9, fa, fb, fc, fd, fe, ff, fg, fh, fi, fj, fk, fl, fm, fn, fo, fp, fq, fr, fs, ft, fu, fv, fw, fx, fy, fz, fA, fB, fC, fD, fE, fF, fG, fH, fI, fJ, fK, fL, fM, fN, fO, fP, fQ, fR, fS, fT, fU, fV, fW, fX, fY, fZ, f_, f$, g0, g1, g2, g3, g4, g5, g6, g7, g8, g9, ga, gb, gc, gd, ge, gf, gg, gh, gi, gj, gk, gl, gm, gn, go, gp, gq, gr, gs, gt, gu, gv, gw, gx, gy, gz, gA, gB, gC, gD, gE, gF, gG, gH, gI, gJ, gK, gL, gM, gN, gO, gP, gQ, gR, gS, gT, gU, gV, gW, gX, gY, gZ, g_, g$, h0, h1, h2, h3, h4, h5, h6, h7, h8, h9, ha, hb, hc, hd, he, hf, hg, hh, hi, hj, hk, hl, hm, hn, ho, hp, hq, hr, hs, ht, hu, hv, hw, hx, hy, hz, hA, hB, hC, hD, hE, hF, hG, hH, hI, hJ, hK, hL, hM, hN, hO, hP, hQ, hR, hS, hT } from "./index-Bpj3ScIH.mjs";
|
|
3
3
|
import { z } from "zod";
|
|
4
4
|
class DisposerChain {
|
|
5
5
|
disposers = [];
|
|
@@ -19,10 +19,10 @@ class DisposerChain {
|
|
|
19
19
|
* (sync) — this matches the “register-after-shutdown” edge case where
|
|
20
20
|
* an addon's late initialization races with kernel restart.
|
|
21
21
|
*/
|
|
22
|
-
add(
|
|
22
|
+
add(fn2) {
|
|
23
23
|
if (this.disposed) {
|
|
24
24
|
try {
|
|
25
|
-
const result =
|
|
25
|
+
const result = fn2();
|
|
26
26
|
if (result && typeof result.then === "function") {
|
|
27
27
|
;
|
|
28
28
|
result.catch((err) => this.onError(err, -1));
|
|
@@ -32,9 +32,9 @@ class DisposerChain {
|
|
|
32
32
|
}
|
|
33
33
|
return () => void 0;
|
|
34
34
|
}
|
|
35
|
-
this.disposers.push(
|
|
35
|
+
this.disposers.push(fn2);
|
|
36
36
|
return () => {
|
|
37
|
-
const idx = this.disposers.indexOf(
|
|
37
|
+
const idx = this.disposers.indexOf(fn2);
|
|
38
38
|
if (idx >= 0) this.disposers.splice(idx, 1);
|
|
39
39
|
};
|
|
40
40
|
}
|
|
@@ -57,9 +57,9 @@ class DisposerChain {
|
|
|
57
57
|
const drain = this.disposers.slice().reverse();
|
|
58
58
|
this.disposers = [];
|
|
59
59
|
for (let i = 0; i < drain.length; i++) {
|
|
60
|
-
const
|
|
60
|
+
const fn2 = drain[i];
|
|
61
61
|
try {
|
|
62
|
-
const result =
|
|
62
|
+
const result = fn2();
|
|
63
63
|
if (result && typeof result.then === "function") {
|
|
64
64
|
await result;
|
|
65
65
|
}
|
|
@@ -119,10 +119,15 @@ var EventCategory = /* @__PURE__ */ ((EventCategory2) => {
|
|
|
119
119
|
EventCategory2["DeviceSettingsUpdated"] = "device.settings-updated";
|
|
120
120
|
EventCategory2["DeviceBindingsChanged"] = "device.bindings-changed";
|
|
121
121
|
EventCategory2["DeviceMetaChanged"] = "device.meta-changed";
|
|
122
|
+
EventCategory2["DeviceSourceInfoChanged"] = "device.source-info-changed";
|
|
122
123
|
EventCategory2["DeviceStreamsRegistered"] = "device.streams-registered";
|
|
124
|
+
EventCategory2["DeviceProvisioned"] = "device.provisioned";
|
|
125
|
+
EventCategory2["DeviceReady"] = "device.ready";
|
|
123
126
|
EventCategory2["IntegrationEnabled"] = "integration.enabled";
|
|
124
127
|
EventCategory2["IntegrationDisabled"] = "integration.disabled";
|
|
125
128
|
EventCategory2["IntegrationDeleted"] = "integration.deleted";
|
|
129
|
+
EventCategory2["BrokerStatusChanged"] = "broker.status-changed";
|
|
130
|
+
EventCategory2["BrokerMessage"] = "broker.message";
|
|
126
131
|
EventCategory2["ProviderStarted"] = "provider.started";
|
|
127
132
|
EventCategory2["ProviderStopped"] = "provider.stopped";
|
|
128
133
|
EventCategory2["ProcessCrashed"] = "process.crashed";
|
|
@@ -153,9 +158,12 @@ var EventCategory = /* @__PURE__ */ ((EventCategory2) => {
|
|
|
153
158
|
EventCategory2["StreamBrokerOnCamStreamDemand"] = "stream-broker.onCamStreamDemand";
|
|
154
159
|
EventCategory2["StreamBrokerOnCamStreamIdle"] = "stream-broker.onCamStreamIdle";
|
|
155
160
|
EventCategory2["StreamBrokerOnRequestStreamSourceRefresh"] = "stream-broker.onRequestStreamSourceRefresh";
|
|
161
|
+
EventCategory2["StreamParamsChanged"] = "stream-params.changed";
|
|
156
162
|
EventCategory2["DeviceStateChanged"] = "device.state-changed";
|
|
157
163
|
EventCategory2["BatteryOnStatusChanged"] = "battery.onStatusChanged";
|
|
164
|
+
EventCategory2["BatteryOnWakeStarted"] = "battery.onWakeStarted";
|
|
158
165
|
EventCategory2["DoorbellOnPressed"] = "doorbell.onPressed";
|
|
166
|
+
EventCategory2["EventEmitted"] = "event-emitter.event";
|
|
159
167
|
EventCategory2["PipelineEngineMetricsSnapshot"] = "pipeline.engine-metrics-snapshot";
|
|
160
168
|
EventCategory2["ClusterTopologySnapshot"] = "cluster.topology-snapshot";
|
|
161
169
|
EventCategory2["MetricsNodeResourcesSnapshot"] = "metrics.node-resources-snapshot";
|
|
@@ -200,6 +208,7 @@ var EventCategory = /* @__PURE__ */ ((EventCategory2) => {
|
|
|
200
208
|
EventCategory2["NetworkTunnelStarted"] = "network.tunnel.started";
|
|
201
209
|
EventCategory2["NetworkTunnelStopped"] = "network.tunnel.stopped";
|
|
202
210
|
EventCategory2["LocalNetworkChanged"] = "network.local.changed";
|
|
211
|
+
EventCategory2["MeshNetworkChanged"] = "network.mesh.changed";
|
|
203
212
|
EventCategory2["BackupCompleted"] = "backup.completed";
|
|
204
213
|
EventCategory2["BackupRestored"] = "backup.restored";
|
|
205
214
|
EventCategory2["NotificationDispatched"] = "notification.dispatched";
|
|
@@ -210,6 +219,7 @@ var EventCategory = /* @__PURE__ */ ((EventCategory2) => {
|
|
|
210
219
|
EventCategory2["DeviceAwake"] = "device.awake";
|
|
211
220
|
EventCategory2["DeviceSleeping"] = "device.sleeping";
|
|
212
221
|
EventCategory2["RetentionCleanup"] = "retention.cleanup";
|
|
222
|
+
EventCategory2["AddonsBulkUpdateProgress"] = "addons.bulk-update-progress";
|
|
213
223
|
return EventCategory2;
|
|
214
224
|
})(EventCategory || {});
|
|
215
225
|
function isEvent(event, category) {
|
|
@@ -239,6 +249,27 @@ function emitReadiness(bus, params) {
|
|
|
239
249
|
}
|
|
240
250
|
));
|
|
241
251
|
}
|
|
252
|
+
function createDurableState(deps) {
|
|
253
|
+
const get = async () => {
|
|
254
|
+
const store = await deps.read();
|
|
255
|
+
const raw = store[deps.key];
|
|
256
|
+
if (raw === void 0) return deps.fallback;
|
|
257
|
+
const parsed = deps.schema.safeParse(raw);
|
|
258
|
+
if (!parsed.success) {
|
|
259
|
+
deps.onParseError?.(deps.key, parsed.error);
|
|
260
|
+
return deps.fallback;
|
|
261
|
+
}
|
|
262
|
+
return parsed.data;
|
|
263
|
+
};
|
|
264
|
+
const set = async (next) => {
|
|
265
|
+
const validated = deps.schema.parse(next);
|
|
266
|
+
await deps.write({ [deps.key]: validated });
|
|
267
|
+
};
|
|
268
|
+
const update = async (fn2) => {
|
|
269
|
+
await set(fn2(await get()));
|
|
270
|
+
};
|
|
271
|
+
return { get, set, update };
|
|
272
|
+
}
|
|
242
273
|
class BaseAddon {
|
|
243
274
|
_ctx = null;
|
|
244
275
|
_config;
|
|
@@ -362,7 +393,7 @@ class BaseAddon {
|
|
|
362
393
|
}
|
|
363
394
|
// ── Settings schemas (override to provide UI) ─────────────────────────
|
|
364
395
|
/** Override to provide global-level settings UI schema. */
|
|
365
|
-
globalSettingsSchema() {
|
|
396
|
+
globalSettingsSchema(_cap) {
|
|
366
397
|
return null;
|
|
367
398
|
}
|
|
368
399
|
/** Override to provide device-level settings UI schema. */
|
|
@@ -376,8 +407,8 @@ class BaseAddon {
|
|
|
376
407
|
// blob and every addon used exactly one of them; the distinction was
|
|
377
408
|
// never semantically load-bearing. `global` won because it was the
|
|
378
409
|
// widely-used one and the name reads naturally (per-node addon config).
|
|
379
|
-
async getGlobalSettings(overlay) {
|
|
380
|
-
const schema = this.globalSettingsSchema();
|
|
410
|
+
async getGlobalSettings(overlay, cap) {
|
|
411
|
+
const schema = this.globalSettingsSchema(cap);
|
|
381
412
|
if (!schema) return { sections: [] };
|
|
382
413
|
const raw = await this._ctx?.settings?.readAddonStore() ?? {};
|
|
383
414
|
return hydrateSchema(schema, overlay ? { ...raw, ...overlay } : raw);
|
|
@@ -482,12 +513,18 @@ class BaseAddon {
|
|
|
482
513
|
// ── Lifecycle event emission ────────────────────────────────────────────
|
|
483
514
|
emitLifecycle(category, data) {
|
|
484
515
|
try {
|
|
485
|
-
this._ctx
|
|
486
|
-
|
|
516
|
+
const ctx = this._ctx;
|
|
517
|
+
if (!ctx) return;
|
|
518
|
+
ctx.eventBus.emit({
|
|
519
|
+
id: `${ctx.id}-${Date.now()}`,
|
|
487
520
|
timestamp: /* @__PURE__ */ new Date(),
|
|
488
|
-
source: { type: "addon", id:
|
|
521
|
+
source: { type: "addon", id: ctx.id, nodeId: ctx.kernel.localNodeId ?? "hub" },
|
|
489
522
|
category,
|
|
490
|
-
|
|
523
|
+
// Always carry `addonId` in the payload (the lifecycle event
|
|
524
|
+
// contract declares it) so consumers — e.g. the alerts builder —
|
|
525
|
+
// can name the addon without reaching into `source`. An explicit
|
|
526
|
+
// `data.addonId` still wins if a caller provides one.
|
|
527
|
+
data: { addonId: ctx.id, ...data ?? {} }
|
|
491
528
|
});
|
|
492
529
|
} catch {
|
|
493
530
|
}
|
|
@@ -560,6 +597,44 @@ class BaseAddon {
|
|
|
560
597
|
}
|
|
561
598
|
this._config = resolved;
|
|
562
599
|
}
|
|
600
|
+
/**
|
|
601
|
+
* Typed durable handle over ONE key of this addon's store. The whole
|
|
602
|
+
* Zod-validated value round-trips on every read/write — no hand-listed
|
|
603
|
+
* fields, so a field can never be silently dropped on persist. Reads use
|
|
604
|
+
* the same retry budget as config resolution; a corrupt/legacy blob logs
|
|
605
|
+
* a warning and falls back rather than crashing boot.
|
|
606
|
+
*/
|
|
607
|
+
state(key, schema, fallback) {
|
|
608
|
+
return createDurableState({
|
|
609
|
+
key,
|
|
610
|
+
schema,
|
|
611
|
+
fallback,
|
|
612
|
+
read: () => this.readAddonStoreWithRetry(),
|
|
613
|
+
write: async (patch) => {
|
|
614
|
+
await this._ctx?.settings?.writeAddonStore(patch);
|
|
615
|
+
},
|
|
616
|
+
onParseError: (k, e) => this._ctx?.logger?.warn?.(
|
|
617
|
+
`durable-state: stored "${k}" failed validation — using fallback`,
|
|
618
|
+
{ meta: { addonId: this._ctx?.id, key: k, error: String(e) } }
|
|
619
|
+
)
|
|
620
|
+
});
|
|
621
|
+
}
|
|
622
|
+
/** Per-device variant of {@link state}, backed by the per-device store. */
|
|
623
|
+
deviceState(deviceId, key, schema, fallback) {
|
|
624
|
+
return createDurableState({
|
|
625
|
+
key,
|
|
626
|
+
schema,
|
|
627
|
+
fallback,
|
|
628
|
+
read: async () => await this._ctx?.settings?.readDeviceStore(deviceId) ?? {},
|
|
629
|
+
write: async (patch) => {
|
|
630
|
+
await this._ctx?.settings?.writeDeviceStore(deviceId, patch);
|
|
631
|
+
},
|
|
632
|
+
onParseError: (k, e) => this._ctx?.logger?.warn?.(
|
|
633
|
+
`durable-state: stored device ${deviceId} "${k}" failed validation — using fallback`,
|
|
634
|
+
{ meta: { addonId: this._ctx?.id, deviceId, key: k, error: String(e) } }
|
|
635
|
+
)
|
|
636
|
+
});
|
|
637
|
+
}
|
|
563
638
|
/**
|
|
564
639
|
* Wrap `ctx.settings.readAddonStore()` with a short retry budget so a
|
|
565
640
|
* transient settings-store outage (mid-restart of sqlite-settings, tsx-watch
|
|
@@ -685,6 +760,68 @@ function buildCapturingReply(envelope) {
|
|
|
685
760
|
};
|
|
686
761
|
return wrapper;
|
|
687
762
|
}
|
|
763
|
+
const EU_DST = {
|
|
764
|
+
offsetHours: 1,
|
|
765
|
+
startMonth: 3,
|
|
766
|
+
startWeekIndex: 5,
|
|
767
|
+
startWeekday: "Sunday",
|
|
768
|
+
startHour: 2,
|
|
769
|
+
endMonth: 10,
|
|
770
|
+
endWeekIndex: 5,
|
|
771
|
+
endWeekday: "Sunday",
|
|
772
|
+
endHour: 3
|
|
773
|
+
};
|
|
774
|
+
const US_DST = {
|
|
775
|
+
offsetHours: 1,
|
|
776
|
+
startMonth: 3,
|
|
777
|
+
startWeekIndex: 2,
|
|
778
|
+
startWeekday: "Sunday",
|
|
779
|
+
startHour: 2,
|
|
780
|
+
endMonth: 11,
|
|
781
|
+
endWeekIndex: 1,
|
|
782
|
+
endWeekday: "Sunday",
|
|
783
|
+
endHour: 2
|
|
784
|
+
};
|
|
785
|
+
const AU_DST = {
|
|
786
|
+
offsetHours: 1,
|
|
787
|
+
startMonth: 10,
|
|
788
|
+
startWeekIndex: 1,
|
|
789
|
+
startWeekday: "Sunday",
|
|
790
|
+
startHour: 2,
|
|
791
|
+
endMonth: 4,
|
|
792
|
+
endWeekIndex: 1,
|
|
793
|
+
endWeekday: "Sunday",
|
|
794
|
+
endHour: 3
|
|
795
|
+
};
|
|
796
|
+
const TIMEZONES = [
|
|
797
|
+
// --- Universal ---
|
|
798
|
+
{ id: "UTC", label: "UTC (UTC+0)", region: "Universal", stdOffsetMinutes: 0, dst: null },
|
|
799
|
+
// --- Europe (EU DST rule) ---
|
|
800
|
+
{ id: "Europe/London", label: "Europe/London (UTC+0 / BST)", region: "Europe", stdOffsetMinutes: 0, dst: EU_DST },
|
|
801
|
+
{ id: "Europe/Rome", label: "Europe/Rome (UTC+1 / CEST)", region: "Europe", stdOffsetMinutes: 60, dst: EU_DST },
|
|
802
|
+
{ id: "Europe/Paris", label: "Europe/Paris (UTC+1 / CEST)", region: "Europe", stdOffsetMinutes: 60, dst: EU_DST },
|
|
803
|
+
{ id: "Europe/Berlin", label: "Europe/Berlin (UTC+1 / CEST)", region: "Europe", stdOffsetMinutes: 60, dst: EU_DST },
|
|
804
|
+
{ id: "Europe/Madrid", label: "Europe/Madrid (UTC+1 / CEST)", region: "Europe", stdOffsetMinutes: 60, dst: EU_DST },
|
|
805
|
+
{ id: "Europe/Amsterdam", label: "Europe/Amsterdam (UTC+1 / CEST)", region: "Europe", stdOffsetMinutes: 60, dst: EU_DST },
|
|
806
|
+
{ id: "Europe/Istanbul", label: "Europe/Istanbul (UTC+3)", region: "Europe", stdOffsetMinutes: 180, dst: null },
|
|
807
|
+
// --- Americas (US/Canada DST rule) ---
|
|
808
|
+
{ id: "America/New_York", label: "America/New York (UTC−5 / EDT)", region: "Americas", stdOffsetMinutes: -300, dst: US_DST },
|
|
809
|
+
{ id: "America/Chicago", label: "America/Chicago (UTC−6 / CDT)", region: "Americas", stdOffsetMinutes: -360, dst: US_DST },
|
|
810
|
+
{ id: "America/Denver", label: "America/Denver (UTC−7 / MDT)", region: "Americas", stdOffsetMinutes: -420, dst: US_DST },
|
|
811
|
+
{ id: "America/Los_Angeles", label: "America/Los Angeles (UTC−8 / PDT)", region: "Americas", stdOffsetMinutes: -480, dst: US_DST },
|
|
812
|
+
{ id: "America/Sao_Paulo", label: "America/Sao Paulo (UTC−3)", region: "Americas", stdOffsetMinutes: -180, dst: null },
|
|
813
|
+
// --- Asia / Middle East (no DST) ---
|
|
814
|
+
{ id: "Asia/Dubai", label: "Asia/Dubai (UTC+4)", region: "Asia", stdOffsetMinutes: 240, dst: null },
|
|
815
|
+
{ id: "Asia/Kolkata", label: "Asia/Kolkata (UTC+5:30)", region: "Asia", stdOffsetMinutes: 330, dst: null },
|
|
816
|
+
{ id: "Asia/Singapore", label: "Asia/Singapore (UTC+8)", region: "Asia", stdOffsetMinutes: 480, dst: null },
|
|
817
|
+
{ id: "Asia/Shanghai", label: "Asia/Shanghai (UTC+8)", region: "Asia", stdOffsetMinutes: 480, dst: null },
|
|
818
|
+
{ id: "Asia/Tokyo", label: "Asia/Tokyo (UTC+9)", region: "Asia", stdOffsetMinutes: 540, dst: null },
|
|
819
|
+
// --- Oceania (southern-hemisphere DST) ---
|
|
820
|
+
{ id: "Australia/Sydney", label: "Australia/Sydney (UTC+10 / AEDT)", region: "Oceania", stdOffsetMinutes: 600, dst: AU_DST }
|
|
821
|
+
];
|
|
822
|
+
function findTimezone(id) {
|
|
823
|
+
return TIMEZONES.find((tz) => tz.id === id);
|
|
824
|
+
}
|
|
688
825
|
class ReadinessTimeoutError extends Error {
|
|
689
826
|
capName;
|
|
690
827
|
scope;
|
|
@@ -882,6 +1019,14 @@ class ReadinessRegistry {
|
|
|
882
1019
|
cleanup();
|
|
883
1020
|
reject(new ReadinessTimeoutError(capName, scope, this.now() - start));
|
|
884
1021
|
}, timeoutMs);
|
|
1022
|
+
const PENDING_LOG_INTERVAL_MS = 3e4;
|
|
1023
|
+
const pendingLogTimer = setInterval(() => {
|
|
1024
|
+
if (settled) return;
|
|
1025
|
+
this.logger?.warn(
|
|
1026
|
+
`readiness: still awaiting ${capName} (${scopeKey(scope)}) after ${this.now() - start}ms`
|
|
1027
|
+
);
|
|
1028
|
+
}, PENDING_LOG_INTERVAL_MS);
|
|
1029
|
+
if (typeof pendingLogTimer.unref === "function") pendingLogTimer.unref();
|
|
885
1030
|
const onAbort = () => {
|
|
886
1031
|
if (settled) return;
|
|
887
1032
|
settled = true;
|
|
@@ -892,6 +1037,7 @@ class ReadinessRegistry {
|
|
|
892
1037
|
function cleanup() {
|
|
893
1038
|
unsubscribe();
|
|
894
1039
|
if (timer !== null) clearTimeout(timer);
|
|
1040
|
+
clearInterval(pendingLogTimer);
|
|
895
1041
|
opts.signal?.removeEventListener("abort", onAbort);
|
|
896
1042
|
}
|
|
897
1043
|
});
|
|
@@ -1071,34 +1217,7 @@ function emitDownForOwnedCaps(registry, owned) {
|
|
|
1071
1217
|
registry.emitDown(capName, scope);
|
|
1072
1218
|
}
|
|
1073
1219
|
}
|
|
1074
|
-
const
|
|
1075
|
-
"data",
|
|
1076
|
-
"media",
|
|
1077
|
-
"recordings",
|
|
1078
|
-
"recordings-high",
|
|
1079
|
-
"recordings-low",
|
|
1080
|
-
"recordings-clips",
|
|
1081
|
-
"event-images",
|
|
1082
|
-
"models",
|
|
1083
|
-
"addons-data",
|
|
1084
|
-
"cache",
|
|
1085
|
-
"logs",
|
|
1086
|
-
"backups"
|
|
1087
|
-
];
|
|
1088
|
-
const DEFAULT_LOCATION_SUBDIRS = {
|
|
1089
|
-
"data": "db",
|
|
1090
|
-
"media": "media",
|
|
1091
|
-
"recordings": "recordings",
|
|
1092
|
-
"recordings-high": "recordings-high",
|
|
1093
|
-
"recordings-low": "recordings-low",
|
|
1094
|
-
"recordings-clips": "recordings-clips",
|
|
1095
|
-
"event-images": "event-images",
|
|
1096
|
-
"models": "models",
|
|
1097
|
-
"addons-data": "addons-data",
|
|
1098
|
-
"cache": "/tmp/camstack-cache",
|
|
1099
|
-
"logs": "logs",
|
|
1100
|
-
"backups": "backups"
|
|
1101
|
-
};
|
|
1220
|
+
const DATAPLANE_SECRET_HEADER = "x-camstack-dataplane-secret";
|
|
1102
1221
|
const STREAM_QUALITY_LABELS = {
|
|
1103
1222
|
high: "High",
|
|
1104
1223
|
mid: "Mid",
|
|
@@ -1146,12 +1265,12 @@ function toStreamSourceEntry(stream) {
|
|
|
1146
1265
|
function isString(v) {
|
|
1147
1266
|
return typeof v === "string";
|
|
1148
1267
|
}
|
|
1149
|
-
function isRecord(v) {
|
|
1268
|
+
function isRecord$1(v) {
|
|
1150
1269
|
return typeof v === "object" && v !== null && !Array.isArray(v);
|
|
1151
1270
|
}
|
|
1152
1271
|
function parseStreamEntry(v) {
|
|
1153
1272
|
if (isString(v) && v.trim()) return { url: v };
|
|
1154
|
-
if (isRecord(v) && isString(v["url"]) && v["url"].trim()) {
|
|
1273
|
+
if (isRecord$1(v) && isString(v["url"]) && v["url"].trim()) {
|
|
1155
1274
|
return {
|
|
1156
1275
|
url: v["url"],
|
|
1157
1276
|
label: isString(v["label"]) ? v["label"] : void 0
|
|
@@ -1212,6 +1331,51 @@ const DEFAULT_FEATURES = {
|
|
|
1212
1331
|
};
|
|
1213
1332
|
const SUB_DETECTION_TYPES = ["face", "plate"];
|
|
1214
1333
|
const RECOGNITION_TYPES = ["face", "plate", "clip", "custom"];
|
|
1334
|
+
function pickPreferredRtspEntry(entries, pref, deviceId, options = {}) {
|
|
1335
|
+
if (entries.length === 0) return null;
|
|
1336
|
+
const prefix = `${deviceId}/`;
|
|
1337
|
+
const toPicked = (e) => ({
|
|
1338
|
+
brokerId: e.brokerId,
|
|
1339
|
+
profileId: e.brokerId.startsWith(prefix) ? e.brokerId.slice(prefix.length) : e.brokerId,
|
|
1340
|
+
url: e.url,
|
|
1341
|
+
mutedUrl: e.mutedUrl,
|
|
1342
|
+
enabled: e.enabled,
|
|
1343
|
+
...e.codec !== void 0 ? { codec: e.codec } : {},
|
|
1344
|
+
...e.resolution !== void 0 ? { resolution: e.resolution } : {}
|
|
1345
|
+
});
|
|
1346
|
+
if (pref !== "auto") {
|
|
1347
|
+
const match = entries.find(
|
|
1348
|
+
(e) => e.enabled && e.url.length > 0 && (e.profile === pref || e.brokerId === `${prefix}${pref}`)
|
|
1349
|
+
);
|
|
1350
|
+
if (match) return toPicked(match);
|
|
1351
|
+
}
|
|
1352
|
+
const eligible = entries.filter((e) => e.enabled && e.url.length > 0);
|
|
1353
|
+
if (eligible.length === 0) return null;
|
|
1354
|
+
const target = options.targetResolution;
|
|
1355
|
+
if (target) {
|
|
1356
|
+
const withRes = eligible.filter((e) => e.resolution !== void 0);
|
|
1357
|
+
if (withRes.length > 0) {
|
|
1358
|
+
const picked = pickClosestResolution(withRes, target);
|
|
1359
|
+
if (picked) return toPicked(picked);
|
|
1360
|
+
}
|
|
1361
|
+
}
|
|
1362
|
+
return toPicked(eligible[0]);
|
|
1363
|
+
}
|
|
1364
|
+
function pickClosestResolution(entries, target) {
|
|
1365
|
+
const targetPixels = target.width * target.height;
|
|
1366
|
+
let bestAbove;
|
|
1367
|
+
let bestBelow;
|
|
1368
|
+
for (const e of entries) {
|
|
1369
|
+
if (e.resolution === void 0) continue;
|
|
1370
|
+
const pixels = e.resolution.width * e.resolution.height;
|
|
1371
|
+
if (pixels >= targetPixels) {
|
|
1372
|
+
if (!bestAbove || pixels < bestAbove.pixels) bestAbove = { entry: e, pixels };
|
|
1373
|
+
} else {
|
|
1374
|
+
if (!bestBelow || pixels > bestBelow.pixels) bestBelow = { entry: e, pixels };
|
|
1375
|
+
}
|
|
1376
|
+
}
|
|
1377
|
+
return bestAbove?.entry ?? bestBelow?.entry;
|
|
1378
|
+
}
|
|
1215
1379
|
const DEFAULT_RETENTION = {
|
|
1216
1380
|
cleanupIntervalMs: 60 * 60 * 1e3,
|
|
1217
1381
|
detectionEventsDays: 30,
|
|
@@ -1253,9 +1417,6 @@ const RUNTIME_DEFAULTS = {
|
|
|
1253
1417
|
models: "camstack-data/models"
|
|
1254
1418
|
},
|
|
1255
1419
|
"providers": [],
|
|
1256
|
-
// Recording
|
|
1257
|
-
"recording.segmentDurationSeconds": 4,
|
|
1258
|
-
"recording.defaultRetentionDays": 30,
|
|
1259
1420
|
// Streaming ports are addon-specific (go2rtc owns its defaults)
|
|
1260
1421
|
// FFmpeg
|
|
1261
1422
|
"ffmpeg.binaryPath": "ffmpeg",
|
|
@@ -1485,10 +1646,10 @@ function pythonScriptForBackend(backend) {
|
|
|
1485
1646
|
function requiresPython(runtime) {
|
|
1486
1647
|
return runtime === "coreml" || runtime === "pytorch" || runtime === "openvino";
|
|
1487
1648
|
}
|
|
1488
|
-
async function runInferenceStep(
|
|
1649
|
+
async function runInferenceStep(fn2, timeoutMs) {
|
|
1489
1650
|
const t0 = performance.now();
|
|
1490
1651
|
try {
|
|
1491
|
-
const output = timeoutMs !== void 0 ? await withTimeout(
|
|
1652
|
+
const output = timeoutMs !== void 0 ? await withTimeout(fn2(), timeoutMs) : await fn2();
|
|
1492
1653
|
return {
|
|
1493
1654
|
output,
|
|
1494
1655
|
durationMs: roundMs(performance.now() - t0),
|
|
@@ -1923,20 +2084,61 @@ function createRuntimeStateBridge(params) {
|
|
|
1923
2084
|
return { ensureFresh, getStatus };
|
|
1924
2085
|
}
|
|
1925
2086
|
const DEVICE_LOCAL_STATE_CAPS = {
|
|
2087
|
+
airQualitySensor: airQualitySensorCapability,
|
|
2088
|
+
alarmPanel: alarmPanelCapability,
|
|
2089
|
+
ambientLightSensor: ambientLightSensorCapability,
|
|
1926
2090
|
audioMetrics: audioMetricsCapability,
|
|
2091
|
+
automationControl: automationControlCapability,
|
|
1927
2092
|
battery: batteryCapability,
|
|
2093
|
+
binary: binaryCapability,
|
|
1928
2094
|
brightness: brightnessCapability,
|
|
1929
2095
|
cameraStreams: cameraStreamsCapability,
|
|
2096
|
+
carbonMonoxide: carbonMonoxideCapability,
|
|
2097
|
+
climateControl: climateControlCapability,
|
|
2098
|
+
color: colorCapability,
|
|
2099
|
+
connectivity: connectivityCapability,
|
|
2100
|
+
consumables: consumablesCapability,
|
|
2101
|
+
contact: contactCapability,
|
|
2102
|
+
control: controlCapability,
|
|
2103
|
+
cover: coverCapability,
|
|
1930
2104
|
deviceDiscovery: deviceDiscoveryCapability,
|
|
1931
2105
|
deviceStatus: deviceStatusCapability,
|
|
1932
2106
|
doorbell: doorbellCapability,
|
|
2107
|
+
enumSensor: enumSensorCapability,
|
|
2108
|
+
eventEmitter: eventEmitterCapability,
|
|
2109
|
+
fanControl: fanControlCapability,
|
|
1933
2110
|
featureProbe: featureProbeCapability,
|
|
2111
|
+
flood: floodCapability,
|
|
2112
|
+
gas: gasCapability,
|
|
2113
|
+
humidifier: humidifierCapability,
|
|
2114
|
+
humiditySensor: humiditySensorCapability,
|
|
2115
|
+
image: imageCapability,
|
|
2116
|
+
lawnMowerControl: lawnMowerControlCapability,
|
|
2117
|
+
lockControl: lockControlCapability,
|
|
2118
|
+
mediaPlayer: mediaPlayerCapability,
|
|
1934
2119
|
motion: motionCapability,
|
|
1935
2120
|
motionTrigger: motionTriggerCapability,
|
|
1936
2121
|
motionZones: motionZonesCapability,
|
|
2122
|
+
nativeObjectDetection: nativeObjectDetectionCapability,
|
|
2123
|
+
notifier: notifierCapability,
|
|
2124
|
+
numericSensor: numericSensorCapability,
|
|
2125
|
+
powerMeter: powerMeterCapability,
|
|
2126
|
+
presence: presenceCapability,
|
|
2127
|
+
pressureSensor: pressureSensorCapability,
|
|
2128
|
+
privacyMask: privacyMaskCapability,
|
|
1937
2129
|
ptzAutotrack: ptzAutotrackCapability,
|
|
2130
|
+
scriptRunner: scriptRunnerCapability,
|
|
2131
|
+
smoke: smokeCapability,
|
|
1938
2132
|
streamParams: streamParamsCapability,
|
|
1939
2133
|
switch: switchCapability,
|
|
2134
|
+
tamper: tamperCapability,
|
|
2135
|
+
temperatureSensor: temperatureSensorCapability,
|
|
2136
|
+
update: updateCapability,
|
|
2137
|
+
vacuumControl: vacuumControlCapability,
|
|
2138
|
+
valve: valveCapability,
|
|
2139
|
+
vibration: vibrationCapability,
|
|
2140
|
+
waterHeater: waterHeaterCapability,
|
|
2141
|
+
weather: weatherCapability,
|
|
1940
2142
|
zoneAnalytics: zoneAnalyticsCapability,
|
|
1941
2143
|
zoneRules: zoneRulesCapability,
|
|
1942
2144
|
zones: zonesCapability
|
|
@@ -2040,6 +2242,16 @@ class BaseDevice {
|
|
|
2040
2242
|
* `kernel.devices.setDisabled(id, value)`.
|
|
2041
2243
|
*/
|
|
2042
2244
|
disabled;
|
|
2245
|
+
/**
|
|
2246
|
+
* Cached materialised `SourceInfo` — either the value persisted under
|
|
2247
|
+
* `metadata.sourceInfo` at construction time, or a synthetic
|
|
2248
|
+
* `{ id: stableId, system: addonId }` for providers that haven't
|
|
2249
|
+
* migrated yet. Lazily populated on first `sourceInfo` read so the
|
|
2250
|
+
* cost of Zod-parsing the meta blob is paid once per device boot.
|
|
2251
|
+
* Invalidated by `updateSourceInfo()` so providers see the new value
|
|
2252
|
+
* back through the getter without a re-fetch from the meta surface.
|
|
2253
|
+
*/
|
|
2254
|
+
_sourceInfoCache = null;
|
|
2043
2255
|
constructor(ctx, schema, options) {
|
|
2044
2256
|
this.ctx = ctx;
|
|
2045
2257
|
this.id = ctx.id;
|
|
@@ -2080,7 +2292,7 @@ class BaseDevice {
|
|
|
2080
2292
|
this.runtimeState = DeviceRuntimeState.fromInitial(initial, writer);
|
|
2081
2293
|
ctx.bindRuntimeState?.(this.runtimeState);
|
|
2082
2294
|
ctx.registerNativeCap?.(deviceStatusCapability, {});
|
|
2083
|
-
const seed = { online:
|
|
2295
|
+
const seed = { online: true, lastChangedAt: Date.now() };
|
|
2084
2296
|
this.runtimeState.setCapState("device-status", seed);
|
|
2085
2297
|
ctx.registerNativeCap?.(featureProbeCapability, {});
|
|
2086
2298
|
const probeSeed = {
|
|
@@ -2093,6 +2305,21 @@ class BaseDevice {
|
|
|
2093
2305
|
};
|
|
2094
2306
|
this.runtimeState.setCapState("feature-probe", probeSeed);
|
|
2095
2307
|
}
|
|
2308
|
+
deviceActions = /* @__PURE__ */ new Map();
|
|
2309
|
+
/** Declare a device custom action + its typed handler. Idempotent per name. */
|
|
2310
|
+
registerDeviceAction(name, spec, handler) {
|
|
2311
|
+
this.deviceActions.set(name, {
|
|
2312
|
+
spec,
|
|
2313
|
+
handler
|
|
2314
|
+
});
|
|
2315
|
+
}
|
|
2316
|
+
/** Invoke a registered device action. Validates input against the spec. */
|
|
2317
|
+
async runDeviceAction(action, input) {
|
|
2318
|
+
const entry = this.deviceActions.get(action);
|
|
2319
|
+
if (!entry) throw new Error(`unknown device action "${action}" on device ${this.id}`);
|
|
2320
|
+
const parsed = entry.spec.input.parse(input);
|
|
2321
|
+
return entry.handler(parsed);
|
|
2322
|
+
}
|
|
2096
2323
|
async removeDevice() {
|
|
2097
2324
|
}
|
|
2098
2325
|
/**
|
|
@@ -2109,6 +2336,71 @@ class BaseDevice {
|
|
|
2109
2336
|
const next = { online, lastChangedAt: Date.now() };
|
|
2110
2337
|
this.runtimeState.setCapState("device-status", next);
|
|
2111
2338
|
}
|
|
2339
|
+
/**
|
|
2340
|
+
* Upstream-system identity + rendering envelope for this device. See
|
|
2341
|
+
* `SourceInfo` for the field contract. Always returns a valid object:
|
|
2342
|
+
* if the persisted `metadata.sourceInfo` blob is absent or fails Zod
|
|
2343
|
+
* validation, falls back to a synthetic `{ id: stableId, system: addonId }`
|
|
2344
|
+
* so providers that haven't migrated keep working without code changes.
|
|
2345
|
+
*
|
|
2346
|
+
* The value is cached after the first read. `updateSourceInfo()`
|
|
2347
|
+
* invalidates the cache so subsequent reads see the new patch. The
|
|
2348
|
+
* returned object is frozen to prevent accidental in-place mutation —
|
|
2349
|
+
* use `updateSourceInfo({ patch })` to change fields.
|
|
2350
|
+
*/
|
|
2351
|
+
get sourceInfo() {
|
|
2352
|
+
if (this._sourceInfoCache) return this._sourceInfoCache;
|
|
2353
|
+
const fromMeta = extractSourceInfoFromMetadata(this.ctx.deviceMeta.metadata);
|
|
2354
|
+
const resolved = fromMeta ?? synthesizeSourceInfo({
|
|
2355
|
+
stableId: this.stableId,
|
|
2356
|
+
addonId: this.ctx.deviceMeta.addonId
|
|
2357
|
+
});
|
|
2358
|
+
this._sourceInfoCache = Object.freeze({ ...resolved });
|
|
2359
|
+
return this._sourceInfoCache;
|
|
2360
|
+
}
|
|
2361
|
+
/**
|
|
2362
|
+
* Convenience accessor for the upstream dispatch key. Equivalent to
|
|
2363
|
+
* `this.sourceInfo.id` — providers use this to keep a
|
|
2364
|
+
* `Map<sourceId, IDevice>` for routing inbound push events.
|
|
2365
|
+
*/
|
|
2366
|
+
get sourceId() {
|
|
2367
|
+
return this.sourceInfo.id;
|
|
2368
|
+
}
|
|
2369
|
+
/**
|
|
2370
|
+
* Patch the device's `SourceInfo`. Shallow-merges `patch` over the
|
|
2371
|
+
* current value, persists the merged result under
|
|
2372
|
+
* `metadata.sourceInfo` via the `device-manager.setMetadata` cap, and
|
|
2373
|
+
* emits `EventCategory.DeviceSourceInfoChanged` for live consumers.
|
|
2374
|
+
*
|
|
2375
|
+
* Safe to call from anywhere in the device's lifetime — the call is
|
|
2376
|
+
* idempotent for `undefined` patch values (ignored) and best-effort
|
|
2377
|
+
* for persistence (a transient device-manager error doesn't unwind
|
|
2378
|
+
* the local cache update, so subsequent reads still see the patch).
|
|
2379
|
+
*
|
|
2380
|
+
* Drivers populate this on adoption + on every metadata change push
|
|
2381
|
+
* from the upstream source. Subscribers (UI, export adapters) react
|
|
2382
|
+
* via the `DeviceSourceInfoChanged` event without polling.
|
|
2383
|
+
*/
|
|
2384
|
+
async updateSourceInfo(patch) {
|
|
2385
|
+
const next = mergeSourceInfo(this.sourceInfo, patch);
|
|
2386
|
+
this._sourceInfoCache = Object.freeze({ ...next });
|
|
2387
|
+
const api = this.ctx.api;
|
|
2388
|
+
const action = api?.deviceManager?.setMetadata;
|
|
2389
|
+
if (action) {
|
|
2390
|
+
try {
|
|
2391
|
+
await action.mutate({
|
|
2392
|
+
deviceId: this.id,
|
|
2393
|
+
patch: { [SOURCE_INFO_METADATA_KEY]: next }
|
|
2394
|
+
});
|
|
2395
|
+
} catch {
|
|
2396
|
+
}
|
|
2397
|
+
}
|
|
2398
|
+
this.ctx.eventBus.emit(createEvent(
|
|
2399
|
+
"device.source-info-changed",
|
|
2400
|
+
{ type: "device", id: this.stableId },
|
|
2401
|
+
{ deviceId: this.id, sourceInfo: next }
|
|
2402
|
+
));
|
|
2403
|
+
}
|
|
2112
2404
|
/**
|
|
2113
2405
|
* Re-publish the device's current `features` array to the persisted
|
|
2114
2406
|
* meta blob. Drivers call this after a probe finishes when the live
|
|
@@ -2359,7 +2651,13 @@ function toDeviceSummary(device, addonId) {
|
|
|
2359
2651
|
parentDeviceId: device.parentDeviceId,
|
|
2360
2652
|
online: device.online,
|
|
2361
2653
|
features: [...device.features],
|
|
2362
|
-
config
|
|
2654
|
+
config,
|
|
2655
|
+
// BaseDevice always resolves sourceInfo (synthetic or persisted).
|
|
2656
|
+
// `IDevice` doesn't declare the field — providers that override
|
|
2657
|
+
// `IDevice` outside the BaseDevice hierarchy stay backwards-
|
|
2658
|
+
// compatible. Read through a structural check so non-BaseDevice
|
|
2659
|
+
// implementations don't blow up.
|
|
2660
|
+
sourceInfo: device.sourceInfo
|
|
2363
2661
|
};
|
|
2364
2662
|
}
|
|
2365
2663
|
class BaseDeviceProvider extends BaseAddon {
|
|
@@ -2668,6 +2966,80 @@ function getZodDefault(schema) {
|
|
|
2668
2966
|
function humanizeKey(key) {
|
|
2669
2967
|
return key.replace(/([A-Z])/g, " $1").replace(/[_-]/g, " ").replace(/^\w/, (c) => c.toUpperCase()).trim();
|
|
2670
2968
|
}
|
|
2969
|
+
function isRecord(x) {
|
|
2970
|
+
return x !== null && typeof x === "object" && !Array.isArray(x);
|
|
2971
|
+
}
|
|
2972
|
+
function getByPath(obj, path) {
|
|
2973
|
+
const parts = path.split(".");
|
|
2974
|
+
let cur = obj;
|
|
2975
|
+
for (const part of parts) {
|
|
2976
|
+
if (!isRecord(cur)) return void 0;
|
|
2977
|
+
cur = cur[part];
|
|
2978
|
+
}
|
|
2979
|
+
return cur;
|
|
2980
|
+
}
|
|
2981
|
+
function setByPath(obj, path, value) {
|
|
2982
|
+
const dotIndex = path.indexOf(".");
|
|
2983
|
+
if (dotIndex === -1) {
|
|
2984
|
+
return { ...obj, [path]: value };
|
|
2985
|
+
}
|
|
2986
|
+
const head = path.slice(0, dotIndex);
|
|
2987
|
+
const tail = path.slice(dotIndex + 1);
|
|
2988
|
+
const child = obj[head];
|
|
2989
|
+
const childObj = isRecord(child) ? child : {};
|
|
2990
|
+
return { ...obj, [head]: setByPath(childObj, tail, value) };
|
|
2991
|
+
}
|
|
2992
|
+
function applyTransform(value, transform) {
|
|
2993
|
+
if (!transform || transform.kind === "identity") return value;
|
|
2994
|
+
if (transform.kind === "enum-map") {
|
|
2995
|
+
const key = String(value);
|
|
2996
|
+
if (Object.prototype.hasOwnProperty.call(transform.mapping, key)) return transform.mapping[key];
|
|
2997
|
+
return transform.fallback ?? null;
|
|
2998
|
+
}
|
|
2999
|
+
if (transform.kind === "linear") {
|
|
3000
|
+
if (typeof value !== "number" || Number.isNaN(value)) return null;
|
|
3001
|
+
let out = value * transform.scale + transform.offset;
|
|
3002
|
+
if (transform.clamp) {
|
|
3003
|
+
const min = transform.clamp[0];
|
|
3004
|
+
const max = transform.clamp[1];
|
|
3005
|
+
out = Math.min(max, Math.max(min, out));
|
|
3006
|
+
}
|
|
3007
|
+
return out;
|
|
3008
|
+
}
|
|
3009
|
+
return value;
|
|
3010
|
+
}
|
|
3011
|
+
function unwrap(schema) {
|
|
3012
|
+
let s = schema;
|
|
3013
|
+
while (s instanceof z.ZodNullable || s instanceof z.ZodOptional || s instanceof z.ZodDefault) {
|
|
3014
|
+
s = s.unwrap();
|
|
3015
|
+
}
|
|
3016
|
+
return s;
|
|
3017
|
+
}
|
|
3018
|
+
function leafKind(schema) {
|
|
3019
|
+
const s = unwrap(schema);
|
|
3020
|
+
if (s instanceof z.ZodEnum) return { kind: "enum", enumValues: s.options };
|
|
3021
|
+
if (s instanceof z.ZodNumber) return { kind: "number" };
|
|
3022
|
+
if (s instanceof z.ZodString) return { kind: "string" };
|
|
3023
|
+
if (s instanceof z.ZodBoolean) return { kind: "boolean" };
|
|
3024
|
+
return null;
|
|
3025
|
+
}
|
|
3026
|
+
function enumerateSchemaFields(schema, prefix = "") {
|
|
3027
|
+
const root = unwrap(schema);
|
|
3028
|
+
if (!(root instanceof z.ZodObject)) return [];
|
|
3029
|
+
const out = [];
|
|
3030
|
+
const shape = root.shape;
|
|
3031
|
+
for (const [key, field] of Object.entries(shape)) {
|
|
3032
|
+
const path = prefix ? `${prefix}.${key}` : key;
|
|
3033
|
+
const inner = unwrap(field);
|
|
3034
|
+
if (inner instanceof z.ZodObject) {
|
|
3035
|
+
out.push(...enumerateSchemaFields(inner, path));
|
|
3036
|
+
continue;
|
|
3037
|
+
}
|
|
3038
|
+
const leaf = leafKind(field);
|
|
3039
|
+
if (leaf) out.push({ path, kind: leaf.kind, ...leaf.enumValues ? { enumValues: leaf.enumValues } : {} });
|
|
3040
|
+
}
|
|
3041
|
+
return out;
|
|
3042
|
+
}
|
|
2671
3043
|
const DEVICE_STATE_EVENT_CATEGORY = "device.state-changed";
|
|
2672
3044
|
function createLazyTrpcSource(api) {
|
|
2673
3045
|
const cache = /* @__PURE__ */ new Map();
|
|
@@ -2818,10 +3190,10 @@ function createDeviceProxy(api, binding, opts) {
|
|
|
2818
3190
|
function callLeaf(capProp, method, kind, merged, push) {
|
|
2819
3191
|
const leaf = typedApi[capProp]?.[method];
|
|
2820
3192
|
if (!leaf) throw new Error(`DeviceProxy: api has no '${capProp}.${method}'`);
|
|
2821
|
-
const
|
|
2822
|
-
if (kind === "mutation") return
|
|
2823
|
-
if (kind === "subscription") return
|
|
2824
|
-
return
|
|
3193
|
+
const fn2 = leaf;
|
|
3194
|
+
if (kind === "mutation") return fn2.mutate(merged);
|
|
3195
|
+
if (kind === "subscription") return fn2.subscribe(merged, push);
|
|
3196
|
+
return fn2.query(merged);
|
|
2825
3197
|
}
|
|
2826
3198
|
function dispatch(capName, capProp, method, kind, input, push) {
|
|
2827
3199
|
const entry = binding.entries.find((e) => e.capName === capName);
|
|
@@ -2831,8 +3203,21 @@ function createDeviceProxy(api, binding, opts) {
|
|
|
2831
3203
|
return callLeaf(capProp, method, kind, mergeInput(input, void 0), push);
|
|
2832
3204
|
}
|
|
2833
3205
|
const accessoriesInterface = {
|
|
3206
|
+
setChildHidden: (input) => dispatch("accessories", "accessories", "setChildHidden", "mutation", input),
|
|
2834
3207
|
getStatus: (input) => dispatch("accessories", "accessories", "getStatus", "query", input)
|
|
2835
3208
|
};
|
|
3209
|
+
const airQualitySensorInterface = {
|
|
3210
|
+
getStatus: (input) => dispatch("air-quality-sensor", "airQualitySensor", "getStatus", "query", input)
|
|
3211
|
+
};
|
|
3212
|
+
const alarmPanelInterface = {
|
|
3213
|
+
arm: (input) => dispatch("alarm-panel", "alarmPanel", "arm", "mutation", input),
|
|
3214
|
+
disarm: (input) => dispatch("alarm-panel", "alarmPanel", "disarm", "mutation", input),
|
|
3215
|
+
trigger: (input) => dispatch("alarm-panel", "alarmPanel", "trigger", "mutation", input),
|
|
3216
|
+
getStatus: (input) => dispatch("alarm-panel", "alarmPanel", "getStatus", "query", input)
|
|
3217
|
+
};
|
|
3218
|
+
const ambientLightSensorInterface = {
|
|
3219
|
+
getStatus: (input) => dispatch("ambient-light-sensor", "ambientLightSensor", "getStatus", "query", input)
|
|
3220
|
+
};
|
|
2836
3221
|
const audioAnalysisInterface = {
|
|
2837
3222
|
resolveDeviceSettings: (input) => dispatch("audio-analysis", "audioAnalysis", "resolveDeviceSettings", "query", input),
|
|
2838
3223
|
getDeviceSettingsContribution: (input) => dispatch("audio-analysis", "audioAnalysis", "getDeviceSettingsContribution", "query", input),
|
|
@@ -2843,13 +3228,26 @@ function createDeviceProxy(api, binding, opts) {
|
|
|
2843
3228
|
getCurrentSnapshot: (input) => dispatch("audio-metrics", "audioMetrics", "getCurrentSnapshot", "query", input),
|
|
2844
3229
|
getHistory: (input) => dispatch("audio-metrics", "audioMetrics", "getHistory", "query", input)
|
|
2845
3230
|
};
|
|
3231
|
+
const automationControlInterface = {
|
|
3232
|
+
enable: (input) => dispatch("automation-control", "automationControl", "enable", "mutation", input),
|
|
3233
|
+
disable: (input) => dispatch("automation-control", "automationControl", "disable", "mutation", input),
|
|
3234
|
+
trigger: (input) => dispatch("automation-control", "automationControl", "trigger", "mutation", input),
|
|
3235
|
+
getStatus: (input) => dispatch("automation-control", "automationControl", "getStatus", "query", input)
|
|
3236
|
+
};
|
|
2846
3237
|
const batteryInterface = {
|
|
3238
|
+
wakeForStream: (input) => dispatch("battery", "battery", "wakeForStream", "mutation", input),
|
|
2847
3239
|
getStatus: (input) => dispatch("battery", "battery", "getStatus", "query", input)
|
|
2848
3240
|
};
|
|
3241
|
+
const binaryInterface = {
|
|
3242
|
+
getStatus: (input) => dispatch("binary", "binary", "getStatus", "query", input)
|
|
3243
|
+
};
|
|
2849
3244
|
const brightnessInterface = {
|
|
2850
3245
|
setBrightness: (input) => dispatch("brightness", "brightness", "setBrightness", "mutation", input),
|
|
2851
3246
|
getStatus: (input) => dispatch("brightness", "brightness", "getStatus", "query", input)
|
|
2852
3247
|
};
|
|
3248
|
+
const buttonInterface = {
|
|
3249
|
+
press: (input) => dispatch("button", "button", "press", "mutation", input)
|
|
3250
|
+
};
|
|
2853
3251
|
const cameraCredentialsInterface = {
|
|
2854
3252
|
getCredentials: (input) => dispatch("camera-credentials", "cameraCredentials", "getCredentials", "query", input),
|
|
2855
3253
|
getStatus: (input) => dispatch("camera-credentials", "cameraCredentials", "getStatus", "query", input)
|
|
@@ -2857,7 +3255,47 @@ function createDeviceProxy(api, binding, opts) {
|
|
|
2857
3255
|
const cameraStreamsInterface = {
|
|
2858
3256
|
getCameraStreams: (input) => dispatch("camera-streams", "cameraStreams", "getCameraStreams", "query", input),
|
|
2859
3257
|
getBrokerStreams: (input) => dispatch("camera-streams", "cameraStreams", "getBrokerStreams", "query", input),
|
|
2860
|
-
getRtspEntries: (input) => dispatch("camera-streams", "cameraStreams", "getRtspEntries", "query", input)
|
|
3258
|
+
getRtspEntries: (input) => dispatch("camera-streams", "cameraStreams", "getRtspEntries", "query", input),
|
|
3259
|
+
getProfileRtspEntries: (input) => dispatch("camera-streams", "cameraStreams", "getProfileRtspEntries", "query", input),
|
|
3260
|
+
pickStream: (input) => dispatch("camera-streams", "cameraStreams", "pickStream", "query", input)
|
|
3261
|
+
};
|
|
3262
|
+
const carbonMonoxideInterface = {
|
|
3263
|
+
getStatus: (input) => dispatch("carbon-monoxide", "carbonMonoxide", "getStatus", "query", input)
|
|
3264
|
+
};
|
|
3265
|
+
const climateControlInterface = {
|
|
3266
|
+
setMode: (input) => dispatch("climate-control", "climateControl", "setMode", "mutation", input),
|
|
3267
|
+
setFanMode: (input) => dispatch("climate-control", "climateControl", "setFanMode", "mutation", input),
|
|
3268
|
+
setPreset: (input) => dispatch("climate-control", "climateControl", "setPreset", "mutation", input),
|
|
3269
|
+
setTarget: (input) => dispatch("climate-control", "climateControl", "setTarget", "mutation", input),
|
|
3270
|
+
setTargetRange: (input) => dispatch("climate-control", "climateControl", "setTargetRange", "mutation", input),
|
|
3271
|
+
setTargetHumidity: (input) => dispatch("climate-control", "climateControl", "setTargetHumidity", "mutation", input),
|
|
3272
|
+
getStatus: (input) => dispatch("climate-control", "climateControl", "getStatus", "query", input)
|
|
3273
|
+
};
|
|
3274
|
+
const colorInterface = {
|
|
3275
|
+
setColor: (input) => dispatch("color", "color", "setColor", "mutation", input),
|
|
3276
|
+
getStatus: (input) => dispatch("color", "color", "getStatus", "query", input)
|
|
3277
|
+
};
|
|
3278
|
+
const connectivityInterface = {
|
|
3279
|
+
getStatus: (input) => dispatch("connectivity", "connectivity", "getStatus", "query", input)
|
|
3280
|
+
};
|
|
3281
|
+
const consumablesInterface = {
|
|
3282
|
+
reset: (input) => dispatch("consumables", "consumables", "reset", "mutation", input),
|
|
3283
|
+
getStatus: (input) => dispatch("consumables", "consumables", "getStatus", "query", input)
|
|
3284
|
+
};
|
|
3285
|
+
const contactInterface = {
|
|
3286
|
+
getStatus: (input) => dispatch("contact", "contact", "getStatus", "query", input)
|
|
3287
|
+
};
|
|
3288
|
+
const controlInterface = {
|
|
3289
|
+
setValue: (input) => dispatch("control", "control", "setValue", "mutation", input),
|
|
3290
|
+
getStatus: (input) => dispatch("control", "control", "getStatus", "query", input)
|
|
3291
|
+
};
|
|
3292
|
+
const coverInterface = {
|
|
3293
|
+
open: (input) => dispatch("cover", "cover", "open", "mutation", input),
|
|
3294
|
+
close: (input) => dispatch("cover", "cover", "close", "mutation", input),
|
|
3295
|
+
stop: (input) => dispatch("cover", "cover", "stop", "mutation", input),
|
|
3296
|
+
setPosition: (input) => dispatch("cover", "cover", "setPosition", "mutation", input),
|
|
3297
|
+
setTiltPosition: (input) => dispatch("cover", "cover", "setTiltPosition", "mutation", input),
|
|
3298
|
+
getStatus: (input) => dispatch("cover", "cover", "getStatus", "query", input)
|
|
2861
3299
|
};
|
|
2862
3300
|
const detectionPipelineInterface = {
|
|
2863
3301
|
getDeviceSettingsContribution: (input) => dispatch("detection-pipeline", "detectionPipeline", "getDeviceSettingsContribution", "query", input),
|
|
@@ -2875,8 +3313,10 @@ function createDeviceProxy(api, binding, opts) {
|
|
|
2875
3313
|
getStreamSources: (input) => dispatch("device-ops", "deviceOps", "getStreamSources", "query", input),
|
|
2876
3314
|
getConfigEntries: (input) => dispatch("device-ops", "deviceOps", "getConfigEntries", "query", input),
|
|
2877
3315
|
setConfig: (input) => dispatch("device-ops", "deviceOps", "setConfig", "mutation", input),
|
|
3316
|
+
runAction: (input) => dispatch("device-ops", "deviceOps", "runAction", "mutation", input),
|
|
2878
3317
|
removeDevice: (input) => dispatch("device-ops", "deviceOps", "removeDevice", "mutation", input),
|
|
2879
|
-
getSettingsSchema: (input) => dispatch("device-ops", "deviceOps", "getSettingsSchema", "query", input)
|
|
3318
|
+
getSettingsSchema: (input) => dispatch("device-ops", "deviceOps", "getSettingsSchema", "query", input),
|
|
3319
|
+
getRawState: (input) => dispatch("device-ops", "deviceOps", "getRawState", "query", input)
|
|
2880
3320
|
};
|
|
2881
3321
|
const deviceStatusInterface = {
|
|
2882
3322
|
getStatus: (input) => dispatch("device-status", "deviceStatus", "getStatus", "query", input)
|
|
@@ -2884,23 +3324,81 @@ function createDeviceProxy(api, binding, opts) {
|
|
|
2884
3324
|
const doorbellInterface = {
|
|
2885
3325
|
getStatus: (input) => dispatch("doorbell", "doorbell", "getStatus", "query", input)
|
|
2886
3326
|
};
|
|
3327
|
+
const enumSensorInterface = {
|
|
3328
|
+
getStatus: (input) => dispatch("enum-sensor", "enumSensor", "getStatus", "query", input)
|
|
3329
|
+
};
|
|
3330
|
+
const eventEmitterInterface = {
|
|
3331
|
+
getStatus: (input) => dispatch("event-emitter", "eventEmitter", "getStatus", "query", input)
|
|
3332
|
+
};
|
|
2887
3333
|
const eventsInterface = {
|
|
2888
3334
|
getEvents: (input) => dispatch("events", "events", "getEvents", "query", input),
|
|
2889
3335
|
getEventThumbnail: (input) => dispatch("events", "events", "getEventThumbnail", "query", input),
|
|
2890
3336
|
getEventClipUrl: (input) => dispatch("events", "events", "getEventClipUrl", "query", input)
|
|
2891
3337
|
};
|
|
3338
|
+
const fanControlInterface = {
|
|
3339
|
+
setPercentage: (input) => dispatch("fan-control", "fanControl", "setPercentage", "mutation", input),
|
|
3340
|
+
setPreset: (input) => dispatch("fan-control", "fanControl", "setPreset", "mutation", input),
|
|
3341
|
+
setDirection: (input) => dispatch("fan-control", "fanControl", "setDirection", "mutation", input),
|
|
3342
|
+
setOscillating: (input) => dispatch("fan-control", "fanControl", "setOscillating", "mutation", input),
|
|
3343
|
+
getStatus: (input) => dispatch("fan-control", "fanControl", "getStatus", "query", input)
|
|
3344
|
+
};
|
|
2892
3345
|
const featureProbeInterface = {
|
|
2893
3346
|
getStatus: (input) => dispatch("feature-probe", "featureProbe", "getStatus", "query", input)
|
|
2894
3347
|
};
|
|
3348
|
+
const floodInterface = {
|
|
3349
|
+
getStatus: (input) => dispatch("flood", "flood", "getStatus", "query", input)
|
|
3350
|
+
};
|
|
3351
|
+
const gasInterface = {
|
|
3352
|
+
getStatus: (input) => dispatch("gas", "gas", "getStatus", "query", input)
|
|
3353
|
+
};
|
|
3354
|
+
const humidifierInterface = {
|
|
3355
|
+
setOn: (input) => dispatch("humidifier", "humidifier", "setOn", "mutation", input),
|
|
3356
|
+
setTargetHumidity: (input) => dispatch("humidifier", "humidifier", "setTargetHumidity", "mutation", input),
|
|
3357
|
+
setMode: (input) => dispatch("humidifier", "humidifier", "setMode", "mutation", input),
|
|
3358
|
+
getStatus: (input) => dispatch("humidifier", "humidifier", "getStatus", "query", input)
|
|
3359
|
+
};
|
|
3360
|
+
const humiditySensorInterface = {
|
|
3361
|
+
getStatus: (input) => dispatch("humidity-sensor", "humiditySensor", "getStatus", "query", input)
|
|
3362
|
+
};
|
|
3363
|
+
const imageInterface = {
|
|
3364
|
+
getStatus: (input) => dispatch("image", "image", "getStatus", "query", input)
|
|
3365
|
+
};
|
|
2895
3366
|
const intercomInterface = {
|
|
2896
3367
|
startSession: (input) => dispatch("intercom", "intercom", "startSession", "mutation", input),
|
|
2897
3368
|
handleAnswer: (input) => dispatch("intercom", "intercom", "handleAnswer", "mutation", input),
|
|
2898
3369
|
stopSession: (input) => dispatch("intercom", "intercom", "stopSession", "mutation", input),
|
|
2899
3370
|
startTalkSession: (input) => dispatch("intercom", "intercom", "startTalkSession", "mutation", input),
|
|
2900
|
-
|
|
3371
|
+
pushTalkAudio: (input) => dispatch("intercom", "intercom", "pushTalkAudio", "mutation", input),
|
|
2901
3372
|
endTalkSession: (input) => dispatch("intercom", "intercom", "endTalkSession", "mutation", input),
|
|
2902
3373
|
getStatus: (input) => dispatch("intercom", "intercom", "getStatus", "query", input)
|
|
2903
3374
|
};
|
|
3375
|
+
const lawnMowerControlInterface = {
|
|
3376
|
+
startMowing: (input) => dispatch("lawn-mower-control", "lawnMowerControl", "startMowing", "mutation", input),
|
|
3377
|
+
pause: (input) => dispatch("lawn-mower-control", "lawnMowerControl", "pause", "mutation", input),
|
|
3378
|
+
dock: (input) => dispatch("lawn-mower-control", "lawnMowerControl", "dock", "mutation", input),
|
|
3379
|
+
getStatus: (input) => dispatch("lawn-mower-control", "lawnMowerControl", "getStatus", "query", input)
|
|
3380
|
+
};
|
|
3381
|
+
const lockControlInterface = {
|
|
3382
|
+
lock: (input) => dispatch("lock-control", "lockControl", "lock", "mutation", input),
|
|
3383
|
+
unlock: (input) => dispatch("lock-control", "lockControl", "unlock", "mutation", input),
|
|
3384
|
+
open: (input) => dispatch("lock-control", "lockControl", "open", "mutation", input),
|
|
3385
|
+
getStatus: (input) => dispatch("lock-control", "lockControl", "getStatus", "query", input)
|
|
3386
|
+
};
|
|
3387
|
+
const mediaPlayerInterface = {
|
|
3388
|
+
play: (input) => dispatch("media-player", "mediaPlayer", "play", "mutation", input),
|
|
3389
|
+
pause: (input) => dispatch("media-player", "mediaPlayer", "pause", "mutation", input),
|
|
3390
|
+
stop: (input) => dispatch("media-player", "mediaPlayer", "stop", "mutation", input),
|
|
3391
|
+
next: (input) => dispatch("media-player", "mediaPlayer", "next", "mutation", input),
|
|
3392
|
+
previous: (input) => dispatch("media-player", "mediaPlayer", "previous", "mutation", input),
|
|
3393
|
+
seek: (input) => dispatch("media-player", "mediaPlayer", "seek", "mutation", input),
|
|
3394
|
+
setVolume: (input) => dispatch("media-player", "mediaPlayer", "setVolume", "mutation", input),
|
|
3395
|
+
setMute: (input) => dispatch("media-player", "mediaPlayer", "setMute", "mutation", input),
|
|
3396
|
+
setShuffle: (input) => dispatch("media-player", "mediaPlayer", "setShuffle", "mutation", input),
|
|
3397
|
+
setRepeat: (input) => dispatch("media-player", "mediaPlayer", "setRepeat", "mutation", input),
|
|
3398
|
+
selectSource: (input) => dispatch("media-player", "mediaPlayer", "selectSource", "mutation", input),
|
|
3399
|
+
playMedia: (input) => dispatch("media-player", "mediaPlayer", "playMedia", "mutation", input),
|
|
3400
|
+
getStatus: (input) => dispatch("media-player", "mediaPlayer", "getStatus", "query", input)
|
|
3401
|
+
};
|
|
2904
3402
|
const motionInterface = {
|
|
2905
3403
|
isDetected: (input) => dispatch("motion", "motion", "isDetected", "query", input),
|
|
2906
3404
|
getStatus: (input) => dispatch("motion", "motion", "getStatus", "query", input)
|
|
@@ -2923,8 +3421,17 @@ function createDeviceProxy(api, binding, opts) {
|
|
|
2923
3421
|
getStatus: (input) => dispatch("motion-zones", "motionZones", "getStatus", "query", input)
|
|
2924
3422
|
};
|
|
2925
3423
|
const nativeObjectDetectionInterface = {
|
|
3424
|
+
setEnabled: (input) => dispatch("native-object-detection", "nativeObjectDetection", "setEnabled", "mutation", input),
|
|
2926
3425
|
getStatus: (input) => dispatch("native-object-detection", "nativeObjectDetection", "getStatus", "query", input)
|
|
2927
3426
|
};
|
|
3427
|
+
const notifierInterface = {
|
|
3428
|
+
send: (input) => dispatch("notifier", "notifier", "send", "mutation", input),
|
|
3429
|
+
cancel: (input) => dispatch("notifier", "notifier", "cancel", "mutation", input),
|
|
3430
|
+
getStatus: (input) => dispatch("notifier", "notifier", "getStatus", "query", input)
|
|
3431
|
+
};
|
|
3432
|
+
const numericSensorInterface = {
|
|
3433
|
+
getStatus: (input) => dispatch("numeric-sensor", "numericSensor", "getStatus", "query", input)
|
|
3434
|
+
};
|
|
2928
3435
|
const osdInterface = {
|
|
2929
3436
|
setOverlay: (input) => dispatch("osd", "osd", "setOverlay", "mutation", input),
|
|
2930
3437
|
getStatus: (input) => dispatch("osd", "osd", "getStatus", "query", input)
|
|
@@ -2937,12 +3444,28 @@ function createDeviceProxy(api, binding, opts) {
|
|
|
2937
3444
|
getMotionEvents: (input) => dispatch("pipeline-analytics", "pipelineAnalytics", "getMotionEvents", "query", input),
|
|
2938
3445
|
getObjectEvents: (input) => dispatch("pipeline-analytics", "pipelineAnalytics", "getObjectEvents", "query", input),
|
|
2939
3446
|
getAudioEvents: (input) => dispatch("pipeline-analytics", "pipelineAnalytics", "getAudioEvents", "query", input),
|
|
3447
|
+
getEventDensity: (input) => dispatch("pipeline-analytics", "pipelineAnalytics", "getEventDensity", "query", input),
|
|
3448
|
+
pruneEventsBefore: (input) => dispatch("pipeline-analytics", "pipelineAnalytics", "pruneEventsBefore", "mutation", input),
|
|
2940
3449
|
getEventMedia: (input) => dispatch("pipeline-analytics", "pipelineAnalytics", "getEventMedia", "query", input),
|
|
2941
3450
|
getTrackMedia: (input) => dispatch("pipeline-analytics", "pipelineAnalytics", "getTrackMedia", "query", input),
|
|
2942
3451
|
getDeviceSettingsContribution: (input) => dispatch("pipeline-analytics", "pipelineAnalytics", "getDeviceSettingsContribution", "query", input),
|
|
2943
3452
|
getDeviceLiveContribution: (input) => dispatch("pipeline-analytics", "pipelineAnalytics", "getDeviceLiveContribution", "query", input),
|
|
2944
3453
|
applyDeviceSettingsPatch: (input) => dispatch("pipeline-analytics", "pipelineAnalytics", "applyDeviceSettingsPatch", "mutation", input)
|
|
2945
3454
|
};
|
|
3455
|
+
const powerMeterInterface = {
|
|
3456
|
+
getStatus: (input) => dispatch("power-meter", "powerMeter", "getStatus", "query", input)
|
|
3457
|
+
};
|
|
3458
|
+
const presenceInterface = {
|
|
3459
|
+
getStatus: (input) => dispatch("presence", "presence", "getStatus", "query", input)
|
|
3460
|
+
};
|
|
3461
|
+
const pressureSensorInterface = {
|
|
3462
|
+
getStatus: (input) => dispatch("pressure-sensor", "pressureSensor", "getStatus", "query", input)
|
|
3463
|
+
};
|
|
3464
|
+
const privacyMaskInterface = {
|
|
3465
|
+
getOptions: (input) => dispatch("privacy-mask", "privacyMask", "getOptions", "query", input),
|
|
3466
|
+
setMask: (input) => dispatch("privacy-mask", "privacyMask", "setMask", "mutation", input),
|
|
3467
|
+
getStatus: (input) => dispatch("privacy-mask", "privacyMask", "getStatus", "query", input)
|
|
3468
|
+
};
|
|
2946
3469
|
const ptzInterface = {
|
|
2947
3470
|
move: (input) => dispatch("ptz", "ptz", "move", "mutation", input),
|
|
2948
3471
|
continuousMove: (input) => dispatch("ptz", "ptz", "continuousMove", "mutation", input),
|
|
@@ -2966,10 +3489,13 @@ function createDeviceProxy(api, binding, opts) {
|
|
|
2966
3489
|
const rebootInterface = {
|
|
2967
3490
|
reboot: (input) => dispatch("reboot", "reboot", "reboot", "mutation", input)
|
|
2968
3491
|
};
|
|
2969
|
-
const
|
|
2970
|
-
|
|
2971
|
-
|
|
2972
|
-
|
|
3492
|
+
const scriptRunnerInterface = {
|
|
3493
|
+
run: (input) => dispatch("script-runner", "scriptRunner", "run", "mutation", input),
|
|
3494
|
+
stop: (input) => dispatch("script-runner", "scriptRunner", "stop", "mutation", input),
|
|
3495
|
+
getStatus: (input) => dispatch("script-runner", "scriptRunner", "getStatus", "query", input)
|
|
3496
|
+
};
|
|
3497
|
+
const smokeInterface = {
|
|
3498
|
+
getStatus: (input) => dispatch("smoke", "smoke", "getStatus", "query", input)
|
|
2973
3499
|
};
|
|
2974
3500
|
const snapshotInterface = {
|
|
2975
3501
|
getSnapshot: (input) => dispatch("snapshot", "snapshot", "getSnapshot", "query", input),
|
|
@@ -2979,6 +3505,9 @@ function createDeviceProxy(api, binding, opts) {
|
|
|
2979
3505
|
getDeviceLiveContribution: (input) => dispatch("snapshot", "snapshot", "getDeviceLiveContribution", "query", input),
|
|
2980
3506
|
applyDeviceSettingsPatch: (input) => dispatch("snapshot", "snapshot", "applyDeviceSettingsPatch", "mutation", input)
|
|
2981
3507
|
};
|
|
3508
|
+
const streamCatalogInterface = {
|
|
3509
|
+
getCatalog: (input) => dispatch("stream-catalog", "streamCatalog", "getCatalog", "query", input)
|
|
3510
|
+
};
|
|
2982
3511
|
const streamParamsInterface = {
|
|
2983
3512
|
getOptions: (input) => dispatch("stream-params", "streamParams", "getOptions", "query", input),
|
|
2984
3513
|
setProfile: (input) => dispatch("stream-params", "streamParams", "setProfile", "mutation", input),
|
|
@@ -2989,13 +3518,54 @@ function createDeviceProxy(api, binding, opts) {
|
|
|
2989
3518
|
setState: (input) => dispatch("switch", "switch", "setState", "mutation", input),
|
|
2990
3519
|
getStatus: (input) => dispatch("switch", "switch", "getStatus", "query", input)
|
|
2991
3520
|
};
|
|
3521
|
+
const tamperInterface = {
|
|
3522
|
+
getStatus: (input) => dispatch("tamper", "tamper", "getStatus", "query", input)
|
|
3523
|
+
};
|
|
3524
|
+
const temperatureSensorInterface = {
|
|
3525
|
+
getStatus: (input) => dispatch("temperature-sensor", "temperatureSensor", "getStatus", "query", input)
|
|
3526
|
+
};
|
|
3527
|
+
const updateInterface = {
|
|
3528
|
+
installUpdate: (input) => dispatch("update", "update", "installUpdate", "mutation", input),
|
|
3529
|
+
getStatus: (input) => dispatch("update", "update", "getStatus", "query", input)
|
|
3530
|
+
};
|
|
3531
|
+
const vacuumControlInterface = {
|
|
3532
|
+
start: (input) => dispatch("vacuum-control", "vacuumControl", "start", "mutation", input),
|
|
3533
|
+
pause: (input) => dispatch("vacuum-control", "vacuumControl", "pause", "mutation", input),
|
|
3534
|
+
stop: (input) => dispatch("vacuum-control", "vacuumControl", "stop", "mutation", input),
|
|
3535
|
+
returnToBase: (input) => dispatch("vacuum-control", "vacuumControl", "returnToBase", "mutation", input),
|
|
3536
|
+
locate: (input) => dispatch("vacuum-control", "vacuumControl", "locate", "mutation", input),
|
|
3537
|
+
setFanSpeed: (input) => dispatch("vacuum-control", "vacuumControl", "setFanSpeed", "mutation", input),
|
|
3538
|
+
getStatus: (input) => dispatch("vacuum-control", "vacuumControl", "getStatus", "query", input)
|
|
3539
|
+
};
|
|
3540
|
+
const valveInterface = {
|
|
3541
|
+
open: (input) => dispatch("valve", "valve", "open", "mutation", input),
|
|
3542
|
+
close: (input) => dispatch("valve", "valve", "close", "mutation", input),
|
|
3543
|
+
stop: (input) => dispatch("valve", "valve", "stop", "mutation", input),
|
|
3544
|
+
setPosition: (input) => dispatch("valve", "valve", "setPosition", "mutation", input),
|
|
3545
|
+
getStatus: (input) => dispatch("valve", "valve", "getStatus", "query", input)
|
|
3546
|
+
};
|
|
3547
|
+
const vibrationInterface = {
|
|
3548
|
+
getStatus: (input) => dispatch("vibration", "vibration", "getStatus", "query", input)
|
|
3549
|
+
};
|
|
3550
|
+
const waterHeaterInterface = {
|
|
3551
|
+
setTargetTemp: (input) => dispatch("water-heater", "waterHeater", "setTargetTemp", "mutation", input),
|
|
3552
|
+
setOperationMode: (input) => dispatch("water-heater", "waterHeater", "setOperationMode", "mutation", input),
|
|
3553
|
+
setAway: (input) => dispatch("water-heater", "waterHeater", "setAway", "mutation", input),
|
|
3554
|
+
getStatus: (input) => dispatch("water-heater", "waterHeater", "getStatus", "query", input)
|
|
3555
|
+
};
|
|
3556
|
+
const weatherInterface = {
|
|
3557
|
+
getStatus: (input) => dispatch("weather", "weather", "getStatus", "query", input)
|
|
3558
|
+
};
|
|
2992
3559
|
const webrtcSessionInterface = {
|
|
2993
3560
|
listStreams: (input) => dispatch("webrtc-session", "webrtcSession", "listStreams", "query", input),
|
|
2994
3561
|
createSession: (input) => dispatch("webrtc-session", "webrtcSession", "createSession", "mutation", input),
|
|
2995
3562
|
handleOffer: (input) => dispatch("webrtc-session", "webrtcSession", "handleOffer", "mutation", input),
|
|
2996
3563
|
handleAnswer: (input) => dispatch("webrtc-session", "webrtcSession", "handleAnswer", "mutation", input),
|
|
3564
|
+
addIceCandidate: (input) => dispatch("webrtc-session", "webrtcSession", "addIceCandidate", "mutation", input),
|
|
3565
|
+
getIceCandidates: (input) => dispatch("webrtc-session", "webrtcSession", "getIceCandidates", "query", input),
|
|
2997
3566
|
closeSession: (input) => dispatch("webrtc-session", "webrtcSession", "closeSession", "mutation", input),
|
|
2998
|
-
hasAdaptiveBitrate: (input) => dispatch("webrtc-session", "webrtcSession", "hasAdaptiveBitrate", "query", input)
|
|
3567
|
+
hasAdaptiveBitrate: (input) => dispatch("webrtc-session", "webrtcSession", "hasAdaptiveBitrate", "query", input),
|
|
3568
|
+
getSessionState: (input) => dispatch("webrtc-session", "webrtcSession", "getSessionState", "query", input)
|
|
2999
3569
|
};
|
|
3000
3570
|
const zoneAnalyticsInterface = {
|
|
3001
3571
|
getCurrentSnapshot: (input) => dispatch("zone-analytics", "zoneAnalytics", "getCurrentSnapshot", "query", input),
|
|
@@ -3017,6 +3587,14 @@ function createDeviceProxy(api, binding, opts) {
|
|
|
3017
3587
|
getDeviceSettings: (input) => dispatchSystem("addonSettings", "getDeviceSettings", "query", input),
|
|
3018
3588
|
updateDeviceSettings: (input) => dispatchSystem("addonSettings", "updateDeviceSettings", "mutation", input)
|
|
3019
3589
|
};
|
|
3590
|
+
const cameraPipelineConfigInterface = {
|
|
3591
|
+
getDeviceSettingsContribution: (input) => dispatchSystem("cameraPipelineConfig", "getDeviceSettingsContribution", "query", input),
|
|
3592
|
+
getDeviceLiveContribution: (input) => dispatchSystem("cameraPipelineConfig", "getDeviceLiveContribution", "query", input),
|
|
3593
|
+
applyDeviceSettingsPatch: (input) => dispatchSystem("cameraPipelineConfig", "applyDeviceSettingsPatch", "mutation", input)
|
|
3594
|
+
};
|
|
3595
|
+
const deviceAdoptionInterface = {
|
|
3596
|
+
getStatus: (input) => dispatchSystem("deviceAdoption", "getStatus", "query", input)
|
|
3597
|
+
};
|
|
3020
3598
|
const deviceExportInterface = {
|
|
3021
3599
|
getDeviceSettingsContribution: (input) => dispatchSystem("deviceExport", "getDeviceSettingsContribution", "query", input),
|
|
3022
3600
|
getDeviceLiveContribution: (input) => dispatchSystem("deviceExport", "getDeviceLiveContribution", "query", input),
|
|
@@ -3028,6 +3606,15 @@ function createDeviceProxy(api, binding, opts) {
|
|
|
3028
3606
|
loadMeta: (input) => dispatchSystem("deviceManager", "loadMeta", "query", input),
|
|
3029
3607
|
setName: (input) => dispatchSystem("deviceManager", "setName", "mutation", input),
|
|
3030
3608
|
setLocation: (input) => dispatchSystem("deviceManager", "setLocation", "mutation", input),
|
|
3609
|
+
setType: (input) => dispatchSystem("deviceManager", "setType", "mutation", input),
|
|
3610
|
+
setIntegrationId: (input) => dispatchSystem("deviceManager", "setIntegrationId", "mutation", input),
|
|
3611
|
+
setLinkDeviceId: (input) => dispatchSystem("deviceManager", "setLinkDeviceId", "mutation", input),
|
|
3612
|
+
setPrimaryChildEntityId: (input) => dispatchSystem("deviceManager", "setPrimaryChildEntityId", "mutation", input),
|
|
3613
|
+
setChildLayout: (input) => dispatchSystem("deviceManager", "setChildLayout", "mutation", input),
|
|
3614
|
+
setDeviceLinks: (input) => dispatchSystem("deviceManager", "setDeviceLinks", "mutation", input),
|
|
3615
|
+
getWireableFields: (input) => dispatchSystem("deviceManager", "getWireableFields", "query", input),
|
|
3616
|
+
setRole: (input) => dispatchSystem("deviceManager", "setRole", "mutation", input),
|
|
3617
|
+
applyInitialMeta: (input) => dispatchSystem("deviceManager", "applyInitialMeta", "mutation", input),
|
|
3031
3618
|
setMetadata: (input) => dispatchSystem("deviceManager", "setMetadata", "mutation", input),
|
|
3032
3619
|
setDisabled: (input) => dispatchSystem("deviceManager", "setDisabled", "mutation", input),
|
|
3033
3620
|
getDevice: (input) => dispatchSystem("deviceManager", "getDevice", "query", input),
|
|
@@ -3047,6 +3634,7 @@ function createDeviceProxy(api, binding, opts) {
|
|
|
3047
3634
|
getDeviceSettingsAggregate: (input) => dispatchSystem("deviceManager", "getDeviceSettingsAggregate", "query", input),
|
|
3048
3635
|
getDeviceLiveInfoAggregate: (input) => dispatchSystem("deviceManager", "getDeviceLiveInfoAggregate", "query", input),
|
|
3049
3636
|
getDeviceAggregate: (input) => dispatchSystem("deviceManager", "getDeviceAggregate", "query", input),
|
|
3637
|
+
runDeviceAction: (input) => dispatchSystem("deviceManager", "runDeviceAction", "mutation", input),
|
|
3050
3638
|
updateDeviceField: (input) => dispatchSystem("deviceManager", "updateDeviceField", "mutation", input),
|
|
3051
3639
|
updateDeviceFieldsBatch: (input) => dispatchSystem("deviceManager", "updateDeviceFieldsBatch", "mutation", input),
|
|
3052
3640
|
testField: (input) => dispatchSystem("deviceManager", "testField", "mutation", input),
|
|
@@ -3091,8 +3679,17 @@ function createDeviceProxy(api, binding, opts) {
|
|
|
3091
3679
|
detachCamera: (input) => dispatchSystem("pipelineRunner", "detachCamera", "mutation", input),
|
|
3092
3680
|
getCameraMetrics: (input) => dispatchSystem("pipelineRunner", "getCameraMetrics", "query", input)
|
|
3093
3681
|
};
|
|
3094
|
-
const
|
|
3095
|
-
|
|
3682
|
+
const recordingInterface = {
|
|
3683
|
+
getAvailability: (input) => dispatchSystem("recording", "getAvailability", "query", input),
|
|
3684
|
+
getPlaybackManifest: (input) => dispatchSystem("recording", "getPlaybackManifest", "query", input),
|
|
3685
|
+
getDeviceConfig: (input) => dispatchSystem("recording", "getDeviceConfig", "query", input),
|
|
3686
|
+
setDeviceConfig: (input) => dispatchSystem("recording", "setDeviceConfig", "mutation", input),
|
|
3687
|
+
rescanStorage: (input) => dispatchSystem("recording", "rescanStorage", "mutation", input),
|
|
3688
|
+
pruneFootage: (input) => dispatchSystem("recording", "pruneFootage", "mutation", input),
|
|
3689
|
+
getStatus: (input) => dispatchSystem("recording", "getStatus", "query", input),
|
|
3690
|
+
getDeviceSettingsContribution: (input) => dispatchSystem("recording", "getDeviceSettingsContribution", "query", input),
|
|
3691
|
+
getDeviceLiveContribution: (input) => dispatchSystem("recording", "getDeviceLiveContribution", "query", input),
|
|
3692
|
+
applyDeviceSettingsPatch: (input) => dispatchSystem("recording", "applyDeviceSettingsPatch", "mutation", input)
|
|
3096
3693
|
};
|
|
3097
3694
|
const snapshotProviderInterface = {
|
|
3098
3695
|
supportsDevice: (input) => dispatchSystem("snapshotProvider", "supportsDevice", "query", input),
|
|
@@ -3112,58 +3709,142 @@ function createDeviceProxy(api, binding, opts) {
|
|
|
3112
3709
|
deviceId: binding.deviceId,
|
|
3113
3710
|
binding,
|
|
3114
3711
|
state: {
|
|
3712
|
+
airQualitySensor: createSliceHandle(stateSource, binding.deviceId, "air-quality-sensor"),
|
|
3713
|
+
alarmPanel: createSliceHandle(stateSource, binding.deviceId, "alarm-panel"),
|
|
3714
|
+
ambientLightSensor: createSliceHandle(stateSource, binding.deviceId, "ambient-light-sensor"),
|
|
3115
3715
|
audioMetrics: createSliceHandle(stateSource, binding.deviceId, "audio-metrics"),
|
|
3716
|
+
automationControl: createSliceHandle(stateSource, binding.deviceId, "automation-control"),
|
|
3116
3717
|
battery: createSliceHandle(stateSource, binding.deviceId, "battery"),
|
|
3718
|
+
binary: createSliceHandle(stateSource, binding.deviceId, "binary"),
|
|
3117
3719
|
brightness: createSliceHandle(stateSource, binding.deviceId, "brightness"),
|
|
3118
3720
|
cameraStreams: createSliceHandle(stateSource, binding.deviceId, "camera-streams"),
|
|
3721
|
+
carbonMonoxide: createSliceHandle(stateSource, binding.deviceId, "carbon-monoxide"),
|
|
3722
|
+
climateControl: createSliceHandle(stateSource, binding.deviceId, "climate-control"),
|
|
3723
|
+
color: createSliceHandle(stateSource, binding.deviceId, "color"),
|
|
3724
|
+
connectivity: createSliceHandle(stateSource, binding.deviceId, "connectivity"),
|
|
3725
|
+
consumables: createSliceHandle(stateSource, binding.deviceId, "consumables"),
|
|
3726
|
+
contact: createSliceHandle(stateSource, binding.deviceId, "contact"),
|
|
3727
|
+
control: createSliceHandle(stateSource, binding.deviceId, "control"),
|
|
3728
|
+
cover: createSliceHandle(stateSource, binding.deviceId, "cover"),
|
|
3119
3729
|
deviceDiscovery: createSliceHandle(stateSource, binding.deviceId, "device-discovery"),
|
|
3120
3730
|
deviceStatus: createSliceHandle(stateSource, binding.deviceId, "device-status"),
|
|
3121
3731
|
doorbell: createSliceHandle(stateSource, binding.deviceId, "doorbell"),
|
|
3732
|
+
enumSensor: createSliceHandle(stateSource, binding.deviceId, "enum-sensor"),
|
|
3733
|
+
eventEmitter: createSliceHandle(stateSource, binding.deviceId, "event-emitter"),
|
|
3734
|
+
fanControl: createSliceHandle(stateSource, binding.deviceId, "fan-control"),
|
|
3122
3735
|
featureProbe: createSliceHandle(stateSource, binding.deviceId, "feature-probe"),
|
|
3736
|
+
flood: createSliceHandle(stateSource, binding.deviceId, "flood"),
|
|
3737
|
+
gas: createSliceHandle(stateSource, binding.deviceId, "gas"),
|
|
3738
|
+
humidifier: createSliceHandle(stateSource, binding.deviceId, "humidifier"),
|
|
3739
|
+
humiditySensor: createSliceHandle(stateSource, binding.deviceId, "humidity-sensor"),
|
|
3740
|
+
image: createSliceHandle(stateSource, binding.deviceId, "image"),
|
|
3741
|
+
lawnMowerControl: createSliceHandle(stateSource, binding.deviceId, "lawn-mower-control"),
|
|
3742
|
+
lockControl: createSliceHandle(stateSource, binding.deviceId, "lock-control"),
|
|
3743
|
+
mediaPlayer: createSliceHandle(stateSource, binding.deviceId, "media-player"),
|
|
3123
3744
|
motion: createSliceHandle(stateSource, binding.deviceId, "motion"),
|
|
3124
3745
|
motionTrigger: createSliceHandle(stateSource, binding.deviceId, "motion-trigger"),
|
|
3125
3746
|
motionZones: createSliceHandle(stateSource, binding.deviceId, "motion-zones"),
|
|
3747
|
+
nativeObjectDetection: createSliceHandle(stateSource, binding.deviceId, "native-object-detection"),
|
|
3748
|
+
notifier: createSliceHandle(stateSource, binding.deviceId, "notifier"),
|
|
3749
|
+
numericSensor: createSliceHandle(stateSource, binding.deviceId, "numeric-sensor"),
|
|
3750
|
+
powerMeter: createSliceHandle(stateSource, binding.deviceId, "power-meter"),
|
|
3751
|
+
presence: createSliceHandle(stateSource, binding.deviceId, "presence"),
|
|
3752
|
+
pressureSensor: createSliceHandle(stateSource, binding.deviceId, "pressure-sensor"),
|
|
3753
|
+
privacyMask: createSliceHandle(stateSource, binding.deviceId, "privacy-mask"),
|
|
3126
3754
|
ptzAutotrack: createSliceHandle(stateSource, binding.deviceId, "ptz-autotrack"),
|
|
3755
|
+
scriptRunner: createSliceHandle(stateSource, binding.deviceId, "script-runner"),
|
|
3756
|
+
smoke: createSliceHandle(stateSource, binding.deviceId, "smoke"),
|
|
3127
3757
|
streamParams: createSliceHandle(stateSource, binding.deviceId, "stream-params"),
|
|
3128
3758
|
switch: createSliceHandle(stateSource, binding.deviceId, "switch"),
|
|
3759
|
+
tamper: createSliceHandle(stateSource, binding.deviceId, "tamper"),
|
|
3760
|
+
temperatureSensor: createSliceHandle(stateSource, binding.deviceId, "temperature-sensor"),
|
|
3761
|
+
update: createSliceHandle(stateSource, binding.deviceId, "update"),
|
|
3762
|
+
vacuumControl: createSliceHandle(stateSource, binding.deviceId, "vacuum-control"),
|
|
3763
|
+
valve: createSliceHandle(stateSource, binding.deviceId, "valve"),
|
|
3764
|
+
vibration: createSliceHandle(stateSource, binding.deviceId, "vibration"),
|
|
3765
|
+
waterHeater: createSliceHandle(stateSource, binding.deviceId, "water-heater"),
|
|
3766
|
+
weather: createSliceHandle(stateSource, binding.deviceId, "weather"),
|
|
3129
3767
|
zoneAnalytics: createSliceHandle(stateSource, binding.deviceId, "zone-analytics"),
|
|
3130
3768
|
zoneRules: createSliceHandle(stateSource, binding.deviceId, "zone-rules"),
|
|
3131
3769
|
zones: createSliceHandle(stateSource, binding.deviceId, "zones")
|
|
3132
3770
|
},
|
|
3133
3771
|
accessories: accessoriesInterface,
|
|
3772
|
+
airQualitySensor: airQualitySensorInterface,
|
|
3773
|
+
alarmPanel: alarmPanelInterface,
|
|
3774
|
+
ambientLightSensor: ambientLightSensorInterface,
|
|
3134
3775
|
audioAnalysis: audioAnalysisInterface,
|
|
3135
3776
|
audioMetrics: audioMetricsInterface,
|
|
3777
|
+
automationControl: automationControlInterface,
|
|
3136
3778
|
battery: batteryInterface,
|
|
3779
|
+
binary: binaryInterface,
|
|
3137
3780
|
brightness: brightnessInterface,
|
|
3781
|
+
button: buttonInterface,
|
|
3138
3782
|
cameraCredentials: cameraCredentialsInterface,
|
|
3139
3783
|
cameraStreams: cameraStreamsInterface,
|
|
3784
|
+
carbonMonoxide: carbonMonoxideInterface,
|
|
3785
|
+
climateControl: climateControlInterface,
|
|
3786
|
+
color: colorInterface,
|
|
3787
|
+
connectivity: connectivityInterface,
|
|
3788
|
+
consumables: consumablesInterface,
|
|
3789
|
+
contact: contactInterface,
|
|
3790
|
+
control: controlInterface,
|
|
3791
|
+
cover: coverInterface,
|
|
3140
3792
|
detectionPipeline: detectionPipelineInterface,
|
|
3141
3793
|
deviceDiscovery: deviceDiscoveryInterface,
|
|
3142
3794
|
deviceOps: deviceOpsInterface,
|
|
3143
3795
|
deviceStatus: deviceStatusInterface,
|
|
3144
3796
|
doorbell: doorbellInterface,
|
|
3797
|
+
enumSensor: enumSensorInterface,
|
|
3798
|
+
eventEmitter: eventEmitterInterface,
|
|
3145
3799
|
events: eventsInterface,
|
|
3800
|
+
fanControl: fanControlInterface,
|
|
3146
3801
|
featureProbe: featureProbeInterface,
|
|
3802
|
+
flood: floodInterface,
|
|
3803
|
+
gas: gasInterface,
|
|
3804
|
+
humidifier: humidifierInterface,
|
|
3805
|
+
humiditySensor: humiditySensorInterface,
|
|
3806
|
+
image: imageInterface,
|
|
3147
3807
|
intercom: intercomInterface,
|
|
3808
|
+
lawnMowerControl: lawnMowerControlInterface,
|
|
3809
|
+
lockControl: lockControlInterface,
|
|
3810
|
+
mediaPlayer: mediaPlayerInterface,
|
|
3148
3811
|
motion: motionInterface,
|
|
3149
3812
|
motionDetection: motionDetectionInterface,
|
|
3150
3813
|
motionTrigger: motionTriggerInterface,
|
|
3151
3814
|
motionZones: motionZonesInterface,
|
|
3152
3815
|
nativeObjectDetection: nativeObjectDetectionInterface,
|
|
3816
|
+
notifier: notifierInterface,
|
|
3817
|
+
numericSensor: numericSensorInterface,
|
|
3153
3818
|
osd: osdInterface,
|
|
3154
3819
|
pipelineAnalytics: pipelineAnalyticsInterface,
|
|
3820
|
+
powerMeter: powerMeterInterface,
|
|
3821
|
+
presence: presenceInterface,
|
|
3822
|
+
pressureSensor: pressureSensorInterface,
|
|
3823
|
+
privacyMask: privacyMaskInterface,
|
|
3155
3824
|
ptz: ptzInterface,
|
|
3156
3825
|
ptzAutotrack: ptzAutotrackInterface,
|
|
3157
3826
|
reboot: rebootInterface,
|
|
3158
|
-
|
|
3827
|
+
scriptRunner: scriptRunnerInterface,
|
|
3828
|
+
smoke: smokeInterface,
|
|
3159
3829
|
snapshot: snapshotInterface,
|
|
3830
|
+
streamCatalog: streamCatalogInterface,
|
|
3160
3831
|
streamParams: streamParamsInterface,
|
|
3161
3832
|
switch: switchInterface,
|
|
3833
|
+
tamper: tamperInterface,
|
|
3834
|
+
temperatureSensor: temperatureSensorInterface,
|
|
3835
|
+
update: updateInterface,
|
|
3836
|
+
vacuumControl: vacuumControlInterface,
|
|
3837
|
+
valve: valveInterface,
|
|
3838
|
+
vibration: vibrationInterface,
|
|
3839
|
+
waterHeater: waterHeaterInterface,
|
|
3840
|
+
weather: weatherInterface,
|
|
3162
3841
|
webrtcSession: webrtcSessionInterface,
|
|
3163
3842
|
zoneAnalytics: zoneAnalyticsInterface,
|
|
3164
3843
|
zoneRules: zoneRulesInterface,
|
|
3165
3844
|
zones: zonesInterface,
|
|
3166
3845
|
addonSettings: addonSettingsInterface,
|
|
3846
|
+
cameraPipelineConfig: cameraPipelineConfigInterface,
|
|
3847
|
+
deviceAdoption: deviceAdoptionInterface,
|
|
3167
3848
|
deviceExport: deviceExportInterface,
|
|
3168
3849
|
deviceManager: deviceManagerInterface,
|
|
3169
3850
|
deviceState: deviceStateInterface,
|
|
@@ -3171,7 +3852,7 @@ function createDeviceProxy(api, binding, opts) {
|
|
|
3171
3852
|
pipelineExecutor: pipelineExecutorInterface,
|
|
3172
3853
|
pipelineOrchestrator: pipelineOrchestratorInterface,
|
|
3173
3854
|
pipelineRunner: pipelineRunnerInterface,
|
|
3174
|
-
|
|
3855
|
+
recording: recordingInterface,
|
|
3175
3856
|
snapshotProvider: snapshotProviderInterface,
|
|
3176
3857
|
streamBroker: streamBrokerInterface
|
|
3177
3858
|
};
|
|
@@ -3230,10 +3911,10 @@ function createSystemProxy(api) {
|
|
|
3230
3911
|
function dispatch(capProp, method, kind, input, push) {
|
|
3231
3912
|
const leaf = typedApi[capProp]?.[method];
|
|
3232
3913
|
if (!leaf) throw new Error(`SystemProxy: api has no '${capProp}.${method}'`);
|
|
3233
|
-
const
|
|
3234
|
-
if (kind === "mutation") return
|
|
3235
|
-
if (kind === "subscription") return
|
|
3236
|
-
return
|
|
3914
|
+
const fn2 = leaf;
|
|
3915
|
+
if (kind === "mutation") return fn2.mutate(input);
|
|
3916
|
+
if (kind === "subscription") return fn2.subscribe(input, push);
|
|
3917
|
+
return fn2.query(input);
|
|
3237
3918
|
}
|
|
3238
3919
|
const addonPagesInterface = {
|
|
3239
3920
|
listPages: (input) => dispatch("addonPages", "listPages", "query", input)
|
|
@@ -3259,6 +3940,10 @@ function createSystemProxy(api) {
|
|
|
3259
3940
|
listCapabilityProviders: (input) => dispatch("addons", "listCapabilityProviders", "query", input),
|
|
3260
3941
|
setCapabilityProviderEnabled: (input) => dispatch("addons", "setCapabilityProviderEnabled", "mutation", input),
|
|
3261
3942
|
updateFrameworkPackage: (input) => dispatch("addons", "updateFrameworkPackage", "mutation", input),
|
|
3943
|
+
startBulkUpdate: (input) => dispatch("addons", "startBulkUpdate", "mutation", input),
|
|
3944
|
+
getBulkUpdateState: (input) => dispatch("addons", "getBulkUpdateState", "query", input),
|
|
3945
|
+
cancelBulkUpdate: (input) => dispatch("addons", "cancelBulkUpdate", "mutation", input),
|
|
3946
|
+
listActiveBulkUpdates: (input) => dispatch("addons", "listActiveBulkUpdates", "query", input),
|
|
3262
3947
|
getVersions: (input) => dispatch("addons", "getVersions", "query", input),
|
|
3263
3948
|
restartAddon: (input) => dispatch("addons", "restartAddon", "mutation", input),
|
|
3264
3949
|
retryLoad: (input) => dispatch("addons", "retryLoad", "mutation", input),
|
|
@@ -3318,6 +4003,24 @@ function createSystemProxy(api) {
|
|
|
3318
4003
|
upsertDestinationPolicy: (input) => dispatch("backup", "upsertDestinationPolicy", "mutation", input),
|
|
3319
4004
|
previewSchedule: (input) => dispatch("backup", "previewSchedule", "query", input)
|
|
3320
4005
|
};
|
|
4006
|
+
const brokerInterface = {
|
|
4007
|
+
list: (input) => dispatch("broker", "list", "query", input),
|
|
4008
|
+
get: (input) => dispatch("broker", "get", "query", input),
|
|
4009
|
+
listProviders: (input) => dispatch("broker", "listProviders", "query", input),
|
|
4010
|
+
add: (input) => dispatch("broker", "add", "mutation", input),
|
|
4011
|
+
remove: (input) => dispatch("broker", "remove", "mutation", input),
|
|
4012
|
+
testConnection: (input) => dispatch("broker", "testConnection", "mutation", input),
|
|
4013
|
+
getSettings: (input) => dispatch("broker", "getSettings", "query", input),
|
|
4014
|
+
setSettings: (input) => dispatch("broker", "setSettings", "mutation", input),
|
|
4015
|
+
getBrokerConfig: (input) => dispatch("broker", "getBrokerConfig", "query", input),
|
|
4016
|
+
getSettingsSchema: (input) => dispatch("broker", "getSettingsSchema", "query", input),
|
|
4017
|
+
testSettings: (input) => dispatch("broker", "testSettings", "mutation", input),
|
|
4018
|
+
publish: (input) => dispatch("broker", "publish", "mutation", input),
|
|
4019
|
+
subscribe: (input) => dispatch("broker", "subscribe", "mutation", input),
|
|
4020
|
+
unsubscribe: (input) => dispatch("broker", "unsubscribe", "mutation", input),
|
|
4021
|
+
getState: (input) => dispatch("broker", "getState", "query", input),
|
|
4022
|
+
getStatus: (input) => dispatch("broker", "getStatus", "query", input)
|
|
4023
|
+
};
|
|
3321
4024
|
const decoderInterface = {
|
|
3322
4025
|
supportsCodec: (input) => dispatch("decoder", "supportsCodec", "query", input),
|
|
3323
4026
|
getInfo: (input) => dispatch("decoder", "getInfo", "query", input),
|
|
@@ -3334,6 +4037,15 @@ function createSystemProxy(api) {
|
|
|
3334
4037
|
listActiveSessions: (input) => dispatch("decoder", "listActiveSessions", "query", input),
|
|
3335
4038
|
reprobeHwaccel: (input) => dispatch("decoder", "reprobeHwaccel", "mutation", input)
|
|
3336
4039
|
};
|
|
4040
|
+
const deviceAdoptionInterface = {
|
|
4041
|
+
listCandidateFilters: (input) => dispatch("deviceAdoption", "listCandidateFilters", "query", input),
|
|
4042
|
+
listCandidates: (input) => dispatch("deviceAdoption", "listCandidates", "query", input),
|
|
4043
|
+
getCandidate: (input) => dispatch("deviceAdoption", "getCandidate", "query", input),
|
|
4044
|
+
refresh: (input) => dispatch("deviceAdoption", "refresh", "mutation", input),
|
|
4045
|
+
adopt: (input) => dispatch("deviceAdoption", "adopt", "mutation", input),
|
|
4046
|
+
release: (input) => dispatch("deviceAdoption", "release", "mutation", input),
|
|
4047
|
+
resync: (input) => dispatch("deviceAdoption", "resync", "mutation", input)
|
|
4048
|
+
};
|
|
3337
4049
|
const deviceExportInterface = {
|
|
3338
4050
|
getStatus: (input) => dispatch("deviceExport", "getStatus", "query", input),
|
|
3339
4051
|
listSupportedDeviceKinds: (input) => dispatch("deviceExport", "listSupportedDeviceKinds", "query", input),
|
|
@@ -3352,13 +4064,18 @@ function createSystemProxy(api) {
|
|
|
3352
4064
|
listPersistedByAddon: (input) => dispatch("deviceManager", "listPersistedByAddon", "query", input),
|
|
3353
4065
|
listAll: (input) => dispatch("deviceManager", "listAll", "query", input),
|
|
3354
4066
|
getChildren: (input) => dispatch("deviceManager", "getChildren", "query", input),
|
|
4067
|
+
removeByIntegration: (input) => dispatch("deviceManager", "removeByIntegration", "mutation", input),
|
|
3355
4068
|
listWrappersForCap: (input) => dispatch("deviceManager", "listWrappersForCap", "query", input),
|
|
3356
4069
|
listBindableCapsForDeviceType: (input) => dispatch("deviceManager", "listBindableCapsForDeviceType", "query", input),
|
|
3357
4070
|
discoverDevices: (input) => dispatch("deviceManager", "discoverDevices", "mutation", input),
|
|
3358
4071
|
adoptDevice: (input) => dispatch("deviceManager", "adoptDevice", "mutation", input),
|
|
3359
4072
|
getCreationSchema: (input) => dispatch("deviceManager", "getCreationSchema", "query", input),
|
|
3360
4073
|
createDevice: (input) => dispatch("deviceManager", "createDevice", "mutation", input),
|
|
3361
|
-
testCreationField: (input) => dispatch("deviceManager", "testCreationField", "mutation", input)
|
|
4074
|
+
testCreationField: (input) => dispatch("deviceManager", "testCreationField", "mutation", input),
|
|
4075
|
+
adoptionListCandidates: (input) => dispatch("deviceManager", "adoptionListCandidates", "query", input),
|
|
4076
|
+
adoptionRefresh: (input) => dispatch("deviceManager", "adoptionRefresh", "mutation", input),
|
|
4077
|
+
adoptionAdopt: (input) => dispatch("deviceManager", "adoptionAdopt", "mutation", input),
|
|
4078
|
+
adoptionRelease: (input) => dispatch("deviceManager", "adoptionRelease", "mutation", input)
|
|
3362
4079
|
};
|
|
3363
4080
|
const deviceProviderInterface = {
|
|
3364
4081
|
start: (input) => dispatch("deviceProvider", "start", "mutation", input),
|
|
@@ -3518,32 +4235,8 @@ function createSystemProxy(api) {
|
|
|
3518
4235
|
getAllCameraMetrics: (input) => dispatch("pipelineRunner", "getAllCameraMetrics", "query", input),
|
|
3519
4236
|
getLocalCameras: (input) => dispatch("pipelineRunner", "getLocalCameras", "query", input)
|
|
3520
4237
|
};
|
|
3521
|
-
const
|
|
3522
|
-
|
|
3523
|
-
getHardware: (input) => dispatch("platformProbe", "getHardware", "query", input),
|
|
3524
|
-
resolveInferenceConfig: (input) => dispatch("platformProbe", "resolveInferenceConfig", "query", input),
|
|
3525
|
-
resolveHwAccel: (input) => dispatch("platformProbe", "resolveHwAccel", "query", input),
|
|
3526
|
-
getHardwareEncoders: (input) => dispatch("platformProbe", "getHardwareEncoders", "query", input),
|
|
3527
|
-
refreshHardwareEncoders: (input) => dispatch("platformProbe", "refreshHardwareEncoders", "mutation", input)
|
|
3528
|
-
};
|
|
3529
|
-
const recordingEngineInterface = {
|
|
3530
|
-
getStatus: (input) => dispatch("recordingEngine", "getStatus", "query", input),
|
|
3531
|
-
enable: (input) => dispatch("recordingEngine", "enable", "mutation", input),
|
|
3532
|
-
disable: (input) => dispatch("recordingEngine", "disable", "mutation", input),
|
|
3533
|
-
getConfig: (input) => dispatch("recordingEngine", "getConfig", "query", input),
|
|
3534
|
-
updateConfig: (input) => dispatch("recordingEngine", "updateConfig", "mutation", input),
|
|
3535
|
-
getPlaylist: (input) => dispatch("recordingEngine", "getPlaylist", "query", input),
|
|
3536
|
-
getThumbnail: (input) => dispatch("recordingEngine", "getThumbnail", "query", input),
|
|
3537
|
-
getSegments: (input) => dispatch("recordingEngine", "getSegments", "query", input),
|
|
3538
|
-
getAvailability: (input) => dispatch("recordingEngine", "getAvailability", "query", input),
|
|
3539
|
-
estimateStorage: (input) => dispatch("recordingEngine", "estimateStorage", "query", input),
|
|
3540
|
-
estimateGlobalStorage: (input) => dispatch("recordingEngine", "estimateGlobalStorage", "query", input),
|
|
3541
|
-
getStorageUsage: (input) => dispatch("recordingEngine", "getStorageUsage", "query", input),
|
|
3542
|
-
setPolicy: (input) => dispatch("recordingEngine", "setPolicy", "mutation", input),
|
|
3543
|
-
getPolicy: (input) => dispatch("recordingEngine", "getPolicy", "query", input),
|
|
3544
|
-
getRetentionConfig: (input) => dispatch("recordingEngine", "getRetentionConfig", "query", input),
|
|
3545
|
-
updateRetentionConfig: (input) => dispatch("recordingEngine", "updateRetentionConfig", "mutation", input),
|
|
3546
|
-
getMotionStats: (input) => dispatch("recordingEngine", "getMotionStats", "query", input)
|
|
4238
|
+
const recordingInterface = {
|
|
4239
|
+
getStorageUsage: (input) => dispatch("recording", "getStorageUsage", "query", input)
|
|
3547
4240
|
};
|
|
3548
4241
|
const settingsStoreInterface = {
|
|
3549
4242
|
get: (input) => dispatch("settingsStore", "get", "query", input),
|
|
@@ -3553,6 +4246,7 @@ function createSystemProxy(api) {
|
|
|
3553
4246
|
update: (input) => dispatch("settingsStore", "update", "mutation", input),
|
|
3554
4247
|
delete: (input) => dispatch("settingsStore", "delete", "mutation", input),
|
|
3555
4248
|
count: (input) => dispatch("settingsStore", "count", "query", input),
|
|
4249
|
+
histogram: (input) => dispatch("settingsStore", "histogram", "query", input),
|
|
3556
4250
|
isEmpty: (input) => dispatch("settingsStore", "isEmpty", "query", input),
|
|
3557
4251
|
declareCollection: (input) => dispatch("settingsStore", "declareCollection", "mutation", input)
|
|
3558
4252
|
};
|
|
@@ -3573,6 +4267,7 @@ function createSystemProxy(api) {
|
|
|
3573
4267
|
endDownload: (input) => dispatch("storage", "endDownload", "mutation", input),
|
|
3574
4268
|
listLocations: (input) => dispatch("storage", "listLocations", "query", input),
|
|
3575
4269
|
getDefaultLocation: (input) => dispatch("storage", "getDefaultLocation", "query", input),
|
|
4270
|
+
listLocationDeclarations: (input) => dispatch("storage", "listLocationDeclarations", "query", input),
|
|
3576
4271
|
upsertLocation: (input) => dispatch("storage", "upsertLocation", "mutation", input),
|
|
3577
4272
|
deleteLocation: (input) => dispatch("storage", "deleteLocation", "mutation", input),
|
|
3578
4273
|
testLocation: (input) => dispatch("storage", "testLocation", "query", input),
|
|
@@ -3655,7 +4350,9 @@ function createSystemProxy(api) {
|
|
|
3655
4350
|
audioAnalyzer: audioAnalyzerInterface,
|
|
3656
4351
|
audioCodec: audioCodecInterface,
|
|
3657
4352
|
backup: backupInterface,
|
|
4353
|
+
broker: brokerInterface,
|
|
3658
4354
|
decoder: decoderInterface,
|
|
4355
|
+
deviceAdoption: deviceAdoptionInterface,
|
|
3659
4356
|
deviceExport: deviceExportInterface,
|
|
3660
4357
|
deviceManager: deviceManagerInterface,
|
|
3661
4358
|
deviceProvider: deviceProviderInterface,
|
|
@@ -3672,8 +4369,7 @@ function createSystemProxy(api) {
|
|
|
3672
4369
|
pipelineExecutor: pipelineExecutorInterface,
|
|
3673
4370
|
pipelineOrchestrator: pipelineOrchestratorInterface,
|
|
3674
4371
|
pipelineRunner: pipelineRunnerInterface,
|
|
3675
|
-
|
|
3676
|
-
recordingEngine: recordingEngineInterface,
|
|
4372
|
+
recording: recordingInterface,
|
|
3677
4373
|
settingsStore: settingsStoreInterface,
|
|
3678
4374
|
storage: storageInterface,
|
|
3679
4375
|
streamBroker: streamBrokerInterface,
|
|
@@ -4435,6 +5131,15 @@ function customAction(input, output, options) {
|
|
|
4435
5131
|
scope: options?.scope ?? { kind: "system" }
|
|
4436
5132
|
};
|
|
4437
5133
|
}
|
|
5134
|
+
function deviceCustomAction(input, output, options) {
|
|
5135
|
+
return {
|
|
5136
|
+
input,
|
|
5137
|
+
output,
|
|
5138
|
+
kind: options?.kind ?? "query",
|
|
5139
|
+
auth: options?.auth ?? "protected",
|
|
5140
|
+
scope: { kind: "device", ...options?.deviceTypes ? { deviceTypes: options.deviceTypes } : {} }
|
|
5141
|
+
};
|
|
5142
|
+
}
|
|
4438
5143
|
const STREAM_PROFILE_META = [
|
|
4439
5144
|
{ profile: "main", prefix: "streamMain", label: "Main stream" },
|
|
4440
5145
|
{ profile: "sub", prefix: "streamSub", label: "Sub stream" },
|
|
@@ -4645,19 +5350,36 @@ const CAPABILITY_NAMES = {
|
|
|
4645
5350
|
addons: "addons",
|
|
4646
5351
|
adminUi: "admin-ui",
|
|
4647
5352
|
advancedNotifier: "advanced-notifier",
|
|
5353
|
+
airQualitySensor: "air-quality-sensor",
|
|
5354
|
+
alarmPanel: "alarm-panel",
|
|
4648
5355
|
alerts: "alerts",
|
|
5356
|
+
ambientLightSensor: "ambient-light-sensor",
|
|
4649
5357
|
audioAnalysis: "audio-analysis",
|
|
4650
5358
|
audioAnalyzer: "audio-analyzer",
|
|
4651
5359
|
audioCodec: "audio-codec",
|
|
4652
5360
|
audioMetrics: "audio-metrics",
|
|
4653
5361
|
authProvider: "auth-provider",
|
|
5362
|
+
automationControl: "automation-control",
|
|
4654
5363
|
backup: "backup",
|
|
4655
5364
|
battery: "battery",
|
|
5365
|
+
binary: "binary",
|
|
4656
5366
|
brightness: "brightness",
|
|
5367
|
+
broker: "broker",
|
|
5368
|
+
button: "button",
|
|
4657
5369
|
cameraCredentials: "camera-credentials",
|
|
5370
|
+
cameraPipelineConfig: "camera-pipeline-config",
|
|
4658
5371
|
cameraStreams: "camera-streams",
|
|
5372
|
+
carbonMonoxide: "carbon-monoxide",
|
|
5373
|
+
climateControl: "climate-control",
|
|
5374
|
+
color: "color",
|
|
5375
|
+
connectivity: "connectivity",
|
|
5376
|
+
consumables: "consumables",
|
|
5377
|
+
contact: "contact",
|
|
5378
|
+
control: "control",
|
|
5379
|
+
cover: "cover",
|
|
4659
5380
|
decoder: "decoder",
|
|
4660
5381
|
detectionPipeline: "detection-pipeline",
|
|
5382
|
+
deviceAdoption: "device-adoption",
|
|
4661
5383
|
deviceDiscovery: "device-discovery",
|
|
4662
5384
|
deviceExport: "device-export",
|
|
4663
5385
|
deviceManager: "device-manager",
|
|
@@ -4667,12 +5389,23 @@ const CAPABILITY_NAMES = {
|
|
|
4667
5389
|
deviceStatus: "device-status",
|
|
4668
5390
|
doorbell: "doorbell",
|
|
4669
5391
|
embeddingEncoder: "embedding-encoder",
|
|
5392
|
+
enumSensor: "enum-sensor",
|
|
5393
|
+
eventEmitter: "event-emitter",
|
|
4670
5394
|
events: "events",
|
|
5395
|
+
fanControl: "fan-control",
|
|
4671
5396
|
featureProbe: "feature-probe",
|
|
5397
|
+
flood: "flood",
|
|
5398
|
+
gas: "gas",
|
|
5399
|
+
humidifier: "humidifier",
|
|
5400
|
+
humiditySensor: "humidity-sensor",
|
|
5401
|
+
image: "image",
|
|
4672
5402
|
integrations: "integrations",
|
|
4673
5403
|
intercom: "intercom",
|
|
5404
|
+
lawnMowerControl: "lawn-mower-control",
|
|
4674
5405
|
localNetwork: "local-network",
|
|
5406
|
+
lockControl: "lock-control",
|
|
4675
5407
|
logDestination: "log-destination",
|
|
5408
|
+
mediaPlayer: "media-player",
|
|
4676
5409
|
meshNetwork: "mesh-network",
|
|
4677
5410
|
metricsProvider: "metrics-provider",
|
|
4678
5411
|
motion: "motion",
|
|
@@ -4685,6 +5418,8 @@ const CAPABILITY_NAMES = {
|
|
|
4685
5418
|
networkQuality: "network-quality",
|
|
4686
5419
|
nodes: "nodes",
|
|
4687
5420
|
notificationOutput: "notification-output",
|
|
5421
|
+
notifier: "notifier",
|
|
5422
|
+
numericSensor: "numeric-sensor",
|
|
4688
5423
|
oauthIntegration: "oauth-integration",
|
|
4689
5424
|
osd: "osd",
|
|
4690
5425
|
pipelineAnalytics: "pipeline-analytics",
|
|
@@ -4692,28 +5427,43 @@ const CAPABILITY_NAMES = {
|
|
|
4692
5427
|
pipelineOrchestrator: "pipeline-orchestrator",
|
|
4693
5428
|
pipelineRunner: "pipeline-runner",
|
|
4694
5429
|
platformProbe: "platform-probe",
|
|
5430
|
+
powerMeter: "power-meter",
|
|
5431
|
+
presence: "presence",
|
|
5432
|
+
pressureSensor: "pressure-sensor",
|
|
5433
|
+
privacyMask: "privacy-mask",
|
|
4695
5434
|
ptz: "ptz",
|
|
4696
5435
|
ptzAutotrack: "ptz-autotrack",
|
|
4697
5436
|
reboot: "reboot",
|
|
4698
5437
|
recording: "recording",
|
|
4699
|
-
recordingEngine: "recording-engine",
|
|
4700
5438
|
restreamer: "restreamer",
|
|
5439
|
+
scriptRunner: "script-runner",
|
|
4701
5440
|
settingsStore: "settings-store",
|
|
5441
|
+
smoke: "smoke",
|
|
4702
5442
|
smtpProvider: "smtp-provider",
|
|
4703
5443
|
snapshot: "snapshot",
|
|
4704
5444
|
snapshotProvider: "snapshot-provider",
|
|
4705
5445
|
ssoBridge: "sso-bridge",
|
|
4706
5446
|
storage: "storage",
|
|
5447
|
+
storageEvictable: "storage-evictable",
|
|
4707
5448
|
storageProvider: "storage-provider",
|
|
4708
5449
|
streamBroker: "stream-broker",
|
|
5450
|
+
streamCatalog: "stream-catalog",
|
|
4709
5451
|
streamParams: "stream-params",
|
|
4710
5452
|
streamingEngine: "streaming-engine",
|
|
4711
5453
|
switch: "switch",
|
|
4712
5454
|
system: "system",
|
|
5455
|
+
tamper: "tamper",
|
|
5456
|
+
temperatureSensor: "temperature-sensor",
|
|
4713
5457
|
toast: "toast",
|
|
4714
5458
|
turnProvider: "turn-provider",
|
|
5459
|
+
update: "update",
|
|
4715
5460
|
userManagement: "user-management",
|
|
4716
5461
|
userPasskeys: "user-passkeys",
|
|
5462
|
+
vacuumControl: "vacuum-control",
|
|
5463
|
+
valve: "valve",
|
|
5464
|
+
vibration: "vibration",
|
|
5465
|
+
waterHeater: "water-heater",
|
|
5466
|
+
weather: "weather",
|
|
4717
5467
|
webrtc: "webrtc",
|
|
4718
5468
|
webrtcSession: "webrtc-session",
|
|
4719
5469
|
zoneAnalytics: "zone-analytics",
|
|
@@ -4731,19 +5481,36 @@ const CAPABILITY_ROUTER_KEYS = [
|
|
|
4731
5481
|
{ key: "addons", name: "addons" },
|
|
4732
5482
|
{ key: "adminUi", name: "admin-ui" },
|
|
4733
5483
|
{ key: "advancedNotifier", name: "advanced-notifier" },
|
|
5484
|
+
{ key: "airQualitySensor", name: "air-quality-sensor" },
|
|
5485
|
+
{ key: "alarmPanel", name: "alarm-panel" },
|
|
4734
5486
|
{ key: "alerts", name: "alerts" },
|
|
5487
|
+
{ key: "ambientLightSensor", name: "ambient-light-sensor" },
|
|
4735
5488
|
{ key: "audioAnalysis", name: "audio-analysis" },
|
|
4736
5489
|
{ key: "audioAnalyzer", name: "audio-analyzer" },
|
|
4737
5490
|
{ key: "audioCodec", name: "audio-codec" },
|
|
4738
5491
|
{ key: "audioMetrics", name: "audio-metrics" },
|
|
4739
5492
|
{ key: "authProvider", name: "auth-provider" },
|
|
5493
|
+
{ key: "automationControl", name: "automation-control" },
|
|
4740
5494
|
{ key: "backup", name: "backup" },
|
|
4741
5495
|
{ key: "battery", name: "battery" },
|
|
5496
|
+
{ key: "binary", name: "binary" },
|
|
4742
5497
|
{ key: "brightness", name: "brightness" },
|
|
5498
|
+
{ key: "broker", name: "broker" },
|
|
5499
|
+
{ key: "button", name: "button" },
|
|
4743
5500
|
{ key: "cameraCredentials", name: "camera-credentials" },
|
|
5501
|
+
{ key: "cameraPipelineConfig", name: "camera-pipeline-config" },
|
|
4744
5502
|
{ key: "cameraStreams", name: "camera-streams" },
|
|
5503
|
+
{ key: "carbonMonoxide", name: "carbon-monoxide" },
|
|
5504
|
+
{ key: "climateControl", name: "climate-control" },
|
|
5505
|
+
{ key: "color", name: "color" },
|
|
5506
|
+
{ key: "connectivity", name: "connectivity" },
|
|
5507
|
+
{ key: "consumables", name: "consumables" },
|
|
5508
|
+
{ key: "contact", name: "contact" },
|
|
5509
|
+
{ key: "control", name: "control" },
|
|
5510
|
+
{ key: "cover", name: "cover" },
|
|
4745
5511
|
{ key: "decoder", name: "decoder" },
|
|
4746
5512
|
{ key: "detectionPipeline", name: "detection-pipeline" },
|
|
5513
|
+
{ key: "deviceAdoption", name: "device-adoption" },
|
|
4747
5514
|
{ key: "deviceDiscovery", name: "device-discovery" },
|
|
4748
5515
|
{ key: "deviceExport", name: "device-export" },
|
|
4749
5516
|
{ key: "deviceManager", name: "device-manager" },
|
|
@@ -4753,12 +5520,23 @@ const CAPABILITY_ROUTER_KEYS = [
|
|
|
4753
5520
|
{ key: "deviceStatus", name: "device-status" },
|
|
4754
5521
|
{ key: "doorbell", name: "doorbell" },
|
|
4755
5522
|
{ key: "embeddingEncoder", name: "embedding-encoder" },
|
|
5523
|
+
{ key: "enumSensor", name: "enum-sensor" },
|
|
5524
|
+
{ key: "eventEmitter", name: "event-emitter" },
|
|
4756
5525
|
{ key: "events", name: "events" },
|
|
5526
|
+
{ key: "fanControl", name: "fan-control" },
|
|
4757
5527
|
{ key: "featureProbe", name: "feature-probe" },
|
|
5528
|
+
{ key: "flood", name: "flood" },
|
|
5529
|
+
{ key: "gas", name: "gas" },
|
|
5530
|
+
{ key: "humidifier", name: "humidifier" },
|
|
5531
|
+
{ key: "humiditySensor", name: "humidity-sensor" },
|
|
5532
|
+
{ key: "image", name: "image" },
|
|
4758
5533
|
{ key: "integrations", name: "integrations" },
|
|
4759
5534
|
{ key: "intercom", name: "intercom" },
|
|
5535
|
+
{ key: "lawnMowerControl", name: "lawn-mower-control" },
|
|
4760
5536
|
{ key: "localNetwork", name: "local-network" },
|
|
5537
|
+
{ key: "lockControl", name: "lock-control" },
|
|
4761
5538
|
{ key: "logDestination", name: "log-destination" },
|
|
5539
|
+
{ key: "mediaPlayer", name: "media-player" },
|
|
4762
5540
|
{ key: "meshNetwork", name: "mesh-network" },
|
|
4763
5541
|
{ key: "metricsProvider", name: "metrics-provider" },
|
|
4764
5542
|
{ key: "motion", name: "motion" },
|
|
@@ -4771,6 +5549,8 @@ const CAPABILITY_ROUTER_KEYS = [
|
|
|
4771
5549
|
{ key: "networkQuality", name: "network-quality" },
|
|
4772
5550
|
{ key: "nodes", name: "nodes" },
|
|
4773
5551
|
{ key: "notificationOutput", name: "notification-output" },
|
|
5552
|
+
{ key: "notifier", name: "notifier" },
|
|
5553
|
+
{ key: "numericSensor", name: "numeric-sensor" },
|
|
4774
5554
|
{ key: "oauthIntegration", name: "oauth-integration" },
|
|
4775
5555
|
{ key: "osd", name: "osd" },
|
|
4776
5556
|
{ key: "pipelineAnalytics", name: "pipeline-analytics" },
|
|
@@ -4778,28 +5558,43 @@ const CAPABILITY_ROUTER_KEYS = [
|
|
|
4778
5558
|
{ key: "pipelineOrchestrator", name: "pipeline-orchestrator" },
|
|
4779
5559
|
{ key: "pipelineRunner", name: "pipeline-runner" },
|
|
4780
5560
|
{ key: "platformProbe", name: "platform-probe" },
|
|
5561
|
+
{ key: "powerMeter", name: "power-meter" },
|
|
5562
|
+
{ key: "presence", name: "presence" },
|
|
5563
|
+
{ key: "pressureSensor", name: "pressure-sensor" },
|
|
5564
|
+
{ key: "privacyMask", name: "privacy-mask" },
|
|
4781
5565
|
{ key: "ptz", name: "ptz" },
|
|
4782
5566
|
{ key: "ptzAutotrack", name: "ptz-autotrack" },
|
|
4783
5567
|
{ key: "reboot", name: "reboot" },
|
|
4784
5568
|
{ key: "recording", name: "recording" },
|
|
4785
|
-
{ key: "recordingEngine", name: "recording-engine" },
|
|
4786
5569
|
{ key: "restreamer", name: "restreamer" },
|
|
5570
|
+
{ key: "scriptRunner", name: "script-runner" },
|
|
4787
5571
|
{ key: "settingsStore", name: "settings-store" },
|
|
5572
|
+
{ key: "smoke", name: "smoke" },
|
|
4788
5573
|
{ key: "smtpProvider", name: "smtp-provider" },
|
|
4789
5574
|
{ key: "snapshot", name: "snapshot" },
|
|
4790
5575
|
{ key: "snapshotProvider", name: "snapshot-provider" },
|
|
4791
5576
|
{ key: "ssoBridge", name: "sso-bridge" },
|
|
4792
5577
|
{ key: "storage", name: "storage" },
|
|
5578
|
+
{ key: "storageEvictable", name: "storage-evictable" },
|
|
4793
5579
|
{ key: "storageProvider", name: "storage-provider" },
|
|
4794
5580
|
{ key: "streamBroker", name: "stream-broker" },
|
|
5581
|
+
{ key: "streamCatalog", name: "stream-catalog" },
|
|
4795
5582
|
{ key: "streamParams", name: "stream-params" },
|
|
4796
5583
|
{ key: "streamingEngine", name: "streaming-engine" },
|
|
4797
5584
|
{ key: "switch", name: "switch" },
|
|
4798
5585
|
{ key: "system", name: "system" },
|
|
5586
|
+
{ key: "tamper", name: "tamper" },
|
|
5587
|
+
{ key: "temperatureSensor", name: "temperature-sensor" },
|
|
4799
5588
|
{ key: "toast", name: "toast" },
|
|
4800
5589
|
{ key: "turnProvider", name: "turn-provider" },
|
|
5590
|
+
{ key: "update", name: "update" },
|
|
4801
5591
|
{ key: "userManagement", name: "user-management" },
|
|
4802
5592
|
{ key: "userPasskeys", name: "user-passkeys" },
|
|
5593
|
+
{ key: "vacuumControl", name: "vacuum-control" },
|
|
5594
|
+
{ key: "valve", name: "valve" },
|
|
5595
|
+
{ key: "vibration", name: "vibration" },
|
|
5596
|
+
{ key: "waterHeater", name: "water-heater" },
|
|
5597
|
+
{ key: "weather", name: "weather" },
|
|
4803
5598
|
{ key: "webrtc", name: "webrtc" },
|
|
4804
5599
|
{ key: "webrtcSession", name: "webrtc-session" },
|
|
4805
5600
|
{ key: "zoneAnalytics", name: "zone-analytics" },
|
|
@@ -4817,19 +5612,36 @@ const ALL_CAPABILITY_DEFINITIONS = [
|
|
|
4817
5612
|
addonsCapability,
|
|
4818
5613
|
adminUiCapability,
|
|
4819
5614
|
advancedNotifierCapability,
|
|
5615
|
+
airQualitySensorCapability,
|
|
5616
|
+
alarmPanelCapability,
|
|
4820
5617
|
alertsCapability,
|
|
5618
|
+
ambientLightSensorCapability,
|
|
4821
5619
|
audioAnalysisCapability,
|
|
4822
5620
|
audioAnalyzerCapability,
|
|
4823
5621
|
audioCodecCapability,
|
|
4824
5622
|
audioMetricsCapability,
|
|
4825
5623
|
authProviderCapability,
|
|
5624
|
+
automationControlCapability,
|
|
4826
5625
|
backupCapability,
|
|
4827
5626
|
batteryCapability,
|
|
5627
|
+
binaryCapability,
|
|
4828
5628
|
brightnessCapability,
|
|
5629
|
+
brokerCapability,
|
|
5630
|
+
buttonCapability,
|
|
4829
5631
|
cameraCredentialsCapability,
|
|
5632
|
+
cameraPipelineConfigCapability,
|
|
4830
5633
|
cameraStreamsCapability,
|
|
5634
|
+
carbonMonoxideCapability,
|
|
5635
|
+
climateControlCapability,
|
|
5636
|
+
colorCapability,
|
|
5637
|
+
connectivityCapability,
|
|
5638
|
+
consumablesCapability,
|
|
5639
|
+
contactCapability,
|
|
5640
|
+
controlCapability,
|
|
5641
|
+
coverCapability,
|
|
4831
5642
|
decoderCapability,
|
|
4832
5643
|
detectionPipelineCapability,
|
|
5644
|
+
deviceAdoptionCapability,
|
|
4833
5645
|
deviceDiscoveryCapability,
|
|
4834
5646
|
deviceExportCapability,
|
|
4835
5647
|
deviceManagerCapability,
|
|
@@ -4839,12 +5651,23 @@ const ALL_CAPABILITY_DEFINITIONS = [
|
|
|
4839
5651
|
deviceStatusCapability,
|
|
4840
5652
|
doorbellCapability,
|
|
4841
5653
|
embeddingEncoderCapability,
|
|
5654
|
+
enumSensorCapability,
|
|
5655
|
+
eventEmitterCapability,
|
|
4842
5656
|
eventsCapability,
|
|
5657
|
+
fanControlCapability,
|
|
4843
5658
|
featureProbeCapability,
|
|
5659
|
+
floodCapability,
|
|
5660
|
+
gasCapability,
|
|
5661
|
+
humidifierCapability,
|
|
5662
|
+
humiditySensorCapability,
|
|
5663
|
+
imageCapability,
|
|
4844
5664
|
integrationsCapability,
|
|
4845
5665
|
intercomCapability,
|
|
5666
|
+
lawnMowerControlCapability,
|
|
4846
5667
|
localNetworkCapability,
|
|
5668
|
+
lockControlCapability,
|
|
4847
5669
|
logDestinationCapability,
|
|
5670
|
+
mediaPlayerCapability,
|
|
4848
5671
|
meshNetworkCapability,
|
|
4849
5672
|
metricsProviderCapability,
|
|
4850
5673
|
motionCapability,
|
|
@@ -4857,6 +5680,8 @@ const ALL_CAPABILITY_DEFINITIONS = [
|
|
|
4857
5680
|
networkQualityCapability,
|
|
4858
5681
|
nodesCapability,
|
|
4859
5682
|
notificationOutputCapability,
|
|
5683
|
+
notifierCapability,
|
|
5684
|
+
numericSensorCapability,
|
|
4860
5685
|
oauthIntegrationCapability,
|
|
4861
5686
|
osdCapability,
|
|
4862
5687
|
pipelineAnalyticsCapability,
|
|
@@ -4864,28 +5689,43 @@ const ALL_CAPABILITY_DEFINITIONS = [
|
|
|
4864
5689
|
pipelineOrchestratorCapability,
|
|
4865
5690
|
pipelineRunnerCapability,
|
|
4866
5691
|
platformProbeCapability,
|
|
5692
|
+
powerMeterCapability,
|
|
5693
|
+
presenceCapability,
|
|
5694
|
+
pressureSensorCapability,
|
|
5695
|
+
privacyMaskCapability,
|
|
4867
5696
|
ptzCapability,
|
|
4868
5697
|
ptzAutotrackCapability,
|
|
4869
5698
|
rebootCapability,
|
|
4870
5699
|
recordingCapability,
|
|
4871
|
-
recordingEngineCapability,
|
|
4872
5700
|
restreamerCapability,
|
|
5701
|
+
scriptRunnerCapability,
|
|
4873
5702
|
settingsStoreCapability,
|
|
5703
|
+
smokeCapability,
|
|
4874
5704
|
smtpProviderCapability,
|
|
4875
5705
|
snapshotCapability,
|
|
4876
5706
|
snapshotProviderCapability,
|
|
4877
5707
|
ssoBridgeCapability,
|
|
4878
5708
|
storageCapability,
|
|
5709
|
+
storageEvictableCapability,
|
|
4879
5710
|
storageProviderCapability,
|
|
4880
5711
|
streamBrokerCapability,
|
|
5712
|
+
streamCatalogCapability,
|
|
4881
5713
|
streamParamsCapability,
|
|
4882
5714
|
streamingEngineCapability,
|
|
4883
5715
|
switchCapability,
|
|
4884
5716
|
systemCapability,
|
|
5717
|
+
tamperCapability,
|
|
5718
|
+
temperatureSensorCapability,
|
|
4885
5719
|
toastCapability,
|
|
4886
5720
|
turnProviderCapability,
|
|
5721
|
+
updateCapability,
|
|
4887
5722
|
userManagementCapability,
|
|
4888
5723
|
userPasskeysCapability,
|
|
5724
|
+
vacuumControlCapability,
|
|
5725
|
+
valveCapability,
|
|
5726
|
+
vibrationCapability,
|
|
5727
|
+
waterHeaterCapability,
|
|
5728
|
+
weatherCapability,
|
|
4889
5729
|
webrtcCapability,
|
|
4890
5730
|
webrtcSessionCapability,
|
|
4891
5731
|
zoneAnalyticsCapability,
|
|
@@ -4894,37 +5734,83 @@ const ALL_CAPABILITY_DEFINITIONS = [
|
|
|
4894
5734
|
];
|
|
4895
5735
|
const CAP_NAMES_WITH_STATUS = [
|
|
4896
5736
|
"accessories",
|
|
5737
|
+
"air-quality-sensor",
|
|
5738
|
+
"alarm-panel",
|
|
5739
|
+
"ambient-light-sensor",
|
|
5740
|
+
"automation-control",
|
|
4897
5741
|
"battery",
|
|
5742
|
+
"binary",
|
|
4898
5743
|
"brightness",
|
|
5744
|
+
"broker",
|
|
4899
5745
|
"camera-credentials",
|
|
5746
|
+
"carbon-monoxide",
|
|
5747
|
+
"climate-control",
|
|
5748
|
+
"color",
|
|
5749
|
+
"connectivity",
|
|
5750
|
+
"consumables",
|
|
5751
|
+
"contact",
|
|
5752
|
+
"control",
|
|
5753
|
+
"cover",
|
|
5754
|
+
"device-adoption",
|
|
4900
5755
|
"device-discovery",
|
|
4901
5756
|
"device-export",
|
|
4902
5757
|
"device-status",
|
|
4903
5758
|
"doorbell",
|
|
5759
|
+
"enum-sensor",
|
|
5760
|
+
"event-emitter",
|
|
5761
|
+
"fan-control",
|
|
4904
5762
|
"feature-probe",
|
|
5763
|
+
"flood",
|
|
5764
|
+
"gas",
|
|
5765
|
+
"humidifier",
|
|
5766
|
+
"humidity-sensor",
|
|
5767
|
+
"image",
|
|
4905
5768
|
"intercom",
|
|
5769
|
+
"lawn-mower-control",
|
|
5770
|
+
"lock-control",
|
|
5771
|
+
"media-player",
|
|
4906
5772
|
"motion",
|
|
4907
5773
|
"motion-trigger",
|
|
4908
5774
|
"motion-zones",
|
|
4909
5775
|
"mqtt-broker",
|
|
4910
5776
|
"native-object-detection",
|
|
5777
|
+
"notifier",
|
|
5778
|
+
"numeric-sensor",
|
|
4911
5779
|
"osd",
|
|
5780
|
+
"power-meter",
|
|
5781
|
+
"presence",
|
|
5782
|
+
"pressure-sensor",
|
|
5783
|
+
"privacy-mask",
|
|
4912
5784
|
"ptz",
|
|
4913
5785
|
"ptz-autotrack",
|
|
5786
|
+
"recording",
|
|
5787
|
+
"script-runner",
|
|
5788
|
+
"smoke",
|
|
4914
5789
|
"snapshot",
|
|
4915
5790
|
"stream-params",
|
|
4916
|
-
"switch"
|
|
5791
|
+
"switch",
|
|
5792
|
+
"tamper",
|
|
5793
|
+
"temperature-sensor",
|
|
5794
|
+
"update",
|
|
5795
|
+
"vacuum-control",
|
|
5796
|
+
"valve",
|
|
5797
|
+
"vibration",
|
|
5798
|
+
"water-heater",
|
|
5799
|
+
"weather"
|
|
4917
5800
|
];
|
|
4918
5801
|
const METHOD_ACCESS_MAP = Object.freeze({
|
|
5802
|
+
"accessories.setChildHidden": { capName: "accessories", capScope: "device", addonId: null, access: "create" },
|
|
4919
5803
|
"addonPages.listPages": { capName: "addon-pages", capScope: "system", addonId: null, access: "view" },
|
|
4920
5804
|
"addonPagesSource.listPages": { capName: "addon-pages-source", capScope: "system", addonId: null, access: "view" },
|
|
4921
5805
|
"addonRoutes.getRoutes": { capName: "addon-routes", capScope: "system", addonId: null, access: "view" },
|
|
4922
5806
|
"addonRoutes.invoke": { capName: "addon-routes", capScope: "system", addonId: null, access: "create" },
|
|
4923
5807
|
"addons.applyAutoUpdateToAll": { capName: "addons", capScope: "system", addonId: null, access: "create" },
|
|
5808
|
+
"addons.cancelBulkUpdate": { capName: "addons", capScope: "system", addonId: null, access: "create" },
|
|
4924
5809
|
"addons.custom": { capName: "addons", capScope: "system", addonId: null, access: "create" },
|
|
4925
5810
|
"addons.forceRefresh": { capName: "addons", capScope: "system", addonId: null, access: "create" },
|
|
4926
5811
|
"addons.getAddonAutoUpdate": { capName: "addons", capScope: "system", addonId: null, access: "view" },
|
|
4927
5812
|
"addons.getAutoUpdateSettings": { capName: "addons", capScope: "system", addonId: null, access: "view" },
|
|
5813
|
+
"addons.getBulkUpdateState": { capName: "addons", capScope: "system", addonId: null, access: "view" },
|
|
4928
5814
|
"addons.getLastRestart": { capName: "addons", capScope: "system", addonId: null, access: "view" },
|
|
4929
5815
|
"addons.getLogs": { capName: "addons", capScope: "system", addonId: null, access: "view" },
|
|
4930
5816
|
"addons.getVersions": { capName: "addons", capScope: "system", addonId: null, access: "view" },
|
|
@@ -4932,6 +5818,7 @@ const METHOD_ACCESS_MAP = Object.freeze({
|
|
|
4932
5818
|
"addons.installPackage": { capName: "addons", capScope: "system", addonId: null, access: "create" },
|
|
4933
5819
|
"addons.isWorkspaceAvailable": { capName: "addons", capScope: "system", addonId: null, access: "view" },
|
|
4934
5820
|
"addons.list": { capName: "addons", capScope: "system", addonId: null, access: "view" },
|
|
5821
|
+
"addons.listActiveBulkUpdates": { capName: "addons", capScope: "system", addonId: null, access: "view" },
|
|
4935
5822
|
"addons.listCapabilityProviders": { capName: "addons", capScope: "system", addonId: null, access: "view" },
|
|
4936
5823
|
"addons.listFrameworkPackages": { capName: "addons", capScope: "system", addonId: null, access: "view" },
|
|
4937
5824
|
"addons.listPackages": { capName: "addons", capScope: "system", addonId: null, access: "view" },
|
|
@@ -4947,6 +5834,7 @@ const METHOD_ACCESS_MAP = Object.freeze({
|
|
|
4947
5834
|
"addons.setAddonAutoUpdate": { capName: "addons", capScope: "system", addonId: null, access: "create" },
|
|
4948
5835
|
"addons.setAutoUpdateSettings": { capName: "addons", capScope: "system", addonId: null, access: "create" },
|
|
4949
5836
|
"addons.setCapabilityProviderEnabled": { capName: "addons", capScope: "system", addonId: null, access: "create" },
|
|
5837
|
+
"addons.startBulkUpdate": { capName: "addons", capScope: "system", addonId: null, access: "create" },
|
|
4950
5838
|
"addons.uninstallPackage": { capName: "addons", capScope: "system", addonId: null, access: "delete" },
|
|
4951
5839
|
"addons.updateFrameworkPackage": { capName: "addons", capScope: "system", addonId: null, access: "create" },
|
|
4952
5840
|
"addons.updatePackage": { capName: "addons", capScope: "system", addonId: null, access: "create" },
|
|
@@ -4963,6 +5851,9 @@ const METHOD_ACCESS_MAP = Object.freeze({
|
|
|
4963
5851
|
"advancedNotifier.getRules": { capName: "advanced-notifier", capScope: "system", addonId: null, access: "view" },
|
|
4964
5852
|
"advancedNotifier.testRule": { capName: "advanced-notifier", capScope: "system", addonId: null, access: "create" },
|
|
4965
5853
|
"advancedNotifier.upsertRule": { capName: "advanced-notifier", capScope: "system", addonId: null, access: "create" },
|
|
5854
|
+
"alarmPanel.arm": { capName: "alarm-panel", capScope: "device", addonId: null, access: "create" },
|
|
5855
|
+
"alarmPanel.disarm": { capName: "alarm-panel", capScope: "device", addonId: null, access: "create" },
|
|
5856
|
+
"alarmPanel.trigger": { capName: "alarm-panel", capScope: "device", addonId: null, access: "create" },
|
|
4966
5857
|
"alerts.dismiss": { capName: "alerts", capScope: "system", addonId: null, access: "create" },
|
|
4967
5858
|
"alerts.emit": { capName: "alerts", capScope: "system", addonId: null, access: "create" },
|
|
4968
5859
|
"alerts.getUnreadCount": { capName: "alerts", capScope: "system", addonId: null, access: "view" },
|
|
@@ -4993,6 +5884,9 @@ const METHOD_ACCESS_MAP = Object.freeze({
|
|
|
4993
5884
|
"authProvider.handleCallback": { capName: "auth-provider", capScope: "system", addonId: null, access: "create" },
|
|
4994
5885
|
"authProvider.validateCredentials": { capName: "auth-provider", capScope: "system", addonId: null, access: "create" },
|
|
4995
5886
|
"authProvider.validateToken": { capName: "auth-provider", capScope: "system", addonId: null, access: "view" },
|
|
5887
|
+
"automationControl.disable": { capName: "automation-control", capScope: "device", addonId: null, access: "create" },
|
|
5888
|
+
"automationControl.enable": { capName: "automation-control", capScope: "device", addonId: null, access: "create" },
|
|
5889
|
+
"automationControl.trigger": { capName: "automation-control", capScope: "device", addonId: null, access: "create" },
|
|
4996
5890
|
"backup.delete": { capName: "backup", capScope: "system", addonId: null, access: "delete" },
|
|
4997
5891
|
"backup.getEntries": { capName: "backup", capScope: "system", addonId: null, access: "view" },
|
|
4998
5892
|
"backup.list": { capName: "backup", capScope: "system", addonId: null, access: "view" },
|
|
@@ -5003,11 +5897,45 @@ const METHOD_ACCESS_MAP = Object.freeze({
|
|
|
5003
5897
|
"backup.restore": { capName: "backup", capScope: "system", addonId: null, access: "create" },
|
|
5004
5898
|
"backup.trigger": { capName: "backup", capScope: "system", addonId: null, access: "create" },
|
|
5005
5899
|
"backup.upsertDestinationPolicy": { capName: "backup", capScope: "system", addonId: null, access: "create" },
|
|
5900
|
+
"battery.wakeForStream": { capName: "battery", capScope: "device", addonId: null, access: "create" },
|
|
5006
5901
|
"brightness.setBrightness": { capName: "brightness", capScope: "device", addonId: null, access: "create" },
|
|
5902
|
+
"broker.add": { capName: "broker", capScope: "system", addonId: null, access: "create" },
|
|
5903
|
+
"broker.get": { capName: "broker", capScope: "system", addonId: null, access: "view" },
|
|
5904
|
+
"broker.getBrokerConfig": { capName: "broker", capScope: "system", addonId: null, access: "view" },
|
|
5905
|
+
"broker.getSettings": { capName: "broker", capScope: "system", addonId: null, access: "view" },
|
|
5906
|
+
"broker.getSettingsSchema": { capName: "broker", capScope: "system", addonId: null, access: "view" },
|
|
5907
|
+
"broker.getState": { capName: "broker", capScope: "system", addonId: null, access: "view" },
|
|
5908
|
+
"broker.getStatus": { capName: "broker", capScope: "system", addonId: null, access: "view" },
|
|
5909
|
+
"broker.list": { capName: "broker", capScope: "system", addonId: null, access: "view" },
|
|
5910
|
+
"broker.listProviders": { capName: "broker", capScope: "system", addonId: null, access: "view" },
|
|
5911
|
+
"broker.publish": { capName: "broker", capScope: "system", addonId: null, access: "create" },
|
|
5912
|
+
"broker.remove": { capName: "broker", capScope: "system", addonId: null, access: "delete" },
|
|
5913
|
+
"broker.setSettings": { capName: "broker", capScope: "system", addonId: null, access: "create" },
|
|
5914
|
+
"broker.subscribe": { capName: "broker", capScope: "system", addonId: null, access: "create" },
|
|
5915
|
+
"broker.testConnection": { capName: "broker", capScope: "system", addonId: null, access: "create" },
|
|
5916
|
+
"broker.testSettings": { capName: "broker", capScope: "system", addonId: null, access: "create" },
|
|
5917
|
+
"broker.unsubscribe": { capName: "broker", capScope: "system", addonId: null, access: "create" },
|
|
5918
|
+
"button.press": { capName: "button", capScope: "device", addonId: null, access: "create" },
|
|
5007
5919
|
"cameraCredentials.getCredentials": { capName: "camera-credentials", capScope: "device", addonId: null, access: "view" },
|
|
5008
5920
|
"cameraStreams.getBrokerStreams": { capName: "camera-streams", capScope: "device", addonId: null, access: "view" },
|
|
5009
5921
|
"cameraStreams.getCameraStreams": { capName: "camera-streams", capScope: "device", addonId: null, access: "view" },
|
|
5922
|
+
"cameraStreams.getProfileRtspEntries": { capName: "camera-streams", capScope: "device", addonId: null, access: "view" },
|
|
5010
5923
|
"cameraStreams.getRtspEntries": { capName: "camera-streams", capScope: "device", addonId: null, access: "view" },
|
|
5924
|
+
"cameraStreams.pickStream": { capName: "camera-streams", capScope: "device", addonId: null, access: "view" },
|
|
5925
|
+
"climateControl.setFanMode": { capName: "climate-control", capScope: "device", addonId: null, access: "create" },
|
|
5926
|
+
"climateControl.setMode": { capName: "climate-control", capScope: "device", addonId: null, access: "create" },
|
|
5927
|
+
"climateControl.setPreset": { capName: "climate-control", capScope: "device", addonId: null, access: "create" },
|
|
5928
|
+
"climateControl.setTarget": { capName: "climate-control", capScope: "device", addonId: null, access: "create" },
|
|
5929
|
+
"climateControl.setTargetHumidity": { capName: "climate-control", capScope: "device", addonId: null, access: "create" },
|
|
5930
|
+
"climateControl.setTargetRange": { capName: "climate-control", capScope: "device", addonId: null, access: "create" },
|
|
5931
|
+
"color.setColor": { capName: "color", capScope: "device", addonId: null, access: "create" },
|
|
5932
|
+
"consumables.reset": { capName: "consumables", capScope: "device", addonId: null, access: "delete" },
|
|
5933
|
+
"control.setValue": { capName: "control", capScope: "device", addonId: null, access: "create" },
|
|
5934
|
+
"cover.close": { capName: "cover", capScope: "device", addonId: null, access: "create" },
|
|
5935
|
+
"cover.open": { capName: "cover", capScope: "device", addonId: null, access: "create" },
|
|
5936
|
+
"cover.setPosition": { capName: "cover", capScope: "device", addonId: null, access: "create" },
|
|
5937
|
+
"cover.setTiltPosition": { capName: "cover", capScope: "device", addonId: null, access: "create" },
|
|
5938
|
+
"cover.stop": { capName: "cover", capScope: "device", addonId: null, access: "create" },
|
|
5011
5939
|
"decoder.createSession": { capName: "decoder", capScope: "system", addonId: null, access: "view" },
|
|
5012
5940
|
"decoder.destroySession": { capName: "decoder", capScope: "system", addonId: null, access: "delete" },
|
|
5013
5941
|
"decoder.getFrame": { capName: "decoder", capScope: "system", addonId: null, access: "view" },
|
|
@@ -5022,6 +5950,13 @@ const METHOD_ACCESS_MAP = Object.freeze({
|
|
|
5022
5950
|
"decoder.reprobeHwaccel": { capName: "decoder", capScope: "system", addonId: null, access: "create" },
|
|
5023
5951
|
"decoder.supportsCodec": { capName: "decoder", capScope: "system", addonId: null, access: "view" },
|
|
5024
5952
|
"decoder.updateConfig": { capName: "decoder", capScope: "system", addonId: null, access: "view" },
|
|
5953
|
+
"deviceAdoption.adopt": { capName: "device-adoption", capScope: "system", addonId: null, access: "create" },
|
|
5954
|
+
"deviceAdoption.getCandidate": { capName: "device-adoption", capScope: "system", addonId: null, access: "view" },
|
|
5955
|
+
"deviceAdoption.listCandidateFilters": { capName: "device-adoption", capScope: "system", addonId: null, access: "view" },
|
|
5956
|
+
"deviceAdoption.listCandidates": { capName: "device-adoption", capScope: "system", addonId: null, access: "view" },
|
|
5957
|
+
"deviceAdoption.refresh": { capName: "device-adoption", capScope: "system", addonId: null, access: "create" },
|
|
5958
|
+
"deviceAdoption.release": { capName: "device-adoption", capScope: "system", addonId: null, access: "create" },
|
|
5959
|
+
"deviceAdoption.resync": { capName: "device-adoption", capScope: "system", addonId: null, access: "create" },
|
|
5025
5960
|
"deviceDiscovery.adoptDevice": { capName: "device-discovery", capScope: "device", addonId: null, access: "create" },
|
|
5026
5961
|
"deviceDiscovery.listDiscovered": { capName: "device-discovery", capScope: "device", addonId: null, access: "view" },
|
|
5027
5962
|
"deviceDiscovery.refreshDiscovery": { capName: "device-discovery", capScope: "device", addonId: null, access: "create" },
|
|
@@ -5033,7 +5968,12 @@ const METHOD_ACCESS_MAP = Object.freeze({
|
|
|
5033
5968
|
"deviceExport.unexposeDevice": { capName: "device-export", capScope: "system", addonId: null, access: "create" },
|
|
5034
5969
|
"deviceManager.addLocation": { capName: "device-manager", capScope: "system", addonId: null, access: "create" },
|
|
5035
5970
|
"deviceManager.adoptDevice": { capName: "device-manager", capScope: "system", addonId: null, access: "create" },
|
|
5971
|
+
"deviceManager.adoptionAdopt": { capName: "device-manager", capScope: "system", addonId: null, access: "create" },
|
|
5972
|
+
"deviceManager.adoptionListCandidates": { capName: "device-manager", capScope: "system", addonId: null, access: "view" },
|
|
5973
|
+
"deviceManager.adoptionRefresh": { capName: "device-manager", capScope: "system", addonId: null, access: "create" },
|
|
5974
|
+
"deviceManager.adoptionRelease": { capName: "device-manager", capScope: "system", addonId: null, access: "create" },
|
|
5036
5975
|
"deviceManager.allocateDeviceId": { capName: "device-manager", capScope: "system", addonId: null, access: "create" },
|
|
5976
|
+
"deviceManager.applyInitialMeta": { capName: "device-manager", capScope: "system", addonId: null, access: "create" },
|
|
5037
5977
|
"deviceManager.createDevice": { capName: "device-manager", capScope: "system", addonId: null, access: "create" },
|
|
5038
5978
|
"deviceManager.disable": { capName: "device-manager", capScope: "system", addonId: null, access: "create" },
|
|
5039
5979
|
"deviceManager.discoverDevices": { capName: "device-manager", capScope: "system", addonId: null, access: "create" },
|
|
@@ -5051,6 +5991,7 @@ const METHOD_ACCESS_MAP = Object.freeze({
|
|
|
5051
5991
|
"deviceManager.getSettingsSchema": { capName: "device-manager", capScope: "system", addonId: null, access: "view" },
|
|
5052
5992
|
"deviceManager.getStreamProfileMap": { capName: "device-manager", capScope: "system", addonId: null, access: "view" },
|
|
5053
5993
|
"deviceManager.getStreamSources": { capName: "device-manager", capScope: "system", addonId: null, access: "view" },
|
|
5994
|
+
"deviceManager.getWireableFields": { capName: "device-manager", capScope: "system", addonId: null, access: "view" },
|
|
5054
5995
|
"deviceManager.listAll": { capName: "device-manager", capScope: "system", addonId: null, access: "view" },
|
|
5055
5996
|
"deviceManager.listBindableCapsForDeviceType": { capName: "device-manager", capScope: "system", addonId: null, access: "view" },
|
|
5056
5997
|
"deviceManager.listLocations": { capName: "device-manager", capScope: "system", addonId: null, access: "view" },
|
|
@@ -5063,13 +6004,22 @@ const METHOD_ACCESS_MAP = Object.freeze({
|
|
|
5063
6004
|
"deviceManager.probeStreams": { capName: "device-manager", capScope: "system", addonId: null, access: "create" },
|
|
5064
6005
|
"deviceManager.registerDevice": { capName: "device-manager", capScope: "system", addonId: null, access: "create" },
|
|
5065
6006
|
"deviceManager.remove": { capName: "device-manager", capScope: "system", addonId: null, access: "delete" },
|
|
6007
|
+
"deviceManager.removeByIntegration": { capName: "device-manager", capScope: "system", addonId: null, access: "delete" },
|
|
5066
6008
|
"deviceManager.removeDevice": { capName: "device-manager", capScope: "system", addonId: null, access: "delete" },
|
|
5067
6009
|
"deviceManager.removeLocation": { capName: "device-manager", capScope: "system", addonId: null, access: "delete" },
|
|
6010
|
+
"deviceManager.runDeviceAction": { capName: "device-manager", capScope: "system", addonId: null, access: "create" },
|
|
6011
|
+
"deviceManager.setChildLayout": { capName: "device-manager", capScope: "system", addonId: null, access: "create" },
|
|
6012
|
+
"deviceManager.setDeviceLinks": { capName: "device-manager", capScope: "system", addonId: null, access: "create" },
|
|
5068
6013
|
"deviceManager.setDisabled": { capName: "device-manager", capScope: "system", addonId: null, access: "create" },
|
|
6014
|
+
"deviceManager.setIntegrationId": { capName: "device-manager", capScope: "system", addonId: null, access: "create" },
|
|
6015
|
+
"deviceManager.setLinkDeviceId": { capName: "device-manager", capScope: "system", addonId: null, access: "create" },
|
|
5069
6016
|
"deviceManager.setLocation": { capName: "device-manager", capScope: "system", addonId: null, access: "create" },
|
|
5070
6017
|
"deviceManager.setMetadata": { capName: "device-manager", capScope: "system", addonId: null, access: "create" },
|
|
5071
6018
|
"deviceManager.setName": { capName: "device-manager", capScope: "system", addonId: null, access: "create" },
|
|
6019
|
+
"deviceManager.setPrimaryChildEntityId": { capName: "device-manager", capScope: "system", addonId: null, access: "create" },
|
|
6020
|
+
"deviceManager.setRole": { capName: "device-manager", capScope: "system", addonId: null, access: "create" },
|
|
5072
6021
|
"deviceManager.setStreamProfileMap": { capName: "device-manager", capScope: "system", addonId: null, access: "create" },
|
|
6022
|
+
"deviceManager.setType": { capName: "device-manager", capScope: "system", addonId: null, access: "create" },
|
|
5073
6023
|
"deviceManager.setWrapperActive": { capName: "device-manager", capScope: "system", addonId: null, access: "create" },
|
|
5074
6024
|
"deviceManager.testCreationField": { capName: "device-manager", capScope: "system", addonId: null, access: "create" },
|
|
5075
6025
|
"deviceManager.testField": { capName: "device-manager", capScope: "system", addonId: null, access: "create" },
|
|
@@ -5077,9 +6027,11 @@ const METHOD_ACCESS_MAP = Object.freeze({
|
|
|
5077
6027
|
"deviceManager.updateDeviceField": { capName: "device-manager", capScope: "system", addonId: null, access: "create" },
|
|
5078
6028
|
"deviceManager.updateDeviceFieldsBatch": { capName: "device-manager", capScope: "system", addonId: null, access: "create" },
|
|
5079
6029
|
"deviceOps.getConfigEntries": { capName: "device-ops", capScope: "device", addonId: null, access: "view" },
|
|
6030
|
+
"deviceOps.getRawState": { capName: "device-ops", capScope: "device", addonId: null, access: "view" },
|
|
5080
6031
|
"deviceOps.getSettingsSchema": { capName: "device-ops", capScope: "device", addonId: null, access: "view" },
|
|
5081
6032
|
"deviceOps.getStreamSources": { capName: "device-ops", capScope: "device", addonId: null, access: "view" },
|
|
5082
6033
|
"deviceOps.removeDevice": { capName: "device-ops", capScope: "device", addonId: null, access: "delete" },
|
|
6034
|
+
"deviceOps.runAction": { capName: "device-ops", capScope: "device", addonId: null, access: "create" },
|
|
5083
6035
|
"deviceOps.setConfig": { capName: "device-ops", capScope: "device", addonId: null, access: "create" },
|
|
5084
6036
|
"deviceProvider.adoptDiscoveredDevice": { capName: "device-provider", capScope: "system", addonId: null, access: "create" },
|
|
5085
6037
|
"deviceProvider.createDevice": { capName: "device-provider", capScope: "system", addonId: null, access: "create" },
|
|
@@ -5102,6 +6054,13 @@ const METHOD_ACCESS_MAP = Object.freeze({
|
|
|
5102
6054
|
"events.getEventClipUrl": { capName: "events", capScope: "device", addonId: null, access: "view" },
|
|
5103
6055
|
"events.getEvents": { capName: "events", capScope: "device", addonId: null, access: "view" },
|
|
5104
6056
|
"events.getEventThumbnail": { capName: "events", capScope: "device", addonId: null, access: "view" },
|
|
6057
|
+
"fanControl.setDirection": { capName: "fan-control", capScope: "device", addonId: null, access: "create" },
|
|
6058
|
+
"fanControl.setOscillating": { capName: "fan-control", capScope: "device", addonId: null, access: "create" },
|
|
6059
|
+
"fanControl.setPercentage": { capName: "fan-control", capScope: "device", addonId: null, access: "create" },
|
|
6060
|
+
"fanControl.setPreset": { capName: "fan-control", capScope: "device", addonId: null, access: "create" },
|
|
6061
|
+
"humidifier.setMode": { capName: "humidifier", capScope: "device", addonId: null, access: "create" },
|
|
6062
|
+
"humidifier.setOn": { capName: "humidifier", capScope: "device", addonId: null, access: "create" },
|
|
6063
|
+
"humidifier.setTargetHumidity": { capName: "humidifier", capScope: "device", addonId: null, access: "create" },
|
|
5105
6064
|
"integrations.create": { capName: "integrations", capScope: "system", addonId: null, access: "create" },
|
|
5106
6065
|
"integrations.delete": { capName: "integrations", capScope: "system", addonId: null, access: "delete" },
|
|
5107
6066
|
"integrations.get": { capName: "integrations", capScope: "system", addonId: null, access: "view" },
|
|
@@ -5114,18 +6073,36 @@ const METHOD_ACCESS_MAP = Object.freeze({
|
|
|
5114
6073
|
"integrations.update": { capName: "integrations", capScope: "system", addonId: null, access: "create" },
|
|
5115
6074
|
"intercom.endTalkSession": { capName: "intercom", capScope: "device", addonId: null, access: "create" },
|
|
5116
6075
|
"intercom.handleAnswer": { capName: "intercom", capScope: "device", addonId: null, access: "create" },
|
|
5117
|
-
"intercom.
|
|
6076
|
+
"intercom.pushTalkAudio": { capName: "intercom", capScope: "device", addonId: null, access: "create" },
|
|
5118
6077
|
"intercom.startSession": { capName: "intercom", capScope: "device", addonId: null, access: "create" },
|
|
5119
6078
|
"intercom.startTalkSession": { capName: "intercom", capScope: "device", addonId: null, access: "create" },
|
|
5120
6079
|
"intercom.stopSession": { capName: "intercom", capScope: "device", addonId: null, access: "create" },
|
|
6080
|
+
"lawnMowerControl.dock": { capName: "lawn-mower-control", capScope: "device", addonId: null, access: "create" },
|
|
6081
|
+
"lawnMowerControl.pause": { capName: "lawn-mower-control", capScope: "device", addonId: null, access: "create" },
|
|
6082
|
+
"lawnMowerControl.startMowing": { capName: "lawn-mower-control", capScope: "device", addonId: null, access: "create" },
|
|
5121
6083
|
"localNetwork.getAllowedAddresses": { capName: "local-network", capScope: "system", addonId: null, access: "view" },
|
|
5122
6084
|
"localNetwork.getConnectionEndpoints": { capName: "local-network", capScope: "system", addonId: null, access: "view" },
|
|
5123
6085
|
"localNetwork.getPreferred": { capName: "local-network", capScope: "system", addonId: null, access: "view" },
|
|
5124
6086
|
"localNetwork.list": { capName: "local-network", capScope: "system", addonId: null, access: "view" },
|
|
5125
6087
|
"localNetwork.resetAllowlistToBestMatch": { capName: "local-network", capScope: "system", addonId: null, access: "delete" },
|
|
5126
6088
|
"localNetwork.setAllowedAddresses": { capName: "local-network", capScope: "system", addonId: null, access: "create" },
|
|
6089
|
+
"lockControl.lock": { capName: "lock-control", capScope: "device", addonId: null, access: "create" },
|
|
6090
|
+
"lockControl.open": { capName: "lock-control", capScope: "device", addonId: null, access: "create" },
|
|
6091
|
+
"lockControl.unlock": { capName: "lock-control", capScope: "device", addonId: null, access: "create" },
|
|
5127
6092
|
"logDestination.query": { capName: "log-destination", capScope: "system", addonId: null, access: "view" },
|
|
5128
6093
|
"logDestination.write": { capName: "log-destination", capScope: "system", addonId: null, access: "create" },
|
|
6094
|
+
"mediaPlayer.next": { capName: "media-player", capScope: "device", addonId: null, access: "create" },
|
|
6095
|
+
"mediaPlayer.pause": { capName: "media-player", capScope: "device", addonId: null, access: "create" },
|
|
6096
|
+
"mediaPlayer.play": { capName: "media-player", capScope: "device", addonId: null, access: "create" },
|
|
6097
|
+
"mediaPlayer.playMedia": { capName: "media-player", capScope: "device", addonId: null, access: "create" },
|
|
6098
|
+
"mediaPlayer.previous": { capName: "media-player", capScope: "device", addonId: null, access: "create" },
|
|
6099
|
+
"mediaPlayer.seek": { capName: "media-player", capScope: "device", addonId: null, access: "create" },
|
|
6100
|
+
"mediaPlayer.selectSource": { capName: "media-player", capScope: "device", addonId: null, access: "create" },
|
|
6101
|
+
"mediaPlayer.setMute": { capName: "media-player", capScope: "device", addonId: null, access: "create" },
|
|
6102
|
+
"mediaPlayer.setRepeat": { capName: "media-player", capScope: "device", addonId: null, access: "create" },
|
|
6103
|
+
"mediaPlayer.setShuffle": { capName: "media-player", capScope: "device", addonId: null, access: "create" },
|
|
6104
|
+
"mediaPlayer.setVolume": { capName: "media-player", capScope: "device", addonId: null, access: "create" },
|
|
6105
|
+
"mediaPlayer.stop": { capName: "media-player", capScope: "device", addonId: null, access: "create" },
|
|
5129
6106
|
"meshNetwork.getStatus": { capName: "mesh-network", capScope: "system", addonId: null, access: "view" },
|
|
5130
6107
|
"meshNetwork.join": { capName: "mesh-network", capScope: "system", addonId: null, access: "create" },
|
|
5131
6108
|
"meshNetwork.leave": { capName: "mesh-network", capScope: "system", addonId: null, access: "create" },
|
|
@@ -5159,6 +6136,7 @@ const METHOD_ACCESS_MAP = Object.freeze({
|
|
|
5159
6136
|
"mqttBroker.startEmbeddedBroker": { capName: "mqtt-broker", capScope: "system", addonId: null, access: "create" },
|
|
5160
6137
|
"mqttBroker.stopEmbeddedBroker": { capName: "mqtt-broker", capScope: "system", addonId: null, access: "create" },
|
|
5161
6138
|
"mqttBroker.testConnection": { capName: "mqtt-broker", capScope: "system", addonId: null, access: "create" },
|
|
6139
|
+
"nativeObjectDetection.setEnabled": { capName: "native-object-detection", capScope: "device", addonId: null, access: "create" },
|
|
5162
6140
|
"networkAccess.getEndpoint": { capName: "network-access", capScope: "system", addonId: null, access: "view" },
|
|
5163
6141
|
"networkAccess.getStatus": { capName: "network-access", capScope: "system", addonId: null, access: "view" },
|
|
5164
6142
|
"networkAccess.listEndpoints": { capName: "network-access", capScope: "system", addonId: null, access: "view" },
|
|
@@ -5182,17 +6160,21 @@ const METHOD_ACCESS_MAP = Object.freeze({
|
|
|
5182
6160
|
"nodes.undeployAddon": { capName: "nodes", capScope: "system", addonId: null, access: "create" },
|
|
5183
6161
|
"notificationOutput.send": { capName: "notification-output", capScope: "system", addonId: null, access: "create" },
|
|
5184
6162
|
"notificationOutput.sendTest": { capName: "notification-output", capScope: "system", addonId: null, access: "create" },
|
|
6163
|
+
"notifier.cancel": { capName: "notifier", capScope: "device", addonId: null, access: "create" },
|
|
6164
|
+
"notifier.send": { capName: "notifier", capScope: "device", addonId: null, access: "create" },
|
|
5185
6165
|
"oauthIntegration.getDescriptor": { capName: "oauth-integration", capScope: "system", addonId: null, access: "view" },
|
|
5186
6166
|
"osd.setOverlay": { capName: "osd", capScope: "device", addonId: null, access: "create" },
|
|
5187
6167
|
"pipelineAnalytics.clearTracks": { capName: "pipeline-analytics", capScope: "device", addonId: null, access: "delete" },
|
|
5188
6168
|
"pipelineAnalytics.getActiveTracks": { capName: "pipeline-analytics", capScope: "device", addonId: null, access: "view" },
|
|
5189
6169
|
"pipelineAnalytics.getAudioEvents": { capName: "pipeline-analytics", capScope: "device", addonId: null, access: "view" },
|
|
6170
|
+
"pipelineAnalytics.getEventDensity": { capName: "pipeline-analytics", capScope: "device", addonId: null, access: "view" },
|
|
5190
6171
|
"pipelineAnalytics.getEventMedia": { capName: "pipeline-analytics", capScope: "device", addonId: null, access: "view" },
|
|
5191
6172
|
"pipelineAnalytics.getMotionEvents": { capName: "pipeline-analytics", capScope: "device", addonId: null, access: "view" },
|
|
5192
6173
|
"pipelineAnalytics.getObjectEvents": { capName: "pipeline-analytics", capScope: "device", addonId: null, access: "view" },
|
|
5193
6174
|
"pipelineAnalytics.getTrack": { capName: "pipeline-analytics", capScope: "device", addonId: null, access: "view" },
|
|
5194
6175
|
"pipelineAnalytics.getTrackMedia": { capName: "pipeline-analytics", capScope: "device", addonId: null, access: "view" },
|
|
5195
6176
|
"pipelineAnalytics.listTracks": { capName: "pipeline-analytics", capScope: "device", addonId: null, access: "view" },
|
|
6177
|
+
"pipelineAnalytics.pruneEventsBefore": { capName: "pipeline-analytics", capScope: "device", addonId: null, access: "create" },
|
|
5196
6178
|
"pipelineExecutor.cacheFrameInPool": { capName: "pipeline-executor", capScope: "system", addonId: null, access: "create" },
|
|
5197
6179
|
"pipelineExecutor.deleteModel": { capName: "pipeline-executor", capScope: "system", addonId: null, access: "delete" },
|
|
5198
6180
|
"pipelineExecutor.deleteTemplate": { capName: "pipeline-executor", capScope: "system", addonId: null, access: "delete" },
|
|
@@ -5271,10 +6253,14 @@ const METHOD_ACCESS_MAP = Object.freeze({
|
|
|
5271
6253
|
"pipelineRunner.reportMotion": { capName: "pipeline-runner", capScope: "system", addonId: null, access: "create" },
|
|
5272
6254
|
"platformProbe.getCapabilities": { capName: "platform-probe", capScope: "system", addonId: null, access: "view" },
|
|
5273
6255
|
"platformProbe.getHardware": { capName: "platform-probe", capScope: "system", addonId: null, access: "view" },
|
|
6256
|
+
"platformProbe.getHardwareDecodeAccels": { capName: "platform-probe", capScope: "system", addonId: null, access: "view" },
|
|
5274
6257
|
"platformProbe.getHardwareEncoders": { capName: "platform-probe", capScope: "system", addonId: null, access: "view" },
|
|
6258
|
+
"platformProbe.refreshHardwareDecodeAccels": { capName: "platform-probe", capScope: "system", addonId: null, access: "create" },
|
|
5275
6259
|
"platformProbe.refreshHardwareEncoders": { capName: "platform-probe", capScope: "system", addonId: null, access: "create" },
|
|
5276
6260
|
"platformProbe.resolveHwAccel": { capName: "platform-probe", capScope: "system", addonId: null, access: "view" },
|
|
5277
6261
|
"platformProbe.resolveInferenceConfig": { capName: "platform-probe", capScope: "system", addonId: null, access: "view" },
|
|
6262
|
+
"privacyMask.getOptions": { capName: "privacy-mask", capScope: "device", addonId: null, access: "view" },
|
|
6263
|
+
"privacyMask.setMask": { capName: "privacy-mask", capScope: "device", addonId: null, access: "create" },
|
|
5278
6264
|
"ptz.continuousMove": { capName: "ptz", capScope: "device", addonId: null, access: "create" },
|
|
5279
6265
|
"ptz.deletePreset": { capName: "ptz", capScope: "device", addonId: null, access: "delete" },
|
|
5280
6266
|
"ptz.getOptions": { capName: "ptz", capScope: "device", addonId: null, access: "view" },
|
|
@@ -5291,34 +6277,23 @@ const METHOD_ACCESS_MAP = Object.freeze({
|
|
|
5291
6277
|
"ptzAutotrack.setEnabled": { capName: "ptz-autotrack", capScope: "device", addonId: null, access: "create" },
|
|
5292
6278
|
"ptzAutotrack.setSettings": { capName: "ptz-autotrack", capScope: "device", addonId: null, access: "create" },
|
|
5293
6279
|
"reboot.reboot": { capName: "reboot", capScope: "device", addonId: null, access: "create" },
|
|
5294
|
-
"recording.
|
|
5295
|
-
"recording.
|
|
5296
|
-
"recording.
|
|
5297
|
-
"
|
|
5298
|
-
"
|
|
5299
|
-
"
|
|
5300
|
-
"
|
|
5301
|
-
"recordingEngine.getAvailability": { capName: "recording-engine", capScope: "system", addonId: null, access: "view" },
|
|
5302
|
-
"recordingEngine.getConfig": { capName: "recording-engine", capScope: "system", addonId: null, access: "view" },
|
|
5303
|
-
"recordingEngine.getMotionStats": { capName: "recording-engine", capScope: "system", addonId: null, access: "view" },
|
|
5304
|
-
"recordingEngine.getPlaylist": { capName: "recording-engine", capScope: "system", addonId: null, access: "view" },
|
|
5305
|
-
"recordingEngine.getPolicy": { capName: "recording-engine", capScope: "system", addonId: null, access: "view" },
|
|
5306
|
-
"recordingEngine.getPolicyStatus": { capName: "recording-engine", capScope: "system", addonId: null, access: "view" },
|
|
5307
|
-
"recordingEngine.getRetentionConfig": { capName: "recording-engine", capScope: "system", addonId: null, access: "view" },
|
|
5308
|
-
"recordingEngine.getSegments": { capName: "recording-engine", capScope: "system", addonId: null, access: "view" },
|
|
5309
|
-
"recordingEngine.getStatus": { capName: "recording-engine", capScope: "system", addonId: null, access: "view" },
|
|
5310
|
-
"recordingEngine.getStorageUsage": { capName: "recording-engine", capScope: "system", addonId: null, access: "view" },
|
|
5311
|
-
"recordingEngine.getThumbnail": { capName: "recording-engine", capScope: "system", addonId: null, access: "view" },
|
|
5312
|
-
"recordingEngine.setPolicy": { capName: "recording-engine", capScope: "system", addonId: null, access: "create" },
|
|
5313
|
-
"recordingEngine.updateConfig": { capName: "recording-engine", capScope: "system", addonId: null, access: "create" },
|
|
5314
|
-
"recordingEngine.updateRetentionConfig": { capName: "recording-engine", capScope: "system", addonId: null, access: "create" },
|
|
6280
|
+
"recording.getAvailability": { capName: "recording", capScope: "system", addonId: null, access: "view" },
|
|
6281
|
+
"recording.getDeviceConfig": { capName: "recording", capScope: "system", addonId: null, access: "view" },
|
|
6282
|
+
"recording.getPlaybackManifest": { capName: "recording", capScope: "system", addonId: null, access: "view" },
|
|
6283
|
+
"recording.getStorageUsage": { capName: "recording", capScope: "system", addonId: null, access: "view" },
|
|
6284
|
+
"recording.pruneFootage": { capName: "recording", capScope: "system", addonId: null, access: "create" },
|
|
6285
|
+
"recording.rescanStorage": { capName: "recording", capScope: "system", addonId: null, access: "create" },
|
|
6286
|
+
"recording.setDeviceConfig": { capName: "recording", capScope: "system", addonId: null, access: "create" },
|
|
5315
6287
|
"restreamer.getExposedResources": { capName: "restreamer", capScope: "system", addonId: null, access: "view" },
|
|
5316
6288
|
"restreamer.registerDevice": { capName: "restreamer", capScope: "system", addonId: null, access: "create" },
|
|
5317
6289
|
"restreamer.unregisterDevice": { capName: "restreamer", capScope: "system", addonId: null, access: "delete" },
|
|
6290
|
+
"scriptRunner.run": { capName: "script-runner", capScope: "device", addonId: null, access: "create" },
|
|
6291
|
+
"scriptRunner.stop": { capName: "script-runner", capScope: "device", addonId: null, access: "create" },
|
|
5318
6292
|
"settingsStore.count": { capName: "settings-store", capScope: "system", addonId: null, access: "view" },
|
|
5319
6293
|
"settingsStore.declareCollection": { capName: "settings-store", capScope: "system", addonId: null, access: "create" },
|
|
5320
6294
|
"settingsStore.delete": { capName: "settings-store", capScope: "system", addonId: null, access: "delete" },
|
|
5321
6295
|
"settingsStore.get": { capName: "settings-store", capScope: "system", addonId: null, access: "view" },
|
|
6296
|
+
"settingsStore.histogram": { capName: "settings-store", capScope: "system", addonId: null, access: "view" },
|
|
5322
6297
|
"settingsStore.insert": { capName: "settings-store", capScope: "system", addonId: null, access: "create" },
|
|
5323
6298
|
"settingsStore.isEmpty": { capName: "settings-store", capScope: "system", addonId: null, access: "view" },
|
|
5324
6299
|
"settingsStore.query": { capName: "settings-store", capScope: "system", addonId: null, access: "view" },
|
|
@@ -5344,6 +6319,7 @@ const METHOD_ACCESS_MAP = Object.freeze({
|
|
|
5344
6319
|
"storage.getAvailableSpace": { capName: "storage", capScope: "system", addonId: null, access: "view" },
|
|
5345
6320
|
"storage.getDefaultLocation": { capName: "storage", capScope: "system", addonId: null, access: "view" },
|
|
5346
6321
|
"storage.list": { capName: "storage", capScope: "system", addonId: null, access: "view" },
|
|
6322
|
+
"storage.listLocationDeclarations": { capName: "storage", capScope: "system", addonId: null, access: "view" },
|
|
5347
6323
|
"storage.listLocations": { capName: "storage", capScope: "system", addonId: null, access: "view" },
|
|
5348
6324
|
"storage.listProviders": { capName: "storage", capScope: "system", addonId: null, access: "view" },
|
|
5349
6325
|
"storage.read": { capName: "storage", capScope: "system", addonId: null, access: "view" },
|
|
@@ -5354,6 +6330,8 @@ const METHOD_ACCESS_MAP = Object.freeze({
|
|
|
5354
6330
|
"storage.upsertLocation": { capName: "storage", capScope: "system", addonId: null, access: "create" },
|
|
5355
6331
|
"storage.write": { capName: "storage", capScope: "system", addonId: null, access: "create" },
|
|
5356
6332
|
"storage.writeChunk": { capName: "storage", capScope: "system", addonId: null, access: "create" },
|
|
6333
|
+
"storageEvictable.evict": { capName: "storage-evictable", capScope: "system", addonId: null, access: "create" },
|
|
6334
|
+
"storageEvictable.getEvictableUsage": { capName: "storage-evictable", capScope: "system", addonId: null, access: "view" },
|
|
5357
6335
|
"storageProvider.abortUpload": { capName: "storage-provider", capScope: "system", addonId: null, access: "create" },
|
|
5358
6336
|
"storageProvider.beginDownload": { capName: "storage-provider", capScope: "system", addonId: null, access: "create" },
|
|
5359
6337
|
"storageProvider.beginUpload": { capName: "storage-provider", capScope: "system", addonId: null, access: "create" },
|
|
@@ -5397,6 +6375,7 @@ const METHOD_ACCESS_MAP = Object.freeze({
|
|
|
5397
6375
|
"streamBroker.unassignProfile": { capName: "stream-broker", capScope: "system", addonId: null, access: "create" },
|
|
5398
6376
|
"streamBroker.unsubscribeAudioChunks": { capName: "stream-broker", capScope: "system", addonId: null, access: "create" },
|
|
5399
6377
|
"streamBroker.unsubscribeFrames": { capName: "stream-broker", capScope: "system", addonId: null, access: "create" },
|
|
6378
|
+
"streamCatalog.getCatalog": { capName: "stream-catalog", capScope: "device", addonId: null, access: "view" },
|
|
5400
6379
|
"streamingEngine.getStreamUrl": { capName: "streaming-engine", capScope: "system", addonId: null, access: "view" },
|
|
5401
6380
|
"streamingEngine.listStreams": { capName: "streaming-engine", capScope: "system", addonId: null, access: "view" },
|
|
5402
6381
|
"streamingEngine.registerStream": { capName: "streaming-engine", capScope: "system", addonId: null, access: "create" },
|
|
@@ -5414,6 +6393,7 @@ const METHOD_ACCESS_MAP = Object.freeze({
|
|
|
5414
6393
|
"system.setRetentionConfig": { capName: "system", capScope: "system", addonId: null, access: "create" },
|
|
5415
6394
|
"toast.onToast": { capName: "toast", capScope: "system", addonId: null, access: "view" },
|
|
5416
6395
|
"turnProvider.getTurnServers": { capName: "turn-provider", capScope: "system", addonId: null, access: "view" },
|
|
6396
|
+
"update.installUpdate": { capName: "update", capScope: "device", addonId: null, access: "create" },
|
|
5417
6397
|
"userManagement.confirmTotp": { capName: "user-management", capScope: "system", addonId: null, access: "create" },
|
|
5418
6398
|
"userManagement.createApiKey": { capName: "user-management", capScope: "system", addonId: null, access: "create" },
|
|
5419
6399
|
"userManagement.createScopedToken": { capName: "user-management", capScope: "system", addonId: null, access: "create" },
|
|
@@ -5446,6 +6426,19 @@ const METHOD_ACCESS_MAP = Object.freeze({
|
|
|
5446
6426
|
"userPasskeys.finishRegistration": { capName: "user-passkeys", capScope: "system", addonId: null, access: "create" },
|
|
5447
6427
|
"userPasskeys.listPasskeys": { capName: "user-passkeys", capScope: "system", addonId: null, access: "view" },
|
|
5448
6428
|
"userPasskeys.removePasskey": { capName: "user-passkeys", capScope: "system", addonId: null, access: "delete" },
|
|
6429
|
+
"vacuumControl.locate": { capName: "vacuum-control", capScope: "device", addonId: null, access: "create" },
|
|
6430
|
+
"vacuumControl.pause": { capName: "vacuum-control", capScope: "device", addonId: null, access: "create" },
|
|
6431
|
+
"vacuumControl.returnToBase": { capName: "vacuum-control", capScope: "device", addonId: null, access: "create" },
|
|
6432
|
+
"vacuumControl.setFanSpeed": { capName: "vacuum-control", capScope: "device", addonId: null, access: "create" },
|
|
6433
|
+
"vacuumControl.start": { capName: "vacuum-control", capScope: "device", addonId: null, access: "create" },
|
|
6434
|
+
"vacuumControl.stop": { capName: "vacuum-control", capScope: "device", addonId: null, access: "create" },
|
|
6435
|
+
"valve.close": { capName: "valve", capScope: "device", addonId: null, access: "create" },
|
|
6436
|
+
"valve.open": { capName: "valve", capScope: "device", addonId: null, access: "create" },
|
|
6437
|
+
"valve.setPosition": { capName: "valve", capScope: "device", addonId: null, access: "create" },
|
|
6438
|
+
"valve.stop": { capName: "valve", capScope: "device", addonId: null, access: "create" },
|
|
6439
|
+
"waterHeater.setAway": { capName: "water-heater", capScope: "device", addonId: null, access: "create" },
|
|
6440
|
+
"waterHeater.setOperationMode": { capName: "water-heater", capScope: "device", addonId: null, access: "create" },
|
|
6441
|
+
"waterHeater.setTargetTemp": { capName: "water-heater", capScope: "device", addonId: null, access: "create" },
|
|
5449
6442
|
"webrtc.closeSession": { capName: "webrtc", capScope: "system", addonId: null, access: "create" },
|
|
5450
6443
|
"webrtc.createSession": { capName: "webrtc", capScope: "system", addonId: null, access: "create" },
|
|
5451
6444
|
"webrtc.handleAnswer": { capName: "webrtc", capScope: "system", addonId: null, access: "create" },
|
|
@@ -5454,8 +6447,11 @@ const METHOD_ACCESS_MAP = Object.freeze({
|
|
|
5454
6447
|
"webrtc.registerStream": { capName: "webrtc", capScope: "system", addonId: null, access: "create" },
|
|
5455
6448
|
"webrtc.supportsStream": { capName: "webrtc", capScope: "system", addonId: null, access: "view" },
|
|
5456
6449
|
"webrtc.unregisterStream": { capName: "webrtc", capScope: "system", addonId: null, access: "delete" },
|
|
6450
|
+
"webrtcSession.addIceCandidate": { capName: "webrtc-session", capScope: "device", addonId: null, access: "create" },
|
|
5457
6451
|
"webrtcSession.closeSession": { capName: "webrtc-session", capScope: "device", addonId: null, access: "create" },
|
|
5458
6452
|
"webrtcSession.createSession": { capName: "webrtc-session", capScope: "device", addonId: null, access: "create" },
|
|
6453
|
+
"webrtcSession.getIceCandidates": { capName: "webrtc-session", capScope: "device", addonId: null, access: "view" },
|
|
6454
|
+
"webrtcSession.getSessionState": { capName: "webrtc-session", capScope: "device", addonId: null, access: "view" },
|
|
5459
6455
|
"webrtcSession.handleAnswer": { capName: "webrtc-session", capScope: "device", addonId: null, access: "create" },
|
|
5460
6456
|
"webrtcSession.handleOffer": { capName: "webrtc-session", capScope: "device", addonId: null, access: "create" },
|
|
5461
6457
|
"webrtcSession.hasAdaptiveBitrate": { capName: "webrtc-session", capScope: "device", addonId: null, access: "view" },
|
|
@@ -5472,6 +6468,7 @@ const METHOD_ACCESS_MAP = Object.freeze({
|
|
|
5472
6468
|
"zones.updateZone": { capName: "zones", capScope: "device", addonId: null, access: "create" }
|
|
5473
6469
|
});
|
|
5474
6470
|
const KNOWN_CAP_NAMES = [
|
|
6471
|
+
"accessories",
|
|
5475
6472
|
"addon-pages",
|
|
5476
6473
|
"addon-pages-source",
|
|
5477
6474
|
"addon-routes",
|
|
@@ -5481,17 +6478,28 @@ const KNOWN_CAP_NAMES = [
|
|
|
5481
6478
|
"addons",
|
|
5482
6479
|
"admin-ui",
|
|
5483
6480
|
"advanced-notifier",
|
|
6481
|
+
"alarm-panel",
|
|
5484
6482
|
"alerts",
|
|
5485
6483
|
"audio-analysis",
|
|
5486
6484
|
"audio-analyzer",
|
|
5487
6485
|
"audio-codec",
|
|
5488
6486
|
"audio-metrics",
|
|
5489
6487
|
"auth-provider",
|
|
6488
|
+
"automation-control",
|
|
5490
6489
|
"backup",
|
|
6490
|
+
"battery",
|
|
5491
6491
|
"brightness",
|
|
6492
|
+
"broker",
|
|
6493
|
+
"button",
|
|
5492
6494
|
"camera-credentials",
|
|
5493
6495
|
"camera-streams",
|
|
6496
|
+
"climate-control",
|
|
6497
|
+
"color",
|
|
6498
|
+
"consumables",
|
|
6499
|
+
"control",
|
|
6500
|
+
"cover",
|
|
5494
6501
|
"decoder",
|
|
6502
|
+
"device-adoption",
|
|
5495
6503
|
"device-discovery",
|
|
5496
6504
|
"device-export",
|
|
5497
6505
|
"device-manager",
|
|
@@ -5500,10 +6508,15 @@ const KNOWN_CAP_NAMES = [
|
|
|
5500
6508
|
"device-state",
|
|
5501
6509
|
"embedding-encoder",
|
|
5502
6510
|
"events",
|
|
6511
|
+
"fan-control",
|
|
6512
|
+
"humidifier",
|
|
5503
6513
|
"integrations",
|
|
5504
6514
|
"intercom",
|
|
6515
|
+
"lawn-mower-control",
|
|
5505
6516
|
"local-network",
|
|
6517
|
+
"lock-control",
|
|
5506
6518
|
"log-destination",
|
|
6519
|
+
"media-player",
|
|
5507
6520
|
"mesh-network",
|
|
5508
6521
|
"metrics-provider",
|
|
5509
6522
|
"motion",
|
|
@@ -5511,10 +6524,12 @@ const KNOWN_CAP_NAMES = [
|
|
|
5511
6524
|
"motion-trigger",
|
|
5512
6525
|
"motion-zones",
|
|
5513
6526
|
"mqtt-broker",
|
|
6527
|
+
"native-object-detection",
|
|
5514
6528
|
"network-access",
|
|
5515
6529
|
"network-quality",
|
|
5516
6530
|
"nodes",
|
|
5517
6531
|
"notification-output",
|
|
6532
|
+
"notifier",
|
|
5518
6533
|
"oauth-integration",
|
|
5519
6534
|
"osd",
|
|
5520
6535
|
"pipeline-analytics",
|
|
@@ -5522,28 +6537,35 @@ const KNOWN_CAP_NAMES = [
|
|
|
5522
6537
|
"pipeline-orchestrator",
|
|
5523
6538
|
"pipeline-runner",
|
|
5524
6539
|
"platform-probe",
|
|
6540
|
+
"privacy-mask",
|
|
5525
6541
|
"ptz",
|
|
5526
6542
|
"ptz-autotrack",
|
|
5527
6543
|
"reboot",
|
|
5528
6544
|
"recording",
|
|
5529
|
-
"recording-engine",
|
|
5530
6545
|
"restreamer",
|
|
6546
|
+
"script-runner",
|
|
5531
6547
|
"settings-store",
|
|
5532
6548
|
"smtp-provider",
|
|
5533
6549
|
"snapshot",
|
|
5534
6550
|
"snapshot-provider",
|
|
5535
6551
|
"sso-bridge",
|
|
5536
6552
|
"storage",
|
|
6553
|
+
"storage-evictable",
|
|
5537
6554
|
"storage-provider",
|
|
5538
6555
|
"stream-broker",
|
|
6556
|
+
"stream-catalog",
|
|
5539
6557
|
"stream-params",
|
|
5540
6558
|
"streaming-engine",
|
|
5541
6559
|
"switch",
|
|
5542
6560
|
"system",
|
|
5543
6561
|
"toast",
|
|
5544
6562
|
"turn-provider",
|
|
6563
|
+
"update",
|
|
5545
6564
|
"user-management",
|
|
5546
6565
|
"user-passkeys",
|
|
6566
|
+
"vacuum-control",
|
|
6567
|
+
"valve",
|
|
6568
|
+
"water-heater",
|
|
5547
6569
|
"webrtc",
|
|
5548
6570
|
"webrtc-session",
|
|
5549
6571
|
"zone-analytics",
|
|
@@ -5551,28 +6573,51 @@ const KNOWN_CAP_NAMES = [
|
|
|
5551
6573
|
"zones"
|
|
5552
6574
|
];
|
|
5553
6575
|
const DEVICE_CAP_NAMES = [
|
|
6576
|
+
"accessories",
|
|
6577
|
+
"alarm-panel",
|
|
5554
6578
|
"audio-analysis",
|
|
5555
6579
|
"audio-metrics",
|
|
6580
|
+
"automation-control",
|
|
6581
|
+
"battery",
|
|
5556
6582
|
"brightness",
|
|
6583
|
+
"button",
|
|
5557
6584
|
"camera-credentials",
|
|
5558
6585
|
"camera-streams",
|
|
6586
|
+
"climate-control",
|
|
6587
|
+
"color",
|
|
6588
|
+
"consumables",
|
|
6589
|
+
"control",
|
|
6590
|
+
"cover",
|
|
5559
6591
|
"device-discovery",
|
|
5560
6592
|
"device-ops",
|
|
5561
6593
|
"events",
|
|
6594
|
+
"fan-control",
|
|
6595
|
+
"humidifier",
|
|
5562
6596
|
"intercom",
|
|
6597
|
+
"lawn-mower-control",
|
|
6598
|
+
"lock-control",
|
|
6599
|
+
"media-player",
|
|
5563
6600
|
"motion",
|
|
5564
6601
|
"motion-detection",
|
|
5565
6602
|
"motion-trigger",
|
|
5566
6603
|
"motion-zones",
|
|
6604
|
+
"native-object-detection",
|
|
6605
|
+
"notifier",
|
|
5567
6606
|
"osd",
|
|
5568
6607
|
"pipeline-analytics",
|
|
6608
|
+
"privacy-mask",
|
|
5569
6609
|
"ptz",
|
|
5570
6610
|
"ptz-autotrack",
|
|
5571
6611
|
"reboot",
|
|
5572
|
-
"
|
|
6612
|
+
"script-runner",
|
|
5573
6613
|
"snapshot",
|
|
6614
|
+
"stream-catalog",
|
|
5574
6615
|
"stream-params",
|
|
5575
6616
|
"switch",
|
|
6617
|
+
"update",
|
|
6618
|
+
"vacuum-control",
|
|
6619
|
+
"valve",
|
|
6620
|
+
"water-heater",
|
|
5576
6621
|
"webrtc-session",
|
|
5577
6622
|
"zone-analytics",
|
|
5578
6623
|
"zone-rules",
|
|
@@ -5593,7 +6638,9 @@ const SYSTEM_CAP_NAMES = [
|
|
|
5593
6638
|
"audio-codec",
|
|
5594
6639
|
"auth-provider",
|
|
5595
6640
|
"backup",
|
|
6641
|
+
"broker",
|
|
5596
6642
|
"decoder",
|
|
6643
|
+
"device-adoption",
|
|
5597
6644
|
"device-export",
|
|
5598
6645
|
"device-manager",
|
|
5599
6646
|
"device-provider",
|
|
@@ -5614,13 +6661,14 @@ const SYSTEM_CAP_NAMES = [
|
|
|
5614
6661
|
"pipeline-orchestrator",
|
|
5615
6662
|
"pipeline-runner",
|
|
5616
6663
|
"platform-probe",
|
|
5617
|
-
"recording
|
|
6664
|
+
"recording",
|
|
5618
6665
|
"restreamer",
|
|
5619
6666
|
"settings-store",
|
|
5620
6667
|
"smtp-provider",
|
|
5621
6668
|
"snapshot-provider",
|
|
5622
6669
|
"sso-bridge",
|
|
5623
6670
|
"storage",
|
|
6671
|
+
"storage-evictable",
|
|
5624
6672
|
"storage-provider",
|
|
5625
6673
|
"stream-broker",
|
|
5626
6674
|
"streaming-engine",
|
|
@@ -5668,6 +6716,7 @@ const SCOPE_PRESETS = [
|
|
|
5668
6716
|
}
|
|
5669
6717
|
];
|
|
5670
6718
|
const CAP_PROVIDER_KIND_MAP = Object.freeze({
|
|
6719
|
+
"broker": "broker",
|
|
5671
6720
|
"device-export": "device-export",
|
|
5672
6721
|
"mesh-network": "mesh",
|
|
5673
6722
|
"mqtt-broker": "broker",
|
|
@@ -5675,6 +6724,7 @@ const CAP_PROVIDER_KIND_MAP = Object.freeze({
|
|
|
5675
6724
|
"smtp-provider": "email"
|
|
5676
6725
|
});
|
|
5677
6726
|
const PROVIDER_KIND_CAP_NAMES = [
|
|
6727
|
+
"broker",
|
|
5678
6728
|
"device-export",
|
|
5679
6729
|
"mesh-network",
|
|
5680
6730
|
"mqtt-broker",
|
|
@@ -5688,6 +6738,46 @@ function getCapsByProviderKind(kind) {
|
|
|
5688
6738
|
}
|
|
5689
6739
|
return out;
|
|
5690
6740
|
}
|
|
6741
|
+
function levenshtein(a, b) {
|
|
6742
|
+
const m = a.length;
|
|
6743
|
+
const n = b.length;
|
|
6744
|
+
if (m === 0) return n;
|
|
6745
|
+
if (n === 0) return m;
|
|
6746
|
+
const prevRow = Array.from({ length: n + 1 }, (_, k) => k);
|
|
6747
|
+
const currRow = Array.from({ length: n + 1 }, () => 0);
|
|
6748
|
+
for (let i = 1; i <= m; i++) {
|
|
6749
|
+
currRow[0] = i;
|
|
6750
|
+
let diagVal = prevRow[0] ?? 0;
|
|
6751
|
+
for (let j = 1; j <= n; j++) {
|
|
6752
|
+
const above = prevRow[j] ?? 0;
|
|
6753
|
+
const left = currRow[j - 1] ?? 0;
|
|
6754
|
+
const cost = a.charCodeAt(i - 1) === b.charCodeAt(j - 1) ? 0 : 1;
|
|
6755
|
+
currRow[j] = Math.min(above + 1, left + 1, diagVal + cost);
|
|
6756
|
+
diagVal = above;
|
|
6757
|
+
}
|
|
6758
|
+
for (let j = 0; j <= n; j++) prevRow[j] = currRow[j] ?? 0;
|
|
6759
|
+
}
|
|
6760
|
+
return prevRow[n] ?? 0;
|
|
6761
|
+
}
|
|
6762
|
+
function locationSimilarity(a, b) {
|
|
6763
|
+
const x = a.trim().toLowerCase();
|
|
6764
|
+
const y = b.trim().toLowerCase();
|
|
6765
|
+
if (x === y) return 1;
|
|
6766
|
+
if (x.length === 0 || y.length === 0) return 0;
|
|
6767
|
+
return 1 - levenshtein(x, y) / Math.max(x.length, y.length);
|
|
6768
|
+
}
|
|
6769
|
+
function bestLocationMatch(externalName, existing, threshold = 0.8) {
|
|
6770
|
+
let best = null;
|
|
6771
|
+
let bestScore = 0;
|
|
6772
|
+
for (const name of existing) {
|
|
6773
|
+
const score = locationSimilarity(externalName, name);
|
|
6774
|
+
if (score >= threshold && score > bestScore) {
|
|
6775
|
+
best = name;
|
|
6776
|
+
bestScore = score;
|
|
6777
|
+
}
|
|
6778
|
+
}
|
|
6779
|
+
return best;
|
|
6780
|
+
}
|
|
5691
6781
|
const CREDENTIAL_PARAM_PATTERNS = [
|
|
5692
6782
|
/^user$/i,
|
|
5693
6783
|
/^usr$/i,
|
|
@@ -5761,6 +6851,104 @@ class RingBuffer {
|
|
|
5761
6851
|
return result;
|
|
5762
6852
|
}
|
|
5763
6853
|
}
|
|
6854
|
+
function rectsToCells(rects, gridWidth, gridHeight) {
|
|
6855
|
+
const total = gridWidth * gridHeight;
|
|
6856
|
+
if (total <= 0 || rects.length === 0) {
|
|
6857
|
+
return new Array(Math.max(0, total)).fill(false);
|
|
6858
|
+
}
|
|
6859
|
+
const cells = new Array(total).fill(false);
|
|
6860
|
+
for (let row = 0; row < gridHeight; row++) {
|
|
6861
|
+
for (let col = 0; col < gridWidth; col++) {
|
|
6862
|
+
const cx2 = (col + 0.5) / gridWidth;
|
|
6863
|
+
const cy2 = (row + 0.5) / gridHeight;
|
|
6864
|
+
for (const rect of rects) {
|
|
6865
|
+
if (cx2 >= rect.x && cx2 <= rect.x + rect.w && cy2 >= rect.y && cy2 <= rect.y + rect.h) {
|
|
6866
|
+
cells[row * gridWidth + col] = true;
|
|
6867
|
+
break;
|
|
6868
|
+
}
|
|
6869
|
+
}
|
|
6870
|
+
}
|
|
6871
|
+
}
|
|
6872
|
+
return cells;
|
|
6873
|
+
}
|
|
6874
|
+
function cellsToRects(cells, gridWidth, gridHeight, maxRegions) {
|
|
6875
|
+
if (gridWidth <= 0 || gridHeight <= 0 || maxRegions <= 0) return [];
|
|
6876
|
+
const expected = gridWidth * gridHeight;
|
|
6877
|
+
const grid = new Array(expected).fill(false);
|
|
6878
|
+
const copyLen = Math.min(cells.length, expected);
|
|
6879
|
+
for (let i = 0; i < copyLen; i++) {
|
|
6880
|
+
grid[i] = cells[i] === true;
|
|
6881
|
+
}
|
|
6882
|
+
const blocks = [];
|
|
6883
|
+
const pending = [];
|
|
6884
|
+
for (let row = 0; row <= gridHeight; row++) {
|
|
6885
|
+
const rowRuns = [];
|
|
6886
|
+
if (row < gridHeight) {
|
|
6887
|
+
let runStart = -1;
|
|
6888
|
+
for (let col = 0; col <= gridWidth; col++) {
|
|
6889
|
+
const active = col < gridWidth && grid[row * gridWidth + col] === true;
|
|
6890
|
+
if (active && runStart === -1) {
|
|
6891
|
+
runStart = col;
|
|
6892
|
+
} else if (!active && runStart !== -1) {
|
|
6893
|
+
rowRuns.push({ colStart: runStart, colEnd: col - 1 });
|
|
6894
|
+
runStart = -1;
|
|
6895
|
+
}
|
|
6896
|
+
}
|
|
6897
|
+
}
|
|
6898
|
+
const matched = /* @__PURE__ */ new Set();
|
|
6899
|
+
const nextPending = [];
|
|
6900
|
+
for (const pb of pending) {
|
|
6901
|
+
const idx = rowRuns.findIndex(
|
|
6902
|
+
(r) => r.colStart === pb.colStart && r.colEnd === pb.colEnd
|
|
6903
|
+
);
|
|
6904
|
+
if (idx >= 0) {
|
|
6905
|
+
nextPending.push(pb);
|
|
6906
|
+
matched.add(idx);
|
|
6907
|
+
} else {
|
|
6908
|
+
blocks.push({ ...pb, rowEnd: row - 1 });
|
|
6909
|
+
}
|
|
6910
|
+
}
|
|
6911
|
+
for (let i = 0; i < rowRuns.length; i++) {
|
|
6912
|
+
if (!matched.has(i)) {
|
|
6913
|
+
const rr = rowRuns[i];
|
|
6914
|
+
nextPending.push({ colStart: rr.colStart, colEnd: rr.colEnd, rowStart: row });
|
|
6915
|
+
}
|
|
6916
|
+
}
|
|
6917
|
+
pending.length = 0;
|
|
6918
|
+
for (const p of nextPending) pending.push(p);
|
|
6919
|
+
}
|
|
6920
|
+
if (blocks.length === 0) return [];
|
|
6921
|
+
const sorted = blocks.slice().sort((a, b) => {
|
|
6922
|
+
const aArea = (a.colEnd - a.colStart + 1) * (a.rowEnd - a.rowStart + 1);
|
|
6923
|
+
const bArea = (b.colEnd - b.colStart + 1) * (b.rowEnd - b.rowStart + 1);
|
|
6924
|
+
return bArea - aArea;
|
|
6925
|
+
});
|
|
6926
|
+
const kept = maxRegions > 0 ? sorted.slice(0, maxRegions) : sorted;
|
|
6927
|
+
return kept.map((block) => ({
|
|
6928
|
+
x: block.colStart / gridWidth,
|
|
6929
|
+
y: block.rowStart / gridHeight,
|
|
6930
|
+
w: (block.colEnd - block.colStart + 1) / gridWidth,
|
|
6931
|
+
h: (block.rowEnd - block.rowStart + 1) / gridHeight
|
|
6932
|
+
}));
|
|
6933
|
+
}
|
|
6934
|
+
function sleep(ms) {
|
|
6935
|
+
return new Promise((resolve) => setTimeout(resolve, Math.max(0, ms)));
|
|
6936
|
+
}
|
|
6937
|
+
function sleepCancellable(ms, signal) {
|
|
6938
|
+
if (signal.aborted) return Promise.resolve();
|
|
6939
|
+
return new Promise((resolve) => {
|
|
6940
|
+
const timer = setTimeout(() => {
|
|
6941
|
+
signal.removeEventListener("abort", onAbort);
|
|
6942
|
+
resolve();
|
|
6943
|
+
}, Math.max(0, ms));
|
|
6944
|
+
const onAbort = () => {
|
|
6945
|
+
clearTimeout(timer);
|
|
6946
|
+
signal.removeEventListener("abort", onAbort);
|
|
6947
|
+
resolve();
|
|
6948
|
+
};
|
|
6949
|
+
signal.addEventListener("abort", onAbort, { once: true });
|
|
6950
|
+
});
|
|
6951
|
+
}
|
|
5764
6952
|
function bindAddonActions(api, addonId, catalog) {
|
|
5765
6953
|
const out = {};
|
|
5766
6954
|
for (const action of Object.keys(catalog)) {
|
|
@@ -5772,335 +6960,453 @@ function bindAddonActions(api, addonId, catalog) {
|
|
|
5772
6960
|
return out;
|
|
5773
6961
|
}
|
|
5774
6962
|
export {
|
|
5775
|
-
|
|
6963
|
+
bh as ACCESSORY_LABEL,
|
|
5776
6964
|
ALL_CAPABILITY_DEFINITIONS,
|
|
5777
|
-
|
|
5778
|
-
|
|
5779
|
-
|
|
5780
|
-
|
|
5781
|
-
|
|
5782
|
-
|
|
5783
|
-
|
|
5784
|
-
|
|
5785
|
-
|
|
5786
|
-
|
|
5787
|
-
|
|
5788
|
-
|
|
5789
|
-
|
|
5790
|
-
|
|
5791
|
-
|
|
5792
|
-
|
|
5793
|
-
|
|
5794
|
-
|
|
5795
|
-
|
|
5796
|
-
|
|
5797
|
-
|
|
5798
|
-
|
|
5799
|
-
|
|
5800
|
-
|
|
5801
|
-
|
|
5802
|
-
|
|
5803
|
-
|
|
5804
|
-
|
|
5805
|
-
|
|
5806
|
-
|
|
5807
|
-
|
|
5808
|
-
|
|
5809
|
-
|
|
5810
|
-
|
|
5811
|
-
|
|
5812
|
-
|
|
5813
|
-
|
|
5814
|
-
|
|
6965
|
+
bi as APPLE_SA_TO_MACRO,
|
|
6966
|
+
bj as AUDIO_BACKEND_CHOICES,
|
|
6967
|
+
bk as AUDIO_MACRO_LABELS,
|
|
6968
|
+
bl as AccessoriesStatusSchema,
|
|
6969
|
+
bm as AccessoryKind,
|
|
6970
|
+
bn as AddBrokerInputSchema,
|
|
6971
|
+
bo as AddonAutoUpdateSchema,
|
|
6972
|
+
bp as AddonListItemSchema,
|
|
6973
|
+
bq as AddonPageDeclarationSchema,
|
|
6974
|
+
br as AddonPageInfoSchema,
|
|
6975
|
+
bs as AdoptionAdoptInputSchema,
|
|
6976
|
+
bt as AdoptionAdoptResultSchema,
|
|
6977
|
+
bu as AdoptionFilterSchema,
|
|
6978
|
+
bv as AdoptionGetCandidateInputSchema,
|
|
6979
|
+
bw as AdoptionListCandidatesInputSchema,
|
|
6980
|
+
bx as AdoptionListCandidatesOutputSchema,
|
|
6981
|
+
by as AdoptionReleaseInputSchema,
|
|
6982
|
+
bz as AdoptionStatusSchema,
|
|
6983
|
+
bA as AgentLoadSummarySchema,
|
|
6984
|
+
bB as AirQualitySensorStatusSchema,
|
|
6985
|
+
bC as AlarmArmModeSchema,
|
|
6986
|
+
bD as AlarmPanelStatusSchema,
|
|
6987
|
+
bE as AlarmStateSchema,
|
|
6988
|
+
bF as AlertSchema,
|
|
6989
|
+
bG as AlertSeveritySchema,
|
|
6990
|
+
bH as AlertSourceSchema,
|
|
6991
|
+
bI as AlertStatusSchema,
|
|
6992
|
+
bJ as AmbientLightSensorStatusSchema,
|
|
6993
|
+
bK as ApiKeyRecordSchema,
|
|
6994
|
+
bL as ApiKeySummarySchema,
|
|
6995
|
+
bM as ArchiveEntrySchema,
|
|
6996
|
+
bN as ArchiveManifestSchema,
|
|
6997
|
+
bO as AudioAnalysisResultSchema,
|
|
6998
|
+
bP as AudioAnalysisSettingsSchema,
|
|
6999
|
+
bQ as AudioChunkInputSchema,
|
|
7000
|
+
bR as AudioClassSummarySchema,
|
|
7001
|
+
bS as AudioClassificationLabelSchema,
|
|
7002
|
+
bT as AudioClassificationResultSchema,
|
|
7003
|
+
bU as AudioCodecInfoSchema,
|
|
7004
|
+
bV as AudioDecodeSessionConfigSchema,
|
|
7005
|
+
bW as AudioEncodeSchema,
|
|
7006
|
+
bX as AudioEncodeSessionConfigSchema,
|
|
7007
|
+
bY as AudioEncodedChunkSchema,
|
|
7008
|
+
bZ as AudioEventSchema,
|
|
7009
|
+
b_ as AudioLevelSchema,
|
|
7010
|
+
b$ as AudioMetricsHistoryPointSchema,
|
|
7011
|
+
c0 as AudioMetricsHistorySchema,
|
|
7012
|
+
c1 as AudioMetricsSnapshotSchema,
|
|
7013
|
+
c2 as AudioPcmChunkSchema,
|
|
7014
|
+
c3 as AuthResultSchema,
|
|
7015
|
+
c4 as AutoUpdateSettingsSchema,
|
|
7016
|
+
c5 as AutomationControlStatusSchema,
|
|
7017
|
+
c6 as AvailableIntegrationTypeSchema,
|
|
5815
7018
|
BACKEND_TO_FORMAT,
|
|
5816
|
-
|
|
5817
|
-
|
|
5818
|
-
|
|
7019
|
+
c7 as BATTERY_DEVICE_PROFILE,
|
|
7020
|
+
c8 as BackupDestinationInfoSchema,
|
|
7021
|
+
c9 as BackupEntrySchema,
|
|
5819
7022
|
BaseAddon,
|
|
5820
7023
|
BaseDevice,
|
|
5821
7024
|
BaseDeviceProvider,
|
|
5822
|
-
|
|
5823
|
-
|
|
5824
|
-
|
|
5825
|
-
|
|
5826
|
-
|
|
5827
|
-
|
|
5828
|
-
|
|
5829
|
-
|
|
5830
|
-
|
|
5831
|
-
|
|
5832
|
-
|
|
5833
|
-
|
|
7025
|
+
ca as BatteryStatusSchema,
|
|
7026
|
+
cb as BinaryStatusSchema,
|
|
7027
|
+
cc as BoundingBoxSchema,
|
|
7028
|
+
cd as BrightnessStatusSchema,
|
|
7029
|
+
ce as BrokerAddInputSchema,
|
|
7030
|
+
cf as BrokerAudioClientSchema,
|
|
7031
|
+
cg as BrokerClientsSchema,
|
|
7032
|
+
ch as BrokerConnectionDetailsSchema,
|
|
7033
|
+
ci as BrokerConsumerAttributionSchema,
|
|
7034
|
+
cj as BrokerConsumerKindSchema,
|
|
7035
|
+
ck as BrokerDecodedClientSchema,
|
|
7036
|
+
cl as BrokerEncodedClientSchema,
|
|
7037
|
+
cm as BrokerGetStateInputSchema,
|
|
7038
|
+
cn as BrokerInfoSchema,
|
|
7039
|
+
co as BrokerProviderInfoSchema,
|
|
7040
|
+
cp as BrokerPublishInputSchema,
|
|
7041
|
+
cq as BrokerRegistryStatusSchema,
|
|
7042
|
+
cr as BrokerRtspClientSchema,
|
|
7043
|
+
cs as BrokerStatsSchema,
|
|
7044
|
+
ct as BrokerStatusEnum,
|
|
7045
|
+
cu as BrokerStatusSchema,
|
|
7046
|
+
cv as BrokerSubscribeInputSchema,
|
|
7047
|
+
cw as BrokerSubscribeResultSchema,
|
|
7048
|
+
cx as BrokerTestConnectionResultSchema,
|
|
7049
|
+
cy as BrokerUnsubscribeInputSchema,
|
|
7050
|
+
cz as CAM_PROFILE_ORDER,
|
|
5834
7051
|
CAPABILITY_NAMES,
|
|
5835
7052
|
CAPABILITY_ROUTER_KEYS,
|
|
5836
7053
|
CAP_NAMES_WITH_STATUS,
|
|
5837
7054
|
CAP_PROVIDER_KIND_MAP,
|
|
5838
7055
|
COCO_80_LABELS,
|
|
5839
7056
|
COCO_TO_MACRO,
|
|
5840
|
-
|
|
5841
|
-
|
|
5842
|
-
|
|
5843
|
-
|
|
5844
|
-
|
|
5845
|
-
|
|
5846
|
-
|
|
5847
|
-
|
|
5848
|
-
|
|
5849
|
-
|
|
5850
|
-
|
|
5851
|
-
|
|
5852
|
-
|
|
5853
|
-
|
|
5854
|
-
|
|
5855
|
-
|
|
5856
|
-
|
|
5857
|
-
|
|
5858
|
-
|
|
5859
|
-
|
|
5860
|
-
|
|
5861
|
-
|
|
5862
|
-
|
|
5863
|
-
|
|
5864
|
-
|
|
5865
|
-
|
|
7057
|
+
cA as CamProfileSchema,
|
|
7058
|
+
cB as CamStreamDescriptorSchema,
|
|
7059
|
+
cC as CamStreamKindSchema,
|
|
7060
|
+
cD as CamStreamResolutionSchema,
|
|
7061
|
+
cE as CameraCredentialsSchema,
|
|
7062
|
+
cF as CameraCredentialsStatusSchema,
|
|
7063
|
+
cG as CameraMetricsSchema,
|
|
7064
|
+
cH as CameraMetricsWithDeviceIdSchema,
|
|
7065
|
+
cI as CameraStreamSchema,
|
|
7066
|
+
cJ as CandidateQueryFilterSchema,
|
|
7067
|
+
cK as CapScopeSchema,
|
|
7068
|
+
cL as CapabilityBindingsSchema,
|
|
7069
|
+
cM as CarbonMonoxideStatusSchema,
|
|
7070
|
+
cN as ChargingStatus,
|
|
7071
|
+
cO as ClientNetworkStatsSchema,
|
|
7072
|
+
cP as ClimateControlStatusSchema,
|
|
7073
|
+
cQ as ClusterAddonNodeDeploymentSchema,
|
|
7074
|
+
cR as ClusterAddonStatusEntrySchema,
|
|
7075
|
+
cS as CollectionColumnSchema,
|
|
7076
|
+
cT as CollectionIndexSchema,
|
|
7077
|
+
cU as ColorStatusSchema,
|
|
7078
|
+
cV as ConfigEntrySchema,
|
|
7079
|
+
cW as ConfigSectionWithValuesSchema,
|
|
7080
|
+
cX as ConfigTabDeclarationSchema,
|
|
7081
|
+
cY as ConnectivityStatusSchema,
|
|
7082
|
+
cZ as ConsumableItemSchema,
|
|
7083
|
+
c_ as ConsumablesStatusSchema,
|
|
7084
|
+
c$ as ContactStatusSchema,
|
|
7085
|
+
d0 as ControlKindSchema,
|
|
7086
|
+
d1 as ControlStatusSchema,
|
|
7087
|
+
d2 as CoverStateSchema,
|
|
7088
|
+
d3 as CoverStatusSchema,
|
|
7089
|
+
d4 as CreateApiKeyInputSchema,
|
|
7090
|
+
d5 as CreateApiKeyResultSchema,
|
|
7091
|
+
d6 as CreateIntegrationInputSchema,
|
|
7092
|
+
d7 as CreateScopedTokenInputSchema,
|
|
7093
|
+
d8 as CreateScopedTokenResultSchema,
|
|
7094
|
+
d9 as CreateUserInputSchema,
|
|
7095
|
+
da as CustomActionInputSchema,
|
|
7096
|
+
DATAPLANE_SECRET_HEADER,
|
|
5866
7097
|
DEFAULT_ADDON_PLACEMENT,
|
|
5867
|
-
|
|
5868
|
-
|
|
7098
|
+
db as DEFAULT_AUDIO_ANALYZER_CONFIG,
|
|
7099
|
+
dc as DEFAULT_DECODER_HWACCEL_CONFIG,
|
|
5869
7100
|
DEFAULT_FEATURES,
|
|
5870
|
-
DEFAULT_LOCATION_SUBDIRS,
|
|
5871
7101
|
DEFAULT_RETENTION,
|
|
5872
7102
|
DEVICE_CAP_NAMES,
|
|
5873
|
-
|
|
5874
|
-
|
|
5875
|
-
|
|
7103
|
+
dd as DEVICE_PROFILES,
|
|
7104
|
+
de as DEVICE_SETTINGS_CONTRIBUTION_METHODS,
|
|
7105
|
+
df as DEVICE_STATUS_METHOD,
|
|
5876
7106
|
DEVICE_TYPE_INFO,
|
|
5877
|
-
|
|
5878
|
-
|
|
5879
|
-
|
|
5880
|
-
|
|
5881
|
-
|
|
5882
|
-
|
|
5883
|
-
|
|
7107
|
+
dg as DecodedAudioChunkSchema,
|
|
7108
|
+
dh as DecodedFrameSchema,
|
|
7109
|
+
di as DecoderAssignmentSchema,
|
|
7110
|
+
dj as DecoderSessionConfigSchema,
|
|
7111
|
+
dk as DecoderStatsSchema,
|
|
7112
|
+
dl as DeleteIntegrationResultSchema,
|
|
7113
|
+
dm as DetectorOutputSchema,
|
|
5884
7114
|
DeviceConfig,
|
|
5885
|
-
|
|
5886
|
-
|
|
5887
|
-
|
|
5888
|
-
|
|
5889
|
-
|
|
5890
|
-
|
|
5891
|
-
|
|
5892
|
-
|
|
7115
|
+
dn as DeviceDiscoveryStatusSchema,
|
|
7116
|
+
dp as DeviceExportExposeInputSchema,
|
|
7117
|
+
dq as DeviceExportStatusSchema,
|
|
7118
|
+
dr as DeviceExportUnexposeInputSchema,
|
|
7119
|
+
ds as DeviceFeature,
|
|
7120
|
+
dt as DeviceInfoSchema,
|
|
7121
|
+
du as DeviceNetworkStatsSchema,
|
|
7122
|
+
dv as DeviceRole,
|
|
5893
7123
|
DeviceRuntimeState,
|
|
5894
|
-
|
|
5895
|
-
|
|
5896
|
-
|
|
5897
|
-
|
|
5898
|
-
|
|
7124
|
+
dw as DeviceStatusSchema,
|
|
7125
|
+
dx as DeviceType,
|
|
7126
|
+
dy as DiscoveredChildDeviceSchema,
|
|
7127
|
+
dz as DiscoveredChildStatusSchema,
|
|
7128
|
+
dA as DiscoveredDeviceSchema,
|
|
5899
7129
|
DisposerChain,
|
|
5900
|
-
|
|
5901
|
-
|
|
7130
|
+
dB as DoorbellPressEventSchema,
|
|
7131
|
+
dC as DoorbellStatusSchema,
|
|
5902
7132
|
ElementConfigStore,
|
|
5903
|
-
|
|
5904
|
-
|
|
5905
|
-
|
|
5906
|
-
|
|
7133
|
+
dD as EmbeddingInfoSchema,
|
|
7134
|
+
dE as EmbeddingResultSchema,
|
|
7135
|
+
dF as EncodeProfileSchema,
|
|
7136
|
+
dG as EncodedPacketSchema,
|
|
7137
|
+
dH as EnrichedWidgetMetadataSchema,
|
|
7138
|
+
dI as EnumSensorDateTimeFormatSchema,
|
|
7139
|
+
dJ as EnumSensorStatusSchema,
|
|
5907
7140
|
EventCategory,
|
|
5908
|
-
|
|
5909
|
-
|
|
7141
|
+
dK as EventEmitterStatusSchema,
|
|
7142
|
+
dL as EventFireSchema,
|
|
7143
|
+
dM as EventItemSchema,
|
|
7144
|
+
dN as EventKindSchema,
|
|
5910
7145
|
EventSourceType,
|
|
5911
|
-
|
|
5912
|
-
|
|
5913
|
-
|
|
5914
|
-
|
|
5915
|
-
|
|
5916
|
-
|
|
5917
|
-
|
|
5918
|
-
|
|
5919
|
-
|
|
5920
|
-
|
|
5921
|
-
|
|
7146
|
+
dO as ExportSetupFieldSchema,
|
|
7147
|
+
dP as ExportSetupSchema,
|
|
7148
|
+
dQ as ExposedDeviceSchema,
|
|
7149
|
+
dR as ExposedResourceSchema,
|
|
7150
|
+
dS as FanControlStatusSchema,
|
|
7151
|
+
dT as FanDirectionSchema,
|
|
7152
|
+
dU as FeatureManifestSchema,
|
|
7153
|
+
dV as FeatureProbeStatusSchema,
|
|
7154
|
+
dW as FloodStatusSchema,
|
|
7155
|
+
dX as FrameHandleFormatSchema,
|
|
7156
|
+
dY as FrameHandleSchema,
|
|
7157
|
+
dZ as FrameInputSchema,
|
|
7158
|
+
d_ as GasStatusSchema,
|
|
7159
|
+
d$ as GetStreamWithCodecInputSchema,
|
|
7160
|
+
e0 as GlobalMetricsSchema,
|
|
5922
7161
|
HF_BASE_URL,
|
|
5923
7162
|
HF_REPO,
|
|
5924
|
-
|
|
5925
|
-
|
|
5926
|
-
|
|
5927
|
-
|
|
5928
|
-
|
|
5929
|
-
|
|
5930
|
-
|
|
5931
|
-
|
|
5932
|
-
|
|
7163
|
+
e1 as HWACCEL_OPTIONS,
|
|
7164
|
+
e2 as HealthStatusSchema,
|
|
7165
|
+
e3 as HistoryPointSchema,
|
|
7166
|
+
e4 as HistoryResolutionEnum,
|
|
7167
|
+
e5 as HumidifierStatusSchema,
|
|
7168
|
+
e6 as HumiditySensorStatusSchema,
|
|
7169
|
+
e7 as HvacModeSchema,
|
|
7170
|
+
e8 as ImageStatusSchema,
|
|
7171
|
+
e9 as InstalledPackageSchema,
|
|
7172
|
+
ea as IntegrationLiteSchema,
|
|
7173
|
+
eb as IntegrationWithStateSchema,
|
|
7174
|
+
ec as IntercomAbilitySchema,
|
|
7175
|
+
ed as IntercomStatusSchema,
|
|
5933
7176
|
KNOWN_CAP_NAMES,
|
|
5934
|
-
|
|
5935
|
-
|
|
5936
|
-
|
|
5937
|
-
|
|
7177
|
+
ee as LawnMowerActivitySchema,
|
|
7178
|
+
ef as LawnMowerControlStatusSchema,
|
|
7179
|
+
eg as LocationStatSchema,
|
|
7180
|
+
eh as LockControlStatusSchema,
|
|
7181
|
+
ei as LockStateSchema,
|
|
7182
|
+
ej as LogEntrySchema,
|
|
7183
|
+
ek as LogLevelSchema,
|
|
7184
|
+
el as LogStreamEntrySchema,
|
|
5938
7185
|
MACRO_LABELS,
|
|
5939
7186
|
METHOD_ACCESS_MAP,
|
|
5940
|
-
|
|
5941
|
-
|
|
5942
|
-
|
|
5943
|
-
|
|
5944
|
-
|
|
5945
|
-
|
|
5946
|
-
|
|
5947
|
-
|
|
5948
|
-
|
|
5949
|
-
|
|
5950
|
-
|
|
5951
|
-
|
|
5952
|
-
|
|
5953
|
-
|
|
5954
|
-
|
|
5955
|
-
|
|
5956
|
-
|
|
5957
|
-
|
|
5958
|
-
|
|
5959
|
-
|
|
5960
|
-
|
|
5961
|
-
|
|
5962
|
-
|
|
5963
|
-
|
|
5964
|
-
|
|
5965
|
-
|
|
5966
|
-
|
|
5967
|
-
|
|
5968
|
-
|
|
5969
|
-
|
|
5970
|
-
|
|
5971
|
-
|
|
5972
|
-
|
|
5973
|
-
|
|
5974
|
-
|
|
5975
|
-
|
|
5976
|
-
|
|
7187
|
+
em as MODEL_FORMATS,
|
|
7188
|
+
en as MaskGridDimsSchema,
|
|
7189
|
+
eo as MaskGridShapeSchema,
|
|
7190
|
+
ep as MaskLineShapeSchema,
|
|
7191
|
+
eq as MaskPointSchema,
|
|
7192
|
+
er as MaskPolygonShapeSchema,
|
|
7193
|
+
es as MaskPolygonVerticesSchema,
|
|
7194
|
+
et as MaskRectShapeSchema,
|
|
7195
|
+
eu as MaskShapeKindSchema,
|
|
7196
|
+
ev as MaskShapeSchema,
|
|
7197
|
+
ew as MediaFileSchema,
|
|
7198
|
+
ex as MediaPlayerRepeatSchema,
|
|
7199
|
+
ey as MediaPlayerStateSchema,
|
|
7200
|
+
ez as MediaPlayerStatusSchema,
|
|
7201
|
+
eA as MeshPeerSchema,
|
|
7202
|
+
eB as MeshStatusSchema,
|
|
7203
|
+
eC as MethodAccessSchema,
|
|
7204
|
+
eD as MotionAnalysisResultSchema,
|
|
7205
|
+
eE as MotionEventSchema,
|
|
7206
|
+
eF as MotionOnMotionChangedDataSchema,
|
|
7207
|
+
eG as MotionRegionSchema,
|
|
7208
|
+
eH as MotionSourceEnum,
|
|
7209
|
+
eI as MotionSourcesSchema,
|
|
7210
|
+
eJ as MotionStatusSchema,
|
|
7211
|
+
eK as MotionTriggerRuntimeStateSchema,
|
|
7212
|
+
eL as MotionTriggerStatusSchema,
|
|
7213
|
+
eM as MotionZoneOptionsSchema,
|
|
7214
|
+
eN as MotionZonePatchSchema,
|
|
7215
|
+
eO as MotionZoneRegionSchema,
|
|
7216
|
+
eP as MotionZoneStatusSchema,
|
|
7217
|
+
eQ as MqttBrokerStatusSchema,
|
|
7218
|
+
eR as NativeDetectionSchema,
|
|
7219
|
+
eS as NativeObjectClassEnum,
|
|
7220
|
+
eT as NativeObjectDetectionRuntimeStateSchema,
|
|
7221
|
+
eU as NativeObjectDetectionStatusSchema,
|
|
7222
|
+
eV as NetworkAccessStatusSchema,
|
|
7223
|
+
eW as NetworkAddressSchema,
|
|
7224
|
+
eX as NetworkEndpointSchema,
|
|
7225
|
+
eY as NotificationHistoryEntrySchema,
|
|
7226
|
+
eZ as NotificationRuleSchema,
|
|
7227
|
+
e_ as NotificationSchema,
|
|
7228
|
+
e$ as NotifierStatusSchema,
|
|
7229
|
+
f0 as NumericSensorStatusSchema,
|
|
7230
|
+
f1 as OauthIntegrationDescriptorSchema,
|
|
7231
|
+
f2 as ObjectEventSchema,
|
|
7232
|
+
f3 as OrchestratorMetricsSchema,
|
|
7233
|
+
f4 as OsdOverlayKindEnum,
|
|
7234
|
+
f5 as OsdOverlayPatchSchema,
|
|
7235
|
+
f6 as OsdOverlaySchema,
|
|
7236
|
+
f7 as OsdPositionEnum,
|
|
7237
|
+
f8 as OsdStatusSchema,
|
|
7238
|
+
f9 as PIPELINE_FLOW_CAPABILITY_NAMES,
|
|
7239
|
+
fa as PIPELINE_OWNER_CAPABILITY_NAMES,
|
|
5977
7240
|
PROVIDER_KIND_CAP_NAMES,
|
|
5978
7241
|
PYTHON_SCRIPT,
|
|
5979
|
-
|
|
5980
|
-
|
|
5981
|
-
|
|
5982
|
-
|
|
5983
|
-
|
|
5984
|
-
|
|
5985
|
-
|
|
5986
|
-
|
|
5987
|
-
|
|
5988
|
-
|
|
5989
|
-
|
|
5990
|
-
|
|
5991
|
-
|
|
5992
|
-
|
|
5993
|
-
|
|
5994
|
-
|
|
5995
|
-
|
|
5996
|
-
|
|
5997
|
-
|
|
5998
|
-
|
|
5999
|
-
|
|
6000
|
-
|
|
6001
|
-
|
|
6002
|
-
|
|
7242
|
+
fb as PackageUpdateSchema,
|
|
7243
|
+
fc as PackageVersionInfoSchema,
|
|
7244
|
+
fd as PasskeySummarySchema,
|
|
7245
|
+
fe as PcmSampleFormatSchema,
|
|
7246
|
+
ff as PerScopeBreakdownSchema,
|
|
7247
|
+
fg as PickStreamPreferencesSchema,
|
|
7248
|
+
fh as PickStreamRequirementsSchema,
|
|
7249
|
+
fi as PickedCamStreamSchema,
|
|
7250
|
+
fj as PipelineAssignmentSchema,
|
|
7251
|
+
fk as PipelineDefaultStepSchema,
|
|
7252
|
+
fl as PipelineEngineChoiceSchema,
|
|
7253
|
+
fm as PipelineRunResultBridge,
|
|
7254
|
+
fn as PipelineStepInputSchema,
|
|
7255
|
+
fo as PlaceholderReasonSchema,
|
|
7256
|
+
fp as PolygonPointSchema,
|
|
7257
|
+
fq as PowerMeterStatusSchema,
|
|
7258
|
+
fr as PresenceStatusSchema,
|
|
7259
|
+
fs as PressureSensorStatusSchema,
|
|
7260
|
+
ft as PrivacyMaskOptionsSchema,
|
|
7261
|
+
fu as PrivacyMaskPatchSchema,
|
|
7262
|
+
fv as PrivacyMaskRegionSchema,
|
|
7263
|
+
fw as PrivacyMaskShapeSchema,
|
|
7264
|
+
fx as PrivacyMaskStatusSchema,
|
|
7265
|
+
fy as ProfileRtspEntrySchema,
|
|
7266
|
+
fz as ProfileSlotSchema,
|
|
7267
|
+
fA as ProfileSlotStatusSchema,
|
|
7268
|
+
fB as ProviderStatusSchema,
|
|
7269
|
+
fC as PtzAutotrackRuntimeStateSchema,
|
|
7270
|
+
fD as PtzAutotrackSettingsSchema,
|
|
7271
|
+
fE as PtzAutotrackStatusSchema,
|
|
7272
|
+
fF as PtzAutotrackTargetOptionSchema,
|
|
7273
|
+
fG as PtzMoveCommandSchema,
|
|
7274
|
+
fH as PtzPositionSchema,
|
|
7275
|
+
fI as PtzPresetSchema,
|
|
7276
|
+
fJ as PtzStatusSchema,
|
|
7277
|
+
fK as QueryFilterSchema,
|
|
6003
7278
|
RECOGNITION_TYPES,
|
|
6004
7279
|
RUNTIME_DEFAULTS,
|
|
6005
7280
|
RUNTIME_TO_FORMAT,
|
|
7281
|
+
fL as RawStateResultSchema,
|
|
6006
7282
|
ReadinessRegistry,
|
|
6007
7283
|
ReadinessTimeoutError,
|
|
6008
|
-
|
|
6009
|
-
|
|
7284
|
+
fM as RecordingAvailabilitySchema,
|
|
7285
|
+
fN as RecordingConfigSchema,
|
|
7286
|
+
fO as RecordingDeviceUsageSchema,
|
|
7287
|
+
fP as RecordingLocationUsageSchema,
|
|
7288
|
+
fQ as RecordingManifestSchema,
|
|
7289
|
+
fR as RecordingModeSchema,
|
|
7290
|
+
fS as RecordingRangeSchema,
|
|
7291
|
+
fT as RecordingRetentionSchema,
|
|
7292
|
+
fU as RecordingRuleSchema,
|
|
7293
|
+
fV as RecordingScheduleSchema,
|
|
7294
|
+
fW as RecordingStatusSchema,
|
|
7295
|
+
fX as RecordingStorageUsageSchema,
|
|
7296
|
+
fY as RecordingWeekdaySchema,
|
|
7297
|
+
fZ as RegisteredStreamSchema,
|
|
7298
|
+
f_ as ReportMotionInputSchema,
|
|
6010
7299
|
RingBuffer,
|
|
6011
|
-
|
|
6012
|
-
|
|
6013
|
-
|
|
6014
|
-
|
|
6015
|
-
|
|
6016
|
-
|
|
7300
|
+
f$ as RtpSourceSchema,
|
|
7301
|
+
g0 as RtspRestreamEntrySchema,
|
|
7302
|
+
g1 as RunnerCameraConfigSchema,
|
|
7303
|
+
g2 as RunnerCameraDeviceUIFields,
|
|
7304
|
+
g3 as RunnerLocalLoadSchema,
|
|
7305
|
+
g4 as RunnerLocalMetricsSchema,
|
|
6017
7306
|
SCOPE_PRESETS,
|
|
6018
|
-
|
|
6019
|
-
STORAGE_LOCATION_TYPES,
|
|
7307
|
+
SOURCE_INFO_METADATA_KEY,
|
|
6020
7308
|
STREAM_PROFILE_META,
|
|
6021
7309
|
STREAM_QUALITY_LABELS,
|
|
6022
7310
|
SUB_DETECTION_TYPES,
|
|
6023
7311
|
SYSTEM_CAP_NAMES,
|
|
6024
|
-
|
|
6025
|
-
|
|
6026
|
-
|
|
6027
|
-
|
|
6028
|
-
|
|
6029
|
-
|
|
6030
|
-
|
|
6031
|
-
|
|
6032
|
-
|
|
6033
|
-
|
|
6034
|
-
|
|
6035
|
-
|
|
6036
|
-
|
|
6037
|
-
|
|
6038
|
-
|
|
6039
|
-
|
|
6040
|
-
|
|
6041
|
-
|
|
6042
|
-
|
|
6043
|
-
|
|
6044
|
-
|
|
6045
|
-
|
|
6046
|
-
|
|
6047
|
-
|
|
6048
|
-
|
|
6049
|
-
|
|
6050
|
-
|
|
6051
|
-
|
|
6052
|
-
|
|
6053
|
-
|
|
6054
|
-
|
|
6055
|
-
|
|
6056
|
-
|
|
6057
|
-
|
|
6058
|
-
|
|
6059
|
-
|
|
6060
|
-
|
|
6061
|
-
|
|
6062
|
-
|
|
6063
|
-
|
|
6064
|
-
|
|
6065
|
-
|
|
6066
|
-
|
|
6067
|
-
|
|
6068
|
-
|
|
6069
|
-
|
|
6070
|
-
|
|
7312
|
+
g5 as ScopedTokenSchema,
|
|
7313
|
+
g6 as ScopedTokenSummarySchema,
|
|
7314
|
+
g7 as ScriptRunnerStatusSchema,
|
|
7315
|
+
g8 as SearchResultSchema,
|
|
7316
|
+
g9 as SendEmailInputSchema,
|
|
7317
|
+
ga as SendEmailResultSchema,
|
|
7318
|
+
gb as SettingsPatchSchema,
|
|
7319
|
+
gc as SettingsRecordSchema,
|
|
7320
|
+
gd as SettingsSchemaWithValuesSchema,
|
|
7321
|
+
ge as SettingsUpdateResultSchema,
|
|
7322
|
+
gf as ShmRingStatsSchema,
|
|
7323
|
+
gg as SmokeStatusSchema,
|
|
7324
|
+
gh as SmtpStatusSchema,
|
|
7325
|
+
gi as SnapshotImageSchema,
|
|
7326
|
+
gj as SourceInfoSchema,
|
|
7327
|
+
gk as SpatialDetectionSchema,
|
|
7328
|
+
gl as SsoBridgeClaimsSchema,
|
|
7329
|
+
gm as StartEmbeddedInputSchema,
|
|
7330
|
+
gn as StorageAbortUploadInputSchema,
|
|
7331
|
+
go as StorageBeginDownloadInputSchema,
|
|
7332
|
+
gp as StorageBeginDownloadResultSchema,
|
|
7333
|
+
gq as StorageBeginUploadInputSchema,
|
|
7334
|
+
gr as StorageBeginUploadResultSchema,
|
|
7335
|
+
gs as StorageEndDownloadInputSchema,
|
|
7336
|
+
gt as StorageFinalizeUploadInputSchema,
|
|
7337
|
+
gu as StorageLocationDeclarationSchema,
|
|
7338
|
+
gv as StorageLocationRefSchema,
|
|
7339
|
+
gw as StorageLocationSchema,
|
|
7340
|
+
gx as StorageLocationTypeSchema,
|
|
7341
|
+
gy as StorageProviderInfoSchema,
|
|
7342
|
+
gz as StorageReadChunkInputSchema,
|
|
7343
|
+
gA as StorageTestLocationResultSchema,
|
|
7344
|
+
gB as StorageWriteChunkInputSchema,
|
|
7345
|
+
gC as StreamCodecSchema,
|
|
7346
|
+
gD as StreamFormatSchema,
|
|
7347
|
+
gE as StreamInfoSchema,
|
|
7348
|
+
gF as StreamNetworkStatsSchema,
|
|
7349
|
+
gG as StreamParamsOptionsSchema,
|
|
7350
|
+
gH as StreamParamsStatusSchema,
|
|
7351
|
+
gI as StreamProfileConfigSchema,
|
|
7352
|
+
gJ as StreamProfileOptionsSchema,
|
|
7353
|
+
gK as StreamProfilePatchSchema,
|
|
7354
|
+
gL as StreamProfileSchema,
|
|
7355
|
+
gM as StreamSourceEntrySchema,
|
|
7356
|
+
gN as StreamSourceSchema,
|
|
7357
|
+
gO as SubscribeAudioChunksInputSchema,
|
|
7358
|
+
gP as SubscribeAudioChunksResultSchema,
|
|
7359
|
+
gQ as SubscribeFramesInputSchema,
|
|
7360
|
+
gR as SubscribeFramesResultSchema,
|
|
7361
|
+
gS as SwitchStatusSchema,
|
|
7362
|
+
gT as SystemMetricsSchema,
|
|
6071
7363
|
SystemMirror,
|
|
6072
|
-
|
|
6073
|
-
|
|
6074
|
-
|
|
6075
|
-
|
|
6076
|
-
|
|
6077
|
-
|
|
6078
|
-
|
|
6079
|
-
|
|
6080
|
-
|
|
6081
|
-
|
|
6082
|
-
|
|
6083
|
-
|
|
6084
|
-
|
|
6085
|
-
|
|
6086
|
-
|
|
6087
|
-
|
|
6088
|
-
|
|
6089
|
-
|
|
6090
|
-
|
|
6091
|
-
|
|
6092
|
-
|
|
6093
|
-
|
|
6094
|
-
|
|
6095
|
-
|
|
6096
|
-
|
|
6097
|
-
|
|
6098
|
-
|
|
6099
|
-
|
|
6100
|
-
|
|
6101
|
-
|
|
7364
|
+
TIMEZONES,
|
|
7365
|
+
gU as TamperStatusSchema,
|
|
7366
|
+
gV as TankStatusSchema,
|
|
7367
|
+
gW as TemperatureSensorStatusSchema,
|
|
7368
|
+
gX as TestConnectionResultSchema,
|
|
7369
|
+
gY as ToastSchema,
|
|
7370
|
+
gZ as TokenScopeSchema,
|
|
7371
|
+
g_ as TopologyNodeSchema,
|
|
7372
|
+
g$ as TopologyProcessSchema,
|
|
7373
|
+
h0 as TopologyServiceSchema,
|
|
7374
|
+
h1 as TrackSchema,
|
|
7375
|
+
h2 as TrackStateSchema,
|
|
7376
|
+
h3 as TrackedDetectionSchema,
|
|
7377
|
+
h4 as TurnServerSchema,
|
|
7378
|
+
h5 as UnifiedBrokerInfoSchema,
|
|
7379
|
+
h6 as UpdateIntegrationInputSchema,
|
|
7380
|
+
h7 as UpdateStatusSchema,
|
|
7381
|
+
h8 as UpdateUserInputSchema,
|
|
7382
|
+
h9 as UserRecordSchema,
|
|
7383
|
+
ha as UserSummarySchema,
|
|
7384
|
+
hb as VacuumControlStatusSchema,
|
|
7385
|
+
hc as VacuumStateSchema,
|
|
7386
|
+
hd as ValveStateSchema,
|
|
7387
|
+
he as ValveStatusSchema,
|
|
7388
|
+
hf as VibrationStatusSchema,
|
|
7389
|
+
hg as VideoEncodeSchema,
|
|
7390
|
+
hh as WELL_KNOWN_TABS,
|
|
7391
|
+
hi as WELL_KNOWN_TAB_MAP,
|
|
7392
|
+
hj as WaterHeaterStatusSchema,
|
|
7393
|
+
hk as WeatherStatusSchema,
|
|
7394
|
+
hl as WebrtcStreamChoiceSchema,
|
|
7395
|
+
hm as WebrtcStreamTargetSchema,
|
|
7396
|
+
hn as WidgetHostEnum,
|
|
7397
|
+
ho as WidgetMetadataSchema,
|
|
7398
|
+
hp as WidgetRemoteSchema,
|
|
7399
|
+
hq as WidgetSizeEnum,
|
|
7400
|
+
hr as YAMNET_TO_MACRO,
|
|
7401
|
+
hs as ZoneKindEnum,
|
|
7402
|
+
ht as ZoneRuleModeEnum,
|
|
7403
|
+
hu as ZoneRuleSchema,
|
|
7404
|
+
hv as ZoneRuleStageEnum,
|
|
7405
|
+
hw as ZoneRulesArraySchema,
|
|
7406
|
+
hx as ZoneSchema,
|
|
7407
|
+
hy as ZoneScopeBreakdownSchema,
|
|
6102
7408
|
accessoriesCapability,
|
|
6103
|
-
|
|
7409
|
+
hz as accessoryStableId,
|
|
6104
7410
|
addonPagesCapability,
|
|
6105
7411
|
addonPagesSourceCapability,
|
|
6106
7412
|
addonRoutesCapability,
|
|
@@ -6110,7 +7416,11 @@ export {
|
|
|
6110
7416
|
addonsCapability,
|
|
6111
7417
|
adminUiCapability,
|
|
6112
7418
|
advancedNotifierCapability,
|
|
7419
|
+
airQualitySensorCapability,
|
|
7420
|
+
alarmPanelCapability,
|
|
6113
7421
|
alertsCapability,
|
|
7422
|
+
ambientLightSensorCapability,
|
|
7423
|
+
applyTransform,
|
|
6114
7424
|
asBoolean,
|
|
6115
7425
|
asJsonArray,
|
|
6116
7426
|
asJsonObject,
|
|
@@ -6122,18 +7432,34 @@ export {
|
|
|
6122
7432
|
audioMetricsCapability,
|
|
6123
7433
|
authProviderCapability,
|
|
6124
7434
|
autoAssignProfiles,
|
|
7435
|
+
automationControlCapability,
|
|
6125
7436
|
backupCapability,
|
|
6126
7437
|
batteryCapability,
|
|
7438
|
+
bestLocationMatch,
|
|
7439
|
+
binaryCapability,
|
|
6127
7440
|
bindAddonActions,
|
|
6128
7441
|
brightnessCapability,
|
|
7442
|
+
brokerCapability,
|
|
6129
7443
|
buildAddonRouteProvider,
|
|
6130
7444
|
buildStreamParamsConfigSchema,
|
|
7445
|
+
buttonCapability,
|
|
6131
7446
|
cameraCredentialsCapability,
|
|
7447
|
+
cameraPipelineConfigCapability,
|
|
6132
7448
|
cameraStreamsCapability,
|
|
7449
|
+
carbonMonoxideCapability,
|
|
7450
|
+
cellsToRects,
|
|
6133
7451
|
classifyStream,
|
|
6134
7452
|
classifyStreams,
|
|
7453
|
+
climateControlCapability,
|
|
7454
|
+
colorCapability,
|
|
7455
|
+
connectivityCapability,
|
|
7456
|
+
consumablesCapability,
|
|
7457
|
+
contactCapability,
|
|
7458
|
+
controlCapability,
|
|
6135
7459
|
cosineSimilarity,
|
|
7460
|
+
coverCapability,
|
|
6136
7461
|
createDeviceProxy,
|
|
7462
|
+
createDurableState,
|
|
6137
7463
|
createEvent,
|
|
6138
7464
|
createLazyTrpcSource,
|
|
6139
7465
|
createMirrorSource,
|
|
@@ -6144,10 +7470,12 @@ export {
|
|
|
6144
7470
|
decoderCapability,
|
|
6145
7471
|
defineCustomActions,
|
|
6146
7472
|
detectionPipelineCapability,
|
|
7473
|
+
deviceAdoptionCapability,
|
|
7474
|
+
deviceCustomAction,
|
|
6147
7475
|
deviceDiscoveryCapability,
|
|
6148
7476
|
deviceExportCapability,
|
|
6149
7477
|
deviceManagerCapability,
|
|
6150
|
-
|
|
7478
|
+
hA as deviceMatchesProfile,
|
|
6151
7479
|
deviceOpsCapability,
|
|
6152
7480
|
deviceProviderCapability,
|
|
6153
7481
|
deviceStateCapability,
|
|
@@ -6156,30 +7484,50 @@ export {
|
|
|
6156
7484
|
embeddingEncoderCapability,
|
|
6157
7485
|
emitDownForOwnedCaps,
|
|
6158
7486
|
emitReadiness,
|
|
7487
|
+
hB as encodeProfileFromStreamShape,
|
|
7488
|
+
enumSensorCapability,
|
|
7489
|
+
enumerateSchemaFields,
|
|
6159
7490
|
errMsg,
|
|
6160
7491
|
evaluateZoneRules,
|
|
6161
|
-
|
|
7492
|
+
hC as event,
|
|
7493
|
+
eventEmitterCapability,
|
|
6162
7494
|
eventsCapability,
|
|
6163
|
-
|
|
7495
|
+
hD as expandCapMethods,
|
|
7496
|
+
extractSourceInfoFromMetadata,
|
|
7497
|
+
fanControlCapability,
|
|
6164
7498
|
featureProbeCapability,
|
|
7499
|
+
findTimezone,
|
|
7500
|
+
floodCapability,
|
|
6165
7501
|
formatForBackend,
|
|
6166
7502
|
formatForRuntime,
|
|
6167
|
-
|
|
7503
|
+
gasCapability,
|
|
7504
|
+
hE as getAudioMacroClassIds,
|
|
7505
|
+
getByPath,
|
|
6168
7506
|
getCapsByProviderKind,
|
|
6169
7507
|
hfModelUrl,
|
|
7508
|
+
humidifierCapability,
|
|
7509
|
+
humiditySensorCapability,
|
|
6170
7510
|
hydrateSchema,
|
|
7511
|
+
imageCapability,
|
|
6171
7512
|
integrationsCapability,
|
|
6172
7513
|
intercomCapability,
|
|
6173
7514
|
isAgentOnlyPlacement,
|
|
6174
7515
|
isDeployableToAgent,
|
|
6175
|
-
|
|
7516
|
+
hF as isDeviceConfigCap,
|
|
6176
7517
|
isEvent,
|
|
7518
|
+
lawnMowerControlCapability,
|
|
6177
7519
|
localNetworkCapability,
|
|
7520
|
+
locationSimilarity,
|
|
7521
|
+
lockControlCapability,
|
|
6178
7522
|
logDestinationCapability,
|
|
6179
|
-
|
|
7523
|
+
hG as makeProfileBrokerId,
|
|
7524
|
+
hH as makeSourceBrokerId,
|
|
7525
|
+
hI as mapAudioLabelToMacro,
|
|
6180
7526
|
maskUrlCredentials,
|
|
7527
|
+
mediaPlayerCapability,
|
|
7528
|
+
mergeSourceInfo,
|
|
6181
7529
|
meshNetworkCapability,
|
|
6182
|
-
|
|
7530
|
+
hJ as method,
|
|
6183
7531
|
metricsProviderCapability,
|
|
6184
7532
|
motionCapability,
|
|
6185
7533
|
motionDetectionCapability,
|
|
@@ -6191,61 +7539,92 @@ export {
|
|
|
6191
7539
|
networkQualityCapability,
|
|
6192
7540
|
nodesCapability,
|
|
6193
7541
|
normalizeAddonInitResult,
|
|
7542
|
+
hK as normalizeUnit,
|
|
6194
7543
|
notificationOutputCapability,
|
|
7544
|
+
notifierCapability,
|
|
7545
|
+
numericSensorCapability,
|
|
6195
7546
|
oauthIntegrationCapability,
|
|
6196
7547
|
osdCapability,
|
|
6197
7548
|
parseCameraStreamConfig,
|
|
6198
7549
|
parseJsonArray,
|
|
6199
7550
|
parseJsonObject,
|
|
6200
7551
|
parseJsonUnknown,
|
|
7552
|
+
hL as parseProfileBrokerId,
|
|
6201
7553
|
parseStreamParamsFormPatch,
|
|
7554
|
+
pickPreferredRtspEntry,
|
|
6202
7555
|
pipelineAnalyticsCapability,
|
|
6203
7556
|
pipelineExecutorCapability,
|
|
6204
7557
|
pipelineOrchestratorCapability,
|
|
6205
7558
|
pipelineRunnerCapability,
|
|
6206
7559
|
platformProbeCapability,
|
|
7560
|
+
powerMeterCapability,
|
|
7561
|
+
presenceCapability,
|
|
7562
|
+
pressureSensorCapability,
|
|
7563
|
+
privacyMaskCapability,
|
|
6207
7564
|
ptzAutotrackCapability,
|
|
6208
7565
|
ptzCapability,
|
|
6209
7566
|
pythonScriptForBackend,
|
|
6210
7567
|
readinessKey,
|
|
6211
7568
|
rebootCapability,
|
|
6212
7569
|
recordingCapability,
|
|
6213
|
-
|
|
7570
|
+
rectsToCells,
|
|
6214
7571
|
requiresPython,
|
|
6215
7572
|
resolveAddonExecution,
|
|
6216
7573
|
resolveAddonGroup,
|
|
6217
7574
|
resolveAddonPlacement,
|
|
6218
7575
|
resolveAddonRuntime,
|
|
6219
7576
|
resolveDetectionRuntime,
|
|
6220
|
-
|
|
7577
|
+
hM as resolveDeviceProfile,
|
|
6221
7578
|
resolveModelFormat,
|
|
6222
7579
|
resolveRunnerId,
|
|
6223
7580
|
restreamerCapability,
|
|
6224
7581
|
runInferenceStep,
|
|
6225
7582
|
scopeKey,
|
|
7583
|
+
scriptRunnerCapability,
|
|
7584
|
+
hN as selectAssignedProfileSlots,
|
|
7585
|
+
setByPath,
|
|
6226
7586
|
settingsStoreCapability,
|
|
7587
|
+
sleep,
|
|
7588
|
+
sleepCancellable,
|
|
7589
|
+
smokeCapability,
|
|
6227
7590
|
smtpProviderCapability,
|
|
6228
7591
|
snapshotCapability,
|
|
6229
7592
|
snapshotProviderCapability,
|
|
6230
7593
|
ssoBridgeCapability,
|
|
6231
7594
|
storageCapability,
|
|
7595
|
+
storageEvictableCapability,
|
|
6232
7596
|
storageProviderCapability,
|
|
6233
7597
|
streamBrokerCapability,
|
|
7598
|
+
streamCatalogCapability,
|
|
6234
7599
|
streamParamsCapability,
|
|
6235
7600
|
streamPixels,
|
|
6236
7601
|
streamQualityLabel,
|
|
6237
7602
|
streamingEngineCapability,
|
|
6238
7603
|
switchCapability,
|
|
7604
|
+
synthesizeSourceInfo,
|
|
6239
7605
|
systemCapability,
|
|
7606
|
+
tamperCapability,
|
|
7607
|
+
temperatureSensorCapability,
|
|
6240
7608
|
toDeviceSummary,
|
|
6241
7609
|
toStreamSourceEntry,
|
|
6242
7610
|
toastCapability,
|
|
6243
7611
|
turnProviderCapability,
|
|
7612
|
+
updateCapability,
|
|
6244
7613
|
userManagementCapability,
|
|
6245
7614
|
userPasskeysCapability,
|
|
7615
|
+
vacuumControlCapability,
|
|
7616
|
+
valveCapability,
|
|
7617
|
+
vibrationCapability,
|
|
7618
|
+
waterHeaterCapability,
|
|
7619
|
+
weatherCapability,
|
|
6246
7620
|
webrtcCapability,
|
|
6247
|
-
|
|
7621
|
+
hO as webrtcClientHintsSchema,
|
|
6248
7622
|
webrtcSessionCapability,
|
|
7623
|
+
hP as wiringAddonHealthSchema,
|
|
7624
|
+
hQ as wiringHealthSnapshotSchema,
|
|
7625
|
+
hR as wiringNodeHealthSchema,
|
|
7626
|
+
hS as wiringProbeKindSchema,
|
|
7627
|
+
hT as wiringProbeResultSchema,
|
|
6249
7628
|
zodEntriesToConfigUI,
|
|
6250
7629
|
zoneAnalyticsCapability,
|
|
6251
7630
|
zoneRulesCapability,
|