@camstack/types 0.1.14 → 0.1.15
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/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 +280 -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/backup.cap.d.ts +48 -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 +177 -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/log-destination.cap.d.ts +70 -0
- package/dist/capabilities/log-destination.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/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.cap.d.ts +104 -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-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 +170 -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/enums/event-category.d.ts +327 -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 +13401 -3202
- 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 +257 -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 +80 -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 +86 -22
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +12328 -436
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +11952 -427
- package/dist/index.mjs.map +1 -1
- package/dist/interfaces/addon.d.ts +678 -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 +117 -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 +159 -23
- package/dist/interfaces/capability.d.ts.map +1 -1
- package/dist/interfaces/config-ui.d.ts +609 -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.d.ts +123 -45
- 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 +7583 -0
- package/dist/node.js.map +1 -0
- package/dist/node.mjs +7534 -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,44 @@
|
|
|
1
|
+
/** Shared Zod schemas for the runtime pipeline orchestrator metrics. */
|
|
2
|
+
import { z } from 'zod';
|
|
3
|
+
export declare const OrchestratorMetricsSchema: z.ZodObject<{
|
|
4
|
+
activeCameras: z.ZodNumber;
|
|
5
|
+
throttledCameras: z.ZodNumber;
|
|
6
|
+
avgInferenceTimeMs: z.ZodNumber;
|
|
7
|
+
queueDepth: z.ZodNumber;
|
|
8
|
+
}, z.core.$strip>;
|
|
9
|
+
export declare const CameraMetricsSchema: z.ZodObject<{
|
|
10
|
+
detectionMode: z.ZodEnum<{
|
|
11
|
+
disabled: "disabled";
|
|
12
|
+
"always-on": "always-on";
|
|
13
|
+
"on-motion": "on-motion";
|
|
14
|
+
}>;
|
|
15
|
+
configuredFps: z.ZodNumber;
|
|
16
|
+
actualFps: z.ZodNumber;
|
|
17
|
+
queueDepth: z.ZodNumber;
|
|
18
|
+
avgInferenceTimeMs: z.ZodNumber;
|
|
19
|
+
droppedFrames: z.ZodNumber;
|
|
20
|
+
phase: z.ZodEnum<{
|
|
21
|
+
idle: "idle";
|
|
22
|
+
watching: "watching";
|
|
23
|
+
active: "active";
|
|
24
|
+
}>;
|
|
25
|
+
}, z.core.$strip>;
|
|
26
|
+
export declare const CameraMetricsWithDeviceIdSchema: z.ZodObject<{
|
|
27
|
+
detectionMode: z.ZodEnum<{
|
|
28
|
+
disabled: "disabled";
|
|
29
|
+
"always-on": "always-on";
|
|
30
|
+
"on-motion": "on-motion";
|
|
31
|
+
}>;
|
|
32
|
+
configuredFps: z.ZodNumber;
|
|
33
|
+
actualFps: z.ZodNumber;
|
|
34
|
+
queueDepth: z.ZodNumber;
|
|
35
|
+
avgInferenceTimeMs: z.ZodNumber;
|
|
36
|
+
droppedFrames: z.ZodNumber;
|
|
37
|
+
phase: z.ZodEnum<{
|
|
38
|
+
idle: "idle";
|
|
39
|
+
watching: "watching";
|
|
40
|
+
active: "active";
|
|
41
|
+
}>;
|
|
42
|
+
deviceId: z.ZodNumber;
|
|
43
|
+
}, z.core.$strip>;
|
|
44
|
+
//# sourceMappingURL=orchestrator-metrics.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"orchestrator-metrics.d.ts","sourceRoot":"","sources":["../../../src/capabilities/schemas/orchestrator-metrics.ts"],"names":[],"mappings":"AAAA,wEAAwE;AAExE,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAEvB,eAAO,MAAM,yBAAyB;;;;;iBAKpC,CAAA;AAEF,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;iBAQ9B,CAAA;AAEF,eAAO,MAAM,+BAA+B;;;;;;;;;;;;;;;;;iBAE1C,CAAA"}
|
|
@@ -0,0 +1,177 @@
|
|
|
1
|
+
/** Shared Zod schemas used across streaming capabilities. */
|
|
2
|
+
import { z } from 'zod';
|
|
3
|
+
export declare const CamProfileSchema: z.ZodEnum<{
|
|
4
|
+
high: "high";
|
|
5
|
+
mid: "mid";
|
|
6
|
+
low: "low";
|
|
7
|
+
}>;
|
|
8
|
+
export type CamProfile = z.infer<typeof CamProfileSchema>;
|
|
9
|
+
/** Canonical ordering. Hard-coded; never sorted. */
|
|
10
|
+
export declare const CAM_PROFILE_ORDER: readonly ["high", "mid", "low"];
|
|
11
|
+
export declare const CamStreamKindSchema: z.ZodEnum<{
|
|
12
|
+
"pull-rtsp": "pull-rtsp";
|
|
13
|
+
"pull-rtmp": "pull-rtmp";
|
|
14
|
+
"pull-http": "pull-http";
|
|
15
|
+
"pull-rfc4571": "pull-rfc4571";
|
|
16
|
+
"push-annexb": "push-annexb";
|
|
17
|
+
}>;
|
|
18
|
+
export type CamStreamKind = z.infer<typeof CamStreamKindSchema>;
|
|
19
|
+
export declare const CamStreamResolutionSchema: z.ZodObject<{
|
|
20
|
+
width: z.ZodNumber;
|
|
21
|
+
height: z.ZodNumber;
|
|
22
|
+
}, z.core.$strip>;
|
|
23
|
+
export declare const CameraStreamSchema: z.ZodObject<{
|
|
24
|
+
camStreamId: z.ZodString;
|
|
25
|
+
deviceId: z.ZodNumber;
|
|
26
|
+
kind: z.ZodEnum<{
|
|
27
|
+
"pull-rtsp": "pull-rtsp";
|
|
28
|
+
"pull-rtmp": "pull-rtmp";
|
|
29
|
+
"pull-http": "pull-http";
|
|
30
|
+
"pull-rfc4571": "pull-rfc4571";
|
|
31
|
+
"push-annexb": "push-annexb";
|
|
32
|
+
}>;
|
|
33
|
+
url: z.ZodOptional<z.ZodString>;
|
|
34
|
+
codec: z.ZodOptional<z.ZodString>;
|
|
35
|
+
resolution: z.ZodOptional<z.ZodObject<{
|
|
36
|
+
width: z.ZodNumber;
|
|
37
|
+
height: z.ZodNumber;
|
|
38
|
+
}, z.core.$strip>>;
|
|
39
|
+
fps: z.ZodOptional<z.ZodNumber>;
|
|
40
|
+
label: z.ZodOptional<z.ZodString>;
|
|
41
|
+
deviceFeatures: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
42
|
+
autoEligible: z.ZodOptional<z.ZodBoolean>;
|
|
43
|
+
metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
44
|
+
}, z.core.$strip>;
|
|
45
|
+
export type CameraStream = z.infer<typeof CameraStreamSchema>;
|
|
46
|
+
export declare const ProfileSlotStatusSchema: z.ZodEnum<{
|
|
47
|
+
error: "error";
|
|
48
|
+
streaming: "streaming";
|
|
49
|
+
idle: "idle";
|
|
50
|
+
connecting: "connecting";
|
|
51
|
+
unassigned: "unassigned";
|
|
52
|
+
}>;
|
|
53
|
+
export type ProfileSlotStatus = z.infer<typeof ProfileSlotStatusSchema>;
|
|
54
|
+
export declare const ProfileSlotSchema: z.ZodObject<{
|
|
55
|
+
deviceId: z.ZodNumber;
|
|
56
|
+
profile: z.ZodEnum<{
|
|
57
|
+
high: "high";
|
|
58
|
+
mid: "mid";
|
|
59
|
+
low: "low";
|
|
60
|
+
}>;
|
|
61
|
+
brokerId: z.ZodString;
|
|
62
|
+
sourceCamStreamId: z.ZodNullable<z.ZodString>;
|
|
63
|
+
status: z.ZodEnum<{
|
|
64
|
+
error: "error";
|
|
65
|
+
streaming: "streaming";
|
|
66
|
+
idle: "idle";
|
|
67
|
+
connecting: "connecting";
|
|
68
|
+
unassigned: "unassigned";
|
|
69
|
+
}>;
|
|
70
|
+
resolution: z.ZodOptional<z.ZodObject<{
|
|
71
|
+
width: z.ZodNumber;
|
|
72
|
+
height: z.ZodNumber;
|
|
73
|
+
}, z.core.$strip>>;
|
|
74
|
+
codec: z.ZodOptional<z.ZodString>;
|
|
75
|
+
preBufferSec: z.ZodOptional<z.ZodNumber>;
|
|
76
|
+
errorMessage: z.ZodOptional<z.ZodString>;
|
|
77
|
+
}, z.core.$strip>;
|
|
78
|
+
export type ProfileSlot = z.infer<typeof ProfileSlotSchema>;
|
|
79
|
+
/**
|
|
80
|
+
* Zod schema for StreamSourceEntry — the canonical stream descriptor
|
|
81
|
+
* exposed by ICameraDevice.getStreamSources() and consumed by the broker.
|
|
82
|
+
*/
|
|
83
|
+
export declare const StreamSourceEntrySchema: z.ZodObject<{
|
|
84
|
+
id: z.ZodString;
|
|
85
|
+
label: z.ZodString;
|
|
86
|
+
protocol: z.ZodEnum<{
|
|
87
|
+
custom: "custom";
|
|
88
|
+
rtsp: "rtsp";
|
|
89
|
+
rtmp: "rtmp";
|
|
90
|
+
webrtc: "webrtc";
|
|
91
|
+
annexb: "annexb";
|
|
92
|
+
"http-mjpeg": "http-mjpeg";
|
|
93
|
+
}>;
|
|
94
|
+
url: z.ZodOptional<z.ZodString>;
|
|
95
|
+
resolution: z.ZodOptional<z.ZodReadonly<z.ZodObject<{
|
|
96
|
+
width: z.ZodNumber;
|
|
97
|
+
height: z.ZodNumber;
|
|
98
|
+
}, z.core.$strip>>>;
|
|
99
|
+
fps: z.ZodOptional<z.ZodNumber>;
|
|
100
|
+
bitrate: z.ZodOptional<z.ZodNumber>;
|
|
101
|
+
codec: z.ZodOptional<z.ZodString>;
|
|
102
|
+
profileHint: z.ZodOptional<z.ZodEnum<{
|
|
103
|
+
high: "high";
|
|
104
|
+
mid: "mid";
|
|
105
|
+
low: "low";
|
|
106
|
+
}>>;
|
|
107
|
+
}, z.core.$strip>;
|
|
108
|
+
export declare const StreamSourceSchema: z.ZodObject<{
|
|
109
|
+
type: z.ZodString;
|
|
110
|
+
url: z.ZodString;
|
|
111
|
+
videoCodec: z.ZodOptional<z.ZodString>;
|
|
112
|
+
audioCodec: z.ZodOptional<z.ZodString>;
|
|
113
|
+
metadata: z.ZodOptional<z.ZodReadonly<z.ZodRecord<z.ZodString, z.ZodUnknown>>>;
|
|
114
|
+
}, z.core.$strip>;
|
|
115
|
+
export declare const EncodedPacketSchema: z.ZodObject<{
|
|
116
|
+
type: z.ZodEnum<{
|
|
117
|
+
audio: "audio";
|
|
118
|
+
video: "video";
|
|
119
|
+
}>;
|
|
120
|
+
data: z.ZodCustom<Uint8Array<ArrayBuffer>, Uint8Array<ArrayBuffer>>;
|
|
121
|
+
pts: z.ZodNumber;
|
|
122
|
+
dts: z.ZodNumber;
|
|
123
|
+
keyframe: z.ZodBoolean;
|
|
124
|
+
codec: z.ZodString;
|
|
125
|
+
}, z.core.$strip>;
|
|
126
|
+
export declare const DecodedFrameSchema: z.ZodObject<{
|
|
127
|
+
data: z.ZodCustom<Uint8Array<ArrayBuffer>, Uint8Array<ArrayBuffer>>;
|
|
128
|
+
width: z.ZodNumber;
|
|
129
|
+
height: z.ZodNumber;
|
|
130
|
+
format: z.ZodEnum<{
|
|
131
|
+
jpeg: "jpeg";
|
|
132
|
+
rgb: "rgb";
|
|
133
|
+
bgr: "bgr";
|
|
134
|
+
yuv420: "yuv420";
|
|
135
|
+
gray: "gray";
|
|
136
|
+
}>;
|
|
137
|
+
timestamp: z.ZodNumber;
|
|
138
|
+
}, z.core.$strip>;
|
|
139
|
+
export declare const BrokerStatusSchema: z.ZodEnum<{
|
|
140
|
+
error: "error";
|
|
141
|
+
streaming: "streaming";
|
|
142
|
+
stopped: "stopped";
|
|
143
|
+
idle: "idle";
|
|
144
|
+
connecting: "connecting";
|
|
145
|
+
}>;
|
|
146
|
+
export declare const BrokerStatsSchema: z.ZodObject<{
|
|
147
|
+
status: z.ZodEnum<{
|
|
148
|
+
error: "error";
|
|
149
|
+
streaming: "streaming";
|
|
150
|
+
stopped: "stopped";
|
|
151
|
+
idle: "idle";
|
|
152
|
+
connecting: "connecting";
|
|
153
|
+
}>;
|
|
154
|
+
inputFps: z.ZodNumber;
|
|
155
|
+
decodeFps: z.ZodNumber;
|
|
156
|
+
encodedSubscribers: z.ZodNumber;
|
|
157
|
+
decodedSubscribers: z.ZodNumber;
|
|
158
|
+
uptimeMs: z.ZodNumber;
|
|
159
|
+
bitrateKbps: z.ZodNumber;
|
|
160
|
+
idrIntervalMs: z.ZodNumber;
|
|
161
|
+
codec: z.ZodOptional<z.ZodString>;
|
|
162
|
+
totalBytes: z.ZodNumber;
|
|
163
|
+
packetCount: z.ZodNumber;
|
|
164
|
+
rtspClients: z.ZodNumber;
|
|
165
|
+
pipeClients: z.ZodNumber;
|
|
166
|
+
preBufferSec: z.ZodNumber;
|
|
167
|
+
preBufferMs: z.ZodNumber;
|
|
168
|
+
preBufferPackets: z.ZodNumber;
|
|
169
|
+
decoderNodeId: z.ZodNullable<z.ZodString>;
|
|
170
|
+
audio: z.ZodOptional<z.ZodNullable<z.ZodObject<{
|
|
171
|
+
codec: z.ZodString;
|
|
172
|
+
sampleRate: z.ZodNumber;
|
|
173
|
+
channels: z.ZodNumber;
|
|
174
|
+
supported: z.ZodBoolean;
|
|
175
|
+
}, z.core.$strip>>>;
|
|
176
|
+
}, z.core.$strip>;
|
|
177
|
+
//# sourceMappingURL=streaming-shared.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"streaming-shared.d.ts","sourceRoot":"","sources":["../../../src/capabilities/schemas/streaming-shared.ts"],"names":[],"mappings":"AAAA,6DAA6D;AAE7D,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAUvB,eAAO,MAAM,gBAAgB;;;;EAAiC,CAAA;AAC9D,MAAM,MAAM,UAAU,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gBAAgB,CAAC,CAAA;AAEzD,oDAAoD;AACpD,eAAO,MAAM,iBAAiB,iCAAkC,CAAA;AAiBhE,eAAO,MAAM,mBAAmB;;;;;;EAM9B,CAAA;AACF,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAA;AAE/D,eAAO,MAAM,yBAAyB;;;iBAGpC,CAAA;AAEF,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;iBA2C7B,CAAA;AACF,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAA;AAS7D,eAAO,MAAM,uBAAuB;;;;;;EAMlC,CAAA;AACF,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,uBAAuB,CAAC,CAAA;AAEvE,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;iBAY5B,CAAA;AACF,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAA;AAE3D;;;GAGG;AACH,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;;;;;;;;;;iBAUlC,CAAA;AAEF,eAAO,MAAM,kBAAkB;;;;;;iBAM7B,CAAA;AAEF,eAAO,MAAM,mBAAmB;;;;;;;;;;iBAO9B,CAAA;AAEF,eAAO,MAAM,kBAAkB;;;;;;;;;;;;iBAM7B,CAAA;AAEF,eAAO,MAAM,kBAAkB;;;;;;EAAkE,CAAA;AAEjG,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAuC5B,CAAA"}
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
/**
|
|
3
|
+
* Per-stage gating mode applied to the zones a rule references.
|
|
4
|
+
*
|
|
5
|
+
* - `include`: the rule contributes to a **whitelist** for its stage.
|
|
6
|
+
* When at least one `include` rule fires for a stage, only entities
|
|
7
|
+
* inside one of those zones pass that stage.
|
|
8
|
+
* - `exclude`: the rule contributes to a **blacklist** for its stage.
|
|
9
|
+
* Entities inside one of those zones are dropped at that stage.
|
|
10
|
+
*
|
|
11
|
+
* `monitor`-style observation (count without filtering) is not a rule
|
|
12
|
+
* mode — zones without any matching rule are observed naturally by
|
|
13
|
+
* `zone-analytics` (live snapshot + history), so an "I just want to
|
|
14
|
+
* count, not filter" use case needs no rule at all.
|
|
15
|
+
*/
|
|
16
|
+
export declare const ZoneRuleModeEnum: z.ZodEnum<{
|
|
17
|
+
include: "include";
|
|
18
|
+
exclude: "exclude";
|
|
19
|
+
}>;
|
|
20
|
+
export type ZoneRuleMode = z.infer<typeof ZoneRuleModeEnum>;
|
|
21
|
+
/**
|
|
22
|
+
* Per-consumer rule that references existing zones (geometry) and
|
|
23
|
+
* defines how a specific pipeline stage should treat them. Each
|
|
24
|
+
* consumer addon owns its own `ZoneRule[]` array in its per-device
|
|
25
|
+
* settings:
|
|
26
|
+
*
|
|
27
|
+
* - `addon-motion-wasm` → `motionZoneRules: ZoneRule[]` (motion stage)
|
|
28
|
+
* - `addon-detection-pipeline` → `detectionZoneRules: ZoneRule[]` (detection stage)
|
|
29
|
+
* - future: notification rules, audio gating, etc.
|
|
30
|
+
*
|
|
31
|
+
* One rule applies to N zones (`zoneIds[]`) so the operator can
|
|
32
|
+
* express "ignore motion in ALL of {garden, street}" with a single
|
|
33
|
+
* rule. `classFilter` narrows the rule to specific object classes —
|
|
34
|
+
* "drop person detections in the street, but keep cars" is one
|
|
35
|
+
* `exclude` rule with `classFilter: ['person']`.
|
|
36
|
+
*
|
|
37
|
+
* `enabled` is a soft toggle — the operator can keep the rule
|
|
38
|
+
* configured but inert without deleting it.
|
|
39
|
+
*/
|
|
40
|
+
export declare const ZoneRuleSchema: z.ZodObject<{
|
|
41
|
+
id: z.ZodString;
|
|
42
|
+
name: z.ZodOptional<z.ZodString>;
|
|
43
|
+
zoneIds: z.ZodReadonly<z.ZodArray<z.ZodString>>;
|
|
44
|
+
mode: z.ZodEnum<{
|
|
45
|
+
include: "include";
|
|
46
|
+
exclude: "exclude";
|
|
47
|
+
}>;
|
|
48
|
+
classFilter: z.ZodOptional<z.ZodReadonly<z.ZodArray<z.ZodString>>>;
|
|
49
|
+
overlapThreshold: z.ZodOptional<z.ZodNumber>;
|
|
50
|
+
bboxInclusionPct: z.ZodOptional<z.ZodNumber>;
|
|
51
|
+
preferMask: z.ZodOptional<z.ZodBoolean>;
|
|
52
|
+
enabled: z.ZodDefault<z.ZodBoolean>;
|
|
53
|
+
}, z.core.$strip>;
|
|
54
|
+
export type ZoneRule = z.infer<typeof ZoneRuleSchema>;
|
|
55
|
+
/**
|
|
56
|
+
* Convenience array schema — used by addon device-settings
|
|
57
|
+
* contributions and runtime payloads (e.g. `RunnerCameraConfig`).
|
|
58
|
+
*/
|
|
59
|
+
export declare const ZoneRulesArraySchema: z.ZodReadonly<z.ZodArray<z.ZodObject<{
|
|
60
|
+
id: z.ZodString;
|
|
61
|
+
name: z.ZodOptional<z.ZodString>;
|
|
62
|
+
zoneIds: z.ZodReadonly<z.ZodArray<z.ZodString>>;
|
|
63
|
+
mode: z.ZodEnum<{
|
|
64
|
+
include: "include";
|
|
65
|
+
exclude: "exclude";
|
|
66
|
+
}>;
|
|
67
|
+
classFilter: z.ZodOptional<z.ZodReadonly<z.ZodArray<z.ZodString>>>;
|
|
68
|
+
overlapThreshold: z.ZodOptional<z.ZodNumber>;
|
|
69
|
+
bboxInclusionPct: z.ZodOptional<z.ZodNumber>;
|
|
70
|
+
preferMask: z.ZodOptional<z.ZodBoolean>;
|
|
71
|
+
enabled: z.ZodDefault<z.ZodBoolean>;
|
|
72
|
+
}, z.core.$strip>>>;
|
|
73
|
+
export type ZoneRules = z.infer<typeof ZoneRulesArraySchema>;
|
|
74
|
+
//# sourceMappingURL=zone-rule.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"zone-rule.d.ts","sourceRoot":"","sources":["../../../src/capabilities/schemas/zone-rule.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAEvB;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,gBAAgB;;;EAAiC,CAAA;AAC9D,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gBAAgB,CAAC,CAAA;AAE3D;;;;;;;;;;;;;;;;;;GAkBG;AACH,eAAO,MAAM,cAAc;;;;;;;;;;;;;iBAkDzB,CAAA;AACF,MAAM,MAAM,QAAQ,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,cAAc,CAAC,CAAA;AAErD;;;GAGG;AACH,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;mBAAqC,CAAA;AACtE,MAAM,MAAM,SAAS,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAA"}
|
|
@@ -0,0 +1,198 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
import { type InferProvider } from './capability-definition.js';
|
|
3
|
+
/**
|
|
4
|
+
* Query filter for settings-store collections.
|
|
5
|
+
*/
|
|
6
|
+
declare const QueryFilterSchema: z.ZodObject<{
|
|
7
|
+
where: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
8
|
+
whereIn: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodArray<z.ZodUnknown>>>;
|
|
9
|
+
whereBetween: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodTuple<[z.ZodUnknown, z.ZodUnknown], null>>>;
|
|
10
|
+
orderBy: z.ZodOptional<z.ZodObject<{
|
|
11
|
+
field: z.ZodString;
|
|
12
|
+
direction: z.ZodEnum<{
|
|
13
|
+
asc: "asc";
|
|
14
|
+
desc: "desc";
|
|
15
|
+
}>;
|
|
16
|
+
}, z.core.$strip>>;
|
|
17
|
+
limit: z.ZodOptional<z.ZodNumber>;
|
|
18
|
+
offset: z.ZodOptional<z.ZodNumber>;
|
|
19
|
+
}, z.core.$strip>;
|
|
20
|
+
/** A single stored record: `{ id, data }`. */
|
|
21
|
+
declare const SettingsRecordSchema: z.ZodObject<{
|
|
22
|
+
id: z.ZodString;
|
|
23
|
+
data: z.ZodRecord<z.ZodString, z.ZodUnknown>;
|
|
24
|
+
}, z.core.$strip>;
|
|
25
|
+
/**
|
|
26
|
+
* Column declaration for a structured (SQL-backed) collection.
|
|
27
|
+
* SQLite types: TEXT, INTEGER, REAL, JSON (JSON is a compatibility type —
|
|
28
|
+
* SQLite stores it as TEXT, backend handles serialization).
|
|
29
|
+
*/
|
|
30
|
+
declare const CollectionColumnSchema: z.ZodObject<{
|
|
31
|
+
name: z.ZodString;
|
|
32
|
+
type: z.ZodEnum<{
|
|
33
|
+
TEXT: "TEXT";
|
|
34
|
+
INTEGER: "INTEGER";
|
|
35
|
+
REAL: "REAL";
|
|
36
|
+
JSON: "JSON";
|
|
37
|
+
}>;
|
|
38
|
+
primaryKey: z.ZodOptional<z.ZodBoolean>;
|
|
39
|
+
notNull: z.ZodOptional<z.ZodBoolean>;
|
|
40
|
+
unique: z.ZodOptional<z.ZodBoolean>;
|
|
41
|
+
}, z.core.$strip>;
|
|
42
|
+
declare const CollectionIndexSchema: z.ZodObject<{
|
|
43
|
+
name: z.ZodString;
|
|
44
|
+
columns: z.ZodReadonly<z.ZodArray<z.ZodString>>;
|
|
45
|
+
unique: z.ZodOptional<z.ZodBoolean>;
|
|
46
|
+
}, z.core.$strip>;
|
|
47
|
+
/**
|
|
48
|
+
* settings-store — singleton capability for addon-scoped persistence.
|
|
49
|
+
*
|
|
50
|
+
* Every method operates within a `collection`. An optional `namespace`
|
|
51
|
+
* field provides access to additional data spaces beyond the default
|
|
52
|
+
* addon settings — useful for business data (events, tracks, faces, etc.).
|
|
53
|
+
*
|
|
54
|
+
* Scoping: the implementation prefixes every collection with the calling
|
|
55
|
+
* addon's ID automatically. Addons never see each other's data.
|
|
56
|
+
*
|
|
57
|
+
* - No namespace (default): `"addon-settings"` → `"<addonId>:addon-settings"`
|
|
58
|
+
* - With namespace: `{ namespace: 'events', collection: 'detections' }` →
|
|
59
|
+
* `"<addonId>:events:detections"`
|
|
60
|
+
*
|
|
61
|
+
* Implemented by `@camstack/core/builtins/sqlite-settings` (SQLite WAL backend).
|
|
62
|
+
* Addons access it via `ctx.api.settingsStore.*`.
|
|
63
|
+
*/
|
|
64
|
+
export declare const settingsStoreCapability: {
|
|
65
|
+
readonly name: "settings-store";
|
|
66
|
+
readonly scope: "system";
|
|
67
|
+
readonly mode: "singleton";
|
|
68
|
+
readonly methods: {
|
|
69
|
+
/** Get a single value by key from a collection. */
|
|
70
|
+
readonly get: import("./capability-definition.js").CapabilityMethodSchema<z.ZodObject<{
|
|
71
|
+
namespace: z.ZodOptional<z.ZodString>;
|
|
72
|
+
collection: z.ZodString;
|
|
73
|
+
key: z.ZodString;
|
|
74
|
+
}, z.core.$strip>, z.ZodUnknown, import("./capability-definition.js").CapabilityMethodKind>;
|
|
75
|
+
/** Set a value by key in a collection (upsert). */
|
|
76
|
+
readonly set: import("./capability-definition.js").CapabilityMethodSchema<z.ZodObject<{
|
|
77
|
+
namespace: z.ZodOptional<z.ZodString>;
|
|
78
|
+
collection: z.ZodString;
|
|
79
|
+
key: z.ZodString;
|
|
80
|
+
value: z.ZodUnknown;
|
|
81
|
+
}, z.core.$strip>, z.ZodVoid, "mutation">;
|
|
82
|
+
/** Get all entries matching an optional filter. */
|
|
83
|
+
readonly query: import("./capability-definition.js").CapabilityMethodSchema<z.ZodObject<{
|
|
84
|
+
namespace: z.ZodOptional<z.ZodString>;
|
|
85
|
+
collection: z.ZodString;
|
|
86
|
+
filter: z.ZodOptional<z.ZodObject<{
|
|
87
|
+
where: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
88
|
+
whereIn: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodArray<z.ZodUnknown>>>;
|
|
89
|
+
whereBetween: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodTuple<[z.ZodUnknown, z.ZodUnknown], null>>>;
|
|
90
|
+
orderBy: z.ZodOptional<z.ZodObject<{
|
|
91
|
+
field: z.ZodString;
|
|
92
|
+
direction: z.ZodEnum<{
|
|
93
|
+
asc: "asc";
|
|
94
|
+
desc: "desc";
|
|
95
|
+
}>;
|
|
96
|
+
}, z.core.$strip>>;
|
|
97
|
+
limit: z.ZodOptional<z.ZodNumber>;
|
|
98
|
+
offset: z.ZodOptional<z.ZodNumber>;
|
|
99
|
+
}, z.core.$strip>>;
|
|
100
|
+
}, z.core.$strip>, z.ZodReadonly<z.ZodArray<z.ZodObject<{
|
|
101
|
+
id: z.ZodString;
|
|
102
|
+
data: z.ZodRecord<z.ZodString, z.ZodUnknown>;
|
|
103
|
+
}, z.core.$strip>>>, import("./capability-definition.js").CapabilityMethodKind>;
|
|
104
|
+
/** Insert a new record. */
|
|
105
|
+
readonly insert: import("./capability-definition.js").CapabilityMethodSchema<z.ZodObject<{
|
|
106
|
+
namespace: z.ZodOptional<z.ZodString>;
|
|
107
|
+
collection: z.ZodString;
|
|
108
|
+
record: z.ZodObject<{
|
|
109
|
+
id: z.ZodString;
|
|
110
|
+
data: z.ZodRecord<z.ZodString, z.ZodUnknown>;
|
|
111
|
+
}, z.core.$strip>;
|
|
112
|
+
}, z.core.$strip>, z.ZodVoid, "mutation">;
|
|
113
|
+
/** Update an existing record by ID. */
|
|
114
|
+
readonly update: import("./capability-definition.js").CapabilityMethodSchema<z.ZodObject<{
|
|
115
|
+
namespace: z.ZodOptional<z.ZodString>;
|
|
116
|
+
collection: z.ZodString;
|
|
117
|
+
id: z.ZodString;
|
|
118
|
+
data: z.ZodRecord<z.ZodString, z.ZodUnknown>;
|
|
119
|
+
}, z.core.$strip>, z.ZodVoid, "mutation">;
|
|
120
|
+
/** Delete a record by key/ID. */
|
|
121
|
+
readonly delete: import("./capability-definition.js").CapabilityMethodSchema<z.ZodObject<{
|
|
122
|
+
namespace: z.ZodOptional<z.ZodString>;
|
|
123
|
+
collection: z.ZodString;
|
|
124
|
+
key: z.ZodString;
|
|
125
|
+
}, z.core.$strip>, z.ZodVoid, "mutation">;
|
|
126
|
+
/** Count entries in a collection, optionally filtered. */
|
|
127
|
+
readonly count: import("./capability-definition.js").CapabilityMethodSchema<z.ZodObject<{
|
|
128
|
+
namespace: z.ZodOptional<z.ZodString>;
|
|
129
|
+
collection: z.ZodString;
|
|
130
|
+
filter: z.ZodOptional<z.ZodObject<{
|
|
131
|
+
where: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
132
|
+
whereIn: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodArray<z.ZodUnknown>>>;
|
|
133
|
+
whereBetween: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodTuple<[z.ZodUnknown, z.ZodUnknown], null>>>;
|
|
134
|
+
orderBy: z.ZodOptional<z.ZodObject<{
|
|
135
|
+
field: z.ZodString;
|
|
136
|
+
direction: z.ZodEnum<{
|
|
137
|
+
asc: "asc";
|
|
138
|
+
desc: "desc";
|
|
139
|
+
}>;
|
|
140
|
+
}, z.core.$strip>>;
|
|
141
|
+
limit: z.ZodOptional<z.ZodNumber>;
|
|
142
|
+
offset: z.ZodOptional<z.ZodNumber>;
|
|
143
|
+
}, z.core.$strip>>;
|
|
144
|
+
}, z.core.$strip>, z.ZodNumber, import("./capability-definition.js").CapabilityMethodKind>;
|
|
145
|
+
/** Check if a collection is empty. */
|
|
146
|
+
readonly isEmpty: import("./capability-definition.js").CapabilityMethodSchema<z.ZodObject<{
|
|
147
|
+
namespace: z.ZodOptional<z.ZodString>;
|
|
148
|
+
collection: z.ZodString;
|
|
149
|
+
}, z.core.$strip>, z.ZodBoolean, import("./capability-definition.js").CapabilityMethodKind>;
|
|
150
|
+
/**
|
|
151
|
+
* Declare a typed (SQL-backed) collection with explicit columns +
|
|
152
|
+
* indexes. Idempotent: re-declaring an existing collection with the
|
|
153
|
+
* same shape is a no-op; shape changes (new columns, new indexes)
|
|
154
|
+
* are applied additively. Subsequent `insert` / `update` / `delete`
|
|
155
|
+
* / `query` calls on this collection use typed columns instead of
|
|
156
|
+
* JSON-blob storage — `record.data` fields are spread across
|
|
157
|
+
* columns, `query.filter.where` matches real columns (no
|
|
158
|
+
* `json_extract` overhead), `orderBy` uses column indexes.
|
|
159
|
+
*
|
|
160
|
+
* Addons call this in `onInitialize` before their first read/write.
|
|
161
|
+
* Collection names should be namespaced by addon (e.g.
|
|
162
|
+
* `pipeline-analytics:object-events`) to avoid cross-addon
|
|
163
|
+
* clashes — no automatic prefix is added.
|
|
164
|
+
*/
|
|
165
|
+
readonly declareCollection: import("./capability-definition.js").CapabilityMethodSchema<z.ZodObject<{
|
|
166
|
+
namespace: z.ZodOptional<z.ZodString>;
|
|
167
|
+
collection: z.ZodString;
|
|
168
|
+
columns: z.ZodReadonly<z.ZodArray<z.ZodObject<{
|
|
169
|
+
name: z.ZodString;
|
|
170
|
+
type: z.ZodEnum<{
|
|
171
|
+
TEXT: "TEXT";
|
|
172
|
+
INTEGER: "INTEGER";
|
|
173
|
+
REAL: "REAL";
|
|
174
|
+
JSON: "JSON";
|
|
175
|
+
}>;
|
|
176
|
+
primaryKey: z.ZodOptional<z.ZodBoolean>;
|
|
177
|
+
notNull: z.ZodOptional<z.ZodBoolean>;
|
|
178
|
+
unique: z.ZodOptional<z.ZodBoolean>;
|
|
179
|
+
}, z.core.$strip>>>;
|
|
180
|
+
indexes: z.ZodOptional<z.ZodReadonly<z.ZodArray<z.ZodObject<{
|
|
181
|
+
name: z.ZodString;
|
|
182
|
+
columns: z.ZodReadonly<z.ZodArray<z.ZodString>>;
|
|
183
|
+
unique: z.ZodOptional<z.ZodBoolean>;
|
|
184
|
+
}, z.core.$strip>>>>;
|
|
185
|
+
}, z.core.$strip>, z.ZodVoid, "mutation">;
|
|
186
|
+
};
|
|
187
|
+
};
|
|
188
|
+
export type ISettingsStoreProvider = InferProvider<typeof settingsStoreCapability>;
|
|
189
|
+
/**
|
|
190
|
+
* tRPC client namespace type for the settings-store capability.
|
|
191
|
+
* Used as the dependency type for services that need settings persistence.
|
|
192
|
+
* Methods are accessed as `client.get.query(input)`, `client.set.mutate(input)`, etc.
|
|
193
|
+
*/
|
|
194
|
+
export type SettingsStoreClient = import('../generated/addon-api.js').AddonApi['settingsStore'];
|
|
195
|
+
export { QueryFilterSchema, SettingsRecordSchema, CollectionColumnSchema, CollectionIndexSchema };
|
|
196
|
+
export type CollectionColumn = z.infer<typeof CollectionColumnSchema>;
|
|
197
|
+
export type CollectionIndex = z.infer<typeof CollectionIndexSchema>;
|
|
198
|
+
//# sourceMappingURL=settings-store.cap.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"settings-store.cap.d.ts","sourceRoot":"","sources":["../../src/capabilities/settings-store.cap.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AACvB,OAAO,EAAqC,KAAK,aAAa,EAAE,MAAM,4BAA4B,CAAA;AAElG;;GAEG;AACH,QAAA,MAAM,iBAAiB;;;;;;;;;;;;;iBAUrB,CAAA;AAEF,8CAA8C;AAC9C,QAAA,MAAM,oBAAoB;;;iBAGxB,CAAA;AAEF;;;;GAIG;AACH,QAAA,MAAM,sBAAsB;;;;;;;;;;;iBAM1B,CAAA;AAEF,QAAA,MAAM,qBAAqB;;;;iBAIzB,CAAA;AAEF;;;;;;;;;;;;;;;;GAgBG;AACH,eAAO,MAAM,uBAAuB;;;;;QAKhC,mDAAmD;;;;;;QAMnD,mDAAmD;;;;;;;QAOnD,mDAAmD;;;;;;;;;;;;;;;;;;;;;;QAMnD,2BAA2B;;;;;;;;;QAO3B,uCAAuC;;;;;;;QAOvC,iCAAiC;;;;;;QAOjC,0DAA0D;;;;;;;;;;;;;;;;;;;QAM1D,sCAAsC;;;;;QAMtC;;;;;;;;;;;;;;WAcG;;;;;;;;;;;;;;;;;;;;;;;CAYkC,CAAA;AAEzC,MAAM,MAAM,sBAAsB,GAAG,aAAa,CAAC,OAAO,uBAAuB,CAAC,CAAA;AAElF;;;;GAIG;AACH,MAAM,MAAM,mBAAmB,GAAG,OAAO,2BAA2B,EAAE,QAAQ,CAAC,eAAe,CAAC,CAAA;AAE/F,OAAO,EAAE,iBAAiB,EAAE,oBAAoB,EAAE,sBAAsB,EAAE,qBAAqB,EAAE,CAAA;AAEjG,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAA;AACrE,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAA"}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
import { type InferProvider } from './capability-definition.js';
|
|
3
|
+
/**
|
|
4
|
+
* snapshot-provider — collection of native snapshot implementations.
|
|
5
|
+
*
|
|
6
|
+
* Device provider addons (ONVIF, Frigate, Scrypted, etc.) register here
|
|
7
|
+
* when they can capture frames through a protocol-native path (e.g.
|
|
8
|
+
* ONVIF GetSnapshotUri, Frigate /api/<cam>/latest.jpg). The `snapshot`
|
|
9
|
+
* singleton orchestrator iterates over the collection, asking each
|
|
10
|
+
* provider whether it supports the requested device, and calls the
|
|
11
|
+
* first matching one.
|
|
12
|
+
*
|
|
13
|
+
* If no provider in the collection supports a device, the orchestrator
|
|
14
|
+
* falls back to `stream-broker.grabFrame` (universal fallback).
|
|
15
|
+
*
|
|
16
|
+
* Public tRPC router (auto-mounted) so out-of-process addons, agents,
|
|
17
|
+
* and advanced clients can bypass the orchestrator when needed.
|
|
18
|
+
*/
|
|
19
|
+
export declare const snapshotProviderCapability: {
|
|
20
|
+
readonly name: "snapshot-provider";
|
|
21
|
+
readonly scope: "system";
|
|
22
|
+
readonly mode: "collection";
|
|
23
|
+
readonly methods: {
|
|
24
|
+
readonly supportsDevice: import("./capability-definition.js").CapabilityMethodSchema<z.ZodObject<{
|
|
25
|
+
deviceId: z.ZodNumber;
|
|
26
|
+
}, z.core.$strip>, z.ZodBoolean, import("./capability-definition.js").CapabilityMethodKind>;
|
|
27
|
+
readonly getSnapshot: import("./capability-definition.js").CapabilityMethodSchema<z.ZodObject<{
|
|
28
|
+
deviceId: z.ZodNumber;
|
|
29
|
+
streamId: z.ZodOptional<z.ZodString>;
|
|
30
|
+
}, z.core.$strip>, z.ZodNullable<z.ZodObject<{
|
|
31
|
+
base64: z.ZodString;
|
|
32
|
+
contentType: z.ZodString;
|
|
33
|
+
}, z.core.$strip>>, import("./capability-definition.js").CapabilityMethodKind>;
|
|
34
|
+
};
|
|
35
|
+
};
|
|
36
|
+
export type ISnapshotProvider = InferProvider<typeof snapshotProviderCapability> & {
|
|
37
|
+
readonly id: string;
|
|
38
|
+
readonly name: string;
|
|
39
|
+
};
|
|
40
|
+
//# sourceMappingURL=snapshot-provider.cap.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"snapshot-provider.cap.d.ts","sourceRoot":"","sources":["../../src/capabilities/snapshot-provider.cap.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AACvB,OAAO,EAAqC,KAAK,aAAa,EAAE,MAAM,4BAA4B,CAAA;AAGlG;;;;;;;;;;;;;;;GAeG;AACH,eAAO,MAAM,0BAA0B;;;;;;;;;;;;;;;;CAiBE,CAAA;AAEzC,MAAM,MAAM,iBAAiB,GAAG,aAAa,CAAC,OAAO,0BAA0B,CAAC,GAAG;IACjF,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAA;IACnB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;CACtB,CAAA"}
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
import { type InferProvider } from './capability-definition.js';
|
|
3
|
+
import { DeviceType } from '../device/device-type.js';
|
|
4
|
+
/**
|
|
5
|
+
* A single device snapshot returned as base64 JPEG/PNG.
|
|
6
|
+
*
|
|
7
|
+
* Shared with the `snapshot-provider` collection cap — the orchestrator
|
|
8
|
+
* receives the same shape from each native provider and from the
|
|
9
|
+
* broker-based fallback.
|
|
10
|
+
*/
|
|
11
|
+
declare const SnapshotImageSchema: z.ZodObject<{
|
|
12
|
+
base64: z.ZodString;
|
|
13
|
+
contentType: z.ZodString;
|
|
14
|
+
}, z.core.$strip>;
|
|
15
|
+
/**
|
|
16
|
+
* snapshot — device-scoped capability for camera image capture.
|
|
17
|
+
*
|
|
18
|
+
* Two kinds of providers coexist behind this cap name:
|
|
19
|
+
*
|
|
20
|
+
* - **Native** providers (kind:'native'): registered per-device by
|
|
21
|
+
* device-driver addons (RtspCamera, OnvifCamera, …) via
|
|
22
|
+
* `DeviceContext.registerNativeCap`. Each knows how to fetch a frame
|
|
23
|
+
* straight from the camera (HTTP snapshot URL, ONVIF action, etc.).
|
|
24
|
+
*
|
|
25
|
+
* - **Wrapper** providers (kind:'wrapper'): register as a system
|
|
26
|
+
* provider (SnapshotAddon in `@camstack/core/builtins/snapshot`). The
|
|
27
|
+
* wrapper owns the cache and invokes the native via
|
|
28
|
+
* `ctx.getNativeProvider(snapshotCapability, deviceId)` on miss.
|
|
29
|
+
*
|
|
30
|
+
* Device-scoped routing: callers use `ctx.fetchDevice(id).snapshot.*`;
|
|
31
|
+
* the DeviceProxy auto-injects `deviceId` + `nodeId` and dispatches to
|
|
32
|
+
* the provider currently active for that device (wrapper wins when
|
|
33
|
+
* activated via `setWrapperActive`, otherwise the native).
|
|
34
|
+
*/
|
|
35
|
+
/**
|
|
36
|
+
* Live readable snapshot state — diagnostic info that a consumer can
|
|
37
|
+
* pull to know when the last image was captured, how stale the cache
|
|
38
|
+
* is, and which stream was used. Distinct from `getSnapshot` which
|
|
39
|
+
* returns the JPEG itself.
|
|
40
|
+
*/
|
|
41
|
+
declare const SnapshotStatusSchema: z.ZodObject<{
|
|
42
|
+
lastCapturedAt: z.ZodNullable<z.ZodNumber>;
|
|
43
|
+
cacheAgeMs: z.ZodNullable<z.ZodNumber>;
|
|
44
|
+
lastBytes: z.ZodNullable<z.ZodNumber>;
|
|
45
|
+
lastStreamId: z.ZodNullable<z.ZodString>;
|
|
46
|
+
}, z.core.$strip>;
|
|
47
|
+
export declare const snapshotCapability: {
|
|
48
|
+
readonly name: "snapshot";
|
|
49
|
+
readonly scope: "device";
|
|
50
|
+
readonly mode: "singleton";
|
|
51
|
+
readonly deviceTypes: readonly [DeviceType.Camera];
|
|
52
|
+
readonly exposesDeviceSettings: true;
|
|
53
|
+
readonly methods: {
|
|
54
|
+
readonly getSnapshot: import("./capability-definition.js").CapabilityMethodSchema<z.ZodObject<{
|
|
55
|
+
deviceId: z.ZodNumber;
|
|
56
|
+
streamId: z.ZodOptional<z.ZodString>;
|
|
57
|
+
force: z.ZodOptional<z.ZodBoolean>;
|
|
58
|
+
}, z.core.$strip>, z.ZodNullable<z.ZodObject<{
|
|
59
|
+
base64: z.ZodString;
|
|
60
|
+
contentType: z.ZodString;
|
|
61
|
+
}, z.core.$strip>>, import("./capability-definition.js").CapabilityMethodKind>;
|
|
62
|
+
readonly invalidateCache: import("./capability-definition.js").CapabilityMethodSchema<z.ZodObject<{
|
|
63
|
+
deviceId: z.ZodNumber;
|
|
64
|
+
}, z.core.$strip>, z.ZodVoid, "mutation">;
|
|
65
|
+
};
|
|
66
|
+
readonly status: {
|
|
67
|
+
readonly schema: z.ZodObject<{
|
|
68
|
+
lastCapturedAt: z.ZodNullable<z.ZodNumber>;
|
|
69
|
+
cacheAgeMs: z.ZodNullable<z.ZodNumber>;
|
|
70
|
+
lastBytes: z.ZodNullable<z.ZodNumber>;
|
|
71
|
+
lastStreamId: z.ZodNullable<z.ZodString>;
|
|
72
|
+
}, z.core.$strip>;
|
|
73
|
+
readonly kind: "poll";
|
|
74
|
+
};
|
|
75
|
+
};
|
|
76
|
+
export type ISnapshotOrchestrator = InferProvider<typeof snapshotCapability>;
|
|
77
|
+
export { SnapshotImageSchema, SnapshotStatusSchema };
|
|
78
|
+
//# sourceMappingURL=snapshot.cap.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"snapshot.cap.d.ts","sourceRoot":"","sources":["../../src/capabilities/snapshot.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;;;;;;GAMG;AACH,QAAA,MAAM,mBAAmB;;;iBAGvB,CAAA;AAEF;;;;;;;;;;;;;;;;;;;GAmBG;AACH;;;;;GAKG;AACH,QAAA,MAAM,oBAAoB;;;;;iBASxB,CAAA;AAEF,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAqCU,CAAA;AAEzC,MAAM,MAAM,qBAAqB,GAAG,aAAa,CAAC,OAAO,kBAAkB,CAAC,CAAA;AAE5E,OAAO,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,CAAA"}
|