@camstack/types 0.1.40 → 0.1.41

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (296) 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/flood.cap.d.ts +37 -0
  75. package/dist/capabilities/flood.cap.d.ts.map +1 -0
  76. package/dist/capabilities/gas.cap.d.ts +34 -0
  77. package/dist/capabilities/gas.cap.d.ts.map +1 -0
  78. package/dist/capabilities/humidifier.cap.d.ts +82 -0
  79. package/dist/capabilities/humidifier.cap.d.ts.map +1 -0
  80. package/dist/capabilities/humidity-sensor.cap.d.ts +43 -0
  81. package/dist/capabilities/humidity-sensor.cap.d.ts.map +1 -0
  82. package/dist/capabilities/image.cap.d.ts +44 -0
  83. package/dist/capabilities/image.cap.d.ts.map +1 -0
  84. package/dist/capabilities/index.d.ts +93 -12
  85. package/dist/capabilities/index.d.ts.map +1 -1
  86. package/dist/capabilities/integrations.cap.d.ts +12 -0
  87. package/dist/capabilities/integrations.cap.d.ts.map +1 -1
  88. package/dist/capabilities/intercom.cap.d.ts +49 -9
  89. package/dist/capabilities/intercom.cap.d.ts.map +1 -1
  90. package/dist/capabilities/lawn-mower-control.cap.d.ts +83 -0
  91. package/dist/capabilities/lawn-mower-control.cap.d.ts.map +1 -0
  92. package/dist/capabilities/lock-control.cap.d.ts +92 -0
  93. package/dist/capabilities/lock-control.cap.d.ts.map +1 -0
  94. package/dist/capabilities/media-player.cap.d.ts +201 -0
  95. package/dist/capabilities/media-player.cap.d.ts.map +1 -0
  96. package/dist/capabilities/motion-trigger.cap.d.ts +1 -0
  97. package/dist/capabilities/motion-trigger.cap.d.ts.map +1 -1
  98. package/dist/capabilities/motion-zones.cap.d.ts +1 -0
  99. package/dist/capabilities/motion-zones.cap.d.ts.map +1 -1
  100. package/dist/capabilities/native-object-detection.cap.d.ts +1 -0
  101. package/dist/capabilities/native-object-detection.cap.d.ts.map +1 -1
  102. package/dist/capabilities/network-quality.cap.d.ts +5 -0
  103. package/dist/capabilities/network-quality.cap.d.ts.map +1 -1
  104. package/dist/capabilities/notifier.cap.d.ts +173 -0
  105. package/dist/capabilities/notifier.cap.d.ts.map +1 -0
  106. package/dist/capabilities/numeric-sensor.cap.d.ts +52 -0
  107. package/dist/capabilities/numeric-sensor.cap.d.ts.map +1 -0
  108. package/dist/capabilities/osd.cap.d.ts +1 -0
  109. package/dist/capabilities/osd.cap.d.ts.map +1 -1
  110. package/dist/capabilities/pipeline-analytics.cap.d.ts +69 -22
  111. package/dist/capabilities/pipeline-analytics.cap.d.ts.map +1 -1
  112. package/dist/capabilities/pipeline-executor.cap.d.ts +2 -2
  113. package/dist/capabilities/pipeline-orchestrator.cap.d.ts +1 -1
  114. package/dist/capabilities/pipeline-runner.cap.d.ts +2 -2
  115. package/dist/capabilities/platform-probe.cap.d.ts +25 -0
  116. package/dist/capabilities/platform-probe.cap.d.ts.map +1 -1
  117. package/dist/capabilities/power-meter.cap.d.ts +65 -0
  118. package/dist/capabilities/power-meter.cap.d.ts.map +1 -0
  119. package/dist/capabilities/presence.cap.d.ts +79 -0
  120. package/dist/capabilities/presence.cap.d.ts.map +1 -0
  121. package/dist/capabilities/pressure-sensor.cap.d.ts +43 -0
  122. package/dist/capabilities/pressure-sensor.cap.d.ts.map +1 -0
  123. package/dist/capabilities/privacy-mask.cap.d.ts +1 -0
  124. package/dist/capabilities/privacy-mask.cap.d.ts.map +1 -1
  125. package/dist/capabilities/ptz-autotrack.cap.d.ts +1 -0
  126. package/dist/capabilities/ptz-autotrack.cap.d.ts.map +1 -1
  127. package/dist/capabilities/ptz.cap.d.ts +1 -0
  128. package/dist/capabilities/ptz.cap.d.ts.map +1 -1
  129. package/dist/capabilities/reboot.cap.d.ts +1 -0
  130. package/dist/capabilities/reboot.cap.d.ts.map +1 -1
  131. package/dist/capabilities/recording.cap.d.ts +238 -32
  132. package/dist/capabilities/recording.cap.d.ts.map +1 -1
  133. package/dist/capabilities/restreamer.cap.d.ts +2 -2
  134. package/dist/capabilities/schemas/orchestrator-metrics.d.ts +2 -2
  135. package/dist/capabilities/schemas/streaming-shared.d.ts +64 -1
  136. package/dist/capabilities/schemas/streaming-shared.d.ts.map +1 -1
  137. package/dist/capabilities/script-runner.cap.d.ts +62 -0
  138. package/dist/capabilities/script-runner.cap.d.ts.map +1 -0
  139. package/dist/capabilities/settings-store.cap.d.ts +25 -0
  140. package/dist/capabilities/settings-store.cap.d.ts.map +1 -1
  141. package/dist/capabilities/smoke.cap.d.ts +38 -0
  142. package/dist/capabilities/smoke.cap.d.ts.map +1 -0
  143. package/dist/capabilities/snapshot-provider.cap.d.ts +1 -1
  144. package/dist/capabilities/snapshot.cap.d.ts +1 -0
  145. package/dist/capabilities/snapshot.cap.d.ts.map +1 -1
  146. package/dist/capabilities/storage-evictable.cap.d.ts +54 -0
  147. package/dist/capabilities/storage-evictable.cap.d.ts.map +1 -0
  148. package/dist/capabilities/storage-provider.cap.d.ts +31 -186
  149. package/dist/capabilities/storage-provider.cap.d.ts.map +1 -1
  150. package/dist/capabilities/storage.cap.d.ts +35 -226
  151. package/dist/capabilities/storage.cap.d.ts.map +1 -1
  152. package/dist/capabilities/stream-broker.cap.d.ts +309 -25
  153. package/dist/capabilities/stream-broker.cap.d.ts.map +1 -1
  154. package/dist/capabilities/stream-catalog.cap.d.ts +3 -0
  155. package/dist/capabilities/stream-catalog.cap.d.ts.map +1 -1
  156. package/dist/capabilities/stream-params.cap.d.ts +27 -26
  157. package/dist/capabilities/stream-params.cap.d.ts.map +1 -1
  158. package/dist/capabilities/switch.cap.d.ts +1 -0
  159. package/dist/capabilities/switch.cap.d.ts.map +1 -1
  160. package/dist/capabilities/tamper.cap.d.ts +33 -0
  161. package/dist/capabilities/tamper.cap.d.ts.map +1 -0
  162. package/dist/capabilities/temperature-sensor.cap.d.ts +51 -0
  163. package/dist/capabilities/temperature-sensor.cap.d.ts.map +1 -0
  164. package/dist/capabilities/update.cap.d.ts +49 -0
  165. package/dist/capabilities/update.cap.d.ts.map +1 -0
  166. package/dist/capabilities/vacuum-control.cap.d.ts +229 -0
  167. package/dist/capabilities/vacuum-control.cap.d.ts.map +1 -0
  168. package/dist/capabilities/valve.cap.d.ts +93 -0
  169. package/dist/capabilities/valve.cap.d.ts.map +1 -0
  170. package/dist/capabilities/vibration.cap.d.ts +33 -0
  171. package/dist/capabilities/vibration.cap.d.ts.map +1 -0
  172. package/dist/capabilities/water-heater.cap.d.ts +78 -0
  173. package/dist/capabilities/water-heater.cap.d.ts.map +1 -0
  174. package/dist/capabilities/weather.cap.d.ts +76 -0
  175. package/dist/capabilities/weather.cap.d.ts.map +1 -0
  176. package/dist/capabilities/webrtc-session.cap.d.ts +95 -1
  177. package/dist/capabilities/webrtc-session.cap.d.ts.map +1 -1
  178. package/dist/constants.d.ts +0 -2
  179. package/dist/constants.d.ts.map +1 -1
  180. package/dist/device/base-device-provider.d.ts +11 -0
  181. package/dist/device/base-device-provider.d.ts.map +1 -1
  182. package/dist/device/base-device.d.ts +52 -0
  183. package/dist/device/base-device.d.ts.map +1 -1
  184. package/dist/device/device-context.d.ts +29 -0
  185. package/dist/device/device-context.d.ts.map +1 -1
  186. package/dist/device/device-link-transform.d.ts +6 -0
  187. package/dist/device/device-link-transform.d.ts.map +1 -0
  188. package/dist/device/device-management.d.ts +116 -4
  189. package/dist/device/device-management.d.ts.map +1 -1
  190. package/dist/device/device-type.d.ts +214 -3
  191. package/dist/device/device-type.d.ts.map +1 -1
  192. package/dist/device/device.d.ts +25 -0
  193. package/dist/device/device.d.ts.map +1 -1
  194. package/dist/device/index.d.ts +5 -1
  195. package/dist/device/index.d.ts.map +1 -1
  196. package/dist/device/path-util.d.ts +13 -0
  197. package/dist/device/path-util.d.ts.map +1 -0
  198. package/dist/device/schema-fields.d.ts +12 -0
  199. package/dist/device/schema-fields.d.ts.map +1 -0
  200. package/dist/device/source-info.d.ts +87 -0
  201. package/dist/device/source-info.d.ts.map +1 -0
  202. package/dist/device/system-mirror.d.ts +6 -2
  203. package/dist/device/system-mirror.d.ts.map +1 -1
  204. package/dist/encode-profile.d.ts +126 -0
  205. package/dist/encode-profile.d.ts.map +1 -0
  206. package/dist/enums/event-category.d.ts +64 -6
  207. package/dist/enums/event-category.d.ts.map +1 -1
  208. package/dist/generated/addon-api.d.ts +12345 -8129
  209. package/dist/generated/addon-api.d.ts.map +1 -1
  210. package/dist/generated/cap-status-types.d.ts +85 -1
  211. package/dist/generated/cap-status-types.d.ts.map +1 -1
  212. package/dist/generated/capability-router-map.d.ts +133 -7
  213. package/dist/generated/capability-router-map.d.ts.map +1 -1
  214. package/dist/generated/device-local-state.d.ts +117 -0
  215. package/dist/generated/device-local-state.d.ts.map +1 -1
  216. package/dist/generated/device-proxy.d.ts +124 -5
  217. package/dist/generated/device-proxy.d.ts.map +1 -1
  218. package/dist/generated/method-access-map.d.ts +1 -1
  219. package/dist/generated/method-access-map.d.ts.map +1 -1
  220. package/dist/generated/provider-kind-map.d.ts +1 -1
  221. package/dist/generated/provider-kind-map.d.ts.map +1 -1
  222. package/dist/generated/system-proxy.d.ts +9 -7
  223. package/dist/generated/system-proxy.d.ts.map +1 -1
  224. package/dist/{index-DnpdVFKv.js → index-BSA_TBea.js} +4170 -728
  225. package/dist/index-BSA_TBea.js.map +1 -0
  226. package/dist/{index-C2zzIDdX.mjs → index-Bpj3ScIH.mjs} +4563 -1121
  227. package/dist/index-Bpj3ScIH.mjs.map +1 -0
  228. package/dist/index.d.ts +21 -3
  229. package/dist/index.d.ts.map +1 -1
  230. package/dist/index.js +1323 -116
  231. package/dist/index.js.map +1 -1
  232. package/dist/index.mjs +1637 -430
  233. package/dist/index.mjs.map +1 -1
  234. package/dist/interfaces/addon-data-plane.d.ts +76 -0
  235. package/dist/interfaces/addon-data-plane.d.ts.map +1 -0
  236. package/dist/interfaces/addon.d.ts +60 -0
  237. package/dist/interfaces/addon.d.ts.map +1 -1
  238. package/dist/interfaces/advanced-notifier.d.ts +4 -0
  239. package/dist/interfaces/advanced-notifier.d.ts.map +1 -1
  240. package/dist/interfaces/capability.d.ts +42 -1
  241. package/dist/interfaces/capability.d.ts.map +1 -1
  242. package/dist/interfaces/config-ui.d.ts +70 -6
  243. package/dist/interfaces/config-ui.d.ts.map +1 -1
  244. package/dist/interfaces/device-capabilities/camera.d.ts +2 -1
  245. package/dist/interfaces/device-capabilities/camera.d.ts.map +1 -1
  246. package/dist/interfaces/event-bus.d.ts +49 -3
  247. package/dist/interfaces/event-bus.d.ts.map +1 -1
  248. package/dist/interfaces/kernel-abstractions.d.ts +10 -1
  249. package/dist/interfaces/kernel-abstractions.d.ts.map +1 -1
  250. package/dist/interfaces/network-quality.d.ts +8 -0
  251. package/dist/interfaces/network-quality.d.ts.map +1 -1
  252. package/dist/interfaces/pipeline-executor-capability.d.ts +2 -2
  253. package/dist/interfaces/pipeline-orchestrator-capability.d.ts +2 -1
  254. package/dist/interfaces/pipeline-orchestrator-capability.d.ts.map +1 -1
  255. package/dist/interfaces/pipeline-runner-capability.d.ts +7 -0
  256. package/dist/interfaces/pipeline-runner-capability.d.ts.map +1 -1
  257. package/dist/interfaces/recording-config.d.ts +91 -0
  258. package/dist/interfaces/recording-config.d.ts.map +1 -0
  259. package/dist/interfaces/rtp-egress.d.ts +2 -3
  260. package/dist/interfaces/rtp-egress.d.ts.map +1 -1
  261. package/dist/interfaces/storage-location-declaration.d.ts +34 -0
  262. package/dist/interfaces/storage-location-declaration.d.ts.map +1 -0
  263. package/dist/interfaces/storage-location.d.ts +18 -74
  264. package/dist/interfaces/storage-location.d.ts.map +1 -1
  265. package/dist/interfaces/storage.d.ts +15 -4
  266. package/dist/interfaces/storage.d.ts.map +1 -1
  267. package/dist/interfaces/stream-broker.d.ts +18 -3
  268. package/dist/interfaces/stream-broker.d.ts.map +1 -1
  269. package/dist/interfaces/timezones.d.ts +59 -0
  270. package/dist/interfaces/timezones.d.ts.map +1 -0
  271. package/dist/node.d.ts +3 -0
  272. package/dist/node.d.ts.map +1 -1
  273. package/dist/node.js +50 -8
  274. package/dist/node.js.map +1 -1
  275. package/dist/node.mjs +51 -9
  276. package/dist/node.mjs.map +1 -1
  277. package/dist/storage/filesystem-storage-provider.d.ts +2 -1
  278. package/dist/storage/filesystem-storage-provider.d.ts.map +1 -1
  279. package/dist/stream-selection.d.ts +85 -0
  280. package/dist/stream-selection.d.ts.map +1 -0
  281. package/dist/types/detection.d.ts +3 -3
  282. package/dist/types/io.d.ts +1 -1
  283. package/dist/types/io.d.ts.map +1 -1
  284. package/dist/util/location-match.d.ts +15 -0
  285. package/dist/util/location-match.d.ts.map +1 -0
  286. package/dist/utils/canonical-hash.d.ts +20 -0
  287. package/dist/utils/canonical-hash.d.ts.map +1 -0
  288. package/dist/utils/export-reconciler.d.ts +101 -0
  289. package/dist/utils/export-reconciler.d.ts.map +1 -0
  290. package/dist/utils/sleep.d.ts +36 -0
  291. package/dist/utils/sleep.d.ts.map +1 -0
  292. package/package.json +1 -1
  293. package/dist/capabilities/recording-engine.cap.d.ts +0 -477
  294. package/dist/capabilities/recording-engine.cap.d.ts.map +0 -1
  295. package/dist/index-C2zzIDdX.mjs.map +0 -1
  296. package/dist/index-DnpdVFKv.js.map +0 -1
package/dist/index.js CHANGED
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
- const index = require("./index-DnpdVFKv.js");
3
+ const index = require("./index-BSA_TBea.js");
4
4
  const zod = require("zod");
