@camstack/types 0.1.40 → 0.1.42

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 (302) hide show
  1. package/dist/addon/base-addon.d.ts +12 -0
  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/advanced-notifier.cap.d.ts +4 -0
  8. package/dist/capabilities/advanced-notifier.cap.d.ts.map +1 -1
  9. package/dist/capabilities/air-quality-sensor.cap.d.ts +56 -0
  10. package/dist/capabilities/air-quality-sensor.cap.d.ts.map +1 -0
  11. package/dist/capabilities/alarm-panel.cap.d.ts +154 -0
  12. package/dist/capabilities/alarm-panel.cap.d.ts.map +1 -0
  13. package/dist/capabilities/ambient-light-sensor.cap.d.ts +39 -0
  14. package/dist/capabilities/ambient-light-sensor.cap.d.ts.map +1 -0
  15. package/dist/capabilities/automation-control.cap.d.ts +65 -0
  16. package/dist/capabilities/automation-control.cap.d.ts.map +1 -0
  17. package/dist/capabilities/battery.cap.d.ts +30 -1
  18. package/dist/capabilities/battery.cap.d.ts.map +1 -1
  19. package/dist/capabilities/binary.cap.d.ts +40 -0
  20. package/dist/capabilities/binary.cap.d.ts.map +1 -0
  21. package/dist/capabilities/brightness.cap.d.ts +3 -2
  22. package/dist/capabilities/brightness.cap.d.ts.map +1 -1
  23. package/dist/capabilities/broker.cap.d.ts +291 -0
  24. package/dist/capabilities/broker.cap.d.ts.map +1 -0
  25. package/dist/capabilities/button.cap.d.ts +27 -0
  26. package/dist/capabilities/button.cap.d.ts.map +1 -0
  27. package/dist/capabilities/camera-credentials.cap.d.ts +1 -0
  28. package/dist/capabilities/camera-credentials.cap.d.ts.map +1 -1
  29. package/dist/capabilities/camera-streams.cap.d.ts +147 -10
  30. package/dist/capabilities/camera-streams.cap.d.ts.map +1 -1
  31. package/dist/capabilities/capability-definition.d.ts +15 -0
  32. package/dist/capabilities/capability-definition.d.ts.map +1 -1
  33. package/dist/capabilities/carbon-monoxide.cap.d.ts +33 -0
  34. package/dist/capabilities/carbon-monoxide.cap.d.ts.map +1 -0
  35. package/dist/capabilities/climate-control.cap.d.ts +183 -0
  36. package/dist/capabilities/climate-control.cap.d.ts.map +1 -0
  37. package/dist/capabilities/color.cap.d.ts +186 -0
  38. package/dist/capabilities/color.cap.d.ts.map +1 -0
  39. package/dist/capabilities/connectivity.cap.d.ts +37 -0
  40. package/dist/capabilities/connectivity.cap.d.ts.map +1 -0
  41. package/dist/capabilities/consumables.cap.d.ts +105 -0
  42. package/dist/capabilities/consumables.cap.d.ts.map +1 -0
  43. package/dist/capabilities/contact.cap.d.ts +41 -0
  44. package/dist/capabilities/contact.cap.d.ts.map +1 -0
  45. package/dist/capabilities/control.cap.d.ts +167 -0
  46. package/dist/capabilities/control.cap.d.ts.map +1 -0
  47. package/dist/capabilities/cover.cap.d.ts +104 -0
  48. package/dist/capabilities/cover.cap.d.ts.map +1 -0
  49. package/dist/capabilities/custom-actions.d.ts +6 -0
  50. package/dist/capabilities/custom-actions.d.ts.map +1 -1
  51. package/dist/capabilities/decoder.cap.d.ts +1 -1
  52. package/dist/capabilities/device-adoption.cap.d.ts +203 -0
  53. package/dist/capabilities/device-adoption.cap.d.ts.map +1 -0
  54. package/dist/capabilities/device-discovery.cap.d.ts +44 -143
  55. package/dist/capabilities/device-discovery.cap.d.ts.map +1 -1
  56. package/dist/capabilities/device-manager.cap.d.ts +469 -0
  57. package/dist/capabilities/device-manager.cap.d.ts.map +1 -1
  58. package/dist/capabilities/device-ops.cap.d.ts +30 -0
  59. package/dist/capabilities/device-ops.cap.d.ts.map +1 -1
  60. package/dist/capabilities/device-provider.cap.d.ts +36 -0
  61. package/dist/capabilities/device-provider.cap.d.ts.map +1 -1
  62. package/dist/capabilities/device-status.cap.d.ts +1 -0
  63. package/dist/capabilities/device-status.cap.d.ts.map +1 -1
  64. package/dist/capabilities/doorbell.cap.d.ts +1 -0
  65. package/dist/capabilities/doorbell.cap.d.ts.map +1 -1
  66. package/dist/capabilities/enum-sensor.cap.d.ts +60 -0
  67. package/dist/capabilities/enum-sensor.cap.d.ts.map +1 -0
  68. package/dist/capabilities/event-emitter.cap.d.ts +79 -0
  69. package/dist/capabilities/event-emitter.cap.d.ts.map +1 -0
  70. package/dist/capabilities/fan-control.cap.d.ts +100 -0
  71. package/dist/capabilities/fan-control.cap.d.ts.map +1 -0
  72. package/dist/capabilities/feature-probe.cap.d.ts +1 -0
  73. package/dist/capabilities/feature-probe.cap.d.ts.map +1 -1
  74. package/dist/capabilities/filesystem-browse.cap.d.ts +39 -0
  75. package/dist/capabilities/filesystem-browse.cap.d.ts.map +1 -0
  76. package/dist/capabilities/flood.cap.d.ts +37 -0
  77. package/dist/capabilities/flood.cap.d.ts.map +1 -0
  78. package/dist/capabilities/gas.cap.d.ts +34 -0
  79. package/dist/capabilities/gas.cap.d.ts.map +1 -0
  80. package/dist/capabilities/humidifier.cap.d.ts +82 -0
  81. package/dist/capabilities/humidifier.cap.d.ts.map +1 -0
  82. package/dist/capabilities/humidity-sensor.cap.d.ts +43 -0
  83. package/dist/capabilities/humidity-sensor.cap.d.ts.map +1 -0
  84. package/dist/capabilities/image.cap.d.ts +44 -0
  85. package/dist/capabilities/image.cap.d.ts.map +1 -0
  86. package/dist/capabilities/index.d.ts +97 -12
  87. package/dist/capabilities/index.d.ts.map +1 -1
  88. package/dist/capabilities/integrations.cap.d.ts +12 -0
  89. package/dist/capabilities/integrations.cap.d.ts.map +1 -1
  90. package/dist/capabilities/intercom.cap.d.ts +49 -9
  91. package/dist/capabilities/intercom.cap.d.ts.map +1 -1
  92. package/dist/capabilities/lawn-mower-control.cap.d.ts +83 -0
  93. package/dist/capabilities/lawn-mower-control.cap.d.ts.map +1 -0
  94. package/dist/capabilities/lock-control.cap.d.ts +92 -0
  95. package/dist/capabilities/lock-control.cap.d.ts.map +1 -0
  96. package/dist/capabilities/media-player.cap.d.ts +201 -0
  97. package/dist/capabilities/media-player.cap.d.ts.map +1 -0
  98. package/dist/capabilities/motion-trigger.cap.d.ts +1 -0
  99. package/dist/capabilities/motion-trigger.cap.d.ts.map +1 -1
  100. package/dist/capabilities/motion-zones.cap.d.ts +1 -0
  101. package/dist/capabilities/motion-zones.cap.d.ts.map +1 -1
  102. package/dist/capabilities/native-object-detection.cap.d.ts +1 -0
  103. package/dist/capabilities/native-object-detection.cap.d.ts.map +1 -1
  104. package/dist/capabilities/network-quality.cap.d.ts +5 -0
  105. package/dist/capabilities/network-quality.cap.d.ts.map +1 -1
  106. package/dist/capabilities/notifier.cap.d.ts +173 -0
  107. package/dist/capabilities/notifier.cap.d.ts.map +1 -0
  108. package/dist/capabilities/numeric-sensor.cap.d.ts +52 -0
  109. package/dist/capabilities/numeric-sensor.cap.d.ts.map +1 -0
  110. package/dist/capabilities/osd.cap.d.ts +1 -0
  111. package/dist/capabilities/osd.cap.d.ts.map +1 -1
  112. package/dist/capabilities/pipeline-analytics.cap.d.ts +69 -22
  113. package/dist/capabilities/pipeline-analytics.cap.d.ts.map +1 -1
  114. package/dist/capabilities/pipeline-executor.cap.d.ts +2 -2
  115. package/dist/capabilities/pipeline-orchestrator.cap.d.ts +1 -1
  116. package/dist/capabilities/pipeline-runner.cap.d.ts +2 -2
  117. package/dist/capabilities/platform-probe.cap.d.ts +25 -0
  118. package/dist/capabilities/platform-probe.cap.d.ts.map +1 -1
  119. package/dist/capabilities/power-meter.cap.d.ts +65 -0
  120. package/dist/capabilities/power-meter.cap.d.ts.map +1 -0
  121. package/dist/capabilities/presence.cap.d.ts +79 -0
  122. package/dist/capabilities/presence.cap.d.ts.map +1 -0
  123. package/dist/capabilities/pressure-sensor.cap.d.ts +43 -0
  124. package/dist/capabilities/pressure-sensor.cap.d.ts.map +1 -0
  125. package/dist/capabilities/privacy-mask.cap.d.ts +1 -0
  126. package/dist/capabilities/privacy-mask.cap.d.ts.map +1 -1
  127. package/dist/capabilities/ptz-autotrack.cap.d.ts +1 -0
  128. package/dist/capabilities/ptz-autotrack.cap.d.ts.map +1 -1
  129. package/dist/capabilities/ptz.cap.d.ts +1 -0
  130. package/dist/capabilities/ptz.cap.d.ts.map +1 -1
  131. package/dist/capabilities/reboot.cap.d.ts +1 -0
  132. package/dist/capabilities/reboot.cap.d.ts.map +1 -1
  133. package/dist/capabilities/recording.cap.d.ts +367 -32
  134. package/dist/capabilities/recording.cap.d.ts.map +1 -1
  135. package/dist/capabilities/restreamer.cap.d.ts +2 -2
  136. package/dist/capabilities/schemas/orchestrator-metrics.d.ts +2 -2
  137. package/dist/capabilities/schemas/streaming-shared.d.ts +64 -1
  138. package/dist/capabilities/schemas/streaming-shared.d.ts.map +1 -1
  139. package/dist/capabilities/script-runner.cap.d.ts +62 -0
  140. package/dist/capabilities/script-runner.cap.d.ts.map +1 -0
  141. package/dist/capabilities/settings-store.cap.d.ts +25 -0
  142. package/dist/capabilities/settings-store.cap.d.ts.map +1 -1
  143. package/dist/capabilities/smoke.cap.d.ts +38 -0
  144. package/dist/capabilities/smoke.cap.d.ts.map +1 -0
  145. package/dist/capabilities/snapshot-provider.cap.d.ts +1 -1
  146. package/dist/capabilities/snapshot.cap.d.ts +1 -0
  147. package/dist/capabilities/snapshot.cap.d.ts.map +1 -1
  148. package/dist/capabilities/storage-evictable.cap.d.ts +54 -0
  149. package/dist/capabilities/storage-evictable.cap.d.ts.map +1 -0
  150. package/dist/capabilities/storage-provider.cap.d.ts +46 -186
  151. package/dist/capabilities/storage-provider.cap.d.ts.map +1 -1
  152. package/dist/capabilities/storage.cap.d.ts +41 -226
  153. package/dist/capabilities/storage.cap.d.ts.map +1 -1
  154. package/dist/capabilities/stream-broker.cap.d.ts +323 -25
  155. package/dist/capabilities/stream-broker.cap.d.ts.map +1 -1
  156. package/dist/capabilities/stream-catalog.cap.d.ts +3 -0
  157. package/dist/capabilities/stream-catalog.cap.d.ts.map +1 -1
  158. package/dist/capabilities/stream-params.cap.d.ts +27 -26
  159. package/dist/capabilities/stream-params.cap.d.ts.map +1 -1
  160. package/dist/capabilities/switch.cap.d.ts +1 -0
  161. package/dist/capabilities/switch.cap.d.ts.map +1 -1
  162. package/dist/capabilities/tamper.cap.d.ts +33 -0
  163. package/dist/capabilities/tamper.cap.d.ts.map +1 -0
  164. package/dist/capabilities/temperature-sensor.cap.d.ts +51 -0
  165. package/dist/capabilities/temperature-sensor.cap.d.ts.map +1 -0
  166. package/dist/capabilities/update.cap.d.ts +49 -0
  167. package/dist/capabilities/update.cap.d.ts.map +1 -0
  168. package/dist/capabilities/vacuum-control.cap.d.ts +229 -0
  169. package/dist/capabilities/vacuum-control.cap.d.ts.map +1 -0
  170. package/dist/capabilities/valve.cap.d.ts +93 -0
  171. package/dist/capabilities/valve.cap.d.ts.map +1 -0
  172. package/dist/capabilities/vibration.cap.d.ts +33 -0
  173. package/dist/capabilities/vibration.cap.d.ts.map +1 -0
  174. package/dist/capabilities/videoclips.cap.d.ts +77 -0
  175. package/dist/capabilities/videoclips.cap.d.ts.map +1 -0
  176. package/dist/capabilities/water-heater.cap.d.ts +78 -0
  177. package/dist/capabilities/water-heater.cap.d.ts.map +1 -0
  178. package/dist/capabilities/weather.cap.d.ts +76 -0
  179. package/dist/capabilities/weather.cap.d.ts.map +1 -0
  180. package/dist/capabilities/webrtc-session.cap.d.ts +95 -1
  181. package/dist/capabilities/webrtc-session.cap.d.ts.map +1 -1
  182. package/dist/constants.d.ts +0 -2
  183. package/dist/constants.d.ts.map +1 -1
  184. package/dist/device/base-device-provider.d.ts +11 -0
  185. package/dist/device/base-device-provider.d.ts.map +1 -1
  186. package/dist/device/base-device.d.ts +52 -0
  187. package/dist/device/base-device.d.ts.map +1 -1
  188. package/dist/device/device-context.d.ts +29 -0
  189. package/dist/device/device-context.d.ts.map +1 -1
  190. package/dist/device/device-link-transform.d.ts +6 -0
  191. package/dist/device/device-link-transform.d.ts.map +1 -0
  192. package/dist/device/device-management.d.ts +116 -4
  193. package/dist/device/device-management.d.ts.map +1 -1
  194. package/dist/device/device-type.d.ts +214 -3
  195. package/dist/device/device-type.d.ts.map +1 -1
  196. package/dist/device/device.d.ts +25 -0
  197. package/dist/device/device.d.ts.map +1 -1
  198. package/dist/device/index.d.ts +5 -1
  199. package/dist/device/index.d.ts.map +1 -1
  200. package/dist/device/path-util.d.ts +13 -0
  201. package/dist/device/path-util.d.ts.map +1 -0
  202. package/dist/device/schema-fields.d.ts +12 -0
  203. package/dist/device/schema-fields.d.ts.map +1 -0
  204. package/dist/device/source-info.d.ts +87 -0
  205. package/dist/device/source-info.d.ts.map +1 -0
  206. package/dist/device/system-mirror.d.ts +6 -2
  207. package/dist/device/system-mirror.d.ts.map +1 -1
  208. package/dist/encode-profile.d.ts +126 -0
  209. package/dist/encode-profile.d.ts.map +1 -0
  210. package/dist/enums/event-category.d.ts +64 -6
  211. package/dist/enums/event-category.d.ts.map +1 -1
  212. package/dist/generated/addon-api.d.ts +12722 -8080
  213. package/dist/generated/addon-api.d.ts.map +1 -1
  214. package/dist/generated/cap-status-types.d.ts +85 -1
  215. package/dist/generated/cap-status-types.d.ts.map +1 -1
  216. package/dist/generated/capability-router-map.d.ts +139 -7
  217. package/dist/generated/capability-router-map.d.ts.map +1 -1
  218. package/dist/generated/device-local-state.d.ts +117 -0
  219. package/dist/generated/device-local-state.d.ts.map +1 -1
  220. package/dist/generated/device-proxy.d.ts +126 -5
  221. package/dist/generated/device-proxy.d.ts.map +1 -1
  222. package/dist/generated/method-access-map.d.ts +1 -1
  223. package/dist/generated/method-access-map.d.ts.map +1 -1
  224. package/dist/generated/provider-kind-map.d.ts +1 -1
  225. package/dist/generated/provider-kind-map.d.ts.map +1 -1
  226. package/dist/generated/system-proxy.d.ts +10 -8
  227. package/dist/generated/system-proxy.d.ts.map +1 -1
  228. package/dist/{index-C2zzIDdX.mjs → index-BxWo3b49.mjs} +4714 -1113
  229. package/dist/index-BxWo3b49.mjs.map +1 -0
  230. package/dist/{index-DnpdVFKv.js → index-CGMPfVaT.js} +4321 -720
  231. package/dist/index-CGMPfVaT.js.map +1 -0
  232. package/dist/index.d.ts +22 -3
  233. package/dist/index.d.ts.map +1 -1
  234. package/dist/index.js +1384 -116
  235. package/dist/index.js.map +1 -1
  236. package/dist/index.mjs +1698 -430
  237. package/dist/index.mjs.map +1 -1
  238. package/dist/interfaces/addon-data-plane.d.ts +76 -0
  239. package/dist/interfaces/addon-data-plane.d.ts.map +1 -0
  240. package/dist/interfaces/addon.d.ts +60 -0
  241. package/dist/interfaces/addon.d.ts.map +1 -1
  242. package/dist/interfaces/advanced-notifier.d.ts +4 -0
  243. package/dist/interfaces/advanced-notifier.d.ts.map +1 -1
  244. package/dist/interfaces/capability.d.ts +42 -1
  245. package/dist/interfaces/capability.d.ts.map +1 -1
  246. package/dist/interfaces/config-ui.d.ts +70 -6
  247. package/dist/interfaces/config-ui.d.ts.map +1 -1
  248. package/dist/interfaces/device-capabilities/camera.d.ts +2 -1
  249. package/dist/interfaces/device-capabilities/camera.d.ts.map +1 -1
  250. package/dist/interfaces/event-bus.d.ts +49 -3
  251. package/dist/interfaces/event-bus.d.ts.map +1 -1
  252. package/dist/interfaces/kernel-abstractions.d.ts +10 -1
  253. package/dist/interfaces/kernel-abstractions.d.ts.map +1 -1
  254. package/dist/interfaces/network-quality.d.ts +8 -0
  255. package/dist/interfaces/network-quality.d.ts.map +1 -1
  256. package/dist/interfaces/pipeline-executor-capability.d.ts +2 -2
  257. package/dist/interfaces/pipeline-orchestrator-capability.d.ts +2 -1
  258. package/dist/interfaces/pipeline-orchestrator-capability.d.ts.map +1 -1
  259. package/dist/interfaces/pipeline-runner-capability.d.ts +7 -0
  260. package/dist/interfaces/pipeline-runner-capability.d.ts.map +1 -1
  261. package/dist/interfaces/recording-config-migrate.d.ts +13 -0
  262. package/dist/interfaces/recording-config-migrate.d.ts.map +1 -0
  263. package/dist/interfaces/recording-config.d.ts +209 -0
  264. package/dist/interfaces/recording-config.d.ts.map +1 -0
  265. package/dist/interfaces/rtp-egress.d.ts +2 -3
  266. package/dist/interfaces/rtp-egress.d.ts.map +1 -1
  267. package/dist/interfaces/storage-location-declaration.d.ts +34 -0
  268. package/dist/interfaces/storage-location-declaration.d.ts.map +1 -0
  269. package/dist/interfaces/storage-location.d.ts +19 -74
  270. package/dist/interfaces/storage-location.d.ts.map +1 -1
  271. package/dist/interfaces/storage.d.ts +15 -4
  272. package/dist/interfaces/storage.d.ts.map +1 -1
  273. package/dist/interfaces/stream-broker.d.ts +18 -3
  274. package/dist/interfaces/stream-broker.d.ts.map +1 -1
  275. package/dist/interfaces/timezones.d.ts +59 -0
  276. package/dist/interfaces/timezones.d.ts.map +1 -0
  277. package/dist/node.d.ts +3 -0
  278. package/dist/node.d.ts.map +1 -1
  279. package/dist/node.js +50 -8
  280. package/dist/node.js.map +1 -1
  281. package/dist/node.mjs +51 -9
  282. package/dist/node.mjs.map +1 -1
  283. package/dist/storage/filesystem-storage-provider.d.ts +2 -1
  284. package/dist/storage/filesystem-storage-provider.d.ts.map +1 -1
  285. package/dist/stream-selection.d.ts +85 -0
  286. package/dist/stream-selection.d.ts.map +1 -0
  287. package/dist/types/detection.d.ts +3 -3
  288. package/dist/types/io.d.ts +1 -1
  289. package/dist/types/io.d.ts.map +1 -1
  290. package/dist/util/location-match.d.ts +15 -0
  291. package/dist/util/location-match.d.ts.map +1 -0
  292. package/dist/utils/canonical-hash.d.ts +20 -0
  293. package/dist/utils/canonical-hash.d.ts.map +1 -0
  294. package/dist/utils/export-reconciler.d.ts +101 -0
  295. package/dist/utils/export-reconciler.d.ts.map +1 -0
  296. package/dist/utils/sleep.d.ts +36 -0
  297. package/dist/utils/sleep.d.ts.map +1 -0
  298. package/package.json +1 -1
  299. package/dist/capabilities/recording-engine.cap.d.ts +0 -477
  300. package/dist/capabilities/recording-engine.cap.d.ts.map +0 -1
  301. package/dist/index-C2zzIDdX.mjs.map +0 -1
  302. package/dist/index-DnpdVFKv.js.map +0 -1
package/dist/index.mjs CHANGED
@@ -1,5 +1,5 @@
1
- import { h as hydrateSchema, e as errMsg, z as zonesCapability, a as zoneRulesCapability, b as zoneAnalyticsCapability, s as switchCapability, c as streamParamsCapability, p as ptzAutotrackCapability, d as privacyMaskCapability, n as nativeObjectDetectionCapability, m as motionZonesCapability, f as motionTriggerCapability, g as motionCapability, i as featureProbeCapability, j as doorbellCapability, k as deviceStatusCapability, l as deviceDiscoveryCapability, o as cameraStreamsCapability, q as brightnessCapability, r as batteryCapability, t as audioMetricsCapability, u as deviceProviderCapability, v as accessoriesCapability, w as addonPagesCapability, x as addonPagesSourceCapability, y as addonRoutesCapability, A as addonSettingsCapability, B as addonWidgetsCapability, C as addonWidgetsSourceCapability, D as addonsCapability, E as adminUiCapability, F as advancedNotifierCapability, G as alertsCapability, H as audioAnalysisCapability, I as audioAnalyzerCapability, J as audioCodecCapability, K as authProviderCapability, L as backupCapability, M as cameraCredentialsCapability, N as cameraPipelineConfigCapability, O as decoderCapability, P as detectionPipelineCapability, Q as deviceExportCapability, R as deviceManagerCapability, S as deviceOpsCapability, T as deviceStateCapability, U as embeddingEncoderCapability, V as eventsCapability, W as integrationsCapability, X as intercomCapability, Y as localNetworkCapability, Z as logDestinationCapability, _ as meshNetworkCapability, $ as metricsProviderCapability, a0 as motionDetectionCapability, a1 as mqttBrokerCapability, a2 as networkAccessCapability, a3 as networkQualityCapability, a4 as nodesCapability, a5 as notificationOutputCapability, a6 as oauthIntegrationCapability, a7 as osdCapability, a8 as pipelineAnalyticsCapability, a9 as pipelineExecutorCapability, aa as pipelineOrchestratorCapability, ab as pipelineRunnerCapability, ac as platformProbeCapability, ad as ptzCapability, ae as rebootCapability, af as recordingCapability, ag as recordingEngineCapability, ah as restreamerCapability, ai as settingsStoreCapability, aj as smtpProviderCapability, ak as snapshotCapability, al as snapshotProviderCapability, am as ssoBridgeCapability, an as storageCapability, ao as storageProviderCapability, ap as streamBrokerCapability, aq as streamCatalogCapability, ar as streamingEngineCapability, as as systemCapability, at as toastCapability, au as turnProviderCapability, av as userManagementCapability, aw as userPasskeysCapability, ax as webrtcCapability, ay as webrtcSessionCapability } from "./index-C2zzIDdX.mjs";
2
- import { az, aA, aB, aC, aD, aE, aF, aG, aH, aI, aJ, aK, aL, aM, aN, aO, aP, aQ, aR, aS, aT, aU, aV, aW, aX, aY, aZ, a_, a$, b0, b1, b2, b3, b4, b5, b6, b7, b8, b9, ba, bb, bc, bd, be, bf, bg, bh, bi, bj, bk, bl, bm, bn, bo, bp, bq, br, bs, bt, bu, bv, bw, bx, by, bz, bA, bB, bC, bD, bE, bF, bG, bH, bI, bJ, bK, bL, bM, bN, bO, bP, bQ, bR, bS, bT, bU, bV, bW, bX, bY, bZ, b_, b$, c0, c1, c2, c3, c4, c5, c6, c7, c8, c9, ca, cb, cc, cd, ce, cf, cg, ch, ci, cj, ck, cl, cm, cn, co, cp, cq, cr, cs, ct, cu, cv, cw, cx, cy, cz, cA, cB, cC, cD, cE, cF, cG, cH, cI, cJ, cK, cL, cM, cN, cO, cP, cQ, cR, cS, cT, cU, cV, cW, cX, cY, cZ, c_, c$, d0, d1, d2, d3, d4, d5, d6, d7, d8, d9, da, db, dc, dd, de, df, dg, dh, di, dj, dk, dl, dm, dn, dp, dq, dr, ds, dt, du, dv, dw, dx, dy, dz, dA, dB, dC, dD, dE, dF, dG, dH, dI, dJ, dK, dL, dM, dN, dO, dP, dQ, dR, dS, dT, dU, dV, dW, dX, dY, dZ, d_, d$, e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, ea, eb, ec, ed, ee, ef, eg, eh, ei, ej, ek, el, em, en, eo, ep, eq, er, es, et, eu, ev, ew, ex, ey, ez, eA, eB, eC, eD, eE, eF, eG, eH, eI, eJ, eK, eL, eM, eN, eO, eP, eQ, eR, eS, eT, eU, eV, eW, eX, eY, eZ, e_, e$, f0, f1, f2, f3, f4, f5, f6, f7, f8, f9, fa, fb, fc, fd, fe, ff, fg, fh, fi, fj, fk, fl, fm, fn, fo, fp, fq, fr, fs, ft, fu, fv } from "./index-C2zzIDdX.mjs";
1
+ import { h as hydrateSchema, e as errMsg, z as zonesCapability, a as zoneRulesCapability, b as zoneAnalyticsCapability, w as weatherCapability, c as waterHeaterCapability, v as vibrationCapability, d as valveCapability, f as vacuumControlCapability, u as updateCapability, t as temperatureSensorCapability, g as tamperCapability, s as switchCapability, i as streamParamsCapability, j as smokeCapability, k as scriptRunnerCapability, p as ptzAutotrackCapability, l as privacyMaskCapability, m as pressureSensorCapability, n as presenceCapability, o as powerMeterCapability, q as numericSensorCapability, r as notifierCapability, x as nativeObjectDetectionCapability, y as motionZonesCapability, A as motionTriggerCapability, B as motionCapability, C as mediaPlayerCapability, D as lockControlCapability, E as lawnMowerControlCapability, F as imageCapability, G as humiditySensorCapability, H as humidifierCapability, I as gasCapability, J as floodCapability, K as featureProbeCapability, L as fanControlCapability, M as eventEmitterCapability, N as enumSensorCapability, O as doorbellCapability, P as deviceStatusCapability, Q as deviceDiscoveryCapability, R as coverCapability, S as controlCapability, T as contactCapability, U as consumablesCapability, V as connectivityCapability, W as colorCapability, X as climateControlCapability, Y as carbonMonoxideCapability, Z as cameraStreamsCapability, _ as brightnessCapability, $ as binaryCapability, a0 as batteryCapability, a1 as automationControlCapability, a2 as audioMetricsCapability, a3 as ambientLightSensorCapability, a4 as alarmPanelCapability, a5 as airQualitySensorCapability, a6 as extractSourceInfoFromMetadata, a7 as synthesizeSourceInfo, a8 as mergeSourceInfo, a9 as SOURCE_INFO_METADATA_KEY, aa as deviceProviderCapability, ab as accessoriesCapability, ac as addonPagesCapability, ad as addonPagesSourceCapability, ae as addonRoutesCapability, af as addonSettingsCapability, ag as addonWidgetsCapability, ah as addonWidgetsSourceCapability, ai as addonsCapability, aj as adminUiCapability, ak as advancedNotifierCapability, al as alertsCapability, am as audioAnalysisCapability, an as audioAnalyzerCapability, ao as audioCodecCapability, ap as authProviderCapability, aq as backupCapability, ar as brokerCapability, as as buttonCapability, at as cameraCredentialsCapability, au as cameraPipelineConfigCapability, av as decoderCapability, aw as detectionPipelineCapability, ax as deviceAdoptionCapability, ay as deviceExportCapability, az as deviceManagerCapability, aA as deviceOpsCapability, aB as deviceStateCapability, aC as embeddingEncoderCapability, aD as eventsCapability, aE as filesystemBrowseCapability, aF as integrationsCapability, aG as intercomCapability, aH as localNetworkCapability, aI as logDestinationCapability, aJ as meshNetworkCapability, aK as metricsProviderCapability, aL as motionDetectionCapability, aM as mqttBrokerCapability, aN as networkAccessCapability, aO as networkQualityCapability, aP as nodesCapability, aQ as notificationOutputCapability, aR as oauthIntegrationCapability, aS as osdCapability, aT as pipelineAnalyticsCapability, aU as pipelineExecutorCapability, aV as pipelineOrchestratorCapability, aW as pipelineRunnerCapability, aX as platformProbeCapability, aY as ptzCapability, aZ as rebootCapability, a_ as recordingCapability, a$ as restreamerCapability, b0 as settingsStoreCapability, b1 as smtpProviderCapability, b2 as snapshotCapability, b3 as snapshotProviderCapability, b4 as ssoBridgeCapability, b5 as storageCapability, b6 as storageEvictableCapability, b7 as storageProviderCapability, b8 as streamBrokerCapability, b9 as streamCatalogCapability, ba as streamingEngineCapability, bb as systemCapability, bc as toastCapability, bd as turnProviderCapability, be as userManagementCapability, bf as userPasskeysCapability, bg as videoclipsCapability, bh as webrtcCapability, bi as webrtcSessionCapability } from "./index-BxWo3b49.mjs";
2
+ import { bj, bk, bl, bm, bn, bo, bp, bq, br, bs, bt, bu, bv, bw, bx, by, bz, bA, bB, bC, bD, bE, bF, bG, bH, bI, bJ, bK, bL, bM, bN, bO, bP, bQ, bR, bS, bT, bU, bV, bW, bX, bY, bZ, b_, b$, c0, c1, c2, c3, c4, c5, c6, c7, c8, c9, ca, cb, cc, cd, ce, cf, cg, ch, ci, cj, ck, cl, cm, cn, co, cp, cq, cr, cs, ct, cu, cv, cw, cx, cy, cz, cA, cB, cC, cD, cE, cF, cG, cH, cI, cJ, cK, cL, cM, cN, cO, cP, cQ, cR, cS, cT, cU, cV, cW, cX, cY, cZ, c_, c$, d0, d1, d2, d3, d4, d5, d6, d7, d8, d9, da, db, dc, dd, de, df, dg, dh, di, dj, dk, dl, dm, dn, dp, dq, dr, ds, dt, du, dv, dw, dx, dy, dz, dA, dB, dC, dD, dE, dF, dG, dH, dI, dJ, dK, dL, dM, dN, dO, dP, dQ, dR, dS, dT, dU, dV, dW, dX, dY, dZ, d_, d$, e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, ea, eb, ec, ed, ee, ef, eg, eh, ei, ej, ek, el, em, en, eo, ep, eq, er, es, et, eu, ev, ew, ex, ey, ez, eA, eB, eC, eD, eE, eF, eG, eH, eI, eJ, eK, eL, eM, eN, eO, eP, eQ, eR, eS, eT, eU, eV, eW, eX, eY, eZ, e_, e$, f0, f1, f2, f3, f4, f5, f6, f7, f8, f9, fa, fb, fc, fd, fe, ff, fg, fh, fi, fj, fk, fl, fm, fn, fo, fp, fq, fr, fs, ft, fu, fv, fw, fx, fy, fz, fA, fB, fC, fD, fE, fF, fG, fH, fI, fJ, fK, fL, fM, fN, fO, fP, fQ, fR, fS, fT, fU, fV, fW, fX, fY, fZ, f_, f$, g0, g1, g2, g3, g4, g5, g6, g7, g8, g9, ga, gb, gc, gd, ge, gf, gg, gh, gi, gj, gk, gl, gm, gn, go, gp, gq, gr, gs, gt, gu, gv, gw, gx, gy, gz, gA, gB, gC, gD, gE, gF, gG, gH, gI, gJ, gK, gL, gM, gN, gO, gP, gQ, gR, gS, gT, gU, gV, gW, gX, gY, gZ, g_, g$, h0, h1, h2, h3, h4, h5, h6, h7, h8, h9, ha, hb, hc, hd, he, hf, hg, hh, hi, hj, hk, hl, hm, hn, ho, hp, hq, hr, hs, ht, hu, hv, hw, hx, hy, hz, hA, hB, hC, hD, hE, hF, hG, hH, hI, hJ, hK, hL, hM, hN, hO, hP, hQ, hR, hS, hT, hU, hV, hW, hX, hY, hZ, h_, h$, i0 } from "./index-BxWo3b49.mjs";
3
3
  import { z } from "zod";
