@camstack/types 0.1.39 → 0.1.41

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (323) hide show
  1. package/dist/addon/base-addon.d.ts +14 -2
  2. package/dist/addon/base-addon.d.ts.map +1 -1
  3. package/dist/addon/durable-state.d.ts +33 -0
  4. package/dist/addon/durable-state.d.ts.map +1 -0
  5. package/dist/capabilities/accessories.cap.d.ts +56 -8
  6. package/dist/capabilities/accessories.cap.d.ts.map +1 -1
  7. package/dist/capabilities/addon-settings.cap.d.ts +1 -0
  8. package/dist/capabilities/addon-settings.cap.d.ts.map +1 -1
  9. package/dist/capabilities/addons.cap.d.ts +187 -1
  10. package/dist/capabilities/addons.cap.d.ts.map +1 -1
  11. package/dist/capabilities/advanced-notifier.cap.d.ts +4 -0
  12. package/dist/capabilities/advanced-notifier.cap.d.ts.map +1 -1
  13. package/dist/capabilities/air-quality-sensor.cap.d.ts +56 -0
  14. package/dist/capabilities/air-quality-sensor.cap.d.ts.map +1 -0
  15. package/dist/capabilities/alarm-panel.cap.d.ts +154 -0
  16. package/dist/capabilities/alarm-panel.cap.d.ts.map +1 -0
  17. package/dist/capabilities/alerts.cap.d.ts +5 -5
  18. package/dist/capabilities/ambient-light-sensor.cap.d.ts +39 -0
  19. package/dist/capabilities/ambient-light-sensor.cap.d.ts.map +1 -0
  20. package/dist/capabilities/audio-analyzer.cap.d.ts +2 -2
  21. package/dist/capabilities/automation-control.cap.d.ts +65 -0
  22. package/dist/capabilities/automation-control.cap.d.ts.map +1 -0
  23. package/dist/capabilities/battery.cap.d.ts +30 -1
  24. package/dist/capabilities/battery.cap.d.ts.map +1 -1
  25. package/dist/capabilities/binary.cap.d.ts +40 -0
  26. package/dist/capabilities/binary.cap.d.ts.map +1 -0
  27. package/dist/capabilities/brightness.cap.d.ts +3 -2
  28. package/dist/capabilities/brightness.cap.d.ts.map +1 -1
  29. package/dist/capabilities/broker.cap.d.ts +291 -0
  30. package/dist/capabilities/broker.cap.d.ts.map +1 -0
  31. package/dist/capabilities/button.cap.d.ts +27 -0
  32. package/dist/capabilities/button.cap.d.ts.map +1 -0
  33. package/dist/capabilities/camera-credentials.cap.d.ts +1 -0
  34. package/dist/capabilities/camera-credentials.cap.d.ts.map +1 -1
  35. package/dist/capabilities/camera-pipeline-config.cap.d.ts +43 -0
  36. package/dist/capabilities/camera-pipeline-config.cap.d.ts.map +1 -0
  37. package/dist/capabilities/camera-streams.cap.d.ts +147 -10
  38. package/dist/capabilities/camera-streams.cap.d.ts.map +1 -1
  39. package/dist/capabilities/capability-definition.d.ts +15 -0
  40. package/dist/capabilities/capability-definition.d.ts.map +1 -1
  41. package/dist/capabilities/carbon-monoxide.cap.d.ts +33 -0
  42. package/dist/capabilities/carbon-monoxide.cap.d.ts.map +1 -0
  43. package/dist/capabilities/climate-control.cap.d.ts +183 -0
  44. package/dist/capabilities/climate-control.cap.d.ts.map +1 -0
  45. package/dist/capabilities/color.cap.d.ts +186 -0
  46. package/dist/capabilities/color.cap.d.ts.map +1 -0
  47. package/dist/capabilities/connectivity.cap.d.ts +37 -0
  48. package/dist/capabilities/connectivity.cap.d.ts.map +1 -0
  49. package/dist/capabilities/consumables.cap.d.ts +105 -0
  50. package/dist/capabilities/consumables.cap.d.ts.map +1 -0
  51. package/dist/capabilities/contact.cap.d.ts +41 -0
  52. package/dist/capabilities/contact.cap.d.ts.map +1 -0
  53. package/dist/capabilities/control.cap.d.ts +167 -0
  54. package/dist/capabilities/control.cap.d.ts.map +1 -0
  55. package/dist/capabilities/cover.cap.d.ts +104 -0
  56. package/dist/capabilities/cover.cap.d.ts.map +1 -0
  57. package/dist/capabilities/custom-actions.d.ts +6 -0
  58. package/dist/capabilities/custom-actions.d.ts.map +1 -1
  59. package/dist/capabilities/decoder.cap.d.ts +1 -1
  60. package/dist/capabilities/device-adoption.cap.d.ts +203 -0
  61. package/dist/capabilities/device-adoption.cap.d.ts.map +1 -0
  62. package/dist/capabilities/device-discovery.cap.d.ts +44 -143
  63. package/dist/capabilities/device-discovery.cap.d.ts.map +1 -1
  64. package/dist/capabilities/device-manager.cap.d.ts +469 -0
  65. package/dist/capabilities/device-manager.cap.d.ts.map +1 -1
  66. package/dist/capabilities/device-ops.cap.d.ts +30 -0
  67. package/dist/capabilities/device-ops.cap.d.ts.map +1 -1
  68. package/dist/capabilities/device-provider.cap.d.ts +36 -0
  69. package/dist/capabilities/device-provider.cap.d.ts.map +1 -1
  70. package/dist/capabilities/device-status.cap.d.ts +1 -0
  71. package/dist/capabilities/device-status.cap.d.ts.map +1 -1
  72. package/dist/capabilities/doorbell.cap.d.ts +1 -0
  73. package/dist/capabilities/doorbell.cap.d.ts.map +1 -1
  74. package/dist/capabilities/enum-sensor.cap.d.ts +60 -0
  75. package/dist/capabilities/enum-sensor.cap.d.ts.map +1 -0
  76. package/dist/capabilities/event-emitter.cap.d.ts +79 -0
  77. package/dist/capabilities/event-emitter.cap.d.ts.map +1 -0
  78. package/dist/capabilities/fan-control.cap.d.ts +100 -0
  79. package/dist/capabilities/fan-control.cap.d.ts.map +1 -0
  80. package/dist/capabilities/feature-probe.cap.d.ts +1 -0
  81. package/dist/capabilities/feature-probe.cap.d.ts.map +1 -1
  82. package/dist/capabilities/flood.cap.d.ts +37 -0
  83. package/dist/capabilities/flood.cap.d.ts.map +1 -0
  84. package/dist/capabilities/gas.cap.d.ts +34 -0
  85. package/dist/capabilities/gas.cap.d.ts.map +1 -0
  86. package/dist/capabilities/humidifier.cap.d.ts +82 -0
  87. package/dist/capabilities/humidifier.cap.d.ts.map +1 -0
  88. package/dist/capabilities/humidity-sensor.cap.d.ts +43 -0
  89. package/dist/capabilities/humidity-sensor.cap.d.ts.map +1 -0
  90. package/dist/capabilities/image.cap.d.ts +44 -0
  91. package/dist/capabilities/image.cap.d.ts.map +1 -0
  92. package/dist/capabilities/index.d.ts +103 -15
  93. package/dist/capabilities/index.d.ts.map +1 -1
  94. package/dist/capabilities/integrations.cap.d.ts +12 -0
  95. package/dist/capabilities/integrations.cap.d.ts.map +1 -1
  96. package/dist/capabilities/intercom.cap.d.ts +49 -9
  97. package/dist/capabilities/intercom.cap.d.ts.map +1 -1
  98. package/dist/capabilities/lawn-mower-control.cap.d.ts +83 -0
  99. package/dist/capabilities/lawn-mower-control.cap.d.ts.map +1 -0
  100. package/dist/capabilities/local-network.cap.d.ts +1 -1
  101. package/dist/capabilities/lock-control.cap.d.ts +92 -0
  102. package/dist/capabilities/lock-control.cap.d.ts.map +1 -0
  103. package/dist/capabilities/mask-shape.d.ts +99 -0
  104. package/dist/capabilities/mask-shape.d.ts.map +1 -0
  105. package/dist/capabilities/media-player.cap.d.ts +201 -0
  106. package/dist/capabilities/media-player.cap.d.ts.map +1 -0
  107. package/dist/capabilities/mesh-network.cap.d.ts +3 -3
  108. package/dist/capabilities/motion-trigger.cap.d.ts +1 -0
  109. package/dist/capabilities/motion-trigger.cap.d.ts.map +1 -1
  110. package/dist/capabilities/motion-zones.cap.d.ts +95 -13
  111. package/dist/capabilities/motion-zones.cap.d.ts.map +1 -1
  112. package/dist/capabilities/mqtt-broker.cap.d.ts +3 -3
  113. package/dist/capabilities/native-object-detection.cap.d.ts +74 -3
  114. package/dist/capabilities/native-object-detection.cap.d.ts.map +1 -1
  115. package/dist/capabilities/network-access.cap.d.ts +7 -7
  116. package/dist/capabilities/network-quality.cap.d.ts +5 -0
  117. package/dist/capabilities/network-quality.cap.d.ts.map +1 -1
  118. package/dist/capabilities/notifier.cap.d.ts +173 -0
  119. package/dist/capabilities/notifier.cap.d.ts.map +1 -0
  120. package/dist/capabilities/numeric-sensor.cap.d.ts +52 -0
  121. package/dist/capabilities/numeric-sensor.cap.d.ts.map +1 -0
  122. package/dist/capabilities/oauth-integration.cap.d.ts +4 -2
  123. package/dist/capabilities/oauth-integration.cap.d.ts.map +1 -1
  124. package/dist/capabilities/osd.cap.d.ts +1 -0
  125. package/dist/capabilities/osd.cap.d.ts.map +1 -1
  126. package/dist/capabilities/pipeline-analytics.cap.d.ts +69 -22
  127. package/dist/capabilities/pipeline-analytics.cap.d.ts.map +1 -1
  128. package/dist/capabilities/pipeline-executor.cap.d.ts +2 -2
  129. package/dist/capabilities/pipeline-orchestrator.cap.d.ts +1 -1
  130. package/dist/capabilities/pipeline-runner.cap.d.ts +4 -2
  131. package/dist/capabilities/pipeline-runner.cap.d.ts.map +1 -1
  132. package/dist/capabilities/platform-probe.cap.d.ts +25 -0
  133. package/dist/capabilities/platform-probe.cap.d.ts.map +1 -1
  134. package/dist/capabilities/power-meter.cap.d.ts +65 -0
  135. package/dist/capabilities/power-meter.cap.d.ts.map +1 -0
  136. package/dist/capabilities/presence.cap.d.ts +79 -0
  137. package/dist/capabilities/presence.cap.d.ts.map +1 -0
  138. package/dist/capabilities/pressure-sensor.cap.d.ts +43 -0
  139. package/dist/capabilities/pressure-sensor.cap.d.ts.map +1 -0
  140. package/dist/capabilities/privacy-mask.cap.d.ts +207 -0
  141. package/dist/capabilities/privacy-mask.cap.d.ts.map +1 -0
  142. package/dist/capabilities/ptz-autotrack.cap.d.ts +1 -0
  143. package/dist/capabilities/ptz-autotrack.cap.d.ts.map +1 -1
  144. package/dist/capabilities/ptz.cap.d.ts +1 -0
  145. package/dist/capabilities/ptz.cap.d.ts.map +1 -1
  146. package/dist/capabilities/reboot.cap.d.ts +1 -0
  147. package/dist/capabilities/reboot.cap.d.ts.map +1 -1
  148. package/dist/capabilities/recording.cap.d.ts +238 -32
  149. package/dist/capabilities/recording.cap.d.ts.map +1 -1
  150. package/dist/capabilities/restreamer.cap.d.ts +2 -2
  151. package/dist/capabilities/schemas/detection-shared.d.ts +14 -1
  152. package/dist/capabilities/schemas/detection-shared.d.ts.map +1 -1
  153. package/dist/capabilities/schemas/orchestrator-metrics.d.ts +2 -2
  154. package/dist/capabilities/schemas/streaming-shared.d.ts +64 -1
  155. package/dist/capabilities/schemas/streaming-shared.d.ts.map +1 -1
  156. package/dist/capabilities/script-runner.cap.d.ts +62 -0
  157. package/dist/capabilities/script-runner.cap.d.ts.map +1 -0
  158. package/dist/capabilities/settings-store.cap.d.ts +25 -0
  159. package/dist/capabilities/settings-store.cap.d.ts.map +1 -1
  160. package/dist/capabilities/smoke.cap.d.ts +38 -0
  161. package/dist/capabilities/smoke.cap.d.ts.map +1 -0
  162. package/dist/capabilities/snapshot-provider.cap.d.ts +1 -1
  163. package/dist/capabilities/snapshot.cap.d.ts +1 -0
  164. package/dist/capabilities/snapshot.cap.d.ts.map +1 -1
  165. package/dist/capabilities/sso-bridge.cap.d.ts +3 -3
  166. package/dist/capabilities/storage-evictable.cap.d.ts +54 -0
  167. package/dist/capabilities/storage-evictable.cap.d.ts.map +1 -0
  168. package/dist/capabilities/storage-provider.cap.d.ts +31 -186
  169. package/dist/capabilities/storage-provider.cap.d.ts.map +1 -1
  170. package/dist/capabilities/storage.cap.d.ts +35 -226
  171. package/dist/capabilities/storage.cap.d.ts.map +1 -1
  172. package/dist/capabilities/stream-broker.cap.d.ts +309 -25
  173. package/dist/capabilities/stream-broker.cap.d.ts.map +1 -1
  174. package/dist/capabilities/stream-catalog.cap.d.ts +85 -0
  175. package/dist/capabilities/stream-catalog.cap.d.ts.map +1 -0
  176. package/dist/capabilities/stream-params.cap.d.ts +27 -26
  177. package/dist/capabilities/stream-params.cap.d.ts.map +1 -1
  178. package/dist/capabilities/switch.cap.d.ts +1 -0
  179. package/dist/capabilities/switch.cap.d.ts.map +1 -1
  180. package/dist/capabilities/tamper.cap.d.ts +33 -0
  181. package/dist/capabilities/tamper.cap.d.ts.map +1 -0
  182. package/dist/capabilities/temperature-sensor.cap.d.ts +51 -0
  183. package/dist/capabilities/temperature-sensor.cap.d.ts.map +1 -0
  184. package/dist/capabilities/update.cap.d.ts +49 -0
  185. package/dist/capabilities/update.cap.d.ts.map +1 -0
  186. package/dist/capabilities/user-management.cap.d.ts +20 -20
  187. package/dist/capabilities/vacuum-control.cap.d.ts +229 -0
  188. package/dist/capabilities/vacuum-control.cap.d.ts.map +1 -0
  189. package/dist/capabilities/valve.cap.d.ts +93 -0
  190. package/dist/capabilities/valve.cap.d.ts.map +1 -0
  191. package/dist/capabilities/vibration.cap.d.ts +33 -0
  192. package/dist/capabilities/vibration.cap.d.ts.map +1 -0
  193. package/dist/capabilities/water-heater.cap.d.ts +78 -0
  194. package/dist/capabilities/water-heater.cap.d.ts.map +1 -0
  195. package/dist/capabilities/weather.cap.d.ts +76 -0
  196. package/dist/capabilities/weather.cap.d.ts.map +1 -0
  197. package/dist/capabilities/webrtc-session.cap.d.ts +128 -0
  198. package/dist/capabilities/webrtc-session.cap.d.ts.map +1 -1
  199. package/dist/constants.d.ts +0 -2
  200. package/dist/constants.d.ts.map +1 -1
  201. package/dist/device/base-device-provider.d.ts +11 -0
  202. package/dist/device/base-device-provider.d.ts.map +1 -1
  203. package/dist/device/base-device.d.ts +52 -0
  204. package/dist/device/base-device.d.ts.map +1 -1
  205. package/dist/device/device-context.d.ts +29 -0
  206. package/dist/device/device-context.d.ts.map +1 -1
  207. package/dist/device/device-link-transform.d.ts +6 -0
  208. package/dist/device/device-link-transform.d.ts.map +1 -0
  209. package/dist/device/device-management.d.ts +116 -4
  210. package/dist/device/device-management.d.ts.map +1 -1
  211. package/dist/device/device-type.d.ts +214 -3
  212. package/dist/device/device-type.d.ts.map +1 -1
  213. package/dist/device/device.d.ts +25 -0
  214. package/dist/device/device.d.ts.map +1 -1
  215. package/dist/device/index.d.ts +5 -1
  216. package/dist/device/index.d.ts.map +1 -1
  217. package/dist/device/path-util.d.ts +13 -0
  218. package/dist/device/path-util.d.ts.map +1 -0
  219. package/dist/device/schema-fields.d.ts +12 -0
  220. package/dist/device/schema-fields.d.ts.map +1 -0
  221. package/dist/device/source-info.d.ts +87 -0
  222. package/dist/device/source-info.d.ts.map +1 -0
  223. package/dist/device/system-mirror.d.ts +6 -2
  224. package/dist/device/system-mirror.d.ts.map +1 -1
  225. package/dist/encode-profile.d.ts +126 -0
  226. package/dist/encode-profile.d.ts.map +1 -0
  227. package/dist/enums/event-category.d.ts +92 -7
  228. package/dist/enums/event-category.d.ts.map +1 -1
  229. package/dist/generated/addon-api.d.ts +12821 -8025
  230. package/dist/generated/addon-api.d.ts.map +1 -1
  231. package/dist/generated/cap-status-types.d.ts +87 -1
  232. package/dist/generated/cap-status-types.d.ts.map +1 -1
  233. package/dist/generated/capability-router-map.d.ts +142 -7
  234. package/dist/generated/capability-router-map.d.ts.map +1 -1
  235. package/dist/generated/device-local-state.d.ts +123 -0
  236. package/dist/generated/device-local-state.d.ts.map +1 -1
  237. package/dist/generated/device-proxy.d.ts +132 -5
  238. package/dist/generated/device-proxy.d.ts.map +1 -1
  239. package/dist/generated/method-access-map.d.ts +1 -1
  240. package/dist/generated/method-access-map.d.ts.map +1 -1
  241. package/dist/generated/provider-kind-map.d.ts +1 -1
  242. package/dist/generated/provider-kind-map.d.ts.map +1 -1
  243. package/dist/generated/system-proxy.d.ts +10 -8
  244. package/dist/generated/system-proxy.d.ts.map +1 -1
  245. package/dist/health/wiring-health.d.ts +136 -0
  246. package/dist/health/wiring-health.d.ts.map +1 -0
  247. package/dist/{index-CMM1Y9W6.js → index-BSA_TBea.js} +4774 -923
  248. package/dist/index-BSA_TBea.js.map +1 -0
  249. package/dist/{index-QRlzao1I.mjs → index-Bpj3ScIH.mjs} +5142 -1291
  250. package/dist/index-Bpj3ScIH.mjs.map +1 -0
  251. package/dist/index.d.ts +23 -3
  252. package/dist/index.d.ts.map +1 -1
  253. package/dist/index.js +1498 -119
  254. package/dist/index.js.map +1 -1
  255. package/dist/index.mjs +1806 -427
  256. package/dist/index.mjs.map +1 -1
  257. package/dist/interfaces/addon-data-plane.d.ts +76 -0
  258. package/dist/interfaces/addon-data-plane.d.ts.map +1 -0
  259. package/dist/interfaces/addon.d.ts +61 -1
  260. package/dist/interfaces/addon.d.ts.map +1 -1
  261. package/dist/interfaces/advanced-notifier.d.ts +4 -0
  262. package/dist/interfaces/advanced-notifier.d.ts.map +1 -1
  263. package/dist/interfaces/capability.d.ts +59 -1
  264. package/dist/interfaces/capability.d.ts.map +1 -1
  265. package/dist/interfaces/config-ui.d.ts +70 -6
  266. package/dist/interfaces/config-ui.d.ts.map +1 -1
  267. package/dist/interfaces/device-capabilities/camera.d.ts +2 -1
  268. package/dist/interfaces/device-capabilities/camera.d.ts.map +1 -1
  269. package/dist/interfaces/event-bus.d.ts +105 -4
  270. package/dist/interfaces/event-bus.d.ts.map +1 -1
  271. package/dist/interfaces/kernel-abstractions.d.ts +10 -1
  272. package/dist/interfaces/kernel-abstractions.d.ts.map +1 -1
  273. package/dist/interfaces/network-quality.d.ts +8 -0
  274. package/dist/interfaces/network-quality.d.ts.map +1 -1
  275. package/dist/interfaces/pipeline-executor-capability.d.ts +2 -2
  276. package/dist/interfaces/pipeline-orchestrator-capability.d.ts +2 -1
  277. package/dist/interfaces/pipeline-orchestrator-capability.d.ts.map +1 -1
  278. package/dist/interfaces/pipeline-runner-capability.d.ts +7 -0
  279. package/dist/interfaces/pipeline-runner-capability.d.ts.map +1 -1
  280. package/dist/interfaces/recording-config.d.ts +91 -0
  281. package/dist/interfaces/recording-config.d.ts.map +1 -0
  282. package/dist/interfaces/rtp-egress.d.ts +2 -3
  283. package/dist/interfaces/rtp-egress.d.ts.map +1 -1
  284. package/dist/interfaces/storage-location-declaration.d.ts +34 -0
  285. package/dist/interfaces/storage-location-declaration.d.ts.map +1 -0
  286. package/dist/interfaces/storage-location.d.ts +18 -74
  287. package/dist/interfaces/storage-location.d.ts.map +1 -1
  288. package/dist/interfaces/storage.d.ts +15 -4
  289. package/dist/interfaces/storage.d.ts.map +1 -1
  290. package/dist/interfaces/stream-broker.d.ts +39 -4
  291. package/dist/interfaces/stream-broker.d.ts.map +1 -1
  292. package/dist/interfaces/timezones.d.ts +59 -0
  293. package/dist/interfaces/timezones.d.ts.map +1 -0
  294. package/dist/node.d.ts +3 -0
  295. package/dist/node.d.ts.map +1 -1
  296. package/dist/node.js +50 -8
  297. package/dist/node.js.map +1 -1
  298. package/dist/node.mjs +51 -9
  299. package/dist/node.mjs.map +1 -1
  300. package/dist/readiness/readiness-registry.d.ts.map +1 -1
  301. package/dist/schemas/auth-records.d.ts +4 -4
  302. package/dist/storage/filesystem-storage-provider.d.ts +2 -1
  303. package/dist/storage/filesystem-storage-provider.d.ts.map +1 -1
  304. package/dist/stream-selection.d.ts +85 -0
  305. package/dist/stream-selection.d.ts.map +1 -0
  306. package/dist/types/detection.d.ts +3 -3
  307. package/dist/types/io.d.ts +13 -1
  308. package/dist/types/io.d.ts.map +1 -1
  309. package/dist/util/location-match.d.ts +15 -0
  310. package/dist/util/location-match.d.ts.map +1 -0
  311. package/dist/utils/canonical-hash.d.ts +20 -0
  312. package/dist/utils/canonical-hash.d.ts.map +1 -0
  313. package/dist/utils/export-reconciler.d.ts +101 -0
  314. package/dist/utils/export-reconciler.d.ts.map +1 -0
  315. package/dist/utils/privacy-grid-raster.d.ts +48 -0
  316. package/dist/utils/privacy-grid-raster.d.ts.map +1 -0
  317. package/dist/utils/sleep.d.ts +36 -0
  318. package/dist/utils/sleep.d.ts.map +1 -0
  319. package/package.json +1 -1
  320. package/dist/capabilities/recording-engine.cap.d.ts +0 -477
  321. package/dist/capabilities/recording-engine.cap.d.ts.map +0 -1
  322. package/dist/index-CMM1Y9W6.js.map +0 -1
  323. package/dist/index-QRlzao1I.mjs.map +0 -1
