@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
|
@@ -7,11 +7,85 @@ export declare enum DeviceType {
|
|
|
7
7
|
Sensor = "sensor",
|
|
8
8
|
Thermostat = "thermostat",
|
|
9
9
|
Button = "button",
|
|
10
|
-
Generic
|
|
10
|
+
/** Generic stateless event emitter — carries a device's EXACT declared
|
|
11
|
+
* event vocabulary verbatim (no normalization). Installed with the
|
|
12
|
+
* `event-emitter` cap. Sources: HA `event.*` entities (structured) and
|
|
13
|
+
* HA bus events (e.g. `zha_event`, generic). */
|
|
14
|
+
EventEmitter = "event-emitter",
|
|
15
|
+
/** Firmware/software update entity — current vs available version,
|
|
16
|
+
* updatable flag, update state, and an install action. Installed with
|
|
17
|
+
* the `update` cap. Sources: Homematic firmware-update channels (and
|
|
18
|
+
* reusable by other providers, e.g. HA `update.*` entities). */
|
|
19
|
+
Update = "update",
|
|
20
|
+
Generic = "generic",
|
|
21
|
+
/** Generic notification delivery target (HA `notify.<service>`, future
|
|
22
|
+
* Telegram / Discord / ntfy / SMTP, …). One device per delivery
|
|
23
|
+
* endpoint; the `notifier` cap defines the send surface. */
|
|
24
|
+
Notifier = "notifier",
|
|
25
|
+
/** Pre-recorded action sequence with optional parameters
|
|
26
|
+
* (HA `script.*`). Runnable via `script-runner` cap. */
|
|
27
|
+
Script = "script",
|
|
28
|
+
/** Automation rule (HA `automation.*`) — enable/disable + manual
|
|
29
|
+
* trigger surface exposed via `automation-control` cap. */
|
|
30
|
+
Automation = "automation",
|
|
31
|
+
/** Door / smart lock device (HA `lock.*`). `lock-control` cap. */
|
|
32
|
+
Lock = "lock",
|
|
33
|
+
/** Window covering, blinds, garage door, valve, etc. (HA `cover.*`,
|
|
34
|
+
* `valve.*`). `cover` cap with sub-roles for variant. */
|
|
35
|
+
Cover = "cover",
|
|
36
|
+
/** Pipe / water / gas valve with open/close/stop and optional
|
|
37
|
+
* position (HA `valve.*`). `valve` cap — a cover-sibling actuator
|
|
38
|
+
* modelled on the same open/closed lifecycle. */
|
|
39
|
+
Valve = "valve",
|
|
40
|
+
/** Humidifier / dehumidifier with on/off + target humidity + mode
|
|
41
|
+
* (HA `humidifier.*`). `humidifier` cap — a climate-family actuator
|
|
42
|
+
* modelled on the same target / mode lifecycle. */
|
|
43
|
+
Humidifier = "humidifier",
|
|
44
|
+
/** Water heater / boiler with target temperature + operation mode +
|
|
45
|
+
* away mode (HA `water_heater.*`). `water-heater` cap — a
|
|
46
|
+
* climate-family actuator. */
|
|
47
|
+
WaterHeater = "water-heater",
|
|
48
|
+
/** Ceiling / standing / exhaust fan (HA `fan.*`). `fan-control` cap. */
|
|
49
|
+
Fan = "fan",
|
|
50
|
+
/** Audio / video playback endpoint (HA `media_player.*`). Disjoint from
|
|
51
|
+
* the camera surface — those use `Camera`. `media-player` cap. */
|
|
52
|
+
MediaPlayer = "media-player",
|
|
53
|
+
/** Security panel / alarm system (HA `alarm_control_panel.*`).
|
|
54
|
+
* `alarm-panel` cap. */
|
|
55
|
+
AlarmPanel = "alarm-panel",
|
|
56
|
+
/** Generic user-settable input (HA `number` / `input_number` / `select`
|
|
57
|
+
* / `input_select` / `text` / `input_text` / `input_datetime`).
|
|
58
|
+
* Sub-type via `DeviceRole`: NumericControl / SelectControl /
|
|
59
|
+
* TextControl / DateTimeControl. */
|
|
60
|
+
Control = "control",
|
|
61
|
+
/** Person / device-tracker presence (HA `person.*`, `device_tracker.*`).
|
|
62
|
+
* `presence` cap. */
|
|
63
|
+
Presence = "presence",
|
|
64
|
+
/** Weather provider (HA `weather.*`). Tier-3, low MVP priority.
|
|
65
|
+
* `weather` cap. */
|
|
66
|
+
Weather = "weather",
|
|
67
|
+
/** Robot vacuum (HA `vacuum.*`). Tier-3. `vacuum-control` cap. */
|
|
68
|
+
Vacuum = "vacuum",
|
|
69
|
+
/** Robotic lawn mower (HA `lawn_mower.*`). Tier-3.
|
|
70
|
+
* `lawn-mower-control` cap. */
|
|
71
|
+
LawnMower = "lawn-mower",
|
|
72
|
+
/** Physical HA device group — parent container for entity-children
|
|
73
|
+
* adopted from a single HA device entry. Not renderable as a
|
|
74
|
+
* standalone device; exists only to anchor child entities. */
|
|
75
|
+
Container = "container",
|
|
76
|
+
/** Single still-image entity (HA `image.*`). Read-only display of an
|
|
77
|
+
* `entity_picture` signed URL the browser loads directly. `image` cap. */
|
|
78
|
+
Image = "image"
|
|
11
79
|
}
|
|
12
80
|
export declare enum DeviceFeature {
|
|
13
81
|
BatteryOperated = "battery-operated",
|
|
14
82
|
Rebootable = "rebootable",
|
|
83
|
+
/**
|
|
84
|
+
* Device supports an on-demand re-sync of its derived spec with its
|
|
85
|
+
* upstream source — drives the generic Re-sync button. The owning
|
|
86
|
+
* provider implements the action via the `device-adoption.resync` cap.
|
|
87
|
+
*/
|
|
88
|
+
Resyncable = "resyncable",
|
|
15
89
|
NativeSnapshot = "native-snapshot",
|
|
16
90
|
DoorbellButton = "doorbell-button",
|
|
17
91
|
TwoWayAudio = "two-way-audio",
|
|
@@ -36,7 +110,88 @@ export declare enum DeviceFeature {
|
|
|
36
110
|
* fast scalar without binding fetch), notifier rules, and `listAll`
|
|
37
111
|
* filters that want "all devices with on-motion behaviour".
|
|
38
112
|
*/
|
|
39
|
-
MotionTrigger = "motion-trigger"
|
|
113
|
+
MotionTrigger = "motion-trigger",
|
|
114
|
+
/** Light supports rgb-triplet color via `color` cap. */
|
|
115
|
+
LightColorRgb = "light-color-rgb",
|
|
116
|
+
/** Light supports HSV color via `color` cap. */
|
|
117
|
+
LightColorHsv = "light-color-hsv",
|
|
118
|
+
/** Light supports color-temperature (mired) via `color` cap. */
|
|
119
|
+
LightColorMired = "light-color-mired",
|
|
120
|
+
/** Thermostat supports a `heat_cool` dual setpoint (targetLow +
|
|
121
|
+
* targetHigh). Gates the range slider UI. */
|
|
122
|
+
ClimateDualSetpoint = "climate-dual-setpoint",
|
|
123
|
+
/** Thermostat exposes target humidity and/or current humidity
|
|
124
|
+
* readings. Gates the humidity controls. */
|
|
125
|
+
ClimateHumidity = "climate-humidity",
|
|
126
|
+
/** Thermostat exposes a fan-mode selector. */
|
|
127
|
+
ClimateFanMode = "climate-fan-mode",
|
|
128
|
+
/** Thermostat exposes preset modes (eco / away / sleep / vendor). */
|
|
129
|
+
ClimatePreset = "climate-preset",
|
|
130
|
+
/** Cover exposes intermediate position control (0..100). Gates the
|
|
131
|
+
* position slider UI. */
|
|
132
|
+
CoverPositionable = "cover-positionable",
|
|
133
|
+
/** Cover exposes slat-tilt control. Gates the tilt slider UI. */
|
|
134
|
+
CoverTilt = "cover-tilt",
|
|
135
|
+
/** Valve exposes intermediate position control (0..100). Gates the
|
|
136
|
+
* position slider / drag surface UI. */
|
|
137
|
+
ValvePositionable = "valve-positionable",
|
|
138
|
+
/** Fan exposes a speed-percentage setter. Gates the speed slider UI. */
|
|
139
|
+
FanSpeed = "fan-speed",
|
|
140
|
+
/** Fan exposes a preset mode selector. */
|
|
141
|
+
FanPreset = "fan-preset",
|
|
142
|
+
/** Fan exposes blade direction (forward/reverse) — typical of
|
|
143
|
+
* ceiling fans. */
|
|
144
|
+
FanDirection = "fan-direction",
|
|
145
|
+
/** Fan exposes an oscillation toggle. */
|
|
146
|
+
FanOscillating = "fan-oscillating",
|
|
147
|
+
/** Lock requires a PIN code on lock/unlock. Gates the code-entry
|
|
148
|
+
* field on the UI lock-controls panel. */
|
|
149
|
+
LockPinRequired = "lock-pin-required",
|
|
150
|
+
/** Lock supports a latch-release ("open door") action distinct from
|
|
151
|
+
* unlock. Mirrors HA `LockEntityFeature.OPEN` (bit 1) in
|
|
152
|
+
* `supported_features`. Gates the Open Door button in the UI. */
|
|
153
|
+
LockOpen = "lock-open",
|
|
154
|
+
/** Media player exposes a seek-to-position surface. */
|
|
155
|
+
MediaPlayerSeek = "media-player-seek",
|
|
156
|
+
/** Media player exposes a volume-level setter. */
|
|
157
|
+
MediaPlayerVolume = "media-player-volume",
|
|
158
|
+
/** Media player exposes a mute toggle distinct from volume=0. */
|
|
159
|
+
MediaPlayerMute = "media-player-mute",
|
|
160
|
+
/** Media player exposes a shuffle toggle. */
|
|
161
|
+
MediaPlayerShuffle = "media-player-shuffle",
|
|
162
|
+
/** Media player exposes a repeat mode (off / all / one). */
|
|
163
|
+
MediaPlayerRepeat = "media-player-repeat",
|
|
164
|
+
/** Media player exposes a source / input selector. */
|
|
165
|
+
MediaPlayerSelectSource = "media-player-select-source",
|
|
166
|
+
/** Media player exposes a play-arbitrary-media surface (URL / id). */
|
|
167
|
+
MediaPlayerPlayMedia = "media-player-play-media",
|
|
168
|
+
/** Media player exposes next-track. */
|
|
169
|
+
MediaPlayerNext = "media-player-next",
|
|
170
|
+
/** Media player exposes previous-track. */
|
|
171
|
+
MediaPlayerPrevious = "media-player-previous",
|
|
172
|
+
/** Media player exposes stop distinct from pause. */
|
|
173
|
+
MediaPlayerStop = "media-player-stop",
|
|
174
|
+
/** Alarm panel requires a PIN code on arm/disarm. */
|
|
175
|
+
AlarmPinRequired = "alarm-pin-required",
|
|
176
|
+
/** Presence device carries GPS coordinates (lat/lng/accuracy) in
|
|
177
|
+
* addition to a textual location. */
|
|
178
|
+
PresenceGps = "presence-gps",
|
|
179
|
+
/** Notifier accepts an inline / URL image attachment. */
|
|
180
|
+
NotifierImage = "notifier-image",
|
|
181
|
+
/** Notifier accepts a priority hint (high/normal/low). */
|
|
182
|
+
NotifierPriority = "notifier-priority",
|
|
183
|
+
/** Notifier accepts a free-form `data` payload for platform-specific
|
|
184
|
+
* fields. */
|
|
185
|
+
NotifierData = "notifier-data",
|
|
186
|
+
/** Notifier supports interactive action buttons / callbacks. */
|
|
187
|
+
NotifierActions = "notifier-actions",
|
|
188
|
+
/** Notifier supports per-call recipient targeting (multi-user). */
|
|
189
|
+
NotifierRecipients = "notifier-recipients",
|
|
190
|
+
/** Script runner accepts a variables map on each run invocation. */
|
|
191
|
+
ScriptVariables = "script-variables",
|
|
192
|
+
/** Automation `trigger` accepts a skipCondition flag — fires the
|
|
193
|
+
* automation's actions while bypassing its condition block. */
|
|
194
|
+
AutomationSkipCondition = "automation-skip-condition"
|
|
40
195
|
}
|
|
41
196
|
export declare enum ChargingStatus {
|
|
42
197
|
ChargingDC = "charging-dc",
|
|
@@ -63,6 +218,62 @@ export declare enum DeviceRole {
|
|
|
63
218
|
Autotrack = "autotrack",
|
|
64
219
|
Nightvision = "nightvision",
|
|
65
220
|
PrivacyMask = "privacy-mask",
|
|
66
|
-
Doorbell = "doorbell"
|
|
221
|
+
Doorbell = "doorbell",
|
|
222
|
+
/** Virtual HA toggle (input_boolean.*) — distinguishable from a
|
|
223
|
+
* real Switch device for UI rendering / export adapters. */
|
|
224
|
+
BinaryHelper = "binary-helper",
|
|
225
|
+
/** Generic motion / occupancy / moving event source. Distinct from
|
|
226
|
+
* the camera accessory PirSensor role: that one is a camera child;
|
|
227
|
+
* this is a standalone HA / 3rd-party motion sensor. */
|
|
228
|
+
MotionSensor = "motion-sensor",
|
|
229
|
+
ContactSensor = "contact-sensor",
|
|
230
|
+
LeakSensor = "leak-sensor",
|
|
231
|
+
SmokeSensor = "smoke-sensor",
|
|
232
|
+
COSensor = "co-sensor",
|
|
233
|
+
GasSensor = "gas-sensor",
|
|
234
|
+
TamperSensor = "tamper-sensor",
|
|
235
|
+
VibrationSensor = "vibration-sensor",
|
|
236
|
+
ConnectivitySensor = "connectivity-sensor",
|
|
237
|
+
SoundSensor = "sound-sensor",
|
|
238
|
+
/** Fallback for `binary_sensor` without a known `device_class`. */
|
|
239
|
+
BinarySensor = "binary-sensor",
|
|
240
|
+
TemperatureSensor = "temperature-sensor",
|
|
241
|
+
HumiditySensor = "humidity-sensor",
|
|
242
|
+
AmbientLightSensor = "ambient-light-sensor",
|
|
243
|
+
PressureSensor = "pressure-sensor",
|
|
244
|
+
PowerSensor = "power-sensor",
|
|
245
|
+
EnergySensor = "energy-sensor",
|
|
246
|
+
VoltageSensor = "voltage-sensor",
|
|
247
|
+
CurrentSensor = "current-sensor",
|
|
248
|
+
AirQualitySensor = "air-quality-sensor",
|
|
249
|
+
/** Battery level (numeric % via `sensor` OR low-bool via
|
|
250
|
+
* `binary_sensor` — the cap distinguishes via the value type). */
|
|
251
|
+
BatterySensor = "battery-sensor",
|
|
252
|
+
/** Fallback for `sensor` numeric without a known `device_class`. */
|
|
253
|
+
NumericSensor = "numeric-sensor",
|
|
254
|
+
/** String / enum state (HA `sensor` with `state_class: enum` or
|
|
255
|
+
* `attributes.options`). */
|
|
256
|
+
EnumSensor = "enum-sensor",
|
|
257
|
+
/** Date / timestamp state (HA `sensor` with `device_class: timestamp`
|
|
258
|
+
* or `date`). The slice carries the raw ISO string verbatim (hosted on
|
|
259
|
+
* the `enum-sensor` cap); the UI renders it locale-formatted. */
|
|
260
|
+
DateTimeSensor = "datetime-sensor",
|
|
261
|
+
/** Last-resort fallback when nothing else matches. */
|
|
262
|
+
GenericSensor = "generic-sensor",
|
|
263
|
+
NumericControl = "numeric-control",
|
|
264
|
+
SelectControl = "select-control",
|
|
265
|
+
TextControl = "text-control",
|
|
266
|
+
DateTimeControl = "datetime-control",
|
|
267
|
+
/** Mobile push notifier (HA `notify.mobile_app_*`) — supports
|
|
268
|
+
* rich features (image, priority, channel routing). */
|
|
269
|
+
MobilePushNotifier = "mobile-push-notifier",
|
|
270
|
+
/** Chat / messaging service (HA `notify.telegram_*`,
|
|
271
|
+
* `notify.discord_*`, etc.). */
|
|
272
|
+
MessagingNotifier = "messaging-notifier",
|
|
273
|
+
/** Email-based delivery (HA `notify.smtp`, etc.). */
|
|
274
|
+
EmailNotifier = "email-notifier",
|
|
275
|
+
/** Fallback when the notifier service name doesn't match a known
|
|
276
|
+
* pattern. */
|
|
277
|
+
GenericNotifier = "generic-notifier"
|
|
67
278
|
}
|
|
68
279
|
//# sourceMappingURL=device-type.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"device-type.d.ts","sourceRoot":"","sources":["../../src/device/device-type.ts"],"names":[],"mappings":"AAAA,oBAAY,UAAU;IACpB,MAAM,WAAW;IACjB,GAAG,QAAQ;IACX,KAAK,UAAU;IACf,KAAK,UAAU;IACf,MAAM,WAAW;IACjB,MAAM,WAAW;IACjB,UAAU,eAAe;IACzB,MAAM,WAAW;IACjB,OAAO,YAAY;
|
|
1
|
+
{"version":3,"file":"device-type.d.ts","sourceRoot":"","sources":["../../src/device/device-type.ts"],"names":[],"mappings":"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"}
|
package/dist/device/device.d.ts
CHANGED
|
@@ -3,6 +3,8 @@ import type { DeviceType, DeviceFeature, DeviceRole } from './device-type.js';
|
|
|
3
3
|
import type { DeviceConfig } from './device-config.js';
|
|
4
4
|
import type { DeviceContext } from './device-context.js';
|
|
5
5
|
import type { ConfigUISchemaWithValues } from '../interfaces/config-ui.js';
|
|
6
|
+
import type { RawStateResult } from '../capabilities/device-ops.cap.js';
|
|
7
|
+
import type { IDeviceRuntimeState } from './device-runtime-state.js';
|
|
6
8
|
export interface IDevice {
|
|
7
9
|
/** Progressive, system-wide unique numeric id. Assigned by the hub's
|
|
8
10
|
* `device-manager` at `allocateDeviceId` time, injected through
|
|
@@ -55,6 +57,16 @@ export interface IDevice {
|
|
|
55
57
|
readonly features: readonly DeviceFeature[];
|
|
56
58
|
readonly config: DeviceConfig<z.ZodObject<z.core.$ZodLooseShape>>;
|
|
57
59
|
readonly ctx: DeviceContext;
|
|
60
|
+
/**
|
|
61
|
+
* Kernel-managed per-device runtime-state surface (cap-keyed slices:
|
|
62
|
+
* `device-status`, `feature-probe`, `battery`, …). Present on every
|
|
63
|
+
* `BaseDevice` subclass; optional here because a handful of direct
|
|
64
|
+
* `IDevice` implementors (legacy Onvif/Frigate camera classes) predate
|
|
65
|
+
* the runtime-state machinery and don't carry one. Consumers that read
|
|
66
|
+
* it (e.g. the device-manager's `probed`-flag derivation) tolerate
|
|
67
|
+
* `undefined` as "no slice".
|
|
68
|
+
*/
|
|
69
|
+
readonly runtimeState?: IDeviceRuntimeState;
|
|
58
70
|
removeDevice(): Promise<void>;
|
|
59
71
|
/**
|
|
60
72
|
* Set the device's online flag. Called by `BaseDeviceProvider` after
|
|
@@ -83,5 +95,18 @@ export interface IDevice {
|
|
|
83
95
|
* `config.setAll(patch)` so drivers opt in only when they need reshape.
|
|
84
96
|
*/
|
|
85
97
|
applySettingsPatch(patch: Record<string, unknown>): Promise<void>;
|
|
98
|
+
/**
|
|
99
|
+
* Invoke a device custom action registered via `registerDeviceAction`.
|
|
100
|
+
* Validates input against the action's spec, then runs its handler.
|
|
101
|
+
* Throws on an unknown action. The device equivalent of an addon
|
|
102
|
+
* customAction; dispatched cross-process via `device-ops.runAction`.
|
|
103
|
+
*/
|
|
104
|
+
runDeviceAction(action: string, input: unknown): Promise<unknown>;
|
|
105
|
+
/**
|
|
106
|
+
* Optional: return this device's RAW upstream state (cached provider
|
|
107
|
+
* values) as a display-safe `{ source, data }` blob, or `null`/absent
|
|
108
|
+
* when none. Surfaced via `device-ops.getRawState` in the State panel.
|
|
109
|
+
*/
|
|
110
|
+
getRawState?(): Promise<RawStateResult | null>;
|
|
86
111
|
}
|
|
87
112
|
//# sourceMappingURL=device.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"device.d.ts","sourceRoot":"","sources":["../../src/device/device.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAC5B,OAAO,KAAK,EAAE,UAAU,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAA;AAC7E,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AACtD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAA;AACxD,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAA;
|
|
1
|
+
{"version":3,"file":"device.d.ts","sourceRoot":"","sources":["../../src/device/device.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAC5B,OAAO,KAAK,EAAE,UAAU,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAA;AAC7E,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AACtD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAA;AACxD,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAA;AAC1E,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mCAAmC,CAAA;AACvE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAA;AAEpE,MAAM,WAAW,OAAO;IACtB;;;;;0EAKsE;IACtE,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAA;IACnB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;IACzB,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAA;IACzB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB;;;;;OAKG;IACH,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAA;IAChC;;;;;;;;;OASG;IACH,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAA;IAC1B;;;kEAG8D;IAC9D,QAAQ,CAAC,cAAc,EAAE,MAAM,GAAG,IAAI,CAAA;IACtC;;;;;OAKG;IACH,QAAQ,CAAC,IAAI,CAAC,EAAE,UAAU,CAAA;IAC1B;;;;;;OAMG;IACH,MAAM,EAAE,OAAO,CAAA;IACf,QAAQ,CAAC,QAAQ,EAAE,SAAS,aAAa,EAAE,CAAA;IAC3C,QAAQ,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,CAAA;IACjE,QAAQ,CAAC,GAAG,EAAE,aAAa,CAAA;IAC3B;;;;;;;;OAQG;IACH,QAAQ,CAAC,YAAY,CAAC,EAAE,mBAAmB,CAAA;IAE3C,YAAY,IAAI,OAAO,CAAC,IAAI,CAAC,CAAA;IAE7B;;;;;OAKG;IACH,UAAU,CAAC,MAAM,EAAE,OAAO,GAAG,IAAI,CAAA;IAEjC;;;;;;;;;;OAUG;IACH,mBAAmB,IAAI,wBAAwB,CAAA;IAE/C;;;;;;OAMG;IACH,kBAAkB,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IAEjE;;;;;OAKG;IACH,eAAe,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAA;IAEjE;;;;OAIG;IACH,WAAW,CAAC,IAAI,OAAO,CAAC,cAAc,GAAG,IAAI,CAAC,CAAA;CAC/C"}
|
package/dist/device/index.d.ts
CHANGED
|
@@ -11,10 +11,14 @@ export type { IDevice } from './device.js';
|
|
|
11
11
|
export { DEVICE_PROFILES, BATTERY_DEVICE_PROFILE, deviceMatchesProfile, resolveDeviceProfile, } from './device-profile.js';
|
|
12
12
|
export type { DeviceProfile, DeviceProfileMatch, DeviceProfileDefaults, PipelinePhaseMode, } from './device-profile.js';
|
|
13
13
|
export type { ICameraDevice, StreamSourceEntry } from './camera-device.js';
|
|
14
|
-
export type { DeviceManualCreation, DeviceDiscovery, DiscoveredDevice, SavedDevice, DeviceMeta, InitialDeviceMeta, CreateDeviceSpec } from './device-management.js';
|
|
14
|
+
export type { DeviceManualCreation, DeviceDiscovery, DiscoveredDevice, SavedDevice, DeviceMeta, InitialDeviceMeta, CreateDeviceSpec, ChildLayout, ChildLayoutEntry, DeviceLinkSource, DeviceLinkTarget, DeviceLinkTransform, DeviceLink, DeviceLinks } from './device-management.js';
|
|
15
15
|
export { zodEntriesToConfigUI } from './zod-to-config-ui.js';
|
|
16
16
|
export type { DeviceConfigEntry } from './zod-to-config-ui.js';
|
|
17
17
|
export { createRuntimeStateBridge } from './runtime-state-helpers.js';
|
|
18
18
|
export type { RuntimeStateBridge } from './runtime-state-helpers.js';
|
|
19
19
|
export type { IDeviceRuntimeState, Snapshot as RuntimeStateSnapshot } from './device-runtime-state.js';
|
|
20
|
+
export { getByPath, setByPath } from './path-util.js';
|
|
21
|
+
export { applyTransform } from './device-link-transform.js';
|
|
22
|
+
export { enumerateSchemaFields } from './schema-fields.js';
|
|
23
|
+
export type { WireableField } from './schema-fields.js';
|
|
20
24
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/device/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,aAAa,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAA;AACxF,OAAO,EACL,aAAa,EAAE,eAAe,EAAE,iBAAiB,EACjD,KAAK,kBAAkB,GACxB,MAAM,gBAAgB,CAAA;AACvB,YAAY,EAAE,gBAAgB,EAAE,WAAW,EAAE,eAAe,EAAE,eAAe,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,eAAe,CAAA;AAChI,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AACjD,YAAY,EAAE,aAAa,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,qBAAqB,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAA;AACrI,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAA;AAC7C,YAAY,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAA;AAC1D,OAAO,EAAE,kBAAkB,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAA;AAC/E,YAAY,EAAE,kBAAkB,EAAE,aAAa,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAA;AACpH,YAAY,EAAE,OAAO,EAAE,MAAM,aAAa,CAAA;AAC1C,OAAO,EACL,eAAe,EAAE,sBAAsB,EAAE,oBAAoB,EAAE,oBAAoB,GACpF,MAAM,qBAAqB,CAAA;AAC5B,YAAY,EACV,aAAa,EAAE,kBAAkB,EAAE,qBAAqB,EACxD,iBAAiB,GAClB,MAAM,qBAAqB,CAAA;AAC5B,YAAY,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAA;AAC1E,YAAY,EAAE,oBAAoB,EAAE,eAAe,EAAE,gBAAgB,EAAE,WAAW,EAAE,UAAU,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAA;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/device/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,aAAa,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAA;AACxF,OAAO,EACL,aAAa,EAAE,eAAe,EAAE,iBAAiB,EACjD,KAAK,kBAAkB,GACxB,MAAM,gBAAgB,CAAA;AACvB,YAAY,EAAE,gBAAgB,EAAE,WAAW,EAAE,eAAe,EAAE,eAAe,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,eAAe,CAAA;AAChI,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AACjD,YAAY,EAAE,aAAa,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,qBAAqB,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAA;AACrI,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAA;AAC7C,YAAY,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAA;AAC1D,OAAO,EAAE,kBAAkB,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAA;AAC/E,YAAY,EAAE,kBAAkB,EAAE,aAAa,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAA;AACpH,YAAY,EAAE,OAAO,EAAE,MAAM,aAAa,CAAA;AAC1C,OAAO,EACL,eAAe,EAAE,sBAAsB,EAAE,oBAAoB,EAAE,oBAAoB,GACpF,MAAM,qBAAqB,CAAA;AAC5B,YAAY,EACV,aAAa,EAAE,kBAAkB,EAAE,qBAAqB,EACxD,iBAAiB,GAClB,MAAM,qBAAqB,CAAA;AAC5B,YAAY,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAA;AAC1E,YAAY,EAAE,oBAAoB,EAAE,eAAe,EAAE,gBAAgB,EAAE,WAAW,EAAE,UAAU,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,WAAW,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAA;AACpR,OAAO,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAA;AAC5D,YAAY,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAA;AAC9D,OAAO,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAA;AACrE,YAAY,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAA;AACpE,YAAY,EAAE,mBAAmB,EAAE,QAAQ,IAAI,oBAAoB,EAAE,MAAM,2BAA2B,CAAA;AACtG,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAA;AACrD,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAA;AAC3D,OAAO,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAA;AAC1D,YAAY,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAA"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/** Read a dot-path (`a.b.c`) out of an object. Returns `undefined` for any
|
|
2
|
+
* missing/non-object segment — never throws. */
|
|
3
|
+
export declare function getByPath(obj: unknown, path: string): unknown;
|
|
4
|
+
/** Immutably set a dot-path on an object, returning a new object. Intermediate
|
|
5
|
+
* objects are created when a segment is missing or null. Arrays are NOT
|
|
6
|
+
* traversed (P1 has no array-index syntax — see `itemKey` grouping in P2): if a
|
|
7
|
+
* segment resolves to an array it is replaced by a fresh object, so the array
|
|
8
|
+
* is discarded — the only caller (`mergeLinkedStatus`) re-validates the result
|
|
9
|
+
* with the target cap's Zod schema and rejects a malformed overlay.
|
|
10
|
+
* The return type `T` preserves the OUTER shape; the rewritten key is not
|
|
11
|
+
* narrowed, so callers should re-validate against the status schema. */
|
|
12
|
+
export declare function setByPath<T extends Record<string, unknown>>(obj: T, path: string, value: unknown): T;
|
|
13
|
+
//# sourceMappingURL=path-util.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"path-util.d.ts","sourceRoot":"","sources":["../../src/device/path-util.ts"],"names":[],"mappings":"AAKA;iDACiD;AACjD,wBAAgB,SAAS,CAAC,GAAG,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAQ7D;AAED;;;;;;;yEAOyE;AACzE,wBAAgB,SAAS,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACzD,GAAG,EAAE,CAAC,EACN,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,OAAO,GACb,CAAC,CAWH"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
export interface WireableField {
|
|
3
|
+
readonly path: string;
|
|
4
|
+
readonly kind: 'string' | 'number' | 'boolean' | 'enum';
|
|
5
|
+
readonly enumValues?: readonly string[];
|
|
6
|
+
}
|
|
7
|
+
/** Walk a cap status schema into flat wireable leaf fields (dotted paths).
|
|
8
|
+
* Recurses into nested ZodObject (unwrapping nullable/optional/default first),
|
|
9
|
+
* so fields with null live values are still offered. Arrays / unknown shapes
|
|
10
|
+
* are skipped — never throws. */
|
|
11
|
+
export declare function enumerateSchemaFields(schema: z.ZodType, prefix?: string): readonly WireableField[];
|
|
12
|
+
//# sourceMappingURL=schema-fields.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"schema-fields.d.ts","sourceRoot":"","sources":["../../src/device/schema-fields.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAEvB,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,IAAI,EAAE,QAAQ,GAAG,QAAQ,GAAG,SAAS,GAAG,MAAM,CAAA;IACvD,QAAQ,CAAC,UAAU,CAAC,EAAE,SAAS,MAAM,EAAE,CAAA;CACxC;AAqBD;;;kCAGkC;AAClC,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,CAAC,CAAC,OAAO,EAAE,MAAM,SAAK,GAAG,SAAS,aAAa,EAAE,CAa9F"}
|
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
/**
|
|
3
|
+
* Identity envelope for a device's upstream-system metadata.
|
|
4
|
+
*
|
|
5
|
+
* Two jobs:
|
|
6
|
+
*
|
|
7
|
+
* 1. **Dispatch key.** `id` is the natural identifier the SOURCE system
|
|
8
|
+
* uses to address this device (HA `entity_id`, Reolink MAC, ONVIF
|
|
9
|
+
* WS-Discovery endpoint UUID, …). Provider code keeps a
|
|
10
|
+
* `Map<sourceInfo.id, IDevice>` to route inbound push events in O(1)
|
|
11
|
+
* without round-tripping through `stableId` / `id` mappings.
|
|
12
|
+
*
|
|
13
|
+
* 2. **Stability bridge.** `uniqueId` is the *immutable* upstream id when
|
|
14
|
+
* one exists (HA `entity.unique_id`, Reolink MAC again — same as `id`
|
|
15
|
+
* for vendors where MAC is the natural key). For systems where the
|
|
16
|
+
* live dispatch key can be renamed (HA `entity_id` can be edited),
|
|
17
|
+
* providers detect renames by matching `uniqueId` and patch `id`
|
|
18
|
+
* in-place so dispatch keeps working.
|
|
19
|
+
*
|
|
20
|
+
* **Rendering metadata is NOT stored here.** Display fields (`unit`,
|
|
21
|
+
* `precision`) live in the cap STATUS SLICE so they flow live with every
|
|
22
|
+
* state push and are the single source of truth. The `device_class` tag is
|
|
23
|
+
* an HA-specific input that is consumed at the discovery boundary
|
|
24
|
+
* (`ha-domain-mapping`) to derive the CamStack `DeviceRole`; it is never
|
|
25
|
+
* stored after that point.
|
|
26
|
+
*
|
|
27
|
+
* The `raw` escape hatch carries provider-specific attributes that don't
|
|
28
|
+
* fit the structured slots (HA `attributes` whitelist, Reolink `deviceCache`
|
|
29
|
+
* details, …). Providers control what lands here.
|
|
30
|
+
*/
|
|
31
|
+
export declare const SourceInfoSchema: z.ZodObject<{
|
|
32
|
+
id: z.ZodString;
|
|
33
|
+
system: z.ZodString;
|
|
34
|
+
uniqueId: z.ZodOptional<z.ZodString>;
|
|
35
|
+
raw: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
36
|
+
}, z.core.$strip>;
|
|
37
|
+
export type SourceInfo = z.infer<typeof SourceInfoSchema>;
|
|
38
|
+
/**
|
|
39
|
+
* Build the synthetic SourceInfo every existing provider falls back to
|
|
40
|
+
* when no upstream value has been persisted. Keeps non-migrated providers
|
|
41
|
+
* (Reolink / Hikvision / ONVIF / Frigate / RTSP) functional without code
|
|
42
|
+
* changes — `id` reuses the CamStack stableId, `system` reuses the addon
|
|
43
|
+
* id. Real upstream identity replaces this once a provider migrates and
|
|
44
|
+
* calls `updateSourceInfo()` with concrete values.
|
|
45
|
+
*/
|
|
46
|
+
export declare function synthesizeSourceInfo(input: {
|
|
47
|
+
stableId: string;
|
|
48
|
+
addonId: string;
|
|
49
|
+
}): SourceInfo;
|
|
50
|
+
/**
|
|
51
|
+
* Shallow-merge a partial patch over a prior SourceInfo. `undefined`
|
|
52
|
+
* patch values are ignored (no field clobber); to clear a field
|
|
53
|
+
* explicitly, providers omit it from the patch and rebuild from scratch
|
|
54
|
+
* via `updateSourceInfo({})` cycles — uncommon enough that we don't
|
|
55
|
+
* bother with a `null`-means-delete sentinel.
|
|
56
|
+
*
|
|
57
|
+
* The `raw` field is also shallow-merged: passing `raw: { foo: 1 }`
|
|
58
|
+
* merges over existing `raw` keys instead of replacing the whole bag.
|
|
59
|
+
*/
|
|
60
|
+
export declare function mergeSourceInfo(prev: SourceInfo, patch: Partial<SourceInfo>): SourceInfo;
|
|
61
|
+
/**
|
|
62
|
+
* Coerce common unit-of-measurement string variants to a canonical form
|
|
63
|
+
* so the UI's display templates can rely on stable strings. Pure
|
|
64
|
+
* passthrough for unknown units — kept conservative on purpose, the goal
|
|
65
|
+
* is to normalise the long tail of HA `unit_of_measurement` values that
|
|
66
|
+
* have multiple historical spellings (`'°C'` vs `'C'` vs `'celsius'`).
|
|
67
|
+
*
|
|
68
|
+
* Extend the map as we encounter real-world data. Returning the raw
|
|
69
|
+
* input for unknown values is intentional: providers should never
|
|
70
|
+
* lose information silently here.
|
|
71
|
+
*/
|
|
72
|
+
export declare function normalizeUnit(raw: string | null | undefined): string | undefined;
|
|
73
|
+
/**
|
|
74
|
+
* Key under which `SourceInfo` lives inside `DeviceMeta.metadata`. The
|
|
75
|
+
* blob is a free-form `Record<string, unknown>` shared with hardware-
|
|
76
|
+
* identity fields (`manufacturer`, `model`, `firmware`, …); SourceInfo
|
|
77
|
+
* lives under a single nested key to keep it composable with those.
|
|
78
|
+
*/
|
|
79
|
+
export declare const SOURCE_INFO_METADATA_KEY = "sourceInfo";
|
|
80
|
+
/**
|
|
81
|
+
* Extract a SourceInfo from a `DeviceMeta.metadata` blob, validating
|
|
82
|
+
* with Zod. Returns `null` when the blob is missing or the nested
|
|
83
|
+
* `sourceInfo` key fails validation — callers fall back to the
|
|
84
|
+
* synthetic default in that case (see `synthesizeSourceInfo`).
|
|
85
|
+
*/
|
|
86
|
+
export declare function extractSourceInfoFromMetadata(metadata: Record<string, unknown> | null | undefined): SourceInfo | null;
|
|
87
|
+
//# sourceMappingURL=source-info.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"source-info.d.ts","sourceRoot":"","sources":["../../src/device/source-info.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAEvB;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,eAAO,MAAM,gBAAgB;;;;;iBAiB3B,CAAA;AAEF,MAAM,MAAM,UAAU,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gBAAgB,CAAC,CAAA;AAEzD;;;;;;;GAOG;AACH,wBAAgB,oBAAoB,CAAC,KAAK,EAAE;IAC1C,QAAQ,EAAE,MAAM,CAAA;IAChB,OAAO,EAAE,MAAM,CAAA;CAChB,GAAG,UAAU,CAKb;AAED;;;;;;;;;GASG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,OAAO,CAAC,UAAU,CAAC,GAAG,UAAU,CAWxF;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,aAAa,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAAG,MAAM,GAAG,SAAS,CAsChF;AAED;;;;;GAKG;AACH,eAAO,MAAM,wBAAwB,eAAe,CAAA;AAEpD;;;;;GAKG;AACH,wBAAgB,6BAA6B,CAC3C,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,GAAG,SAAS,GACnD,UAAU,GAAG,IAAI,CAOnB"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* SystemMirror — system-wide reactive view of every device
|
|
3
|
-
*
|
|
2
|
+
* SystemMirror — system-wide reactive view of every device. One
|
|
3
|
+
* warm-boot fetches the
|
|
4
4
|
* full bindings + runtime-state snapshot + device metadata; live
|
|
5
5
|
* `device.state-changed`, `capability.binding-changed`,
|
|
6
6
|
* `device.registered`, `device.unregistered`, and `device.updated`
|
|
@@ -47,6 +47,10 @@ import { DeviceType } from './device-type.js';
|
|
|
47
47
|
import { type SliceHandleApi } from './device-state-handle.js';
|
|
48
48
|
/**
|
|
49
49
|
* Minimal subset of `AddonApi` the SystemMirror needs.
|
|
50
|
+
*
|
|
51
|
+
* The SystemMirror is always constructed with the real tRPC client (see
|
|
52
|
+
* the SDK's `System`), so `getDeviceById` widens it to the full `AddonApi`
|
|
53
|
+
* at a documented boundary for the structural-dispatch `createDeviceProxy`.
|
|
50
54
|
*/
|
|
51
55
|
export interface SystemMirrorApi extends SliceHandleApi {
|
|
52
56
|
readonly deviceManager: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"system-mirror.d.ts","sourceRoot":"","sources":["../../src/device/system-mirror.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAyCG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAA;AACxD,OAAO,EAAqB,KAAK,WAAW,EAAE,MAAM,8BAA8B,CAAA;AAElF,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,uCAAuC,CAAA;AACvE,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAA;AAC7C,OAAO,EAAsB,KAAK,cAAc,EAA0B,MAAM,0BAA0B,CAAA;AAQ1G
|
|
1
|
+
{"version":3,"file":"system-mirror.d.ts","sourceRoot":"","sources":["../../src/device/system-mirror.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,126 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
/**
|
|
3
|
+
* Shared video / audio encode profile schemas used by every consumer
|
|
4
|
+
* that asks the stream broker to spawn a derived stream
|
|
5
|
+
* (WebRTC, HAP, Alexa, custom addons).
|
|
6
|
+
*
|
|
7
|
+
* The schema is intentionally simple: typed common fields + two
|
|
8
|
+
* free-text arrays (inputArgs / outputArgs). The composite UI widget
|
|
9
|
+
* `stream-broker/ffmpeg-params` is the smart layer — it routes
|
|
10
|
+
* codec-specific overrides into the right scope and handles
|
|
11
|
+
* dependency gating, duplicate detection, and source-aware
|
|
12
|
+
* suggestions before persistence.
|
|
13
|
+
*/
|
|
14
|
+
export declare const VideoEncodeSchema: z.ZodObject<{
|
|
15
|
+
codec: z.ZodEnum<{
|
|
16
|
+
h264: "h264";
|
|
17
|
+
h265: "h265";
|
|
18
|
+
copy: "copy";
|
|
19
|
+
}>;
|
|
20
|
+
profile: z.ZodOptional<z.ZodEnum<{
|
|
21
|
+
baseline: "baseline";
|
|
22
|
+
main: "main";
|
|
23
|
+
high: "high";
|
|
24
|
+
}>>;
|
|
25
|
+
width: z.ZodOptional<z.ZodNumber>;
|
|
26
|
+
height: z.ZodOptional<z.ZodNumber>;
|
|
27
|
+
fps: z.ZodOptional<z.ZodNumber>;
|
|
28
|
+
bitrateKbps: z.ZodOptional<z.ZodNumber>;
|
|
29
|
+
gopFrames: z.ZodOptional<z.ZodNumber>;
|
|
30
|
+
bf: z.ZodOptional<z.ZodNumber>;
|
|
31
|
+
preset: z.ZodOptional<z.ZodEnum<{
|
|
32
|
+
ultrafast: "ultrafast";
|
|
33
|
+
superfast: "superfast";
|
|
34
|
+
veryfast: "veryfast";
|
|
35
|
+
faster: "faster";
|
|
36
|
+
fast: "fast";
|
|
37
|
+
medium: "medium";
|
|
38
|
+
}>>;
|
|
39
|
+
tune: z.ZodOptional<z.ZodEnum<{
|
|
40
|
+
zerolatency: "zerolatency";
|
|
41
|
+
film: "film";
|
|
42
|
+
animation: "animation";
|
|
43
|
+
}>>;
|
|
44
|
+
}, z.core.$strip>;
|
|
45
|
+
export type VideoEncode = z.infer<typeof VideoEncodeSchema>;
|
|
46
|
+
export declare const AudioEncodeSchema: z.ZodUnion<readonly [z.ZodLiteral<"passthrough">, z.ZodObject<{
|
|
47
|
+
codec: z.ZodEnum<{
|
|
48
|
+
copy: "copy";
|
|
49
|
+
opus: "opus";
|
|
50
|
+
aac: "aac";
|
|
51
|
+
pcmu: "pcmu";
|
|
52
|
+
pcma: "pcma";
|
|
53
|
+
}>;
|
|
54
|
+
bitrateKbps: z.ZodOptional<z.ZodNumber>;
|
|
55
|
+
sampleRateHz: z.ZodOptional<z.ZodNumber>;
|
|
56
|
+
channels: z.ZodOptional<z.ZodUnion<readonly [z.ZodLiteral<1>, z.ZodLiteral<2>]>>;
|
|
57
|
+
}, z.core.$strip>]>;
|
|
58
|
+
export type AudioEncode = z.infer<typeof AudioEncodeSchema>;
|
|
59
|
+
export declare const EncodeProfileSchema: z.ZodObject<{
|
|
60
|
+
video: z.ZodObject<{
|
|
61
|
+
codec: z.ZodEnum<{
|
|
62
|
+
h264: "h264";
|
|
63
|
+
h265: "h265";
|
|
64
|
+
copy: "copy";
|
|
65
|
+
}>;
|
|
66
|
+
profile: z.ZodOptional<z.ZodEnum<{
|
|
67
|
+
baseline: "baseline";
|
|
68
|
+
main: "main";
|
|
69
|
+
high: "high";
|
|
70
|
+
}>>;
|
|
71
|
+
width: z.ZodOptional<z.ZodNumber>;
|
|
72
|
+
height: z.ZodOptional<z.ZodNumber>;
|
|
73
|
+
fps: z.ZodOptional<z.ZodNumber>;
|
|
74
|
+
bitrateKbps: z.ZodOptional<z.ZodNumber>;
|
|
75
|
+
gopFrames: z.ZodOptional<z.ZodNumber>;
|
|
76
|
+
bf: z.ZodOptional<z.ZodNumber>;
|
|
77
|
+
preset: z.ZodOptional<z.ZodEnum<{
|
|
78
|
+
ultrafast: "ultrafast";
|
|
79
|
+
superfast: "superfast";
|
|
80
|
+
veryfast: "veryfast";
|
|
81
|
+
faster: "faster";
|
|
82
|
+
fast: "fast";
|
|
83
|
+
medium: "medium";
|
|
84
|
+
}>>;
|
|
85
|
+
tune: z.ZodOptional<z.ZodEnum<{
|
|
86
|
+
zerolatency: "zerolatency";
|
|
87
|
+
film: "film";
|
|
88
|
+
animation: "animation";
|
|
89
|
+
}>>;
|
|
90
|
+
}, z.core.$strip>;
|
|
91
|
+
audio: z.ZodUnion<readonly [z.ZodLiteral<"passthrough">, z.ZodObject<{
|
|
92
|
+
codec: z.ZodEnum<{
|
|
93
|
+
copy: "copy";
|
|
94
|
+
opus: "opus";
|
|
95
|
+
aac: "aac";
|
|
96
|
+
pcmu: "pcmu";
|
|
97
|
+
pcma: "pcma";
|
|
98
|
+
}>;
|
|
99
|
+
bitrateKbps: z.ZodOptional<z.ZodNumber>;
|
|
100
|
+
sampleRateHz: z.ZodOptional<z.ZodNumber>;
|
|
101
|
+
channels: z.ZodOptional<z.ZodUnion<readonly [z.ZodLiteral<1>, z.ZodLiteral<2>]>>;
|
|
102
|
+
}, z.core.$strip>]>;
|
|
103
|
+
inputArgs: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
104
|
+
outputArgs: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
105
|
+
}, z.core.$strip>;
|
|
106
|
+
export type EncodeProfile = z.infer<typeof EncodeProfileSchema>;
|
|
107
|
+
/**
|
|
108
|
+
* Reshape a publisher-advertised stream shape (a `CameraStream`, a broker
|
|
109
|
+
* `ProfileSlot`, or anything else exposing `codec` + `resolution` + `fps`)
|
|
110
|
+
* into an `EncodeProfile` suitable for the read-only "Source (probed)"
|
|
111
|
+
* card of the `stream-broker/ffmpeg-params` widget.
|
|
112
|
+
*
|
|
113
|
+
* Returns `undefined` when nothing meaningful was advertised — the widget
|
|
114
|
+
* then hides the card rather than showing a codec chip with no shape.
|
|
115
|
+
* Audio is reported as `'passthrough'` because publishers don't carry
|
|
116
|
+
* audio shape at this level; the widget renders that as a single chip.
|
|
117
|
+
*/
|
|
118
|
+
export declare function encodeProfileFromStreamShape(stream: {
|
|
119
|
+
readonly codec?: string;
|
|
120
|
+
readonly resolution?: {
|
|
121
|
+
readonly width: number;
|
|
122
|
+
readonly height: number;
|
|
123
|
+
};
|
|
124
|
+
readonly fps?: number;
|
|
125
|
+
}): EncodeProfile | undefined;
|
|
126
|
+
//# sourceMappingURL=encode-profile.d.ts.map
|