@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
@@ -1,15 +1,15 @@
1
1
  import { z } from 'zod';
2
2
  import { type InferProvider, type InferNativeProvider } from './capability-definition.js';
3
3
  import { DeviceType } from '../device/device-type.js';
4
+ import type { SourceInfo } from '../device/source-info.js';
4
5
  /**
5
6
  * device-discovery — device-scoped capability for parents that host /
6
7
  * enumerate child devices (Reolink Hub / NVR, ONVIF gateway, future
7
- * integrations). Mirrors Scrypted's `DeviceDiscovery` interface
8
- * (`scrypted-reolink-native/src/nvr.ts:42-44`): the parent advertises
9
- * a list of discoverable children, and the operator promotes a subset
10
- * to real devices via `adoptDevice`. Child lifecycle (kernel device
11
- * create/remove, parent reference) is owned by the framework so a
12
- * single shared `<DiscoveryPanel />` can drive any integration.
8
+ * integrations). The parent advertises a list of discoverable children,
9
+ * and the operator promotes a subset to real devices via `adoptDevice`.
10
+ * Child lifecycle (kernel device create/remove, parent reference) is
11
+ * owned by the framework so a single shared `<DiscoveryPanel />` can
12
+ * drive any integration.
13
13
  *
14
14
  * Boundaries:
15
15
  * - The cap exposes ENUMERATION + ADOPT/RELEASE only. The protocol
@@ -34,34 +34,39 @@ export declare const DiscoveredChildStatusSchema: z.ZodEnum<{
34
34
  }>;
35
35
  export type DiscoveredChildStatus = z.infer<typeof DiscoveredChildStatusSchema>;
36
36
  /**
37
- * Single discovered child entry. `metadata` is integration-defined
38
- * but intentionally typed as a closed shape with the most-common
39
- * camera knobs keeps the panel renderer dumb without forcing every
40
- * integration to invent a custom UI.
37
+ * Explicit type for the (now self-referential) discovered-child entry.
38
+ * A `z.lazy` schema cannot cleanly self-infer, so the shape is declared
39
+ * here and the schema below is annotated with it. The `children` /
40
+ * `sourceInfo` / `capabilities` / `features` fields are optional: Hubs
41
+ * (Reolink NVR enumerating flat camera channels) omit them entirely;
42
+ * integrations (Home Assistant previewing a device with entity-children)
43
+ * populate them so a shared adoption panel can render an accordion.
41
44
  */
42
- export declare const DiscoveredChildDeviceSchema: z.ZodObject<{
43
- childNativeId: z.ZodString;
44
- name: z.ZodString;
45
- type: z.ZodEnum<typeof DeviceType>;
46
- status: z.ZodEnum<{
47
- unknown: "unknown";
48
- sleeping: "sleeping";
49
- offline: "offline";
50
- online: "online";
51
- }>;
52
- metadata: z.ZodDefault<z.ZodObject<{
53
- model: z.ZodOptional<z.ZodString>;
54
- serialNumber: z.ZodOptional<z.ZodString>;
55
- uid: z.ZodOptional<z.ZodString>;
56
- rtspChannel: z.ZodOptional<z.ZodNumber>;
57
- isBattery: z.ZodOptional<z.ZodBoolean>;
58
- isDoorbell: z.ZodOptional<z.ZodBoolean>;
59
- isMultifocal: z.ZodOptional<z.ZodBoolean>;
60
- }, z.core.$strip>>;
61
- alreadyAdopted: z.ZodBoolean;
62
- adoptedDeviceId: z.ZodNullable<z.ZodNumber>;
63
- }, z.core.$strip>;
64
- export type DiscoveredChildDevice = z.infer<typeof DiscoveredChildDeviceSchema>;
45
+ export type DiscoveredChildDevice = {
46
+ childNativeId: string;
47
+ name: string;
48
+ type: DeviceType;
49
+ status: DiscoveredChildStatus;
50
+ metadata: {
51
+ model?: string;
52
+ serialNumber?: string;
53
+ uid?: string;
54
+ rtspChannel?: number;
55
+ isBattery?: boolean;
56
+ isDoorbell?: boolean;
57
+ isMultifocal?: boolean;
58
+ externalLocation?: string;
59
+ manufacturer?: string;
60
+ integration?: string;
61
+ };
62
+ alreadyAdopted: boolean;
63
+ adoptedDeviceId: number | null;
64
+ capabilities?: readonly string[];
65
+ features?: readonly string[];
66
+ sourceInfo?: SourceInfo;
67
+ children?: readonly DiscoveredChildDevice[];
68
+ };
69
+ export declare const DiscoveredChildDeviceSchema: z.ZodType<DiscoveredChildDevice>;
65
70
  /**
66
71
  * Status block — populated by the integration after each
67
72
  * `refreshDiscovery` (or push-driven update). The runtime-state slice
@@ -69,28 +74,7 @@ export type DiscoveredChildDevice = z.infer<typeof DiscoveredChildDeviceSchema>;
69
74
  * returns the same payload via the codegen'd auto-injection.
70
75
  */
