@camstack/types 0.1.39 → 0.1.41

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (323) hide show
  1. package/dist/addon/base-addon.d.ts +14 -2
  2. package/dist/addon/base-addon.d.ts.map +1 -1
  3. package/dist/addon/durable-state.d.ts +33 -0
  4. package/dist/addon/durable-state.d.ts.map +1 -0
  5. package/dist/capabilities/accessories.cap.d.ts +56 -8
  6. package/dist/capabilities/accessories.cap.d.ts.map +1 -1
  7. package/dist/capabilities/addon-settings.cap.d.ts +1 -0
  8. package/dist/capabilities/addon-settings.cap.d.ts.map +1 -1
  9. package/dist/capabilities/addons.cap.d.ts +187 -1
  10. package/dist/capabilities/addons.cap.d.ts.map +1 -1
  11. package/dist/capabilities/advanced-notifier.cap.d.ts +4 -0
  12. package/dist/capabilities/advanced-notifier.cap.d.ts.map +1 -1
  13. package/dist/capabilities/air-quality-sensor.cap.d.ts +56 -0
  14. package/dist/capabilities/air-quality-sensor.cap.d.ts.map +1 -0
  15. package/dist/capabilities/alarm-panel.cap.d.ts +154 -0
  16. package/dist/capabilities/alarm-panel.cap.d.ts.map +1 -0
  17. package/dist/capabilities/alerts.cap.d.ts +5 -5
  18. package/dist/capabilities/ambient-light-sensor.cap.d.ts +39 -0
  19. package/dist/capabilities/ambient-light-sensor.cap.d.ts.map +1 -0
  20. package/dist/capabilities/audio-analyzer.cap.d.ts +2 -2
  21. package/dist/capabilities/automation-control.cap.d.ts +65 -0
  22. package/dist/capabilities/automation-control.cap.d.ts.map +1 -0
  23. package/dist/capabilities/battery.cap.d.ts +30 -1
  24. package/dist/capabilities/battery.cap.d.ts.map +1 -1
  25. package/dist/capabilities/binary.cap.d.ts +40 -0
  26. package/dist/capabilities/binary.cap.d.ts.map +1 -0
  27. package/dist/capabilities/brightness.cap.d.ts +3 -2
  28. package/dist/capabilities/brightness.cap.d.ts.map +1 -1
  29. package/dist/capabilities/broker.cap.d.ts +291 -0
  30. package/dist/capabilities/broker.cap.d.ts.map +1 -0
  31. package/dist/capabilities/button.cap.d.ts +27 -0
  32. package/dist/capabilities/button.cap.d.ts.map +1 -0
  33. package/dist/capabilities/camera-credentials.cap.d.ts +1 -0
  34. package/dist/capabilities/camera-credentials.cap.d.ts.map +1 -1
  35. package/dist/capabilities/camera-pipeline-config.cap.d.ts +43 -0
  36. package/dist/capabilities/camera-pipeline-config.cap.d.ts.map +1 -0
  37. package/dist/capabilities/camera-streams.cap.d.ts +147 -10
  38. package/dist/capabilities/camera-streams.cap.d.ts.map +1 -1
  39. package/dist/capabilities/capability-definition.d.ts +15 -0
  40. package/dist/capabilities/capability-definition.d.ts.map +1 -1
  41. package/dist/capabilities/carbon-monoxide.cap.d.ts +33 -0
  42. package/dist/capabilities/carbon-monoxide.cap.d.ts.map +1 -0
  43. package/dist/capabilities/climate-control.cap.d.ts +183 -0
  44. package/dist/capabilities/climate-control.cap.d.ts.map +1 -0
  45. package/dist/capabilities/color.cap.d.ts +186 -0
  46. package/dist/capabilities/color.cap.d.ts.map +1 -0
  47. package/dist/capabilities/connectivity.cap.d.ts +37 -0
  48. package/dist/capabilities/connectivity.cap.d.ts.map +1 -0
  49. package/dist/capabilities/consumables.cap.d.ts +105 -0
  50. package/dist/capabilities/consumables.cap.d.ts.map +1 -0
  51. package/dist/capabilities/contact.cap.d.ts +41 -0
  52. package/dist/capabilities/contact.cap.d.ts.map +1 -0
  53. package/dist/capabilities/control.cap.d.ts +167 -0
  54. package/dist/capabilities/control.cap.d.ts.map +1 -0
  55. package/dist/capabilities/cover.cap.d.ts +104 -0
  56. package/dist/capabilities/cover.cap.d.ts.map +1 -0
  57. package/dist/capabilities/custom-actions.d.ts +6 -0
  58. package/dist/capabilities/custom-actions.d.ts.map +1 -1
  59. package/dist/capabilities/decoder.cap.d.ts +1 -1
  60. package/dist/capabilities/device-adoption.cap.d.ts +203 -0
  61. package/dist/capabilities/device-adoption.cap.d.ts.map +1 -0
  62. package/dist/capabilities/device-discovery.cap.d.ts +44 -143
  63. package/dist/capabilities/device-discovery.cap.d.ts.map +1 -1
  64. package/dist/capabilities/device-manager.cap.d.ts +469 -0
  65. package/dist/capabilities/device-manager.cap.d.ts.map +1 -1
  66. package/dist/capabilities/device-ops.cap.d.ts +30 -0
  67. package/dist/capabilities/device-ops.cap.d.ts.map +1 -1
  68. package/dist/capabilities/device-provider.cap.d.ts +36 -0
  69. package/dist/capabilities/device-provider.cap.d.ts.map +1 -1
  70. package/dist/capabilities/device-status.cap.d.ts +1 -0
  71. package/dist/capabilities/device-status.cap.d.ts.map +1 -1
  72. package/dist/capabilities/doorbell.cap.d.ts +1 -0
  73. package/dist/capabilities/doorbell.cap.d.ts.map +1 -1
  74. package/dist/capabilities/enum-sensor.cap.d.ts +60 -0
  75. package/dist/capabilities/enum-sensor.cap.d.ts.map +1 -0
  76. package/dist/capabilities/event-emitter.cap.d.ts +79 -0
  77. package/dist/capabilities/event-emitter.cap.d.ts.map +1 -0
  78. package/dist/capabilities/fan-control.cap.d.ts +100 -0
  79. package/dist/capabilities/fan-control.cap.d.ts.map +1 -0
  80. package/dist/capabilities/feature-probe.cap.d.ts +1 -0
  81. package/dist/capabilities/feature-probe.cap.d.ts.map +1 -1
  82. package/dist/capabilities/flood.cap.d.ts +37 -0
  83. package/dist/capabilities/flood.cap.d.ts.map +1 -0
  84. package/dist/capabilities/gas.cap.d.ts +34 -0
  85. package/dist/capabilities/gas.cap.d.ts.map +1 -0
  86. package/dist/capabilities/humidifier.cap.d.ts +82 -0
  87. package/dist/capabilities/humidifier.cap.d.ts.map +1 -0
  88. package/dist/capabilities/humidity-sensor.cap.d.ts +43 -0
  89. package/dist/capabilities/humidity-sensor.cap.d.ts.map +1 -0
  90. package/dist/capabilities/image.cap.d.ts +44 -0
  91. package/dist/capabilities/image.cap.d.ts.map +1 -0
  92. package/dist/capabilities/index.d.ts +103 -15
  93. package/dist/capabilities/index.d.ts.map +1 -1
  94. package/dist/capabilities/integrations.cap.d.ts +12 -0
  95. package/dist/capabilities/integrations.cap.d.ts.map +1 -1
  96. package/dist/capabilities/intercom.cap.d.ts +49 -9
  97. package/dist/capabilities/intercom.cap.d.ts.map +1 -1
  98. package/dist/capabilities/lawn-mower-control.cap.d.ts +83 -0
  99. package/dist/capabilities/lawn-mower-control.cap.d.ts.map +1 -0
  100. package/dist/capabilities/local-network.cap.d.ts +1 -1
  101. package/dist/capabilities/lock-control.cap.d.ts +92 -0
  102. package/dist/capabilities/lock-control.cap.d.ts.map +1 -0
  103. package/dist/capabilities/mask-shape.d.ts +99 -0
  104. package/dist/capabilities/mask-shape.d.ts.map +1 -0
  105. package/dist/capabilities/media-player.cap.d.ts +201 -0
  106. package/dist/capabilities/media-player.cap.d.ts.map +1 -0
  107. package/dist/capabilities/mesh-network.cap.d.ts +3 -3
  108. package/dist/capabilities/motion-trigger.cap.d.ts +1 -0
  109. package/dist/capabilities/motion-trigger.cap.d.ts.map +1 -1
  110. package/dist/capabilities/motion-zones.cap.d.ts +95 -13
  111. package/dist/capabilities/motion-zones.cap.d.ts.map +1 -1
  112. package/dist/capabilities/mqtt-broker.cap.d.ts +3 -3
  113. package/dist/capabilities/native-object-detection.cap.d.ts +74 -3
  114. package/dist/capabilities/native-object-detection.cap.d.ts.map +1 -1
  115. package/dist/capabilities/network-access.cap.d.ts +7 -7
  116. package/dist/capabilities/network-quality.cap.d.ts +5 -0
  117. package/dist/capabilities/network-quality.cap.d.ts.map +1 -1
  118. package/dist/capabilities/notifier.cap.d.ts +173 -0
  119. package/dist/capabilities/notifier.cap.d.ts.map +1 -0
  120. package/dist/capabilities/numeric-sensor.cap.d.ts +52 -0
  121. package/dist/capabilities/numeric-sensor.cap.d.ts.map +1 -0
  122. package/dist/capabilities/oauth-integration.cap.d.ts +4 -2
  123. package/dist/capabilities/oauth-integration.cap.d.ts.map +1 -1
  124. package/dist/capabilities/osd.cap.d.ts +1 -0
  125. package/dist/capabilities/osd.cap.d.ts.map +1 -1
  126. package/dist/capabilities/pipeline-analytics.cap.d.ts +69 -22
  127. package/dist/capabilities/pipeline-analytics.cap.d.ts.map +1 -1
  128. package/dist/capabilities/pipeline-executor.cap.d.ts +2 -2
  129. package/dist/capabilities/pipeline-orchestrator.cap.d.ts +1 -1
  130. package/dist/capabilities/pipeline-runner.cap.d.ts +4 -2
  131. package/dist/capabilities/pipeline-runner.cap.d.ts.map +1 -1
  132. package/dist/capabilities/platform-probe.cap.d.ts +25 -0
  133. package/dist/capabilities/platform-probe.cap.d.ts.map +1 -1
  134. package/dist/capabilities/power-meter.cap.d.ts +65 -0
  135. package/dist/capabilities/power-meter.cap.d.ts.map +1 -0
  136. package/dist/capabilities/presence.cap.d.ts +79 -0
  137. package/dist/capabilities/presence.cap.d.ts.map +1 -0
  138. package/dist/capabilities/pressure-sensor.cap.d.ts +43 -0
  139. package/dist/capabilities/pressure-sensor.cap.d.ts.map +1 -0
  140. package/dist/capabilities/privacy-mask.cap.d.ts +207 -0
  141. package/dist/capabilities/privacy-mask.cap.d.ts.map +1 -0
  142. package/dist/capabilities/ptz-autotrack.cap.d.ts +1 -0
  143. package/dist/capabilities/ptz-autotrack.cap.d.ts.map +1 -1
  144. package/dist/capabilities/ptz.cap.d.ts +1 -0
  145. package/dist/capabilities/ptz.cap.d.ts.map +1 -1
  146. package/dist/capabilities/reboot.cap.d.ts +1 -0
  147. package/dist/capabilities/reboot.cap.d.ts.map +1 -1
  148. package/dist/capabilities/recording.cap.d.ts +238 -32
  149. package/dist/capabilities/recording.cap.d.ts.map +1 -1
  150. package/dist/capabilities/restreamer.cap.d.ts +2 -2
  151. package/dist/capabilities/schemas/detection-shared.d.ts +14 -1
  152. package/dist/capabilities/schemas/detection-shared.d.ts.map +1 -1
  153. package/dist/capabilities/schemas/orchestrator-metrics.d.ts +2 -2
  154. package/dist/capabilities/schemas/streaming-shared.d.ts +64 -1
  155. package/dist/capabilities/schemas/streaming-shared.d.ts.map +1 -1
  156. package/dist/capabilities/script-runner.cap.d.ts +62 -0
  157. package/dist/capabilities/script-runner.cap.d.ts.map +1 -0
  158. package/dist/capabilities/settings-store.cap.d.ts +25 -0
  159. package/dist/capabilities/settings-store.cap.d.ts.map +1 -1
  160. package/dist/capabilities/smoke.cap.d.ts +38 -0
  161. package/dist/capabilities/smoke.cap.d.ts.map +1 -0
  162. package/dist/capabilities/snapshot-provider.cap.d.ts +1 -1
  163. package/dist/capabilities/snapshot.cap.d.ts +1 -0
  164. package/dist/capabilities/snapshot.cap.d.ts.map +1 -1
  165. package/dist/capabilities/sso-bridge.cap.d.ts +3 -3
  166. package/dist/capabilities/storage-evictable.cap.d.ts +54 -0
  167. package/dist/capabilities/storage-evictable.cap.d.ts.map +1 -0
  168. package/dist/capabilities/storage-provider.cap.d.ts +31 -186
  169. package/dist/capabilities/storage-provider.cap.d.ts.map +1 -1
  170. package/dist/capabilities/storage.cap.d.ts +35 -226
  171. package/dist/capabilities/storage.cap.d.ts.map +1 -1
  172. package/dist/capabilities/stream-broker.cap.d.ts +309 -25
  173. package/dist/capabilities/stream-broker.cap.d.ts.map +1 -1
  174. package/dist/capabilities/stream-catalog.cap.d.ts +85 -0
  175. package/dist/capabilities/stream-catalog.cap.d.ts.map +1 -0
  176. package/dist/capabilities/stream-params.cap.d.ts +27 -26
  177. package/dist/capabilities/stream-params.cap.d.ts.map +1 -1
  178. package/dist/capabilities/switch.cap.d.ts +1 -0
  179. package/dist/capabilities/switch.cap.d.ts.map +1 -1
  180. package/dist/capabilities/tamper.cap.d.ts +33 -0
  181. package/dist/capabilities/tamper.cap.d.ts.map +1 -0
  182. package/dist/capabilities/temperature-sensor.cap.d.ts +51 -0
  183. package/dist/capabilities/temperature-sensor.cap.d.ts.map +1 -0
  184. package/dist/capabilities/update.cap.d.ts +49 -0
  185. package/dist/capabilities/update.cap.d.ts.map +1 -0
  186. package/dist/capabilities/user-management.cap.d.ts +20 -20
  187. package/dist/capabilities/vacuum-control.cap.d.ts +229 -0
  188. package/dist/capabilities/vacuum-control.cap.d.ts.map +1 -0
  189. package/dist/capabilities/valve.cap.d.ts +93 -0
  190. package/dist/capabilities/valve.cap.d.ts.map +1 -0
  191. package/dist/capabilities/vibration.cap.d.ts +33 -0
  192. package/dist/capabilities/vibration.cap.d.ts.map +1 -0
  193. package/dist/capabilities/water-heater.cap.d.ts +78 -0
  194. package/dist/capabilities/water-heater.cap.d.ts.map +1 -0
  195. package/dist/capabilities/weather.cap.d.ts +76 -0
  196. package/dist/capabilities/weather.cap.d.ts.map +1 -0
  197. package/dist/capabilities/webrtc-session.cap.d.ts +128 -0
  198. package/dist/capabilities/webrtc-session.cap.d.ts.map +1 -1
  199. package/dist/constants.d.ts +0 -2
  200. package/dist/constants.d.ts.map +1 -1
  201. package/dist/device/base-device-provider.d.ts +11 -0
  202. package/dist/device/base-device-provider.d.ts.map +1 -1
  203. package/dist/device/base-device.d.ts +52 -0
  204. package/dist/device/base-device.d.ts.map +1 -1
  205. package/dist/device/device-context.d.ts +29 -0
  206. package/dist/device/device-context.d.ts.map +1 -1
  207. package/dist/device/device-link-transform.d.ts +6 -0
  208. package/dist/device/device-link-transform.d.ts.map +1 -0
  209. package/dist/device/device-management.d.ts +116 -4
  210. package/dist/device/device-management.d.ts.map +1 -1
  211. package/dist/device/device-type.d.ts +214 -3
  212. package/dist/device/device-type.d.ts.map +1 -1
  213. package/dist/device/device.d.ts +25 -0
  214. package/dist/device/device.d.ts.map +1 -1
  215. package/dist/device/index.d.ts +5 -1
  216. package/dist/device/index.d.ts.map +1 -1
  217. package/dist/device/path-util.d.ts +13 -0
  218. package/dist/device/path-util.d.ts.map +1 -0
  219. package/dist/device/schema-fields.d.ts +12 -0
  220. package/dist/device/schema-fields.d.ts.map +1 -0
  221. package/dist/device/source-info.d.ts +87 -0
  222. package/dist/device/source-info.d.ts.map +1 -0
  223. package/dist/device/system-mirror.d.ts +6 -2
  224. package/dist/device/system-mirror.d.ts.map +1 -1
  225. package/dist/encode-profile.d.ts +126 -0
  226. package/dist/encode-profile.d.ts.map +1 -0
  227. package/dist/enums/event-category.d.ts +92 -7
  228. package/dist/enums/event-category.d.ts.map +1 -1
  229. package/dist/generated/addon-api.d.ts +12821 -8025
  230. package/dist/generated/addon-api.d.ts.map +1 -1
  231. package/dist/generated/cap-status-types.d.ts +87 -1
  232. package/dist/generated/cap-status-types.d.ts.map +1 -1
  233. package/dist/generated/capability-router-map.d.ts +142 -7
  234. package/dist/generated/capability-router-map.d.ts.map +1 -1
  235. package/dist/generated/device-local-state.d.ts +123 -0
  236. package/dist/generated/device-local-state.d.ts.map +1 -1
  237. package/dist/generated/device-proxy.d.ts +132 -5
  238. package/dist/generated/device-proxy.d.ts.map +1 -1
  239. package/dist/generated/method-access-map.d.ts +1 -1
  240. package/dist/generated/method-access-map.d.ts.map +1 -1
  241. package/dist/generated/provider-kind-map.d.ts +1 -1
  242. package/dist/generated/provider-kind-map.d.ts.map +1 -1
  243. package/dist/generated/system-proxy.d.ts +10 -8
  244. package/dist/generated/system-proxy.d.ts.map +1 -1
  245. package/dist/health/wiring-health.d.ts +136 -0
  246. package/dist/health/wiring-health.d.ts.map +1 -0
  247. package/dist/{index-CMM1Y9W6.js → index-BSA_TBea.js} +4774 -923
  248. package/dist/index-BSA_TBea.js.map +1 -0
  249. package/dist/{index-QRlzao1I.mjs → index-Bpj3ScIH.mjs} +5142 -1291
  250. package/dist/index-Bpj3ScIH.mjs.map +1 -0
  251. package/dist/index.d.ts +23 -3
  252. package/dist/index.d.ts.map +1 -1
  253. package/dist/index.js +1498 -119
  254. package/dist/index.js.map +1 -1
  255. package/dist/index.mjs +1806 -427
  256. package/dist/index.mjs.map +1 -1
  257. package/dist/interfaces/addon-data-plane.d.ts +76 -0
  258. package/dist/interfaces/addon-data-plane.d.ts.map +1 -0
  259. package/dist/interfaces/addon.d.ts +61 -1
  260. package/dist/interfaces/addon.d.ts.map +1 -1
  261. package/dist/interfaces/advanced-notifier.d.ts +4 -0
  262. package/dist/interfaces/advanced-notifier.d.ts.map +1 -1
  263. package/dist/interfaces/capability.d.ts +59 -1
  264. package/dist/interfaces/capability.d.ts.map +1 -1
  265. package/dist/interfaces/config-ui.d.ts +70 -6
  266. package/dist/interfaces/config-ui.d.ts.map +1 -1
  267. package/dist/interfaces/device-capabilities/camera.d.ts +2 -1
  268. package/dist/interfaces/device-capabilities/camera.d.ts.map +1 -1
  269. package/dist/interfaces/event-bus.d.ts +105 -4
  270. package/dist/interfaces/event-bus.d.ts.map +1 -1
  271. package/dist/interfaces/kernel-abstractions.d.ts +10 -1
  272. package/dist/interfaces/kernel-abstractions.d.ts.map +1 -1
  273. package/dist/interfaces/network-quality.d.ts +8 -0
  274. package/dist/interfaces/network-quality.d.ts.map +1 -1
  275. package/dist/interfaces/pipeline-executor-capability.d.ts +2 -2
  276. package/dist/interfaces/pipeline-orchestrator-capability.d.ts +2 -1
  277. package/dist/interfaces/pipeline-orchestrator-capability.d.ts.map +1 -1
  278. package/dist/interfaces/pipeline-runner-capability.d.ts +7 -0
  279. package/dist/interfaces/pipeline-runner-capability.d.ts.map +1 -1
  280. package/dist/interfaces/recording-config.d.ts +91 -0
  281. package/dist/interfaces/recording-config.d.ts.map +1 -0
  282. package/dist/interfaces/rtp-egress.d.ts +2 -3
  283. package/dist/interfaces/rtp-egress.d.ts.map +1 -1
  284. package/dist/interfaces/storage-location-declaration.d.ts +34 -0
  285. package/dist/interfaces/storage-location-declaration.d.ts.map +1 -0
  286. package/dist/interfaces/storage-location.d.ts +18 -74
  287. package/dist/interfaces/storage-location.d.ts.map +1 -1
  288. package/dist/interfaces/storage.d.ts +15 -4
  289. package/dist/interfaces/storage.d.ts.map +1 -1
  290. package/dist/interfaces/stream-broker.d.ts +39 -4
  291. package/dist/interfaces/stream-broker.d.ts.map +1 -1
  292. package/dist/interfaces/timezones.d.ts +59 -0
  293. package/dist/interfaces/timezones.d.ts.map +1 -0
  294. package/dist/node.d.ts +3 -0
  295. package/dist/node.d.ts.map +1 -1
  296. package/dist/node.js +50 -8
  297. package/dist/node.js.map +1 -1
  298. package/dist/node.mjs +51 -9
  299. package/dist/node.mjs.map +1 -1
  300. package/dist/readiness/readiness-registry.d.ts.map +1 -1
  301. package/dist/schemas/auth-records.d.ts +4 -4
  302. package/dist/storage/filesystem-storage-provider.d.ts +2 -1
  303. package/dist/storage/filesystem-storage-provider.d.ts.map +1 -1
  304. package/dist/stream-selection.d.ts +85 -0
  305. package/dist/stream-selection.d.ts.map +1 -0
  306. package/dist/types/detection.d.ts +3 -3
  307. package/dist/types/io.d.ts +13 -1
  308. package/dist/types/io.d.ts.map +1 -1
  309. package/dist/util/location-match.d.ts +15 -0
  310. package/dist/util/location-match.d.ts.map +1 -0
  311. package/dist/utils/canonical-hash.d.ts +20 -0
  312. package/dist/utils/canonical-hash.d.ts.map +1 -0
  313. package/dist/utils/export-reconciler.d.ts +101 -0
  314. package/dist/utils/export-reconciler.d.ts.map +1 -0
  315. package/dist/utils/privacy-grid-raster.d.ts +48 -0
  316. package/dist/utils/privacy-grid-raster.d.ts.map +1 -0
  317. package/dist/utils/sleep.d.ts +36 -0
  318. package/dist/utils/sleep.d.ts.map +1 -0
  319. package/package.json +1 -1
  320. package/dist/capabilities/recording-engine.cap.d.ts +0 -477
  321. package/dist/capabilities/recording-engine.cap.d.ts.map +0 -1
  322. package/dist/index-CMM1Y9W6.js.map +0 -1
  323. package/dist/index-QRlzao1I.mjs.map +0 -1
