@camstack/types 0.1.14 → 0.1.16
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 +262 -0
- package/dist/addon/base-addon.d.ts.map +1 -0
- package/dist/auth-records-BDg37fy9.mjs +8297 -0
- package/dist/auth-records-BDg37fy9.mjs.map +1 -0
- package/dist/auth-records-D5ZNaUos.js +8296 -0
- package/dist/auth-records-D5ZNaUos.js.map +1 -0
- package/dist/capabilities/accessories.cap.d.ts +42 -0
- package/dist/capabilities/accessories.cap.d.ts.map +1 -0
- package/dist/capabilities/addon-pages-source.cap.d.ts +41 -0
- package/dist/capabilities/addon-pages-source.cap.d.ts.map +1 -0
- package/dist/capabilities/addon-pages.cap.d.ts +36 -0
- package/dist/capabilities/addon-pages.cap.d.ts.map +1 -0
- package/dist/capabilities/addon-routes.cap.d.ts +22 -0
- package/dist/capabilities/addon-routes.cap.d.ts.map +1 -0
- package/dist/capabilities/addon-settings.cap.d.ts +170 -0
- package/dist/capabilities/addon-settings.cap.d.ts.map +1 -0
- package/dist/capabilities/addon-widgets-source.cap.d.ts +103 -0
- package/dist/capabilities/addon-widgets-source.cap.d.ts.map +1 -0
- package/dist/capabilities/addon-widgets.cap.d.ts +98 -0
- package/dist/capabilities/addon-widgets.cap.d.ts.map +1 -0
- package/dist/capabilities/addons.cap.d.ts +356 -0
- package/dist/capabilities/addons.cap.d.ts.map +1 -0
- package/dist/capabilities/admin-ui.cap.d.ts +14 -0
- package/dist/capabilities/admin-ui.cap.d.ts.map +1 -0
- package/dist/capabilities/advanced-notifier.cap.d.ts +60 -0
- package/dist/capabilities/advanced-notifier.cap.d.ts.map +1 -0
- package/dist/capabilities/alerts.cap.d.ts +164 -0
- package/dist/capabilities/alerts.cap.d.ts.map +1 -0
- package/dist/capabilities/audio-analysis.cap.d.ts +46 -0
- package/dist/capabilities/audio-analysis.cap.d.ts.map +1 -0
- package/dist/capabilities/audio-analyzer.cap.d.ts +148 -0
- package/dist/capabilities/audio-analyzer.cap.d.ts.map +1 -0
- package/dist/capabilities/audio-codec.cap.d.ts +202 -0
- package/dist/capabilities/audio-codec.cap.d.ts.map +1 -0
- package/dist/capabilities/audio-metrics.cap.d.ts +174 -0
- package/dist/capabilities/audio-metrics.cap.d.ts.map +1 -0
- package/dist/capabilities/auth-provider.cap.d.ts +49 -0
- package/dist/capabilities/auth-provider.cap.d.ts.map +1 -0
- package/dist/capabilities/authentication.cap.d.ts +83 -0
- package/dist/capabilities/authentication.cap.d.ts.map +1 -0
- package/dist/capabilities/backup.cap.d.ts +269 -0
- package/dist/capabilities/backup.cap.d.ts.map +1 -0
- package/dist/capabilities/battery.cap.d.ts +85 -0
- package/dist/capabilities/battery.cap.d.ts.map +1 -0
- package/dist/capabilities/brightness.cap.d.ts +64 -0
- package/dist/capabilities/brightness.cap.d.ts.map +1 -0
- package/dist/capabilities/camera-credentials.cap.d.ts +102 -0
- package/dist/capabilities/camera-credentials.cap.d.ts.map +1 -0
- package/dist/capabilities/camera-streams.cap.d.ts +214 -0
- package/dist/capabilities/camera-streams.cap.d.ts.map +1 -0
- package/dist/capabilities/capability-definition.d.ts +474 -0
- package/dist/capabilities/capability-definition.d.ts.map +1 -0
- package/dist/capabilities/custom-actions.d.ts +47 -0
- package/dist/capabilities/custom-actions.d.ts.map +1 -0
- package/dist/capabilities/decoder.cap.d.ts +173 -0
- package/dist/capabilities/decoder.cap.d.ts.map +1 -0
- package/dist/capabilities/detection-pipeline.cap.d.ts +34 -0
- package/dist/capabilities/detection-pipeline.cap.d.ts.map +1 -0
- package/dist/capabilities/device-discovery.cap.d.ts +247 -0
- package/dist/capabilities/device-discovery.cap.d.ts.map +1 -0
- package/dist/capabilities/device-manager.cap.d.ts +709 -0
- package/dist/capabilities/device-manager.cap.d.ts.map +1 -0
- package/dist/capabilities/device-ops.cap.d.ts +87 -0
- package/dist/capabilities/device-ops.cap.d.ts.map +1 -0
- package/dist/capabilities/device-provider.cap.d.ts +151 -0
- package/dist/capabilities/device-provider.cap.d.ts.map +1 -0
- package/dist/capabilities/device-state.cap.d.ts +97 -0
- package/dist/capabilities/device-state.cap.d.ts.map +1 -0
- package/dist/capabilities/device-status.cap.d.ts +54 -0
- package/dist/capabilities/device-status.cap.d.ts.map +1 -0
- package/dist/capabilities/doorbell.cap.d.ts +62 -0
- package/dist/capabilities/doorbell.cap.d.ts.map +1 -0
- package/dist/capabilities/embedding-encoder.cap.d.ts +41 -0
- package/dist/capabilities/embedding-encoder.cap.d.ts.map +1 -0
- package/dist/capabilities/events.cap.d.ts +48 -0
- package/dist/capabilities/events.cap.d.ts.map +1 -0
- package/dist/capabilities/feature-probe.cap.d.ts +79 -0
- package/dist/capabilities/feature-probe.cap.d.ts.map +1 -0
- package/dist/capabilities/index.d.ts +191 -0
- package/dist/capabilities/index.d.ts.map +1 -0
- package/dist/capabilities/integrations.cap.d.ts +182 -0
- package/dist/capabilities/integrations.cap.d.ts.map +1 -0
- package/dist/capabilities/intercom.cap.d.ts +108 -0
- package/dist/capabilities/intercom.cap.d.ts.map +1 -0
- package/dist/capabilities/local-network.cap.d.ts +216 -0
- package/dist/capabilities/local-network.cap.d.ts.map +1 -0
- package/dist/capabilities/log-destination.cap.d.ts +70 -0
- package/dist/capabilities/log-destination.cap.d.ts.map +1 -0
- package/dist/capabilities/mesh-network.cap.d.ts +160 -0
- package/dist/capabilities/mesh-network.cap.d.ts.map +1 -0
- package/dist/capabilities/mesh-orchestrator.cap.d.ts +96 -0
- package/dist/capabilities/mesh-orchestrator.cap.d.ts.map +1 -0
- package/dist/capabilities/metrics-provider.cap.d.ts +522 -0
- package/dist/capabilities/metrics-provider.cap.d.ts.map +1 -0
- package/dist/capabilities/motion-detection.cap.d.ts +107 -0
- package/dist/capabilities/motion-detection.cap.d.ts.map +1 -0
- package/dist/capabilities/motion-trigger.cap.d.ts +78 -0
- package/dist/capabilities/motion-trigger.cap.d.ts.map +1 -0
- package/dist/capabilities/motion.cap.d.ts +122 -0
- package/dist/capabilities/motion.cap.d.ts.map +1 -0
- package/dist/capabilities/native-object-detection.cap.d.ts +127 -0
- package/dist/capabilities/native-object-detection.cap.d.ts.map +1 -0
- package/dist/capabilities/network-access.cap.d.ts +67 -0
- package/dist/capabilities/network-access.cap.d.ts.map +1 -0
- package/dist/capabilities/network-quality.cap.d.ts +95 -0
- package/dist/capabilities/network-quality.cap.d.ts.map +1 -0
- package/dist/capabilities/nodes.cap.d.ts +200 -0
- package/dist/capabilities/nodes.cap.d.ts.map +1 -0
- package/dist/capabilities/notification-output.cap.d.ts +44 -0
- package/dist/capabilities/notification-output.cap.d.ts.map +1 -0
- package/dist/capabilities/osd.cap.d.ts +236 -0
- package/dist/capabilities/osd.cap.d.ts.map +1 -0
- package/dist/capabilities/pipeline-analytics.cap.d.ts +501 -0
- package/dist/capabilities/pipeline-analytics.cap.d.ts.map +1 -0
- package/dist/capabilities/pipeline-executor.cap.d.ts +922 -0
- package/dist/capabilities/pipeline-executor.cap.d.ts.map +1 -0
- package/dist/capabilities/pipeline-orchestrator.cap.d.ts +793 -0
- package/dist/capabilities/pipeline-orchestrator.cap.d.ts.map +1 -0
- package/dist/capabilities/pipeline-runner.cap.d.ts +393 -0
- package/dist/capabilities/pipeline-runner.cap.d.ts.map +1 -0
- package/dist/capabilities/platform-probe.cap.d.ts +168 -0
- package/dist/capabilities/platform-probe.cap.d.ts.map +1 -0
- package/dist/capabilities/ptz-autotrack.cap.d.ts +188 -0
- package/dist/capabilities/ptz-autotrack.cap.d.ts.map +1 -0
- package/dist/capabilities/ptz.cap.d.ts +80 -0
- package/dist/capabilities/ptz.cap.d.ts.map +1 -0
- package/dist/capabilities/reboot.cap.d.ts +32 -0
- package/dist/capabilities/reboot.cap.d.ts.map +1 -0
- package/dist/capabilities/recording-engine.cap.d.ts +477 -0
- package/dist/capabilities/recording-engine.cap.d.ts.map +1 -0
- package/dist/capabilities/recording.cap.d.ts +43 -0
- package/dist/capabilities/recording.cap.d.ts.map +1 -0
- package/dist/capabilities/remote-access.cap.d.ts +103 -0
- package/dist/capabilities/remote-access.cap.d.ts.map +1 -0
- package/dist/capabilities/restreamer.cap.d.ts +51 -0
- package/dist/capabilities/restreamer.cap.d.ts.map +1 -0
- package/dist/capabilities/schemas/detection-shared.d.ts +63 -0
- package/dist/capabilities/schemas/detection-shared.d.ts.map +1 -0
- package/dist/capabilities/schemas/orchestrator-metrics.d.ts +44 -0
- package/dist/capabilities/schemas/orchestrator-metrics.d.ts.map +1 -0
- package/dist/capabilities/schemas/streaming-shared.d.ts +177 -0
- package/dist/capabilities/schemas/streaming-shared.d.ts.map +1 -0
- package/dist/capabilities/schemas/zone-rule.d.ts +74 -0
- package/dist/capabilities/schemas/zone-rule.d.ts.map +1 -0
- package/dist/capabilities/settings-store.cap.d.ts +198 -0
- package/dist/capabilities/settings-store.cap.d.ts.map +1 -0
- package/dist/capabilities/snapshot-provider.cap.d.ts +40 -0
- package/dist/capabilities/snapshot-provider.cap.d.ts.map +1 -0
- package/dist/capabilities/snapshot.cap.d.ts +78 -0
- package/dist/capabilities/snapshot.cap.d.ts.map +1 -0
- package/dist/capabilities/storage-provider.cap.d.ts +432 -0
- package/dist/capabilities/storage-provider.cap.d.ts.map +1 -0
- package/dist/capabilities/storage.cap.d.ts +367 -0
- package/dist/capabilities/storage.cap.d.ts.map +1 -0
- package/dist/capabilities/stream-broker.cap.d.ts +416 -0
- package/dist/capabilities/stream-broker.cap.d.ts.map +1 -0
- package/dist/capabilities/streaming-engine.cap.d.ts +58 -0
- package/dist/capabilities/streaming-engine.cap.d.ts.map +1 -0
- package/dist/capabilities/switch.cap.d.ts +66 -0
- package/dist/capabilities/switch.cap.d.ts.map +1 -0
- package/dist/capabilities/system.cap.d.ts +86 -0
- package/dist/capabilities/system.cap.d.ts.map +1 -0
- package/dist/capabilities/toast.cap.d.ts +56 -0
- package/dist/capabilities/toast.cap.d.ts.map +1 -0
- package/dist/capabilities/turn-orchestrator.cap.d.ts +74 -0
- package/dist/capabilities/turn-orchestrator.cap.d.ts.map +1 -0
- package/dist/capabilities/turn-provider.cap.d.ts +43 -0
- package/dist/capabilities/turn-provider.cap.d.ts.map +1 -0
- package/dist/capabilities/user-management.cap.d.ts +378 -0
- package/dist/capabilities/user-management.cap.d.ts.map +1 -0
- package/dist/capabilities/webrtc-session.cap.d.ts +181 -0
- package/dist/capabilities/webrtc-session.cap.d.ts.map +1 -0
- package/dist/capabilities/webrtc.cap.d.ts +72 -0
- package/dist/capabilities/webrtc.cap.d.ts.map +1 -0
- package/dist/capabilities/zone-analytics.cap.d.ts +213 -0
- package/dist/capabilities/zone-analytics.cap.d.ts.map +1 -0
- package/dist/capabilities/zone-rules.cap.d.ts +129 -0
- package/dist/capabilities/zone-rules.cap.d.ts.map +1 -0
- package/dist/capabilities/zones.cap.d.ts +151 -0
- package/dist/capabilities/zones.cap.d.ts.map +1 -0
- package/dist/catalogs/audio-classmap.d.ts +16 -0
- package/dist/catalogs/audio-classmap.d.ts.map +1 -0
- package/dist/catalogs/coco-classmap.d.ts.map +1 -1
- package/dist/constants.d.ts +50 -0
- package/dist/constants.d.ts.map +1 -1
- package/dist/deps/binary-downloader.d.ts +41 -0
- package/dist/deps/binary-downloader.d.ts.map +1 -0
- package/dist/deps/ffmpeg-downloader.d.ts +13 -0
- package/dist/deps/ffmpeg-downloader.d.ts.map +1 -0
- package/dist/deps/index.d.ts +4 -0
- package/dist/deps/index.d.ts.map +1 -0
- package/dist/deps/python-downloader.d.ts +34 -0
- package/dist/deps/python-downloader.d.ts.map +1 -0
- package/dist/device/accessory.d.ts +62 -0
- package/dist/device/accessory.d.ts.map +1 -0
- package/dist/device/base-device-provider.d.ts +178 -0
- package/dist/device/base-device-provider.d.ts.map +1 -0
- package/dist/device/base-device.d.ts +287 -0
- package/dist/device/base-device.d.ts.map +1 -0
- package/dist/device/camera-device.d.ts +49 -0
- package/dist/device/camera-device.d.ts.map +1 -0
- package/dist/device/device-binding.d.ts +23 -0
- package/dist/device/device-binding.d.ts.map +1 -0
- package/dist/device/device-config.d.ts +65 -0
- package/dist/device/device-config.d.ts.map +1 -0
- package/dist/device/device-context.d.ts +256 -0
- package/dist/device/device-context.d.ts.map +1 -0
- package/dist/device/device-management.d.ts +118 -0
- package/dist/device/device-management.d.ts.map +1 -0
- package/dist/device/device-profile.d.ts +161 -0
- package/dist/device/device-profile.d.ts.map +1 -0
- package/dist/device/device-runtime-state.d.ts +124 -0
- package/dist/device/device-runtime-state.d.ts.map +1 -0
- package/dist/device/device-state-handle.d.ts +161 -0
- package/dist/device/device-state-handle.d.ts.map +1 -0
- package/dist/device/device-type.d.ts +68 -0
- package/dist/device/device-type.d.ts.map +1 -0
- package/dist/device/device.d.ts +87 -0
- package/dist/device/device.d.ts.map +1 -0
- package/dist/device/features.d.ts +29 -0
- package/dist/device/features.d.ts.map +1 -0
- package/dist/device/index.d.ts +20 -0
- package/dist/device/index.d.ts.map +1 -0
- package/dist/device/runtime-state-helpers.d.ts +69 -0
- package/dist/device/runtime-state-helpers.d.ts.map +1 -0
- package/dist/device/system-mirror.d.ts +318 -0
- package/dist/device/system-mirror.d.ts.map +1 -0
- package/dist/device/zod-to-config-ui.d.ts +23 -0
- package/dist/device/zod-to-config-ui.d.ts.map +1 -0
- package/dist/disposer-chain.d.ts +32 -0
- package/dist/disposer-chain.d.ts.map +1 -0
- package/dist/enums/event-category.d.ts +361 -0
- package/dist/enums/event-category.d.ts.map +1 -0
- package/dist/enums/event-source-type.d.ts +8 -0
- package/dist/enums/event-source-type.d.ts.map +1 -0
- package/dist/enums/index.d.ts +3 -0
- package/dist/enums/index.d.ts.map +1 -0
- package/dist/generated/addon-api.d.ts +14604 -3217
- package/dist/generated/addon-api.d.ts.map +1 -1
- package/dist/generated/cap-status-types.d.ts +51 -0
- package/dist/generated/cap-status-types.d.ts.map +1 -0
- package/dist/generated/capability-router-map.d.ts +278 -0
- package/dist/generated/capability-router-map.d.ts.map +1 -0
- package/dist/generated/device-local-state.d.ts +82 -0
- package/dist/generated/device-local-state.d.ts.map +1 -0
- package/dist/generated/device-proxy.d.ts +146 -0
- package/dist/generated/device-proxy.d.ts.map +1 -0
- package/dist/generated/system-proxy.d.ts +92 -0
- package/dist/generated/system-proxy.d.ts.map +1 -0
- package/dist/helpers/bind-addon-actions.d.ts +19 -0
- package/dist/helpers/bind-addon-actions.d.ts.map +1 -0
- package/dist/index.d.ts +91 -22
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +4843 -477
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +4832 -415
- package/dist/index.mjs.map +1 -1
- package/dist/interfaces/addon.d.ts +760 -132
- package/dist/interfaces/addon.d.ts.map +1 -1
- package/dist/interfaces/advanced-notifier.d.ts +3 -2
- package/dist/interfaces/advanced-notifier.d.ts.map +1 -1
- package/dist/interfaces/agent-protocol.d.ts +17 -173
- package/dist/interfaces/agent-protocol.d.ts.map +1 -1
- package/dist/interfaces/agent.d.ts +61 -0
- package/dist/interfaces/agent.d.ts.map +1 -1
- package/dist/interfaces/alerts.d.ts +14 -0
- package/dist/interfaces/alerts.d.ts.map +1 -0
- package/dist/interfaces/analysis-persistence.d.ts +37 -19
- package/dist/interfaces/analysis-persistence.d.ts.map +1 -1
- package/dist/interfaces/analysis.d.ts +33 -4
- package/dist/interfaces/analysis.d.ts.map +1 -1
- package/dist/interfaces/api-responses.d.ts +124 -0
- package/dist/interfaces/api-responses.d.ts.map +1 -0
- package/dist/interfaces/api-shared.d.ts +5 -79
- package/dist/interfaces/api-shared.d.ts.map +1 -1
- package/dist/interfaces/audio-analyzer.d.ts +49 -0
- package/dist/interfaces/audio-analyzer.d.ts.map +1 -0
- package/dist/interfaces/audio-codec.d.ts +123 -0
- package/dist/interfaces/audio-codec.d.ts.map +1 -0
- package/dist/interfaces/audio-inference-engine.d.ts +19 -0
- package/dist/interfaces/audio-inference-engine.d.ts.map +1 -0
- package/dist/interfaces/auth-provider.d.ts.map +1 -1
- package/dist/interfaces/auth.d.ts +4 -25
- package/dist/interfaces/auth.d.ts.map +1 -1
- package/dist/interfaces/camera-pipeline.d.ts +7 -20
- package/dist/interfaces/camera-pipeline.d.ts.map +1 -1
- package/dist/interfaces/capability.d.ts +171 -24
- package/dist/interfaces/capability.d.ts.map +1 -1
- package/dist/interfaces/config-ui.d.ts +746 -24
- package/dist/interfaces/config-ui.d.ts.map +1 -1
- package/dist/interfaces/context.d.ts +9 -4
- package/dist/interfaces/context.d.ts.map +1 -1
- package/dist/interfaces/decoder.d.ts +38 -3
- package/dist/interfaces/decoder.d.ts.map +1 -1
- package/dist/interfaces/detection-addon.d.ts +6 -6
- package/dist/interfaces/detection-addon.d.ts.map +1 -1
- package/dist/interfaces/device-capabilities/camera.d.ts +95 -18
- package/dist/interfaces/device-capabilities/camera.d.ts.map +1 -1
- package/dist/interfaces/device-capabilities/index.d.ts +0 -13
- package/dist/interfaces/device-capabilities/index.d.ts.map +1 -1
- package/dist/interfaces/device-provider.d.ts +18 -16
- package/dist/interfaces/device-provider.d.ts.map +1 -1
- package/dist/interfaces/device.d.ts +4 -21
- package/dist/interfaces/device.d.ts.map +1 -1
- package/dist/interfaces/embedding-encoder.d.ts +19 -0
- package/dist/interfaces/embedding-encoder.d.ts.map +1 -0
- package/dist/interfaces/engine-slots.d.ts +10 -0
- package/dist/interfaces/engine-slots.d.ts.map +1 -0
- package/dist/interfaces/event-bus.d.ts +710 -26
- package/dist/interfaces/event-bus.d.ts.map +1 -1
- package/dist/interfaces/inference-capabilities.d.ts +0 -17
- package/dist/interfaces/inference-capabilities.d.ts.map +1 -1
- package/dist/interfaces/inference-engine.d.ts +30 -10
- package/dist/interfaces/inference-engine.d.ts.map +1 -1
- package/dist/interfaces/integration-registry.d.ts +20 -20
- package/dist/interfaces/integration-registry.d.ts.map +1 -1
- package/dist/interfaces/kernel-abstractions.d.ts +83 -0
- package/dist/interfaces/kernel-abstractions.d.ts.map +1 -0
- package/dist/interfaces/logging.d.ts +89 -8
- package/dist/interfaces/logging.d.ts.map +1 -1
- package/dist/interfaces/metrics-provider.d.ts +17 -0
- package/dist/interfaces/metrics-provider.d.ts.map +1 -0
- package/dist/interfaces/network-quality.d.ts +4 -4
- package/dist/interfaces/network.d.ts +0 -16
- package/dist/interfaces/network.d.ts.map +1 -1
- package/dist/interfaces/notification.d.ts +1 -1
- package/dist/interfaces/pipeline-executor-capability.d.ts +200 -0
- package/dist/interfaces/pipeline-executor-capability.d.ts.map +1 -0
- package/dist/interfaces/pipeline-orchestrator-capability.d.ts +165 -0
- package/dist/interfaces/pipeline-orchestrator-capability.d.ts.map +1 -0
- package/dist/interfaces/pipeline-runner-capability.d.ts +147 -0
- package/dist/interfaces/pipeline-runner-capability.d.ts.map +1 -0
- package/dist/interfaces/pipeline-runner.d.ts +18 -2
- package/dist/interfaces/pipeline-runner.d.ts.map +1 -1
- package/dist/interfaces/platform.d.ts +1 -1
- package/dist/interfaces/platform.d.ts.map +1 -1
- package/dist/interfaces/queryable.d.ts +26 -0
- package/dist/interfaces/queryable.d.ts.map +1 -0
- package/dist/interfaces/raw-tensor-engine.d.ts +16 -0
- package/dist/interfaces/raw-tensor-engine.d.ts.map +1 -0
- package/dist/interfaces/readiness.d.ts +101 -0
- package/dist/interfaces/readiness.d.ts.map +1 -0
- package/dist/interfaces/repl.d.ts +1 -1
- package/dist/interfaces/restreamer.d.ts +3 -3
- package/dist/interfaces/scoped-token.d.ts +1 -21
- package/dist/interfaces/scoped-token.d.ts.map +1 -1
- package/dist/interfaces/server-analysis.d.ts +30 -87
- package/dist/interfaces/server-analysis.d.ts.map +1 -1
- package/dist/interfaces/storage-location.d.ts +120 -0
- package/dist/interfaces/storage-location.d.ts.map +1 -0
- package/dist/interfaces/storage.d.ts +124 -50
- package/dist/interfaces/storage.d.ts.map +1 -1
- package/dist/interfaces/stream-broker.d.ts +285 -17
- package/dist/interfaces/stream-broker.d.ts.map +1 -1
- package/dist/interfaces/webrtc-provider.d.ts +24 -0
- package/dist/interfaces/webrtc-provider.d.ts.map +1 -1
- package/dist/node.d.ts +6 -0
- package/dist/node.d.ts.map +1 -0
- package/dist/node.js +481 -0
- package/dist/node.js.map +1 -0
- package/dist/node.mjs +443 -0
- package/dist/node.mjs.map +1 -0
- package/dist/readiness/index.d.ts +3 -0
- package/dist/readiness/index.d.ts.map +1 -0
- package/dist/readiness/readiness-registry.d.ts +183 -0
- package/dist/readiness/readiness-registry.d.ts.map +1 -0
- package/dist/schemas/auth-records.d.ts +81 -0
- package/dist/schemas/auth-records.d.ts.map +1 -0
- package/dist/storage/filesystem-storage-provider.d.ts +37 -0
- package/dist/storage/filesystem-storage-provider.d.ts.map +1 -0
- package/dist/types/agent-pipeline-settings.d.ts +94 -0
- package/dist/types/agent-pipeline-settings.d.ts.map +1 -0
- package/dist/types/camera-pipeline.d.ts +58 -0
- package/dist/types/camera-pipeline.d.ts.map +1 -0
- package/dist/types/detection.d.ts +195 -38
- package/dist/types/detection.d.ts.map +1 -1
- package/dist/types/device-type.d.ts +4 -0
- package/dist/types/device-type.d.ts.map +1 -1
- package/dist/types/engine-output.d.ts +24 -0
- package/dist/types/engine-output.d.ts.map +1 -0
- package/dist/types/io.d.ts +57 -3
- package/dist/types/io.d.ts.map +1 -1
- package/dist/types/models.d.ts +3 -1
- package/dist/types/models.d.ts.map +1 -1
- package/dist/types/pipeline-schema.d.ts +15 -72
- package/dist/types/pipeline-schema.d.ts.map +1 -1
- package/dist/types/pipeline-step.d.ts +201 -0
- package/dist/types/pipeline-step.d.ts.map +1 -0
- package/dist/types/pipeline.d.ts +24 -1
- package/dist/types/pipeline.d.ts.map +1 -1
- package/dist/utils/element-config-store.d.ts +29 -0
- package/dist/utils/element-config-store.d.ts.map +1 -0
- package/dist/utils/err-msg.d.ts +7 -0
- package/dist/utils/err-msg.d.ts.map +1 -0
- package/dist/utils/json-safe.d.ts +33 -0
- package/dist/utils/json-safe.d.ts.map +1 -0
- package/dist/utils/mask-url.d.ts +10 -0
- package/dist/utils/mask-url.d.ts.map +1 -0
- package/dist/utils/ring-buffer.d.ts +16 -0
- package/dist/utils/ring-buffer.d.ts.map +1 -0
- package/dist/utils/run-inference-step.d.ts +26 -0
- package/dist/utils/run-inference-step.d.ts.map +1 -0
- package/dist/utils/runtime-mapping.d.ts +88 -0
- package/dist/utils/runtime-mapping.d.ts.map +1 -0
- package/dist/utils/zone-rule-eval.d.ts +47 -0
- package/dist/utils/zone-rule-eval.d.ts.map +1 -0
- package/package.json +11 -2
- package/dist/__tests__/addon-capability-provider.test.d.ts +0 -2
- package/dist/__tests__/addon-capability-provider.test.d.ts.map +0 -1
- package/dist/__tests__/addon-declaration.test.d.ts +0 -2
- package/dist/__tests__/addon-declaration.test.d.ts.map +0 -1
- package/dist/__tests__/capability.test.d.ts +0 -2
- package/dist/__tests__/capability.test.d.ts.map +0 -1
- package/dist/interfaces/addon-i18n.d.ts +0 -41
- package/dist/interfaces/addon-i18n.d.ts.map +0 -1
- package/dist/interfaces/classifier.d.ts +0 -8
- package/dist/interfaces/classifier.d.ts.map +0 -1
- package/dist/interfaces/cropper.d.ts +0 -8
- package/dist/interfaces/cropper.d.ts.map +0 -1
- package/dist/interfaces/detector.d.ts +0 -8
- package/dist/interfaces/detector.d.ts.map +0 -1
- package/dist/interfaces/device-capabilities/accessory.d.ts +0 -14
- package/dist/interfaces/device-capabilities/accessory.d.ts.map +0 -1
- package/dist/interfaces/device-capabilities/audio-detector.d.ts +0 -12
- package/dist/interfaces/device-capabilities/audio-detector.d.ts.map +0 -1
- package/dist/interfaces/device-capabilities/doorbell.d.ts +0 -10
- package/dist/interfaces/device-capabilities/doorbell.d.ts.map +0 -1
- package/dist/interfaces/device-capabilities/events.d.ts +0 -47
- package/dist/interfaces/device-capabilities/events.d.ts.map +0 -1
- package/dist/interfaces/device-capabilities/motion-sensor.d.ts +0 -7
- package/dist/interfaces/device-capabilities/motion-sensor.d.ts.map +0 -1
- package/dist/interfaces/device-capabilities/native-detection.d.ts +0 -14
- package/dist/interfaces/device-capabilities/native-detection.d.ts.map +0 -1
- package/dist/interfaces/device-capabilities/object-detector.d.ts +0 -59
- package/dist/interfaces/device-capabilities/object-detector.d.ts.map +0 -1
- package/dist/interfaces/device-capabilities/pan-tilt-zoom.d.ts +0 -29
- package/dist/interfaces/device-capabilities/pan-tilt-zoom.d.ts.map +0 -1
- package/dist/interfaces/device-capabilities/recording.d.ts +0 -18
- package/dist/interfaces/device-capabilities/recording.d.ts.map +0 -1
- package/dist/interfaces/device-capabilities/siren.d.ts +0 -8
- package/dist/interfaces/device-capabilities/siren.d.ts.map +0 -1
- package/dist/interfaces/device-capabilities/status-light.d.ts +0 -7
- package/dist/interfaces/device-capabilities/status-light.d.ts.map +0 -1
- package/dist/interfaces/device-capabilities/switch.d.ts +0 -8
- package/dist/interfaces/device-capabilities/switch.d.ts.map +0 -1
- package/dist/interfaces/device-capabilities/two-way-audio.d.ts +0 -8
- package/dist/interfaces/device-capabilities/two-way-audio.d.ts.map +0 -1
- package/dist/interfaces/device-capability.d.ts +0 -14
- package/dist/interfaces/device-capability.d.ts.map +0 -1
- package/dist/interfaces/model-catalog.d.ts +0 -25
- package/dist/interfaces/model-catalog.d.ts.map +0 -1
- package/dist/interfaces/refiner.d.ts +0 -8
- package/dist/interfaces/refiner.d.ts.map +0 -1
- package/dist/interfaces/repositories.d.ts +0 -20
- package/dist/interfaces/repositories.d.ts.map +0 -1
- package/dist/interfaces/scene-intelligence.d.ts +0 -21
- package/dist/interfaces/scene-intelligence.d.ts.map +0 -1
- package/dist/interfaces/storage-backend.d.ts +0 -27
- package/dist/interfaces/storage-backend.d.ts.map +0 -1
- package/dist/interfaces/worker-protocol.d.ts +0 -110
- package/dist/interfaces/worker-protocol.d.ts.map +0 -1
- package/dist/schemas/system-settings-schemas.d.ts +0 -27
- package/dist/schemas/system-settings-schemas.d.ts.map +0 -1
- package/dist/types/benchmark.d.ts +0 -112
- package/dist/types/benchmark.d.ts.map +0 -1
- package/dist/types/zones.d.ts +0 -48
- package/dist/types/zones.d.ts.map +0 -1
|
@@ -0,0 +1,181 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
import { type InferProvider } from './capability-definition.js';
|
|
3
|
+
import { DeviceType } from '../device/device-type.js';
|
|
4
|
+
/**
|
|
5
|
+
* Discriminated target for a WebRTC session. The client sends this
|
|
6
|
+
* structured object instead of building / parsing brokerId strings;
|
|
7
|
+
* the server resolves it to a brokerId via the assignments map.
|
|
8
|
+
*
|
|
9
|
+
* - `adaptive`: server picks the best broker for the device based on
|
|
10
|
+
* client hints (viewport, downlink).
|
|
11
|
+
* - `profile`: pin the session to a profile slot (`high`/`mid`/`low`).
|
|
12
|
+
* The actual source can change as the operator reassigns the slot.
|
|
13
|
+
* - `cam-stream`: pin the session to a specific source by camStreamId
|
|
14
|
+
* (e.g. `native:main`, `rtsp:sub`). Useful when the operator wants
|
|
15
|
+
* a stable view of a specific source regardless of profile bindings,
|
|
16
|
+
* or to consume a manually-activated stream that isn't profile-bound.
|
|
17
|
+
*/
|
|
18
|
+
export declare const WebrtcStreamTargetSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
19
|
+
kind: z.ZodLiteral<"adaptive">;
|
|
20
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
21
|
+
kind: z.ZodLiteral<"profile">;
|
|
22
|
+
profile: z.ZodEnum<{
|
|
23
|
+
high: "high";
|
|
24
|
+
mid: "mid";
|
|
25
|
+
low: "low";
|
|
26
|
+
}>;
|
|
27
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
28
|
+
kind: z.ZodLiteral<"cam-stream">;
|
|
29
|
+
camStreamId: z.ZodString;
|
|
30
|
+
}, z.core.$strip>], "kind">;
|
|
31
|
+
export type WebrtcStreamTarget = z.infer<typeof WebrtcStreamTargetSchema>;
|
|
32
|
+
/** A stream choice the UI can offer for a device. */
|
|
33
|
+
export declare const WebrtcStreamChoiceSchema: z.ZodObject<{
|
|
34
|
+
id: z.ZodString;
|
|
35
|
+
label: z.ZodString;
|
|
36
|
+
target: z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
37
|
+
kind: z.ZodLiteral<"adaptive">;
|
|
38
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
39
|
+
kind: z.ZodLiteral<"profile">;
|
|
40
|
+
profile: z.ZodEnum<{
|
|
41
|
+
high: "high";
|
|
42
|
+
mid: "mid";
|
|
43
|
+
low: "low";
|
|
44
|
+
}>;
|
|
45
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
46
|
+
kind: z.ZodLiteral<"cam-stream">;
|
|
47
|
+
camStreamId: z.ZodString;
|
|
48
|
+
}, z.core.$strip>], "kind">;
|
|
49
|
+
codec: z.ZodNullable<z.ZodString>;
|
|
50
|
+
resolution: z.ZodNullable<z.ZodObject<{
|
|
51
|
+
width: z.ZodNumber;
|
|
52
|
+
height: z.ZodNumber;
|
|
53
|
+
}, z.core.$strip>>;
|
|
54
|
+
status: z.ZodNullable<z.ZodEnum<{
|
|
55
|
+
error: "error";
|
|
56
|
+
streaming: "streaming";
|
|
57
|
+
stopped: "stopped";
|
|
58
|
+
idle: "idle";
|
|
59
|
+
connecting: "connecting";
|
|
60
|
+
}>>;
|
|
61
|
+
inputFps: z.ZodNullable<z.ZodNumber>;
|
|
62
|
+
decodeFps: z.ZodNullable<z.ZodNumber>;
|
|
63
|
+
bitrateKbps: z.ZodNullable<z.ZodNumber>;
|
|
64
|
+
}, z.core.$strip>;
|
|
65
|
+
export type WebrtcStreamChoice = z.infer<typeof WebrtcStreamChoiceSchema>;
|
|
66
|
+
/**
|
|
67
|
+
* WebRTC session — device-scoped facade over the system `webrtc` cap.
|
|
68
|
+
*
|
|
69
|
+
* Exposes per-device signaling (`createSession`, `handleAnswer`,
|
|
70
|
+
* `closeSession`) on the device proxy so UI / integrations can
|
|
71
|
+
* negotiate a session by (deviceId, profile) instead of constructing
|
|
72
|
+
* an opaque `${deviceId}/${profile}` streamId string. The provider is
|
|
73
|
+
* registered by the stream-broker addon for every camera device with
|
|
74
|
+
* at least one active profile slot; internally it resolves
|
|
75
|
+
* `${deviceId}/${profile}` and forwards to the system webrtc provider.
|
|
76
|
+
*
|
|
77
|
+
* The system `webrtc` cap remains available for cross-device / raw
|
|
78
|
+
* streamId callers (debugging, admin tools). Production UI should
|
|
79
|
+
* prefer this device-scoped cap.
|
|
80
|
+
*/
|
|
81
|
+
export declare const webrtcSessionCapability: {
|
|
82
|
+
readonly name: "webrtc-session";
|
|
83
|
+
readonly scope: "device";
|
|
84
|
+
readonly mode: "singleton";
|
|
85
|
+
readonly deviceTypes: readonly [DeviceType.Camera];
|
|
86
|
+
readonly methods: {
|
|
87
|
+
/**
|
|
88
|
+
* List available WebRTC streams for a device.
|
|
89
|
+
* Returns adaptive (if any profile is assigned) + each assigned profile
|
|
90
|
+
* with codec/resolution info. UI renders this directly — no hardcoded
|
|
91
|
+
* profile names needed.
|
|
92
|
+
*/
|
|
93
|
+
readonly listStreams: import("./capability-definition.js").CapabilityMethodSchema<z.ZodObject<{
|
|
94
|
+
deviceId: z.ZodNumber;
|
|
95
|
+
}, z.core.$strip>, z.ZodArray<z.ZodObject<{
|
|
96
|
+
id: z.ZodString;
|
|
97
|
+
label: z.ZodString;
|
|
98
|
+
target: z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
99
|
+
kind: z.ZodLiteral<"adaptive">;
|
|
100
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
101
|
+
kind: z.ZodLiteral<"profile">;
|
|
102
|
+
profile: z.ZodEnum<{
|
|
103
|
+
high: "high";
|
|
104
|
+
mid: "mid";
|
|
105
|
+
low: "low";
|
|
106
|
+
}>;
|
|
107
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
108
|
+
kind: z.ZodLiteral<"cam-stream">;
|
|
109
|
+
camStreamId: z.ZodString;
|
|
110
|
+
}, z.core.$strip>], "kind">;
|
|
111
|
+
codec: z.ZodNullable<z.ZodString>;
|
|
112
|
+
resolution: z.ZodNullable<z.ZodObject<{
|
|
113
|
+
width: z.ZodNumber;
|
|
114
|
+
height: z.ZodNumber;
|
|
115
|
+
}, z.core.$strip>>;
|
|
116
|
+
status: z.ZodNullable<z.ZodEnum<{
|
|
117
|
+
error: "error";
|
|
118
|
+
streaming: "streaming";
|
|
119
|
+
stopped: "stopped";
|
|
120
|
+
idle: "idle";
|
|
121
|
+
connecting: "connecting";
|
|
122
|
+
}>>;
|
|
123
|
+
inputFps: z.ZodNullable<z.ZodNumber>;
|
|
124
|
+
decodeFps: z.ZodNullable<z.ZodNumber>;
|
|
125
|
+
bitrateKbps: z.ZodNullable<z.ZodNumber>;
|
|
126
|
+
}, z.core.$strip>>, import("./capability-definition.js").CapabilityMethodKind>;
|
|
127
|
+
/**
|
|
128
|
+
* Open a WebRTC session against a specific target on the device.
|
|
129
|
+
* `target.kind` discriminates between adaptive selection, a profile
|
|
130
|
+
* slot, or a specific cam stream source — see `WebrtcStreamTarget`.
|
|
131
|
+
* The server resolves the target to a live broker; clients never
|
|
132
|
+
* build or parse brokerId strings.
|
|
133
|
+
*/
|
|
134
|
+
readonly createSession: import("./capability-definition.js").CapabilityMethodSchema<z.ZodObject<{
|
|
135
|
+
deviceId: z.ZodNumber;
|
|
136
|
+
target: z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
137
|
+
kind: z.ZodLiteral<"adaptive">;
|
|
138
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
139
|
+
kind: z.ZodLiteral<"profile">;
|
|
140
|
+
profile: z.ZodEnum<{
|
|
141
|
+
high: "high";
|
|
142
|
+
mid: "mid";
|
|
143
|
+
low: "low";
|
|
144
|
+
}>;
|
|
145
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
146
|
+
kind: z.ZodLiteral<"cam-stream">;
|
|
147
|
+
camStreamId: z.ZodString;
|
|
148
|
+
}, z.core.$strip>], "kind">;
|
|
149
|
+
hints: z.ZodOptional<z.ZodObject<{
|
|
150
|
+
viewportWidth: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
|
|
151
|
+
viewportHeight: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
|
|
152
|
+
devicePixelRatio: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
|
|
153
|
+
downlinkMbps: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
|
|
154
|
+
prefersTier: z.ZodOptional<z.ZodOptional<z.ZodString>>;
|
|
155
|
+
}, z.core.$strip>>;
|
|
156
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
157
|
+
sessionId: z.ZodString;
|
|
158
|
+
sdpOffer: z.ZodString;
|
|
159
|
+
}, z.core.$strip>, "mutation">;
|
|
160
|
+
readonly handleAnswer: import("./capability-definition.js").CapabilityMethodSchema<z.ZodObject<{
|
|
161
|
+
deviceId: z.ZodNumber;
|
|
162
|
+
sessionId: z.ZodString;
|
|
163
|
+
sdpAnswer: z.ZodString;
|
|
164
|
+
}, z.core.$strip>, z.ZodVoid, "mutation">;
|
|
165
|
+
readonly closeSession: import("./capability-definition.js").CapabilityMethodSchema<z.ZodObject<{
|
|
166
|
+
deviceId: z.ZodNumber;
|
|
167
|
+
sessionId: z.ZodString;
|
|
168
|
+
}, z.core.$strip>, z.ZodVoid, "mutation">;
|
|
169
|
+
/** Whether the underlying provider supports adaptive bitrate for this profile. */
|
|
170
|
+
readonly hasAdaptiveBitrate: import("./capability-definition.js").CapabilityMethodSchema<z.ZodObject<{
|
|
171
|
+
deviceId: z.ZodNumber;
|
|
172
|
+
profile: z.ZodEnum<{
|
|
173
|
+
high: "high";
|
|
174
|
+
mid: "mid";
|
|
175
|
+
low: "low";
|
|
176
|
+
}>;
|
|
177
|
+
}, z.core.$strip>, z.ZodBoolean, import("./capability-definition.js").CapabilityMethodKind>;
|
|
178
|
+
};
|
|
179
|
+
};
|
|
180
|
+
export type IWebrtcSessionProvider = InferProvider<typeof webrtcSessionCapability>;
|
|
181
|
+
//# sourceMappingURL=webrtc-session.cap.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"webrtc-session.cap.d.ts","sourceRoot":"","sources":["../../src/capabilities/webrtc-session.cap.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AACvB,OAAO,EAAqC,KAAK,aAAa,EAAE,MAAM,4BAA4B,CAAA;AAClG,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAA;AAIrD;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,wBAAwB;;;;;;;;;;;;2BAInC,CAAA;AACF,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,wBAAwB,CAAC,CAAA;AAEzE,qDAAqD;AACrD,eAAO,MAAM,wBAAwB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAmBnC,CAAA;AACF,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,wBAAwB,CAAC,CAAA;AAEzE;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,uBAAuB;;;;;;QAMhC;;;;;WAKG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;QAKH;;;;;;WAMG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;QA2BH,kFAAkF;;;;;;;;;;CAS7C,CAAA;AAEzC,MAAM,MAAM,sBAAsB,GAAG,aAAa,CAAC,OAAO,uBAAuB,CAAC,CAAA"}
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
import { type InferProvider } from './capability-definition.js';
|
|
3
|
+
/**
|
|
4
|
+
* Optional client-side hints sent at session creation to help the
|
|
5
|
+
* provider pick the best native source. All fields are optional —
|
|
6
|
+
* a viewer that knows nothing still gets a sane default.
|
|
7
|
+
*/
|
|
8
|
+
export declare const webrtcClientHintsSchema: z.ZodObject<{
|
|
9
|
+
viewportWidth: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
|
|
10
|
+
viewportHeight: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
|
|
11
|
+
devicePixelRatio: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
|
|
12
|
+
downlinkMbps: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
|
|
13
|
+
prefersTier: z.ZodOptional<z.ZodOptional<z.ZodString>>;
|
|
14
|
+
}, z.core.$strip>;
|
|
15
|
+
export type WebrtcClientHints = z.infer<typeof webrtcClientHintsSchema>;
|
|
16
|
+
export declare const webrtcCapability: {
|
|
17
|
+
readonly name: "webrtc";
|
|
18
|
+
readonly scope: "system";
|
|
19
|
+
readonly mode: "collection";
|
|
20
|
+
readonly internal: true;
|
|
21
|
+
readonly methods: {
|
|
22
|
+
readonly handleOffer: import("./capability-definition.js").CapabilityMethodSchema<z.ZodObject<{
|
|
23
|
+
streamId: z.ZodString;
|
|
24
|
+
sdpOffer: z.ZodString;
|
|
25
|
+
}, z.core.$strip>, z.ZodString, "mutation">;
|
|
26
|
+
readonly supportsStream: import("./capability-definition.js").CapabilityMethodSchema<z.ZodObject<{
|
|
27
|
+
streamId: z.ZodString;
|
|
28
|
+
}, z.core.$strip>, z.ZodBoolean, import("./capability-definition.js").CapabilityMethodKind>;
|
|
29
|
+
readonly registerStream: import("./capability-definition.js").CapabilityMethodSchema<z.ZodObject<{
|
|
30
|
+
streamId: z.ZodString;
|
|
31
|
+
codec: z.ZodString;
|
|
32
|
+
}, z.core.$strip>, z.ZodVoid, "mutation">;
|
|
33
|
+
readonly unregisterStream: import("./capability-definition.js").CapabilityMethodSchema<z.ZodObject<{
|
|
34
|
+
streamId: z.ZodString;
|
|
35
|
+
}, z.core.$strip>, z.ZodVoid, "mutation">;
|
|
36
|
+
/**
|
|
37
|
+
* Two-step server-offer signaling. `hints` is optional — providers
|
|
38
|
+
* that don't care about adaptive source selection ignore it.
|
|
39
|
+
*/
|
|
40
|
+
readonly createSession: import("./capability-definition.js").CapabilityMethodSchema<z.ZodObject<{
|
|
41
|
+
streamId: z.ZodString;
|
|
42
|
+
hints: z.ZodOptional<z.ZodObject<{
|
|
43
|
+
viewportWidth: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
|
|
44
|
+
viewportHeight: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
|
|
45
|
+
devicePixelRatio: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
|
|
46
|
+
downlinkMbps: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
|
|
47
|
+
prefersTier: z.ZodOptional<z.ZodOptional<z.ZodString>>;
|
|
48
|
+
}, z.core.$strip>>;
|
|
49
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
50
|
+
sessionId: z.ZodString;
|
|
51
|
+
sdpOffer: z.ZodString;
|
|
52
|
+
}, z.core.$strip>, "mutation">;
|
|
53
|
+
readonly handleAnswer: import("./capability-definition.js").CapabilityMethodSchema<z.ZodObject<{
|
|
54
|
+
sessionId: z.ZodString;
|
|
55
|
+
sdpAnswer: z.ZodString;
|
|
56
|
+
}, z.core.$strip>, z.ZodVoid, "mutation">;
|
|
57
|
+
readonly closeSession: import("./capability-definition.js").CapabilityMethodSchema<z.ZodObject<{
|
|
58
|
+
sessionId: z.ZodString;
|
|
59
|
+
}, z.core.$strip>, z.ZodVoid, "mutation">;
|
|
60
|
+
/**
|
|
61
|
+
* Whether this provider supports adaptive bitrate for the given stream.
|
|
62
|
+
* Currently always false — adaptive selection is one-shot at session
|
|
63
|
+
* start, not in-session encoder switching. Phase 5 plans to layer
|
|
64
|
+
* encoder-driven adaptation on top.
|
|
65
|
+
*/
|
|
66
|
+
readonly hasAdaptiveBitrate: import("./capability-definition.js").CapabilityMethodSchema<z.ZodObject<{
|
|
67
|
+
streamId: z.ZodString;
|
|
68
|
+
}, z.core.$strip>, z.ZodBoolean, import("./capability-definition.js").CapabilityMethodKind>;
|
|
69
|
+
};
|
|
70
|
+
};
|
|
71
|
+
export type IWebrtcProvider = InferProvider<typeof webrtcCapability>;
|
|
72
|
+
//# sourceMappingURL=webrtc.cap.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"webrtc.cap.d.ts","sourceRoot":"","sources":["../../src/capabilities/webrtc.cap.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AACvB,OAAO,EAAqC,KAAK,aAAa,EAAE,MAAM,4BAA4B,CAAA;AAElG;;;;GAIG;AACH,eAAO,MAAM,uBAAuB;;;;;;iBAQxB,CAAA;AAEZ,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,uBAAuB,CAAC,CAAA;AAEvE,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;QAkBzB;;;WAGG;;;;;;;;;;;;;;;;;;;;;QAeH;;;;;WAKG;;;;;CAMkC,CAAA;AAEzC,MAAM,MAAM,eAAe,GAAG,aAAa,CAAC,OAAO,gBAAgB,CAAC,CAAA"}
|
|
@@ -0,0 +1,213 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
import { type InferProvider } from './capability-definition.js';
|
|
3
|
+
import { DeviceType } from '../device/device-type.js';
|
|
4
|
+
/**
|
|
5
|
+
* Per-zone occupancy aggregation produced by the analytics frame
|
|
6
|
+
* processor on every inference result. Covers the full combinatorial
|
|
7
|
+
* matrix the operator UI needs: total objects everywhere, total
|
|
8
|
+
* objects per zone, single class everywhere, single class per zone,
|
|
9
|
+
* objects outside any zone.
|
|
10
|
+
*
|
|
11
|
+
* Counts are derived from the analytics tracker (tracked detections
|
|
12
|
+
* with stable trackIds), not raw detector hits — this filters out
|
|
13
|
+
* one-off detector flickers and gives counts that match what the user
|
|
14
|
+
* sees on the live overlay.
|
|
15
|
+
*
|
|
16
|
+
* Overlap policy: a detection that intersects two zones counts in
|
|
17
|
+
* BOTH zones' `byClass` and `totalObjects` (count-in-each). The
|
|
18
|
+
* `frame` aggregate de-duplicates trivially since it's frame-wide.
|
|
19
|
+
* `unzoned` counts only detections that landed in zero zones.
|
|
20
|
+
*/
|
|
21
|
+
declare const PerScopeBreakdownSchema: z.ZodObject<{
|
|
22
|
+
totalObjects: z.ZodNumber;
|
|
23
|
+
byClass: z.ZodRecord<z.ZodString, z.ZodNumber>;
|
|
24
|
+
}, z.core.$strip>;
|
|
25
|
+
declare const ZoneScopeBreakdownSchema: z.ZodObject<{
|
|
26
|
+
totalObjects: z.ZodNumber;
|
|
27
|
+
byClass: z.ZodRecord<z.ZodString, z.ZodNumber>;
|
|
28
|
+
zoneId: z.ZodString;
|
|
29
|
+
zoneName: z.ZodString;
|
|
30
|
+
trackIds: z.ZodReadonly<z.ZodArray<z.ZodString>>;
|
|
31
|
+
}, z.core.$strip>;
|
|
32
|
+
export declare const CameraOccupancySnapshotSchema: z.ZodObject<{
|
|
33
|
+
ts: z.ZodNumber;
|
|
34
|
+
frameWidth: z.ZodNumber;
|
|
35
|
+
frameHeight: z.ZodNumber;
|
|
36
|
+
zones: z.ZodReadonly<z.ZodArray<z.ZodObject<{
|
|
37
|
+
totalObjects: z.ZodNumber;
|
|
38
|
+
byClass: z.ZodRecord<z.ZodString, z.ZodNumber>;
|
|
39
|
+
zoneId: z.ZodString;
|
|
40
|
+
zoneName: z.ZodString;
|
|
41
|
+
trackIds: z.ZodReadonly<z.ZodArray<z.ZodString>>;
|
|
42
|
+
}, z.core.$strip>>>;
|
|
43
|
+
frame: z.ZodObject<{
|
|
44
|
+
totalObjects: z.ZodNumber;
|
|
45
|
+
byClass: z.ZodRecord<z.ZodString, z.ZodNumber>;
|
|
46
|
+
}, z.core.$strip>;
|
|
47
|
+
unzoned: z.ZodObject<{
|
|
48
|
+
totalObjects: z.ZodNumber;
|
|
49
|
+
byClass: z.ZodRecord<z.ZodString, z.ZodNumber>;
|
|
50
|
+
}, z.core.$strip>;
|
|
51
|
+
}, z.core.$strip>;
|
|
52
|
+
export type CameraOccupancySnapshot = z.infer<typeof CameraOccupancySnapshotSchema>;
|
|
53
|
+
export type ZoneScopeBreakdown = z.infer<typeof ZoneScopeBreakdownSchema>;
|
|
54
|
+
export type PerScopeBreakdown = z.infer<typeof PerScopeBreakdownSchema>;
|
|
55
|
+
/**
|
|
56
|
+
* Time-series resolution. The history methods return one bucket per
|
|
57
|
+
* step over the requested range. Smaller resolutions cost more
|
|
58
|
+
* memory + bandwidth; bound to discrete steps so caller cannot ask
|
|
59
|
+
* for arbitrary fractional buckets.
|
|
60
|
+
*/
|
|
61
|
+
declare const HistoryResolutionEnum: z.ZodEnum<{
|
|
62
|
+
minute: "minute";
|
|
63
|
+
"5min": "5min";
|
|
64
|
+
hour: "hour";
|
|
65
|
+
}>;
|
|
66
|
+
export type HistoryResolution = z.infer<typeof HistoryResolutionEnum>;
|
|
67
|
+
declare const HistoryRangeSchema: z.ZodObject<{
|
|
68
|
+
from: z.ZodNumber;
|
|
69
|
+
to: z.ZodNumber;
|
|
70
|
+
resolution: z.ZodEnum<{
|
|
71
|
+
minute: "minute";
|
|
72
|
+
"5min": "5min";
|
|
73
|
+
hour: "hour";
|
|
74
|
+
}>;
|
|
75
|
+
}, z.core.$strip>;
|
|
76
|
+
declare const HistoryPointSchema: z.ZodObject<{
|
|
77
|
+
ts: z.ZodNumber;
|
|
78
|
+
count: z.ZodNumber;
|
|
79
|
+
}, z.core.$strip>;
|
|
80
|
+
export type HistoryPoint = z.infer<typeof HistoryPointSchema>;
|
|
81
|
+
/**
|
|
82
|
+
* Zone Analytics capability — spatial occupancy aggregations over
|
|
83
|
+
* tracked detections. Hosted by `addon-pipeline-analytics`.
|
|
84
|
+
*
|
|
85
|
+
* Live snapshot is mirrored into the `zone-occupancy` device-state
|
|
86
|
+
* slice on every frame; the cap method `getCurrentSnapshot` is a
|
|
87
|
+
* direct read for callers that don't want to subscribe.
|
|
88
|
+
*
|
|
89
|
+
* History methods are sourced from a 60-minute rolling in-memory
|
|
90
|
+
* ring of frame-level samples (sub-second resolution). Queries
|
|
91
|
+
* outside the ring window return empty arrays — durable storage
|
|
92
|
+
* is a follow-up (Step 4b: persisted samples → SQL store).
|
|
93
|
+
*
|
|
94
|
+
* Every history method takes an optional `className` filter:
|
|
95
|
+
* - omitted → bucket count includes ALL classes in scope
|
|
96
|
+
* - present → bucket count restricted to that class
|
|
97
|
+
*
|
|
98
|
+
* The `getZoneHistory` / `getCameraHistory` / `getUnzonedHistory`
|
|
99
|
+
* triple covers the three spatial scopes (per-zone, frame-wide,
|
|
100
|
+
* outside-any-zone). Crossing them with `className?` gives the full
|
|
101
|
+
* combinatorial coverage the operator UI requested.
|
|
102
|
+
*/
|
|
103
|
+
export declare const zoneAnalyticsCapability: {
|
|
104
|
+
readonly name: "zone-analytics";
|
|
105
|
+
readonly scope: "device";
|
|
106
|
+
readonly mode: "singleton";
|
|
107
|
+
readonly deviceTypes: readonly [DeviceType.Camera];
|
|
108
|
+
readonly methods: {
|
|
109
|
+
/** Latest computed occupancy snapshot for this camera. Null when
|
|
110
|
+
* the analytics pipeline hasn't seen a frame for this device yet
|
|
111
|
+
* (no inference result emitted since boot or since binding was
|
|
112
|
+
* activated). */
|
|
113
|
+
readonly getCurrentSnapshot: import("./capability-definition.js").CapabilityMethodSchema<z.ZodObject<{
|
|
114
|
+
deviceId: z.ZodNumber;
|
|
115
|
+
}, z.core.$strip>, z.ZodNullable<z.ZodObject<{
|
|
116
|
+
ts: z.ZodNumber;
|
|
117
|
+
frameWidth: z.ZodNumber;
|
|
118
|
+
frameHeight: z.ZodNumber;
|
|
119
|
+
zones: z.ZodReadonly<z.ZodArray<z.ZodObject<{
|
|
120
|
+
totalObjects: z.ZodNumber;
|
|
121
|
+
byClass: z.ZodRecord<z.ZodString, z.ZodNumber>;
|
|
122
|
+
zoneId: z.ZodString;
|
|
123
|
+
zoneName: z.ZodString;
|
|
124
|
+
trackIds: z.ZodReadonly<z.ZodArray<z.ZodString>>;
|
|
125
|
+
}, z.core.$strip>>>;
|
|
126
|
+
frame: z.ZodObject<{
|
|
127
|
+
totalObjects: z.ZodNumber;
|
|
128
|
+
byClass: z.ZodRecord<z.ZodString, z.ZodNumber>;
|
|
129
|
+
}, z.core.$strip>;
|
|
130
|
+
unzoned: z.ZodObject<{
|
|
131
|
+
totalObjects: z.ZodNumber;
|
|
132
|
+
byClass: z.ZodRecord<z.ZodString, z.ZodNumber>;
|
|
133
|
+
}, z.core.$strip>;
|
|
134
|
+
}, z.core.$strip>>, import("./capability-definition.js").CapabilityMethodKind>;
|
|
135
|
+
/** Time-series object count inside one zone. `className` optional —
|
|
136
|
+
* omit to count every class in the zone. */
|
|
137
|
+
readonly getZoneHistory: import("./capability-definition.js").CapabilityMethodSchema<z.ZodObject<{
|
|
138
|
+
deviceId: z.ZodNumber;
|
|
139
|
+
zoneId: z.ZodString;
|
|
140
|
+
className: z.ZodOptional<z.ZodString>;
|
|
141
|
+
from: z.ZodNumber;
|
|
142
|
+
to: z.ZodNumber;
|
|
143
|
+
resolution: z.ZodEnum<{
|
|
144
|
+
minute: "minute";
|
|
145
|
+
"5min": "5min";
|
|
146
|
+
hour: "hour";
|
|
147
|
+
}>;
|
|
148
|
+
}, z.core.$strip>, z.ZodReadonly<z.ZodArray<z.ZodObject<{
|
|
149
|
+
ts: z.ZodNumber;
|
|
150
|
+
count: z.ZodNumber;
|
|
151
|
+
}, z.core.$strip>>>, import("./capability-definition.js").CapabilityMethodKind>;
|
|
152
|
+
/** Time-series frame-wide object count (everywhere). */
|
|
153
|
+
readonly getCameraHistory: import("./capability-definition.js").CapabilityMethodSchema<z.ZodObject<{
|
|
154
|
+
deviceId: z.ZodNumber;
|
|
155
|
+
className: z.ZodOptional<z.ZodString>;
|
|
156
|
+
from: z.ZodNumber;
|
|
157
|
+
to: z.ZodNumber;
|
|
158
|
+
resolution: z.ZodEnum<{
|
|
159
|
+
minute: "minute";
|
|
160
|
+
"5min": "5min";
|
|
161
|
+
hour: "hour";
|
|
162
|
+
}>;
|
|
163
|
+
}, z.core.$strip>, z.ZodReadonly<z.ZodArray<z.ZodObject<{
|
|
164
|
+
ts: z.ZodNumber;
|
|
165
|
+
count: z.ZodNumber;
|
|
166
|
+
}, z.core.$strip>>>, import("./capability-definition.js").CapabilityMethodKind>;
|
|
167
|
+
/** Time-series count of objects outside every zone. */
|
|
168
|
+
readonly getUnzonedHistory: import("./capability-definition.js").CapabilityMethodSchema<z.ZodObject<{
|
|
169
|
+
deviceId: z.ZodNumber;
|
|
170
|
+
className: z.ZodOptional<z.ZodString>;
|
|
171
|
+
from: z.ZodNumber;
|
|
172
|
+
to: z.ZodNumber;
|
|
173
|
+
resolution: z.ZodEnum<{
|
|
174
|
+
minute: "minute";
|
|
175
|
+
"5min": "5min";
|
|
176
|
+
hour: "hour";
|
|
177
|
+
}>;
|
|
178
|
+
}, z.core.$strip>, z.ZodReadonly<z.ZodArray<z.ZodObject<{
|
|
179
|
+
ts: z.ZodNumber;
|
|
180
|
+
count: z.ZodNumber;
|
|
181
|
+
}, z.core.$strip>>>, import("./capability-definition.js").CapabilityMethodKind>;
|
|
182
|
+
};
|
|
183
|
+
/**
|
|
184
|
+
* Runtime-state slice — the latest occupancy snapshot mirrored by
|
|
185
|
+
* the analytics frame processor on every inference result. Consumers
|
|
186
|
+
* read via `device.state.zoneAnalytics.value` and stay in sync
|
|
187
|
+
* automatically; the explicit `getCurrentSnapshot` cap method is
|
|
188
|
+
* still useful for one-off polls without a subscription.
|
|
189
|
+
*/
|
|
190
|
+
readonly runtimeState: z.ZodObject<{
|
|
191
|
+
ts: z.ZodNumber;
|
|
192
|
+
frameWidth: z.ZodNumber;
|
|
193
|
+
frameHeight: z.ZodNumber;
|
|
194
|
+
zones: z.ZodReadonly<z.ZodArray<z.ZodObject<{
|
|
195
|
+
totalObjects: z.ZodNumber;
|
|
196
|
+
byClass: z.ZodRecord<z.ZodString, z.ZodNumber>;
|
|
197
|
+
zoneId: z.ZodString;
|
|
198
|
+
zoneName: z.ZodString;
|
|
199
|
+
trackIds: z.ZodReadonly<z.ZodArray<z.ZodString>>;
|
|
200
|
+
}, z.core.$strip>>>;
|
|
201
|
+
frame: z.ZodObject<{
|
|
202
|
+
totalObjects: z.ZodNumber;
|
|
203
|
+
byClass: z.ZodRecord<z.ZodString, z.ZodNumber>;
|
|
204
|
+
}, z.core.$strip>;
|
|
205
|
+
unzoned: z.ZodObject<{
|
|
206
|
+
totalObjects: z.ZodNumber;
|
|
207
|
+
byClass: z.ZodRecord<z.ZodString, z.ZodNumber>;
|
|
208
|
+
}, z.core.$strip>;
|
|
209
|
+
}, z.core.$strip>;
|
|
210
|
+
};
|
|
211
|
+
export type IZoneAnalyticsProvider = InferProvider<typeof zoneAnalyticsCapability>;
|
|
212
|
+
export { CameraOccupancySnapshotSchema as _CameraOccupancySnapshotSchema, HistoryResolutionEnum, HistoryPointSchema, HistoryRangeSchema, ZoneScopeBreakdownSchema, PerScopeBreakdownSchema, };
|
|
213
|
+
//# sourceMappingURL=zone-analytics.cap.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"zone-analytics.cap.d.ts","sourceRoot":"","sources":["../../src/capabilities/zone-analytics.cap.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AACvB,OAAO,EAAqC,KAAK,aAAa,EAAE,MAAM,4BAA4B,CAAA;AAClG,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAA;AAErD;;;;;;;;;;;;;;;;GAgBG;AACH,QAAA,MAAM,uBAAuB;;;iBAK3B,CAAA;AAEF,QAAA,MAAM,wBAAwB;;;;;;iBAM5B,CAAA;AAEF,eAAO,MAAM,6BAA6B;;;;;;;;;;;;;;;;;;;iBAYxC,CAAA;AACF,MAAM,MAAM,uBAAuB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,6BAA6B,CAAC,CAAA;AACnF,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,wBAAwB,CAAC,CAAA;AACzE,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,uBAAuB,CAAC,CAAA;AAEvE;;;;;GAKG;AACH,QAAA,MAAM,qBAAqB;;;;EAAqC,CAAA;AAChE,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAA;AAErE,QAAA,MAAM,kBAAkB;;;;;;;;iBAMtB,CAAA;AAEF,QAAA,MAAM,kBAAkB;;;iBAKtB,CAAA;AACF,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAA;AAE7D;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,eAAO,MAAM,uBAAuB;;;;;;QAMhC;;;0BAGkB;;;;;;;;;;;;;;;;;;;;;;;QAKlB;qDAC6C;;;;;;;;;;;;;;;;QAS7C,wDAAwD;;;;;;;;;;;;;;;QAQxD,uDAAuD;;;;;;;;;;;;;;;;IASzD;;;;;;OAMG;;;;;;;;;;;;;;;;;;;;;CAEoC,CAAA;AAEzC,MAAM,MAAM,sBAAsB,GAAG,aAAa,CAAC,OAAO,uBAAuB,CAAC,CAAA;AAElF,OAAO,EACL,6BAA6B,IAAI,8BAA8B,EAC/D,qBAAqB,EACrB,kBAAkB,EAClB,kBAAkB,EAClB,wBAAwB,EACxB,uBAAuB,GACxB,CAAA"}
|
|
@@ -0,0 +1,129 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
import { type InferProvider } from './capability-definition.js';
|
|
3
|
+
import { DeviceType } from '../device/device-type.js';
|
|
4
|
+
/**
|
|
5
|
+
* Stages a {@link ZoneRule} can apply to. Discriminator on the rules
|
|
6
|
+
* cap so a single CRUD surface backs every consumer; each stage has
|
|
7
|
+
* its own dev-state mirror slice (`motion-zone-rules`,
|
|
8
|
+
* `detection-zone-rules`, …) so consumer addons subscribe independently.
|
|
9
|
+
*
|
|
10
|
+
* Extend the enum here when a new gating consumer comes online (audio
|
|
11
|
+
* gating, alert filtering, …) — no other surface needs to change.
|
|
12
|
+
*/
|
|
13
|
+
export declare const ZoneRuleStageEnum: z.ZodEnum<{
|
|
14
|
+
motion: "motion";
|
|
15
|
+
detection: "detection";
|
|
16
|
+
}>;
|
|
17
|
+
export type ZoneRuleStage = z.infer<typeof ZoneRuleStageEnum>;
|
|
18
|
+
/**
|
|
19
|
+
* Zone rules capability — per-camera CRUD over the {@link ZoneRule}
|
|
20
|
+
* arrays that decide how each pipeline stage uses the polygon zones.
|
|
21
|
+
*
|
|
22
|
+
* Hosted by `addon-pipeline-orchestrator` alongside the zones provider
|
|
23
|
+
* so the operator has a single hub-side source of truth for both
|
|
24
|
+
* geometry and behaviour. Per-stage rules are stored under the
|
|
25
|
+
* `zoneRules.<stage>` key in the orchestrator's per-device store and
|
|
26
|
+
* mirrored to the device-state slice `<stage>-zone-rules` on every
|
|
27
|
+
* mutation; consumer addons (analytics, motion-wasm, pipeline-executor)
|
|
28
|
+
* subscribe to that slice and refresh their gating without
|
|
29
|
+
* round-tripping the cap.
|
|
30
|
+
*
|
|
31
|
+
* Sets are bulk-replace — the operator UI sends the new rule list
|
|
32
|
+
* wholesale, so reordering / batch enable-toggle / drag-drop CRUD lives
|
|
33
|
+
* naturally in the rule editor without per-rule mutation chatter.
|
|
34
|
+
*/
|
|
35
|
+
export declare const zoneRulesCapability: {
|
|
36
|
+
readonly name: "zone-rules";
|
|
37
|
+
readonly scope: "device";
|
|
38
|
+
readonly mode: "singleton";
|
|
39
|
+
readonly deviceTypes: readonly [DeviceType.Camera];
|
|
40
|
+
readonly methods: {
|
|
41
|
+
/** Read the full rule list for a given stage (empty when no rules
|
|
42
|
+
* are defined yet). */
|
|
43
|
+
readonly listRules: import("./capability-definition.js").CapabilityMethodSchema<z.ZodObject<{
|
|
44
|
+
deviceId: z.ZodNumber;
|
|
45
|
+
stage: z.ZodEnum<{
|
|
46
|
+
motion: "motion";
|
|
47
|
+
detection: "detection";
|
|
48
|
+
}>;
|
|
49
|
+
}, z.core.$strip>, z.ZodReadonly<z.ZodArray<z.ZodObject<{
|
|
50
|
+
id: z.ZodString;
|
|
51
|
+
name: z.ZodOptional<z.ZodString>;
|
|
52
|
+
zoneIds: z.ZodReadonly<z.ZodArray<z.ZodString>>;
|
|
53
|
+
mode: z.ZodEnum<{
|
|
54
|
+
include: "include";
|
|
55
|
+
exclude: "exclude";
|
|
56
|
+
}>;
|
|
57
|
+
classFilter: z.ZodOptional<z.ZodReadonly<z.ZodArray<z.ZodString>>>;
|
|
58
|
+
overlapThreshold: z.ZodOptional<z.ZodNumber>;
|
|
59
|
+
bboxInclusionPct: z.ZodOptional<z.ZodNumber>;
|
|
60
|
+
preferMask: z.ZodOptional<z.ZodBoolean>;
|
|
61
|
+
enabled: z.ZodDefault<z.ZodBoolean>;
|
|
62
|
+
}, z.core.$strip>>>, import("./capability-definition.js").CapabilityMethodKind>;
|
|
63
|
+
/** Bulk-replace the rule list for one stage. The provider validates
|
|
64
|
+
* each entry against {@link ZoneRuleSchema} (zoneIds non-empty,
|
|
65
|
+
* thresholds in range) and rejects the whole patch if any entry
|
|
66
|
+
* is invalid — partial writes are a configuration footgun. */
|
|
67
|
+
readonly setRules: import("./capability-definition.js").CapabilityMethodSchema<z.ZodObject<{
|
|
68
|
+
deviceId: z.ZodNumber;
|
|
69
|
+
stage: z.ZodEnum<{
|
|
70
|
+
motion: "motion";
|
|
71
|
+
detection: "detection";
|
|
72
|
+
}>;
|
|
73
|
+
rules: z.ZodReadonly<z.ZodArray<z.ZodObject<{
|
|
74
|
+
id: z.ZodString;
|
|
75
|
+
name: z.ZodOptional<z.ZodString>;
|
|
76
|
+
zoneIds: z.ZodReadonly<z.ZodArray<z.ZodString>>;
|
|
77
|
+
mode: z.ZodEnum<{
|
|
78
|
+
include: "include";
|
|
79
|
+
exclude: "exclude";
|
|
80
|
+
}>;
|
|
81
|
+
classFilter: z.ZodOptional<z.ZodReadonly<z.ZodArray<z.ZodString>>>;
|
|
82
|
+
overlapThreshold: z.ZodOptional<z.ZodNumber>;
|
|
83
|
+
bboxInclusionPct: z.ZodOptional<z.ZodNumber>;
|
|
84
|
+
preferMask: z.ZodOptional<z.ZodBoolean>;
|
|
85
|
+
enabled: z.ZodDefault<z.ZodBoolean>;
|
|
86
|
+
}, z.core.$strip>>>;
|
|
87
|
+
}, z.core.$strip>, z.ZodVoid, "mutation">;
|
|
88
|
+
};
|
|
89
|
+
/**
|
|
90
|
+
* Runtime-state slice — both stages mirrored together so consumers
|
|
91
|
+
* see one reactive handle (`device.state.zoneRules.value`) instead
|
|
92
|
+
* of two. Bulk-replace mutations on either stage write the full
|
|
93
|
+
* `{motion, detection}` shape, so subscribers always get the
|
|
94
|
+
* complete current set. Consumers that only care about one stage
|
|
95
|
+
* just read the matching property.
|
|
96
|
+
*/
|
|
97
|
+
readonly runtimeState: z.ZodObject<{
|
|
98
|
+
motion: z.ZodReadonly<z.ZodArray<z.ZodObject<{
|
|
99
|
+
id: z.ZodString;
|
|
100
|
+
name: z.ZodOptional<z.ZodString>;
|
|
101
|
+
zoneIds: z.ZodReadonly<z.ZodArray<z.ZodString>>;
|
|
102
|
+
mode: z.ZodEnum<{
|
|
103
|
+
include: "include";
|
|
104
|
+
exclude: "exclude";
|
|
105
|
+
}>;
|
|
106
|
+
classFilter: z.ZodOptional<z.ZodReadonly<z.ZodArray<z.ZodString>>>;
|
|
107
|
+
overlapThreshold: z.ZodOptional<z.ZodNumber>;
|
|
108
|
+
bboxInclusionPct: z.ZodOptional<z.ZodNumber>;
|
|
109
|
+
preferMask: z.ZodOptional<z.ZodBoolean>;
|
|
110
|
+
enabled: z.ZodDefault<z.ZodBoolean>;
|
|
111
|
+
}, z.core.$strip>>>;
|
|
112
|
+
detection: z.ZodReadonly<z.ZodArray<z.ZodObject<{
|
|
113
|
+
id: z.ZodString;
|
|
114
|
+
name: z.ZodOptional<z.ZodString>;
|
|
115
|
+
zoneIds: z.ZodReadonly<z.ZodArray<z.ZodString>>;
|
|
116
|
+
mode: z.ZodEnum<{
|
|
117
|
+
include: "include";
|
|
118
|
+
exclude: "exclude";
|
|
119
|
+
}>;
|
|
120
|
+
classFilter: z.ZodOptional<z.ZodReadonly<z.ZodArray<z.ZodString>>>;
|
|
121
|
+
overlapThreshold: z.ZodOptional<z.ZodNumber>;
|
|
122
|
+
bboxInclusionPct: z.ZodOptional<z.ZodNumber>;
|
|
123
|
+
preferMask: z.ZodOptional<z.ZodBoolean>;
|
|
124
|
+
enabled: z.ZodDefault<z.ZodBoolean>;
|
|
125
|
+
}, z.core.$strip>>>;
|
|
126
|
+
}, z.core.$strip>;
|
|
127
|
+
};
|
|
128
|
+
export type IZoneRulesProvider = InferProvider<typeof zoneRulesCapability>;
|
|
129
|
+
//# sourceMappingURL=zone-rules.cap.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"zone-rules.cap.d.ts","sourceRoot":"","sources":["../../src/capabilities/zone-rules.cap.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AACvB,OAAO,EAAqC,KAAK,aAAa,EAAE,MAAM,4BAA4B,CAAA;AAClG,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAA;AAGrD;;;;;;;;GAQG;AACH,eAAO,MAAM,iBAAiB;;;EAAkC,CAAA;AAChE,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAA;AAE7D;;;;;;;;;;;;;;;;GAgBG;AACH,eAAO,MAAM,mBAAmB;;;;;;QAM5B;gCACwB;;;;;;;;;;;;;;;;;;;;;QAKxB;;;uEAG+D;;;;;;;;;;;;;;;;;;;;;;;IAWjE;;;;;;;OAOG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAKoC,CAAA;AAEzC,MAAM,MAAM,kBAAkB,GAAG,aAAa,CAAC,OAAO,mBAAmB,CAAC,CAAA"}
|