71
76
  export declare const DeviceDiscoveryStatusSchema: z.ZodObject<{
72
- discovered: z.ZodArray<z.ZodObject<{
73
- childNativeId: z.ZodString;
74
- name: z.ZodString;
75
- type: z.ZodEnum<typeof DeviceType>;
76
- status: z.ZodEnum<{
77
- unknown: "unknown";
78
- sleeping: "sleeping";
79
- offline: "offline";
80
- online: "online";
81
- }>;
82
- metadata: z.ZodDefault<z.ZodObject<{
83
- model: z.ZodOptional<z.ZodString>;
84
- serialNumber: z.ZodOptional<z.ZodString>;
85
- uid: z.ZodOptional<z.ZodString>;
86
- rtspChannel: z.ZodOptional<z.ZodNumber>;
87
- isBattery: z.ZodOptional<z.ZodBoolean>;
88
- isDoorbell: z.ZodOptional<z.ZodBoolean>;
89
- isMultifocal: z.ZodOptional<z.ZodBoolean>;
90
- }, z.core.$strip>>;
91
- alreadyAdopted: z.ZodBoolean;
92
- adoptedDeviceId: z.ZodNullable<z.ZodNumber>;
93
- }, z.core.$strip>>;
77
+ discovered: z.ZodArray<z.ZodType<DiscoveredChildDevice, unknown, z.core.$ZodTypeInternals<DiscoveredChildDevice, unknown>>>;
94
78
  lastDiscoveryAt: z.ZodNullable<z.ZodNumber>;
95
79
  lastError: z.ZodNullable<z.ZodString>;
96
80
  }, z.core.$strip>;
