@camstack/types 0.1.13 → 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,262 @@
|
|
|
1
|
+
import type { AddonContext, AddonInitResult, CapabilitiesAccess, ProviderRegistration } from '../interfaces/addon.js';
|
|
2
|
+
import type { ConfigUISchema, ConfigUISchemaWithValues, ConfigField, ConfigSection } from '../interfaces/config-ui.js';
|
|
3
|
+
export type { CapabilitiesAccess };
|
|
4
|
+
/**
|
|
5
|
+
* Utility type that constrains a ConfigField's `key` to only accept
|
|
6
|
+
* keys of TConfig. Usage inside schema builders:
|
|
7
|
+
*
|
|
8
|
+
* ```ts
|
|
9
|
+
* protected globalSettingsSchema() {
|
|
10
|
+
* return this.schema({
|
|
11
|
+
* sections: [{
|
|
12
|
+
* id: 'main',
|
|
13
|
+
* title: 'Settings',
|
|
14
|
+
* fields: [
|
|
15
|
+
* this.field({ type: 'number', key: 'maxRetries', label: 'Max Retries' }),
|
|
16
|
+
* // ^^^^^^^^^^^ — autocomplete + compile error if wrong
|
|
17
|
+
* ],
|
|
18
|
+
* }],
|
|
19
|
+
* })
|
|
20
|
+
* }
|
|
21
|
+
* ```
|
|
22
|
+
*/
|
|
23
|
+
type TypedConfigField<TConfig extends object> = ConfigField extends infer F ? F extends {
|
|
24
|
+
readonly key: string;
|
|
25
|
+
} ? Omit<F, 'key'> & {
|
|
26
|
+
readonly key: keyof TConfig & string;
|
|
27
|
+
} : F : never;
|
|
28
|
+
/**
|
|
29
|
+
* A ConfigSection whose fields are key-constrained to TConfig.
|
|
30
|
+
*/
|
|
31
|
+
interface TypedConfigSection<TConfig extends object> extends Omit<ConfigSection, 'fields'> {
|
|
32
|
+
readonly fields: ReadonlyArray<TypedConfigField<TConfig> | ConfigField>;
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* A ConfigUISchema whose sections use typed fields.
|
|
36
|
+
*/
|
|
37
|
+
interface TypedConfigUISchema<TConfig extends object> extends Omit<ConfigUISchema, 'sections'> {
|
|
38
|
+
readonly sections: ReadonlyArray<TypedConfigSection<TConfig>>;
|
|
39
|
+
}
|
|
40
|
+
/**
|
|
41
|
+
* Base class for CamStack addons. Eliminates settings boilerplate:
|
|
42
|
+
*
|
|
43
|
+
* - Typed `config` property with automatic resolution from store + defaults
|
|
44
|
+
* - `getGlobalSettings()` / `updateGlobalSettings()` auto-implemented
|
|
45
|
+
* - `getAddonSettings()` / `updateAddonSettings()` auto-implemented
|
|
46
|
+
* - `getDeviceSettings()` / `updateDeviceSettings()` auto-implemented
|
|
47
|
+
* - `ctx` accessor for the AddonContext (no manual `this.ctxRef` storage)
|
|
48
|
+
* - `field()` helper that constrains field keys to TConfig keys
|
|
49
|
+
* - `schema()` helper that validates the full schema structure
|
|
50
|
+
*
|
|
51
|
+
* Subclasses override:
|
|
52
|
+
* - `onInitialize()` — addon-specific init logic, return ProviderRegistration[]
|
|
53
|
+
* - `onShutdown()` — cleanup
|
|
54
|
+
* - `globalSettingsSchema()` / `deviceSettingsSchema()` — UI schemas
|
|
55
|
+
*
|
|
56
|
+
* @example
|
|
57
|
+
* ```ts
|
|
58
|
+
* interface MyConfig {
|
|
59
|
+
* maxRetries: number
|
|
60
|
+
* endpoint: string
|
|
61
|
+
* }
|
|
62
|
+
*
|
|
63
|
+
* export default class MyAddon extends BaseAddon<MyConfig> {
|
|
64
|
+
* constructor() {
|
|
65
|
+
* super({ maxRetries: 3, endpoint: 'http://localhost' })
|
|
66
|
+
* }
|
|
67
|
+
*
|
|
68
|
+
* protected globalSettingsSchema() {
|
|
69
|
+
* return this.schema({
|
|
70
|
+
* sections: [{
|
|
71
|
+
* id: 'main', title: 'Settings',
|
|
72
|
+
* fields: [
|
|
73
|
+
* this.field({ type: 'number', key: 'maxRetries', label: 'Max Retries', default: 3 }),
|
|
74
|
+
* this.field({ type: 'text', key: 'endpoint', label: 'Endpoint' }),
|
|
75
|
+
* ],
|
|
76
|
+
* }],
|
|
77
|
+
* })
|
|
78
|
+
* }
|
|
79
|
+
*
|
|
80
|
+
* protected async onInitialize(): Promise<ProviderRegistration[]> {
|
|
81
|
+
* const client = new Client(this.config.endpoint, this.config.maxRetries)
|
|
82
|
+
* return [{ capability: 'my-feature', provider: client }]
|
|
83
|
+
* }
|
|
84
|
+
* }
|
|
85
|
+
* ```
|
|
86
|
+
*/
|
|
87
|
+
export declare abstract class BaseAddon<TConfig extends object = Record<string, unknown>> {
|
|
88
|
+
private _ctx;
|
|
89
|
+
private _config;
|
|
90
|
+
/**
|
|
91
|
+
* Per-process random id used as the `generation` stamp on every
|
|
92
|
+
* `system.ready-state` event this addon emits. Constant for the
|
|
93
|
+
* lifetime of this addon instance (== one process boot); consumer-
|
|
94
|
+
* side registries derive a monotonic `epoch` by watching for
|
|
95
|
+
* generation transitions.
|
|
96
|
+
*/
|
|
97
|
+
private readonly _readinessGeneration;
|
|
98
|
+
/** Capability names this addon registered at init — used to emit matching `down` events on shutdown. */
|
|
99
|
+
private _registeredCapNames;
|
|
100
|
+
/** Default config values. Provided via constructor. */
|
|
101
|
+
protected readonly defaults: TConfig;
|
|
102
|
+
constructor(defaults: TConfig);
|
|
103
|
+
/**
|
|
104
|
+
* Override to opt out of the automatic `system.ready-state` emission.
|
|
105
|
+
* Returns `true` by default — addons that don't map cleanly to the
|
|
106
|
+
* readiness protocol (e.g. pure collection providers whose readiness
|
|
107
|
+
* is already reported per-device by upstream) can override to `false`
|
|
108
|
+
* and emit manually.
|
|
109
|
+
*/
|
|
110
|
+
protected get autoEmitReadiness(): boolean;
|
|
111
|
+
/** The AddonContext, available after initialize(). */
|
|
112
|
+
get ctx(): AddonContext;
|
|
113
|
+
/**
|
|
114
|
+
* Non-throwing ctx accessor for code paths that can legitimately run
|
|
115
|
+
* before `initialize()` has resolved — most commonly cap handlers the
|
|
116
|
+
* hub invokes eagerly at page load (device-details aggregator pings
|
|
117
|
+
* every addon's `getDeviceSettingsContribution` as soon as the page
|
|
118
|
+
* mounts). Prefer `ctx` for the normal case; reach for this only in
|
|
119
|
+
* capability methods that may be queried before the addon is wired up.
|
|
120
|
+
*/
|
|
121
|
+
protected get ctxIfReady(): AddonContext | null;
|
|
122
|
+
/** Current resolved config (defaults merged with persisted store values). */
|
|
123
|
+
get config(): Readonly<TConfig>;
|
|
124
|
+
initialize(context: AddonContext): Promise<AddonInitResult | void>;
|
|
125
|
+
/**
|
|
126
|
+
* Called by the isolated-process runner AFTER `broker.start()`.
|
|
127
|
+
* In-process addons never need this because the hub broker is already
|
|
128
|
+
* running when `initialize()` fires. For forked children the broker
|
|
129
|
+
* starts AFTER `initialize()`, so the readiness emit inside initialize()
|
|
130
|
+
* fires before the broker can broadcast it. This method re-emits the
|
|
131
|
+
* ready state once the transport is live.
|
|
132
|
+
*/
|
|
133
|
+
postBrokerStart(): void;
|
|
134
|
+
/**
|
|
135
|
+
* Called by the isolated-process runner / agent bootstrap once the broker
|
|
136
|
+
* has started AND the hub node is connected — the moment `ctx.api.*` calls
|
|
137
|
+
* to hub-provided capabilities become safe. Wrap any bootstrap work that
|
|
138
|
+
* must query the hub (device restore, settings fetch, initial sync) in
|
|
139
|
+
* `onHubConnected()` rather than `onInitialize()` — during `initialize()`
|
|
140
|
+
* on a worker the broker is not yet connected and remote cap calls either
|
|
141
|
+
* time out or throw "Service not found".
|
|
142
|
+
*
|
|
143
|
+
* Default implementation is a no-op. Override in subclasses that need it.
|
|
144
|
+
* Never fires on hub-local in-process addons (the hub is its own node).
|
|
145
|
+
*/
|
|
146
|
+
onHubReachable(): Promise<void>;
|
|
147
|
+
shutdown(): Promise<void>;
|
|
148
|
+
/**
|
|
149
|
+
* Addon-specific initialization. Called after config is resolved.
|
|
150
|
+
*
|
|
151
|
+
* Subclasses may return:
|
|
152
|
+
* - an array of `ProviderRegistration` (back-compat, most common),
|
|
153
|
+
* - an `AddonInitResult` envelope to also declare `customActions`,
|
|
154
|
+
* - `void` for pure consumers.
|
|
155
|
+
*/
|
|
156
|
+
protected abstract onInitialize(): Promise<ProviderRegistration[] | AddonInitResult | void>;
|
|
157
|
+
/** Addon-specific cleanup. Override if needed. */
|
|
158
|
+
protected onShutdown(): Promise<void>;
|
|
159
|
+
/**
|
|
160
|
+
* Called after config is resolved during updateGlobalSettings/updateAddonSettings.
|
|
161
|
+
* Override to react to config changes (e.g. restart a sampler, reconnect a service).
|
|
162
|
+
* Not called during initialize() — use onInitialize() for initial setup.
|
|
163
|
+
*/
|
|
164
|
+
protected onConfigChanged(): Promise<void>;
|
|
165
|
+
/**
|
|
166
|
+
* Create a ConfigField with `key` constrained to keys of TConfig.
|
|
167
|
+
* Provides autocomplete and compile-time validation.
|
|
168
|
+
*/
|
|
169
|
+
protected field<F extends ConfigField>(field: F extends {
|
|
170
|
+
readonly key: string;
|
|
171
|
+
} ? Omit<F, 'key'> & {
|
|
172
|
+
readonly key: keyof TConfig & string;
|
|
173
|
+
} : F): ConfigField;
|
|
174
|
+
/**
|
|
175
|
+
* Create a full ConfigUISchema with typed sections.
|
|
176
|
+
* Fields created via `this.field()` get key validation automatically.
|
|
177
|
+
*/
|
|
178
|
+
protected schema(schema: TypedConfigUISchema<TConfig>): ConfigUISchema;
|
|
179
|
+
/** Override to provide global-level settings UI schema. */
|
|
180
|
+
protected globalSettingsSchema(): ConfigUISchema | null;
|
|
181
|
+
/** Override to provide device-level settings UI schema. */
|
|
182
|
+
protected deviceSettingsSchema(): ConfigUISchema | null;
|
|
183
|
+
getGlobalSettings(overlay?: Record<string, unknown>): Promise<ConfigUISchemaWithValues>;
|
|
184
|
+
updateGlobalSettings(patch: Partial<TConfig>): Promise<void>;
|
|
185
|
+
/**
|
|
186
|
+
* If any field in `patch` is marked `requiresRestart` in `schema`,
|
|
187
|
+
* schedule an addon restart for the next tick. Deferred via
|
|
188
|
+
* `setImmediate` so the tRPC mutation that triggered the write has
|
|
189
|
+
* time to return its response before the addon is torn down and
|
|
190
|
+
* re-initialised by `AddonRegistryService.restartAddon`.
|
|
191
|
+
*/
|
|
192
|
+
private maybeAutoRestart;
|
|
193
|
+
getDeviceSettings(deviceId: number): Promise<ConfigUISchemaWithValues>;
|
|
194
|
+
updateDeviceSettings(deviceId: number, patch: Record<string, unknown>): Promise<void>;
|
|
195
|
+
private _subscriptions;
|
|
196
|
+
/**
|
|
197
|
+
* Subscribe to an event bus category. The subscription is automatically
|
|
198
|
+
* unsubscribed on shutdown — no manual cleanup needed.
|
|
199
|
+
*
|
|
200
|
+
* @example
|
|
201
|
+
* ```ts
|
|
202
|
+
* this.subscribe({ category: EventCategory.DeviceRegistered }, (event) => {
|
|
203
|
+
* void this.handleDevice(event)
|
|
204
|
+
* })
|
|
205
|
+
* ```
|
|
206
|
+
*/
|
|
207
|
+
/**
|
|
208
|
+
* Subscribe to `system.ready-state` events for one or more capabilities.
|
|
209
|
+
* Abstracts the boilerplate type-narrowing + nodeId extraction that every
|
|
210
|
+
* resilience subscription duplicates. Cleanup is automatic (registered on
|
|
211
|
+
* `_subscriptions` like a normal `subscribe` call).
|
|
212
|
+
*/
|
|
213
|
+
protected watchCapability(capNames: string | readonly string[], handlers: {
|
|
214
|
+
readonly onDown?: (nodeId: string, capName: string) => void;
|
|
215
|
+
readonly onReady?: (nodeId: string, capName: string) => void;
|
|
216
|
+
}): void;
|
|
217
|
+
protected subscribe<C extends import('../interfaces/event-bus.js').KnownEventCategory>(filter: import('../interfaces/event-bus.js').TypedEventFilter<C>, handler: (event: import('../interfaces/event-bus.js').TypedSystemEvent<C>) => void): void;
|
|
218
|
+
protected subscribe(filter: import('../interfaces/event-bus.js').EventFilter, handler: (event: import('../interfaces/event-bus.js').SystemEvent) => void): void;
|
|
219
|
+
private emitLifecycle;
|
|
220
|
+
/**
|
|
221
|
+
* Emit a `system.ready-state` event for every capability this addon
|
|
222
|
+
* registered at init. Scope is `{type:'node', nodeId}` — readiness is
|
|
223
|
+
* tied to the node that hosts the provider. Consumers that care about
|
|
224
|
+
* per-device readiness can subscribe with `{type:'device', ...}` if
|
|
225
|
+
* the provider emits at finer granularity (collection addons may
|
|
226
|
+
* opt-out via `autoEmitReadiness` and emit manually).
|
|
227
|
+
*/
|
|
228
|
+
private emitReadinessForProviders;
|
|
229
|
+
/**
|
|
230
|
+
* Resolve the shared models directory path via the storage capability.
|
|
231
|
+
* Falls back to `camstack-data/models` if storage is unavailable.
|
|
232
|
+
* Used by inference addons (detection-pipeline, audio-classifier, embedding-encoder).
|
|
233
|
+
*/
|
|
234
|
+
protected resolveModelsDir(): Promise<string>;
|
|
235
|
+
/**
|
|
236
|
+
* Access the runtime capability registry for in-process provider lookups.
|
|
237
|
+
* Returns null if the registry is not available (e.g. on agents).
|
|
238
|
+
* Used by addons that consume other capabilities directly (snapshot, stream-broker, enrichment).
|
|
239
|
+
*/
|
|
240
|
+
protected get capabilities(): CapabilitiesAccess | null;
|
|
241
|
+
/**
|
|
242
|
+
* Resolve config by merging defaults with persisted store values.
|
|
243
|
+
* Called automatically during initialize() and after every updateSettings().
|
|
244
|
+
*
|
|
245
|
+
* The merge is shallow: each key in `defaults` is checked against the store.
|
|
246
|
+
* Only keys present in defaults are read — the store can contain extra keys
|
|
247
|
+
* (e.g. from older versions) without polluting the typed config.
|
|
248
|
+
*/
|
|
249
|
+
protected resolveConfig(): Promise<void>;
|
|
250
|
+
}
|
|
251
|
+
/**
|
|
252
|
+
* Normalize an `ICamstackAddon.initialize()` return value into the
|
|
253
|
+
* `AddonInitResult` envelope. Arrays are wrapped into `{ providers }`;
|
|
254
|
+
* envelopes pass through; void stays void.
|
|
255
|
+
*
|
|
256
|
+
* Exported so the kernel boot path and the backend addon registry can
|
|
257
|
+
* share the same normalizer instead of duplicating the shim. Addons that
|
|
258
|
+
* extend `BaseAddon` already emit the envelope, so this helper is only a
|
|
259
|
+
* safety net for direct `ICamstackAddon` implementations (mostly tests).
|
|
260
|
+
*/
|
|
261
|
+
export declare function normalizeAddonInitResult(result: ProviderRegistration[] | AddonInitResult | void): AddonInitResult | void;
|
|
262
|
+
//# sourceMappingURL=base-addon.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"base-addon.d.ts","sourceRoot":"","sources":["../../src/addon/base-addon.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
import { type InferProvider } from './capability-definition.js';
|
|
3
|
+
import { DeviceType } from '../device/device-type.js';
|
|
4
|
+
/**
|
|
5
|
+
* List of accessory children linked to a parent device (camera, hub).
|
|
6
|
+
* Returns only numeric device ids — the rest (role, deviceType, name,
|
|
7
|
+
* caps) is derived by fetching each child via `device-manager.getDevice`.
|
|
8
|
+
*
|
|
9
|
+
* The single-source-of-truth for what an accessory IS remains the child
|
|
10
|
+
* device itself; this cap only surfaces the grouping.
|
|
11
|
+
*/
|
|
12
|
+
export declare const AccessoriesStatusSchema: z.ZodObject<{
|
|
13
|
+
childDeviceIds: z.ZodReadonly<z.ZodArray<z.ZodNumber>>;
|
|
14
|
+
}, z.core.$strip>;
|
|
15
|
+
export type AccessoriesStatus = z.infer<typeof AccessoriesStatusSchema>;
|
|
16
|
+
export declare const accessoriesCapability: {
|
|
17
|
+
readonly name: "accessories";
|
|
18
|
+
readonly scope: "device";
|
|
19
|
+
readonly mode: "singleton";
|
|
20
|
+
readonly deviceTypes: readonly [DeviceType.Camera, DeviceType.Hub];
|
|
21
|
+
readonly methods: {};
|
|
22
|
+
readonly events: {
|
|
23
|
+
/**
|
|
24
|
+
* Emitted when a child device is created, removed, or its parent
|
|
25
|
+
* assignment changes. Payload carries the fresh list.
|
|
26
|
+
*/
|
|
27
|
+
readonly onAccessoriesChanged: {
|
|
28
|
+
readonly data: z.ZodObject<{
|
|
29
|
+
deviceId: z.ZodNumber;
|
|
30
|
+
childDeviceIds: z.ZodReadonly<z.ZodArray<z.ZodNumber>>;
|
|
31
|
+
}, z.core.$strip>;
|
|
32
|
+
};
|
|
33
|
+
};
|
|
34
|
+
readonly status: {
|
|
35
|
+
readonly schema: z.ZodObject<{
|
|
36
|
+
childDeviceIds: z.ZodReadonly<z.ZodArray<z.ZodNumber>>;
|
|
37
|
+
}, z.core.$strip>;
|
|
38
|
+
readonly kind: "command-driven";
|
|
39
|
+
};
|
|
40
|
+
};
|
|
41
|
+
export type IAccessoriesProvider = InferProvider<typeof accessoriesCapability>;
|
|
42
|
+
//# sourceMappingURL=accessories.cap.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"accessories.cap.d.ts","sourceRoot":"","sources":["../../src/capabilities/accessories.cap.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AACvB,OAAO,EAA6B,KAAK,aAAa,EAAE,MAAM,4BAA4B,CAAA;AAC1F,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAA;AAErD;;;;;;;GAOG;AACH,eAAO,MAAM,uBAAuB;;iBAElC,CAAA;AAEF,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,uBAAuB,CAAC,CAAA;AAEvE,eAAO,MAAM,qBAAqB;;;;;;;QAO9B;;;WAGG;;;;;;;;;;;;;;CAUkC,CAAA;AAEzC,MAAM,MAAM,oBAAoB,GAAG,aAAa,CAAC,OAAO,qBAAqB,CAAC,CAAA"}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
import { type InferProvider } from './capability-definition.js';
|
|
3
|
+
/**
|
|
4
|
+
* `addon-pages-source` — collection cap exposing per-provider raw page
|
|
5
|
+
* declarations. Every addon that contributes a UI page registers a
|
|
6
|
+
* provider here. The hub-side singleton aggregator (`addon-pages` cap,
|
|
7
|
+
* see `addon-pages.cap.ts`) walks this collection, stamps versioned
|
|
8
|
+
* `bundleUrl` values, and returns the enriched `AddonPageInfo[]` list
|
|
9
|
+
* that admin-ui consumes.
|
|
10
|
+
*
|
|
11
|
+
* The split exists because the public listing has a different output
|
|
12
|
+
* shape than the per-provider raw declarations, and we want both ends
|
|
13
|
+
* to flow through codegen instead of relying on a hand-written wrapper.
|
|
14
|
+
*/
|
|
15
|
+
declare const AddonPageDeclarationSchema: z.ZodObject<{
|
|
16
|
+
id: z.ZodString;
|
|
17
|
+
label: z.ZodString;
|
|
18
|
+
icon: z.ZodString;
|
|
19
|
+
path: z.ZodString;
|
|
20
|
+
remoteName: z.ZodString;
|
|
21
|
+
bundle: z.ZodString;
|
|
22
|
+
}, z.core.$strip>;
|
|
23
|
+
export declare const addonPagesSourceCapability: {
|
|
24
|
+
readonly name: "addon-pages-source";
|
|
25
|
+
readonly scope: "system";
|
|
26
|
+
readonly mode: "collection";
|
|
27
|
+
readonly internal: true;
|
|
28
|
+
readonly methods: {
|
|
29
|
+
readonly listPages: import("./capability-definition.js").CapabilityMethodSchema<z.ZodVoid, z.ZodReadonly<z.ZodArray<z.ZodObject<{
|
|
30
|
+
id: z.ZodString;
|
|
31
|
+
label: z.ZodString;
|
|
32
|
+
icon: z.ZodString;
|
|
33
|
+
path: z.ZodString;
|
|
34
|
+
remoteName: z.ZodString;
|
|
35
|
+
bundle: z.ZodString;
|
|
36
|
+
}, z.core.$strip>>>, import("./capability-definition.js").CapabilityMethodKind>;
|
|
37
|
+
};
|
|
38
|
+
};
|
|
39
|
+
export type IAddonPagesSourceProvider = InferProvider<typeof addonPagesSourceCapability>;
|
|
40
|
+
export { AddonPageDeclarationSchema };
|
|
41
|
+
//# sourceMappingURL=addon-pages-source.cap.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"addon-pages-source.cap.d.ts","sourceRoot":"","sources":["../../src/capabilities/addon-pages-source.cap.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AACvB,OAAO,EAAqC,KAAK,aAAa,EAAE,MAAM,4BAA4B,CAAA;AAElG;;;;;;;;;;;GAWG;AACH,QAAA,MAAM,0BAA0B;;;;;;;iBAqB9B,CAAA;AAEF,eAAO,MAAM,0BAA0B;;;;;;;;;;;;;;;CAQE,CAAA;AAEzC,MAAM,MAAM,yBAAyB,GAAG,aAAa,CAAC,OAAO,0BAA0B,CAAC,CAAA;AAExF,OAAO,EAAE,0BAA0B,EAAE,CAAA"}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
import { type InferProvider } from './capability-definition.js';
|
|
3
|
+
declare const AddonPageInfoSchema: z.ZodObject<{
|
|
4
|
+
addonId: z.ZodString;
|
|
5
|
+
page: z.ZodObject<{
|
|
6
|
+
id: z.ZodString;
|
|
7
|
+
label: z.ZodString;
|
|
8
|
+
icon: z.ZodString;
|
|
9
|
+
path: z.ZodString;
|
|
10
|
+
remoteName: z.ZodString;
|
|
11
|
+
bundle: z.ZodString;
|
|
12
|
+
}, z.core.$strip>;
|
|
13
|
+
bundleUrl: z.ZodString;
|
|
14
|
+
}, z.core.$strip>;
|
|
15
|
+
export declare const addonPagesCapability: {
|
|
16
|
+
readonly name: "addon-pages";
|
|
17
|
+
readonly scope: "system";
|
|
18
|
+
readonly mode: "singleton";
|
|
19
|
+
readonly methods: {
|
|
20
|
+
readonly listPages: import("./capability-definition.js").CapabilityMethodSchema<z.ZodVoid, z.ZodReadonly<z.ZodArray<z.ZodObject<{
|
|
21
|
+
addonId: z.ZodString;
|
|
22
|
+
page: z.ZodObject<{
|
|
23
|
+
id: z.ZodString;
|
|
24
|
+
label: z.ZodString;
|
|
25
|
+
icon: z.ZodString;
|
|
26
|
+
path: z.ZodString;
|
|
27
|
+
remoteName: z.ZodString;
|
|
28
|
+
bundle: z.ZodString;
|
|
29
|
+
}, z.core.$strip>;
|
|
30
|
+
bundleUrl: z.ZodString;
|
|
31
|
+
}, z.core.$strip>>>, import("./capability-definition.js").CapabilityMethodKind>;
|
|
32
|
+
};
|
|
33
|
+
};
|
|
34
|
+
export type IAddonPagesAggregatorProvider = InferProvider<typeof addonPagesCapability>;
|
|
35
|
+
export { AddonPageInfoSchema };
|
|
36
|
+
//# sourceMappingURL=addon-pages.cap.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"addon-pages.cap.d.ts","sourceRoot":"","sources":["../../src/capabilities/addon-pages.cap.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AACvB,OAAO,EAAqC,KAAK,aAAa,EAAE,MAAM,4BAA4B,CAAA;AA4BlG,QAAA,MAAM,mBAAmB;;;;;;;;;;;iBAIvB,CAAA;AAEF,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;CAOQ,CAAA;AAEzC,MAAM,MAAM,6BAA6B,GAAG,aAAa,CAAC,OAAO,oBAAoB,CAAC,CAAA;AAEtF,OAAO,EAAE,mBAAmB,EAAE,CAAA"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
import { type InferProvider } from './capability-definition.js';
|
|
3
|
+
export declare const addonRoutesCapability: {
|
|
4
|
+
readonly name: "addon-routes";
|
|
5
|
+
readonly scope: "system";
|
|
6
|
+
readonly mode: "collection";
|
|
7
|
+
readonly internal: true;
|
|
8
|
+
readonly methods: {
|
|
9
|
+
readonly getRoutes: import("./capability-definition.js").CapabilityMethodSchema<z.ZodVoid, z.ZodArray<z.ZodObject<{
|
|
10
|
+
method: z.ZodEnum<{
|
|
11
|
+
GET: "GET";
|
|
12
|
+
POST: "POST";
|
|
13
|
+
PUT: "PUT";
|
|
14
|
+
DELETE: "DELETE";
|
|
15
|
+
PATCH: "PATCH";
|
|
16
|
+
}>;
|
|
17
|
+
path: z.ZodString;
|
|
18
|
+
}, z.core.$strip>>, import("./capability-definition.js").CapabilityMethodKind>;
|
|
19
|
+
};
|
|
20
|
+
};
|
|
21
|
+
export type IAddonRoutesProvider = InferProvider<typeof addonRoutesCapability>;
|
|
22
|
+
//# sourceMappingURL=addon-routes.cap.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"addon-routes.cap.d.ts","sourceRoot":"","sources":["../../src/capabilities/addon-routes.cap.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AACvB,OAAO,EAAqC,KAAK,aAAa,EAAE,MAAM,4BAA4B,CAAA;AAOlG,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;CAQO,CAAA;AAEzC,MAAM,MAAM,oBAAoB,GAAG,aAAa,CAAC,OAAO,qBAAqB,CAAC,CAAA"}
|
|
@@ -0,0 +1,170 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
import { type InferProvider } from './capability-definition.js';
|
|
3
|
+
declare const ConfigTabDeclarationSchema: z.ZodObject<{
|
|
4
|
+
id: z.ZodString;
|
|
5
|
+
label: z.ZodString;
|
|
6
|
+
icon: z.ZodString;
|
|
7
|
+
order: z.ZodOptional<z.ZodNumber>;
|
|
8
|
+
}, z.core.$strip>;
|
|
9
|
+
declare const ConfigSectionWithValuesSchema: z.ZodObject<{
|
|
10
|
+
id: z.ZodString;
|
|
11
|
+
title: z.ZodString;
|
|
12
|
+
description: z.ZodOptional<z.ZodString>;
|
|
13
|
+
style: z.ZodOptional<z.ZodEnum<{
|
|
14
|
+
card: "card";
|
|
15
|
+
accordion: "accordion";
|
|
16
|
+
}>>;
|
|
17
|
+
defaultCollapsed: z.ZodOptional<z.ZodBoolean>;
|
|
18
|
+
columns: z.ZodOptional<z.ZodUnion<readonly [z.ZodLiteral<1>, z.ZodLiteral<2>, z.ZodLiteral<3>, z.ZodLiteral<4>]>>;
|
|
19
|
+
tab: z.ZodOptional<z.ZodString>;
|
|
20
|
+
location: z.ZodOptional<z.ZodEnum<{
|
|
21
|
+
settings: "settings";
|
|
22
|
+
"top-tab": "top-tab";
|
|
23
|
+
}>>;
|
|
24
|
+
order: z.ZodOptional<z.ZodNumber>;
|
|
25
|
+
fields: z.ZodArray<z.ZodAny>;
|
|
26
|
+
}, z.core.$strip>;
|
|
27
|
+
declare const SettingsSchemaWithValuesSchema: z.ZodObject<{
|
|
28
|
+
tabs: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
29
|
+
id: z.ZodString;
|
|
30
|
+
label: z.ZodString;
|
|
31
|
+
icon: z.ZodString;
|
|
32
|
+
order: z.ZodOptional<z.ZodNumber>;
|
|
33
|
+
}, z.core.$strip>>>;
|
|
34
|
+
sections: z.ZodArray<z.ZodObject<{
|
|
35
|
+
id: z.ZodString;
|
|
36
|
+
title: z.ZodString;
|
|
37
|
+
description: z.ZodOptional<z.ZodString>;
|
|
38
|
+
style: z.ZodOptional<z.ZodEnum<{
|
|
39
|
+
card: "card";
|
|
40
|
+
accordion: "accordion";
|
|
41
|
+
}>>;
|
|
42
|
+
defaultCollapsed: z.ZodOptional<z.ZodBoolean>;
|
|
43
|
+
columns: z.ZodOptional<z.ZodUnion<readonly [z.ZodLiteral<1>, z.ZodLiteral<2>, z.ZodLiteral<3>, z.ZodLiteral<4>]>>;
|
|
44
|
+
tab: z.ZodOptional<z.ZodString>;
|
|
45
|
+
location: z.ZodOptional<z.ZodEnum<{
|
|
46
|
+
settings: "settings";
|
|
47
|
+
"top-tab": "top-tab";
|
|
48
|
+
}>>;
|
|
49
|
+
order: z.ZodOptional<z.ZodNumber>;
|
|
50
|
+
fields: z.ZodArray<z.ZodAny>;
|
|
51
|
+
}, z.core.$strip>>;
|
|
52
|
+
}, z.core.$strip>;
|
|
53
|
+
/** Patch object — keys are field names, values are the new field values. */
|
|
54
|
+
declare const SettingsPatchSchema: z.ZodRecord<z.ZodString, z.ZodUnknown>;
|
|
55
|
+
/** Standard success response for update operations. */
|
|
56
|
+
declare const SettingsUpdateResultSchema: z.ZodObject<{
|
|
57
|
+
success: z.ZodLiteral<true>;
|
|
58
|
+
}, z.core.$strip>;
|
|
59
|
+
/**
|
|
60
|
+
* addon-settings — singleton gateway for three-level addon settings.
|
|
61
|
+
*
|
|
62
|
+
* Works like `device-manager`: a single hub-side provider that resolves
|
|
63
|
+
* `addonId` to the target addon and delegates the call. For hub-local
|
|
64
|
+
* addons the call is direct; for remote agents it proxies via the
|
|
65
|
+
* per-addon Moleculer service.
|
|
66
|
+
*
|
|
67
|
+
* Replaces the `$addonHost` Moleculer service. Transport transparency
|
|
68
|
+
* is handled by the provider implementation — callers (admin UI, other
|
|
69
|
+
* addons via `ctx.api`) never know which node hosts the target addon.
|
|
70
|
+
*
|
|
71
|
+
* Three levels:
|
|
72
|
+
* - **addon**: addon-scoped settings (installation config, API keys, …)
|
|
73
|
+
* - **global**: settings applied to all devices by default
|
|
74
|
+
* - **device**: per-device overrides
|
|
75
|
+
*
|
|
76
|
+
* Optional `nodeId` allows explicit node targeting. When absent the
|
|
77
|
+
* provider resolves the addon's host node automatically.
|
|
78
|
+
*/
|
|
79
|
+
/**
|
|
80
|
+
* `addon-settings` is a **hub-centric** cap: the hub hosts the single
|
|
81
|
+
* provider, and `nodeId` in the input is data for the hub provider's
|
|
82
|
+
* internal dispatcher, not a routing hint for the cap-router. See
|
|
83
|
+
* `CapabilityDefinition.nodeIdMode` for the contract.
|
|
84
|
+
*/
|
|
85
|
+
export declare const addonSettingsCapability: {
|
|
86
|
+
readonly name: "addon-settings";
|
|
87
|
+
readonly scope: "system";
|
|
88
|
+
readonly mode: "singleton";
|
|
89
|
+
readonly nodeIdMode: "data";
|
|
90
|
+
readonly methods: {
|
|
91
|
+
readonly getGlobalSettings: import("./capability-definition.js").CapabilityMethodSchema<z.ZodObject<{
|
|
92
|
+
addonId: z.ZodString;
|
|
93
|
+
nodeId: z.ZodOptional<z.ZodString>;
|
|
94
|
+
overlay: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
95
|
+
}, z.core.$strip>, z.ZodNullable<z.ZodObject<{
|
|
96
|
+
tabs: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
97
|
+
id: z.ZodString;
|
|
98
|
+
label: z.ZodString;
|
|
99
|
+
icon: z.ZodString;
|
|
100
|
+
order: z.ZodOptional<z.ZodNumber>;
|
|
101
|
+
}, z.core.$strip>>>;
|
|
102
|
+
sections: z.ZodArray<z.ZodObject<{
|
|
103
|
+
id: z.ZodString;
|
|
104
|
+
title: z.ZodString;
|
|
105
|
+
description: z.ZodOptional<z.ZodString>;
|
|
106
|
+
style: z.ZodOptional<z.ZodEnum<{
|
|
107
|
+
card: "card";
|
|
108
|
+
accordion: "accordion";
|
|
109
|
+
}>>;
|
|
110
|
+
defaultCollapsed: z.ZodOptional<z.ZodBoolean>;
|
|
111
|
+
columns: z.ZodOptional<z.ZodUnion<readonly [z.ZodLiteral<1>, z.ZodLiteral<2>, z.ZodLiteral<3>, z.ZodLiteral<4>]>>;
|
|
112
|
+
tab: z.ZodOptional<z.ZodString>;
|
|
113
|
+
location: z.ZodOptional<z.ZodEnum<{
|
|
114
|
+
settings: "settings";
|
|
115
|
+
"top-tab": "top-tab";
|
|
116
|
+
}>>;
|
|
117
|
+
order: z.ZodOptional<z.ZodNumber>;
|
|
118
|
+
fields: z.ZodArray<z.ZodAny>;
|
|
119
|
+
}, z.core.$strip>>;
|
|
120
|
+
}, z.core.$strip>>, import("./capability-definition.js").CapabilityMethodKind>;
|
|
121
|
+
readonly updateGlobalSettings: import("./capability-definition.js").CapabilityMethodSchema<z.ZodObject<{
|
|
122
|
+
addonId: z.ZodString;
|
|
123
|
+
nodeId: z.ZodOptional<z.ZodString>;
|
|
124
|
+
patch: z.ZodRecord<z.ZodString, z.ZodUnknown>;
|
|
125
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
126
|
+
success: z.ZodLiteral<true>;
|
|
127
|
+
}, z.core.$strip>, "mutation">;
|
|
128
|
+
readonly getDeviceSettings: import("./capability-definition.js").CapabilityMethodSchema<z.ZodObject<{
|
|
129
|
+
addonId: z.ZodString;
|
|
130
|
+
deviceId: z.ZodNumber;
|
|
131
|
+
nodeId: z.ZodOptional<z.ZodString>;
|
|
132
|
+
}, z.core.$strip>, z.ZodNullable<z.ZodObject<{
|
|
133
|
+
tabs: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
134
|
+
id: z.ZodString;
|
|
135
|
+
label: z.ZodString;
|
|
136
|
+
icon: z.ZodString;
|
|
137
|
+
order: z.ZodOptional<z.ZodNumber>;
|
|
138
|
+
}, z.core.$strip>>>;
|
|
139
|
+
sections: z.ZodArray<z.ZodObject<{
|
|
140
|
+
id: z.ZodString;
|
|
141
|
+
title: z.ZodString;
|
|
142
|
+
description: z.ZodOptional<z.ZodString>;
|
|
143
|
+
style: z.ZodOptional<z.ZodEnum<{
|
|
144
|
+
card: "card";
|
|
145
|
+
accordion: "accordion";
|
|
146
|
+
}>>;
|
|
147
|
+
defaultCollapsed: z.ZodOptional<z.ZodBoolean>;
|
|
148
|
+
columns: z.ZodOptional<z.ZodUnion<readonly [z.ZodLiteral<1>, z.ZodLiteral<2>, z.ZodLiteral<3>, z.ZodLiteral<4>]>>;
|
|
149
|
+
tab: z.ZodOptional<z.ZodString>;
|
|
150
|
+
location: z.ZodOptional<z.ZodEnum<{
|
|
151
|
+
settings: "settings";
|
|
152
|
+
"top-tab": "top-tab";
|
|
153
|
+
}>>;
|
|
154
|
+
order: z.ZodOptional<z.ZodNumber>;
|
|
155
|
+
fields: z.ZodArray<z.ZodAny>;
|
|
156
|
+
}, z.core.$strip>>;
|
|
157
|
+
}, z.core.$strip>>, import("./capability-definition.js").CapabilityMethodKind>;
|
|
158
|
+
readonly updateDeviceSettings: import("./capability-definition.js").CapabilityMethodSchema<z.ZodObject<{
|
|
159
|
+
addonId: z.ZodString;
|
|
160
|
+
deviceId: z.ZodNumber;
|
|
161
|
+
nodeId: z.ZodOptional<z.ZodString>;
|
|
162
|
+
patch: z.ZodRecord<z.ZodString, z.ZodUnknown>;
|
|
163
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
164
|
+
success: z.ZodLiteral<true>;
|
|
165
|
+
}, z.core.$strip>, "mutation">;
|
|
166
|
+
};
|
|
167
|
+
};
|
|
168
|
+
export type IAddonSettingsProvider = InferProvider<typeof addonSettingsCapability>;
|
|
169
|
+
export { SettingsSchemaWithValuesSchema, ConfigSectionWithValuesSchema, ConfigTabDeclarationSchema, SettingsPatchSchema, SettingsUpdateResultSchema, };
|
|
170
|
+
//# sourceMappingURL=addon-settings.cap.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"addon-settings.cap.d.ts","sourceRoot":"","sources":["../../src/capabilities/addon-settings.cap.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AACvB,OAAO,EAAqC,KAAK,aAAa,EAAE,MAAM,4BAA4B,CAAA;AASlG,QAAA,MAAM,0BAA0B;;;;;iBAK9B,CAAA;AAEF,QAAA,MAAM,6BAA6B;;;;;;;;;;;;;;;;;iBAcjC,CAAA;AAEF,QAAA,MAAM,8BAA8B;;;;;;;;;;;;;;;;;;;;;;;;;iBAGlC,CAAA;AAEF,4EAA4E;AAC5E,QAAA,MAAM,mBAAmB,wCAAoC,CAAA;AAE7D,uDAAuD;AACvD,QAAA,MAAM,0BAA0B;;iBAE9B,CAAA;AAEF;;;;;;;;;;;;;;;;;;;GAmBG;AACH;;;;;GAKG;AACH,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAwCK,CAAA;AAEzC,MAAM,MAAM,sBAAsB,GAAG,aAAa,CAAC,OAAO,uBAAuB,CAAC,CAAA;AAElF,OAAO,EACL,8BAA8B,EAC9B,6BAA6B,EAC7B,0BAA0B,EAC1B,mBAAmB,EACnB,0BAA0B,GAC3B,CAAA"}
|