5
5
  class DisposerChain {
6
6
  disposers = [];
@@ -120,10 +120,15 @@ var EventCategory = /* @__PURE__ */ ((EventCategory2) => {
120
120
  EventCategory2["DeviceSettingsUpdated"] = "device.settings-updated";
121
121
  EventCategory2["DeviceBindingsChanged"] = "device.bindings-changed";
122
122
  EventCategory2["DeviceMetaChanged"] = "device.meta-changed";
123
+ EventCategory2["DeviceSourceInfoChanged"] = "device.source-info-changed";
123
124
  EventCategory2["DeviceStreamsRegistered"] = "device.streams-registered";
125
+ EventCategory2["DeviceProvisioned"] = "device.provisioned";
126
+ EventCategory2["DeviceReady"] = "device.ready";
124
127
  EventCategory2["IntegrationEnabled"] = "integration.enabled";
125
128
  EventCategory2["IntegrationDisabled"] = "integration.disabled";
126
129
  EventCategory2["IntegrationDeleted"] = "integration.deleted";
130
+ EventCategory2["BrokerStatusChanged"] = "broker.status-changed";
131
+ EventCategory2["BrokerMessage"] = "broker.message";
127
132
  EventCategory2["ProviderStarted"] = "provider.started";
128
133
  EventCategory2["ProviderStopped"] = "provider.stopped";
129
134
  EventCategory2["ProcessCrashed"] = "process.crashed";
@@ -157,7 +162,9 @@ var EventCategory = /* @__PURE__ */ ((EventCategory2) => {
157
162
  EventCategory2["StreamParamsChanged"] = "stream-params.changed";
158
163
  EventCategory2["DeviceStateChanged"] = "device.state-changed";
159
164
  EventCategory2["BatteryOnStatusChanged"] = "battery.onStatusChanged";
165
+ EventCategory2["BatteryOnWakeStarted"] = "battery.onWakeStarted";
160
166
  EventCategory2["DoorbellOnPressed"] = "doorbell.onPressed";
167
+ EventCategory2["EventEmitted"] = "event-emitter.event";
161
168
  EventCategory2["PipelineEngineMetricsSnapshot"] = "pipeline.engine-metrics-snapshot";
162
169
  EventCategory2["ClusterTopologySnapshot"] = "cluster.topology-snapshot";
163
170
  EventCategory2["MetricsNodeResourcesSnapshot"] = "metrics.node-resources-snapshot";
@@ -243,6 +250,27 @@ function emitReadiness(bus, params) {
243
250
  }
244
251
  ));
245
252
  }
253
+ function createDurableState(deps) {
254
+ const get = async () => {
255
+ const store = await deps.read();
256
+ const raw = store[deps.key];
257
+ if (raw === void 0) return deps.fallback;
258
+ const parsed = deps.schema.safeParse(raw);
259
+ if (!parsed.success) {
260
+ deps.onParseError?.(deps.key, parsed.error);
261
+ return deps.fallback;
262
+ }
263
+ return parsed.data;
264
+ };
265
+ const set = async (next) => {
266
+ const validated = deps.schema.parse(next);
267
+ await deps.write({ [deps.key]: validated });
268
+ };
269
+ const update = async (fn) => {
270
+ await set(fn(await get()));
271
+ };
272
+ return { get, set, update };
273
+ }
246
274
  class BaseAddon {
247
275
  _ctx = null;
248
276
  _config;
@@ -486,12 +514,18 @@ class BaseAddon {
486
514
  // ── Lifecycle event emission ────────────────────────────────────────────
487
515
  emitLifecycle(category, data) {
488
516
  try {
489
- this._ctx?.eventBus.emit({
490
- id: `${this._ctx.id}-${Date.now()}`,
517
+ const ctx = this._ctx;
518
+ if (!ctx) return;
519
+ ctx.eventBus.emit({
520
+ id: `${ctx.id}-${Date.now()}`,
491
521
  timestamp: /* @__PURE__ */ new Date(),
492
- source: { type: "addon", id: this._ctx.id, nodeId: this._ctx.kernel.localNodeId ?? "hub" },
522
+ source: { type: "addon", id: ctx.id, nodeId: ctx.kernel.localNodeId ?? "hub" },
493
523
  category,
494
- data: data ?? {}
524
+ // Always carry `addonId` in the payload (the lifecycle event
525
+ // contract declares it) so consumers — e.g. the alerts builder —
526
+ // can name the addon without reaching into `source`. An explicit
527
+ // `data.addonId` still wins if a caller provides one.
528
+ data: { addonId: ctx.id, ...data ?? {} }
495
529
  });
496
530
  } catch {
497
531
  }
@@ -564,6 +598,44 @@ class BaseAddon {
564
598
  }
565
599
  this._config = resolved;
566
600
  }
601
+ /**
602
+ * Typed durable handle over ONE key of this addon's store. The whole
603
+ * Zod-validated value round-trips on every read/write — no hand-listed
604
+ * fields, so a field can never be silently dropped on persist. Reads use
605
+ * the same retry budget as config resolution; a corrupt/legacy blob logs
606
+ * a warning and falls back rather than crashing boot.
607
+ */
608
+ state(key, schema, fallback) {
609
+ return createDurableState({
610
+ key,
611
+ schema,
612
+ fallback,
613
+ read: () => this.readAddonStoreWithRetry(),
614
+ write: async (patch) => {
615
+ await this._ctx?.settings?.writeAddonStore(patch);
616
+ },
617
+ onParseError: (k, e) => this._ctx?.logger?.warn?.(
618
+ `durable-state: stored "${k}" failed validation — using fallback`,
619
+ { meta: { addonId: this._ctx?.id, key: k, error: String(e) } }
620
+ )
621
+ });
622
+ }
623
+ /** Per-device variant of {@link state}, backed by the per-device store. */
624
+ deviceState(deviceId, key, schema, fallback) {
625
+ return createDurableState({
626
+ key,
627
+ schema,
628
+ fallback,
629
+ read: async () => await this._ctx?.settings?.readDeviceStore(deviceId) ?? {},
630
+ write: async (patch) => {
631
+ await this._ctx?.settings?.writeDeviceStore(deviceId, patch);
632
+ },
633
+ onParseError: (k, e) => this._ctx?.logger?.warn?.(
634
+ `durable-state: stored device ${deviceId} "${k}" failed validation — using fallback`,
635
+ { meta: { addonId: this._ctx?.id, deviceId, key: k, error: String(e) } }
636
+ )
637
+ });
638
+ }
567
639
  /**
568
640
  * Wrap `ctx.settings.readAddonStore()` with a short retry budget so a
569
641
  * transient settings-store outage (mid-restart of sqlite-settings, tsx-watch
@@ -689,6 +761,68 @@ function buildCapturingReply(envelope) {
689
761
  };
690
762
  return wrapper;
691
763
  }
764
+ const EU_DST = {
765
+ offsetHours: 1,
766
+ startMonth: 3,
767
+ startWeekIndex: 5,
768
+ startWeekday: "Sunday",
769
+ startHour: 2,
770
+ endMonth: 10,
771
+ endWeekIndex: 5,
772
+ endWeekday: "Sunday",
773
+ endHour: 3
774
+ };
775
+ const US_DST = {
776
+ offsetHours: 1,
777
+ startMonth: 3,
778
+ startWeekIndex: 2,
779
+ startWeekday: "Sunday",
780
+ startHour: 2,
781
+ endMonth: 11,
782
+ endWeekIndex: 1,
783
+ endWeekday: "Sunday",
784
+ endHour: 2
785
+ };
786
+ const AU_DST = {
787
+ offsetHours: 1,
788
+ startMonth: 10,
789
+ startWeekIndex: 1,
790
+ startWeekday: "Sunday",
791
+ startHour: 2,
792
+ endMonth: 4,
793
+ endWeekIndex: 1,
794
+ endWeekday: "Sunday",
795
+ endHour: 3
796
+ };
797
+ const TIMEZONES = [
798
+ // --- Universal ---
799
+ { id: "UTC", label: "UTC (UTC+0)", region: "Universal", stdOffsetMinutes: 0, dst: null },
800
+ // --- Europe (EU DST rule) ---
801
+ { id: "Europe/London", label: "Europe/London (UTC+0 / BST)", region: "Europe", stdOffsetMinutes: 0, dst: EU_DST },
802
+ { id: "Europe/Rome", label: "Europe/Rome (UTC+1 / CEST)", region: "Europe", stdOffsetMinutes: 60, dst: EU_DST },
803
+ { id: "Europe/Paris", label: "Europe/Paris (UTC+1 / CEST)", region: "Europe", stdOffsetMinutes: 60, dst: EU_DST },
804
+ { id: "Europe/Berlin", label: "Europe/Berlin (UTC+1 / CEST)", region: "Europe", stdOffsetMinutes: 60, dst: EU_DST },
805
+ { id: "Europe/Madrid", label: "Europe/Madrid (UTC+1 / CEST)", region: "Europe", stdOffsetMinutes: 60, dst: EU_DST },
806
+ { id: "Europe/Amsterdam", label: "Europe/Amsterdam (UTC+1 / CEST)", region: "Europe", stdOffsetMinutes: 60, dst: EU_DST },
807
+ { id: "Europe/Istanbul", label: "Europe/Istanbul (UTC+3)", region: "Europe", stdOffsetMinutes: 180, dst: null },
808
+ // --- Americas (US/Canada DST rule) ---
809
+ { id: "America/New_York", label: "America/New York (UTC−5 / EDT)", region: "Americas", stdOffsetMinutes: -300, dst: US_DST },
810
+ { id: "America/Chicago", label: "America/Chicago (UTC−6 / CDT)", region: "Americas", stdOffsetMinutes: -360, dst: US_DST },
811
+ { id: "America/Denver", label: "America/Denver (UTC−7 / MDT)", region: "Americas", stdOffsetMinutes: -420, dst: US_DST },
812
+ { id: "America/Los_Angeles", label: "America/Los Angeles (UTC−8 / PDT)", region: "Americas", stdOffsetMinutes: -480, dst: US_DST },
813
+ { id: "America/Sao_Paulo", label: "America/Sao Paulo (UTC−3)", region: "Americas", stdOffsetMinutes: -180, dst: null },
814
+ // --- Asia / Middle East (no DST) ---
815
+ { id: "Asia/Dubai", label: "Asia/Dubai (UTC+4)", region: "Asia", stdOffsetMinutes: 240, dst: null },
816
+ { id: "Asia/Kolkata", label: "Asia/Kolkata (UTC+5:30)", region: "Asia", stdOffsetMinutes: 330, dst: null },
817
+ { id: "Asia/Singapore", label: "Asia/Singapore (UTC+8)", region: "Asia", stdOffsetMinutes: 480, dst: null },
818
+ { id: "Asia/Shanghai", label: "Asia/Shanghai (UTC+8)", region: "Asia", stdOffsetMinutes: 480, dst: null },
819
+ { id: "Asia/Tokyo", label: "Asia/Tokyo (UTC+9)", region: "Asia", stdOffsetMinutes: 540, dst: null },
820
+ // --- Oceania (southern-hemisphere DST) ---
821
+ { id: "Australia/Sydney", label: "Australia/Sydney (UTC+10 / AEDT)", region: "Oceania", stdOffsetMinutes: 600, dst: AU_DST }
822
+ ];
823
+ function findTimezone(id) {
824
+ return TIMEZONES.find((tz) => tz.id === id);
825
+ }
692
826
  class ReadinessTimeoutError extends Error {
693
827
  capName;
694
828
  scope;
@@ -1084,34 +1218,7 @@ function emitDownForOwnedCaps(registry, owned) {
1084
1218
  registry.emitDown(capName, scope);
1085
1219
  }
1086
1220
  }
1087
- const STORAGE_LOCATION_TYPES = [
1088
- "data",
1089
- "media",
1090
- "recordings",
1091
- "recordings-high",
1092
- "recordings-low",
1093
- "recordings-clips",
1094
- "event-images",
1095
- "models",
1096
- "addons-data",
1097
- "cache",
1098
- "logs",
1099
- "backups"
1100
- ];
1101
- const DEFAULT_LOCATION_SUBDIRS = {
1102
- "data": "db",
1103
- "media": "media",
1104
- "recordings": "recordings",
1105
- "recordings-high": "recordings-high",
1106
- "recordings-low": "recordings-low",
1107
- "recordings-clips": "recordings-clips",
1108
- "event-images": "event-images",
1109
- "models": "models",
1110
- "addons-data": "addons-data",
1111
- "cache": "/tmp/camstack-cache",
1112
- "logs": "logs",
1113
- "backups": "backups"
1114
- };
1221
+ const DATAPLANE_SECRET_HEADER = "x-camstack-dataplane-secret";
1115
1222
  const STREAM_QUALITY_LABELS = {
1116
1223
  high: "High",
1117
1224
  mid: "Mid",
@@ -1159,12 +1266,12 @@ function toStreamSourceEntry(stream) {
1159
1266
  function isString(v) {
1160
1267
  return typeof v === "string";
1161
1268
  }
1162
- function isRecord(v) {
1269
+ function isRecord$1(v) {
1163
1270
  return typeof v === "object" && v !== null && !Array.isArray(v);
1164
1271
  }
1165
1272
  function parseStreamEntry(v) {
1166
1273
  if (isString(v) && v.trim()) return { url: v };
1167
- if (isRecord(v) && isString(v["url"]) && v["url"].trim()) {
1274
+ if (isRecord$1(v) && isString(v["url"]) && v["url"].trim()) {
1168
1275
  return {
1169
1276
  url: v["url"],
1170
1277
  label: isString(v["label"]) ? v["label"] : void 0
@@ -1225,6 +1332,51 @@ const DEFAULT_FEATURES = {
1225
1332
  };
1226
1333
  const SUB_DETECTION_TYPES = ["face", "plate"];
1227
1334
  const RECOGNITION_TYPES = ["face", "plate", "clip", "custom"];
1335
+ function pickPreferredRtspEntry(entries, pref, deviceId, options = {}) {
1336
+ if (entries.length === 0) return null;
1337
+ const prefix = `${deviceId}/`;
1338
+ const toPicked = (e) => ({
1339
+ brokerId: e.brokerId,
1340
+ profileId: e.brokerId.startsWith(prefix) ? e.brokerId.slice(prefix.length) : e.brokerId,
1341
+ url: e.url,
1342
+ mutedUrl: e.mutedUrl,
1343
+ enabled: e.enabled,
1344
+ ...e.codec !== void 0 ? { codec: e.codec } : {},
1345
+ ...e.resolution !== void 0 ? { resolution: e.resolution } : {}
1346
+ });
1347
+ if (pref !== "auto") {
1348
+ const match = entries.find(
1349
+ (e) => e.enabled && e.url.length > 0 && (e.profile === pref || e.brokerId === `${prefix}${pref}`)
1350
+ );
1351
+ if (match) return toPicked(match);
1352
+ }
1353
+ const eligible = entries.filter((e) => e.enabled && e.url.length > 0);
1354
+ if (eligible.length === 0) return null;
1355
+ const target = options.targetResolution;
1356
+ if (target) {
1357
+ const withRes = eligible.filter((e) => e.resolution !== void 0);
1358
+ if (withRes.length > 0) {
1359
+ const picked = pickClosestResolution(withRes, target);
1360
+ if (picked) return toPicked(picked);
1361
+ }
1362
+ }
1363
+ return toPicked(eligible[0]);
1364
+ }
1365
+ function pickClosestResolution(entries, target) {
1366
+ const targetPixels = target.width * target.height;
1367
+ let bestAbove;
1368
+ let bestBelow;
1369
+ for (const e of entries) {
1370
+ if (e.resolution === void 0) continue;
1371
+ const pixels = e.resolution.width * e.resolution.height;
1372
+ if (pixels >= targetPixels) {
1373
+ if (!bestAbove || pixels < bestAbove.pixels) bestAbove = { entry: e, pixels };
1374
+ } else {
1375
+ if (!bestBelow || pixels > bestBelow.pixels) bestBelow = { entry: e, pixels };
1376
+ }
1377
+ }
1378
+ return bestAbove?.entry ?? bestBelow?.entry;
1379
+ }
1228
1380
  const DEFAULT_RETENTION = {
1229
1381
  cleanupIntervalMs: 60 * 60 * 1e3,
1230
1382
  detectionEventsDays: 30,
@@ -1266,9 +1418,6 @@ const RUNTIME_DEFAULTS = {
1266
1418
  models: "camstack-data/models"
1267
1419
  },
1268
1420
  "providers": [],
1269
- // Recording
1270
- "recording.segmentDurationSeconds": 4,
1271
- "recording.defaultRetentionDays": 30,
1272
1421
  // Streaming ports are addon-specific (go2rtc owns its defaults)
1273
1422
  // FFmpeg
1274
1423
  "ffmpeg.binaryPath": "ffmpeg",
@@ -1936,22 +2085,61 @@ function createRuntimeStateBridge(params) {
1936
2085
  return { ensureFresh, getStatus };
1937
2086
  }
1938
2087
  const DEVICE_LOCAL_STATE_CAPS = {
2088
+ airQualitySensor: index.airQualitySensorCapability,
2089
+ alarmPanel: index.alarmPanelCapability,
2090
+ ambientLightSensor: index.ambientLightSensorCapability,
1939
2091
  audioMetrics: index.audioMetricsCapability,
2092
+ automationControl: index.automationControlCapability,
1940
2093
  battery: index.batteryCapability,
2094
+ binary: index.binaryCapability,
1941
2095
  brightness: index.brightnessCapability,
1942
2096
  cameraStreams: index.cameraStreamsCapability,
2097
+ carbonMonoxide: index.carbonMonoxideCapability,
2098
+ climateControl: index.climateControlCapability,
2099
+ color: index.colorCapability,
2100
+ connectivity: index.connectivityCapability,
2101
+ consumables: index.consumablesCapability,
2102
+ contact: index.contactCapability,
2103
+ control: index.controlCapability,
2104
+ cover: index.coverCapability,
1943
2105
  deviceDiscovery: index.deviceDiscoveryCapability,
1944
2106
  deviceStatus: index.deviceStatusCapability,
1945
2107
  doorbell: index.doorbellCapability,
2108
+ enumSensor: index.enumSensorCapability,
2109
+ eventEmitter: index.eventEmitterCapability,
2110
+ fanControl: index.fanControlCapability,
1946
2111
  featureProbe: index.featureProbeCapability,
2112
+ flood: index.floodCapability,
2113
+ gas: index.gasCapability,
2114
+ humidifier: index.humidifierCapability,
2115
+ humiditySensor: index.humiditySensorCapability,
2116
+ image: index.imageCapability,
2117
+ lawnMowerControl: index.lawnMowerControlCapability,
2118
+ lockControl: index.lockControlCapability,
2119
+ mediaPlayer: index.mediaPlayerCapability,
1947
2120
  motion: index.motionCapability,
1948
2121
  motionTrigger: index.motionTriggerCapability,
1949
2122
  motionZones: index.motionZonesCapability,
1950
2123
  nativeObjectDetection: index.nativeObjectDetectionCapability,
2124
+ notifier: index.notifierCapability,
2125
+ numericSensor: index.numericSensorCapability,
2126
+ powerMeter: index.powerMeterCapability,
2127
+ presence: index.presenceCapability,
2128
+ pressureSensor: index.pressureSensorCapability,
1951
2129
  privacyMask: index.privacyMaskCapability,
1952
2130
  ptzAutotrack: index.ptzAutotrackCapability,
2131
+ scriptRunner: index.scriptRunnerCapability,
2132
+ smoke: index.smokeCapability,
1953
2133
  streamParams: index.streamParamsCapability,
1954
2134
  switch: index.switchCapability,
2135
+ tamper: index.tamperCapability,
2136
+ temperatureSensor: index.temperatureSensorCapability,
2137
+ update: index.updateCapability,
2138
+ vacuumControl: index.vacuumControlCapability,
2139
+ valve: index.valveCapability,
2140
+ vibration: index.vibrationCapability,
2141
+ waterHeater: index.waterHeaterCapability,
2142
+ weather: index.weatherCapability,
1955
2143
  zoneAnalytics: index.zoneAnalyticsCapability,
1956
2144
  zoneRules: index.zoneRulesCapability,
1957
2145
  zones: index.zonesCapability
@@ -2055,6 +2243,16 @@ class BaseDevice {
2055
2243
  * `kernel.devices.setDisabled(id, value)`.
2056
2244
  */
2057
2245
  disabled;
2246
+ /**
2247
+ * Cached materialised `SourceInfo` — either the value persisted under
2248
+ * `metadata.sourceInfo` at construction time, or a synthetic
2249
+ * `{ id: stableId, system: addonId }` for providers that haven't
2250
+ * migrated yet. Lazily populated on first `sourceInfo` read so the
2251
+ * cost of Zod-parsing the meta blob is paid once per device boot.
2252
+ * Invalidated by `updateSourceInfo()` so providers see the new value
2253
+ * back through the getter without a re-fetch from the meta surface.
2254
+ */
2255
+ _sourceInfoCache = null;
2058
2256
  constructor(ctx, schema, options) {
2059
2257
  this.ctx = ctx;
2060
2258
  this.id = ctx.id;
@@ -2095,7 +2293,7 @@ class BaseDevice {
2095
2293
  this.runtimeState = DeviceRuntimeState.fromInitial(initial, writer);
2096
2294
  ctx.bindRuntimeState?.(this.runtimeState);
2097
2295
  ctx.registerNativeCap?.(index.deviceStatusCapability, {});
2098
- const seed = { online: false, lastChangedAt: Date.now() };
2296
+ const seed = { online: true, lastChangedAt: Date.now() };
2099
2297
  this.runtimeState.setCapState("device-status", seed);
2100
2298
  ctx.registerNativeCap?.(index.featureProbeCapability, {});
2101
2299
  const probeSeed = {
@@ -2108,6 +2306,21 @@ class BaseDevice {
2108
2306
  };
2109
2307
  this.runtimeState.setCapState("feature-probe", probeSeed);
2110
2308
  }
2309
+ deviceActions = /* @__PURE__ */ new Map();
2310
+ /** Declare a device custom action + its typed handler. Idempotent per name. */
2311
+ registerDeviceAction(name, spec, handler) {
2312
+ this.deviceActions.set(name, {
2313
+ spec,
2314
+ handler
2315
+ });
2316
+ }
2317
+ /** Invoke a registered device action. Validates input against the spec. */
2318
+ async runDeviceAction(action, input) {
2319
+ const entry = this.deviceActions.get(action);
2320
+ if (!entry) throw new Error(`unknown device action "${action}" on device ${this.id}`);
2321
+ const parsed = entry.spec.input.parse(input);
2322
+ return entry.handler(parsed);
2323
+ }
2111
2324
  async removeDevice() {
2112
2325
  }
2113
2326
  /**
@@ -2124,6 +2337,71 @@ class BaseDevice {
2124
2337
  const next = { online, lastChangedAt: Date.now() };
2125
2338
  this.runtimeState.setCapState("device-status", next);
2126
2339
  }
2340
+ /**
2341
+ * Upstream-system identity + rendering envelope for this device. See
2342
+ * `SourceInfo` for the field contract. Always returns a valid object:
2343
+ * if the persisted `metadata.sourceInfo` blob is absent or fails Zod
2344
+ * validation, falls back to a synthetic `{ id: stableId, system: addonId }`
2345
+ * so providers that haven't migrated keep working without code changes.
2346
+ *
2347
+ * The value is cached after the first read. `updateSourceInfo()`
2348
+ * invalidates the cache so subsequent reads see the new patch. The
2349
+ * returned object is frozen to prevent accidental in-place mutation —
2350
+ * use `updateSourceInfo({ patch })` to change fields.
2351
+ */
2352
+ get sourceInfo() {
2353
+ if (this._sourceInfoCache) return this._sourceInfoCache;
2354
+ const fromMeta = index.extractSourceInfoFromMetadata(this.ctx.deviceMeta.metadata);
2355
+ const resolved = fromMeta ?? index.synthesizeSourceInfo({
2356
+ stableId: this.stableId,
2357
+ addonId: this.ctx.deviceMeta.addonId
2358
+ });
2359
+ this._sourceInfoCache = Object.freeze({ ...resolved });
2360
+ return this._sourceInfoCache;
2361
+ }
2362
+ /**
2363
+ * Convenience accessor for the upstream dispatch key. Equivalent to
2364
+ * `this.sourceInfo.id` — providers use this to keep a
2365
+ * `Map<sourceId, IDevice>` for routing inbound push events.
2366
+ */
2367
+ get sourceId() {
2368
+ return this.sourceInfo.id;
2369
+ }
2370
+ /**
2371
+ * Patch the device's `SourceInfo`. Shallow-merges `patch` over the
2372
+ * current value, persists the merged result under
2373
+ * `metadata.sourceInfo` via the `device-manager.setMetadata` cap, and
2374
+ * emits `EventCategory.DeviceSourceInfoChanged` for live consumers.
2375
+ *
2376
+ * Safe to call from anywhere in the device's lifetime — the call is
2377
+ * idempotent for `undefined` patch values (ignored) and best-effort
2378
+ * for persistence (a transient device-manager error doesn't unwind
2379
+ * the local cache update, so subsequent reads still see the patch).
2380
+ *
2381
+ * Drivers populate this on adoption + on every metadata change push
2382
+ * from the upstream source. Subscribers (UI, export adapters) react
2383
+ * via the `DeviceSourceInfoChanged` event without polling.
2384
+ */
2385
+ async updateSourceInfo(patch) {
2386
+ const next = index.mergeSourceInfo(this.sourceInfo, patch);
2387
+ this._sourceInfoCache = Object.freeze({ ...next });
2388
+ const api = this.ctx.api;
2389
+ const action = api?.deviceManager?.setMetadata;
2390
+ if (action) {
2391
+ try {
2392
+ await action.mutate({
2393
+ deviceId: this.id,
2394
+ patch: { [index.SOURCE_INFO_METADATA_KEY]: next }
2395
+ });
2396
+ } catch {
2397
+ }
2398
+ }
2399
+ this.ctx.eventBus.emit(createEvent(
2400
+ "device.source-info-changed",
2401
+ { type: "device", id: this.stableId },
2402
+ { deviceId: this.id, sourceInfo: next }
2403
+ ));
2404
+ }
2127
2405
  /**
2128
2406
  * Re-publish the device's current `features` array to the persisted
2129
2407
  * meta blob. Drivers call this after a probe finishes when the live
@@ -2374,7 +2652,13 @@ function toDeviceSummary(device, addonId) {
2374
2652
  parentDeviceId: device.parentDeviceId,
2375
2653
  online: device.online,
2376
2654
  features: [...device.features],
2377
- config
2655
+ config,
2656
+ // BaseDevice always resolves sourceInfo (synthetic or persisted).
2657
+ // `IDevice` doesn't declare the field — providers that override
2658
+ // `IDevice` outside the BaseDevice hierarchy stay backwards-
2659
+ // compatible. Read through a structural check so non-BaseDevice
2660
+ // implementations don't blow up.
2661
+ sourceInfo: device.sourceInfo
2378
2662
  };
2379
2663
  }
2380
2664
  class BaseDeviceProvider extends BaseAddon {
@@ -2683,6 +2967,80 @@ function getZodDefault(schema) {
2683
2967
  function humanizeKey(key) {
2684
2968
  return key.replace(/([A-Z])/g, " $1").replace(/[_-]/g, " ").replace(/^\w/, (c) => c.toUpperCase()).trim();
2685
2969
  }
2970
+ function isRecord(x) {
2971
+ return x !== null && typeof x === "object" && !Array.isArray(x);
2972
+ }
2973
+ function getByPath(obj, path) {
2974
+ const parts = path.split(".");
2975
+ let cur = obj;
2976
+ for (const part of parts) {
2977
+ if (!isRecord(cur)) return void 0;
2978
+ cur = cur[part];
2979
+ }
2980
+ return cur;
2981
+ }
2982
+ function setByPath(obj, path, value) {
2983
+ const dotIndex = path.indexOf(".");
2984
+ if (dotIndex === -1) {
2985
+ return { ...obj, [path]: value };
2986
+ }
2987
+ const head = path.slice(0, dotIndex);
2988
+ const tail = path.slice(dotIndex + 1);
2989
+ const child = obj[head];
2990
+ const childObj = isRecord(child) ? child : {};
2991
+ return { ...obj, [head]: setByPath(childObj, tail, value) };
2992
+ }
2993
+ function applyTransform(value, transform) {
2994
+ if (!transform || transform.kind === "identity") return value;
2995
+ if (transform.kind === "enum-map") {
2996
+ const key = String(value);
2997
+ if (Object.prototype.hasOwnProperty.call(transform.mapping, key)) return transform.mapping[key];
2998
+ return transform.fallback ?? null;
2999
+ }
3000
+ if (transform.kind === "linear") {
3001
+ if (typeof value !== "number" || Number.isNaN(value)) return null;
3002
+ let out = value * transform.scale + transform.offset;
3003
+ if (transform.clamp) {
3004
+ const min = transform.clamp[0];
3005
+ const max = transform.clamp[1];
3006
+ out = Math.min(max, Math.max(min, out));
3007
+ }
3008
+ return out;
3009
+ }
3010
+ return value;
3011
+ }
3012
+ function unwrap(schema) {
3013
+ let s = schema;
3014
+ while (s instanceof zod.z.ZodNullable || s instanceof zod.z.ZodOptional || s instanceof zod.z.ZodDefault) {
3015
+ s = s.unwrap();
3016
+ }
3017
+ return s;
3018
+ }
3019
+ function leafKind(schema) {
3020
+ const s = unwrap(schema);
3021
+ if (s instanceof zod.z.ZodEnum) return { kind: "enum", enumValues: s.options };
3022
+ if (s instanceof zod.z.ZodNumber) return { kind: "number" };
3023
+ if (s instanceof zod.z.ZodString) return { kind: "string" };
3024
+ if (s instanceof zod.z.ZodBoolean) return { kind: "boolean" };
3025
+ return null;
3026
+ }
3027
+ function enumerateSchemaFields(schema, prefix = "") {
3028
+ const root = unwrap(schema);
3029
+ if (!(root instanceof zod.z.ZodObject)) return [];
3030
+ const out = [];
3031
+ const shape = root.shape;
3032
+ for (const [key, field] of Object.entries(shape)) {
3033
+ const path = prefix ? `${prefix}.${key}` : key;
3034
+ const inner = unwrap(field);
3035
+ if (inner instanceof zod.z.ZodObject) {
3036
+ out.push(...enumerateSchemaFields(inner, path));
3037
+ continue;
3038
+ }
3039
+ const leaf = leafKind(field);
3040
+ if (leaf) out.push({ path, kind: leaf.kind, ...leaf.enumValues ? { enumValues: leaf.enumValues } : {} });
3041
+ }
3042
+ return out;
3043
+ }
2686
3044
  const DEVICE_STATE_EVENT_CATEGORY = "device.state-changed";
2687
3045
  function createLazyTrpcSource(api) {
2688
3046
  const cache = /* @__PURE__ */ new Map();
@@ -2846,8 +3204,21 @@ function createDeviceProxy(api, binding, opts) {
2846
3204
  return callLeaf(capProp, method, kind, mergeInput(input, void 0), push);
2847
3205
  }
2848
3206
  const accessoriesInterface = {
3207
+ setChildHidden: (input) => dispatch("accessories", "accessories", "setChildHidden", "mutation", input),
2849
3208
  getStatus: (input) => dispatch("accessories", "accessories", "getStatus", "query", input)
2850
3209
  };
3210
+ const airQualitySensorInterface = {
3211
+ getStatus: (input) => dispatch("air-quality-sensor", "airQualitySensor", "getStatus", "query", input)
3212
+ };
3213
+ const alarmPanelInterface = {
3214
+ arm: (input) => dispatch("alarm-panel", "alarmPanel", "arm", "mutation", input),
3215
+ disarm: (input) => dispatch("alarm-panel", "alarmPanel", "disarm", "mutation", input),
3216
+ trigger: (input) => dispatch("alarm-panel", "alarmPanel", "trigger", "mutation", input),
3217
+ getStatus: (input) => dispatch("alarm-panel", "alarmPanel", "getStatus", "query", input)
3218
+ };
3219
+ const ambientLightSensorInterface = {
3220
+ getStatus: (input) => dispatch("ambient-light-sensor", "ambientLightSensor", "getStatus", "query", input)
3221
+ };
2851
3222
  const audioAnalysisInterface = {
2852
3223
  resolveDeviceSettings: (input) => dispatch("audio-analysis", "audioAnalysis", "resolveDeviceSettings", "query", input),
2853
3224
  getDeviceSettingsContribution: (input) => dispatch("audio-analysis", "audioAnalysis", "getDeviceSettingsContribution", "query", input),
@@ -2858,13 +3229,26 @@ function createDeviceProxy(api, binding, opts) {
2858
3229
  getCurrentSnapshot: (input) => dispatch("audio-metrics", "audioMetrics", "getCurrentSnapshot", "query", input),
2859
3230
  getHistory: (input) => dispatch("audio-metrics", "audioMetrics", "getHistory", "query", input)
2860
3231
  };
3232
+ const automationControlInterface = {
3233
+ enable: (input) => dispatch("automation-control", "automationControl", "enable", "mutation", input),
3234
+ disable: (input) => dispatch("automation-control", "automationControl", "disable", "mutation", input),
3235
+ trigger: (input) => dispatch("automation-control", "automationControl", "trigger", "mutation", input),
3236
+ getStatus: (input) => dispatch("automation-control", "automationControl", "getStatus", "query", input)
3237
+ };
2861
3238
  const batteryInterface = {
3239
+ wakeForStream: (input) => dispatch("battery", "battery", "wakeForStream", "mutation", input),
2862
3240
  getStatus: (input) => dispatch("battery", "battery", "getStatus", "query", input)
2863
3241
  };
3242
+ const binaryInterface = {
3243
+ getStatus: (input) => dispatch("binary", "binary", "getStatus", "query", input)
3244
+ };
2864
3245
  const brightnessInterface = {
2865
3246
  setBrightness: (input) => dispatch("brightness", "brightness", "setBrightness", "mutation", input),
2866
3247
  getStatus: (input) => dispatch("brightness", "brightness", "getStatus", "query", input)
2867
3248
  };
3249
+ const buttonInterface = {
3250
+ press: (input) => dispatch("button", "button", "press", "mutation", input)
3251
+ };
2868
3252
  const cameraCredentialsInterface = {
2869
3253
  getCredentials: (input) => dispatch("camera-credentials", "cameraCredentials", "getCredentials", "query", input),
2870
3254
  getStatus: (input) => dispatch("camera-credentials", "cameraCredentials", "getStatus", "query", input)
@@ -2872,7 +3256,47 @@ function createDeviceProxy(api, binding, opts) {
2872
3256
  const cameraStreamsInterface = {
2873
3257
  getCameraStreams: (input) => dispatch("camera-streams", "cameraStreams", "getCameraStreams", "query", input),
2874
3258
  getBrokerStreams: (input) => dispatch("camera-streams", "cameraStreams", "getBrokerStreams", "query", input),
2875
- getRtspEntries: (input) => dispatch("camera-streams", "cameraStreams", "getRtspEntries", "query", input)
3259
+ getRtspEntries: (input) => dispatch("camera-streams", "cameraStreams", "getRtspEntries", "query", input),
3260
+ getProfileRtspEntries: (input) => dispatch("camera-streams", "cameraStreams", "getProfileRtspEntries", "query", input),
3261
+ pickStream: (input) => dispatch("camera-streams", "cameraStreams", "pickStream", "query", input)
3262
+ };
3263
+ const carbonMonoxideInterface = {
3264
+ getStatus: (input) => dispatch("carbon-monoxide", "carbonMonoxide", "getStatus", "query", input)
3265
+ };
3266
+ const climateControlInterface = {
3267
+ setMode: (input) => dispatch("climate-control", "climateControl", "setMode", "mutation", input),
3268
+ setFanMode: (input) => dispatch("climate-control", "climateControl", "setFanMode", "mutation", input),
3269
+ setPreset: (input) => dispatch("climate-control", "climateControl", "setPreset", "mutation", input),
3270
+ setTarget: (input) => dispatch("climate-control", "climateControl", "setTarget", "mutation", input),
3271
+ setTargetRange: (input) => dispatch("climate-control", "climateControl", "setTargetRange", "mutation", input),
3272
+ setTargetHumidity: (input) => dispatch("climate-control", "climateControl", "setTargetHumidity", "mutation", input),
3273
+ getStatus: (input) => dispatch("climate-control", "climateControl", "getStatus", "query", input)
3274
+ };
3275
+ const colorInterface = {
3276
+ setColor: (input) => dispatch("color", "color", "setColor", "mutation", input),
3277
+ getStatus: (input) => dispatch("color", "color", "getStatus", "query", input)
3278
+ };
3279
+ const connectivityInterface = {
3280
+ getStatus: (input) => dispatch("connectivity", "connectivity", "getStatus", "query", input)
3281
+ };
3282
+ const consumablesInterface = {
3283
+ reset: (input) => dispatch("consumables", "consumables", "reset", "mutation", input),
3284
+ getStatus: (input) => dispatch("consumables", "consumables", "getStatus", "query", input)
3285
+ };
3286
+ const contactInterface = {
3287
+ getStatus: (input) => dispatch("contact", "contact", "getStatus", "query", input)
3288
+ };
3289
+ const controlInterface = {
3290
+ setValue: (input) => dispatch("control", "control", "setValue", "mutation", input),
3291
+ getStatus: (input) => dispatch("control", "control", "getStatus", "query", input)
3292
+ };
3293
+ const coverInterface = {
3294
+ open: (input) => dispatch("cover", "cover", "open", "mutation", input),
3295
+ close: (input) => dispatch("cover", "cover", "close", "mutation", input),
3296
+ stop: (input) => dispatch("cover", "cover", "stop", "mutation", input),
3297
+ setPosition: (input) => dispatch("cover", "cover", "setPosition", "mutation", input),
3298
+ setTiltPosition: (input) => dispatch("cover", "cover", "setTiltPosition", "mutation", input),
3299
+ getStatus: (input) => dispatch("cover", "cover", "getStatus", "query", input)
2876
3300
  };
2877
3301
  const detectionPipelineInterface = {
2878
3302
  getDeviceSettingsContribution: (input) => dispatch("detection-pipeline", "detectionPipeline", "getDeviceSettingsContribution", "query", input),
@@ -2890,8 +3314,10 @@ function createDeviceProxy(api, binding, opts) {
2890
3314
  getStreamSources: (input) => dispatch("device-ops", "deviceOps", "getStreamSources", "query", input),
2891
3315
  getConfigEntries: (input) => dispatch("device-ops", "deviceOps", "getConfigEntries", "query", input),
2892
3316
  setConfig: (input) => dispatch("device-ops", "deviceOps", "setConfig", "mutation", input),
3317
+ runAction: (input) => dispatch("device-ops", "deviceOps", "runAction", "mutation", input),
2893
3318
  removeDevice: (input) => dispatch("device-ops", "deviceOps", "removeDevice", "mutation", input),
2894
- getSettingsSchema: (input) => dispatch("device-ops", "deviceOps", "getSettingsSchema", "query", input)
3319
+ getSettingsSchema: (input) => dispatch("device-ops", "deviceOps", "getSettingsSchema", "query", input),
3320
+ getRawState: (input) => dispatch("device-ops", "deviceOps", "getRawState", "query", input)
2895
3321
  };
2896
3322
  const deviceStatusInterface = {
2897
3323
  getStatus: (input) => dispatch("device-status", "deviceStatus", "getStatus", "query", input)
@@ -2899,23 +3325,81 @@ function createDeviceProxy(api, binding, opts) {
2899
3325
  const doorbellInterface = {
2900
3326
  getStatus: (input) => dispatch("doorbell", "doorbell", "getStatus", "query", input)
2901
3327
  };
3328
+ const enumSensorInterface = {
3329
+ getStatus: (input) => dispatch("enum-sensor", "enumSensor", "getStatus", "query", input)
3330
+ };
3331
+ const eventEmitterInterface = {
3332
+ getStatus: (input) => dispatch("event-emitter", "eventEmitter", "getStatus", "query", input)
3333
+ };
2902
3334
  const eventsInterface = {
2903
3335
  getEvents: (input) => dispatch("events", "events", "getEvents", "query", input),
2904
3336
  getEventThumbnail: (input) => dispatch("events", "events", "getEventThumbnail", "query", input),
2905
3337
  getEventClipUrl: (input) => dispatch("events", "events", "getEventClipUrl", "query", input)
2906
3338
  };
3339
+ const fanControlInterface = {
3340
+ setPercentage: (input) => dispatch("fan-control", "fanControl", "setPercentage", "mutation", input),
3341
+ setPreset: (input) => dispatch("fan-control", "fanControl", "setPreset", "mutation", input),
3342
+ setDirection: (input) => dispatch("fan-control", "fanControl", "setDirection", "mutation", input),
3343
+ setOscillating: (input) => dispatch("fan-control", "fanControl", "setOscillating", "mutation", input),
3344
+ getStatus: (input) => dispatch("fan-control", "fanControl", "getStatus", "query", input)
3345
+ };
2907
3346
  const featureProbeInterface = {
2908
3347
  getStatus: (input) => dispatch("feature-probe", "featureProbe", "getStatus", "query", input)
2909
3348
  };
3349
+ const floodInterface = {
3350
+ getStatus: (input) => dispatch("flood", "flood", "getStatus", "query", input)
3351
+ };
3352
+ const gasInterface = {
3353
+ getStatus: (input) => dispatch("gas", "gas", "getStatus", "query", input)
3354
+ };
3355
+ const humidifierInterface = {
3356
+ setOn: (input) => dispatch("humidifier", "humidifier", "setOn", "mutation", input),
3357
+ setTargetHumidity: (input) => dispatch("humidifier", "humidifier", "setTargetHumidity", "mutation", input),
3358
+ setMode: (input) => dispatch("humidifier", "humidifier", "setMode", "mutation", input),
3359
+ getStatus: (input) => dispatch("humidifier", "humidifier", "getStatus", "query", input)
3360
+ };
3361
+ const humiditySensorInterface = {
3362
+ getStatus: (input) => dispatch("humidity-sensor", "humiditySensor", "getStatus", "query", input)
3363
+ };
3364
+ const imageInterface = {
3365
+ getStatus: (input) => dispatch("image", "image", "getStatus", "query", input)
3366
+ };
2910
3367
  const intercomInterface = {
2911
3368
  startSession: (input) => dispatch("intercom", "intercom", "startSession", "mutation", input),
2912
3369
  handleAnswer: (input) => dispatch("intercom", "intercom", "handleAnswer", "mutation", input),
2913
3370
  stopSession: (input) => dispatch("intercom", "intercom", "stopSession", "mutation", input),
2914
3371
  startTalkSession: (input) => dispatch("intercom", "intercom", "startTalkSession", "mutation", input),
2915
- pushTalkPcm: (input) => dispatch("intercom", "intercom", "pushTalkPcm", "mutation", input),
3372
+ pushTalkAudio: (input) => dispatch("intercom", "intercom", "pushTalkAudio", "mutation", input),
2916
3373
  endTalkSession: (input) => dispatch("intercom", "intercom", "endTalkSession", "mutation", input),
2917
3374
  getStatus: (input) => dispatch("intercom", "intercom", "getStatus", "query", input)
2918
3375
  };
3376
+ const lawnMowerControlInterface = {
3377
+ startMowing: (input) => dispatch("lawn-mower-control", "lawnMowerControl", "startMowing", "mutation", input),
3378
+ pause: (input) => dispatch("lawn-mower-control", "lawnMowerControl", "pause", "mutation", input),
3379
+ dock: (input) => dispatch("lawn-mower-control", "lawnMowerControl", "dock", "mutation", input),
3380
+ getStatus: (input) => dispatch("lawn-mower-control", "lawnMowerControl", "getStatus", "query", input)
3381
+ };
3382
+ const lockControlInterface = {
3383
+ lock: (input) => dispatch("lock-control", "lockControl", "lock", "mutation", input),
3384
+ unlock: (input) => dispatch("lock-control", "lockControl", "unlock", "mutation", input),
3385
+ open: (input) => dispatch("lock-control", "lockControl", "open", "mutation", input),
3386
+ getStatus: (input) => dispatch("lock-control", "lockControl", "getStatus", "query", input)
3387
+ };
3388
+ const mediaPlayerInterface = {
3389
+ play: (input) => dispatch("media-player", "mediaPlayer", "play", "mutation", input),
3390
+ pause: (input) => dispatch("media-player", "mediaPlayer", "pause", "mutation", input),
3391
+ stop: (input) => dispatch("media-player", "mediaPlayer", "stop", "mutation", input),
3392
+ next: (input) => dispatch("media-player", "mediaPlayer", "next", "mutation", input),
3393
+ previous: (input) => dispatch("media-player", "mediaPlayer", "previous", "mutation", input),
3394
+ seek: (input) => dispatch("media-player", "mediaPlayer", "seek", "mutation", input),
3395
+ setVolume: (input) => dispatch("media-player", "mediaPlayer", "setVolume", "mutation", input),
3396
+ setMute: (input) => dispatch("media-player", "mediaPlayer", "setMute", "mutation", input),
3397
+ setShuffle: (input) => dispatch("media-player", "mediaPlayer", "setShuffle", "mutation", input),
3398
+ setRepeat: (input) => dispatch("media-player", "mediaPlayer", "setRepeat", "mutation", input),
3399
+ selectSource: (input) => dispatch("media-player", "mediaPlayer", "selectSource", "mutation", input),
3400
+ playMedia: (input) => dispatch("media-player", "mediaPlayer", "playMedia", "mutation", input),
3401
+ getStatus: (input) => dispatch("media-player", "mediaPlayer", "getStatus", "query", input)
3402
+ };
2919
3403
  const motionInterface = {
2920
3404
  isDetected: (input) => dispatch("motion", "motion", "isDetected", "query", input),
2921
3405
  getStatus: (input) => dispatch("motion", "motion", "getStatus", "query", input)
@@ -2941,6 +3425,14 @@ function createDeviceProxy(api, binding, opts) {
2941
3425
  setEnabled: (input) => dispatch("native-object-detection", "nativeObjectDetection", "setEnabled", "mutation", input),
2942
3426
  getStatus: (input) => dispatch("native-object-detection", "nativeObjectDetection", "getStatus", "query", input)
2943
3427
  };
3428
+ const notifierInterface = {
3429
+ send: (input) => dispatch("notifier", "notifier", "send", "mutation", input),
3430
+ cancel: (input) => dispatch("notifier", "notifier", "cancel", "mutation", input),
3431
+ getStatus: (input) => dispatch("notifier", "notifier", "getStatus", "query", input)
3432
+ };
3433
+ const numericSensorInterface = {
3434
+ getStatus: (input) => dispatch("numeric-sensor", "numericSensor", "getStatus", "query", input)
3435
+ };
2944
3436
  const osdInterface = {
2945
3437
  setOverlay: (input) => dispatch("osd", "osd", "setOverlay", "mutation", input),
2946
3438
  getStatus: (input) => dispatch("osd", "osd", "getStatus", "query", input)
@@ -2953,12 +3445,23 @@ function createDeviceProxy(api, binding, opts) {
2953
3445
  getMotionEvents: (input) => dispatch("pipeline-analytics", "pipelineAnalytics", "getMotionEvents", "query", input),
2954
3446
  getObjectEvents: (input) => dispatch("pipeline-analytics", "pipelineAnalytics", "getObjectEvents", "query", input),
2955
3447
  getAudioEvents: (input) => dispatch("pipeline-analytics", "pipelineAnalytics", "getAudioEvents", "query", input),
3448
+ getEventDensity: (input) => dispatch("pipeline-analytics", "pipelineAnalytics", "getEventDensity", "query", input),
3449
+ pruneEventsBefore: (input) => dispatch("pipeline-analytics", "pipelineAnalytics", "pruneEventsBefore", "mutation", input),
2956
3450
  getEventMedia: (input) => dispatch("pipeline-analytics", "pipelineAnalytics", "getEventMedia", "query", input),
2957
3451
  getTrackMedia: (input) => dispatch("pipeline-analytics", "pipelineAnalytics", "getTrackMedia", "query", input),
2958
3452
  getDeviceSettingsContribution: (input) => dispatch("pipeline-analytics", "pipelineAnalytics", "getDeviceSettingsContribution", "query", input),
2959
3453
  getDeviceLiveContribution: (input) => dispatch("pipeline-analytics", "pipelineAnalytics", "getDeviceLiveContribution", "query", input),
2960
3454
  applyDeviceSettingsPatch: (input) => dispatch("pipeline-analytics", "pipelineAnalytics", "applyDeviceSettingsPatch", "mutation", input)
2961
3455
  };
3456
+ const powerMeterInterface = {
3457
+ getStatus: (input) => dispatch("power-meter", "powerMeter", "getStatus", "query", input)
3458
+ };
3459
+ const presenceInterface = {
3460
+ getStatus: (input) => dispatch("presence", "presence", "getStatus", "query", input)
3461
+ };
3462
+ const pressureSensorInterface = {
3463
+ getStatus: (input) => dispatch("pressure-sensor", "pressureSensor", "getStatus", "query", input)
3464
+ };
2962
3465
  const privacyMaskInterface = {
2963
3466
  getOptions: (input) => dispatch("privacy-mask", "privacyMask", "getOptions", "query", input),
2964
3467
  setMask: (input) => dispatch("privacy-mask", "privacyMask", "setMask", "mutation", input),
@@ -2987,10 +3490,13 @@ function createDeviceProxy(api, binding, opts) {
2987
3490
  const rebootInterface = {
2988
3491
  reboot: (input) => dispatch("reboot", "reboot", "reboot", "mutation", input)
2989
3492
  };
2990
- const recordingInterface = {
2991
- getSegments: (input) => dispatch("recording", "recording", "getSegments", "query", input),
2992
- getPlaybackUrl: (input) => dispatch("recording", "recording", "getPlaybackUrl", "query", input),
2993
- getThumbnailAt: (input) => dispatch("recording", "recording", "getThumbnailAt", "query", input)
3493
+ const scriptRunnerInterface = {
3494
+ run: (input) => dispatch("script-runner", "scriptRunner", "run", "mutation", input),
3495
+ stop: (input) => dispatch("script-runner", "scriptRunner", "stop", "mutation", input),
3496
+ getStatus: (input) => dispatch("script-runner", "scriptRunner", "getStatus", "query", input)
3497
+ };
3498
+ const smokeInterface = {
3499
+ getStatus: (input) => dispatch("smoke", "smoke", "getStatus", "query", input)
2994
3500
  };
2995
3501
  const snapshotInterface = {
2996
3502
  getSnapshot: (input) => dispatch("snapshot", "snapshot", "getSnapshot", "query", input),
@@ -3013,6 +3519,44 @@ function createDeviceProxy(api, binding, opts) {
3013
3519
  setState: (input) => dispatch("switch", "switch", "setState", "mutation", input),
3014
3520
  getStatus: (input) => dispatch("switch", "switch", "getStatus", "query", input)
3015
3521
  };
3522
+ const tamperInterface = {
3523
+ getStatus: (input) => dispatch("tamper", "tamper", "getStatus", "query", input)
3524
+ };
3525
+ const temperatureSensorInterface = {
3526
+ getStatus: (input) => dispatch("temperature-sensor", "temperatureSensor", "getStatus", "query", input)
3527
+ };
3528
+ const updateInterface = {
3529
+ installUpdate: (input) => dispatch("update", "update", "installUpdate", "mutation", input),
3530
+ getStatus: (input) => dispatch("update", "update", "getStatus", "query", input)
3531
+ };
3532
+ const vacuumControlInterface = {
3533
+ start: (input) => dispatch("vacuum-control", "vacuumControl", "start", "mutation", input),
3534
+ pause: (input) => dispatch("vacuum-control", "vacuumControl", "pause", "mutation", input),
3535
+ stop: (input) => dispatch("vacuum-control", "vacuumControl", "stop", "mutation", input),
3536
+ returnToBase: (input) => dispatch("vacuum-control", "vacuumControl", "returnToBase", "mutation", input),
3537
+ locate: (input) => dispatch("vacuum-control", "vacuumControl", "locate", "mutation", input),
3538
+ setFanSpeed: (input) => dispatch("vacuum-control", "vacuumControl", "setFanSpeed", "mutation", input),
3539
+ getStatus: (input) => dispatch("vacuum-control", "vacuumControl", "getStatus", "query", input)
3540
+ };
3541
+ const valveInterface = {
3542
+ open: (input) => dispatch("valve", "valve", "open", "mutation", input),
3543
+ close: (input) => dispatch("valve", "valve", "close", "mutation", input),
3544
+ stop: (input) => dispatch("valve", "valve", "stop", "mutation", input),
3545
+ setPosition: (input) => dispatch("valve", "valve", "setPosition", "mutation", input),
3546
+ getStatus: (input) => dispatch("valve", "valve", "getStatus", "query", input)
3547
+ };
3548
+ const vibrationInterface = {
3549
+ getStatus: (input) => dispatch("vibration", "vibration", "getStatus", "query", input)
3550
+ };
3551
+ const waterHeaterInterface = {
3552
+ setTargetTemp: (input) => dispatch("water-heater", "waterHeater", "setTargetTemp", "mutation", input),
3553
+ setOperationMode: (input) => dispatch("water-heater", "waterHeater", "setOperationMode", "mutation", input),
3554
+ setAway: (input) => dispatch("water-heater", "waterHeater", "setAway", "mutation", input),
3555
+ getStatus: (input) => dispatch("water-heater", "waterHeater", "getStatus", "query", input)
3556
+ };
3557
+ const weatherInterface = {
3558
+ getStatus: (input) => dispatch("weather", "weather", "getStatus", "query", input)
3559
+ };
3016
3560
  const webrtcSessionInterface = {
3017
3561
  listStreams: (input) => dispatch("webrtc-session", "webrtcSession", "listStreams", "query", input),
3018
3562
  createSession: (input) => dispatch("webrtc-session", "webrtcSession", "createSession", "mutation", input),
@@ -3021,7 +3565,8 @@ function createDeviceProxy(api, binding, opts) {
3021
3565
  addIceCandidate: (input) => dispatch("webrtc-session", "webrtcSession", "addIceCandidate", "mutation", input),
3022
3566
  getIceCandidates: (input) => dispatch("webrtc-session", "webrtcSession", "getIceCandidates", "query", input),
3023
3567
  closeSession: (input) => dispatch("webrtc-session", "webrtcSession", "closeSession", "mutation", input),
3024
- hasAdaptiveBitrate: (input) => dispatch("webrtc-session", "webrtcSession", "hasAdaptiveBitrate", "query", input)
3568
+ hasAdaptiveBitrate: (input) => dispatch("webrtc-session", "webrtcSession", "hasAdaptiveBitrate", "query", input),
3569
+ getSessionState: (input) => dispatch("webrtc-session", "webrtcSession", "getSessionState", "query", input)
3025
3570
  };
3026
3571
  const zoneAnalyticsInterface = {
3027
3572
  getCurrentSnapshot: (input) => dispatch("zone-analytics", "zoneAnalytics", "getCurrentSnapshot", "query", input),
@@ -3048,6 +3593,9 @@ function createDeviceProxy(api, binding, opts) {
3048
3593
  getDeviceLiveContribution: (input) => dispatchSystem("cameraPipelineConfig", "getDeviceLiveContribution", "query", input),
3049
3594
  applyDeviceSettingsPatch: (input) => dispatchSystem("cameraPipelineConfig", "applyDeviceSettingsPatch", "mutation", input)
3050
3595
  };
3596
+ const deviceAdoptionInterface = {
3597
+ getStatus: (input) => dispatchSystem("deviceAdoption", "getStatus", "query", input)
3598
+ };
3051
3599
  const deviceExportInterface = {
3052
3600
  getDeviceSettingsContribution: (input) => dispatchSystem("deviceExport", "getDeviceSettingsContribution", "query", input),
3053
3601
  getDeviceLiveContribution: (input) => dispatchSystem("deviceExport", "getDeviceLiveContribution", "query", input),
@@ -3059,6 +3607,15 @@ function createDeviceProxy(api, binding, opts) {
3059
3607
  loadMeta: (input) => dispatchSystem("deviceManager", "loadMeta", "query", input),
3060
3608
  setName: (input) => dispatchSystem("deviceManager", "setName", "mutation", input),
3061
3609
  setLocation: (input) => dispatchSystem("deviceManager", "setLocation", "mutation", input),
3610
+ setType: (input) => dispatchSystem("deviceManager", "setType", "mutation", input),
3611
+ setIntegrationId: (input) => dispatchSystem("deviceManager", "setIntegrationId", "mutation", input),
3612
+ setLinkDeviceId: (input) => dispatchSystem("deviceManager", "setLinkDeviceId", "mutation", input),
3613
+ setPrimaryChildEntityId: (input) => dispatchSystem("deviceManager", "setPrimaryChildEntityId", "mutation", input),
3614
+ setChildLayout: (input) => dispatchSystem("deviceManager", "setChildLayout", "mutation", input),
3615
+ setDeviceLinks: (input) => dispatchSystem("deviceManager", "setDeviceLinks", "mutation", input),
3616
+ getWireableFields: (input) => dispatchSystem("deviceManager", "getWireableFields", "query", input),
3617
+ setRole: (input) => dispatchSystem("deviceManager", "setRole", "mutation", input),
3618
+ applyInitialMeta: (input) => dispatchSystem("deviceManager", "applyInitialMeta", "mutation", input),
3062
3619
  setMetadata: (input) => dispatchSystem("deviceManager", "setMetadata", "mutation", input),
3063
3620
  setDisabled: (input) => dispatchSystem("deviceManager", "setDisabled", "mutation", input),
3064
3621
  getDevice: (input) => dispatchSystem("deviceManager", "getDevice", "query", input),
@@ -3078,6 +3635,7 @@ function createDeviceProxy(api, binding, opts) {
3078
3635
  getDeviceSettingsAggregate: (input) => dispatchSystem("deviceManager", "getDeviceSettingsAggregate", "query", input),
3079
3636
  getDeviceLiveInfoAggregate: (input) => dispatchSystem("deviceManager", "getDeviceLiveInfoAggregate", "query", input),
3080
3637
  getDeviceAggregate: (input) => dispatchSystem("deviceManager", "getDeviceAggregate", "query", input),
3638
+ runDeviceAction: (input) => dispatchSystem("deviceManager", "runDeviceAction", "mutation", input),
3081
3639
  updateDeviceField: (input) => dispatchSystem("deviceManager", "updateDeviceField", "mutation", input),
3082
3640
  updateDeviceFieldsBatch: (input) => dispatchSystem("deviceManager", "updateDeviceFieldsBatch", "mutation", input),
3083
3641
  testField: (input) => dispatchSystem("deviceManager", "testField", "mutation", input),
@@ -3122,8 +3680,17 @@ function createDeviceProxy(api, binding, opts) {
3122
3680
  detachCamera: (input) => dispatchSystem("pipelineRunner", "detachCamera", "mutation", input),
3123
3681
  getCameraMetrics: (input) => dispatchSystem("pipelineRunner", "getCameraMetrics", "query", input)
3124
3682
  };
3125
- const recordingEngineInterface = {
3126
- getPolicyStatus: (input) => dispatchSystem("recordingEngine", "getPolicyStatus", "query", input)
3683
+ const recordingInterface = {
3684
+ getAvailability: (input) => dispatchSystem("recording", "getAvailability", "query", input),
3685
+ getPlaybackManifest: (input) => dispatchSystem("recording", "getPlaybackManifest", "query", input),
3686
+ getDeviceConfig: (input) => dispatchSystem("recording", "getDeviceConfig", "query", input),
3687
+ setDeviceConfig: (input) => dispatchSystem("recording", "setDeviceConfig", "mutation", input),
3688
+ rescanStorage: (input) => dispatchSystem("recording", "rescanStorage", "mutation", input),
3689
+ pruneFootage: (input) => dispatchSystem("recording", "pruneFootage", "mutation", input),
3690
+ getStatus: (input) => dispatchSystem("recording", "getStatus", "query", input),
3691
+ getDeviceSettingsContribution: (input) => dispatchSystem("recording", "getDeviceSettingsContribution", "query", input),
3692
+ getDeviceLiveContribution: (input) => dispatchSystem("recording", "getDeviceLiveContribution", "query", input),
3693
+ applyDeviceSettingsPatch: (input) => dispatchSystem("recording", "applyDeviceSettingsPatch", "mutation", input)
3127
3694
  };
3128
3695
  const snapshotProviderInterface = {
3129
3696
  supportsDevice: (input) => dispatchSystem("snapshotProvider", "supportsDevice", "query", input),
@@ -3143,63 +3710,142 @@ function createDeviceProxy(api, binding, opts) {
3143
3710
  deviceId: binding.deviceId,
3144
3711
  binding,
3145
3712
  state: {
3713
+ airQualitySensor: createSliceHandle(stateSource, binding.deviceId, "air-quality-sensor"),
3714
+ alarmPanel: createSliceHandle(stateSource, binding.deviceId, "alarm-panel"),
3715
+ ambientLightSensor: createSliceHandle(stateSource, binding.deviceId, "ambient-light-sensor"),
3146
3716
  audioMetrics: createSliceHandle(stateSource, binding.deviceId, "audio-metrics"),
3717
+ automationControl: createSliceHandle(stateSource, binding.deviceId, "automation-control"),
3147
3718
  battery: createSliceHandle(stateSource, binding.deviceId, "battery"),
3719
+ binary: createSliceHandle(stateSource, binding.deviceId, "binary"),
3148
3720
  brightness: createSliceHandle(stateSource, binding.deviceId, "brightness"),
3149
3721
  cameraStreams: createSliceHandle(stateSource, binding.deviceId, "camera-streams"),
3722
+ carbonMonoxide: createSliceHandle(stateSource, binding.deviceId, "carbon-monoxide"),
3723
+ climateControl: createSliceHandle(stateSource, binding.deviceId, "climate-control"),
3724
+ color: createSliceHandle(stateSource, binding.deviceId, "color"),
3725
+ connectivity: createSliceHandle(stateSource, binding.deviceId, "connectivity"),
3726
+ consumables: createSliceHandle(stateSource, binding.deviceId, "consumables"),
3727
+ contact: createSliceHandle(stateSource, binding.deviceId, "contact"),
3728
+ control: createSliceHandle(stateSource, binding.deviceId, "control"),
3729
+ cover: createSliceHandle(stateSource, binding.deviceId, "cover"),
3150
3730
  deviceDiscovery: createSliceHandle(stateSource, binding.deviceId, "device-discovery"),
3151
3731
  deviceStatus: createSliceHandle(stateSource, binding.deviceId, "device-status"),
3152
3732
  doorbell: createSliceHandle(stateSource, binding.deviceId, "doorbell"),
3733
+ enumSensor: createSliceHandle(stateSource, binding.deviceId, "enum-sensor"),
3734
+ eventEmitter: createSliceHandle(stateSource, binding.deviceId, "event-emitter"),
3735
+ fanControl: createSliceHandle(stateSource, binding.deviceId, "fan-control"),
3153
3736
  featureProbe: createSliceHandle(stateSource, binding.deviceId, "feature-probe"),
3737
+ flood: createSliceHandle(stateSource, binding.deviceId, "flood"),
3738
+ gas: createSliceHandle(stateSource, binding.deviceId, "gas"),
3739
+ humidifier: createSliceHandle(stateSource, binding.deviceId, "humidifier"),
3740
+ humiditySensor: createSliceHandle(stateSource, binding.deviceId, "humidity-sensor"),
3741
+ image: createSliceHandle(stateSource, binding.deviceId, "image"),
3742
+ lawnMowerControl: createSliceHandle(stateSource, binding.deviceId, "lawn-mower-control"),
3743
+ lockControl: createSliceHandle(stateSource, binding.deviceId, "lock-control"),
3744
+ mediaPlayer: createSliceHandle(stateSource, binding.deviceId, "media-player"),
3154
3745
  motion: createSliceHandle(stateSource, binding.deviceId, "motion"),
3155
3746
  motionTrigger: createSliceHandle(stateSource, binding.deviceId, "motion-trigger"),
3156
3747
  motionZones: createSliceHandle(stateSource, binding.deviceId, "motion-zones"),
3157
3748
  nativeObjectDetection: createSliceHandle(stateSource, binding.deviceId, "native-object-detection"),
3749
+ notifier: createSliceHandle(stateSource, binding.deviceId, "notifier"),
3750
+ numericSensor: createSliceHandle(stateSource, binding.deviceId, "numeric-sensor"),
3751
+ powerMeter: createSliceHandle(stateSource, binding.deviceId, "power-meter"),
3752
+ presence: createSliceHandle(stateSource, binding.deviceId, "presence"),
3753
+ pressureSensor: createSliceHandle(stateSource, binding.deviceId, "pressure-sensor"),
3158
3754
  privacyMask: createSliceHandle(stateSource, binding.deviceId, "privacy-mask"),
3159
3755
  ptzAutotrack: createSliceHandle(stateSource, binding.deviceId, "ptz-autotrack"),
3756
+ scriptRunner: createSliceHandle(stateSource, binding.deviceId, "script-runner"),
3757
+ smoke: createSliceHandle(stateSource, binding.deviceId, "smoke"),
3160
3758
  streamParams: createSliceHandle(stateSource, binding.deviceId, "stream-params"),
3161
3759
  switch: createSliceHandle(stateSource, binding.deviceId, "switch"),
3760
+ tamper: createSliceHandle(stateSource, binding.deviceId, "tamper"),
3761
+ temperatureSensor: createSliceHandle(stateSource, binding.deviceId, "temperature-sensor"),
3762
+ update: createSliceHandle(stateSource, binding.deviceId, "update"),
3763
+ vacuumControl: createSliceHandle(stateSource, binding.deviceId, "vacuum-control"),
3764
+ valve: createSliceHandle(stateSource, binding.deviceId, "valve"),
3765
+ vibration: createSliceHandle(stateSource, binding.deviceId, "vibration"),
3766
+ waterHeater: createSliceHandle(stateSource, binding.deviceId, "water-heater"),
3767
+ weather: createSliceHandle(stateSource, binding.deviceId, "weather"),
3162
3768
  zoneAnalytics: createSliceHandle(stateSource, binding.deviceId, "zone-analytics"),
3163
3769
  zoneRules: createSliceHandle(stateSource, binding.deviceId, "zone-rules"),
3164
3770
  zones: createSliceHandle(stateSource, binding.deviceId, "zones")
3165
3771
  },
3166
3772
  accessories: accessoriesInterface,
3773
+ airQualitySensor: airQualitySensorInterface,
3774
+ alarmPanel: alarmPanelInterface,
3775
+ ambientLightSensor: ambientLightSensorInterface,
3167
3776
  audioAnalysis: audioAnalysisInterface,
3168
3777
  audioMetrics: audioMetricsInterface,
3778
+ automationControl: automationControlInterface,
3169
3779
  battery: batteryInterface,
3780
+ binary: binaryInterface,
3170
3781
  brightness: brightnessInterface,
3782
+ button: buttonInterface,
3171
3783
  cameraCredentials: cameraCredentialsInterface,
3172
3784
  cameraStreams: cameraStreamsInterface,
3785
+ carbonMonoxide: carbonMonoxideInterface,
3786
+ climateControl: climateControlInterface,
3787
+ color: colorInterface,
3788
+ connectivity: connectivityInterface,
3789
+ consumables: consumablesInterface,
3790
+ contact: contactInterface,
3791
+ control: controlInterface,
3792
+ cover: coverInterface,
3173
3793
  detectionPipeline: detectionPipelineInterface,
3174
3794
  deviceDiscovery: deviceDiscoveryInterface,
3175
3795
  deviceOps: deviceOpsInterface,
3176
3796
  deviceStatus: deviceStatusInterface,
3177
3797
  doorbell: doorbellInterface,
3798
+ enumSensor: enumSensorInterface,
3799
+ eventEmitter: eventEmitterInterface,
3178
3800
  events: eventsInterface,
3801
+ fanControl: fanControlInterface,
3179
3802
  featureProbe: featureProbeInterface,
3803
+ flood: floodInterface,
3804
+ gas: gasInterface,
3805
+ humidifier: humidifierInterface,
3806
+ humiditySensor: humiditySensorInterface,
3807
+ image: imageInterface,
3180
3808
  intercom: intercomInterface,
3809
+ lawnMowerControl: lawnMowerControlInterface,
3810
+ lockControl: lockControlInterface,
3811
+ mediaPlayer: mediaPlayerInterface,
3181
3812
  motion: motionInterface,
3182
3813
  motionDetection: motionDetectionInterface,
3183
3814
  motionTrigger: motionTriggerInterface,
3184
3815
  motionZones: motionZonesInterface,
3185
3816
  nativeObjectDetection: nativeObjectDetectionInterface,
3817
+ notifier: notifierInterface,
3818
+ numericSensor: numericSensorInterface,
3186
3819
  osd: osdInterface,
3187
3820
  pipelineAnalytics: pipelineAnalyticsInterface,
3821
+ powerMeter: powerMeterInterface,
3822
+ presence: presenceInterface,
3823
+ pressureSensor: pressureSensorInterface,
3188
3824
  privacyMask: privacyMaskInterface,
3189
3825
  ptz: ptzInterface,
3190
3826
  ptzAutotrack: ptzAutotrackInterface,
3191
3827
  reboot: rebootInterface,
3192
- recording: recordingInterface,
3828
+ scriptRunner: scriptRunnerInterface,
3829
+ smoke: smokeInterface,
3193
3830
  snapshot: snapshotInterface,
3194
3831
  streamCatalog: streamCatalogInterface,
3195
3832
  streamParams: streamParamsInterface,
3196
3833
  switch: switchInterface,
3834
+ tamper: tamperInterface,
3835
+ temperatureSensor: temperatureSensorInterface,
3836
+ update: updateInterface,
3837
+ vacuumControl: vacuumControlInterface,
3838
+ valve: valveInterface,
3839
+ vibration: vibrationInterface,
3840
+ waterHeater: waterHeaterInterface,
3841
+ weather: weatherInterface,
3197
3842
  webrtcSession: webrtcSessionInterface,
3198
3843
  zoneAnalytics: zoneAnalyticsInterface,
3199
3844
  zoneRules: zoneRulesInterface,
3200
3845
  zones: zonesInterface,
3201
3846
  addonSettings: addonSettingsInterface,
3202
3847
  cameraPipelineConfig: cameraPipelineConfigInterface,
3848
+ deviceAdoption: deviceAdoptionInterface,
3203
3849
  deviceExport: deviceExportInterface,
3204
3850
  deviceManager: deviceManagerInterface,
3205
3851
  deviceState: deviceStateInterface,
@@ -3207,7 +3853,7 @@ function createDeviceProxy(api, binding, opts) {
3207
3853
  pipelineExecutor: pipelineExecutorInterface,
3208
3854
  pipelineOrchestrator: pipelineOrchestratorInterface,
3209
3855
  pipelineRunner: pipelineRunnerInterface,
3210
- recordingEngine: recordingEngineInterface,
3856
+ recording: recordingInterface,
3211
3857
  snapshotProvider: snapshotProviderInterface,
3212
3858
  streamBroker: streamBrokerInterface
3213
3859
  };
@@ -3358,6 +4004,24 @@ function createSystemProxy(api) {
3358
4004
  upsertDestinationPolicy: (input) => dispatch("backup", "upsertDestinationPolicy", "mutation", input),
3359
4005
  previewSchedule: (input) => dispatch("backup", "previewSchedule", "query", input)
3360
4006
  };
4007
+ const brokerInterface = {
4008
+ list: (input) => dispatch("broker", "list", "query", input),
4009
+ get: (input) => dispatch("broker", "get", "query", input),
4010
+ listProviders: (input) => dispatch("broker", "listProviders", "query", input),
4011
+ add: (input) => dispatch("broker", "add", "mutation", input),
4012
+ remove: (input) => dispatch("broker", "remove", "mutation", input),
4013
+ testConnection: (input) => dispatch("broker", "testConnection", "mutation", input),
4014
+ getSettings: (input) => dispatch("broker", "getSettings", "query", input),
4015
+ setSettings: (input) => dispatch("broker", "setSettings", "mutation", input),
4016
+ getBrokerConfig: (input) => dispatch("broker", "getBrokerConfig", "query", input),
4017
+ getSettingsSchema: (input) => dispatch("broker", "getSettingsSchema", "query", input),
4018
+ testSettings: (input) => dispatch("broker", "testSettings", "mutation", input),
4019
+ publish: (input) => dispatch("broker", "publish", "mutation", input),
4020
+ subscribe: (input) => dispatch("broker", "subscribe", "mutation", input),
4021
+ unsubscribe: (input) => dispatch("broker", "unsubscribe", "mutation", input),
4022
+ getState: (input) => dispatch("broker", "getState", "query", input),
4023
+ getStatus: (input) => dispatch("broker", "getStatus", "query", input)
4024
+ };
3361
4025
  const decoderInterface = {
3362
4026
  supportsCodec: (input) => dispatch("decoder", "supportsCodec", "query", input),
3363
4027
  getInfo: (input) => dispatch("decoder", "getInfo", "query", input),
@@ -3374,6 +4038,15 @@ function createSystemProxy(api) {
3374
4038
  listActiveSessions: (input) => dispatch("decoder", "listActiveSessions", "query", input),
3375
4039
  reprobeHwaccel: (input) => dispatch("decoder", "reprobeHwaccel", "mutation", input)
3376
4040
  };
4041
+ const deviceAdoptionInterface = {
4042
+ listCandidateFilters: (input) => dispatch("deviceAdoption", "listCandidateFilters", "query", input),
4043
+ listCandidates: (input) => dispatch("deviceAdoption", "listCandidates", "query", input),
4044
+ getCandidate: (input) => dispatch("deviceAdoption", "getCandidate", "query", input),
4045
+ refresh: (input) => dispatch("deviceAdoption", "refresh", "mutation", input),
4046
+ adopt: (input) => dispatch("deviceAdoption", "adopt", "mutation", input),
4047
+ release: (input) => dispatch("deviceAdoption", "release", "mutation", input),
4048
+ resync: (input) => dispatch("deviceAdoption", "resync", "mutation", input)
4049
+ };
3377
4050
  const deviceExportInterface = {
3378
4051
  getStatus: (input) => dispatch("deviceExport", "getStatus", "query", input),
3379
4052
  listSupportedDeviceKinds: (input) => dispatch("deviceExport", "listSupportedDeviceKinds", "query", input),
@@ -3392,13 +4065,18 @@ function createSystemProxy(api) {
3392
4065
  listPersistedByAddon: (input) => dispatch("deviceManager", "listPersistedByAddon", "query", input),
3393
4066
  listAll: (input) => dispatch("deviceManager", "listAll", "query", input),
3394
4067
  getChildren: (input) => dispatch("deviceManager", "getChildren", "query", input),
4068
+ removeByIntegration: (input) => dispatch("deviceManager", "removeByIntegration", "mutation", input),
3395
4069
  listWrappersForCap: (input) => dispatch("deviceManager", "listWrappersForCap", "query", input),
3396
4070
  listBindableCapsForDeviceType: (input) => dispatch("deviceManager", "listBindableCapsForDeviceType", "query", input),
3397
4071
  discoverDevices: (input) => dispatch("deviceManager", "discoverDevices", "mutation", input),
3398
4072
  adoptDevice: (input) => dispatch("deviceManager", "adoptDevice", "mutation", input),
3399
4073
  getCreationSchema: (input) => dispatch("deviceManager", "getCreationSchema", "query", input),
3400
4074
  createDevice: (input) => dispatch("deviceManager", "createDevice", "mutation", input),
3401
- testCreationField: (input) => dispatch("deviceManager", "testCreationField", "mutation", input)
4075
+ testCreationField: (input) => dispatch("deviceManager", "testCreationField", "mutation", input),
4076
+ adoptionListCandidates: (input) => dispatch("deviceManager", "adoptionListCandidates", "query", input),
4077
+ adoptionRefresh: (input) => dispatch("deviceManager", "adoptionRefresh", "mutation", input),
4078
+ adoptionAdopt: (input) => dispatch("deviceManager", "adoptionAdopt", "mutation", input),
4079
+ adoptionRelease: (input) => dispatch("deviceManager", "adoptionRelease", "mutation", input)
3402
4080
  };
3403
4081
  const deviceProviderInterface = {
3404
4082
  start: (input) => dispatch("deviceProvider", "start", "mutation", input),
@@ -3558,32 +4236,8 @@ function createSystemProxy(api) {
3558
4236
  getAllCameraMetrics: (input) => dispatch("pipelineRunner", "getAllCameraMetrics", "query", input),
3559
4237
  getLocalCameras: (input) => dispatch("pipelineRunner", "getLocalCameras", "query", input)
3560
4238
  };
3561
- const platformProbeInterface = {
3562
- getCapabilities: (input) => dispatch("platformProbe", "getCapabilities", "query", input),
3563
- getHardware: (input) => dispatch("platformProbe", "getHardware", "query", input),
3564
- resolveInferenceConfig: (input) => dispatch("platformProbe", "resolveInferenceConfig", "query", input),
3565
- resolveHwAccel: (input) => dispatch("platformProbe", "resolveHwAccel", "query", input),
3566
- getHardwareEncoders: (input) => dispatch("platformProbe", "getHardwareEncoders", "query", input),
3567
- refreshHardwareEncoders: (input) => dispatch("platformProbe", "refreshHardwareEncoders", "mutation", input)
3568
- };
3569
- const recordingEngineInterface = {
3570
- getStatus: (input) => dispatch("recordingEngine", "getStatus", "query", input),
3571
- enable: (input) => dispatch("recordingEngine", "enable", "mutation", input),
3572
- disable: (input) => dispatch("recordingEngine", "disable", "mutation", input),
3573
- getConfig: (input) => dispatch("recordingEngine", "getConfig", "query", input),
3574
- updateConfig: (input) => dispatch("recordingEngine", "updateConfig", "mutation", input),
3575
- getPlaylist: (input) => dispatch("recordingEngine", "getPlaylist", "query", input),
3576
- getThumbnail: (input) => dispatch("recordingEngine", "getThumbnail", "query", input),
3577
- getSegments: (input) => dispatch("recordingEngine", "getSegments", "query", input),
3578
- getAvailability: (input) => dispatch("recordingEngine", "getAvailability", "query", input),
3579
- estimateStorage: (input) => dispatch("recordingEngine", "estimateStorage", "query", input),
3580
- estimateGlobalStorage: (input) => dispatch("recordingEngine", "estimateGlobalStorage", "query", input),
3581
- getStorageUsage: (input) => dispatch("recordingEngine", "getStorageUsage", "query", input),
3582
- setPolicy: (input) => dispatch("recordingEngine", "setPolicy", "mutation", input),
3583
- getPolicy: (input) => dispatch("recordingEngine", "getPolicy", "query", input),
3584
- getRetentionConfig: (input) => dispatch("recordingEngine", "getRetentionConfig", "query", input),
3585
- updateRetentionConfig: (input) => dispatch("recordingEngine", "updateRetentionConfig", "mutation", input),
3586
- getMotionStats: (input) => dispatch("recordingEngine", "getMotionStats", "query", input)
4239
+ const recordingInterface = {
4240
+ getStorageUsage: (input) => dispatch("recording", "getStorageUsage", "query", input)
3587
4241
  };
3588
4242
  const settingsStoreInterface = {
3589
4243
  get: (input) => dispatch("settingsStore", "get", "query", input),
@@ -3593,6 +4247,7 @@ function createSystemProxy(api) {
3593
4247
  update: (input) => dispatch("settingsStore", "update", "mutation", input),
3594
4248
  delete: (input) => dispatch("settingsStore", "delete", "mutation", input),
3595
4249
  count: (input) => dispatch("settingsStore", "count", "query", input),
4250
+ histogram: (input) => dispatch("settingsStore", "histogram", "query", input),
3596
4251
  isEmpty: (input) => dispatch("settingsStore", "isEmpty", "query", input),
3597
4252
  declareCollection: (input) => dispatch("settingsStore", "declareCollection", "mutation", input)
3598
4253
  };
@@ -3613,6 +4268,7 @@ function createSystemProxy(api) {
3613
4268
  endDownload: (input) => dispatch("storage", "endDownload", "mutation", input),
3614
4269
  listLocations: (input) => dispatch("storage", "listLocations", "query", input),
3615
4270
  getDefaultLocation: (input) => dispatch("storage", "getDefaultLocation", "query", input),
4271
+ listLocationDeclarations: (input) => dispatch("storage", "listLocationDeclarations", "query", input),
3616
4272
  upsertLocation: (input) => dispatch("storage", "upsertLocation", "mutation", input),
3617
4273
  deleteLocation: (input) => dispatch("storage", "deleteLocation", "mutation", input),
3618
4274
  testLocation: (input) => dispatch("storage", "testLocation", "query", input),
@@ -3695,7 +4351,9 @@ function createSystemProxy(api) {
3695
4351
  audioAnalyzer: audioAnalyzerInterface,
3696
4352
  audioCodec: audioCodecInterface,
3697
4353
  backup: backupInterface,
4354
+ broker: brokerInterface,
3698
4355
  decoder: decoderInterface,
4356
+ deviceAdoption: deviceAdoptionInterface,
3699
4357
  deviceExport: deviceExportInterface,
3700
4358
  deviceManager: deviceManagerInterface,
3701
4359
  deviceProvider: deviceProviderInterface,
@@ -3712,8 +4370,7 @@ function createSystemProxy(api) {
3712
4370
  pipelineExecutor: pipelineExecutorInterface,
3713
4371
  pipelineOrchestrator: pipelineOrchestratorInterface,
3714
4372
  pipelineRunner: pipelineRunnerInterface,
3715
- platformProbe: platformProbeInterface,
3716
- recordingEngine: recordingEngineInterface,
4373
+ recording: recordingInterface,
3717
4374
  settingsStore: settingsStoreInterface,
3718
4375
  storage: storageInterface,
3719
4376
  streamBroker: streamBrokerInterface,
@@ -4475,6 +5132,15 @@ function customAction(input, output, options) {
4475
5132
  scope: options?.scope ?? { kind: "system" }
4476
5133
  };
4477
5134
  }
5135
+ function deviceCustomAction(input, output, options) {
5136
+ return {
5137
+ input,
5138
+ output,
5139
+ kind: options?.kind ?? "query",
5140
+ auth: options?.auth ?? "protected",
5141
+ scope: { kind: "device", ...options?.deviceTypes ? { deviceTypes: options.deviceTypes } : {} }
5142
+ };
5143
+ }
4478
5144
  const STREAM_PROFILE_META = [
4479
5145
  { profile: "main", prefix: "streamMain", label: "Main stream" },
4480
5146
  { profile: "sub", prefix: "streamSub", label: "Sub stream" },
@@ -4685,20 +5351,36 @@ const CAPABILITY_NAMES = {
4685
5351
  addons: "addons",
4686
5352
  adminUi: "admin-ui",
4687
5353
  advancedNotifier: "advanced-notifier",
5354
+ airQualitySensor: "air-quality-sensor",
5355
+ alarmPanel: "alarm-panel",
4688
5356
  alerts: "alerts",
5357
+ ambientLightSensor: "ambient-light-sensor",
4689
5358
  audioAnalysis: "audio-analysis",
4690
5359
  audioAnalyzer: "audio-analyzer",
4691
5360
  audioCodec: "audio-codec",
4692
5361
  audioMetrics: "audio-metrics",
4693
5362
  authProvider: "auth-provider",
5363
+ automationControl: "automation-control",
4694
5364
  backup: "backup",
4695
5365
  battery: "battery",
5366
+ binary: "binary",
4696
5367
  brightness: "brightness",
5368
+ broker: "broker",
5369
+ button: "button",
4697
5370
  cameraCredentials: "camera-credentials",
4698
5371
  cameraPipelineConfig: "camera-pipeline-config",
4699
5372
  cameraStreams: "camera-streams",
5373
+ carbonMonoxide: "carbon-monoxide",
5374
+ climateControl: "climate-control",
5375
+ color: "color",
5376
+ connectivity: "connectivity",
5377
+ consumables: "consumables",
5378
+ contact: "contact",
5379
+ control: "control",
5380
+ cover: "cover",
4700
5381
  decoder: "decoder",
4701
5382
  detectionPipeline: "detection-pipeline",
5383
+ deviceAdoption: "device-adoption",
4702
5384
  deviceDiscovery: "device-discovery",
4703
5385
  deviceExport: "device-export",
4704
5386
  deviceManager: "device-manager",
@@ -4708,12 +5390,23 @@ const CAPABILITY_NAMES = {
4708
5390
  deviceStatus: "device-status",
4709
5391
  doorbell: "doorbell",
4710
5392
  embeddingEncoder: "embedding-encoder",
5393
+ enumSensor: "enum-sensor",
5394
+ eventEmitter: "event-emitter",
4711
5395
  events: "events",
5396
+ fanControl: "fan-control",
4712
5397
  featureProbe: "feature-probe",
5398
+ flood: "flood",
5399
+ gas: "gas",
5400
+ humidifier: "humidifier",
5401
+ humiditySensor: "humidity-sensor",
5402
+ image: "image",
4713
5403
  integrations: "integrations",
4714
5404
  intercom: "intercom",
5405
+ lawnMowerControl: "lawn-mower-control",
4715
5406
  localNetwork: "local-network",
5407
+ lockControl: "lock-control",
4716
5408
  logDestination: "log-destination",
5409
+ mediaPlayer: "media-player",
4717
5410
  meshNetwork: "mesh-network",
4718
5411
  metricsProvider: "metrics-provider",
4719
5412
  motion: "motion",
@@ -4726,6 +5419,8 @@ const CAPABILITY_NAMES = {
4726
5419
  networkQuality: "network-quality",
4727
5420
  nodes: "nodes",
4728
5421
  notificationOutput: "notification-output",
5422
+ notifier: "notifier",
5423
+ numericSensor: "numeric-sensor",
4729
5424
  oauthIntegration: "oauth-integration",
4730
5425
  osd: "osd",
4731
5426
  pipelineAnalytics: "pipeline-analytics",
@@ -4733,19 +5428,24 @@ const CAPABILITY_NAMES = {
4733
5428
  pipelineOrchestrator: "pipeline-orchestrator",
4734
5429
  pipelineRunner: "pipeline-runner",
4735
5430
  platformProbe: "platform-probe",
5431
+ powerMeter: "power-meter",
5432
+ presence: "presence",
5433
+ pressureSensor: "pressure-sensor",
4736
5434
  privacyMask: "privacy-mask",
4737
5435
  ptz: "ptz",
4738
5436
  ptzAutotrack: "ptz-autotrack",
4739
5437
  reboot: "reboot",
4740
5438
  recording: "recording",
4741
- recordingEngine: "recording-engine",
4742
5439
  restreamer: "restreamer",
5440
+ scriptRunner: "script-runner",
4743
5441
  settingsStore: "settings-store",
5442
+ smoke: "smoke",
4744
5443
  smtpProvider: "smtp-provider",
4745
5444
  snapshot: "snapshot",
4746
5445
  snapshotProvider: "snapshot-provider",
4747
5446
  ssoBridge: "sso-bridge",
4748
5447
  storage: "storage",
5448
+ storageEvictable: "storage-evictable",
4749
5449
  storageProvider: "storage-provider",
4750
5450
  streamBroker: "stream-broker",
4751
5451
  streamCatalog: "stream-catalog",
@@ -4753,10 +5453,18 @@ const CAPABILITY_NAMES = {
4753
5453
  streamingEngine: "streaming-engine",
4754
5454
  switch: "switch",
4755
5455
  system: "system",
5456
+ tamper: "tamper",
5457
+ temperatureSensor: "temperature-sensor",
4756
5458
  toast: "toast",
4757
5459
  turnProvider: "turn-provider",
5460
+ update: "update",
4758
5461
  userManagement: "user-management",
4759
5462
  userPasskeys: "user-passkeys",
5463
+ vacuumControl: "vacuum-control",
5464
+ valve: "valve",
5465
+ vibration: "vibration",
5466
+ waterHeater: "water-heater",
5467
+ weather: "weather",
4760
5468
  webrtc: "webrtc",
4761
5469
  webrtcSession: "webrtc-session",
4762
5470
  zoneAnalytics: "zone-analytics",
@@ -4774,20 +5482,36 @@ const CAPABILITY_ROUTER_KEYS = [
4774
5482
  { key: "addons", name: "addons" },
4775
5483
  { key: "adminUi", name: "admin-ui" },
4776
5484
  { key: "advancedNotifier", name: "advanced-notifier" },
5485
+ { key: "airQualitySensor", name: "air-quality-sensor" },
5486
+ { key: "alarmPanel", name: "alarm-panel" },
4777
5487
  { key: "alerts", name: "alerts" },
5488
+ { key: "ambientLightSensor", name: "ambient-light-sensor" },
4778
5489
  { key: "audioAnalysis", name: "audio-analysis" },
4779
5490
  { key: "audioAnalyzer", name: "audio-analyzer" },
4780
5491
  { key: "audioCodec", name: "audio-codec" },
4781
5492
  { key: "audioMetrics", name: "audio-metrics" },
4782
5493
  { key: "authProvider", name: "auth-provider" },
5494
+ { key: "automationControl", name: "automation-control" },
4783
5495
  { key: "backup", name: "backup" },
4784
5496
  { key: "battery", name: "battery" },
5497
+ { key: "binary", name: "binary" },
4785
5498
  { key: "brightness", name: "brightness" },
5499
+ { key: "broker", name: "broker" },
5500
+ { key: "button", name: "button" },
4786
5501
  { key: "cameraCredentials", name: "camera-credentials" },
4787
5502
  { key: "cameraPipelineConfig", name: "camera-pipeline-config" },
4788
5503
  { key: "cameraStreams", name: "camera-streams" },
5504
+ { key: "carbonMonoxide", name: "carbon-monoxide" },
5505
+ { key: "climateControl", name: "climate-control" },
5506
+ { key: "color", name: "color" },
5507
+ { key: "connectivity", name: "connectivity" },
5508
+ { key: "consumables", name: "consumables" },
5509
+ { key: "contact", name: "contact" },
5510
+ { key: "control", name: "control" },
5511
+ { key: "cover", name: "cover" },
4789
5512
  { key: "decoder", name: "decoder" },
4790
5513
  { key: "detectionPipeline", name: "detection-pipeline" },
5514
+ { key: "deviceAdoption", name: "device-adoption" },
4791
5515
  { key: "deviceDiscovery", name: "device-discovery" },
4792
5516
  { key: "deviceExport", name: "device-export" },
4793
5517
  { key: "deviceManager", name: "device-manager" },
@@ -4797,12 +5521,23 @@ const CAPABILITY_ROUTER_KEYS = [
4797
5521
  { key: "deviceStatus", name: "device-status" },
4798
5522
  { key: "doorbell", name: "doorbell" },
4799
5523
  { key: "embeddingEncoder", name: "embedding-encoder" },
5524
+ { key: "enumSensor", name: "enum-sensor" },
5525
+ { key: "eventEmitter", name: "event-emitter" },
4800
5526
  { key: "events", name: "events" },
5527
+ { key: "fanControl", name: "fan-control" },
4801
5528
  { key: "featureProbe", name: "feature-probe" },
5529
+ { key: "flood", name: "flood" },
5530
+ { key: "gas", name: "gas" },
5531
+ { key: "humidifier", name: "humidifier" },
5532
+ { key: "humiditySensor", name: "humidity-sensor" },
5533
+ { key: "image", name: "image" },
4802
5534
  { key: "integrations", name: "integrations" },
4803
5535
  { key: "intercom", name: "intercom" },
5536
+ { key: "lawnMowerControl", name: "lawn-mower-control" },
4804
5537
  { key: "localNetwork", name: "local-network" },
5538
+ { key: "lockControl", name: "lock-control" },
4805
5539
  { key: "logDestination", name: "log-destination" },
5540
+ { key: "mediaPlayer", name: "media-player" },
4806
5541
  { key: "meshNetwork", name: "mesh-network" },
4807
5542
  { key: "metricsProvider", name: "metrics-provider" },
4808
5543
  { key: "motion", name: "motion" },
@@ -4815,6 +5550,8 @@ const CAPABILITY_ROUTER_KEYS = [
4815
5550
  { key: "networkQuality", name: "network-quality" },
4816
5551
  { key: "nodes", name: "nodes" },
4817
5552
  { key: "notificationOutput", name: "notification-output" },
5553
+ { key: "notifier", name: "notifier" },
5554
+ { key: "numericSensor", name: "numeric-sensor" },
4818
5555
  { key: "oauthIntegration", name: "oauth-integration" },
4819
5556
  { key: "osd", name: "osd" },
4820
5557
  { key: "pipelineAnalytics", name: "pipeline-analytics" },
@@ -4822,19 +5559,24 @@ const CAPABILITY_ROUTER_KEYS = [
4822
5559
  { key: "pipelineOrchestrator", name: "pipeline-orchestrator" },
4823
5560
  { key: "pipelineRunner", name: "pipeline-runner" },
4824
5561
  { key: "platformProbe", name: "platform-probe" },
5562
+ { key: "powerMeter", name: "power-meter" },
5563
+ { key: "presence", name: "presence" },
5564
+ { key: "pressureSensor", name: "pressure-sensor" },
4825
5565
  { key: "privacyMask", name: "privacy-mask" },
4826
5566
  { key: "ptz", name: "ptz" },
4827
5567
  { key: "ptzAutotrack", name: "ptz-autotrack" },
4828
5568
  { key: "reboot", name: "reboot" },
4829
5569
  { key: "recording", name: "recording" },
4830
- { key: "recordingEngine", name: "recording-engine" },
4831
5570
  { key: "restreamer", name: "restreamer" },
5571
+ { key: "scriptRunner", name: "script-runner" },
4832
5572
  { key: "settingsStore", name: "settings-store" },
5573
+ { key: "smoke", name: "smoke" },
4833
5574
  { key: "smtpProvider", name: "smtp-provider" },
4834
5575
  { key: "snapshot", name: "snapshot" },
4835
5576
  { key: "snapshotProvider", name: "snapshot-provider" },
4836
5577
  { key: "ssoBridge", name: "sso-bridge" },
4837
5578
  { key: "storage", name: "storage" },
5579
+ { key: "storageEvictable", name: "storage-evictable" },
4838
5580
  { key: "storageProvider", name: "storage-provider" },
4839
5581
  { key: "streamBroker", name: "stream-broker" },
4840
5582
  { key: "streamCatalog", name: "stream-catalog" },
@@ -4842,10 +5584,18 @@ const CAPABILITY_ROUTER_KEYS = [
4842
5584
  { key: "streamingEngine", name: "streaming-engine" },
4843
5585
  { key: "switch", name: "switch" },
4844
5586
  { key: "system", name: "system" },
5587
+ { key: "tamper", name: "tamper" },
5588
+ { key: "temperatureSensor", name: "temperature-sensor" },
4845
5589
  { key: "toast", name: "toast" },
4846
5590
  { key: "turnProvider", name: "turn-provider" },
5591
+ { key: "update", name: "update" },
4847
5592
  { key: "userManagement", name: "user-management" },
4848
5593
  { key: "userPasskeys", name: "user-passkeys" },
5594
+ { key: "vacuumControl", name: "vacuum-control" },
5595
+ { key: "valve", name: "valve" },
5596
+ { key: "vibration", name: "vibration" },
5597
+ { key: "waterHeater", name: "water-heater" },
5598
+ { key: "weather", name: "weather" },
4849
5599
  { key: "webrtc", name: "webrtc" },
4850
5600
  { key: "webrtcSession", name: "webrtc-session" },
4851
5601
  { key: "zoneAnalytics", name: "zone-analytics" },
@@ -4863,20 +5613,36 @@ const ALL_CAPABILITY_DEFINITIONS = [
4863
5613
  index.addonsCapability,
4864
5614
  index.adminUiCapability,
4865
5615
  index.advancedNotifierCapability,
5616
+ index.airQualitySensorCapability,
5617
+ index.alarmPanelCapability,
4866
5618
  index.alertsCapability,
5619
+ index.ambientLightSensorCapability,
4867
5620
  index.audioAnalysisCapability,
4868
5621
  index.audioAnalyzerCapability,
4869
5622
  index.audioCodecCapability,
4870
5623
  index.audioMetricsCapability,
4871
5624
  index.authProviderCapability,
5625
+ index.automationControlCapability,
4872
5626
  index.backupCapability,
4873
5627
  index.batteryCapability,
5628
+ index.binaryCapability,
4874
5629
  index.brightnessCapability,
5630
+ index.brokerCapability,
5631
+ index.buttonCapability,
4875
5632
  index.cameraCredentialsCapability,
4876
5633
  index.cameraPipelineConfigCapability,
4877
5634
  index.cameraStreamsCapability,
5635
+ index.carbonMonoxideCapability,
5636
+ index.climateControlCapability,
5637
+ index.colorCapability,
5638
+ index.connectivityCapability,
5639
+ index.consumablesCapability,
5640
+ index.contactCapability,
5641
+ index.controlCapability,
5642
+ index.coverCapability,
4878
5643
  index.decoderCapability,
4879
5644
  index.detectionPipelineCapability,
5645
+ index.deviceAdoptionCapability,
4880
5646
  index.deviceDiscoveryCapability,
4881
5647
  index.deviceExportCapability,
4882
5648
  index.deviceManagerCapability,
@@ -4886,12 +5652,23 @@ const ALL_CAPABILITY_DEFINITIONS = [
4886
5652
  index.deviceStatusCapability,
4887
5653
  index.doorbellCapability,
4888
5654
  index.embeddingEncoderCapability,
5655
+ index.enumSensorCapability,
5656
+ index.eventEmitterCapability,
4889
5657
  index.eventsCapability,
5658
+ index.fanControlCapability,
4890
5659
  index.featureProbeCapability,
5660
+ index.floodCapability,
5661
+ index.gasCapability,
5662
+ index.humidifierCapability,
5663
+ index.humiditySensorCapability,
5664
+ index.imageCapability,
4891
5665
  index.integrationsCapability,
4892
5666
  index.intercomCapability,
5667
+ index.lawnMowerControlCapability,
4893
5668
  index.localNetworkCapability,
5669
+ index.lockControlCapability,
4894
5670
  index.logDestinationCapability,
5671
+ index.mediaPlayerCapability,
4895
5672
  index.meshNetworkCapability,
4896
5673
  index.metricsProviderCapability,
4897
5674
  index.motionCapability,
@@ -4904,6 +5681,8 @@ const ALL_CAPABILITY_DEFINITIONS = [
4904
5681
  index.networkQualityCapability,
4905
5682
  index.nodesCapability,
4906
5683
  index.notificationOutputCapability,
5684
+ index.notifierCapability,
5685
+ index.numericSensorCapability,
4907
5686
  index.oauthIntegrationCapability,
4908
5687
  index.osdCapability,
4909
5688
  index.pipelineAnalyticsCapability,
@@ -4911,19 +5690,24 @@ const ALL_CAPABILITY_DEFINITIONS = [
4911
5690
  index.pipelineOrchestratorCapability,
4912
5691
  index.pipelineRunnerCapability,
4913
5692
  index.platformProbeCapability,
5693
+ index.powerMeterCapability,
5694
+ index.presenceCapability,
5695
+ index.pressureSensorCapability,
4914
5696
  index.privacyMaskCapability,
4915
5697
  index.ptzCapability,
4916
5698
  index.ptzAutotrackCapability,
4917
5699
  index.rebootCapability,
4918
5700
  index.recordingCapability,
4919
- index.recordingEngineCapability,
4920
5701
  index.restreamerCapability,
5702
+ index.scriptRunnerCapability,
4921
5703
  index.settingsStoreCapability,
5704
+ index.smokeCapability,
4922
5705
  index.smtpProviderCapability,
4923
5706
  index.snapshotCapability,
4924
5707
  index.snapshotProviderCapability,
4925
5708
  index.ssoBridgeCapability,
4926
5709
  index.storageCapability,
5710
+ index.storageEvictableCapability,
4927
5711
  index.storageProviderCapability,
4928
5712
  index.streamBrokerCapability,
4929
5713
  index.streamCatalogCapability,
@@ -4931,10 +5715,18 @@ const ALL_CAPABILITY_DEFINITIONS = [
4931
5715
  index.streamingEngineCapability,
4932
5716
  index.switchCapability,
4933
5717
  index.systemCapability,
5718
+ index.tamperCapability,
5719
+ index.temperatureSensorCapability,
4934
5720
  index.toastCapability,
4935
5721
  index.turnProviderCapability,
5722
+ index.updateCapability,
4936
5723
  index.userManagementCapability,
4937
5724
  index.userPasskeysCapability,
5725
+ index.vacuumControlCapability,
5726
+ index.valveCapability,
5727
+ index.vibrationCapability,
5728
+ index.waterHeaterCapability,
5729
+ index.weatherCapability,
4938
5730
  index.webrtcCapability,
4939
5731
  index.webrtcSessionCapability,
4940
5732
  index.zoneAnalyticsCapability,
@@ -4943,29 +5735,72 @@ const ALL_CAPABILITY_DEFINITIONS = [
4943
5735
  ];
4944
5736
  const CAP_NAMES_WITH_STATUS = [
4945
5737
  "accessories",
5738
+ "air-quality-sensor",
5739
+ "alarm-panel",
5740
+ "ambient-light-sensor",
5741
+ "automation-control",
4946
5742
  "battery",
5743
+ "binary",
4947
5744
  "brightness",
5745
+ "broker",
4948
5746
  "camera-credentials",
5747
+ "carbon-monoxide",
5748
+ "climate-control",
5749
+ "color",
5750
+ "connectivity",
5751
+ "consumables",
5752
+ "contact",
5753
+ "control",
5754
+ "cover",
5755
+ "device-adoption",
4949
5756
  "device-discovery",
4950
5757
  "device-export",
4951
5758
  "device-status",
4952
5759
  "doorbell",
5760
+ "enum-sensor",
5761
+ "event-emitter",
5762
+ "fan-control",
4953
5763
  "feature-probe",
5764
+ "flood",
5765
+ "gas",
5766
+ "humidifier",
5767
+ "humidity-sensor",
5768
+ "image",
4954
5769
  "intercom",
5770
+ "lawn-mower-control",
5771
+ "lock-control",
5772
+ "media-player",
4955
5773
  "motion",
4956
5774
  "motion-trigger",
4957
5775
  "motion-zones",
4958
5776
  "mqtt-broker",
4959
5777
  "native-object-detection",
5778
+ "notifier",
5779
+ "numeric-sensor",
4960
5780
  "osd",
5781
+ "power-meter",
5782
+ "presence",
5783
+ "pressure-sensor",
4961
5784
  "privacy-mask",
4962
5785
  "ptz",
4963
5786
  "ptz-autotrack",
5787
+ "recording",
5788
+ "script-runner",
5789
+ "smoke",
4964
5790
  "snapshot",
4965
5791
  "stream-params",
4966
- "switch"
5792
+ "switch",
5793
+ "tamper",
5794
+ "temperature-sensor",
5795
+ "update",
5796
+ "vacuum-control",
5797
+ "valve",
5798
+ "vibration",
5799
+ "water-heater",
5800
+ "weather"
4967
5801
  ];
4968
5802
  const METHOD_ACCESS_MAP = Object.freeze({
5803
+ "accessories.setChildHidden": { capName: "accessories", capScope: "device", addonId: null, access: "create" },
4969
5804
  "addonPages.listPages": { capName: "addon-pages", capScope: "system", addonId: null, access: "view" },
4970
5805
  "addonPagesSource.listPages": { capName: "addon-pages-source", capScope: "system", addonId: null, access: "view" },
4971
5806
  "addonRoutes.getRoutes": { capName: "addon-routes", capScope: "system", addonId: null, access: "view" },
@@ -5017,6 +5852,9 @@ const METHOD_ACCESS_MAP = Object.freeze({
5017
5852
  "advancedNotifier.getRules": { capName: "advanced-notifier", capScope: "system", addonId: null, access: "view" },
5018
5853
  "advancedNotifier.testRule": { capName: "advanced-notifier", capScope: "system", addonId: null, access: "create" },
5019
5854
  "advancedNotifier.upsertRule": { capName: "advanced-notifier", capScope: "system", addonId: null, access: "create" },
5855
+ "alarmPanel.arm": { capName: "alarm-panel", capScope: "device", addonId: null, access: "create" },
5856
+ "alarmPanel.disarm": { capName: "alarm-panel", capScope: "device", addonId: null, access: "create" },
5857
+ "alarmPanel.trigger": { capName: "alarm-panel", capScope: "device", addonId: null, access: "create" },
5020
5858
  "alerts.dismiss": { capName: "alerts", capScope: "system", addonId: null, access: "create" },
5021
5859
  "alerts.emit": { capName: "alerts", capScope: "system", addonId: null, access: "create" },
5022
5860
  "alerts.getUnreadCount": { capName: "alerts", capScope: "system", addonId: null, access: "view" },
@@ -5047,6 +5885,9 @@ const METHOD_ACCESS_MAP = Object.freeze({
5047
5885
  "authProvider.handleCallback": { capName: "auth-provider", capScope: "system", addonId: null, access: "create" },
5048
5886
  "authProvider.validateCredentials": { capName: "auth-provider", capScope: "system", addonId: null, access: "create" },
5049
5887
  "authProvider.validateToken": { capName: "auth-provider", capScope: "system", addonId: null, access: "view" },
5888
+ "automationControl.disable": { capName: "automation-control", capScope: "device", addonId: null, access: "create" },
5889
+ "automationControl.enable": { capName: "automation-control", capScope: "device", addonId: null, access: "create" },
5890
+ "automationControl.trigger": { capName: "automation-control", capScope: "device", addonId: null, access: "create" },
5050
5891
  "backup.delete": { capName: "backup", capScope: "system", addonId: null, access: "delete" },
5051
5892
  "backup.getEntries": { capName: "backup", capScope: "system", addonId: null, access: "view" },
5052
5893
  "backup.list": { capName: "backup", capScope: "system", addonId: null, access: "view" },
@@ -5057,11 +5898,45 @@ const METHOD_ACCESS_MAP = Object.freeze({
5057
5898
  "backup.restore": { capName: "backup", capScope: "system", addonId: null, access: "create" },
5058
5899
  "backup.trigger": { capName: "backup", capScope: "system", addonId: null, access: "create" },
5059
5900
  "backup.upsertDestinationPolicy": { capName: "backup", capScope: "system", addonId: null, access: "create" },
5901
+ "battery.wakeForStream": { capName: "battery", capScope: "device", addonId: null, access: "create" },
5060
5902
  "brightness.setBrightness": { capName: "brightness", capScope: "device", addonId: null, access: "create" },
5903
+ "broker.add": { capName: "broker", capScope: "system", addonId: null, access: "create" },
5904
+ "broker.get": { capName: "broker", capScope: "system", addonId: null, access: "view" },
5905
+ "broker.getBrokerConfig": { capName: "broker", capScope: "system", addonId: null, access: "view" },
5906
+ "broker.getSettings": { capName: "broker", capScope: "system", addonId: null, access: "view" },
5907
+ "broker.getSettingsSchema": { capName: "broker", capScope: "system", addonId: null, access: "view" },
5908
+ "broker.getState": { capName: "broker", capScope: "system", addonId: null, access: "view" },
5909
+ "broker.getStatus": { capName: "broker", capScope: "system", addonId: null, access: "view" },
5910
+ "broker.list": { capName: "broker", capScope: "system", addonId: null, access: "view" },
5911
+ "broker.listProviders": { capName: "broker", capScope: "system", addonId: null, access: "view" },
5912
+ "broker.publish": { capName: "broker", capScope: "system", addonId: null, access: "create" },
5913
+ "broker.remove": { capName: "broker", capScope: "system", addonId: null, access: "delete" },
5914
+ "broker.setSettings": { capName: "broker", capScope: "system", addonId: null, access: "create" },
5915
+ "broker.subscribe": { capName: "broker", capScope: "system", addonId: null, access: "create" },
5916
+ "broker.testConnection": { capName: "broker", capScope: "system", addonId: null, access: "create" },
5917
+ "broker.testSettings": { capName: "broker", capScope: "system", addonId: null, access: "create" },
5918
+ "broker.unsubscribe": { capName: "broker", capScope: "system", addonId: null, access: "create" },
5919
+ "button.press": { capName: "button", capScope: "device", addonId: null, access: "create" },
5061
5920
  "cameraCredentials.getCredentials": { capName: "camera-credentials", capScope: "device", addonId: null, access: "view" },
5062
5921
  "cameraStreams.getBrokerStreams": { capName: "camera-streams", capScope: "device", addonId: null, access: "view" },
5063
5922
  "cameraStreams.getCameraStreams": { capName: "camera-streams", capScope: "device", addonId: null, access: "view" },
5923
+ "cameraStreams.getProfileRtspEntries": { capName: "camera-streams", capScope: "device", addonId: null, access: "view" },
5064
5924
  "cameraStreams.getRtspEntries": { capName: "camera-streams", capScope: "device", addonId: null, access: "view" },
5925
+ "cameraStreams.pickStream": { capName: "camera-streams", capScope: "device", addonId: null, access: "view" },
5926
+ "climateControl.setFanMode": { capName: "climate-control", capScope: "device", addonId: null, access: "create" },
5927
+ "climateControl.setMode": { capName: "climate-control", capScope: "device", addonId: null, access: "create" },
5928
+ "climateControl.setPreset": { capName: "climate-control", capScope: "device", addonId: null, access: "create" },
5929
+ "climateControl.setTarget": { capName: "climate-control", capScope: "device", addonId: null, access: "create" },
5930
+ "climateControl.setTargetHumidity": { capName: "climate-control", capScope: "device", addonId: null, access: "create" },
5931
+ "climateControl.setTargetRange": { capName: "climate-control", capScope: "device", addonId: null, access: "create" },
5932
+ "color.setColor": { capName: "color", capScope: "device", addonId: null, access: "create" },
5933
+ "consumables.reset": { capName: "consumables", capScope: "device", addonId: null, access: "delete" },
5934
+ "control.setValue": { capName: "control", capScope: "device", addonId: null, access: "create" },
5935
+ "cover.close": { capName: "cover", capScope: "device", addonId: null, access: "create" },
5936
+ "cover.open": { capName: "cover", capScope: "device", addonId: null, access: "create" },
5937
+ "cover.setPosition": { capName: "cover", capScope: "device", addonId: null, access: "create" },
5938
+ "cover.setTiltPosition": { capName: "cover", capScope: "device", addonId: null, access: "create" },
5939
+ "cover.stop": { capName: "cover", capScope: "device", addonId: null, access: "create" },
5065
5940
  "decoder.createSession": { capName: "decoder", capScope: "system", addonId: null, access: "view" },
5066
5941
  "decoder.destroySession": { capName: "decoder", capScope: "system", addonId: null, access: "delete" },
5067
5942
  "decoder.getFrame": { capName: "decoder", capScope: "system", addonId: null, access: "view" },
@@ -5076,6 +5951,13 @@ const METHOD_ACCESS_MAP = Object.freeze({
5076
5951
  "decoder.reprobeHwaccel": { capName: "decoder", capScope: "system", addonId: null, access: "create" },
5077
5952
  "decoder.supportsCodec": { capName: "decoder", capScope: "system", addonId: null, access: "view" },
5078
5953
  "decoder.updateConfig": { capName: "decoder", capScope: "system", addonId: null, access: "view" },
5954
+ "deviceAdoption.adopt": { capName: "device-adoption", capScope: "system", addonId: null, access: "create" },
5955
+ "deviceAdoption.getCandidate": { capName: "device-adoption", capScope: "system", addonId: null, access: "view" },
5956
+ "deviceAdoption.listCandidateFilters": { capName: "device-adoption", capScope: "system", addonId: null, access: "view" },
5957
+ "deviceAdoption.listCandidates": { capName: "device-adoption", capScope: "system", addonId: null, access: "view" },
5958
+ "deviceAdoption.refresh": { capName: "device-adoption", capScope: "system", addonId: null, access: "create" },
5959
+ "deviceAdoption.release": { capName: "device-adoption", capScope: "system", addonId: null, access: "create" },
5960
+ "deviceAdoption.resync": { capName: "device-adoption", capScope: "system", addonId: null, access: "create" },
5079
5961
  "deviceDiscovery.adoptDevice": { capName: "device-discovery", capScope: "device", addonId: null, access: "create" },
5080
5962
  "deviceDiscovery.listDiscovered": { capName: "device-discovery", capScope: "device", addonId: null, access: "view" },
5081
5963
  "deviceDiscovery.refreshDiscovery": { capName: "device-discovery", capScope: "device", addonId: null, access: "create" },
@@ -5087,7 +5969,12 @@ const METHOD_ACCESS_MAP = Object.freeze({
5087
5969
  "deviceExport.unexposeDevice": { capName: "device-export", capScope: "system", addonId: null, access: "create" },
5088
5970
  "deviceManager.addLocation": { capName: "device-manager", capScope: "system", addonId: null, access: "create" },
5089
5971
  "deviceManager.adoptDevice": { capName: "device-manager", capScope: "system", addonId: null, access: "create" },
5972
+ "deviceManager.adoptionAdopt": { capName: "device-manager", capScope: "system", addonId: null, access: "create" },
5973
+ "deviceManager.adoptionListCandidates": { capName: "device-manager", capScope: "system", addonId: null, access: "view" },
5974
+ "deviceManager.adoptionRefresh": { capName: "device-manager", capScope: "system", addonId: null, access: "create" },
5975
+ "deviceManager.adoptionRelease": { capName: "device-manager", capScope: "system", addonId: null, access: "create" },
5090
5976
  "deviceManager.allocateDeviceId": { capName: "device-manager", capScope: "system", addonId: null, access: "create" },
5977
+ "deviceManager.applyInitialMeta": { capName: "device-manager", capScope: "system", addonId: null, access: "create" },
5091
5978
  "deviceManager.createDevice": { capName: "device-manager", capScope: "system", addonId: null, access: "create" },
5092
5979
  "deviceManager.disable": { capName: "device-manager", capScope: "system", addonId: null, access: "create" },
5093
5980
  "deviceManager.discoverDevices": { capName: "device-manager", capScope: "system", addonId: null, access: "create" },
@@ -5105,6 +5992,7 @@ const METHOD_ACCESS_MAP = Object.freeze({
5105
5992
  "deviceManager.getSettingsSchema": { capName: "device-manager", capScope: "system", addonId: null, access: "view" },
5106
5993
  "deviceManager.getStreamProfileMap": { capName: "device-manager", capScope: "system", addonId: null, access: "view" },
5107
5994
  "deviceManager.getStreamSources": { capName: "device-manager", capScope: "system", addonId: null, access: "view" },
5995
+ "deviceManager.getWireableFields": { capName: "device-manager", capScope: "system", addonId: null, access: "view" },
5108
5996
  "deviceManager.listAll": { capName: "device-manager", capScope: "system", addonId: null, access: "view" },
5109
5997
  "deviceManager.listBindableCapsForDeviceType": { capName: "device-manager", capScope: "system", addonId: null, access: "view" },
5110
5998
  "deviceManager.listLocations": { capName: "device-manager", capScope: "system", addonId: null, access: "view" },
@@ -5117,13 +6005,22 @@ const METHOD_ACCESS_MAP = Object.freeze({
5117
6005
  "deviceManager.probeStreams": { capName: "device-manager", capScope: "system", addonId: null, access: "create" },
5118
6006
  "deviceManager.registerDevice": { capName: "device-manager", capScope: "system", addonId: null, access: "create" },
5119
6007
  "deviceManager.remove": { capName: "device-manager", capScope: "system", addonId: null, access: "delete" },
6008
+ "deviceManager.removeByIntegration": { capName: "device-manager", capScope: "system", addonId: null, access: "delete" },
5120
6009
  "deviceManager.removeDevice": { capName: "device-manager", capScope: "system", addonId: null, access: "delete" },
5121
6010
  "deviceManager.removeLocation": { capName: "device-manager", capScope: "system", addonId: null, access: "delete" },
6011
+ "deviceManager.runDeviceAction": { capName: "device-manager", capScope: "system", addonId: null, access: "create" },
6012
+ "deviceManager.setChildLayout": { capName: "device-manager", capScope: "system", addonId: null, access: "create" },
6013
+ "deviceManager.setDeviceLinks": { capName: "device-manager", capScope: "system", addonId: null, access: "create" },
5122
6014
  "deviceManager.setDisabled": { capName: "device-manager", capScope: "system", addonId: null, access: "create" },
6015
+ "deviceManager.setIntegrationId": { capName: "device-manager", capScope: "system", addonId: null, access: "create" },
6016
+ "deviceManager.setLinkDeviceId": { capName: "device-manager", capScope: "system", addonId: null, access: "create" },
5123
6017
  "deviceManager.setLocation": { capName: "device-manager", capScope: "system", addonId: null, access: "create" },
5124
6018
  "deviceManager.setMetadata": { capName: "device-manager", capScope: "system", addonId: null, access: "create" },
5125
6019
  "deviceManager.setName": { capName: "device-manager", capScope: "system", addonId: null, access: "create" },
6020
+ "deviceManager.setPrimaryChildEntityId": { capName: "device-manager", capScope: "system", addonId: null, access: "create" },
6021
+ "deviceManager.setRole": { capName: "device-manager", capScope: "system", addonId: null, access: "create" },
5126
6022
  "deviceManager.setStreamProfileMap": { capName: "device-manager", capScope: "system", addonId: null, access: "create" },
6023
+ "deviceManager.setType": { capName: "device-manager", capScope: "system", addonId: null, access: "create" },
5127
6024
  "deviceManager.setWrapperActive": { capName: "device-manager", capScope: "system", addonId: null, access: "create" },
5128
6025
  "deviceManager.testCreationField": { capName: "device-manager", capScope: "system", addonId: null, access: "create" },
5129
6026
  "deviceManager.testField": { capName: "device-manager", capScope: "system", addonId: null, access: "create" },
@@ -5131,9 +6028,11 @@ const METHOD_ACCESS_MAP = Object.freeze({
5131
6028
  "deviceManager.updateDeviceField": { capName: "device-manager", capScope: "system", addonId: null, access: "create" },
5132
6029
  "deviceManager.updateDeviceFieldsBatch": { capName: "device-manager", capScope: "system", addonId: null, access: "create" },
5133
6030
  "deviceOps.getConfigEntries": { capName: "device-ops", capScope: "device", addonId: null, access: "view" },
6031
+ "deviceOps.getRawState": { capName: "device-ops", capScope: "device", addonId: null, access: "view" },
5134
6032
  "deviceOps.getSettingsSchema": { capName: "device-ops", capScope: "device", addonId: null, access: "view" },
5135
6033
  "deviceOps.getStreamSources": { capName: "device-ops", capScope: "device", addonId: null, access: "view" },
5136
6034
  "deviceOps.removeDevice": { capName: "device-ops", capScope: "device", addonId: null, access: "delete" },
6035
+ "deviceOps.runAction": { capName: "device-ops", capScope: "device", addonId: null, access: "create" },
5137
6036
  "deviceOps.setConfig": { capName: "device-ops", capScope: "device", addonId: null, access: "create" },
5138
6037
  "deviceProvider.adoptDiscoveredDevice": { capName: "device-provider", capScope: "system", addonId: null, access: "create" },
5139
6038
  "deviceProvider.createDevice": { capName: "device-provider", capScope: "system", addonId: null, access: "create" },
@@ -5156,6 +6055,13 @@ const METHOD_ACCESS_MAP = Object.freeze({
5156
6055
  "events.getEventClipUrl": { capName: "events", capScope: "device", addonId: null, access: "view" },
5157
6056
  "events.getEvents": { capName: "events", capScope: "device", addonId: null, access: "view" },
5158
6057
  "events.getEventThumbnail": { capName: "events", capScope: "device", addonId: null, access: "view" },
6058
+ "fanControl.setDirection": { capName: "fan-control", capScope: "device", addonId: null, access: "create" },
6059
+ "fanControl.setOscillating": { capName: "fan-control", capScope: "device", addonId: null, access: "create" },
6060
+ "fanControl.setPercentage": { capName: "fan-control", capScope: "device", addonId: null, access: "create" },
6061
+ "fanControl.setPreset": { capName: "fan-control", capScope: "device", addonId: null, access: "create" },
6062
+ "humidifier.setMode": { capName: "humidifier", capScope: "device", addonId: null, access: "create" },
6063
+ "humidifier.setOn": { capName: "humidifier", capScope: "device", addonId: null, access: "create" },
6064
+ "humidifier.setTargetHumidity": { capName: "humidifier", capScope: "device", addonId: null, access: "create" },
5159
6065
  "integrations.create": { capName: "integrations", capScope: "system", addonId: null, access: "create" },
5160
6066
  "integrations.delete": { capName: "integrations", capScope: "system", addonId: null, access: "delete" },
5161
6067
  "integrations.get": { capName: "integrations", capScope: "system", addonId: null, access: "view" },
@@ -5168,18 +6074,36 @@ const METHOD_ACCESS_MAP = Object.freeze({
5168
6074
  "integrations.update": { capName: "integrations", capScope: "system", addonId: null, access: "create" },
5169
6075
  "intercom.endTalkSession": { capName: "intercom", capScope: "device", addonId: null, access: "create" },
5170
6076
  "intercom.handleAnswer": { capName: "intercom", capScope: "device", addonId: null, access: "create" },
5171
- "intercom.pushTalkPcm": { capName: "intercom", capScope: "device", addonId: null, access: "create" },
6077
+ "intercom.pushTalkAudio": { capName: "intercom", capScope: "device", addonId: null, access: "create" },
5172
6078
  "intercom.startSession": { capName: "intercom", capScope: "device", addonId: null, access: "create" },
5173
6079
  "intercom.startTalkSession": { capName: "intercom", capScope: "device", addonId: null, access: "create" },
5174
6080
  "intercom.stopSession": { capName: "intercom", capScope: "device", addonId: null, access: "create" },
6081
+ "lawnMowerControl.dock": { capName: "lawn-mower-control", capScope: "device", addonId: null, access: "create" },
6082
+ "lawnMowerControl.pause": { capName: "lawn-mower-control", capScope: "device", addonId: null, access: "create" },
6083
+ "lawnMowerControl.startMowing": { capName: "lawn-mower-control", capScope: "device", addonId: null, access: "create" },
5175
6084
  "localNetwork.getAllowedAddresses": { capName: "local-network", capScope: "system", addonId: null, access: "view" },
5176
6085
  "localNetwork.getConnectionEndpoints": { capName: "local-network", capScope: "system", addonId: null, access: "view" },
5177
6086
  "localNetwork.getPreferred": { capName: "local-network", capScope: "system", addonId: null, access: "view" },
5178
6087
  "localNetwork.list": { capName: "local-network", capScope: "system", addonId: null, access: "view" },
5179
6088
  "localNetwork.resetAllowlistToBestMatch": { capName: "local-network", capScope: "system", addonId: null, access: "delete" },
5180
6089
  "localNetwork.setAllowedAddresses": { capName: "local-network", capScope: "system", addonId: null, access: "create" },
6090
+ "lockControl.lock": { capName: "lock-control", capScope: "device", addonId: null, access: "create" },
6091
+ "lockControl.open": { capName: "lock-control", capScope: "device", addonId: null, access: "create" },
6092
+ "lockControl.unlock": { capName: "lock-control", capScope: "device", addonId: null, access: "create" },
5181
6093
  "logDestination.query": { capName: "log-destination", capScope: "system", addonId: null, access: "view" },
5182
6094
  "logDestination.write": { capName: "log-destination", capScope: "system", addonId: null, access: "create" },
6095
+ "mediaPlayer.next": { capName: "media-player", capScope: "device", addonId: null, access: "create" },
6096
+ "mediaPlayer.pause": { capName: "media-player", capScope: "device", addonId: null, access: "create" },
6097
+ "mediaPlayer.play": { capName: "media-player", capScope: "device", addonId: null, access: "create" },
6098
+ "mediaPlayer.playMedia": { capName: "media-player", capScope: "device", addonId: null, access: "create" },
6099
+ "mediaPlayer.previous": { capName: "media-player", capScope: "device", addonId: null, access: "create" },
6100
+ "mediaPlayer.seek": { capName: "media-player", capScope: "device", addonId: null, access: "create" },
6101
+ "mediaPlayer.selectSource": { capName: "media-player", capScope: "device", addonId: null, access: "create" },
6102
+ "mediaPlayer.setMute": { capName: "media-player", capScope: "device", addonId: null, access: "create" },
6103
+ "mediaPlayer.setRepeat": { capName: "media-player", capScope: "device", addonId: null, access: "create" },
6104
+ "mediaPlayer.setShuffle": { capName: "media-player", capScope: "device", addonId: null, access: "create" },
6105
+ "mediaPlayer.setVolume": { capName: "media-player", capScope: "device", addonId: null, access: "create" },
6106
+ "mediaPlayer.stop": { capName: "media-player", capScope: "device", addonId: null, access: "create" },
5183
6107
  "meshNetwork.getStatus": { capName: "mesh-network", capScope: "system", addonId: null, access: "view" },
5184
6108
  "meshNetwork.join": { capName: "mesh-network", capScope: "system", addonId: null, access: "create" },
5185
6109
  "meshNetwork.leave": { capName: "mesh-network", capScope: "system", addonId: null, access: "create" },
@@ -5237,17 +6161,21 @@ const METHOD_ACCESS_MAP = Object.freeze({
5237
6161
  "nodes.undeployAddon": { capName: "nodes", capScope: "system", addonId: null, access: "create" },
5238
6162
  "notificationOutput.send": { capName: "notification-output", capScope: "system", addonId: null, access: "create" },
5239
6163
  "notificationOutput.sendTest": { capName: "notification-output", capScope: "system", addonId: null, access: "create" },
6164
+ "notifier.cancel": { capName: "notifier", capScope: "device", addonId: null, access: "create" },
6165
+ "notifier.send": { capName: "notifier", capScope: "device", addonId: null, access: "create" },
5240
6166
  "oauthIntegration.getDescriptor": { capName: "oauth-integration", capScope: "system", addonId: null, access: "view" },
5241
6167
  "osd.setOverlay": { capName: "osd", capScope: "device", addonId: null, access: "create" },
5242
6168
  "pipelineAnalytics.clearTracks": { capName: "pipeline-analytics", capScope: "device", addonId: null, access: "delete" },
5243
6169
  "pipelineAnalytics.getActiveTracks": { capName: "pipeline-analytics", capScope: "device", addonId: null, access: "view" },
5244
6170
  "pipelineAnalytics.getAudioEvents": { capName: "pipeline-analytics", capScope: "device", addonId: null, access: "view" },
6171
+ "pipelineAnalytics.getEventDensity": { capName: "pipeline-analytics", capScope: "device", addonId: null, access: "view" },
5245
6172
  "pipelineAnalytics.getEventMedia": { capName: "pipeline-analytics", capScope: "device", addonId: null, access: "view" },
5246
6173
  "pipelineAnalytics.getMotionEvents": { capName: "pipeline-analytics", capScope: "device", addonId: null, access: "view" },
5247
6174
  "pipelineAnalytics.getObjectEvents": { capName: "pipeline-analytics", capScope: "device", addonId: null, access: "view" },
5248
6175
  "pipelineAnalytics.getTrack": { capName: "pipeline-analytics", capScope: "device", addonId: null, access: "view" },
5249
6176
  "pipelineAnalytics.getTrackMedia": { capName: "pipeline-analytics", capScope: "device", addonId: null, access: "view" },
5250
6177
  "pipelineAnalytics.listTracks": { capName: "pipeline-analytics", capScope: "device", addonId: null, access: "view" },
6178
+ "pipelineAnalytics.pruneEventsBefore": { capName: "pipeline-analytics", capScope: "device", addonId: null, access: "create" },
5251
6179
  "pipelineExecutor.cacheFrameInPool": { capName: "pipeline-executor", capScope: "system", addonId: null, access: "create" },
5252
6180
  "pipelineExecutor.deleteModel": { capName: "pipeline-executor", capScope: "system", addonId: null, access: "delete" },
5253
6181
  "pipelineExecutor.deleteTemplate": { capName: "pipeline-executor", capScope: "system", addonId: null, access: "delete" },
@@ -5326,7 +6254,9 @@ const METHOD_ACCESS_MAP = Object.freeze({
5326
6254
  "pipelineRunner.reportMotion": { capName: "pipeline-runner", capScope: "system", addonId: null, access: "create" },
5327
6255
  "platformProbe.getCapabilities": { capName: "platform-probe", capScope: "system", addonId: null, access: "view" },
5328
6256
  "platformProbe.getHardware": { capName: "platform-probe", capScope: "system", addonId: null, access: "view" },
6257
+ "platformProbe.getHardwareDecodeAccels": { capName: "platform-probe", capScope: "system", addonId: null, access: "view" },
5329
6258
  "platformProbe.getHardwareEncoders": { capName: "platform-probe", capScope: "system", addonId: null, access: "view" },
6259
+ "platformProbe.refreshHardwareDecodeAccels": { capName: "platform-probe", capScope: "system", addonId: null, access: "create" },
5330
6260
  "platformProbe.refreshHardwareEncoders": { capName: "platform-probe", capScope: "system", addonId: null, access: "create" },
5331
6261
  "platformProbe.resolveHwAccel": { capName: "platform-probe", capScope: "system", addonId: null, access: "view" },
5332
6262
  "platformProbe.resolveInferenceConfig": { capName: "platform-probe", capScope: "system", addonId: null, access: "view" },
@@ -5348,34 +6278,23 @@ const METHOD_ACCESS_MAP = Object.freeze({
5348
6278
  "ptzAutotrack.setEnabled": { capName: "ptz-autotrack", capScope: "device", addonId: null, access: "create" },
5349
6279
  "ptzAutotrack.setSettings": { capName: "ptz-autotrack", capScope: "device", addonId: null, access: "create" },
5350
6280
  "reboot.reboot": { capName: "reboot", capScope: "device", addonId: null, access: "create" },
5351
- "recording.getPlaybackUrl": { capName: "recording", capScope: "device", addonId: null, access: "view" },
5352
- "recording.getSegments": { capName: "recording", capScope: "device", addonId: null, access: "view" },
5353
- "recording.getThumbnailAt": { capName: "recording", capScope: "device", addonId: null, access: "view" },
5354
- "recordingEngine.disable": { capName: "recording-engine", capScope: "system", addonId: null, access: "create" },
5355
- "recordingEngine.enable": { capName: "recording-engine", capScope: "system", addonId: null, access: "create" },
5356
- "recordingEngine.estimateGlobalStorage": { capName: "recording-engine", capScope: "system", addonId: null, access: "view" },
5357
- "recordingEngine.estimateStorage": { capName: "recording-engine", capScope: "system", addonId: null, access: "view" },
5358
- "recordingEngine.getAvailability": { capName: "recording-engine", capScope: "system", addonId: null, access: "view" },
5359
- "recordingEngine.getConfig": { capName: "recording-engine", capScope: "system", addonId: null, access: "view" },
5360
- "recordingEngine.getMotionStats": { capName: "recording-engine", capScope: "system", addonId: null, access: "view" },
5361
- "recordingEngine.getPlaylist": { capName: "recording-engine", capScope: "system", addonId: null, access: "view" },
5362
- "recordingEngine.getPolicy": { capName: "recording-engine", capScope: "system", addonId: null, access: "view" },
5363
- "recordingEngine.getPolicyStatus": { capName: "recording-engine", capScope: "system", addonId: null, access: "view" },
5364
- "recordingEngine.getRetentionConfig": { capName: "recording-engine", capScope: "system", addonId: null, access: "view" },
5365
- "recordingEngine.getSegments": { capName: "recording-engine", capScope: "system", addonId: null, access: "view" },
5366
- "recordingEngine.getStatus": { capName: "recording-engine", capScope: "system", addonId: null, access: "view" },
5367
- "recordingEngine.getStorageUsage": { capName: "recording-engine", capScope: "system", addonId: null, access: "view" },
5368
- "recordingEngine.getThumbnail": { capName: "recording-engine", capScope: "system", addonId: null, access: "view" },
5369
- "recordingEngine.setPolicy": { capName: "recording-engine", capScope: "system", addonId: null, access: "create" },
5370
- "recordingEngine.updateConfig": { capName: "recording-engine", capScope: "system", addonId: null, access: "create" },
5371
- "recordingEngine.updateRetentionConfig": { capName: "recording-engine", capScope: "system", addonId: null, access: "create" },
6281
+ "recording.getAvailability": { capName: "recording", capScope: "system", addonId: null, access: "view" },
6282
+ "recording.getDeviceConfig": { capName: "recording", capScope: "system", addonId: null, access: "view" },
6283
+ "recording.getPlaybackManifest": { capName: "recording", capScope: "system", addonId: null, access: "view" },
6284
+ "recording.getStorageUsage": { capName: "recording", capScope: "system", addonId: null, access: "view" },
6285
+ "recording.pruneFootage": { capName: "recording", capScope: "system", addonId: null, access: "create" },
6286
+ "recording.rescanStorage": { capName: "recording", capScope: "system", addonId: null, access: "create" },
6287
+ "recording.setDeviceConfig": { capName: "recording", capScope: "system", addonId: null, access: "create" },
5372
6288
  "restreamer.getExposedResources": { capName: "restreamer", capScope: "system", addonId: null, access: "view" },
5373
6289
  "restreamer.registerDevice": { capName: "restreamer", capScope: "system", addonId: null, access: "create" },
5374
6290
  "restreamer.unregisterDevice": { capName: "restreamer", capScope: "system", addonId: null, access: "delete" },
6291
+ "scriptRunner.run": { capName: "script-runner", capScope: "device", addonId: null, access: "create" },
6292
+ "scriptRunner.stop": { capName: "script-runner", capScope: "device", addonId: null, access: "create" },
5375
6293
  "settingsStore.count": { capName: "settings-store", capScope: "system", addonId: null, access: "view" },
5376
6294
  "settingsStore.declareCollection": { capName: "settings-store", capScope: "system", addonId: null, access: "create" },
5377
6295
  "settingsStore.delete": { capName: "settings-store", capScope: "system", addonId: null, access: "delete" },
5378
6296
  "settingsStore.get": { capName: "settings-store", capScope: "system", addonId: null, access: "view" },
6297
+ "settingsStore.histogram": { capName: "settings-store", capScope: "system", addonId: null, access: "view" },
5379
6298
  "settingsStore.insert": { capName: "settings-store", capScope: "system", addonId: null, access: "create" },
5380
6299
  "settingsStore.isEmpty": { capName: "settings-store", capScope: "system", addonId: null, access: "view" },
5381
6300
  "settingsStore.query": { capName: "settings-store", capScope: "system", addonId: null, access: "view" },
@@ -5401,6 +6320,7 @@ const METHOD_ACCESS_MAP = Object.freeze({
5401
6320
  "storage.getAvailableSpace": { capName: "storage", capScope: "system", addonId: null, access: "view" },
5402
6321
  "storage.getDefaultLocation": { capName: "storage", capScope: "system", addonId: null, access: "view" },
5403
6322
  "storage.list": { capName: "storage", capScope: "system", addonId: null, access: "view" },
6323
+ "storage.listLocationDeclarations": { capName: "storage", capScope: "system", addonId: null, access: "view" },
5404
6324
  "storage.listLocations": { capName: "storage", capScope: "system", addonId: null, access: "view" },
5405
6325
  "storage.listProviders": { capName: "storage", capScope: "system", addonId: null, access: "view" },
5406
6326
  "storage.read": { capName: "storage", capScope: "system", addonId: null, access: "view" },
@@ -5411,6 +6331,8 @@ const METHOD_ACCESS_MAP = Object.freeze({
5411
6331
  "storage.upsertLocation": { capName: "storage", capScope: "system", addonId: null, access: "create" },
5412
6332
  "storage.write": { capName: "storage", capScope: "system", addonId: null, access: "create" },
5413
6333
  "storage.writeChunk": { capName: "storage", capScope: "system", addonId: null, access: "create" },
6334
+ "storageEvictable.evict": { capName: "storage-evictable", capScope: "system", addonId: null, access: "create" },
6335
+ "storageEvictable.getEvictableUsage": { capName: "storage-evictable", capScope: "system", addonId: null, access: "view" },
5414
6336
  "storageProvider.abortUpload": { capName: "storage-provider", capScope: "system", addonId: null, access: "create" },
5415
6337
  "storageProvider.beginDownload": { capName: "storage-provider", capScope: "system", addonId: null, access: "create" },
5416
6338
  "storageProvider.beginUpload": { capName: "storage-provider", capScope: "system", addonId: null, access: "create" },
@@ -5472,6 +6394,7 @@ const METHOD_ACCESS_MAP = Object.freeze({
5472
6394
  "system.setRetentionConfig": { capName: "system", capScope: "system", addonId: null, access: "create" },
5473
6395
  "toast.onToast": { capName: "toast", capScope: "system", addonId: null, access: "view" },
5474
6396
  "turnProvider.getTurnServers": { capName: "turn-provider", capScope: "system", addonId: null, access: "view" },
6397
+ "update.installUpdate": { capName: "update", capScope: "device", addonId: null, access: "create" },
5475
6398
  "userManagement.confirmTotp": { capName: "user-management", capScope: "system", addonId: null, access: "create" },
5476
6399
  "userManagement.createApiKey": { capName: "user-management", capScope: "system", addonId: null, access: "create" },
5477
6400
  "userManagement.createScopedToken": { capName: "user-management", capScope: "system", addonId: null, access: "create" },
@@ -5504,6 +6427,19 @@ const METHOD_ACCESS_MAP = Object.freeze({
5504
6427
  "userPasskeys.finishRegistration": { capName: "user-passkeys", capScope: "system", addonId: null, access: "create" },
5505
6428
  "userPasskeys.listPasskeys": { capName: "user-passkeys", capScope: "system", addonId: null, access: "view" },
5506
6429
  "userPasskeys.removePasskey": { capName: "user-passkeys", capScope: "system", addonId: null, access: "delete" },
6430
+ "vacuumControl.locate": { capName: "vacuum-control", capScope: "device", addonId: null, access: "create" },
6431
+ "vacuumControl.pause": { capName: "vacuum-control", capScope: "device", addonId: null, access: "create" },
6432
+ "vacuumControl.returnToBase": { capName: "vacuum-control", capScope: "device", addonId: null, access: "create" },
6433
+ "vacuumControl.setFanSpeed": { capName: "vacuum-control", capScope: "device", addonId: null, access: "create" },
6434
+ "vacuumControl.start": { capName: "vacuum-control", capScope: "device", addonId: null, access: "create" },
6435
+ "vacuumControl.stop": { capName: "vacuum-control", capScope: "device", addonId: null, access: "create" },
6436
+ "valve.close": { capName: "valve", capScope: "device", addonId: null, access: "create" },
6437
+ "valve.open": { capName: "valve", capScope: "device", addonId: null, access: "create" },
6438
+ "valve.setPosition": { capName: "valve", capScope: "device", addonId: null, access: "create" },
6439
+ "valve.stop": { capName: "valve", capScope: "device", addonId: null, access: "create" },
6440
+ "waterHeater.setAway": { capName: "water-heater", capScope: "device", addonId: null, access: "create" },
6441
+ "waterHeater.setOperationMode": { capName: "water-heater", capScope: "device", addonId: null, access: "create" },
6442
+ "waterHeater.setTargetTemp": { capName: "water-heater", capScope: "device", addonId: null, access: "create" },
5507
6443
  "webrtc.closeSession": { capName: "webrtc", capScope: "system", addonId: null, access: "create" },
5508
6444
  "webrtc.createSession": { capName: "webrtc", capScope: "system", addonId: null, access: "create" },
5509
6445
  "webrtc.handleAnswer": { capName: "webrtc", capScope: "system", addonId: null, access: "create" },
@@ -5516,6 +6452,7 @@ const METHOD_ACCESS_MAP = Object.freeze({
5516
6452
  "webrtcSession.closeSession": { capName: "webrtc-session", capScope: "device", addonId: null, access: "create" },
5517
6453
  "webrtcSession.createSession": { capName: "webrtc-session", capScope: "device", addonId: null, access: "create" },
5518
6454
  "webrtcSession.getIceCandidates": { capName: "webrtc-session", capScope: "device", addonId: null, access: "view" },
6455
+ "webrtcSession.getSessionState": { capName: "webrtc-session", capScope: "device", addonId: null, access: "view" },
5519
6456
  "webrtcSession.handleAnswer": { capName: "webrtc-session", capScope: "device", addonId: null, access: "create" },
5520
6457
  "webrtcSession.handleOffer": { capName: "webrtc-session", capScope: "device", addonId: null, access: "create" },
5521
6458
  "webrtcSession.hasAdaptiveBitrate": { capName: "webrtc-session", capScope: "device", addonId: null, access: "view" },
@@ -5532,6 +6469,7 @@ const METHOD_ACCESS_MAP = Object.freeze({
5532
6469
  "zones.updateZone": { capName: "zones", capScope: "device", addonId: null, access: "create" }
5533
6470
  });
5534
6471
  const KNOWN_CAP_NAMES = [
6472
+ "accessories",
5535
6473
  "addon-pages",
5536
6474
  "addon-pages-source",
5537
6475
  "addon-routes",
@@ -5541,17 +6479,28 @@ const KNOWN_CAP_NAMES = [
5541
6479
  "addons",
5542
6480
  "admin-ui",
5543
6481
  "advanced-notifier",
6482
+ "alarm-panel",
5544
6483
  "alerts",
5545
6484
  "audio-analysis",
5546
6485
  "audio-analyzer",
5547
6486
  "audio-codec",
5548
6487
  "audio-metrics",
5549
6488
  "auth-provider",
6489
+ "automation-control",
5550
6490
  "backup",
6491
+ "battery",
5551
6492
  "brightness",
6493
+ "broker",
6494
+ "button",
5552
6495
  "camera-credentials",
5553
6496
  "camera-streams",
6497
+ "climate-control",
6498
+ "color",
6499
+ "consumables",
6500
+ "control",
6501
+ "cover",
5554
6502
  "decoder",
6503
+ "device-adoption",
5555
6504
  "device-discovery",
5556
6505
  "device-export",
5557
6506
  "device-manager",
@@ -5560,10 +6509,15 @@ const KNOWN_CAP_NAMES = [
5560
6509
  "device-state",
5561
6510
  "embedding-encoder",
5562
6511
  "events",
6512
+ "fan-control",
6513
+ "humidifier",
5563
6514
  "integrations",
5564
6515
  "intercom",
6516
+ "lawn-mower-control",
5565
6517
  "local-network",
6518
+ "lock-control",
5566
6519
  "log-destination",
6520
+ "media-player",
5567
6521
  "mesh-network",
5568
6522
  "metrics-provider",
5569
6523
  "motion",
@@ -5576,6 +6530,7 @@ const KNOWN_CAP_NAMES = [
5576
6530
  "network-quality",
5577
6531
  "nodes",
5578
6532
  "notification-output",
6533
+ "notifier",
5579
6534
  "oauth-integration",
5580
6535
  "osd",
5581
6536
  "pipeline-analytics",
@@ -5588,14 +6543,15 @@ const KNOWN_CAP_NAMES = [
5588
6543
  "ptz-autotrack",
5589
6544
  "reboot",
5590
6545
  "recording",
5591
- "recording-engine",
5592
6546
  "restreamer",
6547
+ "script-runner",
5593
6548
  "settings-store",
5594
6549
  "smtp-provider",
5595
6550
  "snapshot",
5596
6551
  "snapshot-provider",
5597
6552
  "sso-bridge",
5598
6553
  "storage",
6554
+ "storage-evictable",
5599
6555
  "storage-provider",
5600
6556
  "stream-broker",
5601
6557
  "stream-catalog",
@@ -5605,8 +6561,12 @@ const KNOWN_CAP_NAMES = [
5605
6561
  "system",
5606
6562
  "toast",
5607
6563
  "turn-provider",
6564
+ "update",
5608
6565
  "user-management",
5609
6566
  "user-passkeys",
6567
+ "vacuum-control",
6568
+ "valve",
6569
+ "water-heater",
5610
6570
  "webrtc",
5611
6571
  "webrtc-session",
5612
6572
  "zone-analytics",
@@ -5614,31 +6574,51 @@ const KNOWN_CAP_NAMES = [
5614
6574
  "zones"
5615
6575
  ];
5616
6576
  const DEVICE_CAP_NAMES = [
6577
+ "accessories",
6578
+ "alarm-panel",
5617
6579
  "audio-analysis",
5618
6580
  "audio-metrics",
6581
+ "automation-control",
6582
+ "battery",
5619
6583
  "brightness",
6584
+ "button",
5620
6585
  "camera-credentials",
5621
6586
  "camera-streams",
6587
+ "climate-control",
6588
+ "color",
6589
+ "consumables",
6590
+ "control",
6591
+ "cover",
5622
6592
  "device-discovery",
5623
6593
  "device-ops",
5624
6594
  "events",
6595
+ "fan-control",
6596
+ "humidifier",
5625
6597
  "intercom",
6598
+ "lawn-mower-control",
6599
+ "lock-control",
6600
+ "media-player",
5626
6601
  "motion",
5627
6602
  "motion-detection",
5628
6603
  "motion-trigger",
5629
6604
  "motion-zones",
5630
6605
  "native-object-detection",
6606
+ "notifier",
5631
6607
  "osd",
5632
6608
  "pipeline-analytics",
5633
6609
  "privacy-mask",
5634
6610
  "ptz",
5635
6611
  "ptz-autotrack",
5636
6612
  "reboot",
5637
- "recording",
6613
+ "script-runner",
5638
6614
  "snapshot",
5639
6615
  "stream-catalog",
5640
6616
  "stream-params",
5641
6617
  "switch",
6618
+ "update",
6619
+ "vacuum-control",
6620
+ "valve",
6621
+ "water-heater",
5642
6622
  "webrtc-session",
5643
6623
  "zone-analytics",
5644
6624
  "zone-rules",
@@ -5659,7 +6639,9 @@ const SYSTEM_CAP_NAMES = [
5659
6639
  "audio-codec",
5660
6640
  "auth-provider",
5661
6641
  "backup",
6642
+ "broker",
5662
6643
  "decoder",
6644
+ "device-adoption",
5663
6645
  "device-export",
5664
6646
  "device-manager",
5665
6647
  "device-provider",
@@ -5680,13 +6662,14 @@ const SYSTEM_CAP_NAMES = [
5680
6662
  "pipeline-orchestrator",
5681
6663
  "pipeline-runner",
5682
6664
  "platform-probe",
5683
- "recording-engine",
6665
+ "recording",
5684
6666
  "restreamer",
5685
6667
  "settings-store",
5686
6668
  "smtp-provider",
5687
6669
  "snapshot-provider",
5688
6670
  "sso-bridge",
5689
6671
  "storage",
6672
+ "storage-evictable",
5690
6673
  "storage-provider",
5691
6674
  "stream-broker",
5692
6675
  "streaming-engine",
@@ -5734,6 +6717,7 @@ const SCOPE_PRESETS = [
5734
6717
  }
5735
6718
  ];
5736
6719
  const CAP_PROVIDER_KIND_MAP = Object.freeze({
6720
+ "broker": "broker",
5737
6721
  "device-export": "device-export",
5738
6722
  "mesh-network": "mesh",
5739
6723
  "mqtt-broker": "broker",
@@ -5741,6 +6725,7 @@ const CAP_PROVIDER_KIND_MAP = Object.freeze({
5741
6725
  "smtp-provider": "email"
5742
6726
  });
5743
6727
  const PROVIDER_KIND_CAP_NAMES = [
6728
+ "broker",
5744
6729
  "device-export",
5745
6730
  "mesh-network",
5746
6731
  "mqtt-broker",
@@ -5754,6 +6739,46 @@ function getCapsByProviderKind(kind) {
5754
6739
  }
5755
6740
  return out;
5756
6741
  }
6742
+ function levenshtein(a, b) {
6743
+ const m = a.length;
6744
+ const n = b.length;
6745
+ if (m === 0) return n;
6746
+ if (n === 0) return m;
6747
+ const prevRow = Array.from({ length: n + 1 }, (_, k) => k);
6748
+ const currRow = Array.from({ length: n + 1 }, () => 0);
6749
+ for (let i = 1; i <= m; i++) {
6750
+ currRow[0] = i;
6751
+ let diagVal = prevRow[0] ?? 0;
6752
+ for (let j = 1; j <= n; j++) {
6753
+ const above = prevRow[j] ?? 0;
6754
+ const left = currRow[j - 1] ?? 0;
6755
+ const cost = a.charCodeAt(i - 1) === b.charCodeAt(j - 1) ? 0 : 1;
6756
+ currRow[j] = Math.min(above + 1, left + 1, diagVal + cost);
6757
+ diagVal = above;
6758
+ }
6759
+ for (let j = 0; j <= n; j++) prevRow[j] = currRow[j] ?? 0;
6760
+ }
6761
+ return prevRow[n] ?? 0;
6762
+ }
6763
+ function locationSimilarity(a, b) {
6764
+ const x = a.trim().toLowerCase();
6765
+ const y = b.trim().toLowerCase();
6766
+ if (x === y) return 1;
6767
+ if (x.length === 0 || y.length === 0) return 0;
6768
+ return 1 - levenshtein(x, y) / Math.max(x.length, y.length);
6769
+ }
6770
+ function bestLocationMatch(externalName, existing, threshold = 0.8) {
6771
+ let best = null;
6772
+ let bestScore = 0;
6773
+ for (const name of existing) {
6774
+ const score = locationSimilarity(externalName, name);
6775
+ if (score >= threshold && score > bestScore) {
6776
+ best = name;
6777
+ bestScore = score;
6778
+ }
6779
+ }
6780
+ return best;
6781
+ }
5757
6782
  const CREDENTIAL_PARAM_PATTERNS = [
5758
6783
  /^user$/i,
5759
6784
  /^usr$/i,
@@ -5907,6 +6932,24 @@ function cellsToRects(cells, gridWidth, gridHeight, maxRegions) {
5907
6932
  h: (block.rowEnd - block.rowStart + 1) / gridHeight
5908
6933
  }));
5909
6934
  }
6935
+ function sleep(ms) {
6936
+ return new Promise((resolve) => setTimeout(resolve, Math.max(0, ms)));
6937
+ }
6938
+ function sleepCancellable(ms, signal) {
6939
+ if (signal.aborted) return Promise.resolve();
6940
+ return new Promise((resolve) => {
6941
+ const timer = setTimeout(() => {
6942
+ signal.removeEventListener("abort", onAbort);
6943
+ resolve();
6944
+ }, Math.max(0, ms));
6945
+ const onAbort = () => {
6946
+ clearTimeout(timer);
6947
+ signal.removeEventListener("abort", onAbort);
6948
+ resolve();
6949
+ };
6950
+ signal.addEventListener("abort", onAbort, { once: true });
6951
+ });
6952
+ }
5910
6953
  function bindAddonActions(api, addonId, catalog) {
5911
6954
  const out = {};
5912
6955
  for (const action of Object.keys(catalog)) {
@@ -5928,11 +6971,24 @@ exports.AddonAutoUpdateSchema = index.AddonAutoUpdateSchema;
5928
6971
  exports.AddonListItemSchema = index.AddonListItemSchema;
5929
6972
  exports.AddonPageDeclarationSchema = index.AddonPageDeclarationSchema;
5930
6973
  exports.AddonPageInfoSchema = index.AddonPageInfoSchema;
6974
+ exports.AdoptionAdoptInputSchema = index.AdoptInputSchema;
6975
+ exports.AdoptionAdoptResultSchema = index.AdoptResultSchema;
6976
+ exports.AdoptionFilterSchema = index.AdoptionFilterSchema;
6977
+ exports.AdoptionGetCandidateInputSchema = index.GetCandidateInputSchema;
6978
+ exports.AdoptionListCandidatesInputSchema = index.ListCandidatesInputSchema;
6979
+ exports.AdoptionListCandidatesOutputSchema = index.ListCandidatesOutputSchema;
6980
+ exports.AdoptionReleaseInputSchema = index.ReleaseInputSchema;
6981
+ exports.AdoptionStatusSchema = index.AdoptionStatusSchema;
5931
6982
  exports.AgentLoadSummarySchema = index.AgentLoadSummarySchema;
6983
+ exports.AirQualitySensorStatusSchema = index.AirQualitySensorStatusSchema;
6984
+ exports.AlarmArmModeSchema = index.AlarmArmModeSchema;
6985
+ exports.AlarmPanelStatusSchema = index.AlarmPanelStatusSchema;
6986
+ exports.AlarmStateSchema = index.AlarmStateSchema;
5932
6987
  exports.AlertSchema = index.AlertSchema;
5933
6988
  exports.AlertSeveritySchema = index.AlertSeveritySchema;
5934
6989
  exports.AlertSourceSchema = index.AlertSourceSchema;
5935
6990
  exports.AlertStatusSchema = index.AlertStatusSchema;
6991
+ exports.AmbientLightSensorStatusSchema = index.AmbientLightSensorStatusSchema;
5936
6992
  exports.ApiKeyRecordSchema = index.ApiKeyRecordSchema;
5937
6993
  exports.ApiKeySummarySchema = index.ApiKeySummarySchema;
5938
6994
  exports.ArchiveEntrySchema = index.ArchiveEntrySchema;
@@ -5945,6 +7001,7 @@ exports.AudioClassificationLabelSchema = index.AudioClassificationLabelSchema;
5945
7001
  exports.AudioClassificationResultSchema = index.AudioClassificationResultSchema;
5946
7002
  exports.AudioCodecInfoSchema = index.AudioCodecInfoSchema;
5947
7003
  exports.AudioDecodeSessionConfigSchema = index.AudioDecodeSessionConfigSchema;
7004
+ exports.AudioEncodeSchema = index.AudioEncodeSchema;
5948
7005
  exports.AudioEncodeSessionConfigSchema = index.AudioEncodeSessionConfigSchema;
5949
7006
  exports.AudioEncodedChunkSchema = index.AudioEncodedChunkSchema;
5950
7007
  exports.AudioEventSchema = index.AudioEventSchema;
@@ -5955,21 +7012,36 @@ exports.AudioMetricsSnapshotSchema = index.AudioMetricsSnapshotSchema;
5955
7012
  exports.AudioPcmChunkSchema = index.AudioPcmChunkSchema;
5956
7013
  exports.AuthResultSchema = index.AuthResultSchema;
5957
7014
  exports.AutoUpdateSettingsSchema = index.AutoUpdateSettingsSchema;
7015
+ exports.AutomationControlStatusSchema = index.AutomationControlStatusSchema;
5958
7016
  exports.AvailableIntegrationTypeSchema = index.AvailableIntegrationTypeSchema;
5959
7017
  exports.BATTERY_DEVICE_PROFILE = index.BATTERY_DEVICE_PROFILE;
5960
7018
  exports.BackupDestinationInfoSchema = index.BackupDestinationInfoSchema;
5961
7019
  exports.BackupEntrySchema = index.BackupEntrySchema;
5962
7020
  exports.BatteryStatusSchema = index.BatteryStatusSchema;
7021
+ exports.BinaryStatusSchema = index.BinaryStatusSchema;
5963
7022
  exports.BoundingBoxSchema = index.BoundingBoxSchema;
5964
7023
  exports.BrightnessStatusSchema = index.BrightnessStatusSchema;
7024
+ exports.BrokerAddInputSchema = index.AddInputSchema;
5965
7025
  exports.BrokerAudioClientSchema = index.BrokerAudioClientSchema;
5966
7026
  exports.BrokerClientsSchema = index.BrokerClientsSchema;
5967
7027
  exports.BrokerConnectionDetailsSchema = index.BrokerConnectionDetailsSchema;
7028
+ exports.BrokerConsumerAttributionSchema = index.BrokerConsumerAttributionSchema;
7029
+ exports.BrokerConsumerKindSchema = index.BrokerConsumerKindSchema;
5968
7030
  exports.BrokerDecodedClientSchema = index.BrokerDecodedClientSchema;
7031
+ exports.BrokerEncodedClientSchema = index.BrokerEncodedClientSchema;
7032
+ exports.BrokerGetStateInputSchema = index.GetStateInputSchema;
5969
7033
  exports.BrokerInfoSchema = index.BrokerInfoSchema;
7034
+ exports.BrokerProviderInfoSchema = index.BrokerProviderInfoSchema;
7035
+ exports.BrokerPublishInputSchema = index.PublishInputSchema;
7036
+ exports.BrokerRegistryStatusSchema = index.RegistryStatusSchema;
5970
7037
  exports.BrokerRtspClientSchema = index.BrokerRtspClientSchema;
5971
7038
  exports.BrokerStatsSchema = index.BrokerStatsSchema;
7039
+ exports.BrokerStatusEnum = index.BrokerStatusEnum;
5972
7040
  exports.BrokerStatusSchema = index.BrokerStatusSchema;
7041
+ exports.BrokerSubscribeInputSchema = index.SubscribeInputSchema;
7042
+ exports.BrokerSubscribeResultSchema = index.SubscribeResultSchema;
7043
+ exports.BrokerTestConnectionResultSchema = index.TestConnectionResultSchema;
7044
+ exports.BrokerUnsubscribeInputSchema = index.UnsubscribeInputSchema;
5973
7045
  exports.CAM_PROFILE_ORDER = index.CAM_PROFILE_ORDER;
5974
7046
  exports.CamProfileSchema = index.CamProfileSchema;
5975
7047
  exports.CamStreamDescriptorSchema = index.CamStreamDescriptorSchema;
@@ -5980,17 +7052,29 @@ exports.CameraCredentialsStatusSchema = index.CameraCredentialsStatusSchema;
5980
7052
  exports.CameraMetricsSchema = index.CameraMetricsSchema;
5981
7053
  exports.CameraMetricsWithDeviceIdSchema = index.CameraMetricsWithDeviceIdSchema;
5982
7054
  exports.CameraStreamSchema = index.CameraStreamSchema;
7055
+ exports.CandidateQueryFilterSchema = index.CandidateQueryFilterSchema;
5983
7056
  exports.CapScopeSchema = index.CapScopeSchema;
5984
7057
  exports.CapabilityBindingsSchema = index.CapabilityBindingsSchema;
7058
+ exports.CarbonMonoxideStatusSchema = index.CarbonMonoxideStatusSchema;
5985
7059
  exports.ChargingStatus = index.ChargingStatus;
5986
7060
  exports.ClientNetworkStatsSchema = index.ClientNetworkStatsSchema;
7061
+ exports.ClimateControlStatusSchema = index.ClimateControlStatusSchema;
5987
7062
  exports.ClusterAddonNodeDeploymentSchema = index.ClusterAddonNodeDeploymentSchema;
5988
7063
  exports.ClusterAddonStatusEntrySchema = index.ClusterAddonStatusEntrySchema;
5989
7064
  exports.CollectionColumnSchema = index.CollectionColumnSchema;
5990
7065
  exports.CollectionIndexSchema = index.CollectionIndexSchema;
7066
+ exports.ColorStatusSchema = index.ColorStatusSchema;
5991
7067
  exports.ConfigEntrySchema = index.ConfigEntrySchema;
5992
7068
  exports.ConfigSectionWithValuesSchema = index.ConfigSectionWithValuesSchema;
5993
7069
  exports.ConfigTabDeclarationSchema = index.ConfigTabDeclarationSchema;
7070
+ exports.ConnectivityStatusSchema = index.ConnectivityStatusSchema;
7071
+ exports.ConsumableItemSchema = index.ConsumableItemSchema;
7072
+ exports.ConsumablesStatusSchema = index.ConsumablesStatusSchema;
7073
+ exports.ContactStatusSchema = index.ContactStatusSchema;
7074
+ exports.ControlKindSchema = index.ControlKindSchema;
7075
+ exports.ControlStatusSchema = index.ControlStatusSchema;
7076
+ exports.CoverStateSchema = index.CoverStateSchema;
7077
+ exports.CoverStatusSchema = index.CoverStatusSchema;
5994
7078
  exports.CreateApiKeyInputSchema = index.CreateApiKeyInputSchema;
5995
7079
  exports.CreateApiKeyResultSchema = index.CreateApiKeyResultSchema;
5996
7080
  exports.CreateIntegrationInputSchema = index.CreateIntegrationInputSchema;
@@ -6027,31 +7111,48 @@ exports.DoorbellPressEventSchema = index.DoorbellPressEventSchema;
6027
7111
  exports.DoorbellStatusSchema = index.DoorbellStatusSchema;
6028
7112
  exports.EmbeddingInfoSchema = index.EmbeddingInfoSchema;
6029
7113
  exports.EmbeddingResultSchema = index.EmbeddingResultSchema;
7114
+ exports.EncodeProfileSchema = index.EncodeProfileSchema;
6030
7115
  exports.EncodedPacketSchema = index.EncodedPacketSchema;
6031
7116
  exports.EnrichedWidgetMetadataSchema = index.EnrichedWidgetMetadataSchema;
7117
+ exports.EnumSensorDateTimeFormatSchema = index.EnumSensorDateTimeFormatSchema;
7118
+ exports.EnumSensorStatusSchema = index.EnumSensorStatusSchema;
7119
+ exports.EventEmitterStatusSchema = index.EventEmitterStatusSchema;
7120
+ exports.EventFireSchema = index.EventFireSchema;
6032
7121
  exports.EventItemSchema = index.EventItemSchema;
6033
7122
  exports.EventKindSchema = index.EventKindSchema;
6034
7123
  exports.ExportSetupFieldSchema = index.ExportSetupFieldSchema;
6035
7124
  exports.ExportSetupSchema = index.ExportSetupSchema;
6036
7125
  exports.ExposedDeviceSchema = index.ExposedDeviceSchema;
6037
7126
  exports.ExposedResourceSchema = index.ExposedResourceSchema;
7127
+ exports.FanControlStatusSchema = index.FanControlStatusSchema;
7128
+ exports.FanDirectionSchema = index.FanDirectionSchema;
6038
7129
  exports.FeatureManifestSchema = index.FeatureManifestSchema;
6039
7130
  exports.FeatureProbeStatusSchema = index.FeatureProbeStatusSchema;
7131
+ exports.FloodStatusSchema = index.FloodStatusSchema;
6040
7132
  exports.FrameHandleFormatSchema = index.FrameHandleFormatSchema;
6041
7133
  exports.FrameHandleSchema = index.FrameHandleSchema;
6042
7134
  exports.FrameInputSchema = index.FrameInputSchema;
7135
+ exports.GasStatusSchema = index.GasStatusSchema;
6043
7136
  exports.GetStreamWithCodecInputSchema = index.GetStreamWithCodecInputSchema;
6044
7137
  exports.GlobalMetricsSchema = index.GlobalMetricsSchema;
6045
7138
  exports.HWACCEL_OPTIONS = index.HWACCEL_OPTIONS;
6046
7139
  exports.HealthStatusSchema = index.HealthStatusSchema;
6047
7140
  exports.HistoryPointSchema = index.HistoryPointSchema;
6048
7141
  exports.HistoryResolutionEnum = index.HistoryResolutionEnum;
7142
+ exports.HumidifierStatusSchema = index.HumidifierStatusSchema;
7143
+ exports.HumiditySensorStatusSchema = index.HumiditySensorStatusSchema;
7144
+ exports.HvacModeSchema = index.HvacModeSchema;
7145
+ exports.ImageStatusSchema = index.ImageStatusSchema;
6049
7146
  exports.InstalledPackageSchema = index.InstalledPackageSchema;
6050
7147
  exports.IntegrationLiteSchema = index.IntegrationLiteSchema;
6051
7148
  exports.IntegrationWithStateSchema = index.IntegrationWithStateSchema;
6052
7149
  exports.IntercomAbilitySchema = index.IntercomAbilitySchema;
6053
7150
  exports.IntercomStatusSchema = index.IntercomStatusSchema;
7151
+ exports.LawnMowerActivitySchema = index.LawnMowerActivitySchema;
7152
+ exports.LawnMowerControlStatusSchema = index.LawnMowerControlStatusSchema;
6054
7153
  exports.LocationStatSchema = index.LocationStatSchema;
7154
+ exports.LockControlStatusSchema = index.LockControlStatusSchema;
7155
+ exports.LockStateSchema = index.LockStateSchema;
6055
7156
  exports.LogEntrySchema = index.LogEntrySchema;
6056
7157
  exports.LogLevelSchema = index.LogLevelSchema;
6057
7158
  exports.LogStreamEntrySchema = index.LogStreamEntrySchema;
@@ -6066,6 +7167,9 @@ exports.MaskRectShapeSchema = index.MaskRectShapeSchema;
6066
7167
  exports.MaskShapeKindSchema = index.MaskShapeKindSchema;
6067
7168
  exports.MaskShapeSchema = index.MaskShapeSchema;
6068
7169
  exports.MediaFileSchema = index.MediaFileSchema;
7170
+ exports.MediaPlayerRepeatSchema = index.MediaPlayerRepeatSchema;
7171
+ exports.MediaPlayerStateSchema = index.MediaPlayerStateSchema;
7172
+ exports.MediaPlayerStatusSchema = index.MediaPlayerStatusSchema;
6069
7173
  exports.MeshPeerSchema = index.MeshPeerSchema;
6070
7174
  exports.MeshStatusSchema = index.MeshStatusSchema;
6071
7175
  exports.MethodAccessSchema = index.MethodAccessSchema;
@@ -6093,6 +7197,8 @@ exports.NetworkEndpointSchema = index.NetworkEndpointSchema;
6093
7197
  exports.NotificationHistoryEntrySchema = index.NotificationHistoryEntrySchema;
6094
7198
  exports.NotificationRuleSchema = index.NotificationRuleSchema;
6095
7199
  exports.NotificationSchema = index.NotificationSchema;
7200
+ exports.NotifierStatusSchema = index.NotifierStatusSchema;
7201
+ exports.NumericSensorStatusSchema = index.NumericSensorStatusSchema;
6096
7202
  exports.OauthIntegrationDescriptorSchema = index.OauthIntegrationDescriptorSchema;
6097
7203
  exports.ObjectEventSchema = index.ObjectEventSchema;
6098
7204
  exports.OrchestratorMetricsSchema = index.OrchestratorMetricsSchema;
@@ -6108,6 +7214,9 @@ exports.PackageVersionInfoSchema = index.PackageVersionInfoSchema;
6108
7214
  exports.PasskeySummarySchema = index.PasskeySummarySchema;
6109
7215
  exports.PcmSampleFormatSchema = index.PcmSampleFormatSchema;
6110
7216
  exports.PerScopeBreakdownSchema = index.PerScopeBreakdownSchema;
7217
+ exports.PickStreamPreferencesSchema = index.PickStreamPreferencesSchema;
7218
+ exports.PickStreamRequirementsSchema = index.PickStreamRequirementsSchema;
7219
+ exports.PickedCamStreamSchema = index.PickedCamStreamSchema;
6111
7220
  exports.PipelineAssignmentSchema = index.PipelineAssignmentSchema;
6112
7221
  exports.PipelineDefaultStepSchema = index.PipelineDefaultStepSchema;
6113
7222
  exports.PipelineEngineChoiceSchema = index.PipelineEngineChoiceSchema;
@@ -6115,11 +7224,15 @@ exports.PipelineRunResultBridge = index.PipelineRunResultBridge;
6115
7224
  exports.PipelineStepInputSchema = index.PipelineStepInputSchema;
6116
7225
  exports.PlaceholderReasonSchema = index.PlaceholderReasonSchema;
6117
7226
  exports.PolygonPointSchema = index.PolygonPointSchema;
7227
+ exports.PowerMeterStatusSchema = index.PowerMeterStatusSchema;
7228
+ exports.PresenceStatusSchema = index.PresenceStatusSchema;
7229
+ exports.PressureSensorStatusSchema = index.PressureSensorStatusSchema;
6118
7230
  exports.PrivacyMaskOptionsSchema = index.PrivacyMaskOptionsSchema;
6119
7231
  exports.PrivacyMaskPatchSchema = index.PrivacyMaskPatchSchema;
6120
7232
  exports.PrivacyMaskRegionSchema = index.PrivacyMaskRegionSchema;
6121
7233
  exports.PrivacyMaskShapeSchema = index.PrivacyMaskShapeSchema;
6122
7234
  exports.PrivacyMaskStatusSchema = index.PrivacyMaskStatusSchema;
7235
+ exports.ProfileRtspEntrySchema = index.ProfileRtspEntrySchema;
6123
7236
  exports.ProfileSlotSchema = index.ProfileSlotSchema;
6124
7237
  exports.ProfileSlotStatusSchema = index.ProfileSlotStatusSchema;
6125
7238
  exports.ProviderStatusSchema = index.ProviderStatusSchema;
@@ -6132,6 +7245,20 @@ exports.PtzPositionSchema = index.PtzPositionSchema;
6132
7245
  exports.PtzPresetSchema = index.PtzPresetSchema;
6133
7246
  exports.PtzStatusSchema = index.PtzStatusSchema;
6134
7247
  exports.QueryFilterSchema = index.QueryFilterSchema;
7248
+ exports.RawStateResultSchema = index.RawStateResultSchema;
7249
+ exports.RecordingAvailabilitySchema = index.RecordingAvailabilitySchema;
7250
+ exports.RecordingConfigSchema = index.RecordingConfigSchema;
7251
+ exports.RecordingDeviceUsageSchema = index.RecordingDeviceUsageSchema;
7252
+ exports.RecordingLocationUsageSchema = index.RecordingLocationUsageSchema;
7253
+ exports.RecordingManifestSchema = index.RecordingManifestSchema;
7254
+ exports.RecordingModeSchema = index.RecordingModeSchema;
7255
+ exports.RecordingRangeSchema = index.RecordingRangeSchema;
7256
+ exports.RecordingRetentionSchema = index.RecordingRetentionSchema;
7257
+ exports.RecordingRuleSchema = index.RecordingRuleSchema;
7258
+ exports.RecordingScheduleSchema = index.RecordingScheduleSchema;
7259
+ exports.RecordingStatusSchema = index.RecordingStatusSchema;
7260
+ exports.RecordingStorageUsageSchema = index.RecordingStorageUsageSchema;
7261
+ exports.RecordingWeekdaySchema = index.RecordingWeekdaySchema;
6135
7262
  exports.RegisteredStreamSchema = index.RegisteredStreamSchema;
6136
7263
  exports.ReportMotionInputSchema = index.ReportMotionInputSchema;
6137
7264
  exports.RtpSourceSchema = index.RtpSourceSchema;
@@ -6140,11 +7267,11 @@ exports.RunnerCameraConfigSchema = index.RunnerCameraConfigSchema;
6140
7267
  exports.RunnerCameraDeviceUIFields = index.RunnerCameraDeviceUIFields;
6141
7268
  exports.RunnerLocalLoadSchema = index.RunnerLocalLoadSchema;
6142
7269
  exports.RunnerLocalMetricsSchema = index.RunnerLocalMetricsSchema;
6143
- exports.STORAGE_LOCATION_CARDINALITY = index.STORAGE_LOCATION_CARDINALITY;
7270
+ exports.SOURCE_INFO_METADATA_KEY = index.SOURCE_INFO_METADATA_KEY;
6144
7271
  exports.ScopedTokenSchema = index.ScopedTokenSchema;
6145
7272
  exports.ScopedTokenSummarySchema = index.ScopedTokenSummarySchema;
7273
+ exports.ScriptRunnerStatusSchema = index.ScriptRunnerStatusSchema;
6146
7274
  exports.SearchResultSchema = index.SearchResultSchema;
6147
- exports.SegmentSchema = index.SegmentSchema;
6148
7275
  exports.SendEmailInputSchema = index.SendEmailInputSchema;
6149
7276
  exports.SendEmailResultSchema = index.SendEmailResultSchema;
6150
7277
  exports.SettingsPatchSchema = index.SettingsPatchSchema;
@@ -6152,8 +7279,10 @@ exports.SettingsRecordSchema = index.SettingsRecordSchema;
6152
7279
  exports.SettingsSchemaWithValuesSchema = index.SettingsSchemaWithValuesSchema;
6153
7280
  exports.SettingsUpdateResultSchema = index.SettingsUpdateResultSchema;
6154
7281
  exports.ShmRingStatsSchema = index.ShmRingStatsSchema;
7282
+ exports.SmokeStatusSchema = index.SmokeStatusSchema;
6155
7283
  exports.SmtpStatusSchema = index.SmtpStatusSchema;
6156
7284
  exports.SnapshotImageSchema = index.SnapshotImageSchema;
7285
+ exports.SourceInfoSchema = index.SourceInfoSchema;
6157
7286
  exports.SpatialDetectionSchema = index.SpatialDetectionSchema;
6158
7287
  exports.SsoBridgeClaimsSchema = index.SsoBridgeClaimsSchema;
6159
7288
  exports.StartEmbeddedInputSchema = index.StartEmbeddedInputSchema;
@@ -6164,6 +7293,7 @@ exports.StorageBeginUploadInputSchema = index.BeginUploadInputSchema;
6164
7293
  exports.StorageBeginUploadResultSchema = index.BeginUploadResultSchema;
6165
7294
  exports.StorageEndDownloadInputSchema = index.EndDownloadInputSchema;
6166
7295
  exports.StorageFinalizeUploadInputSchema = index.FinalizeUploadInputSchema;
7296
+ exports.StorageLocationDeclarationSchema = index.StorageLocationDeclarationSchema;
6167
7297
  exports.StorageLocationRefSchema = index.StorageLocationRefSchema;
6168
7298
  exports.StorageLocationSchema = index.StorageLocationSchema;
6169
7299
  exports.StorageLocationTypeSchema = index.StorageLocationTypeSchema;
@@ -6171,6 +7301,7 @@ exports.StorageProviderInfoSchema = index.ProviderInfoSchema;
6171
7301
  exports.StorageReadChunkInputSchema = index.ReadChunkInputSchema;
6172
7302
  exports.StorageTestLocationResultSchema = index.TestLocationResultSchema;
6173
7303
  exports.StorageWriteChunkInputSchema = index.WriteChunkInputSchema;
7304
+ exports.StreamCodecSchema = index.StreamCodecSchema;
6174
7305
  exports.StreamFormatSchema = index.StreamFormatSchema;
6175
7306
  exports.StreamInfoSchema = index.StreamInfoSchema;
6176
7307
  exports.StreamNetworkStatsSchema = index.StreamNetworkStatsSchema;
@@ -6188,7 +7319,10 @@ exports.SubscribeFramesInputSchema = index.SubscribeFramesInputSchema;
6188
7319
  exports.SubscribeFramesResultSchema = index.SubscribeFramesResultSchema;
6189
7320
  exports.SwitchStatusSchema = index.SwitchStatusSchema;
6190
7321
  exports.SystemMetricsSchema = index.SystemMetricsSchema;
6191
- exports.TestConnectionResultSchema = index.TestConnectionResultSchema;
7322
+ exports.TamperStatusSchema = index.TamperStatusSchema;
7323
+ exports.TankStatusSchema = index.TankStatusSchema;
7324
+ exports.TemperatureSensorStatusSchema = index.TemperatureSensorStatusSchema;
7325
+ exports.TestConnectionResultSchema = index.TestConnectionResultSchema$1;
6192
7326
  exports.ToastSchema = index.ToastSchema;
6193
7327
  exports.TokenScopeSchema = index.TokenScopeSchema;
6194
7328
  exports.TopologyNodeSchema = index.TopologyNodeSchema;
@@ -6198,12 +7332,22 @@ exports.TrackSchema = index.TrackSchema;
6198
7332
  exports.TrackStateSchema = index.TrackStateSchema;
6199
7333
  exports.TrackedDetectionSchema = index.TrackedDetectionSchema;
6200
7334
  exports.TurnServerSchema = index.TurnServerSchema;
7335
+ exports.UnifiedBrokerInfoSchema = index.BrokerInfoSchema$1;
6201
7336
  exports.UpdateIntegrationInputSchema = index.UpdateIntegrationInputSchema;
7337
+ exports.UpdateStatusSchema = index.UpdateStatusSchema;
6202
7338
  exports.UpdateUserInputSchema = index.UpdateUserInputSchema;
6203
7339
  exports.UserRecordSchema = index.UserRecordSchema;
6204
7340
  exports.UserSummarySchema = index.UserSummarySchema;
7341
+ exports.VacuumControlStatusSchema = index.VacuumControlStatusSchema;
7342
+ exports.VacuumStateSchema = index.VacuumStateSchema;
7343
+ exports.ValveStateSchema = index.ValveStateSchema;
7344
+ exports.ValveStatusSchema = index.ValveStatusSchema;
7345
+ exports.VibrationStatusSchema = index.VibrationStatusSchema;
7346
+ exports.VideoEncodeSchema = index.VideoEncodeSchema;
6205
7347
  exports.WELL_KNOWN_TABS = index.WELL_KNOWN_TABS;
6206
7348
  exports.WELL_KNOWN_TAB_MAP = index.WELL_KNOWN_TAB_MAP;
7349
+ exports.WaterHeaterStatusSchema = index.WaterHeaterStatusSchema;
7350
+ exports.WeatherStatusSchema = index.WeatherStatusSchema;
6207
7351
  exports.WebrtcStreamChoiceSchema = index.WebrtcStreamChoiceSchema;
6208
7352
  exports.WebrtcStreamTargetSchema = index.WebrtcStreamTargetSchema;
6209
7353
  exports.WidgetHostEnum = index.WidgetHostEnum;
@@ -6229,20 +7373,36 @@ exports.addonWidgetsSourceCapability = index.addonWidgetsSourceCapability;
6229
7373
  exports.addonsCapability = index.addonsCapability;
6230
7374
  exports.adminUiCapability = index.adminUiCapability;
6231
7375
  exports.advancedNotifierCapability = index.advancedNotifierCapability;
7376
+ exports.airQualitySensorCapability = index.airQualitySensorCapability;
7377
+ exports.alarmPanelCapability = index.alarmPanelCapability;
6232
7378
  exports.alertsCapability = index.alertsCapability;
7379
+ exports.ambientLightSensorCapability = index.ambientLightSensorCapability;
6233
7380
  exports.audioAnalysisCapability = index.audioAnalysisCapability;
6234
7381
  exports.audioAnalyzerCapability = index.audioAnalyzerCapability;
6235
7382
  exports.audioCodecCapability = index.audioCodecCapability;
6236
7383
  exports.audioMetricsCapability = index.audioMetricsCapability;
6237
7384
  exports.authProviderCapability = index.authProviderCapability;
7385
+ exports.automationControlCapability = index.automationControlCapability;
6238
7386
  exports.backupCapability = index.backupCapability;
6239
7387
  exports.batteryCapability = index.batteryCapability;
7388
+ exports.binaryCapability = index.binaryCapability;
6240
7389
  exports.brightnessCapability = index.brightnessCapability;
7390
+ exports.brokerCapability = index.brokerCapability;
7391
+ exports.buttonCapability = index.buttonCapability;
6241
7392
  exports.cameraCredentialsCapability = index.cameraCredentialsCapability;
6242
7393
  exports.cameraPipelineConfigCapability = index.cameraPipelineConfigCapability;
6243
7394
  exports.cameraStreamsCapability = index.cameraStreamsCapability;
7395
+ exports.carbonMonoxideCapability = index.carbonMonoxideCapability;
7396
+ exports.climateControlCapability = index.climateControlCapability;
7397
+ exports.colorCapability = index.colorCapability;
7398
+ exports.connectivityCapability = index.connectivityCapability;
7399
+ exports.consumablesCapability = index.consumablesCapability;
7400
+ exports.contactCapability = index.contactCapability;
7401
+ exports.controlCapability = index.controlCapability;
7402
+ exports.coverCapability = index.coverCapability;
6244
7403
  exports.decoderCapability = index.decoderCapability;
6245
7404
  exports.detectionPipelineCapability = index.detectionPipelineCapability;
7405
+ exports.deviceAdoptionCapability = index.deviceAdoptionCapability;
6246
7406
  exports.deviceDiscoveryCapability = index.deviceDiscoveryCapability;
6247
7407
  exports.deviceExportCapability = index.deviceExportCapability;
6248
7408
  exports.deviceManagerCapability = index.deviceManagerCapability;
@@ -6253,19 +7413,35 @@ exports.deviceStateCapability = index.deviceStateCapability;
6253
7413
  exports.deviceStatusCapability = index.deviceStatusCapability;
6254
7414
  exports.doorbellCapability = index.doorbellCapability;
6255
7415
  exports.embeddingEncoderCapability = index.embeddingEncoderCapability;
7416
+ exports.encodeProfileFromStreamShape = index.encodeProfileFromStreamShape;
7417
+ exports.enumSensorCapability = index.enumSensorCapability;
6256
7418
  exports.errMsg = index.errMsg;
6257
7419
  exports.event = index.event;
7420
+ exports.eventEmitterCapability = index.eventEmitterCapability;
6258
7421
  exports.eventsCapability = index.eventsCapability;
6259
7422
  exports.expandCapMethods = index.expandCapMethods;
7423
+ exports.extractSourceInfoFromMetadata = index.extractSourceInfoFromMetadata;
7424
+ exports.fanControlCapability = index.fanControlCapability;
6260
7425
  exports.featureProbeCapability = index.featureProbeCapability;
7426
+ exports.floodCapability = index.floodCapability;
7427
+ exports.gasCapability = index.gasCapability;
6261
7428
  exports.getAudioMacroClassIds = index.getAudioMacroClassIds;
7429
+ exports.humidifierCapability = index.humidifierCapability;
7430
+ exports.humiditySensorCapability = index.humiditySensorCapability;
6262
7431
  exports.hydrateSchema = index.hydrateSchema;
7432
+ exports.imageCapability = index.imageCapability;
6263
7433
  exports.integrationsCapability = index.integrationsCapability;
6264
7434
  exports.intercomCapability = index.intercomCapability;
6265
7435
  exports.isDeviceConfigCap = index.isDeviceConfigCap;
7436
+ exports.lawnMowerControlCapability = index.lawnMowerControlCapability;
6266
7437
  exports.localNetworkCapability = index.localNetworkCapability;
7438
+ exports.lockControlCapability = index.lockControlCapability;
6267
7439
  exports.logDestinationCapability = index.logDestinationCapability;
7440
+ exports.makeProfileBrokerId = index.makeProfileBrokerId;
7441
+ exports.makeSourceBrokerId = index.makeSourceBrokerId;
6268
7442
  exports.mapAudioLabelToMacro = index.mapAudioLabelToMacro;
7443
+ exports.mediaPlayerCapability = index.mediaPlayerCapability;
7444
+ exports.mergeSourceInfo = index.mergeSourceInfo;
6269
7445
  exports.meshNetworkCapability = index.meshNetworkCapability;
6270
7446
  exports.method = index.method;
6271
7447
  exports.metricsProviderCapability = index.metricsProviderCapability;
@@ -6278,39 +7454,58 @@ exports.nativeObjectDetectionCapability = index.nativeObjectDetectionCapability;
6278
7454
  exports.networkAccessCapability = index.networkAccessCapability;
6279
7455
  exports.networkQualityCapability = index.networkQualityCapability;
6280
7456
  exports.nodesCapability = index.nodesCapability;
7457
+ exports.normalizeUnit = index.normalizeUnit;
6281
7458
  exports.notificationOutputCapability = index.notificationOutputCapability;
7459
+ exports.notifierCapability = index.notifierCapability;
7460
+ exports.numericSensorCapability = index.numericSensorCapability;
6282
7461
  exports.oauthIntegrationCapability = index.oauthIntegrationCapability;
6283
7462
  exports.osdCapability = index.osdCapability;
7463
+ exports.parseProfileBrokerId = index.parseProfileBrokerId;
6284
7464
  exports.pipelineAnalyticsCapability = index.pipelineAnalyticsCapability;
6285
7465
  exports.pipelineExecutorCapability = index.pipelineExecutorCapability;
6286
7466
  exports.pipelineOrchestratorCapability = index.pipelineOrchestratorCapability;
6287
7467
  exports.pipelineRunnerCapability = index.pipelineRunnerCapability;
6288
7468
  exports.platformProbeCapability = index.platformProbeCapability;
7469
+ exports.powerMeterCapability = index.powerMeterCapability;
7470
+ exports.presenceCapability = index.presenceCapability;
7471
+ exports.pressureSensorCapability = index.pressureSensorCapability;
6289
7472
  exports.privacyMaskCapability = index.privacyMaskCapability;
6290
7473
  exports.ptzAutotrackCapability = index.ptzAutotrackCapability;
6291
7474
  exports.ptzCapability = index.ptzCapability;
6292
7475
  exports.rebootCapability = index.rebootCapability;
6293
7476
  exports.recordingCapability = index.recordingCapability;
6294
- exports.recordingEngineCapability = index.recordingEngineCapability;
6295
7477
  exports.resolveDeviceProfile = index.resolveDeviceProfile;
6296
7478
  exports.restreamerCapability = index.restreamerCapability;
7479
+ exports.scriptRunnerCapability = index.scriptRunnerCapability;
7480
+ exports.selectAssignedProfileSlots = index.selectAssignedProfileSlots;
6297
7481
  exports.settingsStoreCapability = index.settingsStoreCapability;
7482
+ exports.smokeCapability = index.smokeCapability;
6298
7483
  exports.smtpProviderCapability = index.smtpProviderCapability;
6299
7484
  exports.snapshotCapability = index.snapshotCapability;
6300
7485
  exports.snapshotProviderCapability = index.snapshotProviderCapability;
6301
7486
  exports.ssoBridgeCapability = index.ssoBridgeCapability;
6302
7487
  exports.storageCapability = index.storageCapability;
7488
+ exports.storageEvictableCapability = index.storageEvictableCapability;
6303
7489
  exports.storageProviderCapability = index.storageProviderCapability;
6304
7490
  exports.streamBrokerCapability = index.streamBrokerCapability;
6305
7491
  exports.streamCatalogCapability = index.streamCatalogCapability;
6306
7492
  exports.streamParamsCapability = index.streamParamsCapability;
6307
7493
  exports.streamingEngineCapability = index.streamingEngineCapability;
6308
7494
  exports.switchCapability = index.switchCapability;
7495
+ exports.synthesizeSourceInfo = index.synthesizeSourceInfo;
6309
7496
  exports.systemCapability = index.systemCapability;
7497
+ exports.tamperCapability = index.tamperCapability;
7498
+ exports.temperatureSensorCapability = index.temperatureSensorCapability;
6310
7499
  exports.toastCapability = index.toastCapability;
6311
7500
  exports.turnProviderCapability = index.turnProviderCapability;
7501
+ exports.updateCapability = index.updateCapability;
6312
7502
  exports.userManagementCapability = index.userManagementCapability;
6313
7503
  exports.userPasskeysCapability = index.userPasskeysCapability;
7504
+ exports.vacuumControlCapability = index.vacuumControlCapability;
7505
+ exports.valveCapability = index.valveCapability;
7506
+ exports.vibrationCapability = index.vibrationCapability;
7507
+ exports.waterHeaterCapability = index.waterHeaterCapability;
7508
+ exports.weatherCapability = index.weatherCapability;
6314
7509
  exports.webrtcCapability = index.webrtcCapability;
6315
7510
  exports.webrtcClientHintsSchema = index.webrtcClientHintsSchema;
6316
7511
  exports.webrtcSessionCapability = index.webrtcSessionCapability;
@@ -6333,9 +7528,9 @@ exports.CAP_NAMES_WITH_STATUS = CAP_NAMES_WITH_STATUS;
6333
7528
  exports.CAP_PROVIDER_KIND_MAP = CAP_PROVIDER_KIND_MAP;
6334
7529
  exports.COCO_80_LABELS = COCO_80_LABELS;
6335
7530
  exports.COCO_TO_MACRO = COCO_TO_MACRO;
7531
+ exports.DATAPLANE_SECRET_HEADER = DATAPLANE_SECRET_HEADER;
6336
7532
  exports.DEFAULT_ADDON_PLACEMENT = DEFAULT_ADDON_PLACEMENT;
6337
7533
  exports.DEFAULT_FEATURES = DEFAULT_FEATURES;
6338
- exports.DEFAULT_LOCATION_SUBDIRS = DEFAULT_LOCATION_SUBDIRS;
6339
7534
  exports.DEFAULT_RETENTION = DEFAULT_RETENTION;
6340
7535
  exports.DEVICE_CAP_NAMES = DEVICE_CAP_NAMES;
6341
7536
  exports.DEVICE_TYPE_INFO = DEVICE_TYPE_INFO;
@@ -6359,18 +7554,20 @@ exports.ReadinessRegistry = ReadinessRegistry;
6359
7554
  exports.ReadinessTimeoutError = ReadinessTimeoutError;
6360
7555
  exports.RingBuffer = RingBuffer;
6361
7556
  exports.SCOPE_PRESETS = SCOPE_PRESETS;
6362
- exports.STORAGE_LOCATION_TYPES = STORAGE_LOCATION_TYPES;
6363
7557
  exports.STREAM_PROFILE_META = STREAM_PROFILE_META;
6364
7558
  exports.STREAM_QUALITY_LABELS = STREAM_QUALITY_LABELS;
6365
7559
  exports.SUB_DETECTION_TYPES = SUB_DETECTION_TYPES;
6366
7560
  exports.SYSTEM_CAP_NAMES = SYSTEM_CAP_NAMES;
6367
7561
  exports.SystemMirror = SystemMirror;
7562
+ exports.TIMEZONES = TIMEZONES;
7563
+ exports.applyTransform = applyTransform;
6368
7564
  exports.asBoolean = asBoolean;
6369
7565
  exports.asJsonArray = asJsonArray;
6370
7566
  exports.asJsonObject = asJsonObject;
6371
7567
  exports.asNumber = asNumber;
6372
7568
  exports.asString = asString;
6373
7569
  exports.autoAssignProfiles = autoAssignProfiles;
7570
+ exports.bestLocationMatch = bestLocationMatch;
6374
7571
  exports.bindAddonActions = bindAddonActions;
6375
7572
  exports.buildAddonRouteProvider = buildAddonRouteProvider;
6376
7573
  exports.buildStreamParamsConfigSchema = buildStreamParamsConfigSchema;
@@ -6379,6 +7576,7 @@ exports.classifyStream = classifyStream;
6379
7576
  exports.classifyStreams = classifyStreams;
6380
7577
  exports.cosineSimilarity = cosineSimilarity;
6381
7578
  exports.createDeviceProxy = createDeviceProxy;
7579
+ exports.createDurableState = createDurableState;
6382
7580
  exports.createEvent = createEvent;
6383
7581
  exports.createLazyTrpcSource = createLazyTrpcSource;
6384
7582
  exports.createMirrorSource = createMirrorSource;
@@ -6387,16 +7585,21 @@ exports.createSliceHandle = createSliceHandle;
6387
7585
  exports.createSystemProxy = createSystemProxy;
6388
7586
  exports.customAction = customAction;
6389
7587
  exports.defineCustomActions = defineCustomActions;
7588
+ exports.deviceCustomAction = deviceCustomAction;
6390
7589
  exports.emitDownForOwnedCaps = emitDownForOwnedCaps;
6391
7590
  exports.emitReadiness = emitReadiness;
7591
+ exports.enumerateSchemaFields = enumerateSchemaFields;
6392
7592
  exports.evaluateZoneRules = evaluateZoneRules;
7593
+ exports.findTimezone = findTimezone;
6393
7594
  exports.formatForBackend = formatForBackend;
6394
7595
  exports.formatForRuntime = formatForRuntime;
7596
+ exports.getByPath = getByPath;
6395
7597
  exports.getCapsByProviderKind = getCapsByProviderKind;
6396
7598
  exports.hfModelUrl = hfModelUrl;
6397
7599
  exports.isAgentOnlyPlacement = isAgentOnlyPlacement;
6398
7600
  exports.isDeployableToAgent = isDeployableToAgent;
6399
7601
  exports.isEvent = isEvent;
7602
+ exports.locationSimilarity = locationSimilarity;
6400
7603
  exports.maskUrlCredentials = maskUrlCredentials;
6401
7604
  exports.normalizeAddonInitResult = normalizeAddonInitResult;
6402
7605
  exports.parseCameraStreamConfig = parseCameraStreamConfig;
@@ -6404,6 +7607,7 @@ exports.parseJsonArray = parseJsonArray;
6404
7607
  exports.parseJsonObject = parseJsonObject;
6405
7608
  exports.parseJsonUnknown = parseJsonUnknown;
6406
7609
  exports.parseStreamParamsFormPatch = parseStreamParamsFormPatch;
7610
+ exports.pickPreferredRtspEntry = pickPreferredRtspEntry;
6407
7611
  exports.pythonScriptForBackend = pythonScriptForBackend;
6408
7612
  exports.readinessKey = readinessKey;
6409
7613
  exports.rectsToCells = rectsToCells;
@@ -6417,6 +7621,9 @@ exports.resolveModelFormat = resolveModelFormat;
6417
7621
  exports.resolveRunnerId = resolveRunnerId;
6418
7622
  exports.runInferenceStep = runInferenceStep;
6419
7623
  exports.scopeKey = scopeKey;
7624
+ exports.setByPath = setByPath;
7625
+ exports.sleep = sleep;
7626
+ exports.sleepCancellable = sleepCancellable;
6420
7627
  exports.streamPixels = streamPixels;
6421
7628
  exports.streamQualityLabel = streamQualityLabel;
6422
7629
  exports.toDeviceSummary = toDeviceSummary;