@camstack/types 0.1.39 → 0.1.41
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/addon/base-addon.d.ts +14 -2
- package/dist/addon/base-addon.d.ts.map +1 -1
- package/dist/addon/durable-state.d.ts +33 -0
- package/dist/addon/durable-state.d.ts.map +1 -0
- package/dist/capabilities/accessories.cap.d.ts +56 -8
- package/dist/capabilities/accessories.cap.d.ts.map +1 -1
- package/dist/capabilities/addon-settings.cap.d.ts +1 -0
- package/dist/capabilities/addon-settings.cap.d.ts.map +1 -1
- package/dist/capabilities/addons.cap.d.ts +187 -1
- package/dist/capabilities/addons.cap.d.ts.map +1 -1
- package/dist/capabilities/advanced-notifier.cap.d.ts +4 -0
- package/dist/capabilities/advanced-notifier.cap.d.ts.map +1 -1
- package/dist/capabilities/air-quality-sensor.cap.d.ts +56 -0
- package/dist/capabilities/air-quality-sensor.cap.d.ts.map +1 -0
- package/dist/capabilities/alarm-panel.cap.d.ts +154 -0
- package/dist/capabilities/alarm-panel.cap.d.ts.map +1 -0
- package/dist/capabilities/alerts.cap.d.ts +5 -5
- package/dist/capabilities/ambient-light-sensor.cap.d.ts +39 -0
- package/dist/capabilities/ambient-light-sensor.cap.d.ts.map +1 -0
- package/dist/capabilities/audio-analyzer.cap.d.ts +2 -2
- package/dist/capabilities/automation-control.cap.d.ts +65 -0
- package/dist/capabilities/automation-control.cap.d.ts.map +1 -0
- package/dist/capabilities/battery.cap.d.ts +30 -1
- package/dist/capabilities/battery.cap.d.ts.map +1 -1
- package/dist/capabilities/binary.cap.d.ts +40 -0
- package/dist/capabilities/binary.cap.d.ts.map +1 -0
- package/dist/capabilities/brightness.cap.d.ts +3 -2
- package/dist/capabilities/brightness.cap.d.ts.map +1 -1
- package/dist/capabilities/broker.cap.d.ts +291 -0
- package/dist/capabilities/broker.cap.d.ts.map +1 -0
- package/dist/capabilities/button.cap.d.ts +27 -0
- package/dist/capabilities/button.cap.d.ts.map +1 -0
- package/dist/capabilities/camera-credentials.cap.d.ts +1 -0
- package/dist/capabilities/camera-credentials.cap.d.ts.map +1 -1
- package/dist/capabilities/camera-pipeline-config.cap.d.ts +43 -0
- package/dist/capabilities/camera-pipeline-config.cap.d.ts.map +1 -0
- package/dist/capabilities/camera-streams.cap.d.ts +147 -10
- package/dist/capabilities/camera-streams.cap.d.ts.map +1 -1
- package/dist/capabilities/capability-definition.d.ts +15 -0
- package/dist/capabilities/capability-definition.d.ts.map +1 -1
- package/dist/capabilities/carbon-monoxide.cap.d.ts +33 -0
- package/dist/capabilities/carbon-monoxide.cap.d.ts.map +1 -0
- package/dist/capabilities/climate-control.cap.d.ts +183 -0
- package/dist/capabilities/climate-control.cap.d.ts.map +1 -0
- package/dist/capabilities/color.cap.d.ts +186 -0
- package/dist/capabilities/color.cap.d.ts.map +1 -0
- package/dist/capabilities/connectivity.cap.d.ts +37 -0
- package/dist/capabilities/connectivity.cap.d.ts.map +1 -0
- package/dist/capabilities/consumables.cap.d.ts +105 -0
- package/dist/capabilities/consumables.cap.d.ts.map +1 -0
- package/dist/capabilities/contact.cap.d.ts +41 -0
- package/dist/capabilities/contact.cap.d.ts.map +1 -0
- package/dist/capabilities/control.cap.d.ts +167 -0
- package/dist/capabilities/control.cap.d.ts.map +1 -0
- package/dist/capabilities/cover.cap.d.ts +104 -0
- package/dist/capabilities/cover.cap.d.ts.map +1 -0
- package/dist/capabilities/custom-actions.d.ts +6 -0
- package/dist/capabilities/custom-actions.d.ts.map +1 -1
- package/dist/capabilities/decoder.cap.d.ts +1 -1
- package/dist/capabilities/device-adoption.cap.d.ts +203 -0
- package/dist/capabilities/device-adoption.cap.d.ts.map +1 -0
- package/dist/capabilities/device-discovery.cap.d.ts +44 -143
- package/dist/capabilities/device-discovery.cap.d.ts.map +1 -1
- package/dist/capabilities/device-manager.cap.d.ts +469 -0
- package/dist/capabilities/device-manager.cap.d.ts.map +1 -1
- package/dist/capabilities/device-ops.cap.d.ts +30 -0
- package/dist/capabilities/device-ops.cap.d.ts.map +1 -1
- package/dist/capabilities/device-provider.cap.d.ts +36 -0
- package/dist/capabilities/device-provider.cap.d.ts.map +1 -1
- package/dist/capabilities/device-status.cap.d.ts +1 -0
- package/dist/capabilities/device-status.cap.d.ts.map +1 -1
- package/dist/capabilities/doorbell.cap.d.ts +1 -0
- package/dist/capabilities/doorbell.cap.d.ts.map +1 -1
- package/dist/capabilities/enum-sensor.cap.d.ts +60 -0
- package/dist/capabilities/enum-sensor.cap.d.ts.map +1 -0
- package/dist/capabilities/event-emitter.cap.d.ts +79 -0
- package/dist/capabilities/event-emitter.cap.d.ts.map +1 -0
- package/dist/capabilities/fan-control.cap.d.ts +100 -0
- package/dist/capabilities/fan-control.cap.d.ts.map +1 -0
- package/dist/capabilities/feature-probe.cap.d.ts +1 -0
- package/dist/capabilities/feature-probe.cap.d.ts.map +1 -1
- package/dist/capabilities/flood.cap.d.ts +37 -0
- package/dist/capabilities/flood.cap.d.ts.map +1 -0
- package/dist/capabilities/gas.cap.d.ts +34 -0
- package/dist/capabilities/gas.cap.d.ts.map +1 -0
- package/dist/capabilities/humidifier.cap.d.ts +82 -0
- package/dist/capabilities/humidifier.cap.d.ts.map +1 -0
- package/dist/capabilities/humidity-sensor.cap.d.ts +43 -0
- package/dist/capabilities/humidity-sensor.cap.d.ts.map +1 -0
- package/dist/capabilities/image.cap.d.ts +44 -0
- package/dist/capabilities/image.cap.d.ts.map +1 -0
- package/dist/capabilities/index.d.ts +103 -15
- package/dist/capabilities/index.d.ts.map +1 -1
- package/dist/capabilities/integrations.cap.d.ts +12 -0
- package/dist/capabilities/integrations.cap.d.ts.map +1 -1
- package/dist/capabilities/intercom.cap.d.ts +49 -9
- package/dist/capabilities/intercom.cap.d.ts.map +1 -1
- package/dist/capabilities/lawn-mower-control.cap.d.ts +83 -0
- package/dist/capabilities/lawn-mower-control.cap.d.ts.map +1 -0
- package/dist/capabilities/local-network.cap.d.ts +1 -1
- package/dist/capabilities/lock-control.cap.d.ts +92 -0
- package/dist/capabilities/lock-control.cap.d.ts.map +1 -0
- package/dist/capabilities/mask-shape.d.ts +99 -0
- package/dist/capabilities/mask-shape.d.ts.map +1 -0
- package/dist/capabilities/media-player.cap.d.ts +201 -0
- package/dist/capabilities/media-player.cap.d.ts.map +1 -0
- package/dist/capabilities/mesh-network.cap.d.ts +3 -3
- package/dist/capabilities/motion-trigger.cap.d.ts +1 -0
- package/dist/capabilities/motion-trigger.cap.d.ts.map +1 -1
- package/dist/capabilities/motion-zones.cap.d.ts +95 -13
- package/dist/capabilities/motion-zones.cap.d.ts.map +1 -1
- package/dist/capabilities/mqtt-broker.cap.d.ts +3 -3
- package/dist/capabilities/native-object-detection.cap.d.ts +74 -3
- package/dist/capabilities/native-object-detection.cap.d.ts.map +1 -1
- package/dist/capabilities/network-access.cap.d.ts +7 -7
- package/dist/capabilities/network-quality.cap.d.ts +5 -0
- package/dist/capabilities/network-quality.cap.d.ts.map +1 -1
- package/dist/capabilities/notifier.cap.d.ts +173 -0
- package/dist/capabilities/notifier.cap.d.ts.map +1 -0
- package/dist/capabilities/numeric-sensor.cap.d.ts +52 -0
- package/dist/capabilities/numeric-sensor.cap.d.ts.map +1 -0
- package/dist/capabilities/oauth-integration.cap.d.ts +4 -2
- package/dist/capabilities/oauth-integration.cap.d.ts.map +1 -1
- package/dist/capabilities/osd.cap.d.ts +1 -0
- package/dist/capabilities/osd.cap.d.ts.map +1 -1
- package/dist/capabilities/pipeline-analytics.cap.d.ts +69 -22
- package/dist/capabilities/pipeline-analytics.cap.d.ts.map +1 -1
- package/dist/capabilities/pipeline-executor.cap.d.ts +2 -2
- package/dist/capabilities/pipeline-orchestrator.cap.d.ts +1 -1
- package/dist/capabilities/pipeline-runner.cap.d.ts +4 -2
- package/dist/capabilities/pipeline-runner.cap.d.ts.map +1 -1
- package/dist/capabilities/platform-probe.cap.d.ts +25 -0
- package/dist/capabilities/platform-probe.cap.d.ts.map +1 -1
- package/dist/capabilities/power-meter.cap.d.ts +65 -0
- package/dist/capabilities/power-meter.cap.d.ts.map +1 -0
- package/dist/capabilities/presence.cap.d.ts +79 -0
- package/dist/capabilities/presence.cap.d.ts.map +1 -0
- package/dist/capabilities/pressure-sensor.cap.d.ts +43 -0
- package/dist/capabilities/pressure-sensor.cap.d.ts.map +1 -0
- package/dist/capabilities/privacy-mask.cap.d.ts +207 -0
- package/dist/capabilities/privacy-mask.cap.d.ts.map +1 -0
- package/dist/capabilities/ptz-autotrack.cap.d.ts +1 -0
- package/dist/capabilities/ptz-autotrack.cap.d.ts.map +1 -1
- package/dist/capabilities/ptz.cap.d.ts +1 -0
- package/dist/capabilities/ptz.cap.d.ts.map +1 -1
- package/dist/capabilities/reboot.cap.d.ts +1 -0
- package/dist/capabilities/reboot.cap.d.ts.map +1 -1
- package/dist/capabilities/recording.cap.d.ts +238 -32
- package/dist/capabilities/recording.cap.d.ts.map +1 -1
- package/dist/capabilities/restreamer.cap.d.ts +2 -2
- package/dist/capabilities/schemas/detection-shared.d.ts +14 -1
- package/dist/capabilities/schemas/detection-shared.d.ts.map +1 -1
- package/dist/capabilities/schemas/orchestrator-metrics.d.ts +2 -2
- package/dist/capabilities/schemas/streaming-shared.d.ts +64 -1
- package/dist/capabilities/schemas/streaming-shared.d.ts.map +1 -1
- package/dist/capabilities/script-runner.cap.d.ts +62 -0
- package/dist/capabilities/script-runner.cap.d.ts.map +1 -0
- package/dist/capabilities/settings-store.cap.d.ts +25 -0
- package/dist/capabilities/settings-store.cap.d.ts.map +1 -1
- package/dist/capabilities/smoke.cap.d.ts +38 -0
- package/dist/capabilities/smoke.cap.d.ts.map +1 -0
- package/dist/capabilities/snapshot-provider.cap.d.ts +1 -1
- package/dist/capabilities/snapshot.cap.d.ts +1 -0
- package/dist/capabilities/snapshot.cap.d.ts.map +1 -1
- package/dist/capabilities/sso-bridge.cap.d.ts +3 -3
- package/dist/capabilities/storage-evictable.cap.d.ts +54 -0
- package/dist/capabilities/storage-evictable.cap.d.ts.map +1 -0
- package/dist/capabilities/storage-provider.cap.d.ts +31 -186
- package/dist/capabilities/storage-provider.cap.d.ts.map +1 -1
- package/dist/capabilities/storage.cap.d.ts +35 -226
- package/dist/capabilities/storage.cap.d.ts.map +1 -1
- package/dist/capabilities/stream-broker.cap.d.ts +309 -25
- package/dist/capabilities/stream-broker.cap.d.ts.map +1 -1
- package/dist/capabilities/stream-catalog.cap.d.ts +85 -0
- package/dist/capabilities/stream-catalog.cap.d.ts.map +1 -0
- package/dist/capabilities/stream-params.cap.d.ts +27 -26
- package/dist/capabilities/stream-params.cap.d.ts.map +1 -1
- package/dist/capabilities/switch.cap.d.ts +1 -0
- package/dist/capabilities/switch.cap.d.ts.map +1 -1
- package/dist/capabilities/tamper.cap.d.ts +33 -0
- package/dist/capabilities/tamper.cap.d.ts.map +1 -0
- package/dist/capabilities/temperature-sensor.cap.d.ts +51 -0
- package/dist/capabilities/temperature-sensor.cap.d.ts.map +1 -0
- package/dist/capabilities/update.cap.d.ts +49 -0
- package/dist/capabilities/update.cap.d.ts.map +1 -0
- package/dist/capabilities/user-management.cap.d.ts +20 -20
- package/dist/capabilities/vacuum-control.cap.d.ts +229 -0
- package/dist/capabilities/vacuum-control.cap.d.ts.map +1 -0
- package/dist/capabilities/valve.cap.d.ts +93 -0
- package/dist/capabilities/valve.cap.d.ts.map +1 -0
- package/dist/capabilities/vibration.cap.d.ts +33 -0
- package/dist/capabilities/vibration.cap.d.ts.map +1 -0
- package/dist/capabilities/water-heater.cap.d.ts +78 -0
- package/dist/capabilities/water-heater.cap.d.ts.map +1 -0
- package/dist/capabilities/weather.cap.d.ts +76 -0
- package/dist/capabilities/weather.cap.d.ts.map +1 -0
- package/dist/capabilities/webrtc-session.cap.d.ts +128 -0
- package/dist/capabilities/webrtc-session.cap.d.ts.map +1 -1
- package/dist/constants.d.ts +0 -2
- package/dist/constants.d.ts.map +1 -1
- package/dist/device/base-device-provider.d.ts +11 -0
- package/dist/device/base-device-provider.d.ts.map +1 -1
- package/dist/device/base-device.d.ts +52 -0
- package/dist/device/base-device.d.ts.map +1 -1
- package/dist/device/device-context.d.ts +29 -0
- package/dist/device/device-context.d.ts.map +1 -1
- package/dist/device/device-link-transform.d.ts +6 -0
- package/dist/device/device-link-transform.d.ts.map +1 -0
- package/dist/device/device-management.d.ts +116 -4
- package/dist/device/device-management.d.ts.map +1 -1
- package/dist/device/device-type.d.ts +214 -3
- package/dist/device/device-type.d.ts.map +1 -1
- package/dist/device/device.d.ts +25 -0
- package/dist/device/device.d.ts.map +1 -1
- package/dist/device/index.d.ts +5 -1
- package/dist/device/index.d.ts.map +1 -1
- package/dist/device/path-util.d.ts +13 -0
- package/dist/device/path-util.d.ts.map +1 -0
- package/dist/device/schema-fields.d.ts +12 -0
- package/dist/device/schema-fields.d.ts.map +1 -0
- package/dist/device/source-info.d.ts +87 -0
- package/dist/device/source-info.d.ts.map +1 -0
- package/dist/device/system-mirror.d.ts +6 -2
- package/dist/device/system-mirror.d.ts.map +1 -1
- package/dist/encode-profile.d.ts +126 -0
- package/dist/encode-profile.d.ts.map +1 -0
- package/dist/enums/event-category.d.ts +92 -7
- package/dist/enums/event-category.d.ts.map +1 -1
- package/dist/generated/addon-api.d.ts +12821 -8025
- package/dist/generated/addon-api.d.ts.map +1 -1
- package/dist/generated/cap-status-types.d.ts +87 -1
- package/dist/generated/cap-status-types.d.ts.map +1 -1
- package/dist/generated/capability-router-map.d.ts +142 -7
- package/dist/generated/capability-router-map.d.ts.map +1 -1
- package/dist/generated/device-local-state.d.ts +123 -0
- package/dist/generated/device-local-state.d.ts.map +1 -1
- package/dist/generated/device-proxy.d.ts +132 -5
- package/dist/generated/device-proxy.d.ts.map +1 -1
- package/dist/generated/method-access-map.d.ts +1 -1
- package/dist/generated/method-access-map.d.ts.map +1 -1
- package/dist/generated/provider-kind-map.d.ts +1 -1
- package/dist/generated/provider-kind-map.d.ts.map +1 -1
- package/dist/generated/system-proxy.d.ts +10 -8
- package/dist/generated/system-proxy.d.ts.map +1 -1
- package/dist/health/wiring-health.d.ts +136 -0
- package/dist/health/wiring-health.d.ts.map +1 -0
- package/dist/{index-CMM1Y9W6.js → index-BSA_TBea.js} +4774 -923
- package/dist/index-BSA_TBea.js.map +1 -0
- package/dist/{index-QRlzao1I.mjs → index-Bpj3ScIH.mjs} +5142 -1291
- package/dist/index-Bpj3ScIH.mjs.map +1 -0
- package/dist/index.d.ts +23 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1498 -119
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +1806 -427
- package/dist/index.mjs.map +1 -1
- package/dist/interfaces/addon-data-plane.d.ts +76 -0
- package/dist/interfaces/addon-data-plane.d.ts.map +1 -0
- package/dist/interfaces/addon.d.ts +61 -1
- package/dist/interfaces/addon.d.ts.map +1 -1
- package/dist/interfaces/advanced-notifier.d.ts +4 -0
- package/dist/interfaces/advanced-notifier.d.ts.map +1 -1
- package/dist/interfaces/capability.d.ts +59 -1
- package/dist/interfaces/capability.d.ts.map +1 -1
- package/dist/interfaces/config-ui.d.ts +70 -6
- package/dist/interfaces/config-ui.d.ts.map +1 -1
- package/dist/interfaces/device-capabilities/camera.d.ts +2 -1
- package/dist/interfaces/device-capabilities/camera.d.ts.map +1 -1
- package/dist/interfaces/event-bus.d.ts +105 -4
- package/dist/interfaces/event-bus.d.ts.map +1 -1
- package/dist/interfaces/kernel-abstractions.d.ts +10 -1
- package/dist/interfaces/kernel-abstractions.d.ts.map +1 -1
- package/dist/interfaces/network-quality.d.ts +8 -0
- package/dist/interfaces/network-quality.d.ts.map +1 -1
- package/dist/interfaces/pipeline-executor-capability.d.ts +2 -2
- package/dist/interfaces/pipeline-orchestrator-capability.d.ts +2 -1
- package/dist/interfaces/pipeline-orchestrator-capability.d.ts.map +1 -1
- package/dist/interfaces/pipeline-runner-capability.d.ts +7 -0
- package/dist/interfaces/pipeline-runner-capability.d.ts.map +1 -1
- package/dist/interfaces/recording-config.d.ts +91 -0
- package/dist/interfaces/recording-config.d.ts.map +1 -0
- package/dist/interfaces/rtp-egress.d.ts +2 -3
- package/dist/interfaces/rtp-egress.d.ts.map +1 -1
- package/dist/interfaces/storage-location-declaration.d.ts +34 -0
- package/dist/interfaces/storage-location-declaration.d.ts.map +1 -0
- package/dist/interfaces/storage-location.d.ts +18 -74
- package/dist/interfaces/storage-location.d.ts.map +1 -1
- package/dist/interfaces/storage.d.ts +15 -4
- package/dist/interfaces/storage.d.ts.map +1 -1
- package/dist/interfaces/stream-broker.d.ts +39 -4
- package/dist/interfaces/stream-broker.d.ts.map +1 -1
- package/dist/interfaces/timezones.d.ts +59 -0
- package/dist/interfaces/timezones.d.ts.map +1 -0
- package/dist/node.d.ts +3 -0
- package/dist/node.d.ts.map +1 -1
- package/dist/node.js +50 -8
- package/dist/node.js.map +1 -1
- package/dist/node.mjs +51 -9
- package/dist/node.mjs.map +1 -1
- package/dist/readiness/readiness-registry.d.ts.map +1 -1
- package/dist/schemas/auth-records.d.ts +4 -4
- package/dist/storage/filesystem-storage-provider.d.ts +2 -1
- package/dist/storage/filesystem-storage-provider.d.ts.map +1 -1
- package/dist/stream-selection.d.ts +85 -0
- package/dist/stream-selection.d.ts.map +1 -0
- package/dist/types/detection.d.ts +3 -3
- package/dist/types/io.d.ts +13 -1
- package/dist/types/io.d.ts.map +1 -1
- package/dist/util/location-match.d.ts +15 -0
- package/dist/util/location-match.d.ts.map +1 -0
- package/dist/utils/canonical-hash.d.ts +20 -0
- package/dist/utils/canonical-hash.d.ts.map +1 -0
- package/dist/utils/export-reconciler.d.ts +101 -0
- package/dist/utils/export-reconciler.d.ts.map +1 -0
- package/dist/utils/privacy-grid-raster.d.ts +48 -0
- package/dist/utils/privacy-grid-raster.d.ts.map +1 -0
- package/dist/utils/sleep.d.ts +36 -0
- package/dist/utils/sleep.d.ts.map +1 -0
- package/package.json +1 -1
- package/dist/capabilities/recording-engine.cap.d.ts +0 -477
- package/dist/capabilities/recording-engine.cap.d.ts.map +0 -1
- package/dist/index-CMM1Y9W6.js.map +0 -1
- package/dist/index-QRlzao1I.mjs.map +0 -1
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
import type { AddonContext, AddonInitResult, CapabilitiesAccess, ProviderRegistration } from '../interfaces/addon.js';
|
|
2
2
|
import type { ConfigUISchema, ConfigUISchemaWithValues, ConfigField, ConfigSection } from '../interfaces/config-ui.js';
|
|
3
|
+
import { type DurableState } from './durable-state.js';
|
|
4
|
+
import type { ZodType } from 'zod';
|
|
3
5
|
export type { CapabilitiesAccess };
|
|
4
6
|
/**
|
|
5
7
|
* Utility type that constrains a ConfigField's `key` to only accept
|
|
@@ -177,10 +179,10 @@ export declare abstract class BaseAddon<TConfig extends object = Record<string,
|
|
|
177
179
|
*/
|
|
178
180
|
protected schema(schema: TypedConfigUISchema<TConfig>): ConfigUISchema;
|
|
179
181
|
/** Override to provide global-level settings UI schema. */
|
|
180
|
-
protected globalSettingsSchema(): ConfigUISchema | null;
|
|
182
|
+
protected globalSettingsSchema(_cap?: string): ConfigUISchema | null;
|
|
181
183
|
/** Override to provide device-level settings UI schema. */
|
|
182
184
|
protected deviceSettingsSchema(): ConfigUISchema | null;
|
|
183
|
-
getGlobalSettings(overlay?: Record<string, unknown
|
|
185
|
+
getGlobalSettings(overlay?: Record<string, unknown>, cap?: string): Promise<ConfigUISchemaWithValues>;
|
|
184
186
|
updateGlobalSettings(patch: Partial<TConfig>): Promise<void>;
|
|
185
187
|
/**
|
|
186
188
|
* If any field in `patch` is marked `requiresRestart` in `schema`,
|
|
@@ -247,6 +249,16 @@ export declare abstract class BaseAddon<TConfig extends object = Record<string,
|
|
|
247
249
|
* (e.g. from older versions) without polluting the typed config.
|
|
248
250
|
*/
|
|
249
251
|
protected resolveConfig(): Promise<void>;
|
|
252
|
+
/**
|
|
253
|
+
* Typed durable handle over ONE key of this addon's store. The whole
|
|
254
|
+
* Zod-validated value round-trips on every read/write — no hand-listed
|
|
255
|
+
* fields, so a field can never be silently dropped on persist. Reads use
|
|
256
|
+
* the same retry budget as config resolution; a corrupt/legacy blob logs
|
|
257
|
+
* a warning and falls back rather than crashing boot.
|
|
258
|
+
*/
|
|
259
|
+
protected state<T>(key: string, schema: ZodType<T>, fallback: T): DurableState<T>;
|
|
260
|
+
/** Per-device variant of {@link state}, backed by the per-device store. */
|
|
261
|
+
protected deviceState<T>(deviceId: number, key: string, schema: ZodType<T>, fallback: T): DurableState<T>;
|
|
250
262
|
/**
|
|
251
263
|
* Wrap `ctx.settings.readAddonStore()` with a short retry budget so a
|
|
252
264
|
* transient settings-store outage (mid-restart of sqlite-settings, tsx-watch
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"base-addon.d.ts","sourceRoot":"","sources":["../../src/addon/base-addon.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,eAAe,EAAE,kBAAkB,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAA;AAErH,OAAO,KAAK,EACV,cAAc,EAAE,wBAAwB,EACxC,WAAW,EAAE,aAAa,EAC3B,MAAM,4BAA4B,CAAA;
|
|
1
|
+
{"version":3,"file":"base-addon.d.ts","sourceRoot":"","sources":["../../src/addon/base-addon.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import type { ZodType } from 'zod';
|
|
2
|
+
/**
|
|
3
|
+
* A typed handle over ONE top-level key of an addon/device store. `set`
|
|
4
|
+
* always writes the whole Zod-validated value for that key, so a field
|
|
5
|
+
* can never be silently dropped by a hand-written serializer. Sibling
|
|
6
|
+
* keys are untouched (writes go through the store's patch-merge).
|
|
7
|
+
*/
|
|
8
|
+
export interface DurableState<T> {
|
|
9
|
+
/** Read + validate. Missing key or parse failure → `fallback`. Never throws. */
|
|
10
|
+
get(): Promise<T>;
|
|
11
|
+
/** Validate `next`, then write the WHOLE value under this key. Throws on invalid. */
|
|
12
|
+
set(next: T): Promise<void>;
|
|
13
|
+
/** get → fn(prev) → set, as one logical update. */
|
|
14
|
+
update(fn: (prev: T) => T): Promise<void>;
|
|
15
|
+
}
|
|
16
|
+
export interface DurableStateDeps<T> {
|
|
17
|
+
readonly key: string;
|
|
18
|
+
readonly schema: ZodType<T>;
|
|
19
|
+
readonly fallback: T;
|
|
20
|
+
readonly read: () => Promise<Record<string, unknown>>;
|
|
21
|
+
readonly write: (patch: Record<string, unknown>) => Promise<void>;
|
|
22
|
+
/** Called when a stored blob fails validation (before falling back). */
|
|
23
|
+
readonly onParseError?: (key: string, error: unknown) => void;
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* Build a {@link DurableState} over a single store key. Transport-agnostic:
|
|
27
|
+
* `read`/`write` are the addon-store or device-store accessors. The whole
|
|
28
|
+
* validated value round-trips on every read/write — the schema is the
|
|
29
|
+
* single source of truth for what is persisted, so no hand-listed field
|
|
30
|
+
* set can drop a key on save.
|
|
31
|
+
*/
|
|
32
|
+
export declare function createDurableState<T>(deps: DurableStateDeps<T>): DurableState<T>;
|
|
33
|
+
//# sourceMappingURL=durable-state.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"durable-state.d.ts","sourceRoot":"","sources":["../../src/addon/durable-state.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,KAAK,CAAA;AAElC;;;;;GAKG;AACH,MAAM,WAAW,YAAY,CAAC,CAAC;IAC7B,gFAAgF;IAChF,GAAG,IAAI,OAAO,CAAC,CAAC,CAAC,CAAA;IACjB,qFAAqF;IACrF,GAAG,CAAC,IAAI,EAAE,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IAC3B,mDAAmD;IACnD,MAAM,CAAC,EAAE,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;CAC1C;AAED,MAAM,WAAW,gBAAgB,CAAC,CAAC;IACjC,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAA;IACpB,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,CAAA;IAC3B,QAAQ,CAAC,QAAQ,EAAE,CAAC,CAAA;IACpB,QAAQ,CAAC,IAAI,EAAE,MAAM,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAA;IACrD,QAAQ,CAAC,KAAK,EAAE,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;IACjE,wEAAwE;IACxE,QAAQ,CAAC,YAAY,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,KAAK,IAAI,CAAA;CAC9D;AAED;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAAC,CAAC,EAAE,IAAI,EAAE,gBAAgB,CAAC,CAAC,CAAC,GAAG,YAAY,CAAC,CAAC,CAAC,CAuBhF"}
|
|
@@ -2,38 +2,86 @@ import { z } from 'zod';
|
|
|
2
2
|
import { type InferProvider } from './capability-definition.js';
|
|
3
3
|
import { DeviceType } from '../device/device-type.js';
|
|
4
4
|
/**
|
|
5
|
-
* List of accessory children linked to a parent device
|
|
6
|
-
*
|
|
7
|
-
*
|
|
5
|
+
* List of accessory children linked to a parent device. The cap surfaces
|
|
6
|
+
* the grouping and the per-child UI-visibility flag — the single source
|
|
7
|
+
* of truth for what an accessory IS remains the child device itself
|
|
8
|
+
* (resolved via `device-manager.getDevice` from the listed numeric ids).
|
|
8
9
|
*
|
|
9
|
-
*
|
|
10
|
-
*
|
|
10
|
+
* Two parallel arrays:
|
|
11
|
+
* - `childDeviceIds` — every accessory child the parent recognises
|
|
12
|
+
* - `hiddenChildIds` — subset that the operator chose to hide from
|
|
13
|
+
* the parent's UI surface (panels / detail page / grid). The hidden
|
|
14
|
+
* children remain registered and continue to receive state updates;
|
|
15
|
+
* they're omitted only from the parent's UI accessories view.
|
|
16
|
+
*
|
|
17
|
+
* Use cases:
|
|
18
|
+
* - Camera parents hiding seldom-used accessories (e.g. a chime that
|
|
19
|
+
* was provisioned but isn't connected to anything).
|
|
20
|
+
* - HA-integration parents hiding entity-children the user doesn't
|
|
21
|
+
* care about (an "Aqara plug" exposes one switch + 3 sensors —
|
|
22
|
+
* the operator may want only the switch visible).
|
|
23
|
+
*
|
|
24
|
+
* Toggling visibility is the parent provider's responsibility — it
|
|
25
|
+
* implements `setChildHidden` and persists the set so reboots survive.
|
|
11
26
|
*/
|
|
12
27
|
export declare const AccessoriesStatusSchema: z.ZodObject<{
|
|
13
28
|
childDeviceIds: z.ZodReadonly<z.ZodArray<z.ZodNumber>>;
|
|
29
|
+
hiddenChildIds: z.ZodReadonly<z.ZodArray<z.ZodNumber>>;
|
|
14
30
|
}, z.core.$strip>;
|
|
15
31
|
export type AccessoriesStatus = z.infer<typeof AccessoriesStatusSchema>;
|
|
16
32
|
export declare const accessoriesCapability: {
|
|
17
33
|
readonly name: "accessories";
|
|
18
34
|
readonly scope: "device";
|
|
35
|
+
readonly deviceNative: true;
|
|
19
36
|
readonly mode: "singleton";
|
|
20
|
-
readonly deviceTypes: readonly [DeviceType.Camera, DeviceType.Hub];
|
|
21
|
-
readonly methods: {
|
|
37
|
+
readonly deviceTypes: readonly [DeviceType.Camera, DeviceType.Hub, DeviceType.Switch, DeviceType.Light, DeviceType.Sensor, DeviceType.Thermostat, DeviceType.Cover, DeviceType.Lock, DeviceType.Fan, DeviceType.MediaPlayer, DeviceType.AlarmPanel, DeviceType.Generic];
|
|
38
|
+
readonly methods: {
|
|
39
|
+
/**
|
|
40
|
+
* Toggle the UI-visibility of a single accessory child. Hidden
|
|
41
|
+
* children stay registered and continue to receive state updates;
|
|
42
|
+
* they're omitted only from the parent's UI accessories panel.
|
|
43
|
+
*
|
|
44
|
+
* Idempotent — hiding an already-hidden child or unhiding a
|
|
45
|
+
* non-hidden child is a no-op. Providers that don't support
|
|
46
|
+
* per-child visibility may implement this as a no-op (the UI hide
|
|
47
|
+
* toggle gracefully degrades).
|
|
48
|
+
*/
|
|
49
|
+
readonly setChildHidden: import("./capability-definition.js").CapabilityMethodSchema<z.ZodObject<{
|
|
50
|
+
deviceId: z.ZodNumber;
|
|
51
|
+
childDeviceId: z.ZodNumber;
|
|
52
|
+
hidden: z.ZodBoolean;
|
|
53
|
+
}, z.core.$strip>, z.ZodVoid, "mutation">;
|
|
54
|
+
};
|
|
22
55
|
readonly events: {
|
|
23
56
|
/**
|
|
24
57
|
* Emitted when a child device is created, removed, or its parent
|
|
25
|
-
* assignment changes. Payload carries the fresh list
|
|
58
|
+
* assignment changes. Payload carries the fresh list and the
|
|
59
|
+
* hidden subset.
|
|
26
60
|
*/
|
|
27
61
|
readonly onAccessoriesChanged: {
|
|
28
62
|
readonly data: z.ZodObject<{
|
|
29
63
|
deviceId: z.ZodNumber;
|
|
30
64
|
childDeviceIds: z.ZodReadonly<z.ZodArray<z.ZodNumber>>;
|
|
65
|
+
hiddenChildIds: z.ZodReadonly<z.ZodArray<z.ZodNumber>>;
|
|
66
|
+
}, z.core.$strip>;
|
|
67
|
+
};
|
|
68
|
+
/**
|
|
69
|
+
* Emitted when the operator toggles a child's UI-visibility.
|
|
70
|
+
* Subscribers (admin UI accessories panel) re-render off this
|
|
71
|
+
* signal without re-fetching the full status block.
|
|
72
|
+
*/
|
|
73
|
+
readonly onChildVisibilityChanged: {
|
|
74
|
+
readonly data: z.ZodObject<{
|
|
75
|
+
deviceId: z.ZodNumber;
|
|
76
|
+
childDeviceId: z.ZodNumber;
|
|
77
|
+
hidden: z.ZodBoolean;
|
|
31
78
|
}, z.core.$strip>;
|
|
32
79
|
};
|
|
33
80
|
};
|
|
34
81
|
readonly status: {
|
|
35
82
|
readonly schema: z.ZodObject<{
|
|
36
83
|
childDeviceIds: z.ZodReadonly<z.ZodArray<z.ZodNumber>>;
|
|
84
|
+
hiddenChildIds: z.ZodReadonly<z.ZodArray<z.ZodNumber>>;
|
|
37
85
|
}, z.core.$strip>;
|
|
38
86
|
readonly kind: "command-driven";
|
|
39
87
|
};
|
|
@@ -1 +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,
|
|
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,EAAqC,KAAK,aAAa,EAAE,MAAM,4BAA4B,CAAA;AAClG,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAA;AAErD;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,eAAO,MAAM,uBAAuB;;;iBAMlC,CAAA;AAEF,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,uBAAuB,CAAC,CAAA;AAEvE,eAAO,MAAM,qBAAqB;;;;;;;QAwB9B;;;;;;;;;WASG;;;;;;;;QAYH;;;;WAIG;;;;;;;;QAMH;;;;WAIG;;;;;;;;;;;;;;;;CAWkC,CAAA;AAEzC,MAAM,MAAM,oBAAoB,GAAG,aAAa,CAAC,OAAO,qBAAqB,CAAC,CAAA"}
|
|
@@ -92,6 +92,7 @@ export declare const addonSettingsCapability: {
|
|
|
92
92
|
addonId: z.ZodString;
|
|
93
93
|
nodeId: z.ZodOptional<z.ZodString>;
|
|
94
94
|
overlay: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
95
|
+
cap: z.ZodOptional<z.ZodString>;
|
|
95
96
|
}, z.core.$strip>, z.ZodNullable<z.ZodObject<{
|
|
96
97
|
tabs: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
97
98
|
id: z.ZodString;
|
|
@@ -1 +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
|
|
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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAyCK,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"}
|
|
@@ -95,6 +95,7 @@ declare const PackageUpdateSchema: z.ZodObject<{
|
|
|
95
95
|
core: "core";
|
|
96
96
|
}>;
|
|
97
97
|
requiresRestart: z.ZodBoolean;
|
|
98
|
+
isSystem: z.ZodBoolean;
|
|
98
99
|
}, z.core.$strip>;
|
|
99
100
|
declare const PackageVersionInfoSchema: z.ZodObject<{
|
|
100
101
|
version: z.ZodString;
|
|
@@ -141,6 +142,72 @@ declare const UpdateFrameworkPackageResultSchema: z.ZodObject<{
|
|
|
141
142
|
toVersion: z.ZodString;
|
|
142
143
|
restartingAt: z.ZodNumber;
|
|
143
144
|
}, z.core.$strip>;
|
|
145
|
+
declare const BulkUpdateItemStatusSchema: z.ZodEnum<{
|
|
146
|
+
failed: "failed";
|
|
147
|
+
queued: "queued";
|
|
148
|
+
updating: "updating";
|
|
149
|
+
done: "done";
|
|
150
|
+
"done-pending-restart": "done-pending-restart";
|
|
151
|
+
}>;
|
|
152
|
+
declare const BulkUpdateItemSchema: z.ZodObject<{
|
|
153
|
+
name: z.ZodString;
|
|
154
|
+
isSystem: z.ZodBoolean;
|
|
155
|
+
fromVersion: z.ZodString;
|
|
156
|
+
toVersion: z.ZodString;
|
|
157
|
+
status: z.ZodEnum<{
|
|
158
|
+
failed: "failed";
|
|
159
|
+
queued: "queued";
|
|
160
|
+
updating: "updating";
|
|
161
|
+
done: "done";
|
|
162
|
+
"done-pending-restart": "done-pending-restart";
|
|
163
|
+
}>;
|
|
164
|
+
error: z.ZodOptional<z.ZodString>;
|
|
165
|
+
startedAtMs: z.ZodOptional<z.ZodNumber>;
|
|
166
|
+
completedAtMs: z.ZodOptional<z.ZodNumber>;
|
|
167
|
+
}, z.core.$strip>;
|
|
168
|
+
declare const BulkUpdatePhaseSchema: z.ZodEnum<{
|
|
169
|
+
system: "system";
|
|
170
|
+
regular: "regular";
|
|
171
|
+
restarting: "restarting";
|
|
172
|
+
finalizing: "finalizing";
|
|
173
|
+
}>;
|
|
174
|
+
declare const BulkUpdateStateSchema: z.ZodObject<{
|
|
175
|
+
id: z.ZodString;
|
|
176
|
+
nodeId: z.ZodString;
|
|
177
|
+
startedAtMs: z.ZodNumber;
|
|
178
|
+
completedAtMs: z.ZodOptional<z.ZodNumber>;
|
|
179
|
+
total: z.ZodNumber;
|
|
180
|
+
completed: z.ZodNumber;
|
|
181
|
+
failed: z.ZodNumber;
|
|
182
|
+
current: z.ZodNullable<z.ZodString>;
|
|
183
|
+
phase: z.ZodEnum<{
|
|
184
|
+
system: "system";
|
|
185
|
+
regular: "regular";
|
|
186
|
+
restarting: "restarting";
|
|
187
|
+
finalizing: "finalizing";
|
|
188
|
+
}>;
|
|
189
|
+
cancelled: z.ZodBoolean;
|
|
190
|
+
items: z.ZodReadonly<z.ZodArray<z.ZodObject<{
|
|
191
|
+
name: z.ZodString;
|
|
192
|
+
isSystem: z.ZodBoolean;
|
|
193
|
+
fromVersion: z.ZodString;
|
|
194
|
+
toVersion: z.ZodString;
|
|
195
|
+
status: z.ZodEnum<{
|
|
196
|
+
failed: "failed";
|
|
197
|
+
queued: "queued";
|
|
198
|
+
updating: "updating";
|
|
199
|
+
done: "done";
|
|
200
|
+
"done-pending-restart": "done-pending-restart";
|
|
201
|
+
}>;
|
|
202
|
+
error: z.ZodOptional<z.ZodString>;
|
|
203
|
+
startedAtMs: z.ZodOptional<z.ZodNumber>;
|
|
204
|
+
completedAtMs: z.ZodOptional<z.ZodNumber>;
|
|
205
|
+
}, z.core.$strip>>>;
|
|
206
|
+
}, z.core.$strip>;
|
|
207
|
+
export type BulkUpdateItemStatus = z.infer<typeof BulkUpdateItemStatusSchema>;
|
|
208
|
+
export type BulkUpdateItem = z.infer<typeof BulkUpdateItemSchema>;
|
|
209
|
+
export type BulkUpdatePhase = z.infer<typeof BulkUpdatePhaseSchema>;
|
|
210
|
+
export type BulkUpdateState = z.infer<typeof BulkUpdateStateSchema>;
|
|
144
211
|
/**
|
|
145
212
|
* One framework package row for the admin-UI "System packages" panel.
|
|
146
213
|
* `latestVersion` is null when the npm lookup failed (offline / registry
|
|
@@ -289,6 +356,7 @@ export declare const addonsCapability: {
|
|
|
289
356
|
core: "core";
|
|
290
357
|
}>;
|
|
291
358
|
requiresRestart: z.ZodBoolean;
|
|
359
|
+
isSystem: z.ZodBoolean;
|
|
292
360
|
}, z.core.$strip>>>, import("./capability-definition.js").CapabilityMethodKind>;
|
|
293
361
|
/**
|
|
294
362
|
* Update one package on a node. `nodeId` omitted (or `'hub'`)
|
|
@@ -343,6 +411,7 @@ export declare const addonsCapability: {
|
|
|
343
411
|
system: "system";
|
|
344
412
|
manual: "manual";
|
|
345
413
|
"framework-update": "framework-update";
|
|
414
|
+
"framework-bulk-update": "framework-bulk-update";
|
|
346
415
|
}>;
|
|
347
416
|
packageName: z.ZodOptional<z.ZodString>;
|
|
348
417
|
fromVersion: z.ZodOptional<z.ZodString>;
|
|
@@ -433,12 +502,129 @@ export declare const addonsCapability: {
|
|
|
433
502
|
readonly updateFrameworkPackage: import("./capability-definition.js").CapabilityMethodSchema<z.ZodObject<{
|
|
434
503
|
packageName: z.ZodString;
|
|
435
504
|
version: z.ZodOptional<z.ZodString>;
|
|
505
|
+
deferRestart: z.ZodOptional<z.ZodBoolean>;
|
|
436
506
|
}, z.core.$strip>, z.ZodObject<{
|
|
437
507
|
packageName: z.ZodString;
|
|
438
508
|
fromVersion: z.ZodString;
|
|
439
509
|
toVersion: z.ZodString;
|
|
440
510
|
restartingAt: z.ZodNumber;
|
|
441
511
|
}, z.core.$strip>, "mutation">;
|
|
512
|
+
/**
|
|
513
|
+
* Kicks off a server-side bulk update operation and returns the bulk
|
|
514
|
+
* id immediately. The operation runs asynchronously; observe progress
|
|
515
|
+
* via the `AddonsBulkUpdateProgress` event or `getBulkUpdateState`.
|
|
516
|
+
* Items with `isSystem: true` use `deferRestart` — the hub restarts
|
|
517
|
+
* ONCE at the end of the system phase, after all system packages are
|
|
518
|
+
* installed.
|
|
519
|
+
*
|
|
520
|
+
* `items[].version` is REQUIRED — callers must pass the resolved
|
|
521
|
+
* version from `listUpdates`. There is no `'latest'` default here
|
|
522
|
+
* (unlike `updatePackage`) to guarantee deterministic bulk rolls.
|
|
523
|
+
*/
|
|
524
|
+
readonly startBulkUpdate: import("./capability-definition.js").CapabilityMethodSchema<z.ZodObject<{
|
|
525
|
+
nodeId: z.ZodString;
|
|
526
|
+
items: z.ZodReadonly<z.ZodArray<z.ZodObject<{
|
|
527
|
+
name: z.ZodString;
|
|
528
|
+
version: z.ZodString;
|
|
529
|
+
isSystem: z.ZodBoolean;
|
|
530
|
+
}, z.core.$strip>>>;
|
|
531
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
532
|
+
id: z.ZodString;
|
|
533
|
+
}, z.core.$strip>, "mutation">;
|
|
534
|
+
/**
|
|
535
|
+
* Returns the current state of a bulk update by id.
|
|
536
|
+
* Returns `null` if the id is unknown or has been auto-cleaned
|
|
537
|
+
* (5 minutes after `completedAt` the record is evicted from memory).
|
|
538
|
+
*/
|
|
539
|
+
readonly getBulkUpdateState: import("./capability-definition.js").CapabilityMethodSchema<z.ZodObject<{
|
|
540
|
+
id: z.ZodString;
|
|
541
|
+
}, z.core.$strip>, z.ZodNullable<z.ZodObject<{
|
|
542
|
+
id: z.ZodString;
|
|
543
|
+
nodeId: z.ZodString;
|
|
544
|
+
startedAtMs: z.ZodNumber;
|
|
545
|
+
completedAtMs: z.ZodOptional<z.ZodNumber>;
|
|
546
|
+
total: z.ZodNumber;
|
|
547
|
+
completed: z.ZodNumber;
|
|
548
|
+
failed: z.ZodNumber;
|
|
549
|
+
current: z.ZodNullable<z.ZodString>;
|
|
550
|
+
phase: z.ZodEnum<{
|
|
551
|
+
system: "system";
|
|
552
|
+
regular: "regular";
|
|
553
|
+
restarting: "restarting";
|
|
554
|
+
finalizing: "finalizing";
|
|
555
|
+
}>;
|
|
556
|
+
cancelled: z.ZodBoolean;
|
|
557
|
+
items: z.ZodReadonly<z.ZodArray<z.ZodObject<{
|
|
558
|
+
name: z.ZodString;
|
|
559
|
+
isSystem: z.ZodBoolean;
|
|
560
|
+
fromVersion: z.ZodString;
|
|
561
|
+
toVersion: z.ZodString;
|
|
562
|
+
status: z.ZodEnum<{
|
|
563
|
+
failed: "failed";
|
|
564
|
+
queued: "queued";
|
|
565
|
+
updating: "updating";
|
|
566
|
+
done: "done";
|
|
567
|
+
"done-pending-restart": "done-pending-restart";
|
|
568
|
+
}>;
|
|
569
|
+
error: z.ZodOptional<z.ZodString>;
|
|
570
|
+
startedAtMs: z.ZodOptional<z.ZodNumber>;
|
|
571
|
+
completedAtMs: z.ZodOptional<z.ZodNumber>;
|
|
572
|
+
}, z.core.$strip>>>;
|
|
573
|
+
}, z.core.$strip>>, import("./capability-definition.js").CapabilityMethodKind>;
|
|
574
|
+
/**
|
|
575
|
+
* Cancels an in-flight bulk update. The update loop exits after the
|
|
576
|
+
* currently-processing item completes — cancellation is not
|
|
577
|
+
* instantaneous. Has no effect once the `restarting` phase has been
|
|
578
|
+
* entered (the hub is already shutting down at that point).
|
|
579
|
+
* Returns `{ cancelled: false }` if the id is unknown, the operation
|
|
580
|
+
* has already completed, or the `restarting` phase is active.
|
|
581
|
+
*/
|
|
582
|
+
readonly cancelBulkUpdate: import("./capability-definition.js").CapabilityMethodSchema<z.ZodObject<{
|
|
583
|
+
id: z.ZodString;
|
|
584
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
585
|
+
cancelled: z.ZodBoolean;
|
|
586
|
+
}, z.core.$strip>, "mutation">;
|
|
587
|
+
/**
|
|
588
|
+
* Lists all currently active (non-completed) bulk updates.
|
|
589
|
+
* If `nodeId` is provided, filters to only bulk updates targeting
|
|
590
|
+
* that node. Useful for restoring an in-progress banner on a fresh
|
|
591
|
+
* page load when the UI reconnects mid-operation.
|
|
592
|
+
*/
|
|
593
|
+
readonly listActiveBulkUpdates: import("./capability-definition.js").CapabilityMethodSchema<z.ZodObject<{
|
|
594
|
+
nodeId: z.ZodOptional<z.ZodString>;
|
|
595
|
+
}, z.core.$strip>, z.ZodReadonly<z.ZodArray<z.ZodObject<{
|
|
596
|
+
id: z.ZodString;
|
|
597
|
+
nodeId: z.ZodString;
|
|
598
|
+
startedAtMs: z.ZodNumber;
|
|
599
|
+
completedAtMs: z.ZodOptional<z.ZodNumber>;
|
|
600
|
+
total: z.ZodNumber;
|
|
601
|
+
completed: z.ZodNumber;
|
|
602
|
+
failed: z.ZodNumber;
|
|
603
|
+
current: z.ZodNullable<z.ZodString>;
|
|
604
|
+
phase: z.ZodEnum<{
|
|
605
|
+
system: "system";
|
|
606
|
+
regular: "regular";
|
|
607
|
+
restarting: "restarting";
|
|
608
|
+
finalizing: "finalizing";
|
|
609
|
+
}>;
|
|
610
|
+
cancelled: z.ZodBoolean;
|
|
611
|
+
items: z.ZodReadonly<z.ZodArray<z.ZodObject<{
|
|
612
|
+
name: z.ZodString;
|
|
613
|
+
isSystem: z.ZodBoolean;
|
|
614
|
+
fromVersion: z.ZodString;
|
|
615
|
+
toVersion: z.ZodString;
|
|
616
|
+
status: z.ZodEnum<{
|
|
617
|
+
failed: "failed";
|
|
618
|
+
queued: "queued";
|
|
619
|
+
updating: "updating";
|
|
620
|
+
done: "done";
|
|
621
|
+
"done-pending-restart": "done-pending-restart";
|
|
622
|
+
}>;
|
|
623
|
+
error: z.ZodOptional<z.ZodString>;
|
|
624
|
+
startedAtMs: z.ZodOptional<z.ZodNumber>;
|
|
625
|
+
completedAtMs: z.ZodOptional<z.ZodNumber>;
|
|
626
|
+
}, z.core.$strip>>>;
|
|
627
|
+
}, z.core.$strip>>>, import("./capability-definition.js").CapabilityMethodKind>;
|
|
442
628
|
readonly getVersions: import("./capability-definition.js").CapabilityMethodSchema<z.ZodObject<{
|
|
443
629
|
name: z.ZodString;
|
|
444
630
|
}, z.core.$strip>, z.ZodReadonly<z.ZodArray<z.ZodObject<{
|
|
@@ -525,5 +711,5 @@ export declare const addonsCapability: {
|
|
|
525
711
|
};
|
|
526
712
|
};
|
|
527
713
|
export type IAddonsProvider = InferProvider<typeof addonsCapability>;
|
|
528
|
-
export { AddonListItemSchema, InstalledPackageSchema, PackageUpdateSchema, PackageVersionInfoSchema, SearchResultSchema, AutoUpdateSettingsSchema, AddonAutoUpdateSchema, LogStreamEntrySchema, CustomActionInputSchema, LogLevelSchema, ChannelSchema, ChannelWithInheritSchema, UpdateFrameworkPackageResultSchema, FrameworkPackageStatusSchema, };
|
|
714
|
+
export { AddonListItemSchema, InstalledPackageSchema, PackageUpdateSchema, PackageVersionInfoSchema, SearchResultSchema, AutoUpdateSettingsSchema, AddonAutoUpdateSchema, LogStreamEntrySchema, CustomActionInputSchema, LogLevelSchema, ChannelSchema, ChannelWithInheritSchema, UpdateFrameworkPackageResultSchema, FrameworkPackageStatusSchema, BulkUpdateItemStatusSchema, BulkUpdateItemSchema, BulkUpdatePhaseSchema, BulkUpdateStateSchema, };
|
|
529
715
|
//# sourceMappingURL=addons.cap.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"addons.cap.d.ts","sourceRoot":"","sources":["../../src/capabilities/addons.cap.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AACvB,OAAO,EAAqC,KAAK,aAAa,EAAE,MAAM,4BAA4B,CAAA;AAElG;;;;;;;;;;;;;;GAcG;AAYH,QAAA,MAAM,cAAc;;;;;EAA6C,CAAA;AACjE,QAAA,MAAM,aAAa;;;;EAAoC,CAAA;AACvD,QAAA,MAAM,wBAAwB;;;;;EAA+C,CAAA;AAiE7E,QAAA,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAevB,CAAA;AAEF,QAAA,MAAM,sBAAsB;;;;;iBAK1B,CAAA;AAEF,QAAA,MAAM,mBAAmB
|
|
1
|
+
{"version":3,"file":"addons.cap.d.ts","sourceRoot":"","sources":["../../src/capabilities/addons.cap.ts"],"names":[],"mappings":"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"}
|
|
@@ -17,6 +17,7 @@ declare const NotificationRuleConditionsSchema: z.ZodObject<{
|
|
|
17
17
|
}, z.core.$strip>>;
|
|
18
18
|
cooldownSeconds: z.ZodOptional<z.ZodNumber>;
|
|
19
19
|
minDwellSeconds: z.ZodOptional<z.ZodNumber>;
|
|
20
|
+
eventTypeTokens: z.ZodOptional<z.ZodReadonly<z.ZodArray<z.ZodString>>>;
|
|
20
21
|
}, z.core.$strip>;
|
|
21
22
|
declare const NotificationRuleTemplateSchema: z.ZodObject<{
|
|
22
23
|
title: z.ZodString;
|
|
@@ -50,6 +51,7 @@ declare const NotificationRuleSchema: z.ZodObject<{
|
|
|
50
51
|
}, z.core.$strip>>;
|
|
51
52
|
cooldownSeconds: z.ZodOptional<z.ZodNumber>;
|
|
52
53
|
minDwellSeconds: z.ZodOptional<z.ZodNumber>;
|
|
54
|
+
eventTypeTokens: z.ZodOptional<z.ZodReadonly<z.ZodArray<z.ZodString>>>;
|
|
53
55
|
}, z.core.$strip>;
|
|
54
56
|
outputs: z.ZodReadonly<z.ZodArray<z.ZodString>>;
|
|
55
57
|
template: z.ZodOptional<z.ZodObject<{
|
|
@@ -123,6 +125,7 @@ export declare const advancedNotifierCapability: {
|
|
|
123
125
|
}, z.core.$strip>>;
|
|
124
126
|
cooldownSeconds: z.ZodOptional<z.ZodNumber>;
|
|
125
127
|
minDwellSeconds: z.ZodOptional<z.ZodNumber>;
|
|
128
|
+
eventTypeTokens: z.ZodOptional<z.ZodReadonly<z.ZodArray<z.ZodString>>>;
|
|
126
129
|
}, z.core.$strip>;
|
|
127
130
|
outputs: z.ZodReadonly<z.ZodArray<z.ZodString>>;
|
|
128
131
|
template: z.ZodOptional<z.ZodObject<{
|
|
@@ -166,6 +169,7 @@ export declare const advancedNotifierCapability: {
|
|
|
166
169
|
}, z.core.$strip>>;
|
|
167
170
|
cooldownSeconds: z.ZodOptional<z.ZodNumber>;
|
|
168
171
|
minDwellSeconds: z.ZodOptional<z.ZodNumber>;
|
|
172
|
+
eventTypeTokens: z.ZodOptional<z.ZodReadonly<z.ZodArray<z.ZodString>>>;
|
|
169
173
|
}, z.core.$strip>;
|
|
170
174
|
outputs: z.ZodReadonly<z.ZodArray<z.ZodString>>;
|
|
171
175
|
template: z.ZodOptional<z.ZodObject<{
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"advanced-notifier.cap.d.ts","sourceRoot":"","sources":["../../src/capabilities/advanced-notifier.cap.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AACvB,OAAO,EAAqC,KAAK,aAAa,EAAE,MAAM,4BAA4B,CAAA;AAElG,QAAA,MAAM,gCAAgC
|
|
1
|
+
{"version":3,"file":"advanced-notifier.cap.d.ts","sourceRoot":"","sources":["../../src/capabilities/advanced-notifier.cap.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AACvB,OAAO,EAAqC,KAAK,aAAa,EAAE,MAAM,4BAA4B,CAAA;AAElG,QAAA,MAAM,gCAAgC;;;;;;;;;;;;;;;;;;iBAiBpC,CAAA;AAEF,QAAA,MAAM,8BAA8B;;;;;;;;;iBAIlC,CAAA;AAEF,QAAA,MAAM,sBAAsB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAS1B,CAAA;AAEF,QAAA,MAAM,4BAA4B;;;;;;iBAMhC,CAAA;AAEF,QAAA,MAAM,8BAA8B;;;;;;;;;;iBAUlC,CAAA;AAEF,QAAA,MAAM,+BAA+B;;;;;;iBAMnC,CAAA;AAEF,eAAO,MAAM,0BAA0B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA8BE,CAAA;AAEzC,MAAM,MAAM,yBAAyB,GAAG,aAAa,CAAC,OAAO,0BAA0B,CAAC,CAAA;AAExF,OAAO,EACL,sBAAsB,EACtB,gCAAgC,EAChC,8BAA8B,EAC9B,4BAA4B,EAC5B,8BAA8B,EAC9B,+BAA+B,GAChC,CAAA"}
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
import { type InferProvider } from './capability-definition.js';
|
|
3
|
+
import { DeviceType } from '../device/device-type.js';
|
|
4
|
+
/**
|
|
5
|
+
* Multi-metric air-quality slice. Covers CO₂, total VOCs, particulate
|
|
6
|
+
* matter at PM2.5 / PM10, and a derived AQI index — all optional so
|
|
7
|
+
* a single-metric source populates only what it observes. Mirrors
|
|
8
|
+
* the HA `sensor` device_class set (`co2`, `volatile_organic_compounds`,
|
|
9
|
+
* `pm25`, `pm10`, `aqi`) collapsed into one cap because a typical
|
|
10
|
+
* air-quality node reports several of these together; modelling them
|
|
11
|
+
* as siblings keeps a single timestamp + one slice subscription.
|
|
12
|
+
*/
|
|
13
|
+
export declare const AirQualitySensorStatusSchema: z.ZodObject<{
|
|
14
|
+
co2Ppm: z.ZodOptional<z.ZodNumber>;
|
|
15
|
+
vocPpb: z.ZodOptional<z.ZodNumber>;
|
|
16
|
+
pm25: z.ZodOptional<z.ZodNumber>;
|
|
17
|
+
pm10: z.ZodOptional<z.ZodNumber>;
|
|
18
|
+
aqi: z.ZodOptional<z.ZodNumber>;
|
|
19
|
+
lastFetchedAt: z.ZodNumber;
|
|
20
|
+
unit: z.ZodOptional<z.ZodString>;
|
|
21
|
+
precision: z.ZodOptional<z.ZodNumber>;
|
|
22
|
+
}, z.core.$strip>;
|
|
23
|
+
export type AirQualitySensorStatus = z.infer<typeof AirQualitySensorStatusSchema>;
|
|
24
|
+
export declare const airQualitySensorCapability: {
|
|
25
|
+
readonly name: "air-quality-sensor";
|
|
26
|
+
readonly scope: "device";
|
|
27
|
+
readonly deviceNative: true;
|
|
28
|
+
readonly mode: "singleton";
|
|
29
|
+
readonly deviceTypes: readonly [DeviceType.Sensor];
|
|
30
|
+
readonly methods: {};
|
|
31
|
+
readonly status: {
|
|
32
|
+
readonly schema: z.ZodObject<{
|
|
33
|
+
co2Ppm: z.ZodOptional<z.ZodNumber>;
|
|
34
|
+
vocPpb: z.ZodOptional<z.ZodNumber>;
|
|
35
|
+
pm25: z.ZodOptional<z.ZodNumber>;
|
|
36
|
+
pm10: z.ZodOptional<z.ZodNumber>;
|
|
37
|
+
aqi: z.ZodOptional<z.ZodNumber>;
|
|
38
|
+
lastFetchedAt: z.ZodNumber;
|
|
39
|
+
unit: z.ZodOptional<z.ZodString>;
|
|
40
|
+
precision: z.ZodOptional<z.ZodNumber>;
|
|
41
|
+
}, z.core.$strip>;
|
|
42
|
+
readonly kind: "push";
|
|
43
|
+
};
|
|
44
|
+
readonly runtimeState: z.ZodObject<{
|
|
45
|
+
co2Ppm: z.ZodOptional<z.ZodNumber>;
|
|
46
|
+
vocPpb: z.ZodOptional<z.ZodNumber>;
|
|
47
|
+
pm25: z.ZodOptional<z.ZodNumber>;
|
|
48
|
+
pm10: z.ZodOptional<z.ZodNumber>;
|
|
49
|
+
aqi: z.ZodOptional<z.ZodNumber>;
|
|
50
|
+
lastFetchedAt: z.ZodNumber;
|
|
51
|
+
unit: z.ZodOptional<z.ZodString>;
|
|
52
|
+
precision: z.ZodOptional<z.ZodNumber>;
|
|
53
|
+
}, z.core.$strip>;
|
|
54
|
+
};
|
|
55
|
+
export type IAirQualitySensorProvider = InferProvider<typeof airQualitySensorCapability>;
|
|
56
|
+
//# sourceMappingURL=air-quality-sensor.cap.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"air-quality-sensor.cap.d.ts","sourceRoot":"","sources":["../../src/capabilities/air-quality-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;;;;;;;;GAQG;AACH,eAAO,MAAM,4BAA4B;;;;;;;;;iBAuBvC,CAAA;AAEF,MAAM,MAAM,sBAAsB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,4BAA4B,CAAC,CAAA;AAEjF,eAAO,MAAM,0BAA0B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAYE,CAAA;AAEzC,MAAM,MAAM,yBAAyB,GAAG,aAAa,CAAC,OAAO,0BAA0B,CAAC,CAAA"}
|