@@ -0,0 +1,154 @@
1
+ import { z } from 'zod';
2
+ import { type InferProvider } from './capability-definition.js';
3
+ import { DeviceType } from '../device/device-type.js';
4
+ /**
5
+ * Alarm-panel cap. Models HA `alarm_control_panel.*` on
6
+ * `DeviceType.AlarmPanel`. State follows HA's canonical lifecycle
7
+ * across disarmed / armed_(home|away|night|vacation|custom_bypass) /
8
+ * arming / pending / triggered / disarming.
9
+ *
10
+ * Many panels require a PIN code on arm / disarm — the optional
11
+ * `code` field on the methods passes it through to the upstream
12
+ * service; it's NEVER persisted in the runtime slice or any event
13
+ * payload. The presence of a required code is signalled by
14
+ * `DeviceFeature.AlarmPinRequired` so the UI gates a code-entry
15
+ * field without a slice fetch.
16
+ *
17
+ * `availableModes` mirrors HA's `supported_features`-derived arm
18
+ * mode list — the UI renders only the buttons the panel accepts.
19
+ */
20
+ export declare const AlarmStateSchema: z.ZodEnum<{
21
+ pending: "pending";
22
+ disarmed: "disarmed";
23
+ armed_home: "armed_home";
24
+ armed_away: "armed_away";
25
+ armed_night: "armed_night";
26
+ armed_vacation: "armed_vacation";
27
+ armed_custom_bypass: "armed_custom_bypass";
28
+ arming: "arming";
29
+ disarming: "disarming";
30
+ triggered: "triggered";
31
+ }>;
32
+ export type AlarmState = z.infer<typeof AlarmStateSchema>;
33
+ export declare const AlarmArmModeSchema: z.ZodEnum<{
34
+ home: "home";
35
+ away: "away";
36
+ night: "night";
37
+ vacation: "vacation";
38
+ custom_bypass: "custom_bypass";
39
+ }>;
40
+ export type AlarmArmMode = z.infer<typeof AlarmArmModeSchema>;
41
+ export declare const AlarmPanelStatusSchema: z.ZodObject<{
42
+ state: z.ZodEnum<{
43
+ pending: "pending";
44
+ disarmed: "disarmed";
45
+ armed_home: "armed_home";
46
+ armed_away: "armed_away";
47
+ armed_night: "armed_night";
48
+ armed_vacation: "armed_vacation";
49
+ armed_custom_bypass: "armed_custom_bypass";
50
+ arming: "arming";
51
+ disarming: "disarming";
52
+ triggered: "triggered";
53
+ }>;
54
+ availableModes: z.ZodArray<z.ZodEnum<{
55
+ home: "home";
56
+ away: "away";
57
+ night: "night";
58
+ vacation: "vacation";
59
+ custom_bypass: "custom_bypass";
60
+ }>>;
61
+ requiresCode: z.ZodBoolean;
62
+ lastChangedAt: z.ZodNumber;
63
+ }, z.core.$strip>;
64
+ export type AlarmPanelStatus = z.infer<typeof AlarmPanelStatusSchema>;
65
+ export declare const alarmPanelCapability: {
66
+ readonly name: "alarm-panel";
67
+ readonly scope: "device";
68
+ readonly deviceNative: true;
69
+ readonly mode: "singleton";
70
+ readonly deviceTypes: readonly [DeviceType.AlarmPanel];
71
+ readonly methods: {
72
+ readonly arm: import("./capability-definition.js").CapabilityMethodSchema<z.ZodObject<{
73
+ deviceId: z.ZodNumber;
74
+ mode: z.ZodEnum<{
75
+ home: "home";
76
+ away: "away";
77
+ night: "night";
78
+ vacation: "vacation";
79
+ custom_bypass: "custom_bypass";
80
+ }>;
81
+ code: z.ZodOptional<z.ZodString>;
82
+ }, z.core.$strip>, z.ZodVoid, "mutation">;
83
+ readonly disarm: import("./capability-definition.js").CapabilityMethodSchema<z.ZodObject<{
84
+ deviceId: z.ZodNumber;
85
+ code: z.ZodOptional<z.ZodString>;
86
+ }, z.core.$strip>, z.ZodVoid, "mutation">;
87
+ /**
88
+ * Force the panel into the `triggered` state — used by HA
89
+ * automations to surface external sensor events through the panel
90
+ * (e.g. a Reolink camera intrusion event firing the security
91
+ * system). Provider rejects when the panel hardware doesn't
92
+ * support a software-initiated trigger.
93
+ */
94
+ readonly trigger: import("./capability-definition.js").CapabilityMethodSchema<z.ZodObject<{
95
+ deviceId: z.ZodNumber;
96
+ }, z.core.$strip>, z.ZodVoid, "mutation">;
97
+ };
98
+ readonly status: {
99
+ readonly schema: z.ZodObject<{
100
+ state: z.ZodEnum<{
101
+ pending: "pending";
102
+ disarmed: "disarmed";
103
+ armed_home: "armed_home";
104
+ armed_away: "armed_away";
105
+ armed_night: "armed_night";
106
+ armed_vacation: "armed_vacation";
107
+ armed_custom_bypass: "armed_custom_bypass";
108
+ arming: "arming";
109
+ disarming: "disarming";
110
+ triggered: "triggered";
111
+ }>;
112
+ availableModes: z.ZodArray<z.ZodEnum<{
113
+ home: "home";
114
+ away: "away";
115
+ night: "night";
116
+ vacation: "vacation";
117
+ custom_bypass: "custom_bypass";
118
+ }>>;
119
+ requiresCode: z.ZodBoolean;
120
+ lastChangedAt: z.ZodNumber;
121
+ }, z.core.$strip>;
122
+ readonly kind: "push";
123
+ };
124
+ /**
125
+ * Runtime-state slice — mirrored by the kernel. UI panel reads the
126
+ * full slice; renders an arm button per `availableModes` entry and
127
+ * a PIN field iff `requiresCode === true`.
128
+ */
129
+ readonly runtimeState: z.ZodObject<{
130
+ state: z.ZodEnum<{
131
+ pending: "pending";
132
+ disarmed: "disarmed";
133
+ armed_home: "armed_home";
134
+ armed_away: "armed_away";
135
+ armed_night: "armed_night";
136
+ armed_vacation: "armed_vacation";
137
+ armed_custom_bypass: "armed_custom_bypass";
138
+ arming: "arming";
139
+ disarming: "disarming";
140
+ triggered: "triggered";
141
+ }>;
142
+ availableModes: z.ZodArray<z.ZodEnum<{
143
+ home: "home";
144
+ away: "away";
145
+ night: "night";
146
+ vacation: "vacation";
147
+ custom_bypass: "custom_bypass";
148
+ }>>;
149
+ requiresCode: z.ZodBoolean;
150
+ lastChangedAt: z.ZodNumber;
151
+ }, z.core.$strip>;
152
+ };
153
+ export type IAlarmPanelProvider = InferProvider<typeof alarmPanelCapability>;
154
+ //# sourceMappingURL=alarm-panel.cap.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"alarm-panel.cap.d.ts","sourceRoot":"","sources":["../../src/capabilities/alarm-panel.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;;;;;;;;;;;;;;;GAeG;AAEH,eAAO,MAAM,gBAAgB;;;;;;;;;;;EAW3B,CAAA;AACF,MAAM,MAAM,UAAU,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gBAAgB,CAAC,CAAA;AAEzD,eAAO,MAAM,kBAAkB;;;;;;EAM7B,CAAA;AACF,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAA;AAE7D,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;;;;;;;;iBAWjC,CAAA;AAEF,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAA;AAErE,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;QA0B7B;;;;;;WAMG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAWL;;;;OAIG;;;;;;;;;;;;;;;;;;;;;;;;CAEoC,CAAA;AAEzC,MAAM,MAAM,mBAAmB,GAAG,aAAa,CAAC,OAAO,oBAAoB,CAAC,CAAA"}
@@ -16,8 +16,8 @@ export declare const AlertSeveritySchema: z.ZodEnum<{
16
16
  export declare const AlertStatusSchema: z.ZodEnum<{
17
17
  active: "active";
18
18
  failed: "failed";
19
- "in-progress": "in-progress";
20
19
  completed: "completed";
20
+ "in-progress": "in-progress";
21
21
  dismissed: "dismissed";
22
22
  }>;
23
23
  export declare const AlertSourceSchema: z.ZodObject<{
@@ -38,8 +38,8 @@ export declare const AlertSchema: z.ZodObject<{
38
38
  status: z.ZodEnum<{
39
39
  active: "active";
40
40
  failed: "failed";
41
- "in-progress": "in-progress";
42
41
  completed: "completed";
42
+ "in-progress": "in-progress";
43
43
  dismissed: "dismissed";
44
44
  }>;
45
45
  progress: z.ZodOptional<z.ZodNumber>;
@@ -74,8 +74,8 @@ export declare const alertsCapability: {
74
74
  status: z.ZodEnum<{
75
75
  active: "active";
76
76
  failed: "failed";
77
- "in-progress": "in-progress";
78
77
  completed: "completed";
78
+ "in-progress": "in-progress";
79
79
  dismissed: "dismissed";
80
80
  }>;
81
81
  progress: z.ZodOptional<z.ZodNumber>;
@@ -104,8 +104,8 @@ export declare const alertsCapability: {
104
104
  status: z.ZodOptional<z.ZodEnum<{
105
105
  active: "active";
106
106
  failed: "failed";
107
- "in-progress": "in-progress";
108
107
  completed: "completed";
108
+ "in-progress": "in-progress";
109
109
  dismissed: "dismissed";
110
110
  }>>;
111
111
  progress: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
@@ -136,8 +136,8 @@ export declare const alertsCapability: {
136
136
  status: z.ZodEnum<{
137
137
  active: "active";
138
138
  failed: "failed";
139
- "in-progress": "in-progress";
140
139
  completed: "completed";
140
+ "in-progress": "in-progress";
141
141
  dismissed: "dismissed";
142
142
  }>;
143
143
  progress: z.ZodOptional<z.ZodNumber>;
@@ -0,0 +1,39 @@
1
+ import { z } from 'zod';
2
+ import { type InferProvider } from './capability-definition.js';
3
+ import { DeviceType } from '../device/device-type.js';
4
+ /**
5
+ * Ambient illuminance reading in lux. Drives Home Assistant `sensor`
6
+ * entries with `device_class: illuminance`.
7
+ */
8
+ export declare const AmbientLightSensorStatusSchema: z.ZodObject<{
9
+ lux: z.ZodNumber;
10
+ lastFetchedAt: z.ZodNumber;
11
+ unit: z.ZodOptional<z.ZodString>;
12
+ precision: z.ZodOptional<z.ZodNumber>;
13
+ }, z.core.$strip>;
14
+ export type AmbientLightSensorStatus = z.infer<typeof AmbientLightSensorStatusSchema>;
15
+ export declare const ambientLightSensorCapability: {
16
+ readonly name: "ambient-light-sensor";
17
+ readonly scope: "device";
18
+ readonly deviceNative: true;
19
+ readonly mode: "singleton";
20
+ readonly deviceTypes: readonly [DeviceType.Sensor];
21
+ readonly methods: {};
22
+ readonly status: {
23
+ readonly schema: z.ZodObject<{
24
+ lux: z.ZodNumber;
25
+ lastFetchedAt: z.ZodNumber;
26
+ unit: z.ZodOptional<z.ZodString>;
27
+ precision: z.ZodOptional<z.ZodNumber>;
28
+ }, z.core.$strip>;
29
+ readonly kind: "push";
30
+ };
31
+ readonly runtimeState: z.ZodObject<{
32
+ lux: z.ZodNumber;
33
+ lastFetchedAt: z.ZodNumber;
34
+ unit: z.ZodOptional<z.ZodString>;
35
+ precision: z.ZodOptional<z.ZodNumber>;
36
+ }, z.core.$strip>;
37
+ };
38
+ export type IAmbientLightSensorProvider = InferProvider<typeof ambientLightSensorCapability>;
39
+ //# sourceMappingURL=ambient-light-sensor.cap.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ambient-light-sensor.cap.d.ts","sourceRoot":"","sources":["../../src/capabilities/ambient-light-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;;;GAGG;AACH,eAAO,MAAM,8BAA8B;;;;;iBAczC,CAAA;AAEF,MAAM,MAAM,wBAAwB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,8BAA8B,CAAC,CAAA;AAErF,eAAO,MAAM,4BAA4B;;;;;;;;;;;;;;;;;;;;;;CAYA,CAAA;AAEzC,MAAM,MAAM,2BAA2B,GAAG,aAAa,CAAC,OAAO,4BAA4B,CAAC,CAAA"}
@@ -85,7 +85,7 @@ export declare const audioAnalyzerCapability: {
85
85
  readonly methods: {
86
86
  readonly analyseChunk: import("./capability-definition.js").CapabilityMethodSchema<z.ZodObject<{
87
87
  chunk: z.ZodObject<{
88
- data: z.ZodCustom<Float32Array<ArrayBuffer>, Float32Array<ArrayBuffer>>;
88
+ data: z.ZodCustom<Uint8Array<ArrayBuffer>, Uint8Array<ArrayBuffer>>;
89
89
  sampleRate: z.ZodNumber;
90
90
  channels: z.ZodNumber;
91
91
  timestamp: z.ZodNumber;
@@ -111,7 +111,7 @@ export declare const audioAnalyzerCapability: {
111
111
  timestamp: z.ZodNumber;
112
112
  }, z.core.$strip>>, "mutation">;
113
113
  readonly classify: import("./capability-definition.js").CapabilityMethodSchema<z.ZodObject<{
114
- data: z.ZodCustom<Float32Array<ArrayBuffer>, Float32Array<ArrayBuffer>>;
114
+ data: z.ZodCustom<Uint8Array<ArrayBuffer>, Uint8Array<ArrayBuffer>>;
115
115
  sampleRate: z.ZodNumber;
116
116
  channels: z.ZodNumber;
117
117
  timestamp: z.ZodNumber;
@@ -0,0 +1,65 @@
1
+ import { z } from 'zod';
2
+ import { type InferProvider } from './capability-definition.js';
3
+ import { DeviceType } from '../device/device-type.js';
4
+ /**
5
+ * Automation-control cap. Models HA `automation.*` entities on
6
+ * `DeviceType.Automation`. An automation is a trigger+condition+
7
+ * action rule that can be enabled / disabled and manually fired
8
+ * via the `trigger` method.
9
+ *
10
+ * `trigger` accepts an optional `skipCondition` flag — when true,
11
+ * the automation's action block runs WITHOUT evaluating its
12
+ * condition block. Pair with `DeviceFeature.AutomationSkipCondition`
13
+ * to gate the UI checkbox for the manual-trigger dialog.
14
+ */
15
+ export declare const AutomationControlStatusSchema: z.ZodObject<{
16
+ enabled: z.ZodBoolean;
17
+ isRunning: z.ZodBoolean;
18
+ lastTriggeredAt: z.ZodNumber;
19
+ lastError: z.ZodNullable<z.ZodString>;
20
+ lastChangedAt: z.ZodNumber;
21
+ }, z.core.$strip>;
22
+ export type AutomationControlStatus = z.infer<typeof AutomationControlStatusSchema>;
23
+ export declare const automationControlCapability: {
24
+ readonly name: "automation-control";
25
+ readonly scope: "device";
26
+ readonly deviceNative: true;
27
+ readonly mode: "singleton";
28
+ readonly deviceTypes: readonly [DeviceType.Automation];
29
+ readonly methods: {
30
+ readonly enable: import("./capability-definition.js").CapabilityMethodSchema<z.ZodObject<{
31
+ deviceId: z.ZodNumber;
32
+ }, z.core.$strip>, z.ZodVoid, "mutation">;
33
+ readonly disable: import("./capability-definition.js").CapabilityMethodSchema<z.ZodObject<{
34
+ deviceId: z.ZodNumber;
35
+ }, z.core.$strip>, z.ZodVoid, "mutation">;
36
+ readonly trigger: import("./capability-definition.js").CapabilityMethodSchema<z.ZodObject<{
37
+ deviceId: z.ZodNumber;
38
+ skipCondition: z.ZodOptional<z.ZodBoolean>;
39
+ }, z.core.$strip>, z.ZodVoid, "mutation">;
40
+ };
41
+ readonly status: {
42
+ readonly schema: z.ZodObject<{
43
+ enabled: z.ZodBoolean;
44
+ isRunning: z.ZodBoolean;
45
+ lastTriggeredAt: z.ZodNumber;
46
+ lastError: z.ZodNullable<z.ZodString>;
47
+ lastChangedAt: z.ZodNumber;
48
+ }, z.core.$strip>;
49
+ readonly kind: "push";
50
+ };
51
+ /**
52
+ * Runtime-state slice — mirrored by the kernel. UI automation tile
53
+ * reads `enabled` (toggle) + `isRunning` (spinner) + `lastError`
54
+ * (badge) directly.
55
+ */
56
+ readonly runtimeState: z.ZodObject<{
57
+ enabled: z.ZodBoolean;
58
+ isRunning: z.ZodBoolean;
59
+ lastTriggeredAt: z.ZodNumber;
60
+ lastError: z.ZodNullable<z.ZodString>;
61
+ lastChangedAt: z.ZodNumber;
62
+ }, z.core.$strip>;
63
+ };
64
+ export type IAutomationControlProvider = InferProvider<typeof automationControlCapability>;
65
+ //# sourceMappingURL=automation-control.cap.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"automation-control.cap.d.ts","sourceRoot":"","sources":["../../src/capabilities/automation-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;;;;;;;;;;GAUG;AAEH,eAAO,MAAM,6BAA6B;;;;;;iBAaxC,CAAA;AAEF,MAAM,MAAM,uBAAuB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,6BAA6B,CAAC,CAAA;AAEnF,eAAO,MAAM,2BAA2B;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAiCtC;;;;OAIG;;;;;;;;CAEoC,CAAA;AAEzC,MAAM,MAAM,0BAA0B,GAAG,aAAa,CAAC,OAAO,2BAA2B,CAAC,CAAA"}
@@ -17,14 +17,40 @@ export declare const BatteryStatusSchema: z.ZodObject<{
17
17
  }>;
18
18
  sleeping: z.ZodBoolean;
19
19
  lastUpdated: z.ZodNumber;
20
+ binary: z.ZodOptional<z.ZodBoolean>;
20
21
  }, z.core.$strip>;
21
22
  export type BatteryStatus = z.infer<typeof BatteryStatusSchema>;
22
23
  export declare const batteryCapability: {
23
24
  readonly name: "battery";
24
25
  readonly scope: "device";
26
+ readonly deviceNative: true;
25
27
  readonly mode: "singleton";
26
28
  readonly deviceTypes: readonly [DeviceType.Camera, DeviceType.Sensor, DeviceType.Button, DeviceType.Switch];
27
- readonly methods: {};
29
+ readonly methods: {
30
+ /**
31
+ * Explicitly wake the camera from low-power sleep ahead of a
32
+ * streaming session start. Consumers that initiate a stream
33
+ * against a sleeping battery cam (HomeKit Secure Video, Alexa
34
+ * RTCSession, snapshot wrappers) call this with a short timeout
35
+ * before establishing the media pipeline — the broker's own
36
+ * passive wake-on-dial works but adds 5–7 seconds to first-frame,
37
+ * during which the consumer renders a black screen. Pre-waking
38
+ * compresses that gap.
39
+ *
40
+ * Returns `awoke: true` when the firmware acknowledged the wake
41
+ * before `timeoutMs`. Returns `awoke: false` when it timed out OR
42
+ * the cap surface is unavailable (no Baichuan / firmware
43
+ * channel); the caller should still attempt the stream — the
44
+ * passive broker wake remains as fallback.
45
+ */
46
+ readonly wakeForStream: import("./capability-definition.js").CapabilityMethodSchema<z.ZodObject<{
47
+ deviceId: z.ZodNumber;
48
+ timeoutMs: z.ZodDefault<z.ZodNumber>;
49
+ }, z.core.$strip>, z.ZodObject<{
50
+ awoke: z.ZodBoolean;
51
+ durationMs: z.ZodNumber;
52
+ }, z.core.$strip>, "mutation">;
53
+ };
28
54
  readonly events: {
29
55
  /**
30
56
  * Emitted whenever the cached status changes (firmware push OR
@@ -44,6 +70,7 @@ export declare const batteryCapability: {
44
70
  }>;
45
71
  sleeping: z.ZodBoolean;
46
72
  lastUpdated: z.ZodNumber;
73
+ binary: z.ZodOptional<z.ZodBoolean>;
47
74
  }, z.core.$strip>;
48
75
  }, z.core.$strip>;
49
76
  };
@@ -58,6 +85,7 @@ export declare const batteryCapability: {
58
85
  }>;
59
86
  sleeping: z.ZodBoolean;
60
87
  lastUpdated: z.ZodNumber;
88
+ binary: z.ZodOptional<z.ZodBoolean>;
61
89
  }, z.core.$strip>;
62
90
  readonly kind: "push";
63
91
  };
@@ -79,6 +107,7 @@ export declare const batteryCapability: {
79
107
  }>;
80
108
  sleeping: z.ZodBoolean;
81
109
  lastUpdated: z.ZodNumber;
110
+ binary: z.ZodOptional<z.ZodBoolean>;
82
111
  }, z.core.$strip>;
83
112
  };
84
113
  export type IBatteryProvider = InferProvider<typeof batteryCapability>;
@@ -1 +1 @@
1
- {"version":3,"file":"battery.cap.d.ts","sourceRoot":"","sources":["../../src/capabilities/battery.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;;;;;;GAMG;AACH,eAAO,MAAM,mBAAmB;;;;;;;;;iBAkB9B,CAAA;AAEF,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAA;AAE/D,eAAO,MAAM,iBAAiB;;;;;;;QAO1B;;;;;WAKG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAUL;;;;;;;;OAQG;;;;;;;;;;;CAEoC,CAAA;AAEzC,MAAM,MAAM,gBAAgB,GAAG,aAAa,CAAC,OAAO,iBAAiB,CAAC,CAAA"}
1
+ {"version":3,"file":"battery.cap.d.ts","sourceRoot":"","sources":["../../src/capabilities/battery.cap.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AACvB,OAAO,EAAqC,KAAK,aAAa,EAAE,MAAM,4BAA4B,CAAA;AAClG,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAA;AAErD;;;;;;GAMG;AACH,eAAO,MAAM,mBAAmB;;;;;;;;;;iBA0B9B,CAAA;AAEF,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAA;AAE/D,eAAO,MAAM,iBAAiB;;;;;;;QAO1B;;;;;;;;;;;;;;;WAeG;;;;;;;;;;QAeH;;;;;WAKG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAUL;;;;;;;;OAQG;;;;;;;;;;;;CAEoC,CAAA;AAEzC,MAAM,MAAM,gBAAgB,GAAG,aAAa,CAAC,OAAO,iBAAiB,CAAC,CAAA"}
@@ -0,0 +1,40 @@
1
+ import { z } from 'zod';
2
+ import { type InferProvider } from './capability-definition.js';
3
+ import { DeviceType } from '../device/device-type.js';
4
+ /**
5
+ * Generic boolean sensor — last-resort fallback when no domain-
6
+ * specific binary cap fits (Home Assistant `binary_sensor` without a
7
+ * known `device_class`, or a domain we haven't typed yet). Pure
8
+ * pass-through: just the bool + timestamp. Push-driven.
9
+ *
10
+ * Prefer the typed alternatives (`contact`, `flood`, `smoke`,
11
+ * `carbon-monoxide`, `gas`, `tamper`, `vibration`, `connectivity`,
12
+ * `motion`) when the semantics match — export adapters render those
13
+ * with the right HomeKit / Alexa display category.
14
+ */
15
+ export declare const BinaryStatusSchema: z.ZodObject<{
16
+ on: z.ZodBoolean;
17
+ lastChangedAt: z.ZodNumber;
18
+ }, z.core.$strip>;
19
+ export type BinaryStatus = z.infer<typeof BinaryStatusSchema>;
20
+ export declare const binaryCapability: {
21
+ readonly name: "binary";
22
+ readonly scope: "device";
23
+ readonly deviceNative: true;
24
+ readonly mode: "singleton";
25
+ readonly deviceTypes: readonly [DeviceType.Sensor];
26
+ readonly methods: {};
27
+ readonly status: {
28
+ readonly schema: z.ZodObject<{
29
+ on: z.ZodBoolean;
30
+ lastChangedAt: z.ZodNumber;
31
+ }, z.core.$strip>;
32
+ readonly kind: "push";
33
+ };
34
+ readonly runtimeState: z.ZodObject<{
35
+ on: z.ZodBoolean;
36
+ lastChangedAt: z.ZodNumber;
37
+ }, z.core.$strip>;
38
+ };
39
+ export type IBinaryProvider = InferProvider<typeof binaryCapability>;
40
+ //# sourceMappingURL=binary.cap.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"binary.cap.d.ts","sourceRoot":"","sources":["../../src/capabilities/binary.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;;;;;;;;;;GAUG;AACH,eAAO,MAAM,kBAAkB;;;iBAI7B,CAAA;AAEF,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAA;AAE7D,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;CAYY,CAAA;AAEzC,MAAM,MAAM,eAAe,GAAG,aAAa,CAAC,OAAO,gBAAgB,CAAC,CAAA"}
@@ -4,8 +4,8 @@ import { DeviceType } from '../device/device-type.js';
4
4
  /**
5
5
  * Dimmable-light brightness control. Co-exists with `switch` on the
6
6
  * same device — the switch toggles on/off, this cap sets the level
7
- * applied when the light is on. Modeled after Scrypted's `Brightness`
8
- * interface so drivers can map their per-vendor dim controls cleanly.
7
+ * applied when the light is on. Drivers map their per-vendor dim
8
+ * controls to this single-method surface.
9
9
  *
10
10
  * The cap is intentionally minimal: a single `setBrightness({deviceId,
11
11
  * percentage})` mutation plus the auto-injected `getStatus`. Drivers
@@ -21,6 +21,7 @@ export type BrightnessStatus = z.infer<typeof BrightnessStatusSchema>;
21
21
  export declare const brightnessCapability: {
22
22
  readonly name: "brightness";
23
23
  readonly scope: "device";
24
+ readonly deviceNative: true;
24
25
  readonly mode: "singleton";
25
26
  readonly deviceTypes: readonly [DeviceType.Light];
26
27
  readonly methods: {
@@ -1 +1 @@
1
- {"version":3,"file":"brightness.cap.d.ts","sourceRoot":"","sources":["../../src/capabilities/brightness.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,sBAAsB;;;iBAKjC,CAAA;AAEF,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAA;AAErE,eAAO,MAAM,oBAAoB;;;;;;;;;;;;QAgB7B;;;;WAIG;;;;;;;;;;;;;;;;IAWL;;;;OAIG;;;;;CAEoC,CAAA;AAEzC,MAAM,MAAM,mBAAmB,GAAG,aAAa,CAAC,OAAO,oBAAoB,CAAC,CAAA"}
1
+ {"version":3,"file":"brightness.cap.d.ts","sourceRoot":"","sources":["../../src/capabilities/brightness.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,sBAAsB;;;iBAKjC,CAAA;AAEF,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAA;AAErE,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;QAiB7B;;;;WAIG;;;;;;;;;;;;;;;;IAWL;;;;OAIG;;;;;CAEoC,CAAA;AAEzC,MAAM,MAAM,mBAAmB,GAAG,aAAa,CAAC,OAAO,oBAAoB,CAAC,CAAA"}