@@ -0,0 +1,207 @@
1
+ import { z } from 'zod';
2
+ import { type InferNativeProvider } from './capability-definition.js';
3
+ import { DeviceType } from '../device/device-type.js';
4
+ /**
5
+ * Privacy mask = up to `maxRegions` SHAPES the camera blanks out (NOT a
6
+ * cell grid). Reolink `<shelterList>` zones are rectangles; Hikvision
7
+ * ISAPI `<RegionCoordinatesList>` zones are free polygons (this camera:
8
+ * exactly 4 vertices, not necessarily axis-aligned). The cap composes the
9
+ * shared rect|polygon subset of the MaskShape vocabulary. All coords are
10
+ * normalized 0..1 (top-left origin).
11
+ */
12
+ /** A privacy-mask region's geometry — rectangle or free polygon. */
13
+ export declare const PrivacyMaskShapeSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
14
+ kind: z.ZodLiteral<"rect">;
15
+ x: z.ZodNumber;
16
+ y: z.ZodNumber;
17
+ width: z.ZodNumber;
18
+ height: z.ZodNumber;
19
+ }, z.core.$strip>, z.ZodObject<{
20
+ kind: z.ZodLiteral<"polygon">;
21
+ points: z.ZodArray<z.ZodObject<{
22
+ x: z.ZodNumber;
23
+ y: z.ZodNumber;
24
+ }, z.core.$strip>>;
25
+ }, z.core.$strip>], "kind">;
26
+ /** A single privacy-mask zone. */
27
+ export declare const PrivacyMaskRegionSchema: z.ZodObject<{
28
+ id: z.ZodNumber;
29
+ enabled: z.ZodBoolean;
30
+ shape: z.ZodDiscriminatedUnion<[z.ZodObject<{
31
+ kind: z.ZodLiteral<"rect">;
32
+ x: z.ZodNumber;
33
+ y: z.ZodNumber;
34
+ width: z.ZodNumber;
35
+ height: z.ZodNumber;
36
+ }, z.core.$strip>, z.ZodObject<{
37
+ kind: z.ZodLiteral<"polygon">;
38
+ points: z.ZodArray<z.ZodObject<{
39
+ x: z.ZodNumber;
40
+ y: z.ZodNumber;
41
+ }, z.core.$strip>>;
42
+ }, z.core.$strip>], "kind">;
43
+ }, z.core.$strip>;
44
+ /** Current on-camera privacy-mask state — master enable + zones. */
45
+ export declare const PrivacyMaskStatusSchema: z.ZodObject<{
46
+ enabled: z.ZodBoolean;
47
+ regions: z.ZodArray<z.ZodObject<{
48
+ id: z.ZodNumber;
49
+ enabled: z.ZodBoolean;
50
+ shape: z.ZodDiscriminatedUnion<[z.ZodObject<{
51
+ kind: z.ZodLiteral<"rect">;
52
+ x: z.ZodNumber;
53
+ y: z.ZodNumber;
54
+ width: z.ZodNumber;
55
+ height: z.ZodNumber;
56
+ }, z.core.$strip>, z.ZodObject<{
57
+ kind: z.ZodLiteral<"polygon">;
58
+ points: z.ZodArray<z.ZodObject<{
59
+ x: z.ZodNumber;
60
+ y: z.ZodNumber;
61
+ }, z.core.$strip>>;
62
+ }, z.core.$strip>], "kind">;
63
+ }, z.core.$strip>>;
64
+ lastFetchedAt: z.ZodNumber;
65
+ }, z.core.$strip>;
66
+ /** Per-camera availability. */
67
+ export declare const PrivacyMaskOptionsSchema: z.ZodObject<{
68
+ maxRegions: z.ZodNumber;
69
+ supportedShapes: z.ZodArray<z.ZodEnum<{
70
+ polygon: "polygon";
71
+ rect: "rect";
72
+ grid: "grid";
73
+ line: "line";
74
+ }>>;
75
+ polygonVertices: z.ZodOptional<z.ZodObject<{
76
+ min: z.ZodNumber;
77
+ max: z.ZodNumber;
78
+ }, z.core.$strip>>;
79
+ }, z.core.$strip>;
80
+ /** Partial change — every field optional. */
81
+ export declare const PrivacyMaskPatchSchema: z.ZodObject<{
82
+ enabled: z.ZodOptional<z.ZodBoolean>;
83
+ regions: z.ZodOptional<z.ZodArray<z.ZodObject<{
84
+ id: z.ZodNumber;
85
+ enabled: z.ZodBoolean;
86
+ shape: z.ZodDiscriminatedUnion<[z.ZodObject<{
87
+ kind: z.ZodLiteral<"rect">;
88
+ x: z.ZodNumber;
89
+ y: z.ZodNumber;
90
+ width: z.ZodNumber;
91
+ height: z.ZodNumber;
92
+ }, z.core.$strip>, z.ZodObject<{
93
+ kind: z.ZodLiteral<"polygon">;
94
+ points: z.ZodArray<z.ZodObject<{
95
+ x: z.ZodNumber;
96
+ y: z.ZodNumber;
97
+ }, z.core.$strip>>;
98
+ }, z.core.$strip>], "kind">;
99
+ }, z.core.$strip>>>;
100
+ }, z.core.$strip>;
101
+ export type PrivacyMaskShape = z.infer<typeof PrivacyMaskShapeSchema>;
102
+ export type PrivacyMaskRegion = z.infer<typeof PrivacyMaskRegionSchema>;
103
+ export type PrivacyMaskStatus = z.infer<typeof PrivacyMaskStatusSchema>;
104
+ export type PrivacyMaskOptions = z.infer<typeof PrivacyMaskOptionsSchema>;
105
+ export type PrivacyMaskPatch = z.infer<typeof PrivacyMaskPatchSchema>;
106
+ export declare const privacyMaskCapability: {
107
+ readonly name: "privacy-mask";
108
+ readonly scope: "device";
109
+ readonly deviceNative: true;
110
+ readonly mode: "singleton";
111
+ readonly deviceTypes: readonly [DeviceType.Camera];
112
+ readonly deviceConfig: {
113
+ readonly ui: {
114
+ readonly kind: "widget";
115
+ readonly widgetId: "host/privacy-mask-grid";
116
+ readonly tab: "image";
117
+ readonly label: "Privacy Mask";
118
+ };
119
+ };
120
+ readonly methods: {
121
+ readonly getOptions: import("./capability-definition.js").CapabilityMethodSchema<z.ZodObject<{
122
+ deviceId: z.ZodNumber;
123
+ }, z.core.$strip>, z.ZodObject<{
124
+ maxRegions: z.ZodNumber;
125
+ supportedShapes: z.ZodArray<z.ZodEnum<{
126
+ polygon: "polygon";
127
+ rect: "rect";
128
+ grid: "grid";
129
+ line: "line";
130
+ }>>;
131
+ polygonVertices: z.ZodOptional<z.ZodObject<{
132
+ min: z.ZodNumber;
133
+ max: z.ZodNumber;
134
+ }, z.core.$strip>>;
135
+ }, z.core.$strip>, import("./capability-definition.js").CapabilityMethodKind>;
136
+ readonly setMask: import("./capability-definition.js").CapabilityMethodSchema<z.ZodObject<{
137
+ deviceId: z.ZodNumber;
138
+ patch: z.ZodObject<{
139
+ enabled: z.ZodOptional<z.ZodBoolean>;
140
+ regions: z.ZodOptional<z.ZodArray<z.ZodObject<{
141
+ id: z.ZodNumber;
142
+ enabled: z.ZodBoolean;
143
+ shape: z.ZodDiscriminatedUnion<[z.ZodObject<{
144
+ kind: z.ZodLiteral<"rect">;
145
+ x: z.ZodNumber;
146
+ y: z.ZodNumber;
147
+ width: z.ZodNumber;
148
+ height: z.ZodNumber;
149
+ }, z.core.$strip>, z.ZodObject<{
150
+ kind: z.ZodLiteral<"polygon">;
151
+ points: z.ZodArray<z.ZodObject<{
152
+ x: z.ZodNumber;
153
+ y: z.ZodNumber;
154
+ }, z.core.$strip>>;
155
+ }, z.core.$strip>], "kind">;
156
+ }, z.core.$strip>>>;
157
+ }, z.core.$strip>;
158
+ }, z.core.$strip>, z.ZodVoid, "mutation">;
159
+ };
160
+ readonly status: {
161
+ readonly schema: z.ZodObject<{
162
+ enabled: z.ZodBoolean;
163
+ regions: z.ZodArray<z.ZodObject<{
164
+ id: z.ZodNumber;
165
+ enabled: z.ZodBoolean;
166
+ shape: z.ZodDiscriminatedUnion<[z.ZodObject<{
167
+ kind: z.ZodLiteral<"rect">;
168
+ x: z.ZodNumber;
169
+ y: z.ZodNumber;
170
+ width: z.ZodNumber;
171
+ height: z.ZodNumber;
172
+ }, z.core.$strip>, z.ZodObject<{
173
+ kind: z.ZodLiteral<"polygon">;
174
+ points: z.ZodArray<z.ZodObject<{
175
+ x: z.ZodNumber;
176
+ y: z.ZodNumber;
177
+ }, z.core.$strip>>;
178
+ }, z.core.$strip>], "kind">;
179
+ }, z.core.$strip>>;
180
+ lastFetchedAt: z.ZodNumber;
181
+ }, z.core.$strip>;
182
+ readonly kind: "poll";
183
+ };
184
+ readonly runtimeState: z.ZodObject<{
185
+ enabled: z.ZodBoolean;
186
+ regions: z.ZodArray<z.ZodObject<{
187
+ id: z.ZodNumber;
188
+ enabled: z.ZodBoolean;
189
+ shape: z.ZodDiscriminatedUnion<[z.ZodObject<{
190
+ kind: z.ZodLiteral<"rect">;
191
+ x: z.ZodNumber;
192
+ y: z.ZodNumber;
193
+ width: z.ZodNumber;
194
+ height: z.ZodNumber;
195
+ }, z.core.$strip>, z.ZodObject<{
196
+ kind: z.ZodLiteral<"polygon">;
197
+ points: z.ZodArray<z.ZodObject<{
198
+ x: z.ZodNumber;
199
+ y: z.ZodNumber;
200
+ }, z.core.$strip>>;
201
+ }, z.core.$strip>], "kind">;
202
+ }, z.core.$strip>>;
203
+ lastFetchedAt: z.ZodNumber;
204
+ }, z.core.$strip>;
205
+ };
206
+ export type IPrivacyMaskProvider = InferNativeProvider<typeof privacyMaskCapability>;
207
+ //# sourceMappingURL=privacy-mask.cap.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"privacy-mask.cap.d.ts","sourceRoot":"","sources":["../../src/capabilities/privacy-mask.cap.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AACvB,OAAO,EAAqC,KAAK,mBAAmB,EAAE,MAAM,4BAA4B,CAAA;AACxG,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAA;AAQrD;;;;;;;GAOG;AAEH,oEAAoE;AACpE,eAAO,MAAM,sBAAsB;;;;;;;;;;;;2BAGjC,CAAA;AAEF,kCAAkC;AAClC,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;;iBAMlC,CAAA;AAEF,oEAAoE;AACpE,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;;;;;;iBAKlC,CAAA;AAEF,+BAA+B;AAC/B,eAAO,MAAM,wBAAwB;;;;;;;;;;;;iBAOnC,CAAA;AAEF,6CAA6C;AAC7C,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;;;;;iBAGjC,CAAA;AAEF,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAA;AACrE,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,uBAAuB,CAAC,CAAA;AACvE,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,uBAAuB,CAAC,CAAA;AACvE,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,wBAAwB,CAAC,CAAA;AACzE,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAA;AAErE,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAmBO,CAAA;AAEzC,MAAM,MAAM,oBAAoB,GAAG,mBAAmB,CAAC,OAAO,qBAAqB,CAAC,CAAA"}
@@ -64,6 +64,7 @@ export type PtzAutotrackRuntimeState = z.infer<typeof PtzAutotrackRuntimeStateSc
64
64
  export declare const ptzAutotrackCapability: {
65
65
  readonly name: "ptz-autotrack";
66
66
  readonly scope: "device";
67
+ readonly deviceNative: true;
67
68
  readonly mode: "singleton";
68
69
  readonly deviceTypes: readonly [DeviceType.Camera];
69
70
  readonly deviceConfig: {
@@ -1 +1 @@
1
- {"version":3,"file":"ptz-autotrack.cap.d.ts","sourceRoot":"","sources":["../../src/capabilities/ptz-autotrack.cap.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AACvB,OAAO,EAAqC,KAAK,aAAa,EAAE,MAAM,4BAA4B,CAAA;AAClG,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAA;AAwCrD,eAAO,MAAM,0BAA0B;;;;iBAIrC,CAAA;AAEF,MAAM,MAAM,oBAAoB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,0BAA0B,CAAC,CAAA;AAE7E;;;;;;;;;;GAUG;AACH,eAAO,MAAM,8BAA8B;;;iBAGzC,CAAA;AAEF,MAAM,MAAM,wBAAwB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,8BAA8B,CAAC,CAAA;AAErF,eAAO,MAAM,wBAAwB;;;;;;;;;;;;iBAkBnC,CAAA;AAEF,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,wBAAwB,CAAC,CAAA;AAEzE;;;;;;;;GAQG;AACH,eAAO,MAAM,8BAA8B;;;;;;;;;;;;;iBAGzC,CAAA;AAEF,MAAM,MAAM,wBAAwB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,8BAA8B,CAAC,CAAA;AAErF,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;;QAS/B;;;;WAIG;;;;;;;;;;;;;;;;QAKH;;;;WAIG;;;;;QAMH;;;;;;WAMG;;;;;;;;QAKH;;;;;WAKG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAoBL;;;;;;;OAOG;;;;;;;;;;;;;;;CAEoC,CAAA;AAEzC,MAAM,MAAM,qBAAqB,GAAG,aAAa,CAAC,OAAO,sBAAsB,CAAC,CAAA"}
1
+ {"version":3,"file":"ptz-autotrack.cap.d.ts","sourceRoot":"","sources":["../../src/capabilities/ptz-autotrack.cap.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AACvB,OAAO,EAAqC,KAAK,aAAa,EAAE,MAAM,4BAA4B,CAAA;AAClG,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAA;AAwCrD,eAAO,MAAM,0BAA0B;;;;iBAIrC,CAAA;AAEF,MAAM,MAAM,oBAAoB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,0BAA0B,CAAC,CAAA;AAE7E;;;;;;;;;;GAUG;AACH,eAAO,MAAM,8BAA8B;;;iBAGzC,CAAA;AAEF,MAAM,MAAM,wBAAwB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,8BAA8B,CAAC,CAAA;AAErF,eAAO,MAAM,wBAAwB;;;;;;;;;;;;iBAkBnC,CAAA;AAEF,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,wBAAwB,CAAC,CAAA;AAEzE;;;;;;;;GAQG;AACH,eAAO,MAAM,8BAA8B;;;;;;;;;;;;;iBAGzC,CAAA;AAEF,MAAM,MAAM,wBAAwB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,8BAA8B,CAAC,CAAA;AAErF,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;;;QAU/B;;;;WAIG;;;;;;;;;;;;;;;;QAKH;;;;WAIG;;;;;QAMH;;;;;;WAMG;;;;;;;;QAKH;;;;;WAKG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAoBL;;;;;;;OAOG;;;;;;;;;;;;;;;CAEoC,CAAA;AAEzC,MAAM,MAAM,qBAAqB,GAAG,aAAa,CAAC,OAAO,sBAAsB,CAAC,CAAA"}
@@ -37,6 +37,7 @@ declare const PtzOptionsSchema: z.ZodObject<{
37
37
  export declare const ptzCapability: {
38
38
  readonly name: "ptz";
39
39
  readonly scope: "device";
40
+ readonly deviceNative: true;
40
41
  readonly mode: "singleton";
41
42
  readonly deviceTypes: readonly [DeviceType.Camera];
42
43
  readonly deviceConfig: {
@@ -1 +1 @@
1
- {"version":3,"file":"ptz.cap.d.ts","sourceRoot":"","sources":["../../src/capabilities/ptz.cap.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AACvB,OAAO,EAAqC,KAAK,aAAa,EAAE,MAAM,4BAA4B,CAAA;AAClG,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAA;AAErD,QAAA,MAAM,eAAe;;;iBAAiD,CAAA;AACtE,QAAA,MAAM,iBAAiB;;;;iBAAoE,CAAA;AAC3F,QAAA,MAAM,oBAAoB;;;;;iBAKxB,CAAA;AAEF;;2DAE2D;AAC3D,QAAA,MAAM,eAAe;;;;;iBAAuD,CAAA;AAE5E,8DAA8D;AAC9D,QAAA,MAAM,gBAAgB;;;;;;;iBAUpB,CAAA;AAEF,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;QAoDtB;;;;;WAKG;;;;;;;;QAKH;mDAC2C;;;;;;;;;;;;;;;CAWN,CAAA;AAEzC,MAAM,MAAM,YAAY,GAAG,aAAa,CAAC,OAAO,aAAa,CAAC,CAAA;AAC9D,MAAM,MAAM,UAAU,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gBAAgB,CAAC,CAAA;AACzD,MAAM,MAAM,SAAS,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,eAAe,CAAC,CAAA;AACvD,OAAO,EAAE,eAAe,EAAE,iBAAiB,EAAE,eAAe,EAAE,oBAAoB,EAAE,gBAAgB,EAAE,CAAA"}
1
+ {"version":3,"file":"ptz.cap.d.ts","sourceRoot":"","sources":["../../src/capabilities/ptz.cap.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AACvB,OAAO,EAAqC,KAAK,aAAa,EAAE,MAAM,4BAA4B,CAAA;AAClG,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAA;AAErD,QAAA,MAAM,eAAe;;;iBAAiD,CAAA;AACtE,QAAA,MAAM,iBAAiB;;;;iBAAoE,CAAA;AAC3F,QAAA,MAAM,oBAAoB;;;;;iBAKxB,CAAA;AAEF;;2DAE2D;AAC3D,QAAA,MAAM,eAAe;;;;;iBAAuD,CAAA;AAE5E,8DAA8D;AAC9D,QAAA,MAAM,gBAAgB;;;;;;;iBAUpB,CAAA;AAEF,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;QAqDtB;;;;;WAKG;;;;;;;;QAKH;mDAC2C;;;;;;;;;;;;;;;CAWN,CAAA;AAEzC,MAAM,MAAM,YAAY,GAAG,aAAa,CAAC,OAAO,aAAa,CAAC,CAAA;AAC9D,MAAM,MAAM,UAAU,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gBAAgB,CAAC,CAAA;AACzD,MAAM,MAAM,SAAS,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,eAAe,CAAC,CAAA;AACvD,OAAO,EAAE,eAAe,EAAE,iBAAiB,EAAE,eAAe,EAAE,oBAAoB,EAAE,gBAAgB,EAAE,CAAA"}
@@ -18,6 +18,7 @@ import { DeviceType } from '../device/device-type.js';
18
18
  export declare const rebootCapability: {
19
19
  readonly name: "reboot";
20
20
  readonly scope: "device";
21
+ readonly deviceNative: true;
21
22
  readonly mode: "singleton";
22
23
  readonly deviceTypes: readonly [DeviceType.Camera, DeviceType.Sensor, DeviceType.Switch];
23
24
  readonly methods: {
@@ -1 +1 @@
1
- {"version":3,"file":"reboot.cap.d.ts","sourceRoot":"","sources":["../../src/capabilities/reboot.cap.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AACvB,OAAO,EAAqC,KAAK,aAAa,EAAE,MAAM,4BAA4B,CAAA;AAClG,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAA;AAErD;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,gBAAgB;;;;;;;;;;;;CAYY,CAAA;AAEzC,MAAM,MAAM,eAAe,GAAG,aAAa,CAAC,OAAO,gBAAgB,CAAC,CAAA"}
1
+ {"version":3,"file":"reboot.cap.d.ts","sourceRoot":"","sources":["../../src/capabilities/reboot.cap.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AACvB,OAAO,EAAqC,KAAK,aAAa,EAAE,MAAM,4BAA4B,CAAA;AAClG,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAA;AAErD;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;CAaY,CAAA;AAEzC,MAAM,MAAM,eAAe,GAAG,aAAa,CAAC,OAAO,gBAAgB,CAAC,CAAA"}
@@ -1,43 +1,249 @@
1
1
  import { z } from 'zod';
2
2
  import { type InferProvider } from './capability-definition.js';
3
- import { DeviceType } from '../device/device-type.js';
4
- declare const SegmentSchema: z.ZodObject<{
5
- id: z.ZodString;
6
- startTs: z.ZodNumber;
7
- endTs: z.ZodNumber;
8
- durationSec: z.ZodNumber;
9
- sizeBytes: z.ZodOptional<z.ZodNumber>;
3
+ export declare const RecordingStatusSchema: z.ZodObject<{
4
+ deviceId: z.ZodNumber;
5
+ enabled: z.ZodBoolean;
6
+ activeMode: z.ZodEnum<{
7
+ off: "off";
8
+ continuous: "continuous";
9
+ }>;
10
+ nodeId: z.ZodString;
11
+ storageBytes: z.ZodNumber;
10
12
  }, z.core.$strip>;
13
+ export type RecordingStatus = z.infer<typeof RecordingStatusSchema>;
14
+ export declare const RecordingRangeSchema: z.ZodObject<{
15
+ profile: z.ZodString;
16
+ startMs: z.ZodNumber;
17
+ endMs: z.ZodNumber;
18
+ }, z.core.$strip>;
19
+ export declare const RecordingAvailabilitySchema: z.ZodObject<{
20
+ deviceId: z.ZodNumber;
21
+ ranges: z.ZodArray<z.ZodObject<{
22
+ profile: z.ZodString;
23
+ startMs: z.ZodNumber;
24
+ endMs: z.ZodNumber;
25
+ }, z.core.$strip>>;
26
+ }, z.core.$strip>;
27
+ export type RecordingAvailability = z.infer<typeof RecordingAvailabilitySchema>;
28
+ export declare const RecordingManifestSchema: z.ZodObject<{
29
+ deviceId: z.ZodNumber;
30
+ localMasterPath: z.ZodNullable<z.ZodString>;
31
+ playbackUrl: z.ZodNullable<z.ZodString>;
32
+ playbackEndpoints: z.ZodArray<z.ZodString>;
33
+ }, z.core.$strip>;
34
+ export type RecordingManifest = z.infer<typeof RecordingManifestSchema>;
35
+ /** Recording storage usage for one camera (bytes on disk across all its
36
+ * profiles/subtrees/locations on this node). */
37
+ export declare const RecordingDeviceUsageSchema: z.ZodObject<{
38
+ deviceId: z.ZodNumber;
39
+ usedBytes: z.ZodNumber;
40
+ }, z.core.$strip>;
41
+ export type RecordingDeviceUsage = z.infer<typeof RecordingDeviceUsageSchema>;
42
+ /** Recording storage usage + capacity for one storage location. */
43
+ export declare const RecordingLocationUsageSchema: z.ZodObject<{
44
+ locationId: z.ZodNullable<z.ZodString>;
45
+ usedBytes: z.ZodNumber;
46
+ availableBytes: z.ZodNullable<z.ZodNumber>;
47
+ totalBytes: z.ZodNullable<z.ZodNumber>;
48
+ }, z.core.$strip>;
49
+ export type RecordingLocationUsage = z.infer<typeof RecordingLocationUsageSchema>;
50
+ /** Aggregate recordings storage usage for a node: global total + per-camera +
51
+ * per-location used/available. Stat-based (accurate even for detached cameras),
52
+ * computed on demand — not from the name-only playback index. */
53
+ export declare const RecordingStorageUsageSchema: z.ZodObject<{
54
+ nodeId: z.ZodString;
55
+ totalUsedBytes: z.ZodNumber;
56
+ devices: z.ZodArray<z.ZodObject<{
57
+ deviceId: z.ZodNumber;
58
+ usedBytes: z.ZodNumber;
59
+ }, z.core.$strip>>;
60
+ locations: z.ZodArray<z.ZodObject<{
61
+ locationId: z.ZodNullable<z.ZodString>;
62
+ usedBytes: z.ZodNumber;
63
+ availableBytes: z.ZodNullable<z.ZodNumber>;
64
+ totalBytes: z.ZodNullable<z.ZodNumber>;
65
+ }, z.core.$strip>>;
66
+ }, z.core.$strip>;
67
+ export type RecordingStorageUsage = z.infer<typeof RecordingStorageUsageSchema>;
11
68
  export declare const recordingCapability: {
12
69
  readonly name: "recording";
13
- readonly scope: "device";
70
+ readonly scope: "system";
14
71
  readonly mode: "singleton";
15
- readonly deviceTypes: readonly [DeviceType.Camera];
72
+ readonly exposesDeviceSettings: true;
73
+ readonly status: {
74
+ readonly schema: z.ZodObject<{
75
+ deviceId: z.ZodNumber;
76
+ enabled: z.ZodBoolean;
77
+ activeMode: z.ZodEnum<{
78
+ off: "off";
79
+ continuous: "continuous";
80
+ }>;
81
+ nodeId: z.ZodString;
82
+ storageBytes: z.ZodNumber;
83
+ }, z.core.$strip>;
84
+ readonly kind: "command-driven";
85
+ };
16
86
  readonly methods: {
17
- readonly getSegments: import("./capability-definition.js").CapabilityMethodSchema<z.ZodObject<{
18
- deviceId: z.ZodNumber;
19
- from: z.ZodOptional<z.ZodNumber>;
20
- to: z.ZodOptional<z.ZodNumber>;
21
- }, z.core.$strip>, z.ZodArray<z.ZodObject<{
22
- id: z.ZodString;
23
- startTs: z.ZodNumber;
24
- endTs: z.ZodNumber;
25
- durationSec: z.ZodNumber;
26
- sizeBytes: z.ZodOptional<z.ZodNumber>;
27
- }, z.core.$strip>>, import("./capability-definition.js").CapabilityMethodKind>;
28
- readonly getPlaybackUrl: import("./capability-definition.js").CapabilityMethodSchema<z.ZodObject<{
29
- deviceId: z.ZodNumber;
30
- segmentId: z.ZodString;
31
- }, z.core.$strip>, z.ZodNullable<z.ZodString>, import("./capability-definition.js").CapabilityMethodKind>;
32
- readonly getThumbnailAt: import("./capability-definition.js").CapabilityMethodSchema<z.ZodObject<{
33
- deviceId: z.ZodNumber;
34
- timestamp: z.ZodNumber;
35
- }, z.core.$strip>, z.ZodNullable<z.ZodObject<{
36
- base64: z.ZodString;
37
- contentType: z.ZodString;
38
- }, z.core.$strip>>, import("./capability-definition.js").CapabilityMethodKind>;
87
+ readonly getAvailability: import("./capability-definition.js").CapabilityMethodSchema<z.ZodObject<{
88
+ deviceId: z.ZodNumber;
89
+ fromMs: z.ZodNumber;
90
+ toMs: z.ZodNumber;
91
+ }, z.core.$strip>, z.ZodObject<{
92
+ deviceId: z.ZodNumber;
93
+ ranges: z.ZodArray<z.ZodObject<{
94
+ profile: z.ZodString;
95
+ startMs: z.ZodNumber;
96
+ endMs: z.ZodNumber;
97
+ }, z.core.$strip>>;
98
+ }, z.core.$strip>, "query">;
99
+ readonly getPlaybackManifest: import("./capability-definition.js").CapabilityMethodSchema<z.ZodObject<{
100
+ deviceId: z.ZodNumber;
101
+ fromMs: z.ZodNumber;
102
+ toMs: z.ZodNumber;
103
+ }, z.core.$strip>, z.ZodObject<{
104
+ deviceId: z.ZodNumber;
105
+ localMasterPath: z.ZodNullable<z.ZodString>;
106
+ playbackUrl: z.ZodNullable<z.ZodString>;
107
+ playbackEndpoints: z.ZodArray<z.ZodString>;
108
+ }, z.core.$strip>, "query">;
109
+ readonly getStorageUsage: import("./capability-definition.js").CapabilityMethodSchema<z.ZodObject<{}, z.core.$strip>, z.ZodObject<{
110
+ nodeId: z.ZodString;
111
+ totalUsedBytes: z.ZodNumber;
112
+ devices: z.ZodArray<z.ZodObject<{
113
+ deviceId: z.ZodNumber;
114
+ usedBytes: z.ZodNumber;
115
+ }, z.core.$strip>>;
116
+ locations: z.ZodArray<z.ZodObject<{
117
+ locationId: z.ZodNullable<z.ZodString>;
118
+ usedBytes: z.ZodNumber;
119
+ availableBytes: z.ZodNullable<z.ZodNumber>;
120
+ totalBytes: z.ZodNullable<z.ZodNumber>;
121
+ }, z.core.$strip>>;
122
+ }, z.core.$strip>, "query">;
123
+ readonly getDeviceConfig: import("./capability-definition.js").CapabilityMethodSchema<z.ZodObject<{
124
+ deviceId: z.ZodNumber;
125
+ }, z.core.$strip>, z.ZodObject<{
126
+ enabled: z.ZodBoolean;
127
+ profiles: z.ZodOptional<z.ZodArray<z.ZodEnum<{
128
+ high: "high";
129
+ mid: "mid";
130
+ low: "low";
131
+ }>>>;
132
+ segmentSeconds: z.ZodOptional<z.ZodNumber>;
133
+ rules: z.ZodOptional<z.ZodArray<z.ZodObject<{
134
+ schedule: z.ZodDiscriminatedUnion<[z.ZodObject<{
135
+ kind: z.ZodLiteral<"always">;
136
+ }, z.core.$strip>, z.ZodObject<{
137
+ kind: z.ZodLiteral<"timeOfDay">;
138
+ start: z.ZodString;
139
+ end: z.ZodString;
140
+ days: z.ZodOptional<z.ZodArray<z.ZodNumber>>;
141
+ }, z.core.$strip>], "kind">;
142
+ mode: z.ZodEnum<{
143
+ onMotion: "onMotion";
144
+ continuous: "continuous";
145
+ onAudioThreshold: "onAudioThreshold";
146
+ }>;
147
+ preBufferSec: z.ZodDefault<z.ZodNumber>;
148
+ postBufferSec: z.ZodDefault<z.ZodNumber>;
149
+ resetTimeoutOnNewEvent: z.ZodDefault<z.ZodBoolean>;
150
+ thresholdDbfs: z.ZodOptional<z.ZodNumber>;
151
+ }, z.core.$strip>>>;
152
+ retention: z.ZodOptional<z.ZodObject<{
153
+ maxAgeDays: z.ZodOptional<z.ZodNumber>;
154
+ maxSizeGb: z.ZodOptional<z.ZodNumber>;
155
+ }, z.core.$strip>>;
156
+ }, z.core.$strip>, "query">;
157
+ readonly setDeviceConfig: import("./capability-definition.js").CapabilityMethodSchema<z.ZodObject<{
158
+ deviceId: z.ZodNumber;
159
+ config: z.ZodObject<{
160
+ enabled: z.ZodBoolean;
161
+ profiles: z.ZodOptional<z.ZodArray<z.ZodEnum<{
162
+ high: "high";
163
+ mid: "mid";
164
+ low: "low";
165
+ }>>>;
166
+ segmentSeconds: z.ZodOptional<z.ZodNumber>;
167
+ rules: z.ZodOptional<z.ZodArray<z.ZodObject<{
168
+ schedule: z.ZodDiscriminatedUnion<[z.ZodObject<{
169
+ kind: z.ZodLiteral<"always">;
170
+ }, z.core.$strip>, z.ZodObject<{
171
+ kind: z.ZodLiteral<"timeOfDay">;
172
+ start: z.ZodString;
173
+ end: z.ZodString;
174
+ days: z.ZodOptional<z.ZodArray<z.ZodNumber>>;
175
+ }, z.core.$strip>], "kind">;
176
+ mode: z.ZodEnum<{
177
+ onMotion: "onMotion";
178
+ continuous: "continuous";
179
+ onAudioThreshold: "onAudioThreshold";
180
+ }>;
181
+ preBufferSec: z.ZodDefault<z.ZodNumber>;
182
+ postBufferSec: z.ZodDefault<z.ZodNumber>;
183
+ resetTimeoutOnNewEvent: z.ZodDefault<z.ZodBoolean>;
184
+ thresholdDbfs: z.ZodOptional<z.ZodNumber>;
185
+ }, z.core.$strip>>>;
186
+ retention: z.ZodOptional<z.ZodObject<{
187
+ maxAgeDays: z.ZodOptional<z.ZodNumber>;
188
+ maxSizeGb: z.ZodOptional<z.ZodNumber>;
189
+ }, z.core.$strip>>;
190
+ }, z.core.$strip>;
191
+ }, z.core.$strip>, z.ZodObject<{
192
+ enabled: z.ZodBoolean;
193
+ profiles: z.ZodOptional<z.ZodArray<z.ZodEnum<{
194
+ high: "high";
195
+ mid: "mid";
196
+ low: "low";
197
+ }>>>;
198
+ segmentSeconds: z.ZodOptional<z.ZodNumber>;
199
+ rules: z.ZodOptional<z.ZodArray<z.ZodObject<{
200
+ schedule: z.ZodDiscriminatedUnion<[z.ZodObject<{
201
+ kind: z.ZodLiteral<"always">;
202
+ }, z.core.$strip>, z.ZodObject<{
203
+ kind: z.ZodLiteral<"timeOfDay">;
204
+ start: z.ZodString;
205
+ end: z.ZodString;
206
+ days: z.ZodOptional<z.ZodArray<z.ZodNumber>>;
207
+ }, z.core.$strip>], "kind">;
208
+ mode: z.ZodEnum<{
209
+ onMotion: "onMotion";
210
+ continuous: "continuous";
211
+ onAudioThreshold: "onAudioThreshold";
212
+ }>;
213
+ preBufferSec: z.ZodDefault<z.ZodNumber>;
214
+ postBufferSec: z.ZodDefault<z.ZodNumber>;
215
+ resetTimeoutOnNewEvent: z.ZodDefault<z.ZodBoolean>;
216
+ thresholdDbfs: z.ZodOptional<z.ZodNumber>;
217
+ }, z.core.$strip>>>;
218
+ retention: z.ZodOptional<z.ZodObject<{
219
+ maxAgeDays: z.ZodOptional<z.ZodNumber>;
220
+ maxSizeGb: z.ZodOptional<z.ZodNumber>;
221
+ }, z.core.$strip>>;
222
+ }, z.core.$strip>, "mutation">;
223
+ /** Re-scan this device's footage from disk (stat sizes) and reseed the
224
+ * index, then return the fresh status. */
225
+ readonly rescanStorage: import("./capability-definition.js").CapabilityMethodSchema<z.ZodObject<{
226
+ deviceId: z.ZodNumber;
227
+ }, z.core.$strip>, z.ZodObject<{
228
+ deviceId: z.ZodNumber;
229
+ enabled: z.ZodBoolean;
230
+ activeMode: z.ZodEnum<{
231
+ off: "off";
232
+ continuous: "continuous";
233
+ }>;
234
+ nodeId: z.ZodString;
235
+ storageBytes: z.ZodNumber;
236
+ }, z.core.$strip>, "mutation">;
237
+ /** Apply this device's retention policy to footage now; returns the oldest
238
+ * surviving footage start (the retention floor) or null if no footage. */
239
+ readonly pruneFootage: import("./capability-definition.js").CapabilityMethodSchema<z.ZodObject<{
240
+ deviceId: z.ZodNumber;
241
+ }, z.core.$strip>, z.ZodObject<{
242
+ floorMs: z.ZodNullable<z.ZodNumber>;
243
+ deletedBuckets: z.ZodNumber;
244
+ reclaimedBytes: z.ZodNumber;
245
+ }, z.core.$strip>, "mutation">;
39
246
  };
40
247
  };
41
248
  export type IRecordingProvider = InferProvider<typeof recordingCapability>;
42
- export { SegmentSchema };
43
249
  //# sourceMappingURL=recording.cap.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"recording.cap.d.ts","sourceRoot":"","sources":["../../src/capabilities/recording.cap.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AACvB,OAAO,EAAqC,KAAK,aAAa,EAAE,MAAM,4BAA4B,CAAA;AAClG,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAA;AAErD,QAAA,MAAM,aAAa;;;;;;iBAMjB,CAAA;AAEF,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAuBS,CAAA;AAEzC,MAAM,MAAM,kBAAkB,GAAG,aAAa,CAAC,OAAO,mBAAmB,CAAC,CAAA;AAC1E,OAAO,EAAE,aAAa,EAAE,CAAA"}
1
+ {"version":3,"file":"recording.cap.d.ts","sourceRoot":"","sources":["../../src/capabilities/recording.cap.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AACvB,OAAO,EAAqC,KAAK,aAAa,EAAE,MAAM,4BAA4B,CAAA;AAGlG,eAAO,MAAM,qBAAqB;;;;;;;;;iBAMhC,CAAA;AACF,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAA;AAEnE,eAAO,MAAM,oBAAoB;;;;iBAI/B,CAAA;AACF,eAAO,MAAM,2BAA2B;;;;;;;iBAGtC,CAAA;AACF,MAAM,MAAM,qBAAqB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,2BAA2B,CAAC,CAAA;AAE/E,eAAO,MAAM,uBAAuB;;;;;iBAelC,CAAA;AACF,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,uBAAuB,CAAC,CAAA;AAEvE;iDACiD;AACjD,eAAO,MAAM,0BAA0B;;;iBAGrC,CAAA;AACF,MAAM,MAAM,oBAAoB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,0BAA0B,CAAC,CAAA;AAE7E,mEAAmE;AACnE,eAAO,MAAM,4BAA4B;;;;;iBASvC,CAAA;AACF,MAAM,MAAM,sBAAsB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,4BAA4B,CAAC,CAAA;AAEjF;;kEAEkE;AAClE,eAAO,MAAM,2BAA2B;;;;;;;;;;;;;iBAKtC,CAAA;AACF,MAAM,MAAM,qBAAqB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,2BAA2B,CAAC,CAAA;AAE/E,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;QAmC5B;mDAC2C;;;;;;;;;;;;;QAM3C;mFAC2E;;;;;;;;;CAWtC,CAAA;AAEzC,MAAM,MAAM,kBAAkB,GAAG,aAAa,CAAC,OAAO,mBAAmB,CAAC,CAAA"}
@@ -5,8 +5,8 @@ declare const RegisteredStreamSchema: z.ZodObject<{
5
5
  label: z.ZodOptional<z.ZodString>;
6
6
  codec: z.ZodString;
7
7
  type: z.ZodEnum<{
8
- audio: "audio";
9
8
  video: "video";
9
+ audio: "audio";
10
10
  }>;
11
11
  sourceUrl: z.ZodString;
12
12
  }, z.core.$strip>;
@@ -28,8 +28,8 @@ export declare const restreamerCapability: {
28
28
  label: z.ZodOptional<z.ZodString>;
29
29
  codec: z.ZodString;
30
30
  type: z.ZodEnum<{
31
- audio: "audio";
32
31
  video: "video";
32
+ audio: "audio";
33
33
  }>;
34
34
  sourceUrl: z.ZodString;
35
35
  }, z.core.$strip>>>;
@@ -44,8 +44,21 @@ export declare const SpatialDetectionSchema: z.ZodObject<{
44
44
  h: z.ZodNumber;
45
45
  }, z.core.$strip>;
46
46
  }, z.core.$strip>;
47
+ /**
48
+ * `data` carries the raw f32le bytes of the PCM samples (4 bytes per
49
+ * sample, little-endian IEEE 754). `Uint8Array` is the wire-safe choice
50
+ * because `@msgpack/msgpack` serialises it as a MsgPack `bin` type that
51
+ * round-trips losslessly over the UDS transport. `Float32Array` is NOT
52
+ * preserved — the encoder serialises it as `bin` (its raw bytes) but
53
+ * the decoder returns `Uint8Array`, so treating a `Float32Array` as the
54
+ * wire type causes receivers to read bytes as sample values, producing
55
+ * wildly wrong RMS/dBFS results (~+43 dBFS instead of ≤0).
56
+ *
57
+ * Callers that need float arithmetic reconstruct the view with:
58
+ * `new Float32Array(chunk.data.buffer, chunk.data.byteOffset, chunk.data.byteLength / 4)`
59
+ */
47
60
  export declare const AudioChunkInputSchema: z.ZodObject<{
48
- data: z.ZodCustom<Float32Array<ArrayBuffer>, Float32Array<ArrayBuffer>>;
61
+ data: z.ZodCustom<Uint8Array<ArrayBuffer>, Uint8Array<ArrayBuffer>>;
49
62
  sampleRate: z.ZodNumber;
50
63
  channels: z.ZodNumber;
51
64
  timestamp: z.ZodNumber;
@@ -1 +1 @@
1
- {"version":3,"file":"detection-shared.d.ts","sourceRoot":"","sources":["../../../src/capabilities/schemas/detection-shared.ts"],"names":[],"mappings":"AAAA,6DAA6D;AAE7D,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAEvB;;;;;;GAMG;AACH,eAAO,MAAM,iBAAiB;;;;;;EAAmD,CAAA;AAEjF,eAAO,MAAM,gBAAgB;;;;;;;;;;;;iBAM3B,CAAA;AAEF,eAAO,MAAM,iBAAiB;;;;;iBAK5B,CAAA;AAEF,eAAO,MAAM,sBAAsB;;;;;;;;;;iBAKjC,CAAA;AAEF,eAAO,MAAM,qBAAqB;;;;;;iBAOhC,CAAA;AAEF,eAAO,MAAM,gBAAgB;;;iBAG3B,CAAA;AAEF,eAAO,MAAM,8BAA8B;;;;iBAgBzC,CAAA"}
1
+ {"version":3,"file":"detection-shared.d.ts","sourceRoot":"","sources":["../../../src/capabilities/schemas/detection-shared.ts"],"names":[],"mappings":"AAAA,6DAA6D;AAE7D,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAEvB;;;;;;GAMG;AACH,eAAO,MAAM,iBAAiB;;;;;;EAAmD,CAAA;AAEjF,eAAO,MAAM,gBAAgB;;;;;;;;;;;;iBAM3B,CAAA;AAEF,eAAO,MAAM,iBAAiB;;;;;iBAK5B,CAAA;AAEF,eAAO,MAAM,sBAAsB;;;;;;;;;;iBAKjC,CAAA;AAEF;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,qBAAqB;;;;;;iBAOhC,CAAA;AAEF,eAAO,MAAM,gBAAgB;;;iBAG3B,CAAA;AAEF,eAAO,MAAM,8BAA8B;;;;iBAgBzC,CAAA"}
@@ -19,8 +19,8 @@ export declare const CameraMetricsSchema: z.ZodObject<{
19
19
  droppedFrames: z.ZodNumber;
20
20
  phase: z.ZodEnum<{
21
21
  idle: "idle";
22
- watching: "watching";
23
22
  active: "active";
23
+ watching: "watching";
24
24
  }>;
25
25
  }, z.core.$strip>;
26
26
  export declare const CameraMetricsWithDeviceIdSchema: z.ZodObject<{
@@ -36,8 +36,8 @@ export declare const CameraMetricsWithDeviceIdSchema: z.ZodObject<{
36
36
  droppedFrames: z.ZodNumber;
37
37
  phase: z.ZodEnum<{
38
38
  idle: "idle";
39
- watching: "watching";
40
39
  active: "active";
40
+ watching: "watching";
41
41
  }>;
42
42
  deviceId: z.ZodNumber;
43
43
  }, z.core.$strip>;