@camstack/types 0.1.40 → 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 +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/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 +93 -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 +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/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 +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 +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/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 +12345 -8129
- 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 +133 -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 +124 -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 +9 -7
- package/dist/generated/system-proxy.d.ts.map +1 -1
- package/dist/{index-DnpdVFKv.js → index-BSA_TBea.js} +4170 -728
- package/dist/index-BSA_TBea.js.map +1 -0
- package/dist/{index-C2zzIDdX.mjs → index-Bpj3ScIH.mjs} +4563 -1121
- package/dist/index-Bpj3ScIH.mjs.map +1 -0
- package/dist/index.d.ts +21 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1323 -116
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +1637 -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.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 +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
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
import { type InferProvider } from './capability-definition.js';
|
|
3
|
+
import { DeviceType } from '../device/device-type.js';
|
|
4
|
+
/**
|
|
5
|
+
* Smart-lock cap. Models HA `lock.*` entities — anything with a
|
|
6
|
+
* locked / unlocked binary state plus the four transient lifecycle
|
|
7
|
+
* states (`locking` / `unlocking`) and the `jammed` failure state
|
|
8
|
+
* that low-end deadbolts surface when the motor can't reach the
|
|
9
|
+
* target position.
|
|
10
|
+
*
|
|
11
|
+
* Some HA locks require a PIN code on every lock/unlock operation
|
|
12
|
+
* (workplace keypad locks, hospitality). The optional `code` field
|
|
13
|
+
* on the methods passes it through to the upstream service — the
|
|
14
|
+
* code is NEVER persisted in the runtime slice or any event payload.
|
|
15
|
+
* Locks that REQUIRE a code set `DeviceFeature.LockPinRequired` so
|
|
16
|
+
* the UI gates a code-entry field without a slice fetch.
|
|
17
|
+
*
|
|
18
|
+
* Locks that support a latch-release ("open door") action advertise
|
|
19
|
+
* `DeviceFeature.LockOpen`. The `open` method triggers the latch
|
|
20
|
+
* without a full lock/unlock cycle. Only available when the lock
|
|
21
|
+
* reports `LockEntityFeature.OPEN` (bit value 1) in HA
|
|
22
|
+
* `supported_features`.
|
|
23
|
+
*/
|
|
24
|
+
export declare const LockStateSchema: z.ZodEnum<{
|
|
25
|
+
locked: "locked";
|
|
26
|
+
unlocked: "unlocked";
|
|
27
|
+
locking: "locking";
|
|
28
|
+
unlocking: "unlocking";
|
|
29
|
+
jammed: "jammed";
|
|
30
|
+
}>;
|
|
31
|
+
export type LockState = z.infer<typeof LockStateSchema>;
|
|
32
|
+
export declare const LockControlStatusSchema: z.ZodObject<{
|
|
33
|
+
state: z.ZodEnum<{
|
|
34
|
+
locked: "locked";
|
|
35
|
+
unlocked: "unlocked";
|
|
36
|
+
locking: "locking";
|
|
37
|
+
unlocking: "unlocking";
|
|
38
|
+
jammed: "jammed";
|
|
39
|
+
}>;
|
|
40
|
+
lastChangedAt: z.ZodNumber;
|
|
41
|
+
}, z.core.$strip>;
|
|
42
|
+
export type LockControlStatus = z.infer<typeof LockControlStatusSchema>;
|
|
43
|
+
export declare const lockControlCapability: {
|
|
44
|
+
readonly name: "lock-control";
|
|
45
|
+
readonly scope: "device";
|
|
46
|
+
readonly deviceNative: true;
|
|
47
|
+
readonly mode: "singleton";
|
|
48
|
+
readonly deviceTypes: readonly [DeviceType.Lock];
|
|
49
|
+
readonly methods: {
|
|
50
|
+
readonly lock: import("./capability-definition.js").CapabilityMethodSchema<z.ZodObject<{
|
|
51
|
+
deviceId: z.ZodNumber;
|
|
52
|
+
code: z.ZodOptional<z.ZodString>;
|
|
53
|
+
}, z.core.$strip>, z.ZodVoid, "mutation">;
|
|
54
|
+
readonly unlock: import("./capability-definition.js").CapabilityMethodSchema<z.ZodObject<{
|
|
55
|
+
deviceId: z.ZodNumber;
|
|
56
|
+
code: z.ZodOptional<z.ZodString>;
|
|
57
|
+
}, z.core.$strip>, z.ZodVoid, "mutation">;
|
|
58
|
+
readonly open: import("./capability-definition.js").CapabilityMethodSchema<z.ZodObject<{
|
|
59
|
+
deviceId: z.ZodNumber;
|
|
60
|
+
}, z.core.$strip>, z.ZodVoid, "mutation">;
|
|
61
|
+
};
|
|
62
|
+
readonly status: {
|
|
63
|
+
readonly schema: z.ZodObject<{
|
|
64
|
+
state: z.ZodEnum<{
|
|
65
|
+
locked: "locked";
|
|
66
|
+
unlocked: "unlocked";
|
|
67
|
+
locking: "locking";
|
|
68
|
+
unlocking: "unlocking";
|
|
69
|
+
jammed: "jammed";
|
|
70
|
+
}>;
|
|
71
|
+
lastChangedAt: z.ZodNumber;
|
|
72
|
+
}, z.core.$strip>;
|
|
73
|
+
readonly kind: "push";
|
|
74
|
+
};
|
|
75
|
+
/**
|
|
76
|
+
* Runtime-state slice — mirrored by the kernel. UI lock buttons
|
|
77
|
+
* read `state` and disable themselves during `locking`/`unlocking`
|
|
78
|
+
* transitions.
|
|
79
|
+
*/
|
|
80
|
+
readonly runtimeState: z.ZodObject<{
|
|
81
|
+
state: z.ZodEnum<{
|
|
82
|
+
locked: "locked";
|
|
83
|
+
unlocked: "unlocked";
|
|
84
|
+
locking: "locking";
|
|
85
|
+
unlocking: "unlocking";
|
|
86
|
+
jammed: "jammed";
|
|
87
|
+
}>;
|
|
88
|
+
lastChangedAt: z.ZodNumber;
|
|
89
|
+
}, z.core.$strip>;
|
|
90
|
+
};
|
|
91
|
+
export type ILockControlProvider = InferProvider<typeof lockControlCapability>;
|
|
92
|
+
//# sourceMappingURL=lock-control.cap.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"lock-control.cap.d.ts","sourceRoot":"","sources":["../../src/capabilities/lock-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;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,eAAO,MAAM,eAAe;;;;;;EAM1B,CAAA;AACF,MAAM,MAAM,SAAS,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,eAAe,CAAC,CAAA;AAEvD,eAAO,MAAM,uBAAuB;;;;;;;;;iBAMlC,CAAA;AAEF,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,uBAAuB,CAAC,CAAA;AAEvE,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAqChC;;;;OAIG;;;;;;;;;;;CAEoC,CAAA;AAEzC,MAAM,MAAM,oBAAoB,GAAG,aAAa,CAAC,OAAO,qBAAqB,CAAC,CAAA"}
|
|
@@ -0,0 +1,201 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
import { type InferProvider } from './capability-definition.js';
|
|
3
|
+
import { DeviceType } from '../device/device-type.js';
|
|
4
|
+
/**
|
|
5
|
+
* Media-player cap. Models HA `media_player.*` (Sonos, Chromecast,
|
|
6
|
+
* Apple TV, Spotify, Roku, generic OTT receivers, …) on
|
|
7
|
+
* `DeviceType.MediaPlayer`. Disjoint from the camera streaming
|
|
8
|
+
* surface — those use `DeviceType.Camera` + the broker pipeline.
|
|
9
|
+
*
|
|
10
|
+
* The cap declares a wide method surface; not every backend supports
|
|
11
|
+
* every method. Drivers signal sub-capability via the
|
|
12
|
+
* `DeviceFeature.MediaPlayerXxx` flags (paired one-to-one with the
|
|
13
|
+
* corresponding method) so the UI gates buttons without a slice
|
|
14
|
+
* fetch — same pattern as `PanTiltZoom` for cameras.
|
|
15
|
+
*/
|
|
16
|
+
export declare const MediaPlayerStateSchema: z.ZodEnum<{
|
|
17
|
+
off: "off";
|
|
18
|
+
idle: "idle";
|
|
19
|
+
playing: "playing";
|
|
20
|
+
paused: "paused";
|
|
21
|
+
on: "on";
|
|
22
|
+
buffering: "buffering";
|
|
23
|
+
standby: "standby";
|
|
24
|
+
}>;
|
|
25
|
+
export type MediaPlayerState = z.infer<typeof MediaPlayerStateSchema>;
|
|
26
|
+
export declare const MediaPlayerRepeatSchema: z.ZodEnum<{
|
|
27
|
+
off: "off";
|
|
28
|
+
all: "all";
|
|
29
|
+
one: "one";
|
|
30
|
+
}>;
|
|
31
|
+
export type MediaPlayerRepeat = z.infer<typeof MediaPlayerRepeatSchema>;
|
|
32
|
+
declare const MediaInfoSchema: z.ZodObject<{
|
|
33
|
+
type: z.ZodString;
|
|
34
|
+
title: z.ZodString;
|
|
35
|
+
artist: z.ZodOptional<z.ZodString>;
|
|
36
|
+
album: z.ZodOptional<z.ZodString>;
|
|
37
|
+
imageUrl: z.ZodOptional<z.ZodString>;
|
|
38
|
+
}, z.core.$strip>;
|
|
39
|
+
export type MediaInfo = z.infer<typeof MediaInfoSchema>;
|
|
40
|
+
export declare const MediaPlayerStatusSchema: z.ZodObject<{
|
|
41
|
+
state: z.ZodEnum<{
|
|
42
|
+
off: "off";
|
|
43
|
+
idle: "idle";
|
|
44
|
+
playing: "playing";
|
|
45
|
+
paused: "paused";
|
|
46
|
+
on: "on";
|
|
47
|
+
buffering: "buffering";
|
|
48
|
+
standby: "standby";
|
|
49
|
+
}>;
|
|
50
|
+
volumeLevel: z.ZodNullable<z.ZodNumber>;
|
|
51
|
+
isMuted: z.ZodNullable<z.ZodBoolean>;
|
|
52
|
+
source: z.ZodString;
|
|
53
|
+
availableSources: z.ZodArray<z.ZodString>;
|
|
54
|
+
currentMedia: z.ZodNullable<z.ZodObject<{
|
|
55
|
+
type: z.ZodString;
|
|
56
|
+
title: z.ZodString;
|
|
57
|
+
artist: z.ZodOptional<z.ZodString>;
|
|
58
|
+
album: z.ZodOptional<z.ZodString>;
|
|
59
|
+
imageUrl: z.ZodOptional<z.ZodString>;
|
|
60
|
+
}, z.core.$strip>>;
|
|
61
|
+
positionMs: z.ZodNullable<z.ZodNumber>;
|
|
62
|
+
durationMs: z.ZodNullable<z.ZodNumber>;
|
|
63
|
+
shuffle: z.ZodNullable<z.ZodBoolean>;
|
|
64
|
+
repeat: z.ZodNullable<z.ZodEnum<{
|
|
65
|
+
off: "off";
|
|
66
|
+
all: "all";
|
|
67
|
+
one: "one";
|
|
68
|
+
}>>;
|
|
69
|
+
lastChangedAt: z.ZodNumber;
|
|
70
|
+
}, z.core.$strip>;
|
|
71
|
+
export type MediaPlayerStatus = z.infer<typeof MediaPlayerStatusSchema>;
|
|
72
|
+
export declare const mediaPlayerCapability: {
|
|
73
|
+
readonly name: "media-player";
|
|
74
|
+
readonly scope: "device";
|
|
75
|
+
readonly deviceNative: true;
|
|
76
|
+
readonly mode: "singleton";
|
|
77
|
+
readonly deviceTypes: readonly [DeviceType.MediaPlayer];
|
|
78
|
+
readonly methods: {
|
|
79
|
+
readonly play: import("./capability-definition.js").CapabilityMethodSchema<z.ZodObject<{
|
|
80
|
+
deviceId: z.ZodNumber;
|
|
81
|
+
}, z.core.$strip>, z.ZodVoid, "mutation">;
|
|
82
|
+
readonly pause: import("./capability-definition.js").CapabilityMethodSchema<z.ZodObject<{
|
|
83
|
+
deviceId: z.ZodNumber;
|
|
84
|
+
}, z.core.$strip>, z.ZodVoid, "mutation">;
|
|
85
|
+
readonly stop: import("./capability-definition.js").CapabilityMethodSchema<z.ZodObject<{
|
|
86
|
+
deviceId: z.ZodNumber;
|
|
87
|
+
}, z.core.$strip>, z.ZodVoid, "mutation">;
|
|
88
|
+
readonly next: import("./capability-definition.js").CapabilityMethodSchema<z.ZodObject<{
|
|
89
|
+
deviceId: z.ZodNumber;
|
|
90
|
+
}, z.core.$strip>, z.ZodVoid, "mutation">;
|
|
91
|
+
readonly previous: import("./capability-definition.js").CapabilityMethodSchema<z.ZodObject<{
|
|
92
|
+
deviceId: z.ZodNumber;
|
|
93
|
+
}, z.core.$strip>, z.ZodVoid, "mutation">;
|
|
94
|
+
readonly seek: import("./capability-definition.js").CapabilityMethodSchema<z.ZodObject<{
|
|
95
|
+
deviceId: z.ZodNumber;
|
|
96
|
+
positionMs: z.ZodNumber;
|
|
97
|
+
}, z.core.$strip>, z.ZodVoid, "mutation">;
|
|
98
|
+
readonly setVolume: import("./capability-definition.js").CapabilityMethodSchema<z.ZodObject<{
|
|
99
|
+
deviceId: z.ZodNumber;
|
|
100
|
+
volumeLevel: z.ZodNumber;
|
|
101
|
+
}, z.core.$strip>, z.ZodVoid, "mutation">;
|
|
102
|
+
readonly setMute: import("./capability-definition.js").CapabilityMethodSchema<z.ZodObject<{
|
|
103
|
+
deviceId: z.ZodNumber;
|
|
104
|
+
muted: z.ZodBoolean;
|
|
105
|
+
}, z.core.$strip>, z.ZodVoid, "mutation">;
|
|
106
|
+
readonly setShuffle: import("./capability-definition.js").CapabilityMethodSchema<z.ZodObject<{
|
|
107
|
+
deviceId: z.ZodNumber;
|
|
108
|
+
shuffle: z.ZodBoolean;
|
|
109
|
+
}, z.core.$strip>, z.ZodVoid, "mutation">;
|
|
110
|
+
readonly setRepeat: import("./capability-definition.js").CapabilityMethodSchema<z.ZodObject<{
|
|
111
|
+
deviceId: z.ZodNumber;
|
|
112
|
+
repeat: z.ZodEnum<{
|
|
113
|
+
off: "off";
|
|
114
|
+
all: "all";
|
|
115
|
+
one: "one";
|
|
116
|
+
}>;
|
|
117
|
+
}, z.core.$strip>, z.ZodVoid, "mutation">;
|
|
118
|
+
readonly selectSource: import("./capability-definition.js").CapabilityMethodSchema<z.ZodObject<{
|
|
119
|
+
deviceId: z.ZodNumber;
|
|
120
|
+
source: z.ZodString;
|
|
121
|
+
}, z.core.$strip>, z.ZodVoid, "mutation">;
|
|
122
|
+
readonly playMedia: import("./capability-definition.js").CapabilityMethodSchema<z.ZodObject<{
|
|
123
|
+
deviceId: z.ZodNumber;
|
|
124
|
+
mediaId: z.ZodString;
|
|
125
|
+
mediaType: z.ZodString;
|
|
126
|
+
}, z.core.$strip>, z.ZodVoid, "mutation">;
|
|
127
|
+
};
|
|
128
|
+
readonly status: {
|
|
129
|
+
readonly schema: z.ZodObject<{
|
|
130
|
+
state: z.ZodEnum<{
|
|
131
|
+
off: "off";
|
|
132
|
+
idle: "idle";
|
|
133
|
+
playing: "playing";
|
|
134
|
+
paused: "paused";
|
|
135
|
+
on: "on";
|
|
136
|
+
buffering: "buffering";
|
|
137
|
+
standby: "standby";
|
|
138
|
+
}>;
|
|
139
|
+
volumeLevel: z.ZodNullable<z.ZodNumber>;
|
|
140
|
+
isMuted: z.ZodNullable<z.ZodBoolean>;
|
|
141
|
+
source: z.ZodString;
|
|
142
|
+
availableSources: z.ZodArray<z.ZodString>;
|
|
143
|
+
currentMedia: z.ZodNullable<z.ZodObject<{
|
|
144
|
+
type: z.ZodString;
|
|
145
|
+
title: z.ZodString;
|
|
146
|
+
artist: z.ZodOptional<z.ZodString>;
|
|
147
|
+
album: z.ZodOptional<z.ZodString>;
|
|
148
|
+
imageUrl: z.ZodOptional<z.ZodString>;
|
|
149
|
+
}, z.core.$strip>>;
|
|
150
|
+
positionMs: z.ZodNullable<z.ZodNumber>;
|
|
151
|
+
durationMs: z.ZodNullable<z.ZodNumber>;
|
|
152
|
+
shuffle: z.ZodNullable<z.ZodBoolean>;
|
|
153
|
+
repeat: z.ZodNullable<z.ZodEnum<{
|
|
154
|
+
off: "off";
|
|
155
|
+
all: "all";
|
|
156
|
+
one: "one";
|
|
157
|
+
}>>;
|
|
158
|
+
lastChangedAt: z.ZodNumber;
|
|
159
|
+
}, z.core.$strip>;
|
|
160
|
+
readonly kind: "push";
|
|
161
|
+
};
|
|
162
|
+
/**
|
|
163
|
+
* Runtime-state slice — mirrored by the kernel. UI players read the
|
|
164
|
+
* full slice for live now-playing, volume, and progress updates
|
|
165
|
+
* without polling.
|
|
166
|
+
*/
|
|
167
|
+
readonly runtimeState: z.ZodObject<{
|
|
168
|
+
state: z.ZodEnum<{
|
|
169
|
+
off: "off";
|
|
170
|
+
idle: "idle";
|
|
171
|
+
playing: "playing";
|
|
172
|
+
paused: "paused";
|
|
173
|
+
on: "on";
|
|
174
|
+
buffering: "buffering";
|
|
175
|
+
standby: "standby";
|
|
176
|
+
}>;
|
|
177
|
+
volumeLevel: z.ZodNullable<z.ZodNumber>;
|
|
178
|
+
isMuted: z.ZodNullable<z.ZodBoolean>;
|
|
179
|
+
source: z.ZodString;
|
|
180
|
+
availableSources: z.ZodArray<z.ZodString>;
|
|
181
|
+
currentMedia: z.ZodNullable<z.ZodObject<{
|
|
182
|
+
type: z.ZodString;
|
|
183
|
+
title: z.ZodString;
|
|
184
|
+
artist: z.ZodOptional<z.ZodString>;
|
|
185
|
+
album: z.ZodOptional<z.ZodString>;
|
|
186
|
+
imageUrl: z.ZodOptional<z.ZodString>;
|
|
187
|
+
}, z.core.$strip>>;
|
|
188
|
+
positionMs: z.ZodNullable<z.ZodNumber>;
|
|
189
|
+
durationMs: z.ZodNullable<z.ZodNumber>;
|
|
190
|
+
shuffle: z.ZodNullable<z.ZodBoolean>;
|
|
191
|
+
repeat: z.ZodNullable<z.ZodEnum<{
|
|
192
|
+
off: "off";
|
|
193
|
+
all: "all";
|
|
194
|
+
one: "one";
|
|
195
|
+
}>>;
|
|
196
|
+
lastChangedAt: z.ZodNumber;
|
|
197
|
+
}, z.core.$strip>;
|
|
198
|
+
};
|
|
199
|
+
export type IMediaPlayerProvider = InferProvider<typeof mediaPlayerCapability>;
|
|
200
|
+
export {};
|
|
201
|
+
//# sourceMappingURL=media-player.cap.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"media-player.cap.d.ts","sourceRoot":"","sources":["../../src/capabilities/media-player.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;;;;;;;;;;;GAWG;AAEH,eAAO,MAAM,sBAAsB;;;;;;;;EAQjC,CAAA;AACF,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAA;AAErE,eAAO,MAAM,uBAAuB;;;;EAAgC,CAAA;AACpE,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,uBAAuB,CAAC,CAAA;AAEvE,QAAA,MAAM,eAAe;;;;;;iBAYnB,CAAA;AACF,MAAM,MAAM,SAAS,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,eAAe,CAAC,CAAA;AAEvD,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBA8BlC,CAAA;AAEF,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,uBAAuB,CAAC,CAAA;AAEvE,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAiGhC;;;;OAIG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAEoC,CAAA;AAEzC,MAAM,MAAM,oBAAoB,GAAG,aAAa,CAAC,OAAO,qBAAqB,CAAC,CAAA"}
|
|
@@ -44,6 +44,7 @@ export type MotionTriggerRuntimeState = z.infer<typeof MotionTriggerRuntimeState
|
|
|
44
44
|
export declare const motionTriggerCapability: {
|
|
45
45
|
readonly name: "motion-trigger";
|
|
46
46
|
readonly scope: "device";
|
|
47
|
+
readonly deviceNative: true;
|
|
47
48
|
readonly mode: "singleton";
|
|
48
49
|
readonly deviceTypes: readonly [DeviceType.Light, DeviceType.Siren, DeviceType.Switch];
|
|
49
50
|
readonly methods: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"motion-trigger.cap.d.ts","sourceRoot":"","sources":["../../src/capabilities/motion-trigger.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;;;;;;;;;;;;;;;;;;;GAmBG;AACH,eAAO,MAAM,yBAAyB;;;iBAIpC,CAAA;AAEF,MAAM,MAAM,mBAAmB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,yBAAyB,CAAC,CAAA;AAE3E;;;;;;;;GAQG;AACH,eAAO,MAAM,+BAA+B;;;;iBAG1C,CAAA;AAEF,MAAM,MAAM,yBAAyB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,+BAA+B,CAAC,CAAA;AAEvF,eAAO,MAAM,uBAAuB
|
|
1
|
+
{"version":3,"file":"motion-trigger.cap.d.ts","sourceRoot":"","sources":["../../src/capabilities/motion-trigger.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;;;;;;;;;;;;;;;;;;;GAmBG;AACH,eAAO,MAAM,yBAAyB;;;iBAIpC,CAAA;AAEF,MAAM,MAAM,mBAAmB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,yBAAyB,CAAC,CAAA;AAE3E;;;;;;;;GAQG;AACH,eAAO,MAAM,+BAA+B;;;;iBAG1C,CAAA;AAEF,MAAM,MAAM,yBAAyB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,+BAA+B,CAAC,CAAA;AAEvF,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA4BK,CAAA;AAEzC,MAAM,MAAM,sBAAsB,GAAG,aAAa,CAAC,OAAO,uBAAuB,CAAC,CAAA"}
|
|
@@ -77,6 +77,7 @@ export type MotionZonePatch = z.infer<typeof MotionZonePatchSchema>;
|
|
|
77
77
|
export declare const motionZonesCapability: {
|
|
78
78
|
readonly name: "motion-zones";
|
|
79
79
|
readonly scope: "device";
|
|
80
|
+
readonly deviceNative: true;
|
|
80
81
|
readonly mode: "singleton";
|
|
81
82
|
readonly deviceTypes: readonly [DeviceType.Camera];
|
|
82
83
|
readonly deviceConfig: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"motion-zones.cap.d.ts","sourceRoot":"","sources":["../../src/capabilities/motion-zones.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;AAGrD;;;;;GAKG;AAEH,kEAAkE;AAClE,eAAO,MAAM,sBAAsB;;;;;;;;;iBAIjC,CAAA;AAEF;0BAC0B;AAC1B,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;iBAMjC,CAAA;AAEF;oCACoC;AACpC,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;;;iBAKlC,CAAA;AAEF,6CAA6C;AAC7C,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;iBAIhC,CAAA;AAEF,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAA;AACrE,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAA;AACrE,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,uBAAuB,CAAC,CAAA;AACvE,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAA;AAEnE,eAAO,MAAM,qBAAqB
|
|
1
|
+
{"version":3,"file":"motion-zones.cap.d.ts","sourceRoot":"","sources":["../../src/capabilities/motion-zones.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;AAGrD;;;;;GAKG;AAEH,kEAAkE;AAClE,eAAO,MAAM,sBAAsB;;;;;;;;;iBAIjC,CAAA;AAEF;0BAC0B;AAC1B,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;iBAMjC,CAAA;AAEF;oCACoC;AACpC,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;;;iBAKlC,CAAA;AAEF,6CAA6C;AAC7C,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;iBAIhC,CAAA;AAEF,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAA;AACrE,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAA;AACrE,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,uBAAuB,CAAC,CAAA;AACvE,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAA;AAEnE,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAmBO,CAAA;AAEzC,MAAM,MAAM,oBAAoB,GAAG,mBAAmB,CAAC,OAAO,qBAAqB,CAAC,CAAA"}
|
|
@@ -101,6 +101,7 @@ export type NativeObjectDetectionRuntimeState = z.infer<typeof NativeObjectDetec
|
|
|
101
101
|
export declare const nativeObjectDetectionCapability: {
|
|
102
102
|
readonly name: "native-object-detection";
|
|
103
103
|
readonly scope: "device";
|
|
104
|
+
readonly deviceNative: true;
|
|
104
105
|
readonly mode: "singleton";
|
|
105
106
|
readonly deviceTypes: readonly [DeviceType.Camera];
|
|
106
107
|
readonly methods: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"native-object-detection.cap.d.ts","sourceRoot":"","sources":["../../src/capabilities/native-object-detection.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;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,qBAAqB;;;;;;;EAEhC,CAAA;AAEF,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAA;AAErE,eAAO,MAAM,qBAAqB;;;;;;;;;;;iBAKhC,CAAA;AAEF,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAA;AAEnE,eAAO,MAAM,iCAAiC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAqB5C,CAAA;AAEF,MAAM,MAAM,2BAA2B,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iCAAiC,CAAC,CAAA;AAE3F,eAAO,MAAM,uCAAuC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAGlD,CAAA;AAEF,MAAM,MAAM,iCAAiC,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,uCAAuC,CAAC,CAAA;AAEvG,eAAO,MAAM,+BAA+B
|
|
1
|
+
{"version":3,"file":"native-object-detection.cap.d.ts","sourceRoot":"","sources":["../../src/capabilities/native-object-detection.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;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,qBAAqB;;;;;;;EAEhC,CAAA;AAEF,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAA;AAErE,eAAO,MAAM,qBAAqB;;;;;;;;;;;iBAKhC,CAAA;AAEF,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAA;AAEnE,eAAO,MAAM,iCAAiC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAqB5C,CAAA;AAEF,MAAM,MAAM,2BAA2B,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iCAAiC,CAAC,CAAA;AAE3F,eAAO,MAAM,uCAAuC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAGlD,CAAA;AAEF,MAAM,MAAM,iCAAiC,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,uCAAuC,CAAC,CAAA;AAEvG,eAAO,MAAM,+BAA+B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAwBH,CAAA;AAEzC,MAAM,MAAM,8BAA8B,GAAG,aAAa,CAAC,OAAO,+BAA+B,CAAC,CAAA"}
|
|
@@ -25,6 +25,7 @@ declare const ClientNetworkStatsSchema: z.ZodObject<{
|
|
|
25
25
|
rttMs: z.ZodNumber;
|
|
26
26
|
jitterMs: z.ZodNumber;
|
|
27
27
|
estimatedBandwidthKbps: z.ZodNumber;
|
|
28
|
+
packetLossPercent: z.ZodNumber;
|
|
28
29
|
lastUpdated: z.ZodNumber;
|
|
29
30
|
}, z.core.$strip>;
|
|
30
31
|
declare const DeviceNetworkStatsSchema: z.ZodObject<{
|
|
@@ -40,6 +41,7 @@ declare const DeviceNetworkStatsSchema: z.ZodObject<{
|
|
|
40
41
|
rttMs: z.ZodNumber;
|
|
41
42
|
jitterMs: z.ZodNumber;
|
|
42
43
|
estimatedBandwidthKbps: z.ZodNumber;
|
|
44
|
+
packetLossPercent: z.ZodNumber;
|
|
43
45
|
lastUpdated: z.ZodNumber;
|
|
44
46
|
}, z.core.$strip>>;
|
|
45
47
|
}, z.core.$strip>;
|
|
@@ -63,6 +65,7 @@ export declare const networkQualityCapability: {
|
|
|
63
65
|
rttMs: z.ZodNumber;
|
|
64
66
|
jitterMs: z.ZodNumber;
|
|
65
67
|
estimatedBandwidthKbps: z.ZodNumber;
|
|
68
|
+
packetLossPercent: z.ZodNumber;
|
|
66
69
|
lastUpdated: z.ZodNumber;
|
|
67
70
|
}, z.core.$strip>>;
|
|
68
71
|
}, z.core.$strip>>, import("./capability-definition.js").CapabilityMethodKind>;
|
|
@@ -79,6 +82,7 @@ export declare const networkQualityCapability: {
|
|
|
79
82
|
rttMs: z.ZodNumber;
|
|
80
83
|
jitterMs: z.ZodNumber;
|
|
81
84
|
estimatedBandwidthKbps: z.ZodNumber;
|
|
85
|
+
packetLossPercent: z.ZodNumber;
|
|
82
86
|
lastUpdated: z.ZodNumber;
|
|
83
87
|
}, z.core.$strip>>;
|
|
84
88
|
}, z.core.$strip>>>, import("./capability-definition.js").CapabilityMethodKind>;
|
|
@@ -87,6 +91,7 @@ export declare const networkQualityCapability: {
|
|
|
87
91
|
rttMs: z.ZodNumber;
|
|
88
92
|
jitterMs: z.ZodNumber;
|
|
89
93
|
estimatedBandwidthKbps: z.ZodNumber;
|
|
94
|
+
packetLossPercent: z.ZodNumber;
|
|
90
95
|
}, z.core.$strip>, z.ZodVoid, "mutation">;
|
|
91
96
|
};
|
|
92
97
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"network-quality.cap.d.ts","sourceRoot":"","sources":["../../src/capabilities/network-quality.cap.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AACvB,OAAO,EAAqC,KAAK,aAAa,EAAE,MAAM,4BAA4B,CAAA;AAElG;;;;;;;;;;;;;GAaG;AAEH,QAAA,MAAM,wBAAwB;;;;;;iBAM5B,CAAA;AAEF,QAAA,MAAM,wBAAwB
|
|
1
|
+
{"version":3,"file":"network-quality.cap.d.ts","sourceRoot":"","sources":["../../src/capabilities/network-quality.cap.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AACvB,OAAO,EAAqC,KAAK,aAAa,EAAE,MAAM,4BAA4B,CAAA;AAElG;;;;;;;;;;;;;GAaG;AAEH,QAAA,MAAM,wBAAwB;;;;;;iBAM5B,CAAA;AAEF,QAAA,MAAM,wBAAwB;;;;;;iBAM5B,CAAA;AAEF,QAAA,MAAM,wBAAwB;;;;;;;;;;;;;;;;iBAI5B,CAAA;AAEF,eAAO,MAAM,wBAAwB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAyBI,CAAA;AAEzC,MAAM,MAAM,uBAAuB,GAAG,aAAa,CAAC,OAAO,wBAAwB,CAAC,CAAA;AAEpF,OAAO,EACL,wBAAwB,EACxB,wBAAwB,EACxB,wBAAwB,GACzB,CAAA"}
|
|
@@ -0,0 +1,173 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
import { type InferProvider } from './capability-definition.js';
|
|
3
|
+
import { DeviceType } from '../device/device-type.js';
|
|
4
|
+
/**
|
|
5
|
+
* Notification delivery cap. Models HA `notify.<service>` plus future
|
|
6
|
+
* native targets (Telegram / Discord / ntfy / SMTP, …). Designed at
|
|
7
|
+
* the same structural level as a camera cap: rich multi-method
|
|
8
|
+
* surface, full status diagnostics, explicit `supports` matrix so
|
|
9
|
+
* the UI gates compose-form fields without probing the provider.
|
|
10
|
+
*
|
|
11
|
+
* One Notifier device per delivery endpoint — HA's `notify.mobile_app_*`
|
|
12
|
+
* (one per phone), `notify.telegram_*` (one per chat target), etc.
|
|
13
|
+
* The DeviceRole sub-role (MobilePushNotifier / MessagingNotifier /
|
|
14
|
+
* EmailNotifier / GenericNotifier) discriminates the rendering style
|
|
15
|
+
* of the compose form.
|
|
16
|
+
*
|
|
17
|
+
* Sub-feature support (image / priority / data / actions / multi-
|
|
18
|
+
* recipient) is signaled by:
|
|
19
|
+
* - the device's `DeviceFeature` bits — fast scalar check for list
|
|
20
|
+
* filters and grid icons (DeviceFeature.NotifierImage etc.); AND
|
|
21
|
+
* - the slice's `supports` block — authoritative read after device
|
|
22
|
+
* detail is opened.
|
|
23
|
+
*/
|
|
24
|
+
declare const NotifierPrioritySchema: z.ZodEnum<{
|
|
25
|
+
high: "high";
|
|
26
|
+
low: "low";
|
|
27
|
+
normal: "normal";
|
|
28
|
+
min: "min";
|
|
29
|
+
}>;
|
|
30
|
+
export type NotifierPriority = z.infer<typeof NotifierPrioritySchema>;
|
|
31
|
+
declare const NotifierActionSchema: z.ZodObject<{
|
|
32
|
+
id: z.ZodString;
|
|
33
|
+
title: z.ZodString;
|
|
34
|
+
uri: z.ZodOptional<z.ZodURL>;
|
|
35
|
+
destructive: z.ZodOptional<z.ZodBoolean>;
|
|
36
|
+
}, z.core.$strip>;
|
|
37
|
+
export type NotifierAction = z.infer<typeof NotifierActionSchema>;
|
|
38
|
+
declare const NotifierSupportsSchema: z.ZodObject<{
|
|
39
|
+
image: z.ZodBoolean;
|
|
40
|
+
priority: z.ZodBoolean;
|
|
41
|
+
data: z.ZodBoolean;
|
|
42
|
+
actions: z.ZodBoolean;
|
|
43
|
+
recipients: z.ZodBoolean;
|
|
44
|
+
}, z.core.$strip>;
|
|
45
|
+
export type NotifierSupports = z.infer<typeof NotifierSupportsSchema>;
|
|
46
|
+
export declare const NotifierStatusSchema: z.ZodObject<{
|
|
47
|
+
lastSentAt: z.ZodNumber;
|
|
48
|
+
lastError: z.ZodNullable<z.ZodString>;
|
|
49
|
+
queueDepth: z.ZodNumber;
|
|
50
|
+
supports: z.ZodObject<{
|
|
51
|
+
image: z.ZodBoolean;
|
|
52
|
+
priority: z.ZodBoolean;
|
|
53
|
+
data: z.ZodBoolean;
|
|
54
|
+
actions: z.ZodBoolean;
|
|
55
|
+
recipients: z.ZodBoolean;
|
|
56
|
+
}, z.core.$strip>;
|
|
57
|
+
}, z.core.$strip>;
|
|
58
|
+
export type NotifierStatus = z.infer<typeof NotifierStatusSchema>;
|
|
59
|
+
declare const NotifierSendInputSchema: z.ZodObject<{
|
|
60
|
+
deviceId: z.ZodNumber;
|
|
61
|
+
title: z.ZodOptional<z.ZodString>;
|
|
62
|
+
body: z.ZodString;
|
|
63
|
+
image: z.ZodOptional<z.ZodString>;
|
|
64
|
+
priority: z.ZodOptional<z.ZodEnum<{
|
|
65
|
+
high: "high";
|
|
66
|
+
low: "low";
|
|
67
|
+
normal: "normal";
|
|
68
|
+
min: "min";
|
|
69
|
+
}>>;
|
|
70
|
+
channel: z.ZodOptional<z.ZodString>;
|
|
71
|
+
recipients: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
72
|
+
actions: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
73
|
+
id: z.ZodString;
|
|
74
|
+
title: z.ZodString;
|
|
75
|
+
uri: z.ZodOptional<z.ZodURL>;
|
|
76
|
+
destructive: z.ZodOptional<z.ZodBoolean>;
|
|
77
|
+
}, z.core.$strip>>>;
|
|
78
|
+
data: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
79
|
+
}, z.core.$strip>;
|
|
80
|
+
declare const NotifierSendResultSchema: z.ZodObject<{
|
|
81
|
+
notificationId: z.ZodString;
|
|
82
|
+
acceptedAt: z.ZodNumber;
|
|
83
|
+
}, z.core.$strip>;
|
|
84
|
+
export type NotifierSendInput = z.infer<typeof NotifierSendInputSchema>;
|
|
85
|
+
export type NotifierSendResult = z.infer<typeof NotifierSendResultSchema>;
|
|
86
|
+
export declare const notifierCapability: {
|
|
87
|
+
readonly name: "notifier";
|
|
88
|
+
readonly scope: "device";
|
|
89
|
+
readonly deviceNative: true;
|
|
90
|
+
readonly mode: "singleton";
|
|
91
|
+
readonly deviceTypes: readonly [DeviceType.Notifier];
|
|
92
|
+
readonly methods: {
|
|
93
|
+
readonly send: import("./capability-definition.js").CapabilityMethodSchema<z.ZodObject<{
|
|
94
|
+
deviceId: z.ZodNumber;
|
|
95
|
+
title: z.ZodOptional<z.ZodString>;
|
|
96
|
+
body: z.ZodString;
|
|
97
|
+
image: z.ZodOptional<z.ZodString>;
|
|
98
|
+
priority: z.ZodOptional<z.ZodEnum<{
|
|
99
|
+
high: "high";
|
|
100
|
+
low: "low";
|
|
101
|
+
normal: "normal";
|
|
102
|
+
min: "min";
|
|
103
|
+
}>>;
|
|
104
|
+
channel: z.ZodOptional<z.ZodString>;
|
|
105
|
+
recipients: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
106
|
+
actions: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
107
|
+
id: z.ZodString;
|
|
108
|
+
title: z.ZodString;
|
|
109
|
+
uri: z.ZodOptional<z.ZodURL>;
|
|
110
|
+
destructive: z.ZodOptional<z.ZodBoolean>;
|
|
111
|
+
}, z.core.$strip>>>;
|
|
112
|
+
data: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
113
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
114
|
+
notificationId: z.ZodString;
|
|
115
|
+
acceptedAt: z.ZodNumber;
|
|
116
|
+
}, z.core.$strip>, "mutation">;
|
|
117
|
+
readonly cancel: import("./capability-definition.js").CapabilityMethodSchema<z.ZodObject<{
|
|
118
|
+
deviceId: z.ZodNumber;
|
|
119
|
+
notificationId: z.ZodString;
|
|
120
|
+
}, z.core.$strip>, z.ZodVoid, "mutation">;
|
|
121
|
+
};
|
|
122
|
+
readonly events: {
|
|
123
|
+
/**
|
|
124
|
+
* Emitted after every send attempt — success or failure. Subscribers
|
|
125
|
+
* (admin UI history pane, automation engines, retry workers) react
|
|
126
|
+
* without polling the provider's `lastSentAt`.
|
|
127
|
+
*/
|
|
128
|
+
readonly onSent: {
|
|
129
|
+
readonly data: z.ZodObject<{
|
|
130
|
+
deviceId: z.ZodNumber;
|
|
131
|
+
notificationId: z.ZodString;
|
|
132
|
+
success: z.ZodBoolean;
|
|
133
|
+
error: z.ZodNullable<z.ZodString>;
|
|
134
|
+
acceptedAt: z.ZodNumber;
|
|
135
|
+
}, z.core.$strip>;
|
|
136
|
+
};
|
|
137
|
+
};
|
|
138
|
+
readonly status: {
|
|
139
|
+
readonly schema: z.ZodObject<{
|
|
140
|
+
lastSentAt: z.ZodNumber;
|
|
141
|
+
lastError: z.ZodNullable<z.ZodString>;
|
|
142
|
+
queueDepth: z.ZodNumber;
|
|
143
|
+
supports: z.ZodObject<{
|
|
144
|
+
image: z.ZodBoolean;
|
|
145
|
+
priority: z.ZodBoolean;
|
|
146
|
+
data: z.ZodBoolean;
|
|
147
|
+
actions: z.ZodBoolean;
|
|
148
|
+
recipients: z.ZodBoolean;
|
|
149
|
+
}, z.core.$strip>;
|
|
150
|
+
}, z.core.$strip>;
|
|
151
|
+
readonly kind: "command-driven";
|
|
152
|
+
};
|
|
153
|
+
/**
|
|
154
|
+
* Runtime-state slice — diagnostics + supports matrix. UI compose
|
|
155
|
+
* form reads `supports` to gate optional fields; history pane reads
|
|
156
|
+
* `lastSentAt` / `lastError` / `queueDepth`.
|
|
157
|
+
*/
|
|
158
|
+
readonly runtimeState: z.ZodObject<{
|
|
159
|
+
lastSentAt: z.ZodNumber;
|
|
160
|
+
lastError: z.ZodNullable<z.ZodString>;
|
|
161
|
+
queueDepth: z.ZodNumber;
|
|
162
|
+
supports: z.ZodObject<{
|
|
163
|
+
image: z.ZodBoolean;
|
|
164
|
+
priority: z.ZodBoolean;
|
|
165
|
+
data: z.ZodBoolean;
|
|
166
|
+
actions: z.ZodBoolean;
|
|
167
|
+
recipients: z.ZodBoolean;
|
|
168
|
+
}, z.core.$strip>;
|
|
169
|
+
}, z.core.$strip>;
|
|
170
|
+
};
|
|
171
|
+
export type INotifierProvider = InferProvider<typeof notifierCapability>;
|
|
172
|
+
export {};
|
|
173
|
+
//# sourceMappingURL=notifier.cap.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"notifier.cap.d.ts","sourceRoot":"","sources":["../../src/capabilities/notifier.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;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,QAAA,MAAM,sBAAsB;;;;;EAA2C,CAAA;AACvE,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAA;AAErE,QAAA,MAAM,oBAAoB;;;;;iBAUxB,CAAA;AACF,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAA;AAEjE,QAAA,MAAM,sBAAsB;;;;;;iBAa1B,CAAA;AACF,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAA;AAErE,eAAO,MAAM,oBAAoB;;;;;;;;;;;iBAY/B,CAAA;AAEF,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAA;AAEjE,QAAA,MAAM,uBAAuB;;;;;;;;;;;;;;;;;;;;iBAqB3B,CAAA;AAEF,QAAA,MAAM,wBAAwB;;;iBAK5B,CAAA;AAEF,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,uBAAuB,CAAC,CAAA;AACvE,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,wBAAwB,CAAC,CAAA;AAEzE,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;QAsB3B;;;;WAIG;;;;;;;;;;;;;;;;;;;;;;;;;;IAaL;;;;OAIG;;;;;;;;;;;;;CAEoC,CAAA;AAEzC,MAAM,MAAM,iBAAiB,GAAG,aAAa,CAAC,OAAO,kBAAkB,CAAC,CAAA"}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
import { type InferProvider } from './capability-definition.js';
|
|
3
|
+
import { DeviceType } from '../device/device-type.js';
|
|
4
|
+
/**
|
|
5
|
+
* Generic numeric sensor — last-resort fallback when no typed numeric
|
|
6
|
+
* cap fits (HA `sensor` whose `device_class` we don't have a typed cap
|
|
7
|
+
* for: water flow, distance, weight, frequency, signal strength, …).
|
|
8
|
+
*
|
|
9
|
+
* The `unit` and `precision` fields carry the live display metadata that
|
|
10
|
+
* the upstream source provides with each state push (HA
|
|
11
|
+
* `attributes.unit_of_measurement` / `attributes.suggested_display_precision`).
|
|
12
|
+
* The UI reads them directly from the slice — they are the single source
|
|
13
|
+
* of truth for generic numeric rendering and do NOT live on `sourceInfo`.
|
|
14
|
+
*
|
|
15
|
+
* Prefer the typed alternatives (`temperature-sensor`, `humidity-sensor`,
|
|
16
|
+
* `ambient-light-sensor`, `pressure-sensor`, `power-meter`,
|
|
17
|
+
* `air-quality-sensor`, `battery`) when the metric matches — export
|
|
18
|
+
* adapters render those with the right service / category. Generic
|
|
19
|
+
* numeric values land here.
|
|
20
|
+
*/
|
|
21
|
+
export declare const NumericSensorStatusSchema: z.ZodObject<{
|
|
22
|
+
value: z.ZodNumber;
|
|
23
|
+
unit: z.ZodOptional<z.ZodString>;
|
|
24
|
+
precision: z.ZodOptional<z.ZodNumber>;
|
|
25
|
+
lastFetchedAt: z.ZodNumber;
|
|
26
|
+
}, z.core.$strip>;
|
|
27
|
+
export type NumericSensorStatus = z.infer<typeof NumericSensorStatusSchema>;
|
|
28
|
+
export declare const numericSensorCapability: {
|
|
29
|
+
readonly name: "numeric-sensor";
|
|
30
|
+
readonly scope: "device";
|
|
31
|
+
readonly deviceNative: true;
|
|
32
|
+
readonly mode: "singleton";
|
|
33
|
+
readonly deviceTypes: readonly [DeviceType.Sensor];
|
|
34
|
+
readonly methods: {};
|
|
35
|
+
readonly status: {
|
|
36
|
+
readonly schema: z.ZodObject<{
|
|
37
|
+
value: z.ZodNumber;
|
|
38
|
+
unit: z.ZodOptional<z.ZodString>;
|
|
39
|
+
precision: z.ZodOptional<z.ZodNumber>;
|
|
40
|
+
lastFetchedAt: z.ZodNumber;
|
|
41
|
+
}, z.core.$strip>;
|
|
42
|
+
readonly kind: "push";
|
|
43
|
+
};
|
|
44
|
+
readonly runtimeState: z.ZodObject<{
|
|
45
|
+
value: z.ZodNumber;
|
|
46
|
+
unit: z.ZodOptional<z.ZodString>;
|
|
47
|
+
precision: z.ZodOptional<z.ZodNumber>;
|
|
48
|
+
lastFetchedAt: z.ZodNumber;
|
|
49
|
+
}, z.core.$strip>;
|
|
50
|
+
};
|
|
51
|
+
export type INumericSensorProvider = InferProvider<typeof numericSensorCapability>;
|
|
52
|
+
//# sourceMappingURL=numeric-sensor.cap.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"numeric-sensor.cap.d.ts","sourceRoot":"","sources":["../../src/capabilities/numeric-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;;;;;;;;;;;;;;;;GAgBG;AACH,eAAO,MAAM,yBAAyB;;;;;iBAYpC,CAAA;AAEF,MAAM,MAAM,mBAAmB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,yBAAyB,CAAC,CAAA;AAE3E,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;;;;;;;;CAYK,CAAA;AAEzC,MAAM,MAAM,sBAAsB,GAAG,aAAa,CAAC,OAAO,uBAAuB,CAAC,CAAA"}
|
|
@@ -102,6 +102,7 @@ declare const OsdOverlayPatchSchema: z.ZodObject<{
|
|
|
102
102
|
export declare const osdCapability: {
|
|
103
103
|
readonly name: "osd";
|
|
104
104
|
readonly scope: "device";
|
|
105
|
+
readonly deviceNative: true;
|
|
105
106
|
readonly mode: "singleton";
|
|
106
107
|
readonly deviceTypes: readonly [DeviceType.Camera];
|
|
107
108
|
readonly methods: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"osd.cap.d.ts","sourceRoot":"","sources":["../../src/capabilities/osd.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;AAEH,eAAO,MAAM,kBAAkB;;;;EAA6C,CAAA;AAC5E,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAA;AAE/D,eAAO,MAAM,eAAe;;;;;;;;EAI1B,CAAA;AACF,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,eAAe,CAAC,CAAA;AAEzD,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAgB3B,CAAA;AAEF,MAAM,MAAM,UAAU,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gBAAgB,CAAC,CAAA;AAEzD,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAE1B,CAAA;AAEF,MAAM,MAAM,SAAS,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,eAAe,CAAC,CAAA;AAEvD,QAAA,MAAM,qBAAqB;;;;;;;;;;;;iBAIf,CAAA;AAEZ,eAAO,MAAM,aAAa
|
|
1
|
+
{"version":3,"file":"osd.cap.d.ts","sourceRoot":"","sources":["../../src/capabilities/osd.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;AAEH,eAAO,MAAM,kBAAkB;;;;EAA6C,CAAA;AAC5E,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAA;AAE/D,eAAO,MAAM,eAAe;;;;;;;;EAI1B,CAAA;AACF,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,eAAe,CAAC,CAAA;AAEzD,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAgB3B,CAAA;AAEF,MAAM,MAAM,UAAU,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gBAAgB,CAAC,CAAA;AAEzD,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAE1B,CAAA;AAEF,MAAM,MAAM,SAAS,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,eAAe,CAAC,CAAA;AAEvD,QAAA,MAAM,qBAAqB;;;;;;;;;;;;iBAIf,CAAA;AAEZ,eAAO,MAAM,aAAa;;;;;;;QAOtB;;;;;WAKG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAkDkC,CAAA;AAEzC,MAAM,MAAM,YAAY,GAAG,aAAa,CAAC,OAAO,aAAa,CAAC,CAAA;AAC9D,OAAO,EAAE,qBAAqB,EAAE,CAAA"}
|