4
4
  class DisposerChain {
5
5
  disposers = [];
@@ -119,10 +119,15 @@ var EventCategory = /* @__PURE__ */ ((EventCategory2) => {
119
119
  EventCategory2["DeviceSettingsUpdated"] = "device.settings-updated";
120
120
  EventCategory2["DeviceBindingsChanged"] = "device.bindings-changed";
121
121
  EventCategory2["DeviceMetaChanged"] = "device.meta-changed";
122
+ EventCategory2["DeviceSourceInfoChanged"] = "device.source-info-changed";
122
123
  EventCategory2["DeviceStreamsRegistered"] = "device.streams-registered";
124
+ EventCategory2["DeviceProvisioned"] = "device.provisioned";
125
+ EventCategory2["DeviceReady"] = "device.ready";
123
126
  EventCategory2["IntegrationEnabled"] = "integration.enabled";
124
127
  EventCategory2["IntegrationDisabled"] = "integration.disabled";
125
128
  EventCategory2["IntegrationDeleted"] = "integration.deleted";
129
+ EventCategory2["BrokerStatusChanged"] = "broker.status-changed";
130
+ EventCategory2["BrokerMessage"] = "broker.message";
126
131
  EventCategory2["ProviderStarted"] = "provider.started";
127
132
  EventCategory2["ProviderStopped"] = "provider.stopped";
128
133
  EventCategory2["ProcessCrashed"] = "process.crashed";
@@ -156,7 +161,9 @@ var EventCategory = /* @__PURE__ */ ((EventCategory2) => {
156
161
  EventCategory2["StreamParamsChanged"] = "stream-params.changed";
157
162
  EventCategory2["DeviceStateChanged"] = "device.state-changed";
158
163
  EventCategory2["BatteryOnStatusChanged"] = "battery.onStatusChanged";
164
+ EventCategory2["BatteryOnWakeStarted"] = "battery.onWakeStarted";
159
165
  EventCategory2["DoorbellOnPressed"] = "doorbell.onPressed";
166
+ EventCategory2["EventEmitted"] = "event-emitter.event";
160
167
  EventCategory2["PipelineEngineMetricsSnapshot"] = "pipeline.engine-metrics-snapshot";
161
168
  EventCategory2["ClusterTopologySnapshot"] = "cluster.topology-snapshot";
162
169
  EventCategory2["MetricsNodeResourcesSnapshot"] = "metrics.node-resources-snapshot";
@@ -242,6 +249,27 @@ function emitReadiness(bus, params) {
242
249
  }
243
250
  ));
244
251
  }
252
+ function createDurableState(deps) {
253
+ const get = async () => {
254
+ const store = await deps.read();
255
+ const raw = store[deps.key];
256
+ if (raw === void 0) return deps.fallback;
257
+ const parsed = deps.schema.safeParse(raw);
258
+ if (!parsed.success) {
259
+ deps.onParseError?.(deps.key, parsed.error);
260
+ return deps.fallback;
261
+ }
262
+ return parsed.data;
263
+ };
264
+ const set = async (next) => {
265
+ const validated = deps.schema.parse(next);
266
+ await deps.write({ [deps.key]: validated });
267
+ };
268
+ const update = async (fn2) => {
269
+ await set(fn2(await get()));
270
+ };
271
+ return { get, set, update };
272
+ }
245
273
  class BaseAddon {
246
274
  _ctx = null;
247
275
  _config;
@@ -485,12 +513,18 @@ class BaseAddon {
485
513
  // ── Lifecycle event emission ────────────────────────────────────────────
486
514
  emitLifecycle(category, data) {
487
515
  try {
488
- this._ctx?.eventBus.emit({
489
- id: `${this._ctx.id}-${Date.now()}`,
516
+ const ctx = this._ctx;
517
+ if (!ctx) return;
518
+ ctx.eventBus.emit({
519
+ id: `${ctx.id}-${Date.now()}`,
490
520
  timestamp: /* @__PURE__ */ new Date(),
491
- source: { type: "addon", id: this._ctx.id, nodeId: this._ctx.kernel.localNodeId ?? "hub" },
521
+ source: { type: "addon", id: ctx.id, nodeId: ctx.kernel.localNodeId ?? "hub" },
492
522
  category,
493
- data: data ?? {}
523
+ // Always carry `addonId` in the payload (the lifecycle event
524
+ // contract declares it) so consumers — e.g. the alerts builder —
525
+ // can name the addon without reaching into `source`. An explicit
526
+ // `data.addonId` still wins if a caller provides one.
527
+ data: { addonId: ctx.id, ...data ?? {} }
494
528
  });
495
529
  } catch {
496
530
  }
@@ -563,6 +597,44 @@ class BaseAddon {
563
597
  }
564
598
  this._config = resolved;
565
599
  }
600
+ /**
601
+ * Typed durable handle over ONE key of this addon's store. The whole
602
+ * Zod-validated value round-trips on every read/write — no hand-listed
603
+ * fields, so a field can never be silently dropped on persist. Reads use
604
+ * the same retry budget as config resolution; a corrupt/legacy blob logs
605
+ * a warning and falls back rather than crashing boot.
606
+ */
607
+ state(key, schema, fallback) {
608
+ return createDurableState({
609
+ key,
610
+ schema,
611
+ fallback,
612
+ read: () => this.readAddonStoreWithRetry(),
613
+ write: async (patch) => {
614
+ await this._ctx?.settings?.writeAddonStore(patch);
615
+ },
616
+ onParseError: (k, e) => this._ctx?.logger?.warn?.(
617
+ `durable-state: stored "${k}" failed validation — using fallback`,
618
+ { meta: { addonId: this._ctx?.id, key: k, error: String(e) } }
619
+ )
620
+ });
621
+ }
622
+ /** Per-device variant of {@link state}, backed by the per-device store. */
623
+ deviceState(deviceId, key, schema, fallback) {
624
+ return createDurableState({
625
+ key,
626
+ schema,
627
+ fallback,
628
+ read: async () => await this._ctx?.settings?.readDeviceStore(deviceId) ?? {},
629
+ write: async (patch) => {
630
+ await this._ctx?.settings?.writeDeviceStore(deviceId, patch);
631
+ },
632
+ onParseError: (k, e) => this._ctx?.logger?.warn?.(
633
+ `durable-state: stored device ${deviceId} "${k}" failed validation — using fallback`,
634
+ { meta: { addonId: this._ctx?.id, deviceId, key: k, error: String(e) } }
635
+ )
636
+ });
637
+ }
566
638
  /**
567
639
  * Wrap `ctx.settings.readAddonStore()` with a short retry budget so a
568
640
  * transient settings-store outage (mid-restart of sqlite-settings, tsx-watch
@@ -688,6 +760,97 @@ function buildCapturingReply(envelope) {
688
760
  };
689
761
  return wrapper;
690
762
  }
763
+ const EU_DST = {
764
+ offsetHours: 1,
765
+ startMonth: 3,
766
+ startWeekIndex: 5,
767
+ startWeekday: "Sunday",
768
+ startHour: 2,
769
+ endMonth: 10,
770
+ endWeekIndex: 5,
771
+ endWeekday: "Sunday",
772
+ endHour: 3
773
+ };
774
+ const US_DST = {
775
+ offsetHours: 1,
776
+ startMonth: 3,
777
+ startWeekIndex: 2,
778
+ startWeekday: "Sunday",
779
+ startHour: 2,
780
+ endMonth: 11,
781
+ endWeekIndex: 1,
782
+ endWeekday: "Sunday",
783
+ endHour: 2
784
+ };
785
+ const AU_DST = {
786
+ offsetHours: 1,
787
+ startMonth: 10,
788
+ startWeekIndex: 1,
789
+ startWeekday: "Sunday",
790
+ startHour: 2,
791
+ endMonth: 4,
792
+ endWeekIndex: 1,
793
+ endWeekday: "Sunday",
794
+ endHour: 3
795
+ };
796
+ const TIMEZONES = [
797
+ // --- Universal ---
798
+ { id: "UTC", label: "UTC (UTC+0)", region: "Universal", stdOffsetMinutes: 0, dst: null },
799
+ // --- Europe (EU DST rule) ---
800
+ { id: "Europe/London", label: "Europe/London (UTC+0 / BST)", region: "Europe", stdOffsetMinutes: 0, dst: EU_DST },
801
+ { id: "Europe/Rome", label: "Europe/Rome (UTC+1 / CEST)", region: "Europe", stdOffsetMinutes: 60, dst: EU_DST },
802
+ { id: "Europe/Paris", label: "Europe/Paris (UTC+1 / CEST)", region: "Europe", stdOffsetMinutes: 60, dst: EU_DST },
803
+ { id: "Europe/Berlin", label: "Europe/Berlin (UTC+1 / CEST)", region: "Europe", stdOffsetMinutes: 60, dst: EU_DST },
804
+ { id: "Europe/Madrid", label: "Europe/Madrid (UTC+1 / CEST)", region: "Europe", stdOffsetMinutes: 60, dst: EU_DST },
805
+ { id: "Europe/Amsterdam", label: "Europe/Amsterdam (UTC+1 / CEST)", region: "Europe", stdOffsetMinutes: 60, dst: EU_DST },
806
+ { id: "Europe/Istanbul", label: "Europe/Istanbul (UTC+3)", region: "Europe", stdOffsetMinutes: 180, dst: null },
807
+ // --- Americas (US/Canada DST rule) ---
808
+ { id: "America/New_York", label: "America/New York (UTC−5 / EDT)", region: "Americas", stdOffsetMinutes: -300, dst: US_DST },
809
+ { id: "America/Chicago", label: "America/Chicago (UTC−6 / CDT)", region: "Americas", stdOffsetMinutes: -360, dst: US_DST },
810
+ { id: "America/Denver", label: "America/Denver (UTC−7 / MDT)", region: "Americas", stdOffsetMinutes: -420, dst: US_DST },
811
+ { id: "America/Los_Angeles", label: "America/Los Angeles (UTC−8 / PDT)", region: "Americas", stdOffsetMinutes: -480, dst: US_DST },
812
+ { id: "America/Sao_Paulo", label: "America/Sao Paulo (UTC−3)", region: "Americas", stdOffsetMinutes: -180, dst: null },
813
+ // --- Asia / Middle East (no DST) ---
814
+ { id: "Asia/Dubai", label: "Asia/Dubai (UTC+4)", region: "Asia", stdOffsetMinutes: 240, dst: null },
815
+ { id: "Asia/Kolkata", label: "Asia/Kolkata (UTC+5:30)", region: "Asia", stdOffsetMinutes: 330, dst: null },
816
+ { id: "Asia/Singapore", label: "Asia/Singapore (UTC+8)", region: "Asia", stdOffsetMinutes: 480, dst: null },
817
+ { id: "Asia/Shanghai", label: "Asia/Shanghai (UTC+8)", region: "Asia", stdOffsetMinutes: 480, dst: null },
818
+ { id: "Asia/Tokyo", label: "Asia/Tokyo (UTC+9)", region: "Asia", stdOffsetMinutes: 540, dst: null },
819
+ // --- Oceania (southern-hemisphere DST) ---
820
+ { id: "Australia/Sydney", label: "Australia/Sydney (UTC+10 / AEDT)", region: "Oceania", stdOffsetMinutes: 600, dst: AU_DST }
821
+ ];
822
+ function findTimezone(id) {
823
+ return TIMEZONES.find((tz) => tz.id === id);
824
+ }
825
+ const ALL_DAYS = [0, 1, 2, 3, 4, 5, 6];
826
+ const ALL_DAY_START = "00:00";
827
+ const ALL_DAY_END = "23:59";
828
+ function bandFromSchedule(schedule, mode, config) {
829
+ const days = schedule.kind === "timeOfDay" && schedule.days ? schedule.days : [...ALL_DAYS];
830
+ const start = schedule.kind === "timeOfDay" ? schedule.start : ALL_DAY_START;
831
+ const end = schedule.kind === "timeOfDay" ? schedule.end : ALL_DAY_END;
832
+ if (mode === "continuous") {
833
+ return { days, start, end, mode };
834
+ }
835
+ const eventsBand = { days, start, end, mode };
836
+ return {
837
+ ...eventsBand,
838
+ ...config.triggers ? { triggers: config.triggers } : {},
839
+ ...config.preBufferSec !== void 0 ? { preBufferSec: config.preBufferSec } : {},
840
+ ...config.postBufferSec !== void 0 ? { postBufferSec: config.postBufferSec } : {}
841
+ };
842
+ }
843
+ function migrateConfigToBands(config) {
844
+ if (config.bands) {
845
+ return config.bands;
846
+ }
847
+ if (!config.enabled || config.mode === "off") {
848
+ return [];
849
+ }
850
+ const schedules = config.schedules ?? (config.schedule ? [config.schedule] : [{ kind: "always" }]);
851
+ const bandMode = config.mode === "continuous" ? "continuous" : "events";
852
+ return schedules.map((schedule) => bandFromSchedule(schedule, bandMode, config));
853
+ }
691
854
  class ReadinessTimeoutError extends Error {
692
855
  capName;
693
856
  scope;
@@ -1083,34 +1246,7 @@ function emitDownForOwnedCaps(registry, owned) {
1083
1246
  registry.emitDown(capName, scope);
1084
1247
  }
1085
1248
  }
1086
- const STORAGE_LOCATION_TYPES = [
1087
- "data",
1088
- "media",
1089
- "recordings",
1090
- "recordings-high",
1091
- "recordings-low",
1092
- "recordings-clips",
1093
- "event-images",
1094
- "models",
1095
- "addons-data",
1096
- "cache",
1097
- "logs",
1098
- "backups"
1099
- ];
1100
- const DEFAULT_LOCATION_SUBDIRS = {
1101
- "data": "db",
1102
- "media": "media",
1103
- "recordings": "recordings",
1104
- "recordings-high": "recordings-high",
1105
- "recordings-low": "recordings-low",
1106
- "recordings-clips": "recordings-clips",
1107
- "event-images": "event-images",
1108
- "models": "models",
1109
- "addons-data": "addons-data",
1110
- "cache": "/tmp/camstack-cache",
1111
- "logs": "logs",
1112
- "backups": "backups"
1113
- };
1249
+ const DATAPLANE_SECRET_HEADER = "x-camstack-dataplane-secret";
1114
1250
  const STREAM_QUALITY_LABELS = {
1115
1251
  high: "High",
1116
1252
  mid: "Mid",
@@ -1158,12 +1294,12 @@ function toStreamSourceEntry(stream) {
1158
1294
  function isString(v) {
1159
1295
  return typeof v === "string";
1160
1296
  }
1161
- function isRecord(v) {
1297
+ function isRecord$1(v) {
1162
1298
  return typeof v === "object" && v !== null && !Array.isArray(v);
1163
1299
  }
1164
1300
  function parseStreamEntry(v) {
1165
1301
  if (isString(v) && v.trim()) return { url: v };
1166
- if (isRecord(v) && isString(v["url"]) && v["url"].trim()) {
1302
+ if (isRecord$1(v) && isString(v["url"]) && v["url"].trim()) {
1167
1303
  return {
1168
1304
  url: v["url"],
1169
1305
  label: isString(v["label"]) ? v["label"] : void 0
@@ -1224,6 +1360,51 @@ const DEFAULT_FEATURES = {
1224
1360
  };
1225
1361
  const SUB_DETECTION_TYPES = ["face", "plate"];
1226
1362
  const RECOGNITION_TYPES = ["face", "plate", "clip", "custom"];
1363
+ function pickPreferredRtspEntry(entries, pref, deviceId, options = {}) {
1364
+ if (entries.length === 0) return null;
1365
+ const prefix = `${deviceId}/`;
1366
+ const toPicked = (e) => ({
1367
+ brokerId: e.brokerId,
1368
+ profileId: e.brokerId.startsWith(prefix) ? e.brokerId.slice(prefix.length) : e.brokerId,
1369
+ url: e.url,
1370
+ mutedUrl: e.mutedUrl,
1371
+ enabled: e.enabled,
1372
+ ...e.codec !== void 0 ? { codec: e.codec } : {},
1373
+ ...e.resolution !== void 0 ? { resolution: e.resolution } : {}
1374
+ });
1375
+ if (pref !== "auto") {
1376
+ const match = entries.find(
1377
+ (e) => e.enabled && e.url.length > 0 && (e.profile === pref || e.brokerId === `${prefix}${pref}`)
1378
+ );
1379
+ if (match) return toPicked(match);
1380
+ }
1381
+ const eligible = entries.filter((e) => e.enabled && e.url.length > 0);
1382
+ if (eligible.length === 0) return null;
1383
+ const target = options.targetResolution;
1384
+ if (target) {
1385
+ const withRes = eligible.filter((e) => e.resolution !== void 0);
1386
+ if (withRes.length > 0) {
1387
+ const picked = pickClosestResolution(withRes, target);
1388
+ if (picked) return toPicked(picked);
1389
+ }
1390
+ }
1391
+ return toPicked(eligible[0]);
1392
+ }
1393
+ function pickClosestResolution(entries, target) {
1394
+ const targetPixels = target.width * target.height;
1395
+ let bestAbove;
1396
+ let bestBelow;
1397
+ for (const e of entries) {
1398
+ if (e.resolution === void 0) continue;
1399
+ const pixels = e.resolution.width * e.resolution.height;
1400
+ if (pixels >= targetPixels) {
1401
+ if (!bestAbove || pixels < bestAbove.pixels) bestAbove = { entry: e, pixels };
1402
+ } else {
1403
+ if (!bestBelow || pixels > bestBelow.pixels) bestBelow = { entry: e, pixels };
1404
+ }
1405
+ }
1406
+ return bestAbove?.entry ?? bestBelow?.entry;
1407
+ }
1227
1408
  const DEFAULT_RETENTION = {
1228
1409
  cleanupIntervalMs: 60 * 60 * 1e3,
1229
1410
  detectionEventsDays: 30,
@@ -1265,9 +1446,6 @@ const RUNTIME_DEFAULTS = {
1265
1446
  models: "camstack-data/models"
1266
1447
  },
1267
1448
  "providers": [],
1268
- // Recording
1269
- "recording.segmentDurationSeconds": 4,
1270
- "recording.defaultRetentionDays": 30,
1271
1449
  // Streaming ports are addon-specific (go2rtc owns its defaults)
1272
1450
  // FFmpeg
1273
1451
  "ffmpeg.binaryPath": "ffmpeg",
@@ -1935,22 +2113,61 @@ function createRuntimeStateBridge(params) {
1935
2113
  return { ensureFresh, getStatus };
1936
2114
  }
1937
2115
  const DEVICE_LOCAL_STATE_CAPS = {
2116
+ airQualitySensor: airQualitySensorCapability,
2117
+ alarmPanel: alarmPanelCapability,
2118
+ ambientLightSensor: ambientLightSensorCapability,
1938
2119
  audioMetrics: audioMetricsCapability,
2120
+ automationControl: automationControlCapability,
1939
2121
  battery: batteryCapability,
2122
+ binary: binaryCapability,
1940
2123
  brightness: brightnessCapability,
1941
2124
  cameraStreams: cameraStreamsCapability,
2125
+ carbonMonoxide: carbonMonoxideCapability,
2126
+ climateControl: climateControlCapability,
2127
+ color: colorCapability,
2128
+ connectivity: connectivityCapability,
2129
+ consumables: consumablesCapability,
2130
+ contact: contactCapability,
2131
+ control: controlCapability,
2132
+ cover: coverCapability,
1942
2133
  deviceDiscovery: deviceDiscoveryCapability,
1943
2134
  deviceStatus: deviceStatusCapability,
1944
2135
  doorbell: doorbellCapability,
2136
+ enumSensor: enumSensorCapability,
2137
+ eventEmitter: eventEmitterCapability,
2138
+ fanControl: fanControlCapability,
1945
2139
  featureProbe: featureProbeCapability,
2140
+ flood: floodCapability,
2141
+ gas: gasCapability,
2142
+ humidifier: humidifierCapability,
2143
+ humiditySensor: humiditySensorCapability,
2144
+ image: imageCapability,
2145
+ lawnMowerControl: lawnMowerControlCapability,
2146
+ lockControl: lockControlCapability,
2147
+ mediaPlayer: mediaPlayerCapability,
1946
2148
  motion: motionCapability,
1947
2149
  motionTrigger: motionTriggerCapability,
1948
2150
  motionZones: motionZonesCapability,
1949
2151
  nativeObjectDetection: nativeObjectDetectionCapability,
2152
+ notifier: notifierCapability,
2153
+ numericSensor: numericSensorCapability,
2154
+ powerMeter: powerMeterCapability,
2155
+ presence: presenceCapability,
2156
+ pressureSensor: pressureSensorCapability,
1950
2157
  privacyMask: privacyMaskCapability,
1951
2158
  ptzAutotrack: ptzAutotrackCapability,
2159
+ scriptRunner: scriptRunnerCapability,
2160
+ smoke: smokeCapability,
1952
2161
  streamParams: streamParamsCapability,
1953
2162
  switch: switchCapability,
2163
+ tamper: tamperCapability,
2164
+ temperatureSensor: temperatureSensorCapability,
2165
+ update: updateCapability,
2166
+ vacuumControl: vacuumControlCapability,
2167
+ valve: valveCapability,
2168
+ vibration: vibrationCapability,
2169
+ waterHeater: waterHeaterCapability,
2170
+ weather: weatherCapability,
1954
2171
  zoneAnalytics: zoneAnalyticsCapability,
1955
2172
  zoneRules: zoneRulesCapability,
1956
2173
  zones: zonesCapability
@@ -2054,6 +2271,16 @@ class BaseDevice {
2054
2271
  * `kernel.devices.setDisabled(id, value)`.
2055
2272
  */
2056
2273
  disabled;
2274
+ /**
2275
+ * Cached materialised `SourceInfo` — either the value persisted under
2276
+ * `metadata.sourceInfo` at construction time, or a synthetic
2277
+ * `{ id: stableId, system: addonId }` for providers that haven't
2278
+ * migrated yet. Lazily populated on first `sourceInfo` read so the
2279
+ * cost of Zod-parsing the meta blob is paid once per device boot.
2280
+ * Invalidated by `updateSourceInfo()` so providers see the new value
2281
+ * back through the getter without a re-fetch from the meta surface.
2282
+ */
2283
+ _sourceInfoCache = null;
2057
2284
  constructor(ctx, schema, options) {
2058
2285
  this.ctx = ctx;
2059
2286
  this.id = ctx.id;
@@ -2094,7 +2321,7 @@ class BaseDevice {
2094
2321
  this.runtimeState = DeviceRuntimeState.fromInitial(initial, writer);
2095
2322
  ctx.bindRuntimeState?.(this.runtimeState);
2096
2323
  ctx.registerNativeCap?.(deviceStatusCapability, {});
2097
- const seed = { online: false, lastChangedAt: Date.now() };
2324
+ const seed = { online: true, lastChangedAt: Date.now() };
2098
2325
  this.runtimeState.setCapState("device-status", seed);
2099
2326
  ctx.registerNativeCap?.(featureProbeCapability, {});
2100
2327
  const probeSeed = {
@@ -2107,6 +2334,21 @@ class BaseDevice {
2107
2334
  };
2108
2335
  this.runtimeState.setCapState("feature-probe", probeSeed);
2109
2336
  }
2337
+ deviceActions = /* @__PURE__ */ new Map();
2338
+ /** Declare a device custom action + its typed handler. Idempotent per name. */
2339
+ registerDeviceAction(name, spec, handler) {
2340
+ this.deviceActions.set(name, {
2341
+ spec,
2342
+ handler
2343
+ });
2344
+ }
2345
+ /** Invoke a registered device action. Validates input against the spec. */
2346
+ async runDeviceAction(action, input) {
2347
+ const entry = this.deviceActions.get(action);
2348
+ if (!entry) throw new Error(`unknown device action "${action}" on device ${this.id}`);
2349
+ const parsed = entry.spec.input.parse(input);
2350
+ return entry.handler(parsed);
2351
+ }
2110
2352
  async removeDevice() {
2111
2353
  }
2112
2354
  /**
@@ -2123,6 +2365,71 @@ class BaseDevice {
2123
2365
  const next = { online, lastChangedAt: Date.now() };
2124
2366
  this.runtimeState.setCapState("device-status", next);
2125
2367
  }
2368
+ /**
2369
+ * Upstream-system identity + rendering envelope for this device. See
2370
+ * `SourceInfo` for the field contract. Always returns a valid object:
2371
+ * if the persisted `metadata.sourceInfo` blob is absent or fails Zod
2372
+ * validation, falls back to a synthetic `{ id: stableId, system: addonId }`
2373
+ * so providers that haven't migrated keep working without code changes.
2374
+ *
2375
+ * The value is cached after the first read. `updateSourceInfo()`
2376
+ * invalidates the cache so subsequent reads see the new patch. The
2377
+ * returned object is frozen to prevent accidental in-place mutation —
2378
+ * use `updateSourceInfo({ patch })` to change fields.
2379
+ */
2380
+ get sourceInfo() {
2381
+ if (this._sourceInfoCache) return this._sourceInfoCache;
2382
+ const fromMeta = extractSourceInfoFromMetadata(this.ctx.deviceMeta.metadata);
2383
+ const resolved = fromMeta ?? synthesizeSourceInfo({
2384
+ stableId: this.stableId,
2385
+ addonId: this.ctx.deviceMeta.addonId
2386
+ });
2387
+ this._sourceInfoCache = Object.freeze({ ...resolved });
2388
+ return this._sourceInfoCache;
2389
+ }
2390
+ /**
2391
+ * Convenience accessor for the upstream dispatch key. Equivalent to
2392
+ * `this.sourceInfo.id` — providers use this to keep a
2393
+ * `Map<sourceId, IDevice>` for routing inbound push events.
2394
+ */
2395
+ get sourceId() {
2396
+ return this.sourceInfo.id;
2397
+ }
2398
+ /**
2399
+ * Patch the device's `SourceInfo`. Shallow-merges `patch` over the
2400
+ * current value, persists the merged result under
2401
+ * `metadata.sourceInfo` via the `device-manager.setMetadata` cap, and
2402
+ * emits `EventCategory.DeviceSourceInfoChanged` for live consumers.
2403
+ *
2404
+ * Safe to call from anywhere in the device's lifetime — the call is
2405
+ * idempotent for `undefined` patch values (ignored) and best-effort
2406
+ * for persistence (a transient device-manager error doesn't unwind
2407
+ * the local cache update, so subsequent reads still see the patch).
2408
+ *
2409
+ * Drivers populate this on adoption + on every metadata change push
2410
+ * from the upstream source. Subscribers (UI, export adapters) react
2411
+ * via the `DeviceSourceInfoChanged` event without polling.
2412
+ */
2413
+ async updateSourceInfo(patch) {
2414
+ const next = mergeSourceInfo(this.sourceInfo, patch);
2415
+ this._sourceInfoCache = Object.freeze({ ...next });
2416
+ const api = this.ctx.api;
2417
+ const action = api?.deviceManager?.setMetadata;
2418
+ if (action) {
2419
+ try {
2420
+ await action.mutate({
2421
+ deviceId: this.id,
2422
+ patch: { [SOURCE_INFO_METADATA_KEY]: next }
2423
+ });
2424
+ } catch {
2425
+ }
2426
+ }
2427
+ this.ctx.eventBus.emit(createEvent(
2428
+ "device.source-info-changed",
2429
+ { type: "device", id: this.stableId },
2430
+ { deviceId: this.id, sourceInfo: next }
2431
+ ));
2432
+ }
2126
2433
  /**
2127
2434
  * Re-publish the device's current `features` array to the persisted
2128
2435
  * meta blob. Drivers call this after a probe finishes when the live
@@ -2373,7 +2680,13 @@ function toDeviceSummary(device, addonId) {
2373
2680
  parentDeviceId: device.parentDeviceId,
2374
2681
  online: device.online,
2375
2682
  features: [...device.features],
2376
- config
2683
+ config,
2684
+ // BaseDevice always resolves sourceInfo (synthetic or persisted).
2685
+ // `IDevice` doesn't declare the field — providers that override
2686
+ // `IDevice` outside the BaseDevice hierarchy stay backwards-
2687
+ // compatible. Read through a structural check so non-BaseDevice
2688
+ // implementations don't blow up.
2689
+ sourceInfo: device.sourceInfo
2377
2690
  };
2378
2691
  }
2379
2692
  class BaseDeviceProvider extends BaseAddon {
@@ -2682,6 +2995,80 @@ function getZodDefault(schema) {
2682
2995
  function humanizeKey(key) {
2683
2996
  return key.replace(/([A-Z])/g, " $1").replace(/[_-]/g, " ").replace(/^\w/, (c) => c.toUpperCase()).trim();
2684
2997
  }
2998
+ function isRecord(x) {
2999
+ return x !== null && typeof x === "object" && !Array.isArray(x);
3000
+ }
3001
+ function getByPath(obj, path) {
3002
+ const parts = path.split(".");
3003
+ let cur = obj;
3004
+ for (const part of parts) {
3005
+ if (!isRecord(cur)) return void 0;
3006
+ cur = cur[part];
3007
+ }
3008
+ return cur;
3009
+ }
3010
+ function setByPath(obj, path, value) {
3011
+ const dotIndex = path.indexOf(".");
3012
+ if (dotIndex === -1) {
3013
+ return { ...obj, [path]: value };
3014
+ }
3015
+ const head = path.slice(0, dotIndex);
3016
+ const tail = path.slice(dotIndex + 1);
3017
+ const child = obj[head];
3018
+ const childObj = isRecord(child) ? child : {};
3019
+ return { ...obj, [head]: setByPath(childObj, tail, value) };
3020
+ }
3021
+ function applyTransform(value, transform) {
3022
+ if (!transform || transform.kind === "identity") return value;
3023
+ if (transform.kind === "enum-map") {
3024
+ const key = String(value);
3025
+ if (Object.prototype.hasOwnProperty.call(transform.mapping, key)) return transform.mapping[key];
3026
+ return transform.fallback ?? null;
3027
+ }
3028
+ if (transform.kind === "linear") {
3029
+ if (typeof value !== "number" || Number.isNaN(value)) return null;
3030
+ let out = value * transform.scale + transform.offset;
3031
+ if (transform.clamp) {
3032
+ const min = transform.clamp[0];
3033
+ const max = transform.clamp[1];
3034
+ out = Math.min(max, Math.max(min, out));
3035
+ }
3036
+ return out;
3037
+ }
3038
+ return value;
3039
+ }
3040
+ function unwrap(schema) {
3041
+ let s = schema;
3042
+ while (s instanceof z.ZodNullable || s instanceof z.ZodOptional || s instanceof z.ZodDefault) {
3043
+ s = s.unwrap();
3044
+ }
3045
+ return s;
3046
+ }
3047
+ function leafKind(schema) {
3048
+ const s = unwrap(schema);
3049
+ if (s instanceof z.ZodEnum) return { kind: "enum", enumValues: s.options };
3050
+ if (s instanceof z.ZodNumber) return { kind: "number" };
3051
+ if (s instanceof z.ZodString) return { kind: "string" };
3052
+ if (s instanceof z.ZodBoolean) return { kind: "boolean" };
3053
+ return null;
3054
+ }
3055
+ function enumerateSchemaFields(schema, prefix = "") {
3056
+ const root = unwrap(schema);
3057
+ if (!(root instanceof z.ZodObject)) return [];
3058
+ const out = [];
3059
+ const shape = root.shape;
3060
+ for (const [key, field] of Object.entries(shape)) {
3061
+ const path = prefix ? `${prefix}.${key}` : key;
3062
+ const inner = unwrap(field);
3063
+ if (inner instanceof z.ZodObject) {
3064
+ out.push(...enumerateSchemaFields(inner, path));
3065
+ continue;
3066
+ }
3067
+ const leaf = leafKind(field);
3068
+ if (leaf) out.push({ path, kind: leaf.kind, ...leaf.enumValues ? { enumValues: leaf.enumValues } : {} });
3069
+ }
3070
+ return out;
3071
+ }
2685
3072
  const DEVICE_STATE_EVENT_CATEGORY = "device.state-changed";
2686
3073
  function createLazyTrpcSource(api) {
2687
3074
  const cache = /* @__PURE__ */ new Map();
@@ -2845,8 +3232,21 @@ function createDeviceProxy(api, binding, opts) {
2845
3232
  return callLeaf(capProp, method, kind, mergeInput(input, void 0), push);
2846
3233
  }
2847
3234
  const accessoriesInterface = {
3235
+ setChildHidden: (input) => dispatch("accessories", "accessories", "setChildHidden", "mutation", input),
2848
3236
  getStatus: (input) => dispatch("accessories", "accessories", "getStatus", "query", input)
2849
3237
  };
3238
+ const airQualitySensorInterface = {
3239
+ getStatus: (input) => dispatch("air-quality-sensor", "airQualitySensor", "getStatus", "query", input)
3240
+ };
3241
+ const alarmPanelInterface = {
3242
+ arm: (input) => dispatch("alarm-panel", "alarmPanel", "arm", "mutation", input),
3243
+ disarm: (input) => dispatch("alarm-panel", "alarmPanel", "disarm", "mutation", input),
3244
+ trigger: (input) => dispatch("alarm-panel", "alarmPanel", "trigger", "mutation", input),
3245
+ getStatus: (input) => dispatch("alarm-panel", "alarmPanel", "getStatus", "query", input)
3246
+ };
3247
+ const ambientLightSensorInterface = {
3248
+ getStatus: (input) => dispatch("ambient-light-sensor", "ambientLightSensor", "getStatus", "query", input)
3249
+ };
2850
3250
  const audioAnalysisInterface = {
2851
3251
  resolveDeviceSettings: (input) => dispatch("audio-analysis", "audioAnalysis", "resolveDeviceSettings", "query", input),
2852
3252
  getDeviceSettingsContribution: (input) => dispatch("audio-analysis", "audioAnalysis", "getDeviceSettingsContribution", "query", input),
@@ -2857,13 +3257,26 @@ function createDeviceProxy(api, binding, opts) {
2857
3257
  getCurrentSnapshot: (input) => dispatch("audio-metrics", "audioMetrics", "getCurrentSnapshot", "query", input),
2858
3258
  getHistory: (input) => dispatch("audio-metrics", "audioMetrics", "getHistory", "query", input)
2859
3259
  };
3260
+ const automationControlInterface = {
3261
+ enable: (input) => dispatch("automation-control", "automationControl", "enable", "mutation", input),
3262
+ disable: (input) => dispatch("automation-control", "automationControl", "disable", "mutation", input),
3263
+ trigger: (input) => dispatch("automation-control", "automationControl", "trigger", "mutation", input),
3264
+ getStatus: (input) => dispatch("automation-control", "automationControl", "getStatus", "query", input)
3265
+ };
2860
3266
  const batteryInterface = {
3267
+ wakeForStream: (input) => dispatch("battery", "battery", "wakeForStream", "mutation", input),
2861
3268
  getStatus: (input) => dispatch("battery", "battery", "getStatus", "query", input)
2862
3269
  };
3270
+ const binaryInterface = {
3271
+ getStatus: (input) => dispatch("binary", "binary", "getStatus", "query", input)
3272
+ };
2863
3273
  const brightnessInterface = {
2864
3274
  setBrightness: (input) => dispatch("brightness", "brightness", "setBrightness", "mutation", input),
2865
3275
  getStatus: (input) => dispatch("brightness", "brightness", "getStatus", "query", input)
2866
3276
  };
3277
+ const buttonInterface = {
3278
+ press: (input) => dispatch("button", "button", "press", "mutation", input)
3279
+ };
2867
3280
  const cameraCredentialsInterface = {
2868
3281
  getCredentials: (input) => dispatch("camera-credentials", "cameraCredentials", "getCredentials", "query", input),
2869
3282
  getStatus: (input) => dispatch("camera-credentials", "cameraCredentials", "getStatus", "query", input)
@@ -2871,7 +3284,47 @@ function createDeviceProxy(api, binding, opts) {
2871
3284
  const cameraStreamsInterface = {
2872
3285
  getCameraStreams: (input) => dispatch("camera-streams", "cameraStreams", "getCameraStreams", "query", input),
2873
3286
  getBrokerStreams: (input) => dispatch("camera-streams", "cameraStreams", "getBrokerStreams", "query", input),
2874
- getRtspEntries: (input) => dispatch("camera-streams", "cameraStreams", "getRtspEntries", "query", input)
3287
+ getRtspEntries: (input) => dispatch("camera-streams", "cameraStreams", "getRtspEntries", "query", input),
3288
+ getProfileRtspEntries: (input) => dispatch("camera-streams", "cameraStreams", "getProfileRtspEntries", "query", input),
3289
+ pickStream: (input) => dispatch("camera-streams", "cameraStreams", "pickStream", "query", input)
3290
+ };
3291
+ const carbonMonoxideInterface = {
3292
+ getStatus: (input) => dispatch("carbon-monoxide", "carbonMonoxide", "getStatus", "query", input)
3293
+ };
3294
+ const climateControlInterface = {
3295
+ setMode: (input) => dispatch("climate-control", "climateControl", "setMode", "mutation", input),
3296
+ setFanMode: (input) => dispatch("climate-control", "climateControl", "setFanMode", "mutation", input),
3297
+ setPreset: (input) => dispatch("climate-control", "climateControl", "setPreset", "mutation", input),
3298
+ setTarget: (input) => dispatch("climate-control", "climateControl", "setTarget", "mutation", input),
3299
+ setTargetRange: (input) => dispatch("climate-control", "climateControl", "setTargetRange", "mutation", input),
3300
+ setTargetHumidity: (input) => dispatch("climate-control", "climateControl", "setTargetHumidity", "mutation", input),
3301
+ getStatus: (input) => dispatch("climate-control", "climateControl", "getStatus", "query", input)
3302
+ };
3303
+ const colorInterface = {
3304
+ setColor: (input) => dispatch("color", "color", "setColor", "mutation", input),
3305
+ getStatus: (input) => dispatch("color", "color", "getStatus", "query", input)
3306
+ };
3307
+ const connectivityInterface = {
3308
+ getStatus: (input) => dispatch("connectivity", "connectivity", "getStatus", "query", input)
3309
+ };
3310
+ const consumablesInterface = {
3311
+ reset: (input) => dispatch("consumables", "consumables", "reset", "mutation", input),
3312
+ getStatus: (input) => dispatch("consumables", "consumables", "getStatus", "query", input)
3313
+ };
3314
+ const contactInterface = {
3315
+ getStatus: (input) => dispatch("contact", "contact", "getStatus", "query", input)
3316
+ };
3317
+ const controlInterface = {
3318
+ setValue: (input) => dispatch("control", "control", "setValue", "mutation", input),
3319
+ getStatus: (input) => dispatch("control", "control", "getStatus", "query", input)
3320
+ };
3321
+ const coverInterface = {
3322
+ open: (input) => dispatch("cover", "cover", "open", "mutation", input),
3323
+ close: (input) => dispatch("cover", "cover", "close", "mutation", input),
3324
+ stop: (input) => dispatch("cover", "cover", "stop", "mutation", input),
3325
+ setPosition: (input) => dispatch("cover", "cover", "setPosition", "mutation", input),
3326
+ setTiltPosition: (input) => dispatch("cover", "cover", "setTiltPosition", "mutation", input),
3327
+ getStatus: (input) => dispatch("cover", "cover", "getStatus", "query", input)
2875
3328
  };
2876
3329
  const detectionPipelineInterface = {
2877
3330
  getDeviceSettingsContribution: (input) => dispatch("detection-pipeline", "detectionPipeline", "getDeviceSettingsContribution", "query", input),
@@ -2889,8 +3342,10 @@ function createDeviceProxy(api, binding, opts) {
2889
3342
  getStreamSources: (input) => dispatch("device-ops", "deviceOps", "getStreamSources", "query", input),
2890
3343
  getConfigEntries: (input) => dispatch("device-ops", "deviceOps", "getConfigEntries", "query", input),
2891
3344
  setConfig: (input) => dispatch("device-ops", "deviceOps", "setConfig", "mutation", input),
3345
+ runAction: (input) => dispatch("device-ops", "deviceOps", "runAction", "mutation", input),
2892
3346
  removeDevice: (input) => dispatch("device-ops", "deviceOps", "removeDevice", "mutation", input),
2893
- getSettingsSchema: (input) => dispatch("device-ops", "deviceOps", "getSettingsSchema", "query", input)
3347
+ getSettingsSchema: (input) => dispatch("device-ops", "deviceOps", "getSettingsSchema", "query", input),
3348
+ getRawState: (input) => dispatch("device-ops", "deviceOps", "getRawState", "query", input)
2894
3349
  };
2895
3350
  const deviceStatusInterface = {
2896
3351
  getStatus: (input) => dispatch("device-status", "deviceStatus", "getStatus", "query", input)
@@ -2898,23 +3353,81 @@ function createDeviceProxy(api, binding, opts) {
2898
3353
  const doorbellInterface = {
2899
3354
  getStatus: (input) => dispatch("doorbell", "doorbell", "getStatus", "query", input)
2900
3355
  };
3356
+ const enumSensorInterface = {
3357
+ getStatus: (input) => dispatch("enum-sensor", "enumSensor", "getStatus", "query", input)
3358
+ };
3359
+ const eventEmitterInterface = {
3360
+ getStatus: (input) => dispatch("event-emitter", "eventEmitter", "getStatus", "query", input)
3361
+ };
2901
3362
  const eventsInterface = {
2902
3363
  getEvents: (input) => dispatch("events", "events", "getEvents", "query", input),
2903
3364
  getEventThumbnail: (input) => dispatch("events", "events", "getEventThumbnail", "query", input),
2904
3365
  getEventClipUrl: (input) => dispatch("events", "events", "getEventClipUrl", "query", input)
2905
3366
  };
3367
+ const fanControlInterface = {
3368
+ setPercentage: (input) => dispatch("fan-control", "fanControl", "setPercentage", "mutation", input),
3369
+ setPreset: (input) => dispatch("fan-control", "fanControl", "setPreset", "mutation", input),
3370
+ setDirection: (input) => dispatch("fan-control", "fanControl", "setDirection", "mutation", input),
3371
+ setOscillating: (input) => dispatch("fan-control", "fanControl", "setOscillating", "mutation", input),
3372
+ getStatus: (input) => dispatch("fan-control", "fanControl", "getStatus", "query", input)
3373
+ };
2906
3374
  const featureProbeInterface = {
2907
3375
  getStatus: (input) => dispatch("feature-probe", "featureProbe", "getStatus", "query", input)
2908
3376
  };
3377
+ const floodInterface = {
3378
+ getStatus: (input) => dispatch("flood", "flood", "getStatus", "query", input)
3379
+ };
3380
+ const gasInterface = {
3381
+ getStatus: (input) => dispatch("gas", "gas", "getStatus", "query", input)
3382
+ };
3383
+ const humidifierInterface = {
3384
+ setOn: (input) => dispatch("humidifier", "humidifier", "setOn", "mutation", input),
3385
+ setTargetHumidity: (input) => dispatch("humidifier", "humidifier", "setTargetHumidity", "mutation", input),
3386
+ setMode: (input) => dispatch("humidifier", "humidifier", "setMode", "mutation", input),
3387
+ getStatus: (input) => dispatch("humidifier", "humidifier", "getStatus", "query", input)
3388
+ };
3389
+ const humiditySensorInterface = {
3390
+ getStatus: (input) => dispatch("humidity-sensor", "humiditySensor", "getStatus", "query", input)
3391
+ };
3392
+ const imageInterface = {
3393
+ getStatus: (input) => dispatch("image", "image", "getStatus", "query", input)
3394
+ };
2909
3395
  const intercomInterface = {
2910
3396
  startSession: (input) => dispatch("intercom", "intercom", "startSession", "mutation", input),
2911
3397
  handleAnswer: (input) => dispatch("intercom", "intercom", "handleAnswer", "mutation", input),
2912
3398
  stopSession: (input) => dispatch("intercom", "intercom", "stopSession", "mutation", input),
2913
3399
  startTalkSession: (input) => dispatch("intercom", "intercom", "startTalkSession", "mutation", input),
2914
- pushTalkPcm: (input) => dispatch("intercom", "intercom", "pushTalkPcm", "mutation", input),
3400
+ pushTalkAudio: (input) => dispatch("intercom", "intercom", "pushTalkAudio", "mutation", input),
2915
3401
  endTalkSession: (input) => dispatch("intercom", "intercom", "endTalkSession", "mutation", input),
2916
3402
  getStatus: (input) => dispatch("intercom", "intercom", "getStatus", "query", input)
2917
3403
  };
3404
+ const lawnMowerControlInterface = {
3405
+ startMowing: (input) => dispatch("lawn-mower-control", "lawnMowerControl", "startMowing", "mutation", input),
3406
+ pause: (input) => dispatch("lawn-mower-control", "lawnMowerControl", "pause", "mutation", input),
3407
+ dock: (input) => dispatch("lawn-mower-control", "lawnMowerControl", "dock", "mutation", input),
3408
+ getStatus: (input) => dispatch("lawn-mower-control", "lawnMowerControl", "getStatus", "query", input)
3409
+ };
3410
+ const lockControlInterface = {
3411
+ lock: (input) => dispatch("lock-control", "lockControl", "lock", "mutation", input),
3412
+ unlock: (input) => dispatch("lock-control", "lockControl", "unlock", "mutation", input),
3413
+ open: (input) => dispatch("lock-control", "lockControl", "open", "mutation", input),
3414
+ getStatus: (input) => dispatch("lock-control", "lockControl", "getStatus", "query", input)
3415
+ };
3416
+ const mediaPlayerInterface = {
3417
+ play: (input) => dispatch("media-player", "mediaPlayer", "play", "mutation", input),
3418
+ pause: (input) => dispatch("media-player", "mediaPlayer", "pause", "mutation", input),
3419
+ stop: (input) => dispatch("media-player", "mediaPlayer", "stop", "mutation", input),
3420
+ next: (input) => dispatch("media-player", "mediaPlayer", "next", "mutation", input),
3421
+ previous: (input) => dispatch("media-player", "mediaPlayer", "previous", "mutation", input),
3422
+ seek: (input) => dispatch("media-player", "mediaPlayer", "seek", "mutation", input),
3423
+ setVolume: (input) => dispatch("media-player", "mediaPlayer", "setVolume", "mutation", input),
3424
+ setMute: (input) => dispatch("media-player", "mediaPlayer", "setMute", "mutation", input),
3425
+ setShuffle: (input) => dispatch("media-player", "mediaPlayer", "setShuffle", "mutation", input),
3426
+ setRepeat: (input) => dispatch("media-player", "mediaPlayer", "setRepeat", "mutation", input),
3427
+ selectSource: (input) => dispatch("media-player", "mediaPlayer", "selectSource", "mutation", input),
3428
+ playMedia: (input) => dispatch("media-player", "mediaPlayer", "playMedia", "mutation", input),
3429
+ getStatus: (input) => dispatch("media-player", "mediaPlayer", "getStatus", "query", input)
3430
+ };
2918
3431
  const motionInterface = {
2919
3432
  isDetected: (input) => dispatch("motion", "motion", "isDetected", "query", input),
2920
3433
  getStatus: (input) => dispatch("motion", "motion", "getStatus", "query", input)
@@ -2940,6 +3453,14 @@ function createDeviceProxy(api, binding, opts) {
2940
3453
  setEnabled: (input) => dispatch("native-object-detection", "nativeObjectDetection", "setEnabled", "mutation", input),
2941
3454
  getStatus: (input) => dispatch("native-object-detection", "nativeObjectDetection", "getStatus", "query", input)
2942
3455
  };
3456
+ const notifierInterface = {
3457
+ send: (input) => dispatch("notifier", "notifier", "send", "mutation", input),
3458
+ cancel: (input) => dispatch("notifier", "notifier", "cancel", "mutation", input),
3459
+ getStatus: (input) => dispatch("notifier", "notifier", "getStatus", "query", input)
3460
+ };
3461
+ const numericSensorInterface = {
3462
+ getStatus: (input) => dispatch("numeric-sensor", "numericSensor", "getStatus", "query", input)
3463
+ };
2943
3464
  const osdInterface = {
2944
3465
  setOverlay: (input) => dispatch("osd", "osd", "setOverlay", "mutation", input),
2945
3466
  getStatus: (input) => dispatch("osd", "osd", "getStatus", "query", input)
@@ -2952,12 +3473,23 @@ function createDeviceProxy(api, binding, opts) {
2952
3473
  getMotionEvents: (input) => dispatch("pipeline-analytics", "pipelineAnalytics", "getMotionEvents", "query", input),
2953
3474
  getObjectEvents: (input) => dispatch("pipeline-analytics", "pipelineAnalytics", "getObjectEvents", "query", input),
2954
3475
  getAudioEvents: (input) => dispatch("pipeline-analytics", "pipelineAnalytics", "getAudioEvents", "query", input),
3476
+ getEventDensity: (input) => dispatch("pipeline-analytics", "pipelineAnalytics", "getEventDensity", "query", input),
3477
+ pruneEventsBefore: (input) => dispatch("pipeline-analytics", "pipelineAnalytics", "pruneEventsBefore", "mutation", input),
2955
3478
  getEventMedia: (input) => dispatch("pipeline-analytics", "pipelineAnalytics", "getEventMedia", "query", input),
2956
3479
  getTrackMedia: (input) => dispatch("pipeline-analytics", "pipelineAnalytics", "getTrackMedia", "query", input),
2957
3480
  getDeviceSettingsContribution: (input) => dispatch("pipeline-analytics", "pipelineAnalytics", "getDeviceSettingsContribution", "query", input),
2958
3481
  getDeviceLiveContribution: (input) => dispatch("pipeline-analytics", "pipelineAnalytics", "getDeviceLiveContribution", "query", input),
2959
3482
  applyDeviceSettingsPatch: (input) => dispatch("pipeline-analytics", "pipelineAnalytics", "applyDeviceSettingsPatch", "mutation", input)
2960
3483
  };
3484
+ const powerMeterInterface = {
3485
+ getStatus: (input) => dispatch("power-meter", "powerMeter", "getStatus", "query", input)
3486
+ };
3487
+ const presenceInterface = {
3488
+ getStatus: (input) => dispatch("presence", "presence", "getStatus", "query", input)
3489
+ };
3490
+ const pressureSensorInterface = {
3491
+ getStatus: (input) => dispatch("pressure-sensor", "pressureSensor", "getStatus", "query", input)
3492
+ };
2961
3493
  const privacyMaskInterface = {
2962
3494
  getOptions: (input) => dispatch("privacy-mask", "privacyMask", "getOptions", "query", input),
2963
3495
  setMask: (input) => dispatch("privacy-mask", "privacyMask", "setMask", "mutation", input),
@@ -2986,10 +3518,13 @@ function createDeviceProxy(api, binding, opts) {
2986
3518
  const rebootInterface = {
2987
3519
  reboot: (input) => dispatch("reboot", "reboot", "reboot", "mutation", input)
2988
3520
  };
2989
- const recordingInterface = {
2990
- getSegments: (input) => dispatch("recording", "recording", "getSegments", "query", input),
2991
- getPlaybackUrl: (input) => dispatch("recording", "recording", "getPlaybackUrl", "query", input),
2992
- getThumbnailAt: (input) => dispatch("recording", "recording", "getThumbnailAt", "query", input)
3521
+ const scriptRunnerInterface = {
3522
+ run: (input) => dispatch("script-runner", "scriptRunner", "run", "mutation", input),
3523
+ stop: (input) => dispatch("script-runner", "scriptRunner", "stop", "mutation", input),
3524
+ getStatus: (input) => dispatch("script-runner", "scriptRunner", "getStatus", "query", input)
3525
+ };
3526
+ const smokeInterface = {
3527
+ getStatus: (input) => dispatch("smoke", "smoke", "getStatus", "query", input)
2993
3528
  };
2994
3529
  const snapshotInterface = {
2995
3530
  getSnapshot: (input) => dispatch("snapshot", "snapshot", "getSnapshot", "query", input),
@@ -3012,6 +3547,48 @@ function createDeviceProxy(api, binding, opts) {
3012
3547
  setState: (input) => dispatch("switch", "switch", "setState", "mutation", input),
3013
3548
  getStatus: (input) => dispatch("switch", "switch", "getStatus", "query", input)
3014
3549
  };
3550
+ const tamperInterface = {
3551
+ getStatus: (input) => dispatch("tamper", "tamper", "getStatus", "query", input)
3552
+ };
3553
+ const temperatureSensorInterface = {
3554
+ getStatus: (input) => dispatch("temperature-sensor", "temperatureSensor", "getStatus", "query", input)
3555
+ };
3556
+ const updateInterface = {
3557
+ installUpdate: (input) => dispatch("update", "update", "installUpdate", "mutation", input),
3558
+ getStatus: (input) => dispatch("update", "update", "getStatus", "query", input)
3559
+ };
3560
+ const vacuumControlInterface = {
3561
+ start: (input) => dispatch("vacuum-control", "vacuumControl", "start", "mutation", input),
3562
+ pause: (input) => dispatch("vacuum-control", "vacuumControl", "pause", "mutation", input),
3563
+ stop: (input) => dispatch("vacuum-control", "vacuumControl", "stop", "mutation", input),
3564
+ returnToBase: (input) => dispatch("vacuum-control", "vacuumControl", "returnToBase", "mutation", input),
3565
+ locate: (input) => dispatch("vacuum-control", "vacuumControl", "locate", "mutation", input),
3566
+ setFanSpeed: (input) => dispatch("vacuum-control", "vacuumControl", "setFanSpeed", "mutation", input),
3567
+ getStatus: (input) => dispatch("vacuum-control", "vacuumControl", "getStatus", "query", input)
3568
+ };
3569
+ const valveInterface = {
3570
+ open: (input) => dispatch("valve", "valve", "open", "mutation", input),
3571
+ close: (input) => dispatch("valve", "valve", "close", "mutation", input),
3572
+ stop: (input) => dispatch("valve", "valve", "stop", "mutation", input),
3573
+ setPosition: (input) => dispatch("valve", "valve", "setPosition", "mutation", input),
3574
+ getStatus: (input) => dispatch("valve", "valve", "getStatus", "query", input)
3575
+ };
3576
+ const vibrationInterface = {
3577
+ getStatus: (input) => dispatch("vibration", "vibration", "getStatus", "query", input)
3578
+ };
3579
+ const videoclipsInterface = {
3580
+ listClips: (input) => dispatch("videoclips", "videoclips", "listClips", "query", input),
3581
+ getClipPlayback: (input) => dispatch("videoclips", "videoclips", "getClipPlayback", "query", input)
3582
+ };
3583
+ const waterHeaterInterface = {
3584
+ setTargetTemp: (input) => dispatch("water-heater", "waterHeater", "setTargetTemp", "mutation", input),
3585
+ setOperationMode: (input) => dispatch("water-heater", "waterHeater", "setOperationMode", "mutation", input),
3586
+ setAway: (input) => dispatch("water-heater", "waterHeater", "setAway", "mutation", input),
3587
+ getStatus: (input) => dispatch("water-heater", "waterHeater", "getStatus", "query", input)
3588
+ };
3589
+ const weatherInterface = {
3590
+ getStatus: (input) => dispatch("weather", "weather", "getStatus", "query", input)
3591
+ };
3015
3592
  const webrtcSessionInterface = {
3016
3593
  listStreams: (input) => dispatch("webrtc-session", "webrtcSession", "listStreams", "query", input),
3017
3594
  createSession: (input) => dispatch("webrtc-session", "webrtcSession", "createSession", "mutation", input),
@@ -3020,7 +3597,8 @@ function createDeviceProxy(api, binding, opts) {
3020
3597
  addIceCandidate: (input) => dispatch("webrtc-session", "webrtcSession", "addIceCandidate", "mutation", input),
3021
3598
  getIceCandidates: (input) => dispatch("webrtc-session", "webrtcSession", "getIceCandidates", "query", input),
3022
3599
  closeSession: (input) => dispatch("webrtc-session", "webrtcSession", "closeSession", "mutation", input),
3023
- hasAdaptiveBitrate: (input) => dispatch("webrtc-session", "webrtcSession", "hasAdaptiveBitrate", "query", input)
3600
+ hasAdaptiveBitrate: (input) => dispatch("webrtc-session", "webrtcSession", "hasAdaptiveBitrate", "query", input),
3601
+ getSessionState: (input) => dispatch("webrtc-session", "webrtcSession", "getSessionState", "query", input)
3024
3602
  };
3025
3603
  const zoneAnalyticsInterface = {
3026
3604
  getCurrentSnapshot: (input) => dispatch("zone-analytics", "zoneAnalytics", "getCurrentSnapshot", "query", input),
@@ -3047,6 +3625,9 @@ function createDeviceProxy(api, binding, opts) {
3047
3625
  getDeviceLiveContribution: (input) => dispatchSystem("cameraPipelineConfig", "getDeviceLiveContribution", "query", input),
3048
3626
  applyDeviceSettingsPatch: (input) => dispatchSystem("cameraPipelineConfig", "applyDeviceSettingsPatch", "mutation", input)
3049
3627
  };
3628
+ const deviceAdoptionInterface = {
3629
+ getStatus: (input) => dispatchSystem("deviceAdoption", "getStatus", "query", input)
3630
+ };
3050
3631
  const deviceExportInterface = {
3051
3632
  getDeviceSettingsContribution: (input) => dispatchSystem("deviceExport", "getDeviceSettingsContribution", "query", input),
3052
3633
  getDeviceLiveContribution: (input) => dispatchSystem("deviceExport", "getDeviceLiveContribution", "query", input),
@@ -3058,6 +3639,15 @@ function createDeviceProxy(api, binding, opts) {
3058
3639
  loadMeta: (input) => dispatchSystem("deviceManager", "loadMeta", "query", input),
3059
3640
  setName: (input) => dispatchSystem("deviceManager", "setName", "mutation", input),
3060
3641
  setLocation: (input) => dispatchSystem("deviceManager", "setLocation", "mutation", input),
3642
+ setType: (input) => dispatchSystem("deviceManager", "setType", "mutation", input),
3643
+ setIntegrationId: (input) => dispatchSystem("deviceManager", "setIntegrationId", "mutation", input),
3644
+ setLinkDeviceId: (input) => dispatchSystem("deviceManager", "setLinkDeviceId", "mutation", input),
3645
+ setPrimaryChildEntityId: (input) => dispatchSystem("deviceManager", "setPrimaryChildEntityId", "mutation", input),
3646
+ setChildLayout: (input) => dispatchSystem("deviceManager", "setChildLayout", "mutation", input),
3647
+ setDeviceLinks: (input) => dispatchSystem("deviceManager", "setDeviceLinks", "mutation", input),
3648
+ getWireableFields: (input) => dispatchSystem("deviceManager", "getWireableFields", "query", input),
3649
+ setRole: (input) => dispatchSystem("deviceManager", "setRole", "mutation", input),
3650
+ applyInitialMeta: (input) => dispatchSystem("deviceManager", "applyInitialMeta", "mutation", input),
3061
3651
  setMetadata: (input) => dispatchSystem("deviceManager", "setMetadata", "mutation", input),
3062
3652
  setDisabled: (input) => dispatchSystem("deviceManager", "setDisabled", "mutation", input),
3063
3653
  getDevice: (input) => dispatchSystem("deviceManager", "getDevice", "query", input),
@@ -3077,6 +3667,7 @@ function createDeviceProxy(api, binding, opts) {
3077
3667
  getDeviceSettingsAggregate: (input) => dispatchSystem("deviceManager", "getDeviceSettingsAggregate", "query", input),
3078
3668
  getDeviceLiveInfoAggregate: (input) => dispatchSystem("deviceManager", "getDeviceLiveInfoAggregate", "query", input),
3079
3669
  getDeviceAggregate: (input) => dispatchSystem("deviceManager", "getDeviceAggregate", "query", input),
3670
+ runDeviceAction: (input) => dispatchSystem("deviceManager", "runDeviceAction", "mutation", input),
3080
3671
  updateDeviceField: (input) => dispatchSystem("deviceManager", "updateDeviceField", "mutation", input),
3081
3672
  updateDeviceFieldsBatch: (input) => dispatchSystem("deviceManager", "updateDeviceFieldsBatch", "mutation", input),
3082
3673
  testField: (input) => dispatchSystem("deviceManager", "testField", "mutation", input),
@@ -3121,8 +3712,17 @@ function createDeviceProxy(api, binding, opts) {
3121
3712
  detachCamera: (input) => dispatchSystem("pipelineRunner", "detachCamera", "mutation", input),
3122
3713
  getCameraMetrics: (input) => dispatchSystem("pipelineRunner", "getCameraMetrics", "query", input)
3123
3714
  };
3124
- const recordingEngineInterface = {
3125
- getPolicyStatus: (input) => dispatchSystem("recordingEngine", "getPolicyStatus", "query", input)
3715
+ const recordingInterface = {
3716
+ getAvailability: (input) => dispatchSystem("recording", "getAvailability", "query", input),
3717
+ getPlaybackManifest: (input) => dispatchSystem("recording", "getPlaybackManifest", "query", input),
3718
+ getDeviceConfig: (input) => dispatchSystem("recording", "getDeviceConfig", "query", input),
3719
+ setDeviceConfig: (input) => dispatchSystem("recording", "setDeviceConfig", "mutation", input),
3720
+ rescanStorage: (input) => dispatchSystem("recording", "rescanStorage", "mutation", input),
3721
+ pruneFootage: (input) => dispatchSystem("recording", "pruneFootage", "mutation", input),
3722
+ getStatus: (input) => dispatchSystem("recording", "getStatus", "query", input),
3723
+ getDeviceSettingsContribution: (input) => dispatchSystem("recording", "getDeviceSettingsContribution", "query", input),
3724
+ getDeviceLiveContribution: (input) => dispatchSystem("recording", "getDeviceLiveContribution", "query", input),
3725
+ applyDeviceSettingsPatch: (input) => dispatchSystem("recording", "applyDeviceSettingsPatch", "mutation", input)
3126
3726
  };
3127
3727
  const snapshotProviderInterface = {
3128
3728
  supportsDevice: (input) => dispatchSystem("snapshotProvider", "supportsDevice", "query", input),
@@ -3142,63 +3742,143 @@ function createDeviceProxy(api, binding, opts) {
3142
3742
  deviceId: binding.deviceId,
3143
3743
  binding,
3144
3744
  state: {
3745
+ airQualitySensor: createSliceHandle(stateSource, binding.deviceId, "air-quality-sensor"),
3746
+ alarmPanel: createSliceHandle(stateSource, binding.deviceId, "alarm-panel"),
3747
+ ambientLightSensor: createSliceHandle(stateSource, binding.deviceId, "ambient-light-sensor"),
3145
3748
  audioMetrics: createSliceHandle(stateSource, binding.deviceId, "audio-metrics"),
3749
+ automationControl: createSliceHandle(stateSource, binding.deviceId, "automation-control"),
3146
3750
  battery: createSliceHandle(stateSource, binding.deviceId, "battery"),
3751
+ binary: createSliceHandle(stateSource, binding.deviceId, "binary"),
3147
3752
  brightness: createSliceHandle(stateSource, binding.deviceId, "brightness"),
3148
3753
  cameraStreams: createSliceHandle(stateSource, binding.deviceId, "camera-streams"),
3754
+ carbonMonoxide: createSliceHandle(stateSource, binding.deviceId, "carbon-monoxide"),
3755
+ climateControl: createSliceHandle(stateSource, binding.deviceId, "climate-control"),
3756
+ color: createSliceHandle(stateSource, binding.deviceId, "color"),
3757
+ connectivity: createSliceHandle(stateSource, binding.deviceId, "connectivity"),
3758
+ consumables: createSliceHandle(stateSource, binding.deviceId, "consumables"),
3759
+ contact: createSliceHandle(stateSource, binding.deviceId, "contact"),
3760
+ control: createSliceHandle(stateSource, binding.deviceId, "control"),
3761
+ cover: createSliceHandle(stateSource, binding.deviceId, "cover"),
3149
3762
  deviceDiscovery: createSliceHandle(stateSource, binding.deviceId, "device-discovery"),
3150
3763
  deviceStatus: createSliceHandle(stateSource, binding.deviceId, "device-status"),
3151
3764
  doorbell: createSliceHandle(stateSource, binding.deviceId, "doorbell"),
3765
+ enumSensor: createSliceHandle(stateSource, binding.deviceId, "enum-sensor"),
3766
+ eventEmitter: createSliceHandle(stateSource, binding.deviceId, "event-emitter"),
3767
+ fanControl: createSliceHandle(stateSource, binding.deviceId, "fan-control"),
3152
3768
  featureProbe: createSliceHandle(stateSource, binding.deviceId, "feature-probe"),
3769
+ flood: createSliceHandle(stateSource, binding.deviceId, "flood"),
3770
+ gas: createSliceHandle(stateSource, binding.deviceId, "gas"),
3771
+ humidifier: createSliceHandle(stateSource, binding.deviceId, "humidifier"),
3772
+ humiditySensor: createSliceHandle(stateSource, binding.deviceId, "humidity-sensor"),
3773
+ image: createSliceHandle(stateSource, binding.deviceId, "image"),
3774
+ lawnMowerControl: createSliceHandle(stateSource, binding.deviceId, "lawn-mower-control"),
3775
+ lockControl: createSliceHandle(stateSource, binding.deviceId, "lock-control"),
3776
+ mediaPlayer: createSliceHandle(stateSource, binding.deviceId, "media-player"),
3153
3777
  motion: createSliceHandle(stateSource, binding.deviceId, "motion"),
3154
3778
  motionTrigger: createSliceHandle(stateSource, binding.deviceId, "motion-trigger"),
3155
3779
  motionZones: createSliceHandle(stateSource, binding.deviceId, "motion-zones"),
3156
3780
  nativeObjectDetection: createSliceHandle(stateSource, binding.deviceId, "native-object-detection"),
3781
+ notifier: createSliceHandle(stateSource, binding.deviceId, "notifier"),
3782
+ numericSensor: createSliceHandle(stateSource, binding.deviceId, "numeric-sensor"),
3783
+ powerMeter: createSliceHandle(stateSource, binding.deviceId, "power-meter"),
3784
+ presence: createSliceHandle(stateSource, binding.deviceId, "presence"),
3785
+ pressureSensor: createSliceHandle(stateSource, binding.deviceId, "pressure-sensor"),
3157
3786
  privacyMask: createSliceHandle(stateSource, binding.deviceId, "privacy-mask"),
3158
3787
  ptzAutotrack: createSliceHandle(stateSource, binding.deviceId, "ptz-autotrack"),
3788
+ scriptRunner: createSliceHandle(stateSource, binding.deviceId, "script-runner"),
3789
+ smoke: createSliceHandle(stateSource, binding.deviceId, "smoke"),
3159
3790
  streamParams: createSliceHandle(stateSource, binding.deviceId, "stream-params"),
3160
3791
  switch: createSliceHandle(stateSource, binding.deviceId, "switch"),
3792
+ tamper: createSliceHandle(stateSource, binding.deviceId, "tamper"),
3793
+ temperatureSensor: createSliceHandle(stateSource, binding.deviceId, "temperature-sensor"),
3794
+ update: createSliceHandle(stateSource, binding.deviceId, "update"),
3795
+ vacuumControl: createSliceHandle(stateSource, binding.deviceId, "vacuum-control"),
3796
+ valve: createSliceHandle(stateSource, binding.deviceId, "valve"),
3797
+ vibration: createSliceHandle(stateSource, binding.deviceId, "vibration"),
3798
+ waterHeater: createSliceHandle(stateSource, binding.deviceId, "water-heater"),
3799
+ weather: createSliceHandle(stateSource, binding.deviceId, "weather"),
3161
3800
  zoneAnalytics: createSliceHandle(stateSource, binding.deviceId, "zone-analytics"),
3162
3801
  zoneRules: createSliceHandle(stateSource, binding.deviceId, "zone-rules"),
3163
3802
  zones: createSliceHandle(stateSource, binding.deviceId, "zones")
3164
3803
  },
3165
3804
  accessories: accessoriesInterface,
3805
+ airQualitySensor: airQualitySensorInterface,
3806
+ alarmPanel: alarmPanelInterface,
3807
+ ambientLightSensor: ambientLightSensorInterface,
3166
3808
  audioAnalysis: audioAnalysisInterface,
3167
3809
  audioMetrics: audioMetricsInterface,
3810
+ automationControl: automationControlInterface,
3168
3811
  battery: batteryInterface,
3812
+ binary: binaryInterface,
3169
3813
  brightness: brightnessInterface,
3814
+ button: buttonInterface,
3170
3815
  cameraCredentials: cameraCredentialsInterface,
3171
3816
  cameraStreams: cameraStreamsInterface,
3817
+ carbonMonoxide: carbonMonoxideInterface,
3818
+ climateControl: climateControlInterface,
3819
+ color: colorInterface,
3820
+ connectivity: connectivityInterface,
3821
+ consumables: consumablesInterface,
3822
+ contact: contactInterface,
3823
+ control: controlInterface,
3824
+ cover: coverInterface,
3172
3825
  detectionPipeline: detectionPipelineInterface,
3173
3826
  deviceDiscovery: deviceDiscoveryInterface,
3174
3827
  deviceOps: deviceOpsInterface,
3175
3828
  deviceStatus: deviceStatusInterface,
3176
3829
  doorbell: doorbellInterface,
3830
+ enumSensor: enumSensorInterface,
3831
+ eventEmitter: eventEmitterInterface,
3177
3832
  events: eventsInterface,
3833
+ fanControl: fanControlInterface,
3178
3834
  featureProbe: featureProbeInterface,
3835
+ flood: floodInterface,
3836
+ gas: gasInterface,
3837
+ humidifier: humidifierInterface,
3838
+ humiditySensor: humiditySensorInterface,
3839
+ image: imageInterface,
3179
3840
  intercom: intercomInterface,
3841
+ lawnMowerControl: lawnMowerControlInterface,
3842
+ lockControl: lockControlInterface,
3843
+ mediaPlayer: mediaPlayerInterface,
3180
3844
  motion: motionInterface,
3181
3845
  motionDetection: motionDetectionInterface,
3182
3846
  motionTrigger: motionTriggerInterface,
3183
3847
  motionZones: motionZonesInterface,
3184
3848
  nativeObjectDetection: nativeObjectDetectionInterface,
3849
+ notifier: notifierInterface,
3850
+ numericSensor: numericSensorInterface,
3185
3851
  osd: osdInterface,
3186
3852
  pipelineAnalytics: pipelineAnalyticsInterface,
3853
+ powerMeter: powerMeterInterface,
3854
+ presence: presenceInterface,
3855
+ pressureSensor: pressureSensorInterface,
3187
3856
  privacyMask: privacyMaskInterface,
3188
3857
  ptz: ptzInterface,
3189
3858
  ptzAutotrack: ptzAutotrackInterface,
3190
3859
  reboot: rebootInterface,
3191
- recording: recordingInterface,
3860
+ scriptRunner: scriptRunnerInterface,
3861
+ smoke: smokeInterface,
3192
3862
  snapshot: snapshotInterface,
3193
3863
  streamCatalog: streamCatalogInterface,
3194
3864
  streamParams: streamParamsInterface,
3195
3865
  switch: switchInterface,
3866
+ tamper: tamperInterface,
3867
+ temperatureSensor: temperatureSensorInterface,
3868
+ update: updateInterface,
3869
+ vacuumControl: vacuumControlInterface,
3870
+ valve: valveInterface,
3871
+ vibration: vibrationInterface,
3872
+ videoclips: videoclipsInterface,
3873
+ waterHeater: waterHeaterInterface,
3874
+ weather: weatherInterface,
3196
3875
  webrtcSession: webrtcSessionInterface,
3197
3876
  zoneAnalytics: zoneAnalyticsInterface,
3198
3877
  zoneRules: zoneRulesInterface,
3199
3878
  zones: zonesInterface,
3200
3879
  addonSettings: addonSettingsInterface,
3201
3880
  cameraPipelineConfig: cameraPipelineConfigInterface,
3881
+ deviceAdoption: deviceAdoptionInterface,
3202
3882
  deviceExport: deviceExportInterface,
3203
3883
  deviceManager: deviceManagerInterface,
3204
3884
  deviceState: deviceStateInterface,
@@ -3206,7 +3886,7 @@ function createDeviceProxy(api, binding, opts) {
3206
3886
  pipelineExecutor: pipelineExecutorInterface,
3207
3887
  pipelineOrchestrator: pipelineOrchestratorInterface,
3208
3888
  pipelineRunner: pipelineRunnerInterface,
3209
- recordingEngine: recordingEngineInterface,
3889
+ recording: recordingInterface,
3210
3890
  snapshotProvider: snapshotProviderInterface,
3211
3891
  streamBroker: streamBrokerInterface
3212
3892
  };
@@ -3357,6 +4037,24 @@ function createSystemProxy(api) {
3357
4037
  upsertDestinationPolicy: (input) => dispatch("backup", "upsertDestinationPolicy", "mutation", input),
3358
4038
  previewSchedule: (input) => dispatch("backup", "previewSchedule", "query", input)
3359
4039
  };
4040
+ const brokerInterface = {
4041
+ list: (input) => dispatch("broker", "list", "query", input),
4042
+ get: (input) => dispatch("broker", "get", "query", input),
4043
+ listProviders: (input) => dispatch("broker", "listProviders", "query", input),
4044
+ add: (input) => dispatch("broker", "add", "mutation", input),
4045
+ remove: (input) => dispatch("broker", "remove", "mutation", input),
4046
+ testConnection: (input) => dispatch("broker", "testConnection", "mutation", input),
4047
+ getSettings: (input) => dispatch("broker", "getSettings", "query", input),
4048
+ setSettings: (input) => dispatch("broker", "setSettings", "mutation", input),
4049
+ getBrokerConfig: (input) => dispatch("broker", "getBrokerConfig", "query", input),
4050
+ getSettingsSchema: (input) => dispatch("broker", "getSettingsSchema", "query", input),
4051
+ testSettings: (input) => dispatch("broker", "testSettings", "mutation", input),
4052
+ publish: (input) => dispatch("broker", "publish", "mutation", input),
4053
+ subscribe: (input) => dispatch("broker", "subscribe", "mutation", input),
4054
+ unsubscribe: (input) => dispatch("broker", "unsubscribe", "mutation", input),
4055
+ getState: (input) => dispatch("broker", "getState", "query", input),
4056
+ getStatus: (input) => dispatch("broker", "getStatus", "query", input)
4057
+ };
3360
4058
  const decoderInterface = {
3361
4059
  supportsCodec: (input) => dispatch("decoder", "supportsCodec", "query", input),
3362
4060
  getInfo: (input) => dispatch("decoder", "getInfo", "query", input),
@@ -3373,6 +4071,15 @@ function createSystemProxy(api) {
3373
4071
  listActiveSessions: (input) => dispatch("decoder", "listActiveSessions", "query", input),
3374
4072
  reprobeHwaccel: (input) => dispatch("decoder", "reprobeHwaccel", "mutation", input)
3375
4073
  };
4074
+ const deviceAdoptionInterface = {
4075
+ listCandidateFilters: (input) => dispatch("deviceAdoption", "listCandidateFilters", "query", input),
4076
+ listCandidates: (input) => dispatch("deviceAdoption", "listCandidates", "query", input),
4077
+ getCandidate: (input) => dispatch("deviceAdoption", "getCandidate", "query", input),
4078
+ refresh: (input) => dispatch("deviceAdoption", "refresh", "mutation", input),
4079
+ adopt: (input) => dispatch("deviceAdoption", "adopt", "mutation", input),
4080
+ release: (input) => dispatch("deviceAdoption", "release", "mutation", input),
4081
+ resync: (input) => dispatch("deviceAdoption", "resync", "mutation", input)
4082
+ };
3376
4083
  const deviceExportInterface = {
3377
4084
  getStatus: (input) => dispatch("deviceExport", "getStatus", "query", input),
3378
4085
  listSupportedDeviceKinds: (input) => dispatch("deviceExport", "listSupportedDeviceKinds", "query", input),
@@ -3391,13 +4098,18 @@ function createSystemProxy(api) {
3391
4098
  listPersistedByAddon: (input) => dispatch("deviceManager", "listPersistedByAddon", "query", input),
3392
4099
  listAll: (input) => dispatch("deviceManager", "listAll", "query", input),
3393
4100
  getChildren: (input) => dispatch("deviceManager", "getChildren", "query", input),
4101
+ removeByIntegration: (input) => dispatch("deviceManager", "removeByIntegration", "mutation", input),
3394
4102
  listWrappersForCap: (input) => dispatch("deviceManager", "listWrappersForCap", "query", input),
3395
4103
  listBindableCapsForDeviceType: (input) => dispatch("deviceManager", "listBindableCapsForDeviceType", "query", input),
3396
4104
  discoverDevices: (input) => dispatch("deviceManager", "discoverDevices", "mutation", input),
3397
4105
  adoptDevice: (input) => dispatch("deviceManager", "adoptDevice", "mutation", input),
3398
4106
  getCreationSchema: (input) => dispatch("deviceManager", "getCreationSchema", "query", input),
3399
4107
  createDevice: (input) => dispatch("deviceManager", "createDevice", "mutation", input),
3400
- testCreationField: (input) => dispatch("deviceManager", "testCreationField", "mutation", input)
4108
+ testCreationField: (input) => dispatch("deviceManager", "testCreationField", "mutation", input),
4109
+ adoptionListCandidates: (input) => dispatch("deviceManager", "adoptionListCandidates", "query", input),
4110
+ adoptionRefresh: (input) => dispatch("deviceManager", "adoptionRefresh", "mutation", input),
4111
+ adoptionAdopt: (input) => dispatch("deviceManager", "adoptionAdopt", "mutation", input),
4112
+ adoptionRelease: (input) => dispatch("deviceManager", "adoptionRelease", "mutation", input)
3401
4113
  };
3402
4114
  const deviceProviderInterface = {
3403
4115
  start: (input) => dispatch("deviceProvider", "start", "mutation", input),
@@ -3557,32 +4269,8 @@ function createSystemProxy(api) {
3557
4269
  getAllCameraMetrics: (input) => dispatch("pipelineRunner", "getAllCameraMetrics", "query", input),
3558
4270
  getLocalCameras: (input) => dispatch("pipelineRunner", "getLocalCameras", "query", input)
3559
4271
  };
3560
- const platformProbeInterface = {
3561
- getCapabilities: (input) => dispatch("platformProbe", "getCapabilities", "query", input),
3562
- getHardware: (input) => dispatch("platformProbe", "getHardware", "query", input),
3563
- resolveInferenceConfig: (input) => dispatch("platformProbe", "resolveInferenceConfig", "query", input),
3564
- resolveHwAccel: (input) => dispatch("platformProbe", "resolveHwAccel", "query", input),
3565
- getHardwareEncoders: (input) => dispatch("platformProbe", "getHardwareEncoders", "query", input),
3566
- refreshHardwareEncoders: (input) => dispatch("platformProbe", "refreshHardwareEncoders", "mutation", input)
3567
- };
3568
- const recordingEngineInterface = {
3569
- getStatus: (input) => dispatch("recordingEngine", "getStatus", "query", input),
3570
- enable: (input) => dispatch("recordingEngine", "enable", "mutation", input),
3571
- disable: (input) => dispatch("recordingEngine", "disable", "mutation", input),
3572
- getConfig: (input) => dispatch("recordingEngine", "getConfig", "query", input),
3573
- updateConfig: (input) => dispatch("recordingEngine", "updateConfig", "mutation", input),
3574
- getPlaylist: (input) => dispatch("recordingEngine", "getPlaylist", "query", input),
3575
- getThumbnail: (input) => dispatch("recordingEngine", "getThumbnail", "query", input),
3576
- getSegments: (input) => dispatch("recordingEngine", "getSegments", "query", input),
3577
- getAvailability: (input) => dispatch("recordingEngine", "getAvailability", "query", input),
3578
- estimateStorage: (input) => dispatch("recordingEngine", "estimateStorage", "query", input),
3579
- estimateGlobalStorage: (input) => dispatch("recordingEngine", "estimateGlobalStorage", "query", input),
3580
- getStorageUsage: (input) => dispatch("recordingEngine", "getStorageUsage", "query", input),
3581
- setPolicy: (input) => dispatch("recordingEngine", "setPolicy", "mutation", input),
3582
- getPolicy: (input) => dispatch("recordingEngine", "getPolicy", "query", input),
3583
- getRetentionConfig: (input) => dispatch("recordingEngine", "getRetentionConfig", "query", input),
3584
- updateRetentionConfig: (input) => dispatch("recordingEngine", "updateRetentionConfig", "mutation", input),
3585
- getMotionStats: (input) => dispatch("recordingEngine", "getMotionStats", "query", input)
4272
+ const recordingInterface = {
4273
+ getStorageUsage: (input) => dispatch("recording", "getStorageUsage", "query", input)
3586
4274
  };
3587
4275
  const settingsStoreInterface = {
3588
4276
  get: (input) => dispatch("settingsStore", "get", "query", input),
@@ -3592,6 +4280,7 @@ function createSystemProxy(api) {
3592
4280
  update: (input) => dispatch("settingsStore", "update", "mutation", input),
3593
4281
  delete: (input) => dispatch("settingsStore", "delete", "mutation", input),
3594
4282
  count: (input) => dispatch("settingsStore", "count", "query", input),
4283
+ histogram: (input) => dispatch("settingsStore", "histogram", "query", input),
3595
4284
  isEmpty: (input) => dispatch("settingsStore", "isEmpty", "query", input),
3596
4285
  declareCollection: (input) => dispatch("settingsStore", "declareCollection", "mutation", input)
3597
4286
  };
@@ -3612,6 +4301,7 @@ function createSystemProxy(api) {
3612
4301
  endDownload: (input) => dispatch("storage", "endDownload", "mutation", input),
3613
4302
  listLocations: (input) => dispatch("storage", "listLocations", "query", input),
3614
4303
  getDefaultLocation: (input) => dispatch("storage", "getDefaultLocation", "query", input),
4304
+ listLocationDeclarations: (input) => dispatch("storage", "listLocationDeclarations", "query", input),
3615
4305
  upsertLocation: (input) => dispatch("storage", "upsertLocation", "mutation", input),
3616
4306
  deleteLocation: (input) => dispatch("storage", "deleteLocation", "mutation", input),
3617
4307
  testLocation: (input) => dispatch("storage", "testLocation", "query", input),
@@ -3622,6 +4312,7 @@ function createSystemProxy(api) {
3622
4312
  listAllCameraStreams: (input) => dispatch("streamBroker", "listAllCameraStreams", "query", input),
3623
4313
  listAllProfileSlots: (input) => dispatch("streamBroker", "listAllProfileSlots", "query", input),
3624
4314
  getBrokerStats: (input) => dispatch("streamBroker", "getBrokerStats", "query", input),
4315
+ probeStream: (input) => dispatch("streamBroker", "probeStream", "mutation", input),
3625
4316
  listClients: (input) => dispatch("streamBroker", "listClients", "query", input),
3626
4317
  killClient: (input) => dispatch("streamBroker", "killClient", "mutation", input),
3627
4318
  getStreamUrl: (input) => dispatch("streamBroker", "getStreamUrl", "query", input),
@@ -3694,7 +4385,9 @@ function createSystemProxy(api) {
3694
4385
  audioAnalyzer: audioAnalyzerInterface,
3695
4386
  audioCodec: audioCodecInterface,
3696
4387
  backup: backupInterface,
4388
+ broker: brokerInterface,
3697
4389
  decoder: decoderInterface,
4390
+ deviceAdoption: deviceAdoptionInterface,
3698
4391
  deviceExport: deviceExportInterface,
3699
4392
  deviceManager: deviceManagerInterface,
3700
4393
  deviceProvider: deviceProviderInterface,
@@ -3711,8 +4404,7 @@ function createSystemProxy(api) {
3711
4404
  pipelineExecutor: pipelineExecutorInterface,
3712
4405
  pipelineOrchestrator: pipelineOrchestratorInterface,
3713
4406
  pipelineRunner: pipelineRunnerInterface,
3714
- platformProbe: platformProbeInterface,
3715
- recordingEngine: recordingEngineInterface,
4407
+ recording: recordingInterface,
3716
4408
  settingsStore: settingsStoreInterface,
3717
4409
  storage: storageInterface,
3718
4410
  streamBroker: streamBrokerInterface,
@@ -4474,6 +5166,15 @@ function customAction(input, output, options) {
4474
5166
  scope: options?.scope ?? { kind: "system" }
4475
5167
  };
4476
5168
  }
5169
+ function deviceCustomAction(input, output, options) {
5170
+ return {
5171
+ input,
5172
+ output,
5173
+ kind: options?.kind ?? "query",
5174
+ auth: options?.auth ?? "protected",
5175
+ scope: { kind: "device", ...options?.deviceTypes ? { deviceTypes: options.deviceTypes } : {} }
5176
+ };
5177
+ }
4477
5178
  const STREAM_PROFILE_META = [
4478
5179
  { profile: "main", prefix: "streamMain", label: "Main stream" },
4479
5180
  { profile: "sub", prefix: "streamSub", label: "Sub stream" },
@@ -4684,20 +5385,36 @@ const CAPABILITY_NAMES = {
4684
5385
  addons: "addons",
4685
5386
  adminUi: "admin-ui",
4686
5387
  advancedNotifier: "advanced-notifier",
5388
+ airQualitySensor: "air-quality-sensor",
5389
+ alarmPanel: "alarm-panel",
4687
5390
  alerts: "alerts",
5391
+ ambientLightSensor: "ambient-light-sensor",
4688
5392
  audioAnalysis: "audio-analysis",
4689
5393
  audioAnalyzer: "audio-analyzer",
4690
5394
  audioCodec: "audio-codec",
4691
5395
  audioMetrics: "audio-metrics",
4692
5396
  authProvider: "auth-provider",
5397
+ automationControl: "automation-control",
4693
5398
  backup: "backup",
4694
5399
  battery: "battery",
5400
+ binary: "binary",
4695
5401
  brightness: "brightness",
5402
+ broker: "broker",
5403
+ button: "button",
4696
5404
  cameraCredentials: "camera-credentials",
4697
5405
  cameraPipelineConfig: "camera-pipeline-config",
4698
5406
  cameraStreams: "camera-streams",
5407
+ carbonMonoxide: "carbon-monoxide",
5408
+ climateControl: "climate-control",
5409
+ color: "color",
5410
+ connectivity: "connectivity",
5411
+ consumables: "consumables",
5412
+ contact: "contact",
5413
+ control: "control",
5414
+ cover: "cover",
4699
5415
  decoder: "decoder",
4700
5416
  detectionPipeline: "detection-pipeline",
5417
+ deviceAdoption: "device-adoption",
4701
5418
  deviceDiscovery: "device-discovery",
4702
5419
  deviceExport: "device-export",
4703
5420
  deviceManager: "device-manager",
@@ -4707,12 +5424,24 @@ const CAPABILITY_NAMES = {
4707
5424
  deviceStatus: "device-status",
4708
5425
  doorbell: "doorbell",
4709
5426
  embeddingEncoder: "embedding-encoder",
5427
+ enumSensor: "enum-sensor",
5428
+ eventEmitter: "event-emitter",
4710
5429
  events: "events",
5430
+ fanControl: "fan-control",
4711
5431
  featureProbe: "feature-probe",
5432
+ filesystemBrowse: "filesystem-browse",
5433
+ flood: "flood",
5434
+ gas: "gas",
5435
+ humidifier: "humidifier",
5436
+ humiditySensor: "humidity-sensor",
5437
+ image: "image",
4712
5438
  integrations: "integrations",
4713
5439
  intercom: "intercom",
5440
+ lawnMowerControl: "lawn-mower-control",
4714
5441
  localNetwork: "local-network",
5442
+ lockControl: "lock-control",
4715
5443
  logDestination: "log-destination",
5444
+ mediaPlayer: "media-player",
4716
5445
  meshNetwork: "mesh-network",
4717
5446
  metricsProvider: "metrics-provider",
4718
5447
  motion: "motion",
@@ -4725,6 +5454,8 @@ const CAPABILITY_NAMES = {
4725
5454
  networkQuality: "network-quality",
4726
5455
  nodes: "nodes",
4727
5456
  notificationOutput: "notification-output",
5457
+ notifier: "notifier",
5458
+ numericSensor: "numeric-sensor",
4728
5459
  oauthIntegration: "oauth-integration",
4729
5460
  osd: "osd",
4730
5461
  pipelineAnalytics: "pipeline-analytics",
@@ -4732,19 +5463,24 @@ const CAPABILITY_NAMES = {
4732
5463
  pipelineOrchestrator: "pipeline-orchestrator",
4733
5464
  pipelineRunner: "pipeline-runner",
4734
5465
  platformProbe: "platform-probe",
5466
+ powerMeter: "power-meter",
5467
+ presence: "presence",
5468
+ pressureSensor: "pressure-sensor",
4735
5469
  privacyMask: "privacy-mask",
4736
5470
  ptz: "ptz",
4737
5471
  ptzAutotrack: "ptz-autotrack",
4738
5472
  reboot: "reboot",
4739
5473
  recording: "recording",
4740
- recordingEngine: "recording-engine",
4741
5474
  restreamer: "restreamer",
5475
+ scriptRunner: "script-runner",
4742
5476
  settingsStore: "settings-store",
5477
+ smoke: "smoke",
4743
5478
  smtpProvider: "smtp-provider",
4744
5479
  snapshot: "snapshot",
4745
5480
  snapshotProvider: "snapshot-provider",
4746
5481
  ssoBridge: "sso-bridge",
4747
5482
  storage: "storage",
5483
+ storageEvictable: "storage-evictable",
4748
5484
  storageProvider: "storage-provider",
4749
5485
  streamBroker: "stream-broker",
4750
5486
  streamCatalog: "stream-catalog",
@@ -4752,10 +5488,19 @@ const CAPABILITY_NAMES = {
4752
5488
  streamingEngine: "streaming-engine",
4753
5489
  switch: "switch",
4754
5490
  system: "system",
5491
+ tamper: "tamper",
5492
+ temperatureSensor: "temperature-sensor",
4755
5493
  toast: "toast",
4756
5494
  turnProvider: "turn-provider",
5495
+ update: "update",
4757
5496
  userManagement: "user-management",
4758
5497
  userPasskeys: "user-passkeys",
5498
+ vacuumControl: "vacuum-control",
5499
+ valve: "valve",
5500
+ vibration: "vibration",
5501
+ videoclips: "videoclips",
5502
+ waterHeater: "water-heater",
5503
+ weather: "weather",
4759
5504
  webrtc: "webrtc",
4760
5505
  webrtcSession: "webrtc-session",
4761
5506
  zoneAnalytics: "zone-analytics",
@@ -4773,20 +5518,36 @@ const CAPABILITY_ROUTER_KEYS = [
4773
5518
  { key: "addons", name: "addons" },
4774
5519
  { key: "adminUi", name: "admin-ui" },
4775
5520
  { key: "advancedNotifier", name: "advanced-notifier" },
5521
+ { key: "airQualitySensor", name: "air-quality-sensor" },
5522
+ { key: "alarmPanel", name: "alarm-panel" },
4776
5523
  { key: "alerts", name: "alerts" },
5524
+ { key: "ambientLightSensor", name: "ambient-light-sensor" },
4777
5525
  { key: "audioAnalysis", name: "audio-analysis" },
4778
5526
  { key: "audioAnalyzer", name: "audio-analyzer" },
4779
5527
  { key: "audioCodec", name: "audio-codec" },
4780
5528
  { key: "audioMetrics", name: "audio-metrics" },
4781
5529
  { key: "authProvider", name: "auth-provider" },
5530
+ { key: "automationControl", name: "automation-control" },
4782
5531
  { key: "backup", name: "backup" },
4783
5532
  { key: "battery", name: "battery" },
5533
+ { key: "binary", name: "binary" },
4784
5534
  { key: "brightness", name: "brightness" },
5535
+ { key: "broker", name: "broker" },
5536
+ { key: "button", name: "button" },
4785
5537
  { key: "cameraCredentials", name: "camera-credentials" },
4786
5538
  { key: "cameraPipelineConfig", name: "camera-pipeline-config" },
4787
5539
  { key: "cameraStreams", name: "camera-streams" },
5540
+ { key: "carbonMonoxide", name: "carbon-monoxide" },
5541
+ { key: "climateControl", name: "climate-control" },
5542
+ { key: "color", name: "color" },
5543
+ { key: "connectivity", name: "connectivity" },
5544
+ { key: "consumables", name: "consumables" },
5545
+ { key: "contact", name: "contact" },
5546
+ { key: "control", name: "control" },
5547
+ { key: "cover", name: "cover" },
4788
5548
  { key: "decoder", name: "decoder" },
4789
5549
  { key: "detectionPipeline", name: "detection-pipeline" },
5550
+ { key: "deviceAdoption", name: "device-adoption" },
4790
5551
  { key: "deviceDiscovery", name: "device-discovery" },
4791
5552
  { key: "deviceExport", name: "device-export" },
4792
5553
  { key: "deviceManager", name: "device-manager" },
@@ -4796,12 +5557,24 @@ const CAPABILITY_ROUTER_KEYS = [
4796
5557
  { key: "deviceStatus", name: "device-status" },
4797
5558
  { key: "doorbell", name: "doorbell" },
4798
5559
  { key: "embeddingEncoder", name: "embedding-encoder" },
5560
+ { key: "enumSensor", name: "enum-sensor" },
5561
+ { key: "eventEmitter", name: "event-emitter" },
4799
5562
  { key: "events", name: "events" },
5563
+ { key: "fanControl", name: "fan-control" },
4800
5564
  { key: "featureProbe", name: "feature-probe" },
5565
+ { key: "filesystemBrowse", name: "filesystem-browse" },
5566
+ { key: "flood", name: "flood" },
5567
+ { key: "gas", name: "gas" },
5568
+ { key: "humidifier", name: "humidifier" },
5569
+ { key: "humiditySensor", name: "humidity-sensor" },
5570
+ { key: "image", name: "image" },
4801
5571
  { key: "integrations", name: "integrations" },
4802
5572
  { key: "intercom", name: "intercom" },
5573
+ { key: "lawnMowerControl", name: "lawn-mower-control" },
4803
5574
  { key: "localNetwork", name: "local-network" },
5575
+ { key: "lockControl", name: "lock-control" },
4804
5576
  { key: "logDestination", name: "log-destination" },
5577
+ { key: "mediaPlayer", name: "media-player" },
4805
5578
  { key: "meshNetwork", name: "mesh-network" },
4806
5579
  { key: "metricsProvider", name: "metrics-provider" },
4807
5580
  { key: "motion", name: "motion" },
@@ -4814,6 +5587,8 @@ const CAPABILITY_ROUTER_KEYS = [
4814
5587
  { key: "networkQuality", name: "network-quality" },
4815
5588
  { key: "nodes", name: "nodes" },
4816
5589
  { key: "notificationOutput", name: "notification-output" },
5590
+ { key: "notifier", name: "notifier" },
5591
+ { key: "numericSensor", name: "numeric-sensor" },
4817
5592
  { key: "oauthIntegration", name: "oauth-integration" },
4818
5593
  { key: "osd", name: "osd" },
4819
5594
  { key: "pipelineAnalytics", name: "pipeline-analytics" },
@@ -4821,19 +5596,24 @@ const CAPABILITY_ROUTER_KEYS = [
4821
5596
  { key: "pipelineOrchestrator", name: "pipeline-orchestrator" },
4822
5597
  { key: "pipelineRunner", name: "pipeline-runner" },
4823
5598
  { key: "platformProbe", name: "platform-probe" },
5599
+ { key: "powerMeter", name: "power-meter" },
5600
+ { key: "presence", name: "presence" },
5601
+ { key: "pressureSensor", name: "pressure-sensor" },
4824
5602
  { key: "privacyMask", name: "privacy-mask" },
4825
5603
  { key: "ptz", name: "ptz" },
4826
5604
  { key: "ptzAutotrack", name: "ptz-autotrack" },
4827
5605
  { key: "reboot", name: "reboot" },
4828
5606
  { key: "recording", name: "recording" },
4829
- { key: "recordingEngine", name: "recording-engine" },
4830
5607
  { key: "restreamer", name: "restreamer" },
5608
+ { key: "scriptRunner", name: "script-runner" },
4831
5609
  { key: "settingsStore", name: "settings-store" },
5610
+ { key: "smoke", name: "smoke" },
4832
5611
  { key: "smtpProvider", name: "smtp-provider" },
4833
5612
  { key: "snapshot", name: "snapshot" },
4834
5613
  { key: "snapshotProvider", name: "snapshot-provider" },
4835
5614
  { key: "ssoBridge", name: "sso-bridge" },
4836
5615
  { key: "storage", name: "storage" },
5616
+ { key: "storageEvictable", name: "storage-evictable" },
4837
5617
  { key: "storageProvider", name: "storage-provider" },
4838
5618
  { key: "streamBroker", name: "stream-broker" },
4839
5619
  { key: "streamCatalog", name: "stream-catalog" },
@@ -4841,10 +5621,19 @@ const CAPABILITY_ROUTER_KEYS = [
4841
5621
  { key: "streamingEngine", name: "streaming-engine" },
4842
5622
  { key: "switch", name: "switch" },
4843
5623
  { key: "system", name: "system" },
5624
+ { key: "tamper", name: "tamper" },
5625
+ { key: "temperatureSensor", name: "temperature-sensor" },
4844
5626
  { key: "toast", name: "toast" },
4845
5627
  { key: "turnProvider", name: "turn-provider" },
5628
+ { key: "update", name: "update" },
4846
5629
  { key: "userManagement", name: "user-management" },
4847
5630
  { key: "userPasskeys", name: "user-passkeys" },
5631
+ { key: "vacuumControl", name: "vacuum-control" },
5632
+ { key: "valve", name: "valve" },
5633
+ { key: "vibration", name: "vibration" },
5634
+ { key: "videoclips", name: "videoclips" },
5635
+ { key: "waterHeater", name: "water-heater" },
5636
+ { key: "weather", name: "weather" },
4848
5637
  { key: "webrtc", name: "webrtc" },
4849
5638
  { key: "webrtcSession", name: "webrtc-session" },
4850
5639
  { key: "zoneAnalytics", name: "zone-analytics" },
@@ -4862,20 +5651,36 @@ const ALL_CAPABILITY_DEFINITIONS = [
4862
5651
  addonsCapability,
4863
5652
  adminUiCapability,
4864
5653
  advancedNotifierCapability,
5654
+ airQualitySensorCapability,
5655
+ alarmPanelCapability,
4865
5656
  alertsCapability,
5657
+ ambientLightSensorCapability,
4866
5658
  audioAnalysisCapability,
4867
5659
  audioAnalyzerCapability,
4868
5660
  audioCodecCapability,
4869
5661
  audioMetricsCapability,
4870
5662
  authProviderCapability,
5663
+ automationControlCapability,
4871
5664
  backupCapability,
4872
5665
  batteryCapability,
5666
+ binaryCapability,
4873
5667
  brightnessCapability,
5668
+ brokerCapability,
5669
+ buttonCapability,
4874
5670
  cameraCredentialsCapability,
4875
5671
  cameraPipelineConfigCapability,
4876
5672
  cameraStreamsCapability,
5673
+ carbonMonoxideCapability,
5674
+ climateControlCapability,
5675
+ colorCapability,
5676
+ connectivityCapability,
5677
+ consumablesCapability,
5678
+ contactCapability,
5679
+ controlCapability,
5680
+ coverCapability,
4877
5681
  decoderCapability,
4878
5682
  detectionPipelineCapability,
5683
+ deviceAdoptionCapability,
4879
5684
  deviceDiscoveryCapability,
4880
5685
  deviceExportCapability,
4881
5686
  deviceManagerCapability,
@@ -4885,12 +5690,24 @@ const ALL_CAPABILITY_DEFINITIONS = [
4885
5690
  deviceStatusCapability,
4886
5691
  doorbellCapability,
4887
5692
  embeddingEncoderCapability,
5693
+ enumSensorCapability,
5694
+ eventEmitterCapability,
4888
5695
  eventsCapability,
5696
+ fanControlCapability,
4889
5697
  featureProbeCapability,
5698
+ filesystemBrowseCapability,
5699
+ floodCapability,
5700
+ gasCapability,
5701
+ humidifierCapability,
5702
+ humiditySensorCapability,
5703
+ imageCapability,
4890
5704
  integrationsCapability,
4891
5705
  intercomCapability,
5706
+ lawnMowerControlCapability,
4892
5707
  localNetworkCapability,
5708
+ lockControlCapability,
4893
5709
  logDestinationCapability,
5710
+ mediaPlayerCapability,
4894
5711
  meshNetworkCapability,
4895
5712
  metricsProviderCapability,
4896
5713
  motionCapability,
@@ -4903,6 +5720,8 @@ const ALL_CAPABILITY_DEFINITIONS = [
4903
5720
  networkQualityCapability,
4904
5721
  nodesCapability,
4905
5722
  notificationOutputCapability,
5723
+ notifierCapability,
5724
+ numericSensorCapability,
4906
5725
  oauthIntegrationCapability,
4907
5726
  osdCapability,
4908
5727
  pipelineAnalyticsCapability,
@@ -4910,19 +5729,24 @@ const ALL_CAPABILITY_DEFINITIONS = [
4910
5729
  pipelineOrchestratorCapability,
4911
5730
  pipelineRunnerCapability,
4912
5731
  platformProbeCapability,
5732
+ powerMeterCapability,
5733
+ presenceCapability,
5734
+ pressureSensorCapability,
4913
5735
  privacyMaskCapability,
4914
5736
  ptzCapability,
4915
5737
  ptzAutotrackCapability,
4916
5738
  rebootCapability,
4917
5739
  recordingCapability,
4918
- recordingEngineCapability,
4919
5740
  restreamerCapability,
5741
+ scriptRunnerCapability,
4920
5742
  settingsStoreCapability,
5743
+ smokeCapability,
4921
5744
  smtpProviderCapability,
4922
5745
  snapshotCapability,
4923
5746
  snapshotProviderCapability,
4924
5747
  ssoBridgeCapability,
4925
5748
  storageCapability,
5749
+ storageEvictableCapability,
4926
5750
  storageProviderCapability,
4927
5751
  streamBrokerCapability,
4928
5752
  streamCatalogCapability,
@@ -4930,10 +5754,19 @@ const ALL_CAPABILITY_DEFINITIONS = [
4930
5754
  streamingEngineCapability,
4931
5755
  switchCapability,
4932
5756
  systemCapability,
5757
+ tamperCapability,
5758
+ temperatureSensorCapability,
4933
5759
  toastCapability,
4934
5760
  turnProviderCapability,
5761
+ updateCapability,
4935
5762
  userManagementCapability,
4936
5763
  userPasskeysCapability,
5764
+ vacuumControlCapability,
5765
+ valveCapability,
5766
+ vibrationCapability,
5767
+ videoclipsCapability,
5768
+ waterHeaterCapability,
5769
+ weatherCapability,
4937
5770
  webrtcCapability,
4938
5771
  webrtcSessionCapability,
4939
5772
  zoneAnalyticsCapability,
@@ -4942,29 +5775,72 @@ const ALL_CAPABILITY_DEFINITIONS = [
4942
5775
  ];
4943
5776
  const CAP_NAMES_WITH_STATUS = [
4944
5777
  "accessories",
5778
+ "air-quality-sensor",
5779
+ "alarm-panel",
5780
+ "ambient-light-sensor",
5781
+ "automation-control",
4945
5782
  "battery",
5783
+ "binary",
4946
5784
  "brightness",
5785
+ "broker",
4947
5786
  "camera-credentials",
5787
+ "carbon-monoxide",
5788
+ "climate-control",
5789
+ "color",
5790
+ "connectivity",
5791
+ "consumables",
5792
+ "contact",
5793
+ "control",
5794
+ "cover",
5795
+ "device-adoption",
4948
5796
  "device-discovery",
4949
5797
  "device-export",
4950
5798
  "device-status",
4951
5799
  "doorbell",
5800
+ "enum-sensor",
5801
+ "event-emitter",
5802
+ "fan-control",
4952
5803
  "feature-probe",
5804
+ "flood",
5805
+ "gas",
5806
+ "humidifier",
5807
+ "humidity-sensor",
5808
+ "image",
4953
5809
  "intercom",
5810
+ "lawn-mower-control",
5811
+ "lock-control",
5812
+ "media-player",
4954
5813
  "motion",
4955
5814
  "motion-trigger",
4956
5815
  "motion-zones",
4957
5816
  "mqtt-broker",
4958
5817
  "native-object-detection",
5818
+ "notifier",
5819
+ "numeric-sensor",
4959
5820
  "osd",
5821
+ "power-meter",
5822
+ "presence",
5823
+ "pressure-sensor",
4960
5824
  "privacy-mask",
4961
5825
  "ptz",
4962
5826
  "ptz-autotrack",
5827
+ "recording",
5828
+ "script-runner",
5829
+ "smoke",
4963
5830
  "snapshot",
4964
5831
  "stream-params",
4965
- "switch"
5832
+ "switch",
5833
+ "tamper",
5834
+ "temperature-sensor",
5835
+ "update",
5836
+ "vacuum-control",
5837
+ "valve",
5838
+ "vibration",
5839
+ "water-heater",
5840
+ "weather"
4966
5841
  ];
4967
5842
  const METHOD_ACCESS_MAP = Object.freeze({
5843
+ "accessories.setChildHidden": { capName: "accessories", capScope: "device", addonId: null, access: "create" },
4968
5844
  "addonPages.listPages": { capName: "addon-pages", capScope: "system", addonId: null, access: "view" },
4969
5845
  "addonPagesSource.listPages": { capName: "addon-pages-source", capScope: "system", addonId: null, access: "view" },
4970
5846
  "addonRoutes.getRoutes": { capName: "addon-routes", capScope: "system", addonId: null, access: "view" },
@@ -5016,6 +5892,9 @@ const METHOD_ACCESS_MAP = Object.freeze({
5016
5892
  "advancedNotifier.getRules": { capName: "advanced-notifier", capScope: "system", addonId: null, access: "view" },
5017
5893
  "advancedNotifier.testRule": { capName: "advanced-notifier", capScope: "system", addonId: null, access: "create" },
5018
5894
  "advancedNotifier.upsertRule": { capName: "advanced-notifier", capScope: "system", addonId: null, access: "create" },
5895
+ "alarmPanel.arm": { capName: "alarm-panel", capScope: "device", addonId: null, access: "create" },
5896
+ "alarmPanel.disarm": { capName: "alarm-panel", capScope: "device", addonId: null, access: "create" },
5897
+ "alarmPanel.trigger": { capName: "alarm-panel", capScope: "device", addonId: null, access: "create" },
5019
5898
  "alerts.dismiss": { capName: "alerts", capScope: "system", addonId: null, access: "create" },
5020
5899
  "alerts.emit": { capName: "alerts", capScope: "system", addonId: null, access: "create" },
5021
5900
  "alerts.getUnreadCount": { capName: "alerts", capScope: "system", addonId: null, access: "view" },
@@ -5046,6 +5925,9 @@ const METHOD_ACCESS_MAP = Object.freeze({
5046
5925
  "authProvider.handleCallback": { capName: "auth-provider", capScope: "system", addonId: null, access: "create" },
5047
5926
  "authProvider.validateCredentials": { capName: "auth-provider", capScope: "system", addonId: null, access: "create" },
5048
5927
  "authProvider.validateToken": { capName: "auth-provider", capScope: "system", addonId: null, access: "view" },
5928
+ "automationControl.disable": { capName: "automation-control", capScope: "device", addonId: null, access: "create" },
5929
+ "automationControl.enable": { capName: "automation-control", capScope: "device", addonId: null, access: "create" },
5930
+ "automationControl.trigger": { capName: "automation-control", capScope: "device", addonId: null, access: "create" },
5049
5931
  "backup.delete": { capName: "backup", capScope: "system", addonId: null, access: "delete" },
5050
5932
  "backup.getEntries": { capName: "backup", capScope: "system", addonId: null, access: "view" },
5051
5933
  "backup.list": { capName: "backup", capScope: "system", addonId: null, access: "view" },
@@ -5056,11 +5938,45 @@ const METHOD_ACCESS_MAP = Object.freeze({
5056
5938
  "backup.restore": { capName: "backup", capScope: "system", addonId: null, access: "create" },
5057
5939
  "backup.trigger": { capName: "backup", capScope: "system", addonId: null, access: "create" },
5058
5940
  "backup.upsertDestinationPolicy": { capName: "backup", capScope: "system", addonId: null, access: "create" },
5941
+ "battery.wakeForStream": { capName: "battery", capScope: "device", addonId: null, access: "create" },
5059
5942
  "brightness.setBrightness": { capName: "brightness", capScope: "device", addonId: null, access: "create" },
5943
+ "broker.add": { capName: "broker", capScope: "system", addonId: null, access: "create" },
5944
+ "broker.get": { capName: "broker", capScope: "system", addonId: null, access: "view" },
5945
+ "broker.getBrokerConfig": { capName: "broker", capScope: "system", addonId: null, access: "view" },
5946
+ "broker.getSettings": { capName: "broker", capScope: "system", addonId: null, access: "view" },
5947
+ "broker.getSettingsSchema": { capName: "broker", capScope: "system", addonId: null, access: "view" },
5948
+ "broker.getState": { capName: "broker", capScope: "system", addonId: null, access: "view" },
5949
+ "broker.getStatus": { capName: "broker", capScope: "system", addonId: null, access: "view" },
5950
+ "broker.list": { capName: "broker", capScope: "system", addonId: null, access: "view" },
5951
+ "broker.listProviders": { capName: "broker", capScope: "system", addonId: null, access: "view" },
5952
+ "broker.publish": { capName: "broker", capScope: "system", addonId: null, access: "create" },
5953
+ "broker.remove": { capName: "broker", capScope: "system", addonId: null, access: "delete" },
5954
+ "broker.setSettings": { capName: "broker", capScope: "system", addonId: null, access: "create" },
5955
+ "broker.subscribe": { capName: "broker", capScope: "system", addonId: null, access: "create" },
5956
+ "broker.testConnection": { capName: "broker", capScope: "system", addonId: null, access: "create" },
5957
+ "broker.testSettings": { capName: "broker", capScope: "system", addonId: null, access: "create" },
5958
+ "broker.unsubscribe": { capName: "broker", capScope: "system", addonId: null, access: "create" },
5959
+ "button.press": { capName: "button", capScope: "device", addonId: null, access: "create" },
5060
5960
  "cameraCredentials.getCredentials": { capName: "camera-credentials", capScope: "device", addonId: null, access: "view" },
5061
5961
  "cameraStreams.getBrokerStreams": { capName: "camera-streams", capScope: "device", addonId: null, access: "view" },
5062
5962
  "cameraStreams.getCameraStreams": { capName: "camera-streams", capScope: "device", addonId: null, access: "view" },
5963
+ "cameraStreams.getProfileRtspEntries": { capName: "camera-streams", capScope: "device", addonId: null, access: "view" },
5063
5964
  "cameraStreams.getRtspEntries": { capName: "camera-streams", capScope: "device", addonId: null, access: "view" },
5965
+ "cameraStreams.pickStream": { capName: "camera-streams", capScope: "device", addonId: null, access: "view" },
5966
+ "climateControl.setFanMode": { capName: "climate-control", capScope: "device", addonId: null, access: "create" },
5967
+ "climateControl.setMode": { capName: "climate-control", capScope: "device", addonId: null, access: "create" },
5968
+ "climateControl.setPreset": { capName: "climate-control", capScope: "device", addonId: null, access: "create" },
5969
+ "climateControl.setTarget": { capName: "climate-control", capScope: "device", addonId: null, access: "create" },
5970
+ "climateControl.setTargetHumidity": { capName: "climate-control", capScope: "device", addonId: null, access: "create" },
5971
+ "climateControl.setTargetRange": { capName: "climate-control", capScope: "device", addonId: null, access: "create" },
5972
+ "color.setColor": { capName: "color", capScope: "device", addonId: null, access: "create" },
5973
+ "consumables.reset": { capName: "consumables", capScope: "device", addonId: null, access: "delete" },
5974
+ "control.setValue": { capName: "control", capScope: "device", addonId: null, access: "create" },
5975
+ "cover.close": { capName: "cover", capScope: "device", addonId: null, access: "create" },
5976
+ "cover.open": { capName: "cover", capScope: "device", addonId: null, access: "create" },
5977
+ "cover.setPosition": { capName: "cover", capScope: "device", addonId: null, access: "create" },
5978
+ "cover.setTiltPosition": { capName: "cover", capScope: "device", addonId: null, access: "create" },
5979
+ "cover.stop": { capName: "cover", capScope: "device", addonId: null, access: "create" },
5064
5980
  "decoder.createSession": { capName: "decoder", capScope: "system", addonId: null, access: "view" },
5065
5981
  "decoder.destroySession": { capName: "decoder", capScope: "system", addonId: null, access: "delete" },
5066
5982
  "decoder.getFrame": { capName: "decoder", capScope: "system", addonId: null, access: "view" },
@@ -5075,6 +5991,13 @@ const METHOD_ACCESS_MAP = Object.freeze({
5075
5991
  "decoder.reprobeHwaccel": { capName: "decoder", capScope: "system", addonId: null, access: "create" },
5076
5992
  "decoder.supportsCodec": { capName: "decoder", capScope: "system", addonId: null, access: "view" },
5077
5993
  "decoder.updateConfig": { capName: "decoder", capScope: "system", addonId: null, access: "view" },
5994
+ "deviceAdoption.adopt": { capName: "device-adoption", capScope: "system", addonId: null, access: "create" },
5995
+ "deviceAdoption.getCandidate": { capName: "device-adoption", capScope: "system", addonId: null, access: "view" },
5996
+ "deviceAdoption.listCandidateFilters": { capName: "device-adoption", capScope: "system", addonId: null, access: "view" },
5997
+ "deviceAdoption.listCandidates": { capName: "device-adoption", capScope: "system", addonId: null, access: "view" },
5998
+ "deviceAdoption.refresh": { capName: "device-adoption", capScope: "system", addonId: null, access: "create" },
5999
+ "deviceAdoption.release": { capName: "device-adoption", capScope: "system", addonId: null, access: "create" },
6000
+ "deviceAdoption.resync": { capName: "device-adoption", capScope: "system", addonId: null, access: "create" },
5078
6001
  "deviceDiscovery.adoptDevice": { capName: "device-discovery", capScope: "device", addonId: null, access: "create" },
5079
6002
  "deviceDiscovery.listDiscovered": { capName: "device-discovery", capScope: "device", addonId: null, access: "view" },
5080
6003
  "deviceDiscovery.refreshDiscovery": { capName: "device-discovery", capScope: "device", addonId: null, access: "create" },
@@ -5086,7 +6009,12 @@ const METHOD_ACCESS_MAP = Object.freeze({
5086
6009
  "deviceExport.unexposeDevice": { capName: "device-export", capScope: "system", addonId: null, access: "create" },
5087
6010
  "deviceManager.addLocation": { capName: "device-manager", capScope: "system", addonId: null, access: "create" },
5088
6011
  "deviceManager.adoptDevice": { capName: "device-manager", capScope: "system", addonId: null, access: "create" },
6012
+ "deviceManager.adoptionAdopt": { capName: "device-manager", capScope: "system", addonId: null, access: "create" },
6013
+ "deviceManager.adoptionListCandidates": { capName: "device-manager", capScope: "system", addonId: null, access: "view" },
6014
+ "deviceManager.adoptionRefresh": { capName: "device-manager", capScope: "system", addonId: null, access: "create" },
6015
+ "deviceManager.adoptionRelease": { capName: "device-manager", capScope: "system", addonId: null, access: "create" },
5089
6016
  "deviceManager.allocateDeviceId": { capName: "device-manager", capScope: "system", addonId: null, access: "create" },
6017
+ "deviceManager.applyInitialMeta": { capName: "device-manager", capScope: "system", addonId: null, access: "create" },
5090
6018
  "deviceManager.createDevice": { capName: "device-manager", capScope: "system", addonId: null, access: "create" },
5091
6019
  "deviceManager.disable": { capName: "device-manager", capScope: "system", addonId: null, access: "create" },
5092
6020
  "deviceManager.discoverDevices": { capName: "device-manager", capScope: "system", addonId: null, access: "create" },
@@ -5104,6 +6032,7 @@ const METHOD_ACCESS_MAP = Object.freeze({
5104
6032
  "deviceManager.getSettingsSchema": { capName: "device-manager", capScope: "system", addonId: null, access: "view" },
5105
6033
  "deviceManager.getStreamProfileMap": { capName: "device-manager", capScope: "system", addonId: null, access: "view" },
5106
6034
  "deviceManager.getStreamSources": { capName: "device-manager", capScope: "system", addonId: null, access: "view" },
6035
+ "deviceManager.getWireableFields": { capName: "device-manager", capScope: "system", addonId: null, access: "view" },
5107
6036
  "deviceManager.listAll": { capName: "device-manager", capScope: "system", addonId: null, access: "view" },
5108
6037
  "deviceManager.listBindableCapsForDeviceType": { capName: "device-manager", capScope: "system", addonId: null, access: "view" },
5109
6038
  "deviceManager.listLocations": { capName: "device-manager", capScope: "system", addonId: null, access: "view" },
@@ -5116,13 +6045,22 @@ const METHOD_ACCESS_MAP = Object.freeze({
5116
6045
  "deviceManager.probeStreams": { capName: "device-manager", capScope: "system", addonId: null, access: "create" },
5117
6046
  "deviceManager.registerDevice": { capName: "device-manager", capScope: "system", addonId: null, access: "create" },
5118
6047
  "deviceManager.remove": { capName: "device-manager", capScope: "system", addonId: null, access: "delete" },
6048
+ "deviceManager.removeByIntegration": { capName: "device-manager", capScope: "system", addonId: null, access: "delete" },
5119
6049
  "deviceManager.removeDevice": { capName: "device-manager", capScope: "system", addonId: null, access: "delete" },
5120
6050
  "deviceManager.removeLocation": { capName: "device-manager", capScope: "system", addonId: null, access: "delete" },
6051
+ "deviceManager.runDeviceAction": { capName: "device-manager", capScope: "system", addonId: null, access: "create" },
6052
+ "deviceManager.setChildLayout": { capName: "device-manager", capScope: "system", addonId: null, access: "create" },
6053
+ "deviceManager.setDeviceLinks": { capName: "device-manager", capScope: "system", addonId: null, access: "create" },
5121
6054
  "deviceManager.setDisabled": { capName: "device-manager", capScope: "system", addonId: null, access: "create" },
6055
+ "deviceManager.setIntegrationId": { capName: "device-manager", capScope: "system", addonId: null, access: "create" },
6056
+ "deviceManager.setLinkDeviceId": { capName: "device-manager", capScope: "system", addonId: null, access: "create" },
5122
6057
  "deviceManager.setLocation": { capName: "device-manager", capScope: "system", addonId: null, access: "create" },
5123
6058
  "deviceManager.setMetadata": { capName: "device-manager", capScope: "system", addonId: null, access: "create" },
5124
6059
  "deviceManager.setName": { capName: "device-manager", capScope: "system", addonId: null, access: "create" },
6060
+ "deviceManager.setPrimaryChildEntityId": { capName: "device-manager", capScope: "system", addonId: null, access: "create" },
6061
+ "deviceManager.setRole": { capName: "device-manager", capScope: "system", addonId: null, access: "create" },
5125
6062
  "deviceManager.setStreamProfileMap": { capName: "device-manager", capScope: "system", addonId: null, access: "create" },
6063
+ "deviceManager.setType": { capName: "device-manager", capScope: "system", addonId: null, access: "create" },
5126
6064
  "deviceManager.setWrapperActive": { capName: "device-manager", capScope: "system", addonId: null, access: "create" },
5127
6065
  "deviceManager.testCreationField": { capName: "device-manager", capScope: "system", addonId: null, access: "create" },
5128
6066
  "deviceManager.testField": { capName: "device-manager", capScope: "system", addonId: null, access: "create" },
@@ -5130,9 +6068,11 @@ const METHOD_ACCESS_MAP = Object.freeze({
5130
6068
  "deviceManager.updateDeviceField": { capName: "device-manager", capScope: "system", addonId: null, access: "create" },
5131
6069
  "deviceManager.updateDeviceFieldsBatch": { capName: "device-manager", capScope: "system", addonId: null, access: "create" },
5132
6070
  "deviceOps.getConfigEntries": { capName: "device-ops", capScope: "device", addonId: null, access: "view" },
6071
+ "deviceOps.getRawState": { capName: "device-ops", capScope: "device", addonId: null, access: "view" },
5133
6072
  "deviceOps.getSettingsSchema": { capName: "device-ops", capScope: "device", addonId: null, access: "view" },
5134
6073
  "deviceOps.getStreamSources": { capName: "device-ops", capScope: "device", addonId: null, access: "view" },
5135
6074
  "deviceOps.removeDevice": { capName: "device-ops", capScope: "device", addonId: null, access: "delete" },
6075
+ "deviceOps.runAction": { capName: "device-ops", capScope: "device", addonId: null, access: "create" },
5136
6076
  "deviceOps.setConfig": { capName: "device-ops", capScope: "device", addonId: null, access: "create" },
5137
6077
  "deviceProvider.adoptDiscoveredDevice": { capName: "device-provider", capScope: "system", addonId: null, access: "create" },
5138
6078
  "deviceProvider.createDevice": { capName: "device-provider", capScope: "system", addonId: null, access: "create" },
@@ -5155,6 +6095,16 @@ const METHOD_ACCESS_MAP = Object.freeze({
5155
6095
  "events.getEventClipUrl": { capName: "events", capScope: "device", addonId: null, access: "view" },
5156
6096
  "events.getEvents": { capName: "events", capScope: "device", addonId: null, access: "view" },
5157
6097
  "events.getEventThumbnail": { capName: "events", capScope: "device", addonId: null, access: "view" },
6098
+ "fanControl.setDirection": { capName: "fan-control", capScope: "device", addonId: null, access: "create" },
6099
+ "fanControl.setOscillating": { capName: "fan-control", capScope: "device", addonId: null, access: "create" },
6100
+ "fanControl.setPercentage": { capName: "fan-control", capScope: "device", addonId: null, access: "create" },
6101
+ "fanControl.setPreset": { capName: "fan-control", capScope: "device", addonId: null, access: "create" },
6102
+ "filesystemBrowse.browse": { capName: "filesystem-browse", capScope: "system", addonId: null, access: "view" },
6103
+ "filesystemBrowse.createDir": { capName: "filesystem-browse", capScope: "system", addonId: null, access: "create" },
6104
+ "filesystemBrowse.listAllowedRoots": { capName: "filesystem-browse", capScope: "system", addonId: null, access: "view" },
6105
+ "humidifier.setMode": { capName: "humidifier", capScope: "device", addonId: null, access: "create" },
6106
+ "humidifier.setOn": { capName: "humidifier", capScope: "device", addonId: null, access: "create" },
6107
+ "humidifier.setTargetHumidity": { capName: "humidifier", capScope: "device", addonId: null, access: "create" },
5158
6108
  "integrations.create": { capName: "integrations", capScope: "system", addonId: null, access: "create" },
5159
6109
  "integrations.delete": { capName: "integrations", capScope: "system", addonId: null, access: "delete" },
5160
6110
  "integrations.get": { capName: "integrations", capScope: "system", addonId: null, access: "view" },
@@ -5167,18 +6117,36 @@ const METHOD_ACCESS_MAP = Object.freeze({
5167
6117
  "integrations.update": { capName: "integrations", capScope: "system", addonId: null, access: "create" },
5168
6118
  "intercom.endTalkSession": { capName: "intercom", capScope: "device", addonId: null, access: "create" },
5169
6119
  "intercom.handleAnswer": { capName: "intercom", capScope: "device", addonId: null, access: "create" },
5170
- "intercom.pushTalkPcm": { capName: "intercom", capScope: "device", addonId: null, access: "create" },
6120
+ "intercom.pushTalkAudio": { capName: "intercom", capScope: "device", addonId: null, access: "create" },
5171
6121
  "intercom.startSession": { capName: "intercom", capScope: "device", addonId: null, access: "create" },
5172
6122
  "intercom.startTalkSession": { capName: "intercom", capScope: "device", addonId: null, access: "create" },
5173
6123
  "intercom.stopSession": { capName: "intercom", capScope: "device", addonId: null, access: "create" },
6124
+ "lawnMowerControl.dock": { capName: "lawn-mower-control", capScope: "device", addonId: null, access: "create" },
6125
+ "lawnMowerControl.pause": { capName: "lawn-mower-control", capScope: "device", addonId: null, access: "create" },
6126
+ "lawnMowerControl.startMowing": { capName: "lawn-mower-control", capScope: "device", addonId: null, access: "create" },
5174
6127
  "localNetwork.getAllowedAddresses": { capName: "local-network", capScope: "system", addonId: null, access: "view" },
5175
6128
  "localNetwork.getConnectionEndpoints": { capName: "local-network", capScope: "system", addonId: null, access: "view" },
5176
6129
  "localNetwork.getPreferred": { capName: "local-network", capScope: "system", addonId: null, access: "view" },
5177
6130
  "localNetwork.list": { capName: "local-network", capScope: "system", addonId: null, access: "view" },
5178
6131
  "localNetwork.resetAllowlistToBestMatch": { capName: "local-network", capScope: "system", addonId: null, access: "delete" },
5179
6132
  "localNetwork.setAllowedAddresses": { capName: "local-network", capScope: "system", addonId: null, access: "create" },
6133
+ "lockControl.lock": { capName: "lock-control", capScope: "device", addonId: null, access: "create" },
6134
+ "lockControl.open": { capName: "lock-control", capScope: "device", addonId: null, access: "create" },
6135
+ "lockControl.unlock": { capName: "lock-control", capScope: "device", addonId: null, access: "create" },
5180
6136
  "logDestination.query": { capName: "log-destination", capScope: "system", addonId: null, access: "view" },
5181
6137
  "logDestination.write": { capName: "log-destination", capScope: "system", addonId: null, access: "create" },
6138
+ "mediaPlayer.next": { capName: "media-player", capScope: "device", addonId: null, access: "create" },
6139
+ "mediaPlayer.pause": { capName: "media-player", capScope: "device", addonId: null, access: "create" },
6140
+ "mediaPlayer.play": { capName: "media-player", capScope: "device", addonId: null, access: "create" },
6141
+ "mediaPlayer.playMedia": { capName: "media-player", capScope: "device", addonId: null, access: "create" },
6142
+ "mediaPlayer.previous": { capName: "media-player", capScope: "device", addonId: null, access: "create" },
6143
+ "mediaPlayer.seek": { capName: "media-player", capScope: "device", addonId: null, access: "create" },
6144
+ "mediaPlayer.selectSource": { capName: "media-player", capScope: "device", addonId: null, access: "create" },
6145
+ "mediaPlayer.setMute": { capName: "media-player", capScope: "device", addonId: null, access: "create" },
6146
+ "mediaPlayer.setRepeat": { capName: "media-player", capScope: "device", addonId: null, access: "create" },
6147
+ "mediaPlayer.setShuffle": { capName: "media-player", capScope: "device", addonId: null, access: "create" },
6148
+ "mediaPlayer.setVolume": { capName: "media-player", capScope: "device", addonId: null, access: "create" },
6149
+ "mediaPlayer.stop": { capName: "media-player", capScope: "device", addonId: null, access: "create" },
5182
6150
  "meshNetwork.getStatus": { capName: "mesh-network", capScope: "system", addonId: null, access: "view" },
5183
6151
  "meshNetwork.join": { capName: "mesh-network", capScope: "system", addonId: null, access: "create" },
5184
6152
  "meshNetwork.leave": { capName: "mesh-network", capScope: "system", addonId: null, access: "create" },
@@ -5236,17 +6204,21 @@ const METHOD_ACCESS_MAP = Object.freeze({
5236
6204
  "nodes.undeployAddon": { capName: "nodes", capScope: "system", addonId: null, access: "create" },
5237
6205
  "notificationOutput.send": { capName: "notification-output", capScope: "system", addonId: null, access: "create" },
5238
6206
  "notificationOutput.sendTest": { capName: "notification-output", capScope: "system", addonId: null, access: "create" },
6207
+ "notifier.cancel": { capName: "notifier", capScope: "device", addonId: null, access: "create" },
6208
+ "notifier.send": { capName: "notifier", capScope: "device", addonId: null, access: "create" },
5239
6209
  "oauthIntegration.getDescriptor": { capName: "oauth-integration", capScope: "system", addonId: null, access: "view" },
5240
6210
  "osd.setOverlay": { capName: "osd", capScope: "device", addonId: null, access: "create" },
5241
6211
  "pipelineAnalytics.clearTracks": { capName: "pipeline-analytics", capScope: "device", addonId: null, access: "delete" },
5242
6212
  "pipelineAnalytics.getActiveTracks": { capName: "pipeline-analytics", capScope: "device", addonId: null, access: "view" },
5243
6213
  "pipelineAnalytics.getAudioEvents": { capName: "pipeline-analytics", capScope: "device", addonId: null, access: "view" },
6214
+ "pipelineAnalytics.getEventDensity": { capName: "pipeline-analytics", capScope: "device", addonId: null, access: "view" },
5244
6215
  "pipelineAnalytics.getEventMedia": { capName: "pipeline-analytics", capScope: "device", addonId: null, access: "view" },
5245
6216
  "pipelineAnalytics.getMotionEvents": { capName: "pipeline-analytics", capScope: "device", addonId: null, access: "view" },
5246
6217
  "pipelineAnalytics.getObjectEvents": { capName: "pipeline-analytics", capScope: "device", addonId: null, access: "view" },
5247
6218
  "pipelineAnalytics.getTrack": { capName: "pipeline-analytics", capScope: "device", addonId: null, access: "view" },
5248
6219
  "pipelineAnalytics.getTrackMedia": { capName: "pipeline-analytics", capScope: "device", addonId: null, access: "view" },
5249
6220
  "pipelineAnalytics.listTracks": { capName: "pipeline-analytics", capScope: "device", addonId: null, access: "view" },
6221
+ "pipelineAnalytics.pruneEventsBefore": { capName: "pipeline-analytics", capScope: "device", addonId: null, access: "create" },
5250
6222
  "pipelineExecutor.cacheFrameInPool": { capName: "pipeline-executor", capScope: "system", addonId: null, access: "create" },
5251
6223
  "pipelineExecutor.deleteModel": { capName: "pipeline-executor", capScope: "system", addonId: null, access: "delete" },
5252
6224
  "pipelineExecutor.deleteTemplate": { capName: "pipeline-executor", capScope: "system", addonId: null, access: "delete" },
@@ -5325,7 +6297,9 @@ const METHOD_ACCESS_MAP = Object.freeze({
5325
6297
  "pipelineRunner.reportMotion": { capName: "pipeline-runner", capScope: "system", addonId: null, access: "create" },
5326
6298
  "platformProbe.getCapabilities": { capName: "platform-probe", capScope: "system", addonId: null, access: "view" },
5327
6299
  "platformProbe.getHardware": { capName: "platform-probe", capScope: "system", addonId: null, access: "view" },
6300
+ "platformProbe.getHardwareDecodeAccels": { capName: "platform-probe", capScope: "system", addonId: null, access: "view" },
5328
6301
  "platformProbe.getHardwareEncoders": { capName: "platform-probe", capScope: "system", addonId: null, access: "view" },
6302
+ "platformProbe.refreshHardwareDecodeAccels": { capName: "platform-probe", capScope: "system", addonId: null, access: "create" },
5329
6303
  "platformProbe.refreshHardwareEncoders": { capName: "platform-probe", capScope: "system", addonId: null, access: "create" },
5330
6304
  "platformProbe.resolveHwAccel": { capName: "platform-probe", capScope: "system", addonId: null, access: "view" },
5331
6305
  "platformProbe.resolveInferenceConfig": { capName: "platform-probe", capScope: "system", addonId: null, access: "view" },
@@ -5347,34 +6321,23 @@ const METHOD_ACCESS_MAP = Object.freeze({
5347
6321
  "ptzAutotrack.setEnabled": { capName: "ptz-autotrack", capScope: "device", addonId: null, access: "create" },
5348
6322
  "ptzAutotrack.setSettings": { capName: "ptz-autotrack", capScope: "device", addonId: null, access: "create" },
5349
6323
  "reboot.reboot": { capName: "reboot", capScope: "device", addonId: null, access: "create" },
5350
- "recording.getPlaybackUrl": { capName: "recording", capScope: "device", addonId: null, access: "view" },
5351
- "recording.getSegments": { capName: "recording", capScope: "device", addonId: null, access: "view" },
5352
- "recording.getThumbnailAt": { capName: "recording", capScope: "device", addonId: null, access: "view" },
5353
- "recordingEngine.disable": { capName: "recording-engine", capScope: "system", addonId: null, access: "create" },
5354
- "recordingEngine.enable": { capName: "recording-engine", capScope: "system", addonId: null, access: "create" },
5355
- "recordingEngine.estimateGlobalStorage": { capName: "recording-engine", capScope: "system", addonId: null, access: "view" },
5356
- "recordingEngine.estimateStorage": { capName: "recording-engine", capScope: "system", addonId: null, access: "view" },
5357
- "recordingEngine.getAvailability": { capName: "recording-engine", capScope: "system", addonId: null, access: "view" },
5358
- "recordingEngine.getConfig": { capName: "recording-engine", capScope: "system", addonId: null, access: "view" },
5359
- "recordingEngine.getMotionStats": { capName: "recording-engine", capScope: "system", addonId: null, access: "view" },
5360
- "recordingEngine.getPlaylist": { capName: "recording-engine", capScope: "system", addonId: null, access: "view" },
5361
- "recordingEngine.getPolicy": { capName: "recording-engine", capScope: "system", addonId: null, access: "view" },
5362
- "recordingEngine.getPolicyStatus": { capName: "recording-engine", capScope: "system", addonId: null, access: "view" },
5363
- "recordingEngine.getRetentionConfig": { capName: "recording-engine", capScope: "system", addonId: null, access: "view" },
5364
- "recordingEngine.getSegments": { capName: "recording-engine", capScope: "system", addonId: null, access: "view" },
5365
- "recordingEngine.getStatus": { capName: "recording-engine", capScope: "system", addonId: null, access: "view" },
5366
- "recordingEngine.getStorageUsage": { capName: "recording-engine", capScope: "system", addonId: null, access: "view" },
5367
- "recordingEngine.getThumbnail": { capName: "recording-engine", capScope: "system", addonId: null, access: "view" },
5368
- "recordingEngine.setPolicy": { capName: "recording-engine", capScope: "system", addonId: null, access: "create" },
5369
- "recordingEngine.updateConfig": { capName: "recording-engine", capScope: "system", addonId: null, access: "create" },
5370
- "recordingEngine.updateRetentionConfig": { capName: "recording-engine", capScope: "system", addonId: null, access: "create" },
6324
+ "recording.getAvailability": { capName: "recording", capScope: "system", addonId: null, access: "view" },
6325
+ "recording.getDeviceConfig": { capName: "recording", capScope: "system", addonId: null, access: "view" },
6326
+ "recording.getPlaybackManifest": { capName: "recording", capScope: "system", addonId: null, access: "view" },
6327
+ "recording.getStorageUsage": { capName: "recording", capScope: "system", addonId: null, access: "view" },
6328
+ "recording.pruneFootage": { capName: "recording", capScope: "system", addonId: null, access: "create" },
6329
+ "recording.rescanStorage": { capName: "recording", capScope: "system", addonId: null, access: "create" },
6330
+ "recording.setDeviceConfig": { capName: "recording", capScope: "system", addonId: null, access: "create" },
5371
6331
  "restreamer.getExposedResources": { capName: "restreamer", capScope: "system", addonId: null, access: "view" },
5372
6332
  "restreamer.registerDevice": { capName: "restreamer", capScope: "system", addonId: null, access: "create" },
5373
6333
  "restreamer.unregisterDevice": { capName: "restreamer", capScope: "system", addonId: null, access: "delete" },
6334
+ "scriptRunner.run": { capName: "script-runner", capScope: "device", addonId: null, access: "create" },
6335
+ "scriptRunner.stop": { capName: "script-runner", capScope: "device", addonId: null, access: "create" },
5374
6336
  "settingsStore.count": { capName: "settings-store", capScope: "system", addonId: null, access: "view" },
5375
6337
  "settingsStore.declareCollection": { capName: "settings-store", capScope: "system", addonId: null, access: "create" },
5376
6338
  "settingsStore.delete": { capName: "settings-store", capScope: "system", addonId: null, access: "delete" },
5377
6339
  "settingsStore.get": { capName: "settings-store", capScope: "system", addonId: null, access: "view" },
6340
+ "settingsStore.histogram": { capName: "settings-store", capScope: "system", addonId: null, access: "view" },
5378
6341
  "settingsStore.insert": { capName: "settings-store", capScope: "system", addonId: null, access: "create" },
5379
6342
  "settingsStore.isEmpty": { capName: "settings-store", capScope: "system", addonId: null, access: "view" },
5380
6343
  "settingsStore.query": { capName: "settings-store", capScope: "system", addonId: null, access: "view" },
@@ -5400,6 +6363,7 @@ const METHOD_ACCESS_MAP = Object.freeze({
5400
6363
  "storage.getAvailableSpace": { capName: "storage", capScope: "system", addonId: null, access: "view" },
5401
6364
  "storage.getDefaultLocation": { capName: "storage", capScope: "system", addonId: null, access: "view" },
5402
6365
  "storage.list": { capName: "storage", capScope: "system", addonId: null, access: "view" },
6366
+ "storage.listLocationDeclarations": { capName: "storage", capScope: "system", addonId: null, access: "view" },
5403
6367
  "storage.listLocations": { capName: "storage", capScope: "system", addonId: null, access: "view" },
5404
6368
  "storage.listProviders": { capName: "storage", capScope: "system", addonId: null, access: "view" },
5405
6369
  "storage.read": { capName: "storage", capScope: "system", addonId: null, access: "view" },
@@ -5410,6 +6374,8 @@ const METHOD_ACCESS_MAP = Object.freeze({
5410
6374
  "storage.upsertLocation": { capName: "storage", capScope: "system", addonId: null, access: "create" },
5411
6375
  "storage.write": { capName: "storage", capScope: "system", addonId: null, access: "create" },
5412
6376
  "storage.writeChunk": { capName: "storage", capScope: "system", addonId: null, access: "create" },
6377
+ "storageEvictable.evict": { capName: "storage-evictable", capScope: "system", addonId: null, access: "create" },
6378
+ "storageEvictable.getEvictableUsage": { capName: "storage-evictable", capScope: "system", addonId: null, access: "view" },
5413
6379
  "storageProvider.abortUpload": { capName: "storage-provider", capScope: "system", addonId: null, access: "create" },
5414
6380
  "storageProvider.beginDownload": { capName: "storage-provider", capScope: "system", addonId: null, access: "create" },
5415
6381
  "storageProvider.beginUpload": { capName: "storage-provider", capScope: "system", addonId: null, access: "create" },
@@ -5439,6 +6405,7 @@ const METHOD_ACCESS_MAP = Object.freeze({
5439
6405
  "streamBroker.listAllCameraStreams": { capName: "stream-broker", capScope: "system", addonId: null, access: "view" },
5440
6406
  "streamBroker.listAllProfileSlots": { capName: "stream-broker", capScope: "system", addonId: null, access: "view" },
5441
6407
  "streamBroker.listClients": { capName: "stream-broker", capScope: "system", addonId: null, access: "view" },
6408
+ "streamBroker.probeStream": { capName: "stream-broker", capScope: "system", addonId: null, access: "create" },
5442
6409
  "streamBroker.publishCameraStream": { capName: "stream-broker", capScope: "system", addonId: null, access: "create" },
5443
6410
  "streamBroker.pullAudioChunks": { capName: "stream-broker", capScope: "system", addonId: null, access: "view" },
5444
6411
  "streamBroker.pullFrameHandles": { capName: "stream-broker", capScope: "system", addonId: null, access: "view" },
@@ -5471,6 +6438,7 @@ const METHOD_ACCESS_MAP = Object.freeze({
5471
6438
  "system.setRetentionConfig": { capName: "system", capScope: "system", addonId: null, access: "create" },
5472
6439
  "toast.onToast": { capName: "toast", capScope: "system", addonId: null, access: "view" },
5473
6440
  "turnProvider.getTurnServers": { capName: "turn-provider", capScope: "system", addonId: null, access: "view" },
6441
+ "update.installUpdate": { capName: "update", capScope: "device", addonId: null, access: "create" },
5474
6442
  "userManagement.confirmTotp": { capName: "user-management", capScope: "system", addonId: null, access: "create" },
5475
6443
  "userManagement.createApiKey": { capName: "user-management", capScope: "system", addonId: null, access: "create" },
5476
6444
  "userManagement.createScopedToken": { capName: "user-management", capScope: "system", addonId: null, access: "create" },
@@ -5503,6 +6471,21 @@ const METHOD_ACCESS_MAP = Object.freeze({
5503
6471
  "userPasskeys.finishRegistration": { capName: "user-passkeys", capScope: "system", addonId: null, access: "create" },
5504
6472
  "userPasskeys.listPasskeys": { capName: "user-passkeys", capScope: "system", addonId: null, access: "view" },
5505
6473
  "userPasskeys.removePasskey": { capName: "user-passkeys", capScope: "system", addonId: null, access: "delete" },
6474
+ "vacuumControl.locate": { capName: "vacuum-control", capScope: "device", addonId: null, access: "create" },
6475
+ "vacuumControl.pause": { capName: "vacuum-control", capScope: "device", addonId: null, access: "create" },
6476
+ "vacuumControl.returnToBase": { capName: "vacuum-control", capScope: "device", addonId: null, access: "create" },
6477
+ "vacuumControl.setFanSpeed": { capName: "vacuum-control", capScope: "device", addonId: null, access: "create" },
6478
+ "vacuumControl.start": { capName: "vacuum-control", capScope: "device", addonId: null, access: "create" },
6479
+ "vacuumControl.stop": { capName: "vacuum-control", capScope: "device", addonId: null, access: "create" },
6480
+ "valve.close": { capName: "valve", capScope: "device", addonId: null, access: "create" },
6481
+ "valve.open": { capName: "valve", capScope: "device", addonId: null, access: "create" },
6482
+ "valve.setPosition": { capName: "valve", capScope: "device", addonId: null, access: "create" },
6483
+ "valve.stop": { capName: "valve", capScope: "device", addonId: null, access: "create" },
6484
+ "videoclips.getClipPlayback": { capName: "videoclips", capScope: "device", addonId: null, access: "view" },
6485
+ "videoclips.listClips": { capName: "videoclips", capScope: "device", addonId: null, access: "view" },
6486
+ "waterHeater.setAway": { capName: "water-heater", capScope: "device", addonId: null, access: "create" },
6487
+ "waterHeater.setOperationMode": { capName: "water-heater", capScope: "device", addonId: null, access: "create" },
6488
+ "waterHeater.setTargetTemp": { capName: "water-heater", capScope: "device", addonId: null, access: "create" },
5506
6489
  "webrtc.closeSession": { capName: "webrtc", capScope: "system", addonId: null, access: "create" },
5507
6490
  "webrtc.createSession": { capName: "webrtc", capScope: "system", addonId: null, access: "create" },
5508
6491
  "webrtc.handleAnswer": { capName: "webrtc", capScope: "system", addonId: null, access: "create" },
@@ -5515,6 +6498,7 @@ const METHOD_ACCESS_MAP = Object.freeze({
5515
6498
  "webrtcSession.closeSession": { capName: "webrtc-session", capScope: "device", addonId: null, access: "create" },
5516
6499
  "webrtcSession.createSession": { capName: "webrtc-session", capScope: "device", addonId: null, access: "create" },
5517
6500
  "webrtcSession.getIceCandidates": { capName: "webrtc-session", capScope: "device", addonId: null, access: "view" },
6501
+ "webrtcSession.getSessionState": { capName: "webrtc-session", capScope: "device", addonId: null, access: "view" },
5518
6502
  "webrtcSession.handleAnswer": { capName: "webrtc-session", capScope: "device", addonId: null, access: "create" },
5519
6503
  "webrtcSession.handleOffer": { capName: "webrtc-session", capScope: "device", addonId: null, access: "create" },
5520
6504
  "webrtcSession.hasAdaptiveBitrate": { capName: "webrtc-session", capScope: "device", addonId: null, access: "view" },
@@ -5531,6 +6515,7 @@ const METHOD_ACCESS_MAP = Object.freeze({
5531
6515
  "zones.updateZone": { capName: "zones", capScope: "device", addonId: null, access: "create" }
5532
6516
  });
5533
6517
  const KNOWN_CAP_NAMES = [
6518
+ "accessories",
5534
6519
  "addon-pages",
5535
6520
  "addon-pages-source",
5536
6521
  "addon-routes",
@@ -5540,17 +6525,28 @@ const KNOWN_CAP_NAMES = [
5540
6525
  "addons",
5541
6526
  "admin-ui",
5542
6527
  "advanced-notifier",
6528
+ "alarm-panel",
5543
6529
  "alerts",
5544
6530
  "audio-analysis",
5545
6531
  "audio-analyzer",
5546
6532
  "audio-codec",
5547
6533
  "audio-metrics",
5548
6534
  "auth-provider",
6535
+ "automation-control",
5549
6536
  "backup",
6537
+ "battery",
5550
6538
  "brightness",
6539
+ "broker",
6540
+ "button",
5551
6541
  "camera-credentials",
5552
6542
  "camera-streams",
6543
+ "climate-control",
6544
+ "color",
6545
+ "consumables",
6546
+ "control",
6547
+ "cover",
5553
6548
  "decoder",
6549
+ "device-adoption",
5554
6550
  "device-discovery",
5555
6551
  "device-export",
5556
6552
  "device-manager",
@@ -5559,10 +6555,16 @@ const KNOWN_CAP_NAMES = [
5559
6555
  "device-state",
5560
6556
  "embedding-encoder",
5561
6557
  "events",
6558
+ "fan-control",
6559
+ "filesystem-browse",
6560
+ "humidifier",
5562
6561
  "integrations",
5563
6562
  "intercom",
6563
+ "lawn-mower-control",
5564
6564
  "local-network",
6565
+ "lock-control",
5565
6566
  "log-destination",
6567
+ "media-player",
5566
6568
  "mesh-network",
5567
6569
  "metrics-provider",
5568
6570
  "motion",
@@ -5575,6 +6577,7 @@ const KNOWN_CAP_NAMES = [
5575
6577
  "network-quality",
5576
6578
  "nodes",
5577
6579
  "notification-output",
6580
+ "notifier",
5578
6581
  "oauth-integration",
5579
6582
  "osd",
5580
6583
  "pipeline-analytics",
@@ -5587,14 +6590,15 @@ const KNOWN_CAP_NAMES = [
5587
6590
  "ptz-autotrack",
5588
6591
  "reboot",
5589
6592
  "recording",
5590
- "recording-engine",
5591
6593
  "restreamer",
6594
+ "script-runner",
5592
6595
  "settings-store",
5593
6596
  "smtp-provider",
5594
6597
  "snapshot",
5595
6598
  "snapshot-provider",
5596
6599
  "sso-bridge",
5597
6600
  "storage",
6601
+ "storage-evictable",
5598
6602
  "storage-provider",
5599
6603
  "stream-broker",
5600
6604
  "stream-catalog",
@@ -5604,8 +6608,13 @@ const KNOWN_CAP_NAMES = [
5604
6608
  "system",
5605
6609
  "toast",
5606
6610
  "turn-provider",
6611
+ "update",
5607
6612
  "user-management",
5608
6613
  "user-passkeys",
6614
+ "vacuum-control",
6615
+ "valve",
6616
+ "videoclips",
6617
+ "water-heater",
5609
6618
  "webrtc",
5610
6619
  "webrtc-session",
5611
6620
  "zone-analytics",
@@ -5613,31 +6622,52 @@ const KNOWN_CAP_NAMES = [
5613
6622
  "zones"
5614
6623
  ];
5615
6624
  const DEVICE_CAP_NAMES = [
6625
+ "accessories",
6626
+ "alarm-panel",
5616
6627
  "audio-analysis",
5617
6628
  "audio-metrics",
6629
+ "automation-control",
6630
+ "battery",
5618
6631
  "brightness",
6632
+ "button",
5619
6633
  "camera-credentials",
5620
6634
  "camera-streams",
6635
+ "climate-control",
6636
+ "color",
6637
+ "consumables",
6638
+ "control",
6639
+ "cover",
5621
6640
  "device-discovery",
5622
6641
  "device-ops",
5623
6642
  "events",
6643
+ "fan-control",
6644
+ "humidifier",
5624
6645
  "intercom",
6646
+ "lawn-mower-control",
6647
+ "lock-control",
6648
+ "media-player",
5625
6649
  "motion",
5626
6650
  "motion-detection",
5627
6651
  "motion-trigger",
5628
6652
  "motion-zones",
5629
6653
  "native-object-detection",
6654
+ "notifier",
5630
6655
  "osd",
5631
6656
  "pipeline-analytics",
5632
6657
  "privacy-mask",
5633
6658
  "ptz",
5634
6659
  "ptz-autotrack",
5635
6660
  "reboot",
5636
- "recording",
6661
+ "script-runner",
5637
6662
  "snapshot",
5638
6663
  "stream-catalog",
5639
6664
  "stream-params",
5640
6665
  "switch",
6666
+ "update",
6667
+ "vacuum-control",
6668
+ "valve",
6669
+ "videoclips",
6670
+ "water-heater",
5641
6671
  "webrtc-session",
5642
6672
  "zone-analytics",
5643
6673
  "zone-rules",
@@ -5658,12 +6688,15 @@ const SYSTEM_CAP_NAMES = [
5658
6688
  "audio-codec",
5659
6689
  "auth-provider",
5660
6690
  "backup",
6691
+ "broker",
5661
6692
  "decoder",
6693
+ "device-adoption",
5662
6694
  "device-export",
5663
6695
  "device-manager",
5664
6696
  "device-provider",
5665
6697
  "device-state",
5666
6698
  "embedding-encoder",
6699
+ "filesystem-browse",
5667
6700
  "integrations",
5668
6701
  "local-network",
5669
6702
  "log-destination",
@@ -5679,13 +6712,14 @@ const SYSTEM_CAP_NAMES = [
5679
6712
  "pipeline-orchestrator",
5680
6713
  "pipeline-runner",
5681
6714
  "platform-probe",
5682
- "recording-engine",
6715
+ "recording",
5683
6716
  "restreamer",
5684
6717
  "settings-store",
5685
6718
  "smtp-provider",
5686
6719
  "snapshot-provider",
5687
6720
  "sso-bridge",
5688
6721
  "storage",
6722
+ "storage-evictable",
5689
6723
  "storage-provider",
5690
6724
  "stream-broker",
5691
6725
  "streaming-engine",
@@ -5733,6 +6767,7 @@ const SCOPE_PRESETS = [
5733
6767
  }
5734
6768
  ];
5735
6769
  const CAP_PROVIDER_KIND_MAP = Object.freeze({
6770
+ "broker": "broker",
5736
6771
  "device-export": "device-export",
5737
6772
  "mesh-network": "mesh",
5738
6773
  "mqtt-broker": "broker",
@@ -5740,6 +6775,7 @@ const CAP_PROVIDER_KIND_MAP = Object.freeze({
5740
6775
  "smtp-provider": "email"
5741
6776
  });
5742
6777
  const PROVIDER_KIND_CAP_NAMES = [
6778
+ "broker",
5743
6779
  "device-export",
5744
6780
  "mesh-network",
5745
6781
  "mqtt-broker",
@@ -5753,6 +6789,46 @@ function getCapsByProviderKind(kind) {
5753
6789
  }
5754
6790
  return out;
5755
6791
  }
6792
+ function levenshtein(a, b) {
6793
+ const m = a.length;
6794
+ const n = b.length;
6795
+ if (m === 0) return n;
6796
+ if (n === 0) return m;
6797
+ const prevRow = Array.from({ length: n + 1 }, (_, k) => k);
6798
+ const currRow = Array.from({ length: n + 1 }, () => 0);
6799
+ for (let i = 1; i <= m; i++) {
6800
+ currRow[0] = i;
6801
+ let diagVal = prevRow[0] ?? 0;
6802
+ for (let j = 1; j <= n; j++) {
6803
+ const above = prevRow[j] ?? 0;
6804
+ const left = currRow[j - 1] ?? 0;
6805
+ const cost = a.charCodeAt(i - 1) === b.charCodeAt(j - 1) ? 0 : 1;
6806
+ currRow[j] = Math.min(above + 1, left + 1, diagVal + cost);
6807
+ diagVal = above;
6808
+ }
6809
+ for (let j = 0; j <= n; j++) prevRow[j] = currRow[j] ?? 0;
6810
+ }
6811
+ return prevRow[n] ?? 0;
6812
+ }
6813
+ function locationSimilarity(a, b) {
6814
+ const x = a.trim().toLowerCase();
6815
+ const y = b.trim().toLowerCase();
6816
+ if (x === y) return 1;
6817
+ if (x.length === 0 || y.length === 0) return 0;
6818
+ return 1 - levenshtein(x, y) / Math.max(x.length, y.length);
6819
+ }
6820
+ function bestLocationMatch(externalName, existing, threshold = 0.8) {
6821
+ let best = null;
6822
+ let bestScore = 0;
6823
+ for (const name of existing) {
6824
+ const score = locationSimilarity(externalName, name);
6825
+ if (score >= threshold && score > bestScore) {
6826
+ best = name;
6827
+ bestScore = score;
6828
+ }
6829
+ }
6830
+ return best;
6831
+ }
5756
6832
  const CREDENTIAL_PARAM_PATTERNS = [
5757
6833
  /^user$/i,
5758
6834
  /^usr$/i,
@@ -5906,6 +6982,24 @@ function cellsToRects(cells, gridWidth, gridHeight, maxRegions) {
5906
6982
  h: (block.rowEnd - block.rowStart + 1) / gridHeight
5907
6983
  }));
5908
6984
  }
6985
+ function sleep(ms) {
6986
+ return new Promise((resolve) => setTimeout(resolve, Math.max(0, ms)));
6987
+ }
6988
+ function sleepCancellable(ms, signal) {
6989
+ if (signal.aborted) return Promise.resolve();
6990
+ return new Promise((resolve) => {
6991
+ const timer = setTimeout(() => {
6992
+ signal.removeEventListener("abort", onAbort);
6993
+ resolve();
6994
+ }, Math.max(0, ms));
6995
+ const onAbort = () => {
6996
+ clearTimeout(timer);
6997
+ signal.removeEventListener("abort", onAbort);
6998
+ resolve();
6999
+ };
7000
+ signal.addEventListener("abort", onAbort, { once: true });
7001
+ });
7002
+ }
5909
7003
  function bindAddonActions(api, addonId, catalog) {
5910
7004
  const out = {};
5911
7005
  for (const action of Object.keys(catalog)) {
@@ -5917,352 +7011,460 @@ function bindAddonActions(api, addonId, catalog) {
5917
7011
  return out;
5918
7012
  }
5919
7013
  export {
5920
- az as ACCESSORY_LABEL,
7014
+ bj as ACCESSORY_LABEL,
5921
7015
  ALL_CAPABILITY_DEFINITIONS,
5922
- aA as APPLE_SA_TO_MACRO,
5923
- aB as AUDIO_BACKEND_CHOICES,
5924
- aC as AUDIO_MACRO_LABELS,
5925
- aD as AccessoriesStatusSchema,
5926
- aE as AccessoryKind,
5927
- aF as AddBrokerInputSchema,
5928
- aG as AddonAutoUpdateSchema,
5929
- aH as AddonListItemSchema,
5930
- aI as AddonPageDeclarationSchema,
5931
- aJ as AddonPageInfoSchema,
5932
- aK as AgentLoadSummarySchema,
5933
- aL as AlertSchema,
5934
- aM as AlertSeveritySchema,
5935
- aN as AlertSourceSchema,
5936
- aO as AlertStatusSchema,
5937
- aP as ApiKeyRecordSchema,
5938
- aQ as ApiKeySummarySchema,
5939
- aR as ArchiveEntrySchema,
5940
- aS as ArchiveManifestSchema,
5941
- aT as AudioAnalysisResultSchema,
5942
- aU as AudioAnalysisSettingsSchema,
5943
- aV as AudioChunkInputSchema,
5944
- aW as AudioClassSummarySchema,
5945
- aX as AudioClassificationLabelSchema,
5946
- aY as AudioClassificationResultSchema,
5947
- aZ as AudioCodecInfoSchema,
5948
- a_ as AudioDecodeSessionConfigSchema,
5949
- a$ as AudioEncodeSessionConfigSchema,
5950
- b0 as AudioEncodedChunkSchema,
5951
- b1 as AudioEventSchema,
5952
- b2 as AudioLevelSchema,
5953
- b3 as AudioMetricsHistoryPointSchema,
5954
- b4 as AudioMetricsHistorySchema,
5955
- b5 as AudioMetricsSnapshotSchema,
5956
- b6 as AudioPcmChunkSchema,
5957
- b7 as AuthResultSchema,
5958
- b8 as AutoUpdateSettingsSchema,
5959
- b9 as AvailableIntegrationTypeSchema,
7016
+ bk as APPLE_SA_TO_MACRO,
7017
+ bl as AUDIO_BACKEND_CHOICES,
7018
+ bm as AUDIO_MACRO_LABELS,
7019
+ bn as AccessoriesStatusSchema,
7020
+ bo as AccessoryKind,
7021
+ bp as AddBrokerInputSchema,
7022
+ bq as AddonAutoUpdateSchema,
7023
+ br as AddonListItemSchema,
7024
+ bs as AddonPageDeclarationSchema,
7025
+ bt as AddonPageInfoSchema,
7026
+ bu as AdoptionAdoptInputSchema,
7027
+ bv as AdoptionAdoptResultSchema,
7028
+ bw as AdoptionFilterSchema,
7029
+ bx as AdoptionGetCandidateInputSchema,
7030
+ by as AdoptionListCandidatesInputSchema,
7031
+ bz as AdoptionListCandidatesOutputSchema,
7032
+ bA as AdoptionReleaseInputSchema,
7033
+ bB as AdoptionStatusSchema,
7034
+ bC as AgentLoadSummarySchema,
7035
+ bD as AirQualitySensorStatusSchema,
7036
+ bE as AlarmArmModeSchema,
7037
+ bF as AlarmPanelStatusSchema,
7038
+ bG as AlarmStateSchema,
7039
+ bH as AlertSchema,
7040
+ bI as AlertSeveritySchema,
7041
+ bJ as AlertSourceSchema,
7042
+ bK as AlertStatusSchema,
7043
+ bL as AmbientLightSensorStatusSchema,
7044
+ bM as ApiKeyRecordSchema,
7045
+ bN as ApiKeySummarySchema,
7046
+ bO as ArchiveEntrySchema,
7047
+ bP as ArchiveManifestSchema,
7048
+ bQ as AudioAnalysisResultSchema,
7049
+ bR as AudioAnalysisSettingsSchema,
7050
+ bS as AudioChunkInputSchema,
7051
+ bT as AudioClassSummarySchema,
7052
+ bU as AudioClassificationLabelSchema,
7053
+ bV as AudioClassificationResultSchema,
7054
+ bW as AudioCodecInfoSchema,
7055
+ bX as AudioDecodeSessionConfigSchema,
7056
+ bY as AudioEncodeSchema,
7057
+ bZ as AudioEncodeSessionConfigSchema,
7058
+ b_ as AudioEncodedChunkSchema,
7059
+ b$ as AudioEventSchema,
7060
+ c0 as AudioLevelSchema,
7061
+ c1 as AudioMetricsHistoryPointSchema,
7062
+ c2 as AudioMetricsHistorySchema,
7063
+ c3 as AudioMetricsSnapshotSchema,
7064
+ c4 as AudioPcmChunkSchema,
7065
+ c5 as AuthResultSchema,
7066
+ c6 as AutoUpdateSettingsSchema,
7067
+ c7 as AutomationControlStatusSchema,
7068
+ c8 as AvailableIntegrationTypeSchema,
5960
7069
  BACKEND_TO_FORMAT,
5961
- ba as BATTERY_DEVICE_PROFILE,
5962
- bb as BackupDestinationInfoSchema,
5963
- bc as BackupEntrySchema,
7070
+ c9 as BATTERY_DEVICE_PROFILE,
7071
+ ca as BackupDestinationInfoSchema,
7072
+ cb as BackupEntrySchema,
5964
7073
  BaseAddon,
5965
7074
  BaseDevice,
5966
7075
  BaseDeviceProvider,
5967
- bd as BatteryStatusSchema,
5968
- be as BoundingBoxSchema,
5969
- bf as BrightnessStatusSchema,
5970
- bg as BrokerAudioClientSchema,
5971
- bh as BrokerClientsSchema,
5972
- bi as BrokerConnectionDetailsSchema,
5973
- bj as BrokerDecodedClientSchema,
5974
- bk as BrokerInfoSchema,
5975
- bl as BrokerRtspClientSchema,
5976
- bm as BrokerStatsSchema,
5977
- bn as BrokerStatusSchema,
5978
- bo as CAM_PROFILE_ORDER,
7076
+ cc as BatteryStatusSchema,
7077
+ cd as BinaryStatusSchema,
7078
+ ce as BoundingBoxSchema,
7079
+ cf as BrightnessStatusSchema,
7080
+ cg as BrokerAddInputSchema,
7081
+ ch as BrokerAudioClientSchema,
7082
+ ci as BrokerClientsSchema,
7083
+ cj as BrokerConnectionDetailsSchema,
7084
+ ck as BrokerConsumerAttributionSchema,
7085
+ cl as BrokerConsumerKindSchema,
7086
+ cm as BrokerDecodedClientSchema,
7087
+ cn as BrokerEncodedClientSchema,
7088
+ co as BrokerGetStateInputSchema,
7089
+ cp as BrokerInfoSchema,
7090
+ cq as BrokerProviderInfoSchema,
7091
+ cr as BrokerPublishInputSchema,
7092
+ cs as BrokerRegistryStatusSchema,
7093
+ ct as BrokerRtspClientSchema,
7094
+ cu as BrokerStatsSchema,
7095
+ cv as BrokerStatusEnum,
7096
+ cw as BrokerStatusSchema,
7097
+ cx as BrokerSubscribeInputSchema,
7098
+ cy as BrokerSubscribeResultSchema,
7099
+ cz as BrokerTestConnectionResultSchema,
7100
+ cA as BrokerUnsubscribeInputSchema,
7101
+ cB as CAM_PROFILE_ORDER,
5979
7102
  CAPABILITY_NAMES,
5980
7103
  CAPABILITY_ROUTER_KEYS,
5981
7104
  CAP_NAMES_WITH_STATUS,
5982
7105
  CAP_PROVIDER_KIND_MAP,
5983
7106
  COCO_80_LABELS,
5984
7107
  COCO_TO_MACRO,
5985
- bp as CamProfileSchema,
5986
- bq as CamStreamDescriptorSchema,
5987
- br as CamStreamKindSchema,
5988
- bs as CamStreamResolutionSchema,
5989
- bt as CameraCredentialsSchema,
5990
- bu as CameraCredentialsStatusSchema,
5991
- bv as CameraMetricsSchema,
5992
- bw as CameraMetricsWithDeviceIdSchema,
5993
- bx as CameraStreamSchema,
5994
- by as CapScopeSchema,
5995
- bz as CapabilityBindingsSchema,
5996
- bA as ChargingStatus,
5997
- bB as ClientNetworkStatsSchema,
5998
- bC as ClusterAddonNodeDeploymentSchema,
5999
- bD as ClusterAddonStatusEntrySchema,
6000
- bE as CollectionColumnSchema,
6001
- bF as CollectionIndexSchema,
6002
- bG as ConfigEntrySchema,
6003
- bH as ConfigSectionWithValuesSchema,
6004
- bI as ConfigTabDeclarationSchema,
6005
- bJ as CreateApiKeyInputSchema,
6006
- bK as CreateApiKeyResultSchema,
6007
- bL as CreateIntegrationInputSchema,
6008
- bM as CreateScopedTokenInputSchema,
6009
- bN as CreateScopedTokenResultSchema,
6010
- bO as CreateUserInputSchema,
6011
- bP as CustomActionInputSchema,
7108
+ cC as CamProfileSchema,
7109
+ cD as CamStreamDescriptorSchema,
7110
+ cE as CamStreamKindSchema,
7111
+ cF as CamStreamResolutionSchema,
7112
+ cG as CameraCredentialsSchema,
7113
+ cH as CameraCredentialsStatusSchema,
7114
+ cI as CameraMetricsSchema,
7115
+ cJ as CameraMetricsWithDeviceIdSchema,
7116
+ cK as CameraStreamSchema,
7117
+ cL as CandidateQueryFilterSchema,
7118
+ cM as CapScopeSchema,
7119
+ cN as CapabilityBindingsSchema,
7120
+ cO as CarbonMonoxideStatusSchema,
7121
+ cP as ChargingStatus,
7122
+ cQ as ClientNetworkStatsSchema,
7123
+ cR as ClimateControlStatusSchema,
7124
+ cS as ClipPlaybackSchema,
7125
+ cT as ClipSchema,
7126
+ cU as ClusterAddonNodeDeploymentSchema,
7127
+ cV as ClusterAddonStatusEntrySchema,
7128
+ cW as CollectionColumnSchema,
7129
+ cX as CollectionIndexSchema,
7130
+ cY as ColorStatusSchema,
7131
+ cZ as ConfigEntrySchema,
7132
+ c_ as ConfigSectionWithValuesSchema,
7133
+ c$ as ConfigTabDeclarationSchema,
7134
+ d0 as ConnectivityStatusSchema,
7135
+ d1 as ConsumableItemSchema,
7136
+ d2 as ConsumablesStatusSchema,
7137
+ d3 as ContactStatusSchema,
7138
+ d4 as ControlKindSchema,
7139
+ d5 as ControlStatusSchema,
7140
+ d6 as CoverStateSchema,
7141
+ d7 as CoverStatusSchema,
7142
+ d8 as CreateApiKeyInputSchema,
7143
+ d9 as CreateApiKeyResultSchema,
7144
+ da as CreateIntegrationInputSchema,
7145
+ db as CreateScopedTokenInputSchema,
7146
+ dc as CreateScopedTokenResultSchema,
7147
+ dd as CreateUserInputSchema,
7148
+ de as CustomActionInputSchema,
7149
+ DATAPLANE_SECRET_HEADER,
6012
7150
  DEFAULT_ADDON_PLACEMENT,
6013
- bQ as DEFAULT_AUDIO_ANALYZER_CONFIG,
6014
- bR as DEFAULT_DECODER_HWACCEL_CONFIG,
7151
+ df as DEFAULT_AUDIO_ANALYZER_CONFIG,
7152
+ dg as DEFAULT_DECODER_HWACCEL_CONFIG,
6015
7153
  DEFAULT_FEATURES,
6016
- DEFAULT_LOCATION_SUBDIRS,
6017
7154
  DEFAULT_RETENTION,
6018
7155
  DEVICE_CAP_NAMES,
6019
- bS as DEVICE_PROFILES,
6020
- bT as DEVICE_SETTINGS_CONTRIBUTION_METHODS,
6021
- bU as DEVICE_STATUS_METHOD,
7156
+ dh as DEVICE_PROFILES,
7157
+ di as DEVICE_SETTINGS_CONTRIBUTION_METHODS,
7158
+ dj as DEVICE_STATUS_METHOD,
6022
7159
  DEVICE_TYPE_INFO,
6023
- bV as DecodedAudioChunkSchema,
6024
- bW as DecodedFrameSchema,
6025
- bX as DecoderAssignmentSchema,
6026
- bY as DecoderSessionConfigSchema,
6027
- bZ as DecoderStatsSchema,
6028
- b_ as DeleteIntegrationResultSchema,
6029
- b$ as DetectorOutputSchema,
7160
+ dk as DecodedAudioChunkSchema,
7161
+ dl as DecodedFrameSchema,
7162
+ dm as DecoderAssignmentSchema,
7163
+ dn as DecoderSessionConfigSchema,
7164
+ dp as DecoderStatsSchema,
7165
+ dq as DeleteIntegrationResultSchema,
7166
+ dr as DetectorOutputSchema,
6030
7167
  DeviceConfig,
6031
- c0 as DeviceDiscoveryStatusSchema,
6032
- c1 as DeviceExportExposeInputSchema,
6033
- c2 as DeviceExportStatusSchema,
6034
- c3 as DeviceExportUnexposeInputSchema,
6035
- c4 as DeviceFeature,
6036
- c5 as DeviceInfoSchema,
6037
- c6 as DeviceNetworkStatsSchema,
6038
- c7 as DeviceRole,
7168
+ ds as DeviceDiscoveryStatusSchema,
7169
+ dt as DeviceExportExposeInputSchema,
7170
+ du as DeviceExportStatusSchema,
7171
+ dv as DeviceExportUnexposeInputSchema,
7172
+ dw as DeviceFeature,
7173
+ dx as DeviceInfoSchema,
7174
+ dy as DeviceNetworkStatsSchema,
7175
+ dz as DeviceRole,
6039
7176
  DeviceRuntimeState,
6040
- c8 as DeviceStatusSchema,
6041
- c9 as DeviceType,
6042
- ca as DiscoveredChildDeviceSchema,
6043
- cb as DiscoveredChildStatusSchema,
6044
- cc as DiscoveredDeviceSchema,
7177
+ dA as DeviceStatusSchema,
7178
+ dB as DeviceType,
7179
+ dC as DiscoveredChildDeviceSchema,
7180
+ dD as DiscoveredChildStatusSchema,
7181
+ dE as DiscoveredDeviceSchema,
6045
7182
  DisposerChain,
6046
- cd as DoorbellPressEventSchema,
6047
- ce as DoorbellStatusSchema,
7183
+ dF as DoorbellPressEventSchema,
7184
+ dG as DoorbellStatusSchema,
6048
7185
  ElementConfigStore,
6049
- cf as EmbeddingInfoSchema,
6050
- cg as EmbeddingResultSchema,
6051
- ch as EncodedPacketSchema,
6052
- ci as EnrichedWidgetMetadataSchema,
7186
+ dH as EmbeddingInfoSchema,
7187
+ dI as EmbeddingResultSchema,
7188
+ dJ as EncodeProfileSchema,
7189
+ dK as EncodedPacketSchema,
7190
+ dL as EnrichedWidgetMetadataSchema,
7191
+ dM as EnumSensorDateTimeFormatSchema,
7192
+ dN as EnumSensorStatusSchema,
6053
7193
  EventCategory,
6054
- cj as EventItemSchema,
6055
- ck as EventKindSchema,
7194
+ dO as EventEmitterStatusSchema,
7195
+ dP as EventFireSchema,
7196
+ dQ as EventItemSchema,
7197
+ dR as EventKindSchema,
6056
7198
  EventSourceType,
6057
- cl as ExportSetupFieldSchema,
6058
- cm as ExportSetupSchema,
6059
- cn as ExposedDeviceSchema,
6060
- co as ExposedResourceSchema,
6061
- cp as FeatureManifestSchema,
6062
- cq as FeatureProbeStatusSchema,
6063
- cr as FrameHandleFormatSchema,
6064
- cs as FrameHandleSchema,
6065
- ct as FrameInputSchema,
6066
- cu as GetStreamWithCodecInputSchema,
6067
- cv as GlobalMetricsSchema,
7199
+ dS as ExportSetupFieldSchema,
7200
+ dT as ExportSetupSchema,
7201
+ dU as ExposedDeviceSchema,
7202
+ dV as ExposedResourceSchema,
7203
+ dW as FanControlStatusSchema,
7204
+ dX as FanDirectionSchema,
7205
+ dY as FeatureManifestSchema,
7206
+ dZ as FeatureProbeStatusSchema,
7207
+ d_ as FloodStatusSchema,
7208
+ d$ as FrameHandleFormatSchema,
7209
+ e0 as FrameHandleSchema,
7210
+ e1 as FrameInputSchema,
7211
+ e2 as GasStatusSchema,
7212
+ e3 as GetStreamWithCodecInputSchema,
7213
+ e4 as GlobalMetricsSchema,
6068
7214
  HF_BASE_URL,
6069
7215
  HF_REPO,
6070
- cw as HWACCEL_OPTIONS,
6071
- cx as HealthStatusSchema,
6072
- cy as HistoryPointSchema,
6073
- cz as HistoryResolutionEnum,
6074
- cA as InstalledPackageSchema,
6075
- cB as IntegrationLiteSchema,
6076
- cC as IntegrationWithStateSchema,
6077
- cD as IntercomAbilitySchema,
6078
- cE as IntercomStatusSchema,
7216
+ e5 as HWACCEL_OPTIONS,
7217
+ e6 as HealthStatusSchema,
7218
+ e7 as HistoryPointSchema,
7219
+ e8 as HistoryResolutionEnum,
7220
+ e9 as HumidifierStatusSchema,
7221
+ ea as HumiditySensorStatusSchema,
7222
+ eb as HvacModeSchema,
7223
+ ec as ImageStatusSchema,
7224
+ ed as InstalledPackageSchema,
7225
+ ee as IntegrationLiteSchema,
7226
+ ef as IntegrationWithStateSchema,
7227
+ eg as IntercomAbilitySchema,
7228
+ eh as IntercomStatusSchema,
6079
7229
  KNOWN_CAP_NAMES,
6080
- cF as LocationStatSchema,
6081
- cG as LogEntrySchema,
6082
- cH as LogLevelSchema,
6083
- cI as LogStreamEntrySchema,
7230
+ ei as LawnMowerActivitySchema,
7231
+ ej as LawnMowerControlStatusSchema,
7232
+ ek as LocationStatSchema,
7233
+ el as LockControlStatusSchema,
7234
+ em as LockStateSchema,
7235
+ en as LogEntrySchema,
7236
+ eo as LogLevelSchema,
7237
+ ep as LogStreamEntrySchema,
6084
7238
  MACRO_LABELS,
6085
7239
  METHOD_ACCESS_MAP,
6086
- cJ as MODEL_FORMATS,
6087
- cK as MaskGridDimsSchema,
6088
- cL as MaskGridShapeSchema,
6089
- cM as MaskLineShapeSchema,
6090
- cN as MaskPointSchema,
6091
- cO as MaskPolygonShapeSchema,
6092
- cP as MaskPolygonVerticesSchema,
6093
- cQ as MaskRectShapeSchema,
6094
- cR as MaskShapeKindSchema,
6095
- cS as MaskShapeSchema,
6096
- cT as MediaFileSchema,
6097
- cU as MeshPeerSchema,
6098
- cV as MeshStatusSchema,
6099
- cW as MethodAccessSchema,
6100
- cX as MotionAnalysisResultSchema,
6101
- cY as MotionEventSchema,
6102
- cZ as MotionOnMotionChangedDataSchema,
6103
- c_ as MotionRegionSchema,
6104
- c$ as MotionSourceEnum,
6105
- d0 as MotionSourcesSchema,
6106
- d1 as MotionStatusSchema,
6107
- d2 as MotionTriggerRuntimeStateSchema,
6108
- d3 as MotionTriggerStatusSchema,
6109
- d4 as MotionZoneOptionsSchema,
6110
- d5 as MotionZonePatchSchema,
6111
- d6 as MotionZoneRegionSchema,
6112
- d7 as MotionZoneStatusSchema,
6113
- d8 as MqttBrokerStatusSchema,
6114
- d9 as NativeDetectionSchema,
6115
- da as NativeObjectClassEnum,
6116
- db as NativeObjectDetectionRuntimeStateSchema,
6117
- dc as NativeObjectDetectionStatusSchema,
6118
- dd as NetworkAccessStatusSchema,
6119
- de as NetworkAddressSchema,
6120
- df as NetworkEndpointSchema,
6121
- dg as NotificationHistoryEntrySchema,
6122
- dh as NotificationRuleSchema,
6123
- di as NotificationSchema,
6124
- dj as OauthIntegrationDescriptorSchema,
6125
- dk as ObjectEventSchema,
6126
- dl as OrchestratorMetricsSchema,
6127
- dm as OsdOverlayKindEnum,
6128
- dn as OsdOverlayPatchSchema,
6129
- dp as OsdOverlaySchema,
6130
- dq as OsdPositionEnum,
6131
- dr as OsdStatusSchema,
6132
- ds as PIPELINE_FLOW_CAPABILITY_NAMES,
6133
- dt as PIPELINE_OWNER_CAPABILITY_NAMES,
7240
+ eq as MODEL_FORMATS,
7241
+ er as MaskGridDimsSchema,
7242
+ es as MaskGridShapeSchema,
7243
+ et as MaskLineShapeSchema,
7244
+ eu as MaskPointSchema,
7245
+ ev as MaskPolygonShapeSchema,
7246
+ ew as MaskPolygonVerticesSchema,
7247
+ ex as MaskRectShapeSchema,
7248
+ ey as MaskShapeKindSchema,
7249
+ ez as MaskShapeSchema,
7250
+ eA as MediaFileSchema,
7251
+ eB as MediaPlayerRepeatSchema,
7252
+ eC as MediaPlayerStateSchema,
7253
+ eD as MediaPlayerStatusSchema,
7254
+ eE as MeshPeerSchema,
7255
+ eF as MeshStatusSchema,
7256
+ eG as MethodAccessSchema,
7257
+ eH as MotionAnalysisResultSchema,
7258
+ eI as MotionEventSchema,
7259
+ eJ as MotionOnMotionChangedDataSchema,
7260
+ eK as MotionRegionSchema,
7261
+ eL as MotionSourceEnum,
7262
+ eM as MotionSourcesSchema,
7263
+ eN as MotionStatusSchema,
7264
+ eO as MotionTriggerRuntimeStateSchema,
7265
+ eP as MotionTriggerStatusSchema,
7266
+ eQ as MotionZoneOptionsSchema,
7267
+ eR as MotionZonePatchSchema,
7268
+ eS as MotionZoneRegionSchema,
7269
+ eT as MotionZoneStatusSchema,
7270
+ eU as MqttBrokerStatusSchema,
7271
+ eV as NativeDetectionSchema,
7272
+ eW as NativeObjectClassEnum,
7273
+ eX as NativeObjectDetectionRuntimeStateSchema,
7274
+ eY as NativeObjectDetectionStatusSchema,
7275
+ eZ as NetworkAccessStatusSchema,
7276
+ e_ as NetworkAddressSchema,
7277
+ e$ as NetworkEndpointSchema,
7278
+ f0 as NotificationHistoryEntrySchema,
7279
+ f1 as NotificationRuleSchema,
7280
+ f2 as NotificationSchema,
7281
+ f3 as NotifierStatusSchema,
7282
+ f4 as NumericSensorStatusSchema,
7283
+ f5 as OauthIntegrationDescriptorSchema,
7284
+ f6 as ObjectEventSchema,
7285
+ f7 as OrchestratorMetricsSchema,
7286
+ f8 as OsdOverlayKindEnum,
7287
+ f9 as OsdOverlayPatchSchema,
7288
+ fa as OsdOverlaySchema,
7289
+ fb as OsdPositionEnum,
7290
+ fc as OsdStatusSchema,
7291
+ fd as PIPELINE_FLOW_CAPABILITY_NAMES,
7292
+ fe as PIPELINE_OWNER_CAPABILITY_NAMES,
6134
7293
  PROVIDER_KIND_CAP_NAMES,
6135
7294
  PYTHON_SCRIPT,
6136
- du as PackageUpdateSchema,
6137
- dv as PackageVersionInfoSchema,
6138
- dw as PasskeySummarySchema,
6139
- dx as PcmSampleFormatSchema,
6140
- dy as PerScopeBreakdownSchema,
6141
- dz as PipelineAssignmentSchema,
6142
- dA as PipelineDefaultStepSchema,
6143
- dB as PipelineEngineChoiceSchema,
6144
- dC as PipelineRunResultBridge,
6145
- dD as PipelineStepInputSchema,
6146
- dE as PlaceholderReasonSchema,
6147
- dF as PolygonPointSchema,
6148
- dG as PrivacyMaskOptionsSchema,
6149
- dH as PrivacyMaskPatchSchema,
6150
- dI as PrivacyMaskRegionSchema,
6151
- dJ as PrivacyMaskShapeSchema,
6152
- dK as PrivacyMaskStatusSchema,
6153
- dL as ProfileSlotSchema,
6154
- dM as ProfileSlotStatusSchema,
6155
- dN as ProviderStatusSchema,
6156
- dO as PtzAutotrackRuntimeStateSchema,
6157
- dP as PtzAutotrackSettingsSchema,
6158
- dQ as PtzAutotrackStatusSchema,
6159
- dR as PtzAutotrackTargetOptionSchema,
6160
- dS as PtzMoveCommandSchema,
6161
- dT as PtzPositionSchema,
6162
- dU as PtzPresetSchema,
6163
- dV as PtzStatusSchema,
6164
- dW as QueryFilterSchema,
7295
+ ff as PackageUpdateSchema,
7296
+ fg as PackageVersionInfoSchema,
7297
+ fh as PasskeySummarySchema,
7298
+ fi as PcmSampleFormatSchema,
7299
+ fj as PerScopeBreakdownSchema,
7300
+ fk as PickStreamPreferencesSchema,
7301
+ fl as PickStreamRequirementsSchema,
7302
+ fm as PickedCamStreamSchema,
7303
+ fn as PipelineAssignmentSchema,
7304
+ fo as PipelineDefaultStepSchema,
7305
+ fp as PipelineEngineChoiceSchema,
7306
+ fq as PipelineRunResultBridge,
7307
+ fr as PipelineStepInputSchema,
7308
+ fs as PlaceholderReasonSchema,
7309
+ ft as PolygonPointSchema,
7310
+ fu as PowerMeterStatusSchema,
7311
+ fv as PresenceStatusSchema,
7312
+ fw as PressureSensorStatusSchema,
7313
+ fx as PrivacyMaskOptionsSchema,
7314
+ fy as PrivacyMaskPatchSchema,
7315
+ fz as PrivacyMaskRegionSchema,
7316
+ fA as PrivacyMaskShapeSchema,
7317
+ fB as PrivacyMaskStatusSchema,
7318
+ fC as ProfileRtspEntrySchema,
7319
+ fD as ProfileSlotSchema,
7320
+ fE as ProfileSlotStatusSchema,
7321
+ fF as ProviderStatusSchema,
7322
+ fG as PtzAutotrackRuntimeStateSchema,
7323
+ fH as PtzAutotrackSettingsSchema,
7324
+ fI as PtzAutotrackStatusSchema,
7325
+ fJ as PtzAutotrackTargetOptionSchema,
7326
+ fK as PtzMoveCommandSchema,
7327
+ fL as PtzPositionSchema,
7328
+ fM as PtzPresetSchema,
7329
+ fN as PtzStatusSchema,
7330
+ fO as QueryFilterSchema,
6165
7331
  RECOGNITION_TYPES,
6166
7332
  RUNTIME_DEFAULTS,
6167
7333
  RUNTIME_TO_FORMAT,
7334
+ fP as RawStateResultSchema,
6168
7335
  ReadinessRegistry,
6169
7336
  ReadinessTimeoutError,
6170
- dX as RegisteredStreamSchema,
6171
- dY as ReportMotionInputSchema,
7337
+ fQ as RecordingAvailabilitySchema,
7338
+ fR as RecordingBandModeSchema,
7339
+ fS as RecordingBandSchema,
7340
+ fT as RecordingBandTriggersSchema,
7341
+ fU as RecordingConfigSchema,
7342
+ fV as RecordingDeviceUsageSchema,
7343
+ fW as RecordingLocationUsageSchema,
7344
+ fX as RecordingManifestSchema,
7345
+ fY as RecordingModeSchema,
7346
+ fZ as RecordingRangeSchema,
7347
+ f_ as RecordingRetentionSchema,
7348
+ f$ as RecordingRuleSchema,
7349
+ g0 as RecordingScheduleSchema,
7350
+ g1 as RecordingStatusSchema,
7351
+ g2 as RecordingStorageModeSchema,
7352
+ g3 as RecordingStorageUsageSchema,
7353
+ g4 as RecordingTriggersSchema,
7354
+ g5 as RecordingWeekdaySchema,
7355
+ g6 as RegisteredStreamSchema,
7356
+ g7 as ReportMotionInputSchema,
6172
7357
  RingBuffer,
6173
- dZ as RtpSourceSchema,
6174
- d_ as RtspRestreamEntrySchema,
6175
- d$ as RunnerCameraConfigSchema,
6176
- e0 as RunnerCameraDeviceUIFields,
6177
- e1 as RunnerLocalLoadSchema,
6178
- e2 as RunnerLocalMetricsSchema,
7358
+ g8 as RtpSourceSchema,
7359
+ g9 as RtspRestreamEntrySchema,
7360
+ ga as RunnerCameraConfigSchema,
7361
+ gb as RunnerCameraDeviceUIFields,
7362
+ gc as RunnerLocalLoadSchema,
7363
+ gd as RunnerLocalMetricsSchema,
6179
7364
  SCOPE_PRESETS,
6180
- e3 as STORAGE_LOCATION_CARDINALITY,
6181
- STORAGE_LOCATION_TYPES,
7365
+ SOURCE_INFO_METADATA_KEY,
6182
7366
  STREAM_PROFILE_META,
6183
7367
  STREAM_QUALITY_LABELS,
6184
7368
  SUB_DETECTION_TYPES,
6185
7369
  SYSTEM_CAP_NAMES,
6186
- e4 as ScopedTokenSchema,
6187
- e5 as ScopedTokenSummarySchema,
6188
- e6 as SearchResultSchema,
6189
- e7 as SegmentSchema,
6190
- e8 as SendEmailInputSchema,
6191
- e9 as SendEmailResultSchema,
6192
- ea as SettingsPatchSchema,
6193
- eb as SettingsRecordSchema,
6194
- ec as SettingsSchemaWithValuesSchema,
6195
- ed as SettingsUpdateResultSchema,
6196
- ee as ShmRingStatsSchema,
6197
- ef as SmtpStatusSchema,
6198
- eg as SnapshotImageSchema,
6199
- eh as SpatialDetectionSchema,
6200
- ei as SsoBridgeClaimsSchema,
6201
- ej as StartEmbeddedInputSchema,
6202
- ek as StorageAbortUploadInputSchema,
6203
- el as StorageBeginDownloadInputSchema,
6204
- em as StorageBeginDownloadResultSchema,
6205
- en as StorageBeginUploadInputSchema,
6206
- eo as StorageBeginUploadResultSchema,
6207
- ep as StorageEndDownloadInputSchema,
6208
- eq as StorageFinalizeUploadInputSchema,
6209
- er as StorageLocationRefSchema,
6210
- es as StorageLocationSchema,
6211
- et as StorageLocationTypeSchema,
6212
- eu as StorageProviderInfoSchema,
6213
- ev as StorageReadChunkInputSchema,
6214
- ew as StorageTestLocationResultSchema,
6215
- ex as StorageWriteChunkInputSchema,
6216
- ey as StreamFormatSchema,
6217
- ez as StreamInfoSchema,
6218
- eA as StreamNetworkStatsSchema,
6219
- eB as StreamParamsOptionsSchema,
6220
- eC as StreamParamsStatusSchema,
6221
- eD as StreamProfileConfigSchema,
6222
- eE as StreamProfileOptionsSchema,
6223
- eF as StreamProfilePatchSchema,
6224
- eG as StreamProfileSchema,
6225
- eH as StreamSourceEntrySchema,
6226
- eI as StreamSourceSchema,
6227
- eJ as SubscribeAudioChunksInputSchema,
6228
- eK as SubscribeAudioChunksResultSchema,
6229
- eL as SubscribeFramesInputSchema,
6230
- eM as SubscribeFramesResultSchema,
6231
- eN as SwitchStatusSchema,
6232
- eO as SystemMetricsSchema,
7370
+ ge as ScopedTokenSchema,
7371
+ gf as ScopedTokenSummarySchema,
7372
+ gg as ScriptRunnerStatusSchema,
7373
+ gh as SearchResultSchema,
7374
+ gi as SendEmailInputSchema,
7375
+ gj as SendEmailResultSchema,
7376
+ gk as SettingsPatchSchema,
7377
+ gl as SettingsRecordSchema,
7378
+ gm as SettingsSchemaWithValuesSchema,
7379
+ gn as SettingsUpdateResultSchema,
7380
+ go as ShmRingStatsSchema,
7381
+ gp as SmokeStatusSchema,
7382
+ gq as SmtpStatusSchema,
7383
+ gr as SnapshotImageSchema,
7384
+ gs as SourceInfoSchema,
7385
+ gt as SpatialDetectionSchema,
7386
+ gu as SsoBridgeClaimsSchema,
7387
+ gv as StartEmbeddedInputSchema,
7388
+ gw as StorageAbortUploadInputSchema,
7389
+ gx as StorageBeginDownloadInputSchema,
7390
+ gy as StorageBeginDownloadResultSchema,
7391
+ gz as StorageBeginUploadInputSchema,
7392
+ gA as StorageBeginUploadResultSchema,
7393
+ gB as StorageEndDownloadInputSchema,
7394
+ gC as StorageFinalizeUploadInputSchema,
7395
+ gD as StorageLocationDeclarationSchema,
7396
+ gE as StorageLocationRefSchema,
7397
+ gF as StorageLocationSchema,
7398
+ gG as StorageLocationTypeSchema,
7399
+ gH as StorageProviderInfoSchema,
7400
+ gI as StorageReadChunkInputSchema,
7401
+ gJ as StorageTestLocationResultSchema,
7402
+ gK as StorageWriteChunkInputSchema,
7403
+ gL as StreamCodecSchema,
7404
+ gM as StreamFormatSchema,
7405
+ gN as StreamInfoSchema,
7406
+ gO as StreamNetworkStatsSchema,
7407
+ gP as StreamParamsOptionsSchema,
7408
+ gQ as StreamParamsStatusSchema,
7409
+ gR as StreamProfileConfigSchema,
7410
+ gS as StreamProfileOptionsSchema,
7411
+ gT as StreamProfilePatchSchema,
7412
+ gU as StreamProfileSchema,
7413
+ gV as StreamSourceEntrySchema,
7414
+ gW as StreamSourceSchema,
7415
+ gX as SubscribeAudioChunksInputSchema,
7416
+ gY as SubscribeAudioChunksResultSchema,
7417
+ gZ as SubscribeFramesInputSchema,
7418
+ g_ as SubscribeFramesResultSchema,
7419
+ g$ as SwitchStatusSchema,
7420
+ h0 as SystemMetricsSchema,
6233
7421
  SystemMirror,
6234
- eP as TestConnectionResultSchema,
6235
- eQ as ToastSchema,
6236
- eR as TokenScopeSchema,
6237
- eS as TopologyNodeSchema,
6238
- eT as TopologyProcessSchema,
6239
- eU as TopologyServiceSchema,
6240
- eV as TrackSchema,
6241
- eW as TrackStateSchema,
6242
- eX as TrackedDetectionSchema,
6243
- eY as TurnServerSchema,
6244
- eZ as UpdateIntegrationInputSchema,
6245
- e_ as UpdateUserInputSchema,
6246
- e$ as UserRecordSchema,
6247
- f0 as UserSummarySchema,
6248
- f1 as WELL_KNOWN_TABS,
6249
- f2 as WELL_KNOWN_TAB_MAP,
6250
- f3 as WebrtcStreamChoiceSchema,
6251
- f4 as WebrtcStreamTargetSchema,
6252
- f5 as WidgetHostEnum,
6253
- f6 as WidgetMetadataSchema,
6254
- f7 as WidgetRemoteSchema,
6255
- f8 as WidgetSizeEnum,
6256
- f9 as YAMNET_TO_MACRO,
6257
- fa as ZoneKindEnum,
6258
- fb as ZoneRuleModeEnum,
6259
- fc as ZoneRuleSchema,
6260
- fd as ZoneRuleStageEnum,
6261
- fe as ZoneRulesArraySchema,
6262
- ff as ZoneSchema,
6263
- fg as ZoneScopeBreakdownSchema,
7422
+ TIMEZONES,
7423
+ h1 as TamperStatusSchema,
7424
+ h2 as TankStatusSchema,
7425
+ h3 as TemperatureSensorStatusSchema,
7426
+ h4 as TestConnectionResultSchema,
7427
+ h5 as ToastSchema,
7428
+ h6 as TokenScopeSchema,
7429
+ h7 as TopologyNodeSchema,
7430
+ h8 as TopologyProcessSchema,
7431
+ h9 as TopologyServiceSchema,
7432
+ ha as TrackSchema,
7433
+ hb as TrackStateSchema,
7434
+ hc as TrackedDetectionSchema,
7435
+ hd as TurnServerSchema,
7436
+ he as UnifiedBrokerInfoSchema,
7437
+ hf as UpdateIntegrationInputSchema,
7438
+ hg as UpdateStatusSchema,
7439
+ hh as UpdateUserInputSchema,
7440
+ hi as UserRecordSchema,
7441
+ hj as UserSummarySchema,
7442
+ hk as VacuumControlStatusSchema,
7443
+ hl as VacuumStateSchema,
7444
+ hm as ValveStateSchema,
7445
+ hn as ValveStatusSchema,
7446
+ ho as VibrationStatusSchema,
7447
+ hp as VideoEncodeSchema,
7448
+ hq as WELL_KNOWN_TABS,
7449
+ hr as WELL_KNOWN_TAB_MAP,
7450
+ hs as WaterHeaterStatusSchema,
7451
+ ht as WeatherStatusSchema,
7452
+ hu as WebrtcStreamChoiceSchema,
7453
+ hv as WebrtcStreamTargetSchema,
7454
+ hw as WidgetHostEnum,
7455
+ hx as WidgetMetadataSchema,
7456
+ hy as WidgetRemoteSchema,
7457
+ hz as WidgetSizeEnum,
7458
+ hA as YAMNET_TO_MACRO,
7459
+ hB as ZoneKindEnum,
7460
+ hC as ZoneRuleModeEnum,
7461
+ hD as ZoneRuleSchema,
7462
+ hE as ZoneRuleStageEnum,
7463
+ hF as ZoneRulesArraySchema,
7464
+ hG as ZoneSchema,
7465
+ hH as ZoneScopeBreakdownSchema,
6264
7466
  accessoriesCapability,
6265
- fh as accessoryStableId,
7467
+ hI as accessoryStableId,
6266
7468
  addonPagesCapability,
6267
7469
  addonPagesSourceCapability,
6268
7470
  addonRoutesCapability,
@@ -6272,7 +7474,11 @@ export {
6272
7474
  addonsCapability,
6273
7475
  adminUiCapability,
6274
7476
  advancedNotifierCapability,
7477
+ airQualitySensorCapability,
7478
+ alarmPanelCapability,
6275
7479
  alertsCapability,
7480
+ ambientLightSensorCapability,
7481
+ applyTransform,
6276
7482
  asBoolean,
6277
7483
  asJsonArray,
6278
7484
  asJsonObject,
@@ -6284,20 +7490,34 @@ export {
6284
7490
  audioMetricsCapability,
6285
7491
  authProviderCapability,
6286
7492
  autoAssignProfiles,
7493
+ automationControlCapability,
6287
7494
  backupCapability,
6288
7495
  batteryCapability,
7496
+ bestLocationMatch,
7497
+ binaryCapability,
6289
7498
  bindAddonActions,
6290
7499
  brightnessCapability,
7500
+ brokerCapability,
6291
7501
  buildAddonRouteProvider,
6292
7502
  buildStreamParamsConfigSchema,
7503
+ buttonCapability,
6293
7504
  cameraCredentialsCapability,
6294
7505
  cameraPipelineConfigCapability,
6295
7506
  cameraStreamsCapability,
7507
+ carbonMonoxideCapability,
6296
7508
  cellsToRects,
6297
7509
  classifyStream,
6298
7510
  classifyStreams,
7511
+ climateControlCapability,
7512
+ colorCapability,
7513
+ connectivityCapability,
7514
+ consumablesCapability,
7515
+ contactCapability,
7516
+ controlCapability,
6299
7517
  cosineSimilarity,
7518
+ coverCapability,
6300
7519
  createDeviceProxy,
7520
+ createDurableState,
6301
7521
  createEvent,
6302
7522
  createLazyTrpcSource,
6303
7523
  createMirrorSource,
@@ -6308,10 +7528,12 @@ export {
6308
7528
  decoderCapability,
6309
7529
  defineCustomActions,
6310
7530
  detectionPipelineCapability,
7531
+ deviceAdoptionCapability,
7532
+ deviceCustomAction,
6311
7533
  deviceDiscoveryCapability,
6312
7534
  deviceExportCapability,
6313
7535
  deviceManagerCapability,
6314
- fi as deviceMatchesProfile,
7536
+ hJ as deviceMatchesProfile,
6315
7537
  deviceOpsCapability,
6316
7538
  deviceProviderCapability,
6317
7539
  deviceStateCapability,
@@ -6320,31 +7542,53 @@ export {
6320
7542
  embeddingEncoderCapability,
6321
7543
  emitDownForOwnedCaps,
6322
7544
  emitReadiness,
7545
+ hK as encodeProfileFromStreamShape,
7546
+ enumSensorCapability,
7547
+ enumerateSchemaFields,
6323
7548
  errMsg,
6324
7549
  evaluateZoneRules,
6325
- fj as event,
7550
+ hL as event,
7551
+ eventEmitterCapability,
6326
7552
  eventsCapability,
6327
- fk as expandCapMethods,
7553
+ hM as expandCapMethods,
7554
+ extractSourceInfoFromMetadata,
7555
+ fanControlCapability,
6328
7556
  featureProbeCapability,
7557
+ filesystemBrowseCapability,
7558
+ findTimezone,
7559
+ floodCapability,
6329
7560
  formatForBackend,
6330
7561
  formatForRuntime,
6331
- fl as getAudioMacroClassIds,
7562
+ gasCapability,
7563
+ hN as getAudioMacroClassIds,
7564
+ getByPath,
6332
7565
  getCapsByProviderKind,
6333
7566
  hfModelUrl,
7567
+ humidifierCapability,
7568
+ humiditySensorCapability,
6334
7569
  hydrateSchema,
7570
+ imageCapability,
6335
7571
  integrationsCapability,
6336
7572
  intercomCapability,
6337
7573
  isAgentOnlyPlacement,
6338
7574
  isDeployableToAgent,
6339
- fm as isDeviceConfigCap,
7575
+ hO as isDeviceConfigCap,
6340
7576
  isEvent,
7577
+ lawnMowerControlCapability,
6341
7578
  localNetworkCapability,
7579
+ locationSimilarity,
7580
+ lockControlCapability,
6342
7581
  logDestinationCapability,
6343
- fn as mapAudioLabelToMacro,
7582
+ hP as makeProfileBrokerId,
7583
+ hQ as makeSourceBrokerId,
7584
+ hR as mapAudioLabelToMacro,
6344
7585
  maskUrlCredentials,
7586
+ mediaPlayerCapability,
7587
+ mergeSourceInfo,
6345
7588
  meshNetworkCapability,
6346
- fo as method,
7589
+ hS as method,
6347
7590
  metricsProviderCapability,
7591
+ migrateConfigToBands,
6348
7592
  motionCapability,
6349
7593
  motionDetectionCapability,
6350
7594
  motionTriggerCapability,
@@ -6355,19 +7599,27 @@ export {
6355
7599
  networkQualityCapability,
6356
7600
  nodesCapability,
6357
7601
  normalizeAddonInitResult,
7602
+ hT as normalizeUnit,
6358
7603
  notificationOutputCapability,
7604
+ notifierCapability,
7605
+ numericSensorCapability,
6359
7606
  oauthIntegrationCapability,
6360
7607
  osdCapability,
6361
7608
  parseCameraStreamConfig,
6362
7609
  parseJsonArray,
6363
7610
  parseJsonObject,
6364
7611
  parseJsonUnknown,
7612
+ hU as parseProfileBrokerId,
6365
7613
  parseStreamParamsFormPatch,
7614
+ pickPreferredRtspEntry,
6366
7615
  pipelineAnalyticsCapability,
6367
7616
  pipelineExecutorCapability,
6368
7617
  pipelineOrchestratorCapability,
6369
7618
  pipelineRunnerCapability,
6370
7619
  platformProbeCapability,
7620
+ powerMeterCapability,
7621
+ presenceCapability,
7622
+ pressureSensorCapability,
6371
7623
  privacyMaskCapability,
6372
7624
  ptzAutotrackCapability,
6373
7625
  ptzCapability,
@@ -6375,7 +7627,6 @@ export {
6375
7627
  readinessKey,
6376
7628
  rebootCapability,
6377
7629
  recordingCapability,
6378
- recordingEngineCapability,
6379
7630
  rectsToCells,
6380
7631
  requiresPython,
6381
7632
  resolveAddonExecution,
@@ -6383,18 +7634,25 @@ export {
6383
7634
  resolveAddonPlacement,
6384
7635
  resolveAddonRuntime,
6385
7636
  resolveDetectionRuntime,
6386
- fp as resolveDeviceProfile,
7637
+ hV as resolveDeviceProfile,
6387
7638
  resolveModelFormat,
6388
7639
  resolveRunnerId,
6389
7640
  restreamerCapability,
6390
7641
  runInferenceStep,
6391
7642
  scopeKey,
7643
+ scriptRunnerCapability,
7644
+ hW as selectAssignedProfileSlots,
7645
+ setByPath,
6392
7646
  settingsStoreCapability,
7647
+ sleep,
7648
+ sleepCancellable,
7649
+ smokeCapability,
6393
7650
  smtpProviderCapability,
6394
7651
  snapshotCapability,
6395
7652
  snapshotProviderCapability,
6396
7653
  ssoBridgeCapability,
6397
7654
  storageCapability,
7655
+ storageEvictableCapability,
6398
7656
  storageProviderCapability,
6399
7657
  streamBrokerCapability,
6400
7658
  streamCatalogCapability,
@@ -6403,21 +7661,31 @@ export {
6403
7661
  streamQualityLabel,
6404
7662
  streamingEngineCapability,
6405
7663
  switchCapability,
7664
+ synthesizeSourceInfo,
6406
7665
  systemCapability,
7666
+ tamperCapability,
7667
+ temperatureSensorCapability,
6407
7668
  toDeviceSummary,
6408
7669
  toStreamSourceEntry,
6409
7670
  toastCapability,
6410
7671
  turnProviderCapability,
7672
+ updateCapability,
6411
7673
  userManagementCapability,
6412
7674
  userPasskeysCapability,
7675
+ vacuumControlCapability,
7676
+ valveCapability,
7677
+ vibrationCapability,
7678
+ videoclipsCapability,
7679
+ waterHeaterCapability,
7680
+ weatherCapability,
6413
7681
  webrtcCapability,
6414
- fq as webrtcClientHintsSchema,
7682
+ hX as webrtcClientHintsSchema,
6415
7683
  webrtcSessionCapability,
6416
- fr as wiringAddonHealthSchema,
6417
- fs as wiringHealthSnapshotSchema,
6418
- ft as wiringNodeHealthSchema,
6419
- fu as wiringProbeKindSchema,
6420
- fv as wiringProbeResultSchema,
7684
+ hY as wiringAddonHealthSchema,
7685
+ hZ as wiringHealthSnapshotSchema,
7686
+ h_ as wiringNodeHealthSchema,
7687
+ h$ as wiringProbeKindSchema,
7688
+ i0 as wiringProbeResultSchema,
6421
7689
  zodEntriesToConfigUI,
6422
7690
  zoneAnalyticsCapability,
6423
7691
  zoneRulesCapability,