@camstack/types 0.1.40 → 0.1.42
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/addon/base-addon.d.ts +12 -0
- package/dist/addon/base-addon.d.ts.map +1 -1
- package/dist/addon/durable-state.d.ts +33 -0
- package/dist/addon/durable-state.d.ts.map +1 -0
- package/dist/capabilities/accessories.cap.d.ts +56 -8
- package/dist/capabilities/accessories.cap.d.ts.map +1 -1
- package/dist/capabilities/advanced-notifier.cap.d.ts +4 -0
- package/dist/capabilities/advanced-notifier.cap.d.ts.map +1 -1
- package/dist/capabilities/air-quality-sensor.cap.d.ts +56 -0
- package/dist/capabilities/air-quality-sensor.cap.d.ts.map +1 -0
- package/dist/capabilities/alarm-panel.cap.d.ts +154 -0
- package/dist/capabilities/alarm-panel.cap.d.ts.map +1 -0
- package/dist/capabilities/ambient-light-sensor.cap.d.ts +39 -0
- package/dist/capabilities/ambient-light-sensor.cap.d.ts.map +1 -0
- package/dist/capabilities/automation-control.cap.d.ts +65 -0
- package/dist/capabilities/automation-control.cap.d.ts.map +1 -0
- package/dist/capabilities/battery.cap.d.ts +30 -1
- package/dist/capabilities/battery.cap.d.ts.map +1 -1
- package/dist/capabilities/binary.cap.d.ts +40 -0
- package/dist/capabilities/binary.cap.d.ts.map +1 -0
- package/dist/capabilities/brightness.cap.d.ts +3 -2
- package/dist/capabilities/brightness.cap.d.ts.map +1 -1
- package/dist/capabilities/broker.cap.d.ts +291 -0
- package/dist/capabilities/broker.cap.d.ts.map +1 -0
- package/dist/capabilities/button.cap.d.ts +27 -0
- package/dist/capabilities/button.cap.d.ts.map +1 -0
- package/dist/capabilities/camera-credentials.cap.d.ts +1 -0
- package/dist/capabilities/camera-credentials.cap.d.ts.map +1 -1
- package/dist/capabilities/camera-streams.cap.d.ts +147 -10
- package/dist/capabilities/camera-streams.cap.d.ts.map +1 -1
- package/dist/capabilities/capability-definition.d.ts +15 -0
- package/dist/capabilities/capability-definition.d.ts.map +1 -1
- package/dist/capabilities/carbon-monoxide.cap.d.ts +33 -0
- package/dist/capabilities/carbon-monoxide.cap.d.ts.map +1 -0
- package/dist/capabilities/climate-control.cap.d.ts +183 -0
- package/dist/capabilities/climate-control.cap.d.ts.map +1 -0
- package/dist/capabilities/color.cap.d.ts +186 -0
- package/dist/capabilities/color.cap.d.ts.map +1 -0
- package/dist/capabilities/connectivity.cap.d.ts +37 -0
- package/dist/capabilities/connectivity.cap.d.ts.map +1 -0
- package/dist/capabilities/consumables.cap.d.ts +105 -0
- package/dist/capabilities/consumables.cap.d.ts.map +1 -0
- package/dist/capabilities/contact.cap.d.ts +41 -0
- package/dist/capabilities/contact.cap.d.ts.map +1 -0
- package/dist/capabilities/control.cap.d.ts +167 -0
- package/dist/capabilities/control.cap.d.ts.map +1 -0
- package/dist/capabilities/cover.cap.d.ts +104 -0
- package/dist/capabilities/cover.cap.d.ts.map +1 -0
- package/dist/capabilities/custom-actions.d.ts +6 -0
- package/dist/capabilities/custom-actions.d.ts.map +1 -1
- package/dist/capabilities/decoder.cap.d.ts +1 -1
- package/dist/capabilities/device-adoption.cap.d.ts +203 -0
- package/dist/capabilities/device-adoption.cap.d.ts.map +1 -0
- package/dist/capabilities/device-discovery.cap.d.ts +44 -143
- package/dist/capabilities/device-discovery.cap.d.ts.map +1 -1
- package/dist/capabilities/device-manager.cap.d.ts +469 -0
- package/dist/capabilities/device-manager.cap.d.ts.map +1 -1
- package/dist/capabilities/device-ops.cap.d.ts +30 -0
- package/dist/capabilities/device-ops.cap.d.ts.map +1 -1
- package/dist/capabilities/device-provider.cap.d.ts +36 -0
- package/dist/capabilities/device-provider.cap.d.ts.map +1 -1
- package/dist/capabilities/device-status.cap.d.ts +1 -0
- package/dist/capabilities/device-status.cap.d.ts.map +1 -1
- package/dist/capabilities/doorbell.cap.d.ts +1 -0
- package/dist/capabilities/doorbell.cap.d.ts.map +1 -1
- package/dist/capabilities/enum-sensor.cap.d.ts +60 -0
- package/dist/capabilities/enum-sensor.cap.d.ts.map +1 -0
- package/dist/capabilities/event-emitter.cap.d.ts +79 -0
- package/dist/capabilities/event-emitter.cap.d.ts.map +1 -0
- package/dist/capabilities/fan-control.cap.d.ts +100 -0
- package/dist/capabilities/fan-control.cap.d.ts.map +1 -0
- package/dist/capabilities/feature-probe.cap.d.ts +1 -0
- package/dist/capabilities/feature-probe.cap.d.ts.map +1 -1
- package/dist/capabilities/filesystem-browse.cap.d.ts +39 -0
- package/dist/capabilities/filesystem-browse.cap.d.ts.map +1 -0
- package/dist/capabilities/flood.cap.d.ts +37 -0
- package/dist/capabilities/flood.cap.d.ts.map +1 -0
- package/dist/capabilities/gas.cap.d.ts +34 -0
- package/dist/capabilities/gas.cap.d.ts.map +1 -0
- package/dist/capabilities/humidifier.cap.d.ts +82 -0
- package/dist/capabilities/humidifier.cap.d.ts.map +1 -0
- package/dist/capabilities/humidity-sensor.cap.d.ts +43 -0
- package/dist/capabilities/humidity-sensor.cap.d.ts.map +1 -0
- package/dist/capabilities/image.cap.d.ts +44 -0
- package/dist/capabilities/image.cap.d.ts.map +1 -0
- package/dist/capabilities/index.d.ts +97 -12
- package/dist/capabilities/index.d.ts.map +1 -1
- package/dist/capabilities/integrations.cap.d.ts +12 -0
- package/dist/capabilities/integrations.cap.d.ts.map +1 -1
- package/dist/capabilities/intercom.cap.d.ts +49 -9
- package/dist/capabilities/intercom.cap.d.ts.map +1 -1
- package/dist/capabilities/lawn-mower-control.cap.d.ts +83 -0
- package/dist/capabilities/lawn-mower-control.cap.d.ts.map +1 -0
- package/dist/capabilities/lock-control.cap.d.ts +92 -0
- package/dist/capabilities/lock-control.cap.d.ts.map +1 -0
- package/dist/capabilities/media-player.cap.d.ts +201 -0
- package/dist/capabilities/media-player.cap.d.ts.map +1 -0
- package/dist/capabilities/motion-trigger.cap.d.ts +1 -0
- package/dist/capabilities/motion-trigger.cap.d.ts.map +1 -1
- package/dist/capabilities/motion-zones.cap.d.ts +1 -0
- package/dist/capabilities/motion-zones.cap.d.ts.map +1 -1
- package/dist/capabilities/native-object-detection.cap.d.ts +1 -0
- package/dist/capabilities/native-object-detection.cap.d.ts.map +1 -1
- package/dist/capabilities/network-quality.cap.d.ts +5 -0
- package/dist/capabilities/network-quality.cap.d.ts.map +1 -1
- package/dist/capabilities/notifier.cap.d.ts +173 -0
- package/dist/capabilities/notifier.cap.d.ts.map +1 -0
- package/dist/capabilities/numeric-sensor.cap.d.ts +52 -0
- package/dist/capabilities/numeric-sensor.cap.d.ts.map +1 -0
- package/dist/capabilities/osd.cap.d.ts +1 -0
- package/dist/capabilities/osd.cap.d.ts.map +1 -1
- package/dist/capabilities/pipeline-analytics.cap.d.ts +69 -22
- package/dist/capabilities/pipeline-analytics.cap.d.ts.map +1 -1
- package/dist/capabilities/pipeline-executor.cap.d.ts +2 -2
- package/dist/capabilities/pipeline-orchestrator.cap.d.ts +1 -1
- package/dist/capabilities/pipeline-runner.cap.d.ts +2 -2
- package/dist/capabilities/platform-probe.cap.d.ts +25 -0
- package/dist/capabilities/platform-probe.cap.d.ts.map +1 -1
- package/dist/capabilities/power-meter.cap.d.ts +65 -0
- package/dist/capabilities/power-meter.cap.d.ts.map +1 -0
- package/dist/capabilities/presence.cap.d.ts +79 -0
- package/dist/capabilities/presence.cap.d.ts.map +1 -0
- package/dist/capabilities/pressure-sensor.cap.d.ts +43 -0
- package/dist/capabilities/pressure-sensor.cap.d.ts.map +1 -0
- package/dist/capabilities/privacy-mask.cap.d.ts +1 -0
- package/dist/capabilities/privacy-mask.cap.d.ts.map +1 -1
- package/dist/capabilities/ptz-autotrack.cap.d.ts +1 -0
- package/dist/capabilities/ptz-autotrack.cap.d.ts.map +1 -1
- package/dist/capabilities/ptz.cap.d.ts +1 -0
- package/dist/capabilities/ptz.cap.d.ts.map +1 -1
- package/dist/capabilities/reboot.cap.d.ts +1 -0
- package/dist/capabilities/reboot.cap.d.ts.map +1 -1
- package/dist/capabilities/recording.cap.d.ts +367 -32
- package/dist/capabilities/recording.cap.d.ts.map +1 -1
- package/dist/capabilities/restreamer.cap.d.ts +2 -2
- package/dist/capabilities/schemas/orchestrator-metrics.d.ts +2 -2
- package/dist/capabilities/schemas/streaming-shared.d.ts +64 -1
- package/dist/capabilities/schemas/streaming-shared.d.ts.map +1 -1
- package/dist/capabilities/script-runner.cap.d.ts +62 -0
- package/dist/capabilities/script-runner.cap.d.ts.map +1 -0
- package/dist/capabilities/settings-store.cap.d.ts +25 -0
- package/dist/capabilities/settings-store.cap.d.ts.map +1 -1
- package/dist/capabilities/smoke.cap.d.ts +38 -0
- package/dist/capabilities/smoke.cap.d.ts.map +1 -0
- package/dist/capabilities/snapshot-provider.cap.d.ts +1 -1
- package/dist/capabilities/snapshot.cap.d.ts +1 -0
- package/dist/capabilities/snapshot.cap.d.ts.map +1 -1
- package/dist/capabilities/storage-evictable.cap.d.ts +54 -0
- package/dist/capabilities/storage-evictable.cap.d.ts.map +1 -0
- package/dist/capabilities/storage-provider.cap.d.ts +46 -186
- package/dist/capabilities/storage-provider.cap.d.ts.map +1 -1
- package/dist/capabilities/storage.cap.d.ts +41 -226
- package/dist/capabilities/storage.cap.d.ts.map +1 -1
- package/dist/capabilities/stream-broker.cap.d.ts +323 -25
- package/dist/capabilities/stream-broker.cap.d.ts.map +1 -1
- package/dist/capabilities/stream-catalog.cap.d.ts +3 -0
- package/dist/capabilities/stream-catalog.cap.d.ts.map +1 -1
- package/dist/capabilities/stream-params.cap.d.ts +27 -26
- package/dist/capabilities/stream-params.cap.d.ts.map +1 -1
- package/dist/capabilities/switch.cap.d.ts +1 -0
- package/dist/capabilities/switch.cap.d.ts.map +1 -1
- package/dist/capabilities/tamper.cap.d.ts +33 -0
- package/dist/capabilities/tamper.cap.d.ts.map +1 -0
- package/dist/capabilities/temperature-sensor.cap.d.ts +51 -0
- package/dist/capabilities/temperature-sensor.cap.d.ts.map +1 -0
- package/dist/capabilities/update.cap.d.ts +49 -0
- package/dist/capabilities/update.cap.d.ts.map +1 -0
- package/dist/capabilities/vacuum-control.cap.d.ts +229 -0
- package/dist/capabilities/vacuum-control.cap.d.ts.map +1 -0
- package/dist/capabilities/valve.cap.d.ts +93 -0
- package/dist/capabilities/valve.cap.d.ts.map +1 -0
- package/dist/capabilities/vibration.cap.d.ts +33 -0
- package/dist/capabilities/vibration.cap.d.ts.map +1 -0
- package/dist/capabilities/videoclips.cap.d.ts +77 -0
- package/dist/capabilities/videoclips.cap.d.ts.map +1 -0
- package/dist/capabilities/water-heater.cap.d.ts +78 -0
- package/dist/capabilities/water-heater.cap.d.ts.map +1 -0
- package/dist/capabilities/weather.cap.d.ts +76 -0
- package/dist/capabilities/weather.cap.d.ts.map +1 -0
- package/dist/capabilities/webrtc-session.cap.d.ts +95 -1
- package/dist/capabilities/webrtc-session.cap.d.ts.map +1 -1
- package/dist/constants.d.ts +0 -2
- package/dist/constants.d.ts.map +1 -1
- package/dist/device/base-device-provider.d.ts +11 -0
- package/dist/device/base-device-provider.d.ts.map +1 -1
- package/dist/device/base-device.d.ts +52 -0
- package/dist/device/base-device.d.ts.map +1 -1
- package/dist/device/device-context.d.ts +29 -0
- package/dist/device/device-context.d.ts.map +1 -1
- package/dist/device/device-link-transform.d.ts +6 -0
- package/dist/device/device-link-transform.d.ts.map +1 -0
- package/dist/device/device-management.d.ts +116 -4
- package/dist/device/device-management.d.ts.map +1 -1
- package/dist/device/device-type.d.ts +214 -3
- package/dist/device/device-type.d.ts.map +1 -1
- package/dist/device/device.d.ts +25 -0
- package/dist/device/device.d.ts.map +1 -1
- package/dist/device/index.d.ts +5 -1
- package/dist/device/index.d.ts.map +1 -1
- package/dist/device/path-util.d.ts +13 -0
- package/dist/device/path-util.d.ts.map +1 -0
- package/dist/device/schema-fields.d.ts +12 -0
- package/dist/device/schema-fields.d.ts.map +1 -0
- package/dist/device/source-info.d.ts +87 -0
- package/dist/device/source-info.d.ts.map +1 -0
- package/dist/device/system-mirror.d.ts +6 -2
- package/dist/device/system-mirror.d.ts.map +1 -1
- package/dist/encode-profile.d.ts +126 -0
- package/dist/encode-profile.d.ts.map +1 -0
- package/dist/enums/event-category.d.ts +64 -6
- package/dist/enums/event-category.d.ts.map +1 -1
- package/dist/generated/addon-api.d.ts +12722 -8080
- package/dist/generated/addon-api.d.ts.map +1 -1
- package/dist/generated/cap-status-types.d.ts +85 -1
- package/dist/generated/cap-status-types.d.ts.map +1 -1
- package/dist/generated/capability-router-map.d.ts +139 -7
- package/dist/generated/capability-router-map.d.ts.map +1 -1
- package/dist/generated/device-local-state.d.ts +117 -0
- package/dist/generated/device-local-state.d.ts.map +1 -1
- package/dist/generated/device-proxy.d.ts +126 -5
- package/dist/generated/device-proxy.d.ts.map +1 -1
- package/dist/generated/method-access-map.d.ts +1 -1
- package/dist/generated/method-access-map.d.ts.map +1 -1
- package/dist/generated/provider-kind-map.d.ts +1 -1
- package/dist/generated/provider-kind-map.d.ts.map +1 -1
- package/dist/generated/system-proxy.d.ts +10 -8
- package/dist/generated/system-proxy.d.ts.map +1 -1
- package/dist/{index-C2zzIDdX.mjs → index-BxWo3b49.mjs} +4714 -1113
- package/dist/index-BxWo3b49.mjs.map +1 -0
- package/dist/{index-DnpdVFKv.js → index-CGMPfVaT.js} +4321 -720
- package/dist/index-CGMPfVaT.js.map +1 -0
- package/dist/index.d.ts +22 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1384 -116
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +1698 -430
- package/dist/index.mjs.map +1 -1
- package/dist/interfaces/addon-data-plane.d.ts +76 -0
- package/dist/interfaces/addon-data-plane.d.ts.map +1 -0
- package/dist/interfaces/addon.d.ts +60 -0
- package/dist/interfaces/addon.d.ts.map +1 -1
- package/dist/interfaces/advanced-notifier.d.ts +4 -0
- package/dist/interfaces/advanced-notifier.d.ts.map +1 -1
- package/dist/interfaces/capability.d.ts +42 -1
- package/dist/interfaces/capability.d.ts.map +1 -1
- package/dist/interfaces/config-ui.d.ts +70 -6
- package/dist/interfaces/config-ui.d.ts.map +1 -1
- package/dist/interfaces/device-capabilities/camera.d.ts +2 -1
- package/dist/interfaces/device-capabilities/camera.d.ts.map +1 -1
- package/dist/interfaces/event-bus.d.ts +49 -3
- package/dist/interfaces/event-bus.d.ts.map +1 -1
- package/dist/interfaces/kernel-abstractions.d.ts +10 -1
- package/dist/interfaces/kernel-abstractions.d.ts.map +1 -1
- package/dist/interfaces/network-quality.d.ts +8 -0
- package/dist/interfaces/network-quality.d.ts.map +1 -1
- package/dist/interfaces/pipeline-executor-capability.d.ts +2 -2
- package/dist/interfaces/pipeline-orchestrator-capability.d.ts +2 -1
- package/dist/interfaces/pipeline-orchestrator-capability.d.ts.map +1 -1
- package/dist/interfaces/pipeline-runner-capability.d.ts +7 -0
- package/dist/interfaces/pipeline-runner-capability.d.ts.map +1 -1
- package/dist/interfaces/recording-config-migrate.d.ts +13 -0
- package/dist/interfaces/recording-config-migrate.d.ts.map +1 -0
- package/dist/interfaces/recording-config.d.ts +209 -0
- package/dist/interfaces/recording-config.d.ts.map +1 -0
- package/dist/interfaces/rtp-egress.d.ts +2 -3
- package/dist/interfaces/rtp-egress.d.ts.map +1 -1
- package/dist/interfaces/storage-location-declaration.d.ts +34 -0
- package/dist/interfaces/storage-location-declaration.d.ts.map +1 -0
- package/dist/interfaces/storage-location.d.ts +19 -74
- package/dist/interfaces/storage-location.d.ts.map +1 -1
- package/dist/interfaces/storage.d.ts +15 -4
- package/dist/interfaces/storage.d.ts.map +1 -1
- package/dist/interfaces/stream-broker.d.ts +18 -3
- package/dist/interfaces/stream-broker.d.ts.map +1 -1
- package/dist/interfaces/timezones.d.ts +59 -0
- package/dist/interfaces/timezones.d.ts.map +1 -0
- package/dist/node.d.ts +3 -0
- package/dist/node.d.ts.map +1 -1
- package/dist/node.js +50 -8
- package/dist/node.js.map +1 -1
- package/dist/node.mjs +51 -9
- package/dist/node.mjs.map +1 -1
- package/dist/storage/filesystem-storage-provider.d.ts +2 -1
- package/dist/storage/filesystem-storage-provider.d.ts.map +1 -1
- package/dist/stream-selection.d.ts +85 -0
- package/dist/stream-selection.d.ts.map +1 -0
- package/dist/types/detection.d.ts +3 -3
- package/dist/types/io.d.ts +1 -1
- package/dist/types/io.d.ts.map +1 -1
- package/dist/util/location-match.d.ts +15 -0
- package/dist/util/location-match.d.ts.map +1 -0
- package/dist/utils/canonical-hash.d.ts +20 -0
- package/dist/utils/canonical-hash.d.ts.map +1 -0
- package/dist/utils/export-reconciler.d.ts +101 -0
- package/dist/utils/export-reconciler.d.ts.map +1 -0
- package/dist/utils/sleep.d.ts +36 -0
- package/dist/utils/sleep.d.ts.map +1 -0
- package/package.json +1 -1
- package/dist/capabilities/recording-engine.cap.d.ts +0 -477
- package/dist/capabilities/recording-engine.cap.d.ts.map +0 -1
- package/dist/index-C2zzIDdX.mjs.map +0 -1
- package/dist/index-DnpdVFKv.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"stream-params.cap.d.ts","sourceRoot":"","sources":["../../src/capabilities/stream-params.cap.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AACvB,OAAO,EAAqC,KAAK,mBAAmB,EAAE,MAAM,4BAA4B,CAAA;AACxG,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAA;AAErD,2CAA2C;AAC3C,eAAO,MAAM,mBAAmB;;;;EAAiC,CAAA;AAEjE,yDAAyD;AACzD,QAAA,MAAM,yBAAyB;;;;;;;;;;;;;;;;;;;;iBAU7B,CAAA;AAEF,eAAO,MAAM,wBAAwB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAMnC,CAAA;AAEF,8DAA8D;AAC9D,QAAA,MAAM,0BAA0B;;;;;;;;;;;;;;;;;;;;iBAgB9B,CAAA;AAEF,eAAO,MAAM,yBAAyB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAIpC,CAAA;AAEF;yCACyC;AACzC,eAAO,MAAM,wBAAwB;;;;;;;;;;;;;;;;;;;;iBAUnC,CAAA;AAEF,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,wBAAwB,CAAC,CAAA;AACzE,MAAM,MAAM,mBAAmB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,yBAAyB,CAAC,CAAA;AAC3E,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAA;AAC/D,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,wBAAwB,CAAC,CAAA;AAEzE,eAAO,MAAM,sBAAsB
|
|
1
|
+
{"version":3,"file":"stream-params.cap.d.ts","sourceRoot":"","sources":["../../src/capabilities/stream-params.cap.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AACvB,OAAO,EAAqC,KAAK,mBAAmB,EAAE,MAAM,4BAA4B,CAAA;AACxG,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAA;AAErD,2CAA2C;AAC3C,eAAO,MAAM,mBAAmB;;;;EAAiC,CAAA;AAEjE,yDAAyD;AACzD,QAAA,MAAM,yBAAyB;;;;;;;;;;;;;;;;;;;;iBAU7B,CAAA;AAEF,eAAO,MAAM,wBAAwB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAMnC,CAAA;AAEF,8DAA8D;AAC9D,QAAA,MAAM,0BAA0B;;;;;;;;;;;;;;;;;;;;iBAgB9B,CAAA;AAEF,eAAO,MAAM,yBAAyB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAIpC,CAAA;AAEF;yCACyC;AACzC,eAAO,MAAM,wBAAwB;;;;;;;;;;;;;;;;;;;;iBAUnC,CAAA;AAEF,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,wBAAwB,CAAC,CAAA;AACzE,MAAM,MAAM,mBAAmB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,yBAAyB,CAAC,CAAA;AAC3E,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAA;AAC/D,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,wBAAwB,CAAC,CAAA;AAEzE,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;QAuB/B;;;;;;;;;;;;;;;;;;WAkBG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAWkC,CAAA;AAEzC,MAAM,MAAM,qBAAqB,GAAG,mBAAmB,CAAC,OAAO,sBAAsB,CAAC,CAAA;AAEtF,OAAO,EAAE,yBAAyB,EAAE,0BAA0B,EAAE,CAAA"}
|
|
@@ -16,6 +16,7 @@ export type SwitchStatus = z.infer<typeof SwitchStatusSchema>;
|
|
|
16
16
|
export declare const switchCapability: {
|
|
17
17
|
readonly name: "switch";
|
|
18
18
|
readonly scope: "device";
|
|
19
|
+
readonly deviceNative: true;
|
|
19
20
|
readonly mode: "singleton";
|
|
20
21
|
readonly deviceTypes: readonly [DeviceType.Switch, DeviceType.Siren, DeviceType.Light];
|
|
21
22
|
readonly methods: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"switch.cap.d.ts","sourceRoot":"","sources":["../../src/capabilities/switch.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,eAAO,MAAM,kBAAkB;;;iBAI7B,CAAA;AAEF,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAA;AAE7D,eAAO,MAAM,gBAAgB
|
|
1
|
+
{"version":3,"file":"switch.cap.d.ts","sourceRoot":"","sources":["../../src/capabilities/switch.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,eAAO,MAAM,kBAAkB;;;iBAI7B,CAAA;AAEF,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAA;AAE7D,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAwB3B;;;;OAIG;;;;;;;;;;;;;;;;;CAWoC,CAAA;AAEzC,MAAM,MAAM,eAAe,GAAG,aAAa,CAAC,OAAO,gBAAgB,CAAC,CAAA"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
import { type InferProvider } from './capability-definition.js';
|
|
3
|
+
import { DeviceType } from '../device/device-type.js';
|
|
4
|
+
/**
|
|
5
|
+
* Tamper / case-open detection sensor. Drives Home Assistant
|
|
6
|
+
* `binary_sensor` entries with `device_class: tamper`. Push-driven.
|
|
7
|
+
*/
|
|
8
|
+
export declare const TamperStatusSchema: z.ZodObject<{
|
|
9
|
+
tampered: z.ZodBoolean;
|
|
10
|
+
lastChangedAt: z.ZodNumber;
|
|
11
|
+
}, z.core.$strip>;
|
|
12
|
+
export type TamperStatus = z.infer<typeof TamperStatusSchema>;
|
|
13
|
+
export declare const tamperCapability: {
|
|
14
|
+
readonly name: "tamper";
|
|
15
|
+
readonly scope: "device";
|
|
16
|
+
readonly deviceNative: true;
|
|
17
|
+
readonly mode: "singleton";
|
|
18
|
+
readonly deviceTypes: readonly [DeviceType.Sensor];
|
|
19
|
+
readonly methods: {};
|
|
20
|
+
readonly status: {
|
|
21
|
+
readonly schema: z.ZodObject<{
|
|
22
|
+
tampered: z.ZodBoolean;
|
|
23
|
+
lastChangedAt: z.ZodNumber;
|
|
24
|
+
}, z.core.$strip>;
|
|
25
|
+
readonly kind: "push";
|
|
26
|
+
};
|
|
27
|
+
readonly runtimeState: z.ZodObject<{
|
|
28
|
+
tampered: z.ZodBoolean;
|
|
29
|
+
lastChangedAt: z.ZodNumber;
|
|
30
|
+
}, z.core.$strip>;
|
|
31
|
+
};
|
|
32
|
+
export type ITamperProvider = InferProvider<typeof tamperCapability>;
|
|
33
|
+
//# sourceMappingURL=tamper.cap.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tamper.cap.d.ts","sourceRoot":"","sources":["../../src/capabilities/tamper.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;;;GAGG;AACH,eAAO,MAAM,kBAAkB;;;iBAM7B,CAAA;AAEF,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAA;AAE7D,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;CAYY,CAAA;AAEzC,MAAM,MAAM,eAAe,GAAG,aAAa,CAAC,OAAO,gBAAgB,CAAC,CAAA"}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
import { type InferProvider } from './capability-definition.js';
|
|
3
|
+
import { DeviceType } from '../device/device-type.js';
|
|
4
|
+
/**
|
|
5
|
+
* Single-metric temperature reading. Drives Home Assistant `sensor`
|
|
6
|
+
* entries with `device_class: temperature` and any future native
|
|
7
|
+
* thermometer.
|
|
8
|
+
*
|
|
9
|
+
* Unit normalisation: providers convert to Celsius before storing.
|
|
10
|
+
* The slice value is always Celsius so cross-cap aggregators
|
|
11
|
+
* (climate-control's `currentTemp`, energy analytics) can compose
|
|
12
|
+
* without per-source unit fixups. The canonical display unit (`°C`) is
|
|
13
|
+
* a descriptor constant in the UI (ROLE_DESCRIPTOR), not stored in
|
|
14
|
+
* `sourceInfo`.
|
|
15
|
+
*
|
|
16
|
+
* Status `lastFetchedAt` lets staleness-aware consumers detect a
|
|
17
|
+
* frozen feed (provider hung) distinct from a "temperature hasn't
|
|
18
|
+
* changed" steady state.
|
|
19
|
+
*/
|
|
20
|
+
export declare const TemperatureSensorStatusSchema: z.ZodObject<{
|
|
21
|
+
celsius: z.ZodNumber;
|
|
22
|
+
lastFetchedAt: z.ZodNumber;
|
|
23
|
+
unit: z.ZodOptional<z.ZodString>;
|
|
24
|
+
precision: z.ZodOptional<z.ZodNumber>;
|
|
25
|
+
}, z.core.$strip>;
|
|
26
|
+
export type TemperatureSensorStatus = z.infer<typeof TemperatureSensorStatusSchema>;
|
|
27
|
+
export declare const temperatureSensorCapability: {
|
|
28
|
+
readonly name: "temperature-sensor";
|
|
29
|
+
readonly scope: "device";
|
|
30
|
+
readonly deviceNative: true;
|
|
31
|
+
readonly mode: "singleton";
|
|
32
|
+
readonly deviceTypes: readonly [DeviceType.Sensor, DeviceType.Thermostat];
|
|
33
|
+
readonly methods: {};
|
|
34
|
+
readonly status: {
|
|
35
|
+
readonly schema: z.ZodObject<{
|
|
36
|
+
celsius: z.ZodNumber;
|
|
37
|
+
lastFetchedAt: z.ZodNumber;
|
|
38
|
+
unit: z.ZodOptional<z.ZodString>;
|
|
39
|
+
precision: z.ZodOptional<z.ZodNumber>;
|
|
40
|
+
}, z.core.$strip>;
|
|
41
|
+
readonly kind: "push";
|
|
42
|
+
};
|
|
43
|
+
readonly runtimeState: z.ZodObject<{
|
|
44
|
+
celsius: z.ZodNumber;
|
|
45
|
+
lastFetchedAt: z.ZodNumber;
|
|
46
|
+
unit: z.ZodOptional<z.ZodString>;
|
|
47
|
+
precision: z.ZodOptional<z.ZodNumber>;
|
|
48
|
+
}, z.core.$strip>;
|
|
49
|
+
};
|
|
50
|
+
export type ITemperatureSensorProvider = InferProvider<typeof temperatureSensorCapability>;
|
|
51
|
+
//# sourceMappingURL=temperature-sensor.cap.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"temperature-sensor.cap.d.ts","sourceRoot":"","sources":["../../src/capabilities/temperature-sensor.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;;;;;;;;;;;;;;;GAeG;AACH,eAAO,MAAM,6BAA6B;;;;;iBAexC,CAAA;AAEF,MAAM,MAAM,uBAAuB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,6BAA6B,CAAC,CAAA;AAEnF,eAAO,MAAM,2BAA2B;;;;;;;;;;;;;;;;;;;;;;CAYC,CAAA;AAEzC,MAAM,MAAM,0BAA0B,GAAG,aAAa,CAAC,OAAO,2BAA2B,CAAC,CAAA"}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
import { type InferProvider } from './capability-definition.js';
|
|
3
|
+
import { DeviceType } from '../device/device-type.js';
|
|
4
|
+
/**
|
|
5
|
+
* Firmware/software update entity. Installed on a `DeviceType.Update` device.
|
|
6
|
+
* Surfaces current vs available version, whether an update is available, the
|
|
7
|
+
* update state, and an install action. Read-mostly and POLL-driven: backends
|
|
8
|
+
* such as the Homematic CCU do not broadcast firmware-descriptor changes, so
|
|
9
|
+
* the client re-queries `getStatus` (which reads the live descriptor) rather
|
|
10
|
+
* than relying on push delivery. `installUpdate` triggers the install
|
|
11
|
+
* (best-effort — providers throw if the backend rejects it).
|
|
12
|
+
*/
|
|
13
|
+
export declare const UpdateStatusSchema: z.ZodObject<{
|
|
14
|
+
currentVersion: z.ZodNullable<z.ZodString>;
|
|
15
|
+
availableVersion: z.ZodNullable<z.ZodString>;
|
|
16
|
+
updatable: z.ZodBoolean;
|
|
17
|
+
state: z.ZodNullable<z.ZodString>;
|
|
18
|
+
inProgress: z.ZodBoolean;
|
|
19
|
+
}, z.core.$strip>;
|
|
20
|
+
export type UpdateStatus = z.infer<typeof UpdateStatusSchema>;
|
|
21
|
+
export declare const updateCapability: {
|
|
22
|
+
readonly name: "update";
|
|
23
|
+
readonly scope: "device";
|
|
24
|
+
readonly deviceNative: true;
|
|
25
|
+
readonly mode: "singleton";
|
|
26
|
+
readonly deviceTypes: readonly [DeviceType.Update];
|
|
27
|
+
readonly methods: {
|
|
28
|
+
readonly installUpdate: import("./capability-definition.js").CapabilityMethodSchema<z.ZodVoid, z.ZodVoid, "mutation">;
|
|
29
|
+
};
|
|
30
|
+
readonly status: {
|
|
31
|
+
readonly schema: z.ZodObject<{
|
|
32
|
+
currentVersion: z.ZodNullable<z.ZodString>;
|
|
33
|
+
availableVersion: z.ZodNullable<z.ZodString>;
|
|
34
|
+
updatable: z.ZodBoolean;
|
|
35
|
+
state: z.ZodNullable<z.ZodString>;
|
|
36
|
+
inProgress: z.ZodBoolean;
|
|
37
|
+
}, z.core.$strip>;
|
|
38
|
+
readonly kind: "poll";
|
|
39
|
+
};
|
|
40
|
+
readonly runtimeState: z.ZodObject<{
|
|
41
|
+
currentVersion: z.ZodNullable<z.ZodString>;
|
|
42
|
+
availableVersion: z.ZodNullable<z.ZodString>;
|
|
43
|
+
updatable: z.ZodBoolean;
|
|
44
|
+
state: z.ZodNullable<z.ZodString>;
|
|
45
|
+
inProgress: z.ZodBoolean;
|
|
46
|
+
}, z.core.$strip>;
|
|
47
|
+
};
|
|
48
|
+
export type IUpdateProvider = InferProvider<typeof updateCapability>;
|
|
49
|
+
//# sourceMappingURL=update.cap.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"update.cap.d.ts","sourceRoot":"","sources":["../../src/capabilities/update.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;;;;;;;;GAQG;AACH,eAAO,MAAM,kBAAkB;;;;;;iBAY7B,CAAA;AACF,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAA;AAE7D,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;CAWY,CAAA;AAEzC,MAAM,MAAM,eAAe,GAAG,aAAa,CAAC,OAAO,gBAAgB,CAAC,CAAA"}
|
|
@@ -0,0 +1,229 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
import { type InferProvider } from './capability-definition.js';
|
|
3
|
+
import { DeviceType } from '../device/device-type.js';
|
|
4
|
+
/**
|
|
5
|
+
* Robot-vacuum cap. Models HA `vacuum.*` entities — anything with a
|
|
6
|
+
* cleaning lifecycle plus a return-to-base / locate surface and an
|
|
7
|
+
* optional fan-speed selector.
|
|
8
|
+
*
|
|
9
|
+
* State follows HA's canonical vacuum lifecycle: `idle` / `cleaning` /
|
|
10
|
+
* `paused` / `returning` / `docked` / `error`. `batteryLevel`
|
|
11
|
+
* (0..100) is nullable — some vacuums don't report a battery
|
|
12
|
+
* percentage. `fanSpeed` is the current speed token (provider-verbatim,
|
|
13
|
+
* e.g. `'standard'` / `'turbo'`) and `availableFanSpeeds` lists the
|
|
14
|
+
* tokens the hardware accepts so the UI renders only supported choices.
|
|
15
|
+
*
|
|
16
|
+
* The `setFanSpeed` method takes the bare `speed` token — the provider
|
|
17
|
+
* validates it against the vacuum's own list. `locate` triggers the
|
|
18
|
+
* find-me chirp; `returnToBase` sends it home.
|
|
19
|
+
*
|
|
20
|
+
* Consumable / waste tanks: `cleanWater` / `dirtyWater` / `detergent` /
|
|
21
|
+
* `dustBin` each carry a nullable `{ level (0..100 %), status ('ok' |
|
|
22
|
+
* 'low' | 'full') }` reading. Native providers (e.g. Dreame, Roborock)
|
|
23
|
+
* SHOULD populate whichever tanks the hardware has — leave a field `null`
|
|
24
|
+
* only when the device has no such tank at all, and use a `TankStatus`
|
|
25
|
+
* with both inner fields `null` when the tank exists but its level is
|
|
26
|
+
* currently unknown. HA `vacuum.*` entities expose no per-tank telemetry,
|
|
27
|
+
* so the HA provider leaves all four `null`.
|
|
28
|
+
*/
|
|
29
|
+
export declare const VacuumStateSchema: z.ZodEnum<{
|
|
30
|
+
error: "error";
|
|
31
|
+
idle: "idle";
|
|
32
|
+
paused: "paused";
|
|
33
|
+
docked: "docked";
|
|
34
|
+
cleaning: "cleaning";
|
|
35
|
+
returning: "returning";
|
|
36
|
+
}>;
|
|
37
|
+
export type VacuumState = z.infer<typeof VacuumStateSchema>;
|
|
38
|
+
/**
|
|
39
|
+
* One consumable / waste tank on a robot vacuum (clean-water, dirty-water,
|
|
40
|
+
* detergent or dust-bin). A tank can report a numeric fill `level` (0..100),
|
|
41
|
+
* a discrete `status` (binary-style hardware), or both. Both `null` means the
|
|
42
|
+
* level is currently unknown; the OWNING field being `null` means the
|
|
43
|
+
* hardware has no such tank at all.
|
|
44
|
+
*/
|
|
45
|
+
export declare const TankStatusSchema: z.ZodObject<{
|
|
46
|
+
level: z.ZodNullable<z.ZodNumber>;
|
|
47
|
+
status: z.ZodNullable<z.ZodEnum<{
|
|
48
|
+
ok: "ok";
|
|
49
|
+
full: "full";
|
|
50
|
+
low: "low";
|
|
51
|
+
}>>;
|
|
52
|
+
}, z.core.$strip>;
|
|
53
|
+
export type TankStatus = z.infer<typeof TankStatusSchema>;
|
|
54
|
+
export declare const VacuumControlStatusSchema: z.ZodObject<{
|
|
55
|
+
state: z.ZodEnum<{
|
|
56
|
+
error: "error";
|
|
57
|
+
idle: "idle";
|
|
58
|
+
paused: "paused";
|
|
59
|
+
docked: "docked";
|
|
60
|
+
cleaning: "cleaning";
|
|
61
|
+
returning: "returning";
|
|
62
|
+
}>;
|
|
63
|
+
batteryLevel: z.ZodNullable<z.ZodNumber>;
|
|
64
|
+
fanSpeed: z.ZodNullable<z.ZodString>;
|
|
65
|
+
availableFanSpeeds: z.ZodArray<z.ZodString>;
|
|
66
|
+
cleanWater: z.ZodNullable<z.ZodObject<{
|
|
67
|
+
level: z.ZodNullable<z.ZodNumber>;
|
|
68
|
+
status: z.ZodNullable<z.ZodEnum<{
|
|
69
|
+
ok: "ok";
|
|
70
|
+
full: "full";
|
|
71
|
+
low: "low";
|
|
72
|
+
}>>;
|
|
73
|
+
}, z.core.$strip>>;
|
|
74
|
+
dirtyWater: z.ZodNullable<z.ZodObject<{
|
|
75
|
+
level: z.ZodNullable<z.ZodNumber>;
|
|
76
|
+
status: z.ZodNullable<z.ZodEnum<{
|
|
77
|
+
ok: "ok";
|
|
78
|
+
full: "full";
|
|
79
|
+
low: "low";
|
|
80
|
+
}>>;
|
|
81
|
+
}, z.core.$strip>>;
|
|
82
|
+
detergent: z.ZodNullable<z.ZodObject<{
|
|
83
|
+
level: z.ZodNullable<z.ZodNumber>;
|
|
84
|
+
status: z.ZodNullable<z.ZodEnum<{
|
|
85
|
+
ok: "ok";
|
|
86
|
+
full: "full";
|
|
87
|
+
low: "low";
|
|
88
|
+
}>>;
|
|
89
|
+
}, z.core.$strip>>;
|
|
90
|
+
dustBin: z.ZodNullable<z.ZodObject<{
|
|
91
|
+
level: z.ZodNullable<z.ZodNumber>;
|
|
92
|
+
status: z.ZodNullable<z.ZodEnum<{
|
|
93
|
+
ok: "ok";
|
|
94
|
+
full: "full";
|
|
95
|
+
low: "low";
|
|
96
|
+
}>>;
|
|
97
|
+
}, z.core.$strip>>;
|
|
98
|
+
lastChangedAt: z.ZodNumber;
|
|
99
|
+
}, z.core.$strip>;
|
|
100
|
+
export type VacuumControlStatus = z.infer<typeof VacuumControlStatusSchema>;
|
|
101
|
+
export declare const vacuumControlCapability: {
|
|
102
|
+
readonly name: "vacuum-control";
|
|
103
|
+
readonly scope: "device";
|
|
104
|
+
readonly deviceNative: true;
|
|
105
|
+
readonly mode: "singleton";
|
|
106
|
+
readonly deviceTypes: readonly [DeviceType.Vacuum];
|
|
107
|
+
readonly methods: {
|
|
108
|
+
readonly start: import("./capability-definition.js").CapabilityMethodSchema<z.ZodObject<{
|
|
109
|
+
deviceId: z.ZodNumber;
|
|
110
|
+
}, z.core.$strip>, z.ZodVoid, "mutation">;
|
|
111
|
+
readonly pause: import("./capability-definition.js").CapabilityMethodSchema<z.ZodObject<{
|
|
112
|
+
deviceId: z.ZodNumber;
|
|
113
|
+
}, z.core.$strip>, z.ZodVoid, "mutation">;
|
|
114
|
+
readonly stop: import("./capability-definition.js").CapabilityMethodSchema<z.ZodObject<{
|
|
115
|
+
deviceId: z.ZodNumber;
|
|
116
|
+
}, z.core.$strip>, z.ZodVoid, "mutation">;
|
|
117
|
+
readonly returnToBase: import("./capability-definition.js").CapabilityMethodSchema<z.ZodObject<{
|
|
118
|
+
deviceId: z.ZodNumber;
|
|
119
|
+
}, z.core.$strip>, z.ZodVoid, "mutation">;
|
|
120
|
+
readonly locate: import("./capability-definition.js").CapabilityMethodSchema<z.ZodObject<{
|
|
121
|
+
deviceId: z.ZodNumber;
|
|
122
|
+
}, z.core.$strip>, z.ZodVoid, "mutation">;
|
|
123
|
+
readonly setFanSpeed: import("./capability-definition.js").CapabilityMethodSchema<z.ZodObject<{
|
|
124
|
+
deviceId: z.ZodNumber;
|
|
125
|
+
speed: z.ZodString;
|
|
126
|
+
}, z.core.$strip>, z.ZodVoid, "mutation">;
|
|
127
|
+
};
|
|
128
|
+
readonly status: {
|
|
129
|
+
readonly schema: z.ZodObject<{
|
|
130
|
+
state: z.ZodEnum<{
|
|
131
|
+
error: "error";
|
|
132
|
+
idle: "idle";
|
|
133
|
+
paused: "paused";
|
|
134
|
+
docked: "docked";
|
|
135
|
+
cleaning: "cleaning";
|
|
136
|
+
returning: "returning";
|
|
137
|
+
}>;
|
|
138
|
+
batteryLevel: z.ZodNullable<z.ZodNumber>;
|
|
139
|
+
fanSpeed: z.ZodNullable<z.ZodString>;
|
|
140
|
+
availableFanSpeeds: z.ZodArray<z.ZodString>;
|
|
141
|
+
cleanWater: z.ZodNullable<z.ZodObject<{
|
|
142
|
+
level: z.ZodNullable<z.ZodNumber>;
|
|
143
|
+
status: z.ZodNullable<z.ZodEnum<{
|
|
144
|
+
ok: "ok";
|
|
145
|
+
full: "full";
|
|
146
|
+
low: "low";
|
|
147
|
+
}>>;
|
|
148
|
+
}, z.core.$strip>>;
|
|
149
|
+
dirtyWater: z.ZodNullable<z.ZodObject<{
|
|
150
|
+
level: z.ZodNullable<z.ZodNumber>;
|
|
151
|
+
status: z.ZodNullable<z.ZodEnum<{
|
|
152
|
+
ok: "ok";
|
|
153
|
+
full: "full";
|
|
154
|
+
low: "low";
|
|
155
|
+
}>>;
|
|
156
|
+
}, z.core.$strip>>;
|
|
157
|
+
detergent: z.ZodNullable<z.ZodObject<{
|
|
158
|
+
level: z.ZodNullable<z.ZodNumber>;
|
|
159
|
+
status: z.ZodNullable<z.ZodEnum<{
|
|
160
|
+
ok: "ok";
|
|
161
|
+
full: "full";
|
|
162
|
+
low: "low";
|
|
163
|
+
}>>;
|
|
164
|
+
}, z.core.$strip>>;
|
|
165
|
+
dustBin: z.ZodNullable<z.ZodObject<{
|
|
166
|
+
level: z.ZodNullable<z.ZodNumber>;
|
|
167
|
+
status: z.ZodNullable<z.ZodEnum<{
|
|
168
|
+
ok: "ok";
|
|
169
|
+
full: "full";
|
|
170
|
+
low: "low";
|
|
171
|
+
}>>;
|
|
172
|
+
}, z.core.$strip>>;
|
|
173
|
+
lastChangedAt: z.ZodNumber;
|
|
174
|
+
}, z.core.$strip>;
|
|
175
|
+
readonly kind: "push";
|
|
176
|
+
};
|
|
177
|
+
/**
|
|
178
|
+
* Runtime-state slice — mirrored by the kernel. UI controls watch the
|
|
179
|
+
* slice for live state + battery + fan-speed changes.
|
|
180
|
+
*/
|
|
181
|
+
readonly runtimeState: z.ZodObject<{
|
|
182
|
+
state: z.ZodEnum<{
|
|
183
|
+
error: "error";
|
|
184
|
+
idle: "idle";
|
|
185
|
+
paused: "paused";
|
|
186
|
+
docked: "docked";
|
|
187
|
+
cleaning: "cleaning";
|
|
188
|
+
returning: "returning";
|
|
189
|
+
}>;
|
|
190
|
+
batteryLevel: z.ZodNullable<z.ZodNumber>;
|
|
191
|
+
fanSpeed: z.ZodNullable<z.ZodString>;
|
|
192
|
+
availableFanSpeeds: z.ZodArray<z.ZodString>;
|
|
193
|
+
cleanWater: z.ZodNullable<z.ZodObject<{
|
|
194
|
+
level: z.ZodNullable<z.ZodNumber>;
|
|
195
|
+
status: z.ZodNullable<z.ZodEnum<{
|
|
196
|
+
ok: "ok";
|
|
197
|
+
full: "full";
|
|
198
|
+
low: "low";
|
|
199
|
+
}>>;
|
|
200
|
+
}, z.core.$strip>>;
|
|
201
|
+
dirtyWater: z.ZodNullable<z.ZodObject<{
|
|
202
|
+
level: z.ZodNullable<z.ZodNumber>;
|
|
203
|
+
status: z.ZodNullable<z.ZodEnum<{
|
|
204
|
+
ok: "ok";
|
|
205
|
+
full: "full";
|
|
206
|
+
low: "low";
|
|
207
|
+
}>>;
|
|
208
|
+
}, z.core.$strip>>;
|
|
209
|
+
detergent: z.ZodNullable<z.ZodObject<{
|
|
210
|
+
level: z.ZodNullable<z.ZodNumber>;
|
|
211
|
+
status: z.ZodNullable<z.ZodEnum<{
|
|
212
|
+
ok: "ok";
|
|
213
|
+
full: "full";
|
|
214
|
+
low: "low";
|
|
215
|
+
}>>;
|
|
216
|
+
}, z.core.$strip>>;
|
|
217
|
+
dustBin: z.ZodNullable<z.ZodObject<{
|
|
218
|
+
level: z.ZodNullable<z.ZodNumber>;
|
|
219
|
+
status: z.ZodNullable<z.ZodEnum<{
|
|
220
|
+
ok: "ok";
|
|
221
|
+
full: "full";
|
|
222
|
+
low: "low";
|
|
223
|
+
}>>;
|
|
224
|
+
}, z.core.$strip>>;
|
|
225
|
+
lastChangedAt: z.ZodNumber;
|
|
226
|
+
}, z.core.$strip>;
|
|
227
|
+
};
|
|
228
|
+
export type IVacuumControlProvider = InferProvider<typeof vacuumControlCapability>;
|
|
229
|
+
//# sourceMappingURL=vacuum-control.cap.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"vacuum-control.cap.d.ts","sourceRoot":"","sources":["../../src/capabilities/vacuum-control.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;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AAEH,eAAO,MAAM,iBAAiB;;;;;;;EAO5B,CAAA;AACF,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAA;AAE3D;;;;;;GAMG;AACH,eAAO,MAAM,gBAAgB;;;;;;;iBAK3B,CAAA;AACF,MAAM,MAAM,UAAU,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gBAAgB,CAAC,CAAA;AAEzD,eAAO,MAAM,yBAAyB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAqBpC,CAAA;AAEF,MAAM,MAAM,mBAAmB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,yBAAyB,CAAC,CAAA;AAE3E,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IA6ClC;;;OAGG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAEoC,CAAA;AAEzC,MAAM,MAAM,sBAAsB,GAAG,aAAa,CAAC,OAAO,uBAAuB,CAAC,CAAA"}
|
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
import { type InferProvider } from './capability-definition.js';
|
|
3
|
+
import { DeviceType } from '../device/device-type.js';
|
|
4
|
+
/**
|
|
5
|
+
* Pipe / water / gas valve cap. Models HA `valve.*` entities — anything
|
|
6
|
+
* that moves between an open and a closed state with optional
|
|
7
|
+
* intermediate positioning.
|
|
8
|
+
*
|
|
9
|
+
* State follows HA's canonical lifecycle: `open` / `opening` /
|
|
10
|
+
* `closing` / `closed` / `stopped`. `position` (0 closed, 100 open) is
|
|
11
|
+
* nullable — some valves only support full open/close, while others
|
|
12
|
+
* report and accept an intermediate position. Providers populate only
|
|
13
|
+
* what the hardware reports.
|
|
14
|
+
*
|
|
15
|
+
* Unlike `cover`, valves have no tilt surface — the cap is the strict
|
|
16
|
+
* open/close + optional position subset of the cover lifecycle.
|
|
17
|
+
*
|
|
18
|
+
* Sub-surface gating paired with a `DeviceFeature` flag:
|
|
19
|
+
* - `ValvePositionable` — intermediate `position` slider / drag
|
|
20
|
+
*/
|
|
21
|
+
export declare const ValveStateSchema: z.ZodEnum<{
|
|
22
|
+
open: "open";
|
|
23
|
+
stopped: "stopped";
|
|
24
|
+
opening: "opening";
|
|
25
|
+
closing: "closing";
|
|
26
|
+
closed: "closed";
|
|
27
|
+
}>;
|
|
28
|
+
export type ValveState = z.infer<typeof ValveStateSchema>;
|
|
29
|
+
export declare const ValveStatusSchema: z.ZodObject<{
|
|
30
|
+
state: z.ZodEnum<{
|
|
31
|
+
open: "open";
|
|
32
|
+
stopped: "stopped";
|
|
33
|
+
opening: "opening";
|
|
34
|
+
closing: "closing";
|
|
35
|
+
closed: "closed";
|
|
36
|
+
}>;
|
|
37
|
+
position: z.ZodNullable<z.ZodNumber>;
|
|
38
|
+
lastChangedAt: z.ZodNumber;
|
|
39
|
+
}, z.core.$strip>;
|
|
40
|
+
export type ValveStatus = z.infer<typeof ValveStatusSchema>;
|
|
41
|
+
export declare const valveCapability: {
|
|
42
|
+
readonly name: "valve";
|
|
43
|
+
readonly scope: "device";
|
|
44
|
+
readonly deviceNative: true;
|
|
45
|
+
readonly mode: "singleton";
|
|
46
|
+
readonly deviceTypes: readonly [DeviceType.Valve];
|
|
47
|
+
readonly methods: {
|
|
48
|
+
readonly open: import("./capability-definition.js").CapabilityMethodSchema<z.ZodObject<{
|
|
49
|
+
deviceId: z.ZodNumber;
|
|
50
|
+
}, z.core.$strip>, z.ZodVoid, "mutation">;
|
|
51
|
+
readonly close: import("./capability-definition.js").CapabilityMethodSchema<z.ZodObject<{
|
|
52
|
+
deviceId: z.ZodNumber;
|
|
53
|
+
}, z.core.$strip>, z.ZodVoid, "mutation">;
|
|
54
|
+
readonly stop: import("./capability-definition.js").CapabilityMethodSchema<z.ZodObject<{
|
|
55
|
+
deviceId: z.ZodNumber;
|
|
56
|
+
}, z.core.$strip>, z.ZodVoid, "mutation">;
|
|
57
|
+
readonly setPosition: import("./capability-definition.js").CapabilityMethodSchema<z.ZodObject<{
|
|
58
|
+
deviceId: z.ZodNumber;
|
|
59
|
+
position: z.ZodNumber;
|
|
60
|
+
}, z.core.$strip>, z.ZodVoid, "mutation">;
|
|
61
|
+
};
|
|
62
|
+
readonly status: {
|
|
63
|
+
readonly schema: z.ZodObject<{
|
|
64
|
+
state: z.ZodEnum<{
|
|
65
|
+
open: "open";
|
|
66
|
+
stopped: "stopped";
|
|
67
|
+
opening: "opening";
|
|
68
|
+
closing: "closing";
|
|
69
|
+
closed: "closed";
|
|
70
|
+
}>;
|
|
71
|
+
position: z.ZodNullable<z.ZodNumber>;
|
|
72
|
+
lastChangedAt: z.ZodNumber;
|
|
73
|
+
}, z.core.$strip>;
|
|
74
|
+
readonly kind: "push";
|
|
75
|
+
};
|
|
76
|
+
/**
|
|
77
|
+
* Runtime-state slice — mirrored by the kernel. UI controls watch the
|
|
78
|
+
* slice for live position changes during a move.
|
|
79
|
+
*/
|
|
80
|
+
readonly runtimeState: z.ZodObject<{
|
|
81
|
+
state: z.ZodEnum<{
|
|
82
|
+
open: "open";
|
|
83
|
+
stopped: "stopped";
|
|
84
|
+
opening: "opening";
|
|
85
|
+
closing: "closing";
|
|
86
|
+
closed: "closed";
|
|
87
|
+
}>;
|
|
88
|
+
position: z.ZodNullable<z.ZodNumber>;
|
|
89
|
+
lastChangedAt: z.ZodNumber;
|
|
90
|
+
}, z.core.$strip>;
|
|
91
|
+
};
|
|
92
|
+
export type IValveProvider = InferProvider<typeof valveCapability>;
|
|
93
|
+
//# sourceMappingURL=valve.cap.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"valve.cap.d.ts","sourceRoot":"","sources":["../../src/capabilities/valve.cap.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AACvB,OAAO,EAAqC,KAAK,aAAa,EAAE,MAAM,4BAA4B,CAAA;AAClG,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAA;AAErD;;;;;;;;;;;;;;;;GAgBG;AAEH,eAAO,MAAM,gBAAgB;;;;;;EAM3B,CAAA;AACF,MAAM,MAAM,UAAU,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gBAAgB,CAAC,CAAA;AAEzD,eAAO,MAAM,iBAAiB;;;;;;;;;;iBAQ5B,CAAA;AAEF,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAA;AAE3D,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAmC1B;;;OAGG;;;;;;;;;;;;CAEoC,CAAA;AAEzC,MAAM,MAAM,cAAc,GAAG,aAAa,CAAC,OAAO,eAAe,CAAC,CAAA"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
import { type InferProvider } from './capability-definition.js';
|
|
3
|
+
import { DeviceType } from '../device/device-type.js';
|
|
4
|
+
/**
|
|
5
|
+
* Vibration / shake / impact sensor. Drives Home Assistant
|
|
6
|
+
* `binary_sensor` entries with `device_class: vibration`. Push-driven.
|
|
7
|
+
*/
|
|
8
|
+
export declare const VibrationStatusSchema: z.ZodObject<{
|
|
9
|
+
detected: z.ZodBoolean;
|
|
10
|
+
lastChangedAt: z.ZodNumber;
|
|
11
|
+
}, z.core.$strip>;
|
|
12
|
+
export type VibrationStatus = z.infer<typeof VibrationStatusSchema>;
|
|
13
|
+
export declare const vibrationCapability: {
|
|
14
|
+
readonly name: "vibration";
|
|
15
|
+
readonly scope: "device";
|
|
16
|
+
readonly deviceNative: true;
|
|
17
|
+
readonly mode: "singleton";
|
|
18
|
+
readonly deviceTypes: readonly [DeviceType.Sensor];
|
|
19
|
+
readonly methods: {};
|
|
20
|
+
readonly status: {
|
|
21
|
+
readonly schema: z.ZodObject<{
|
|
22
|
+
detected: z.ZodBoolean;
|
|
23
|
+
lastChangedAt: z.ZodNumber;
|
|
24
|
+
}, z.core.$strip>;
|
|
25
|
+
readonly kind: "push";
|
|
26
|
+
};
|
|
27
|
+
readonly runtimeState: z.ZodObject<{
|
|
28
|
+
detected: z.ZodBoolean;
|
|
29
|
+
lastChangedAt: z.ZodNumber;
|
|
30
|
+
}, z.core.$strip>;
|
|
31
|
+
};
|
|
32
|
+
export type IVibrationProvider = InferProvider<typeof vibrationCapability>;
|
|
33
|
+
//# sourceMappingURL=vibration.cap.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"vibration.cap.d.ts","sourceRoot":"","sources":["../../src/capabilities/vibration.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;;;GAGG;AACH,eAAO,MAAM,qBAAqB;;;iBAIhC,CAAA;AAEF,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAA;AAEnE,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;CAYS,CAAA;AAEzC,MAAM,MAAM,kBAAkB,GAAG,aAAa,CAAC,OAAO,mBAAmB,CAAC,CAAA"}
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
import { type InferProvider } from './capability-definition.js';
|
|
3
|
+
/**
|
|
4
|
+
* `videoclips` — the unified, navigable-clip surface for a camera.
|
|
5
|
+
*
|
|
6
|
+
* A device-scoped WRAPPER cap (like `pipeline-analytics`): exactly one active
|
|
7
|
+
* provider per device, substitutable. The DEFAULT provider (registered by
|
|
8
|
+
* `addon-post-analysis`, `defaultActive: true`) composes the analytics event
|
|
9
|
+
* log (markers + thumbnails) with the recorder's `getPlaybackManifest` — a clip
|
|
10
|
+
* is a time-WINDOW over existing footage, never a separate file. A camera that
|
|
11
|
+
* exposes NATIVE onboard clips (Reolink/Hikvision NVR) can later substitute the
|
|
12
|
+
* wrapper provider for its device and serve its own clip catalog + URLs.
|
|
13
|
+
*
|
|
14
|
+
* A `Clip` is purely time-based (subtree-blind): playback resolves segments by
|
|
15
|
+
* temporal overlap, so the API never decides `continuous` vs `events`.
|
|
16
|
+
*/
|
|
17
|
+
export declare const ClipSchema: z.ZodObject<{
|
|
18
|
+
id: z.ZodString;
|
|
19
|
+
source: z.ZodString;
|
|
20
|
+
kind: z.ZodEnum<{
|
|
21
|
+
object: "object";
|
|
22
|
+
audio: "audio";
|
|
23
|
+
native: "native";
|
|
24
|
+
motion: "motion";
|
|
25
|
+
}>;
|
|
26
|
+
timeRange: z.ZodObject<{
|
|
27
|
+
startMs: z.ZodNumber;
|
|
28
|
+
endMs: z.ZodNumber;
|
|
29
|
+
}, z.core.$strip>;
|
|
30
|
+
thumbnail: z.ZodOptional<z.ZodString>;
|
|
31
|
+
}, z.core.$strip>;
|
|
32
|
+
export type Clip = z.infer<typeof ClipSchema>;
|
|
33
|
+
export declare const ClipPlaybackSchema: z.ZodObject<{
|
|
34
|
+
playbackUrl: z.ZodString;
|
|
35
|
+
playbackEndpoints: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
36
|
+
token: z.ZodOptional<z.ZodString>;
|
|
37
|
+
}, z.core.$strip>;
|
|
38
|
+
export type ClipPlayback = z.infer<typeof ClipPlaybackSchema>;
|
|
39
|
+
export declare const videoclipsCapability: {
|
|
40
|
+
readonly name: "videoclips";
|
|
41
|
+
readonly scope: "device";
|
|
42
|
+
readonly mode: "singleton";
|
|
43
|
+
readonly kind: "wrapper";
|
|
44
|
+
readonly defaultActive: true;
|
|
45
|
+
readonly methods: {
|
|
46
|
+
readonly listClips: import("./capability-definition.js").CapabilityMethodSchema<z.ZodObject<{
|
|
47
|
+
deviceId: z.ZodNumber;
|
|
48
|
+
since: z.ZodNumber;
|
|
49
|
+
until: z.ZodNumber;
|
|
50
|
+
limit: z.ZodOptional<z.ZodNumber>;
|
|
51
|
+
}, z.core.$strip>, z.ZodReadonly<z.ZodArray<z.ZodObject<{
|
|
52
|
+
id: z.ZodString;
|
|
53
|
+
source: z.ZodString;
|
|
54
|
+
kind: z.ZodEnum<{
|
|
55
|
+
object: "object";
|
|
56
|
+
audio: "audio";
|
|
57
|
+
native: "native";
|
|
58
|
+
motion: "motion";
|
|
59
|
+
}>;
|
|
60
|
+
timeRange: z.ZodObject<{
|
|
61
|
+
startMs: z.ZodNumber;
|
|
62
|
+
endMs: z.ZodNumber;
|
|
63
|
+
}, z.core.$strip>;
|
|
64
|
+
thumbnail: z.ZodOptional<z.ZodString>;
|
|
65
|
+
}, z.core.$strip>>>, "query">;
|
|
66
|
+
readonly getClipPlayback: import("./capability-definition.js").CapabilityMethodSchema<z.ZodObject<{
|
|
67
|
+
deviceId: z.ZodNumber;
|
|
68
|
+
clipId: z.ZodString;
|
|
69
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
70
|
+
playbackUrl: z.ZodString;
|
|
71
|
+
playbackEndpoints: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
72
|
+
token: z.ZodOptional<z.ZodString>;
|
|
73
|
+
}, z.core.$strip>, "query">;
|
|
74
|
+
};
|
|
75
|
+
};
|
|
76
|
+
export type IVideoclipsProvider = InferProvider<typeof videoclipsCapability>;
|
|
77
|
+
//# sourceMappingURL=videoclips.cap.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"videoclips.cap.d.ts","sourceRoot":"","sources":["../../src/capabilities/videoclips.cap.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AACvB,OAAO,EAAqC,KAAK,aAAa,EAAE,MAAM,4BAA4B,CAAA;AAElG;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,UAAU;;;;;;;;;;;;;;iBAUrB,CAAA;AACF,MAAM,MAAM,IAAI,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,UAAU,CAAC,CAAA;AAE7C,eAAO,MAAM,kBAAkB;;;;iBAM7B,CAAA;AACF,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAA;AAE7D,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAuBQ,CAAA;AAEzC,MAAM,MAAM,mBAAmB,GAAG,aAAa,CAAC,OAAO,oBAAoB,CAAC,CAAA"}
|