@@ -98,60 +82,19 @@ export type DeviceDiscoveryStatus = z.infer<typeof DeviceDiscoveryStatusSchema>;
98
82
  export declare const deviceDiscoveryCapability: {
99
83
  readonly name: "device-discovery";
100
84
  readonly scope: "device";
85
+ readonly deviceNative: true;
101
86
  readonly mode: "singleton";
102
87
  readonly deviceTypes: readonly [DeviceType.Hub];
103
88
  readonly status: {
104
89
  readonly schema: z.ZodObject<{
105
- discovered: z.ZodArray<z.ZodObject<{
106
- childNativeId: z.ZodString;
107
- name: z.ZodString;
108
- type: z.ZodEnum<typeof DeviceType>;
109
- status: z.ZodEnum<{
110
- unknown: "unknown";
111
- sleeping: "sleeping";
112
- offline: "offline";
113
- online: "online";
114
- }>;
115
- metadata: z.ZodDefault<z.ZodObject<{
116
- model: z.ZodOptional<z.ZodString>;
117
- serialNumber: z.ZodOptional<z.ZodString>;
118
- uid: z.ZodOptional<z.ZodString>;
119
- rtspChannel: z.ZodOptional<z.ZodNumber>;
120
- isBattery: z.ZodOptional<z.ZodBoolean>;
121
- isDoorbell: z.ZodOptional<z.ZodBoolean>;
122
- isMultifocal: z.ZodOptional<z.ZodBoolean>;
123
- }, z.core.$strip>>;
124
- alreadyAdopted: z.ZodBoolean;
125
- adoptedDeviceId: z.ZodNullable<z.ZodNumber>;
126
- }, z.core.$strip>>;
90
+ discovered: z.ZodArray<z.ZodType<DiscoveredChildDevice, unknown, z.core.$ZodTypeInternals<DiscoveredChildDevice, unknown>>>;
127
91
  lastDiscoveryAt: z.ZodNullable<z.ZodNumber>;
128
92
  lastError: z.ZodNullable<z.ZodString>;
129
93
  }, z.core.$strip>;
130
94
  readonly kind: "poll";
131
95
  };
132
96
  readonly runtimeState: z.ZodObject<{
133
- discovered: z.ZodArray<z.ZodObject<{
134
- childNativeId: z.ZodString;
135
- name: z.ZodString;
136
- type: z.ZodEnum<typeof DeviceType>;
137
- status: z.ZodEnum<{
138
- unknown: "unknown";
139
- sleeping: "sleeping";
140
- offline: "offline";
141
- online: "online";
142
- }>;
143
- metadata: z.ZodDefault<z.ZodObject<{
144
- model: z.ZodOptional<z.ZodString>;
145
- serialNumber: z.ZodOptional<z.ZodString>;
146
- uid: z.ZodOptional<z.ZodString>;
147
- rtspChannel: z.ZodOptional<z.ZodNumber>;
148
- isBattery: z.ZodOptional<z.ZodBoolean>;
149
- isDoorbell: z.ZodOptional<z.ZodBoolean>;
150
- isMultifocal: z.ZodOptional<z.ZodBoolean>;
151
- }, z.core.$strip>>;
152
- alreadyAdopted: z.ZodBoolean;
153
- adoptedDeviceId: z.ZodNullable<z.ZodNumber>;
154
- }, z.core.$strip>>;
97
+ discovered: z.ZodArray<z.ZodType<DiscoveredChildDevice, unknown, z.core.$ZodTypeInternals<DiscoveredChildDevice, unknown>>>;
155
98
  lastDiscoveryAt: z.ZodNullable<z.ZodNumber>;
156
99
  lastError: z.ZodNullable<z.ZodString>;
157
100
  lastFetchedAt: z.ZodNumber;
@@ -164,28 +107,7 @@ export declare const deviceDiscoveryCapability: {
164
107
  */
165
108
  readonly listDiscovered: import("./capability-definition.js").CapabilityMethodSchema<z.ZodObject<{
166
109
  deviceId: z.ZodNumber;
167
- }, z.core.$strip>, z.ZodReadonly<z.ZodArray<z.ZodObject<{
168
- childNativeId: z.ZodString;
169
- name: z.ZodString;
170
- type: z.ZodEnum<typeof DeviceType>;
171
- status: z.ZodEnum<{
172
- unknown: "unknown";
173
- sleeping: "sleeping";
174
- offline: "offline";
175
- online: "online";
176
- }>;
177
- metadata: z.ZodDefault<z.ZodObject<{
178
- model: z.ZodOptional<z.ZodString>;
179
- serialNumber: z.ZodOptional<z.ZodString>;
180
- uid: z.ZodOptional<z.ZodString>;
181
- rtspChannel: z.ZodOptional<z.ZodNumber>;
182
- isBattery: z.ZodOptional<z.ZodBoolean>;
183
- isDoorbell: z.ZodOptional<z.ZodBoolean>;
184
- isMultifocal: z.ZodOptional<z.ZodBoolean>;
185
- }, z.core.$strip>>;
186
- alreadyAdopted: z.ZodBoolean;
187
- adoptedDeviceId: z.ZodNullable<z.ZodNumber>;
188
- }, z.core.$strip>>>, import("./capability-definition.js").CapabilityMethodKind>;
110
+ }, z.core.$strip>, z.ZodReadonly<z.ZodArray<z.ZodType<DiscoveredChildDevice, unknown, z.core.$ZodTypeInternals<DiscoveredChildDevice, unknown>>>>, import("./capability-definition.js").CapabilityMethodKind>;
189
111
  /**
190
112
  * Force the integration to re-enumerate and update the
191
113
  * runtime-state slice. Returns the freshly-enumerated list (also
@@ -193,28 +115,7 @@ export declare const deviceDiscoveryCapability: {
193
115
  */
194
116
  readonly refreshDiscovery: import("./capability-definition.js").CapabilityMethodSchema<z.ZodObject<{
195
117
  deviceId: z.ZodNumber;
196
- }, z.core.$strip>, z.ZodReadonly<z.ZodArray<z.ZodObject<{
197
- childNativeId: z.ZodString;
198
- name: z.ZodString;
199
- type: z.ZodEnum<typeof DeviceType>;
200
- status: z.ZodEnum<{
201
- unknown: "unknown";
202
- sleeping: "sleeping";
203
- offline: "offline";
204
- online: "online";
205
- }>;
206
- metadata: z.ZodDefault<z.ZodObject<{
207
- model: z.ZodOptional<z.ZodString>;
208
- serialNumber: z.ZodOptional<z.ZodString>;
209
- uid: z.ZodOptional<z.ZodString>;
210
- rtspChannel: z.ZodOptional<z.ZodNumber>;
211
- isBattery: z.ZodOptional<z.ZodBoolean>;
212
- isDoorbell: z.ZodOptional<z.ZodBoolean>;
213
- isMultifocal: z.ZodOptional<z.ZodBoolean>;
214
- }, z.core.$strip>>;
215
- alreadyAdopted: z.ZodBoolean;
216
- adoptedDeviceId: z.ZodNullable<z.ZodNumber>;
217
- }, z.core.$strip>>>, "mutation">;
118
+ }, z.core.$strip>, z.ZodReadonly<z.ZodArray<z.ZodType<DiscoveredChildDevice, unknown, z.core.$ZodTypeInternals<DiscoveredChildDevice, unknown>>>>, "mutation">;
218
119
  /**
219
120
  * Promote a discovered entry to a real child device. The framework
220
121
  * creates the child via `kernel.devices.create()` with
@@ -1 +1 @@
1
- {"version":3,"file":"device-discovery.cap.d.ts","sourceRoot":"","sources":["../../src/capabilities/device-discovery.cap.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AACvB,OAAO,EAAqC,KAAK,aAAa,EAAE,KAAK,mBAAmB,EAAE,MAAM,4BAA4B,CAAA;AAC5H,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAA;AAErD;;;;;;;;;;;;;;;;;;;GAmBG;AAEH;;;;GAIG;AACH,eAAO,MAAM,2BAA2B;;;;;EAAuD,CAAA;AAC/F,MAAM,MAAM,qBAAqB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,2BAA2B,CAAC,CAAA;AAE/E;;;;;GAKG;AACH,eAAO,MAAM,2BAA2B;;;;;;;;;;;;;;;;;;;;;iBA2BtC,CAAA;AACF,MAAM,MAAM,qBAAqB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,2BAA2B,CAAC,CAAA;AAE/E;;;;;GAKG;AACH,eAAO,MAAM,2BAA2B;;;;;;;;;;;;;;;;;;;;;;;;;iBAMtC,CAAA;AACF,MAAM,MAAM,qBAAqB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,2BAA2B,CAAC,CAAA;AAE/E,eAAO,MAAM,yBAAyB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;QAiBlC;;;;WAIG;;;;;;;;;;;;;;;;;;;;;;;;;QAKH;;;;WAIG;;;;;;;;;;;;;;;;;;;;;;;;;QAMH;;;;;;WAMG;;;;;;;;;QAcH;;;;;WAKG;;;;;;CAUkC,CAAA;AAEzC,MAAM,MAAM,wBAAwB,GAAG,aAAa,CAAC,OAAO,yBAAyB,CAAC,CAAA;AACtF,MAAM,MAAM,8BAA8B,GAAG,mBAAmB,CAAC,OAAO,yBAAyB,CAAC,CAAA"}
1
+ {"version":3,"file":"device-discovery.cap.d.ts","sourceRoot":"","sources":["../../src/capabilities/device-discovery.cap.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AACvB,OAAO,EAAqC,KAAK,aAAa,EAAE,KAAK,mBAAmB,EAAE,MAAM,4BAA4B,CAAA;AAC5H,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAA;AAErD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAA;AAE1D;;;;;;;;;;;;;;;;;;GAkBG;AAEH;;;;GAIG;AACH,eAAO,MAAM,2BAA2B;;;;;EAAuD,CAAA;AAC/F,MAAM,MAAM,qBAAqB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,2BAA2B,CAAC,CAAA;AAE/E;;;;;;;;GAQG;AACH,MAAM,MAAM,qBAAqB,GAAG;IAClC,aAAa,EAAE,MAAM,CAAA;IACrB,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,EAAE,UAAU,CAAA;IAChB,MAAM,EAAE,qBAAqB,CAAA;IAC7B,QAAQ,EAAE;QACR,KAAK,CAAC,EAAE,MAAM,CAAA;QACd,YAAY,CAAC,EAAE,MAAM,CAAA;QACrB,GAAG,CAAC,EAAE,MAAM,CAAA;QACZ,WAAW,CAAC,EAAE,MAAM,CAAA;QACpB,SAAS,CAAC,EAAE,OAAO,CAAA;QACnB,UAAU,CAAC,EAAE,OAAO,CAAA;QACpB,YAAY,CAAC,EAAE,OAAO,CAAA;QACtB,gBAAgB,CAAC,EAAE,MAAM,CAAA;QACzB,YAAY,CAAC,EAAE,MAAM,CAAA;QACrB,WAAW,CAAC,EAAE,MAAM,CAAA;KACrB,CAAA;IACD,cAAc,EAAE,OAAO,CAAA;IACvB,eAAe,EAAE,MAAM,GAAG,IAAI,CAAA;IAE9B,YAAY,CAAC,EAAE,SAAS,MAAM,EAAE,CAAA;IAChC,QAAQ,CAAC,EAAE,SAAS,MAAM,EAAE,CAAA;IAC5B,UAAU,CAAC,EAAE,UAAU,CAAA;IACvB,QAAQ,CAAC,EAAE,SAAS,qBAAqB,EAAE,CAAA;CAC5C,CAAA;AAED,eAAO,MAAM,2BAA2B,EAAE,CAAC,CAAC,OAAO,CAAC,qBAAqB,CA+CxE,CAAA;AAED;;;;;GAKG;AACH,eAAO,MAAM,2BAA2B;;;;iBAMtC,CAAA;AACF,MAAM,MAAM,qBAAqB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,2BAA2B,CAAC,CAAA;AAE/E,eAAO,MAAM,yBAAyB;;;;;;;;;;;;;;;;;;;;;QAkBlC;;;;WAIG;;;;QAKH;;;;WAIG;;;;QAMH;;;;;;WAMG;;;;;;;;;QAcH;;;;;WAKG;;;;;;CAUkC,CAAA;AAEzC,MAAM,MAAM,wBAAwB,GAAG,aAAa,CAAC,OAAO,yBAAyB,CAAC,CAAA;AACtF,MAAM,MAAM,8BAA8B,GAAG,mBAAmB,CAAC,OAAO,yBAAyB,CAAC,CAAA"}