@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
@@ -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>>>;
@@ -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>;
@@ -14,6 +14,7 @@ export declare const CamStreamKindSchema: z.ZodEnum<{
14
14
  "pull-http": "pull-http";
15
15
  "pull-rfc4571": "pull-rfc4571";
16
16
  "push-annexb": "push-annexb";
17
+ derived: "derived";
17
18
  }>;
18
19
  export type CamStreamKind = z.infer<typeof CamStreamKindSchema>;
19
20
  export declare const CamStreamResolutionSchema: z.ZodObject<{
@@ -29,6 +30,7 @@ export declare const CameraStreamSchema: z.ZodObject<{
29
30
  "pull-http": "pull-http";
30
31
  "pull-rfc4571": "pull-rfc4571";
31
32
  "push-annexb": "push-annexb";
33
+ derived: "derived";
32
34
  }>;
33
35
  url: z.ZodOptional<z.ZodString>;
34
36
  codec: z.ZodOptional<z.ZodString>;
@@ -76,6 +78,39 @@ export declare const ProfileSlotSchema: z.ZodObject<{
76
78
  errorMessage: z.ZodOptional<z.ZodString>;
77
79
  }, z.core.$strip>;
78
80
  export type ProfileSlot = z.infer<typeof ProfileSlotSchema>;
81
+ /** The canonical consumer-facing broker id for a device profile. */
82
+ export declare function makeProfileBrokerId(deviceId: number, profile: CamProfile): string;
83
+ /**
84
+ * The broker id keying a physical SOURCE stream: `${deviceId}/${camStreamId}`.
85
+ * This is the broker's internal source key (`brokerIdFor` in the manager) — a
86
+ * `camStreamId` like `native:main` — as opposed to the public profile alias
87
+ * {@link makeProfileBrokerId}. Used to resolve a source's restream endpoint
88
+ * (e.g. routing a transcode's ffmpeg input through the broker so it rides the
89
+ * single source dial instead of opening a second camera connection).
90
+ */
91
+ export declare function makeSourceBrokerId(deviceId: number, camStreamId: string): string;
92
+ /**
93
+ * Inverse of {@link makeProfileBrokerId}. Returns `null` when the string is
94
+ * not a canonical `${deviceId}/${profile}` id — e.g. a broker-internal
95
+ * cam-stream id (`5/native:main`), a derived/adaptive ref, or a malformed
96
+ * value. So a caller can safely distinguish "addresses a public profile"
97
+ * from "addresses something broker-internal".
98
+ */
99
+ export declare function parseProfileBrokerId(brokerId: string): {
100
+ deviceId: number;
101
+ profile: CamProfile;
102
+ } | null;
103
+ /**
104
+ * The profile slots worth consuming/recording: ASSIGNED only
105
+ * (`sourceCamStreamId != null`), DEDUPED by physical source so the same
106
+ * camera encoder is never subscribed/recorded twice, ordered high→mid→low.
107
+ * Optionally scoped to one `deviceId`. Pure; never mutates the input.
108
+ *
109
+ * Recording `main` and `mid` when both point at the same `sourceCamStreamId`
110
+ * would dial the camera's internal stream twice for no benefit — this is the
111
+ * dedup that prevents that.
112
+ */
113
+ export declare function selectAssignedProfileSlots(slots: readonly ProfileSlot[], deviceId?: number): ProfileSlot[];
79
114
  /**
80
115
  * Zod schema for StreamSourceEntry — the canonical stream descriptor
81
116
  * exposed by ICameraDevice.getStreamSources() and consumed by the broker.
@@ -114,8 +149,8 @@ export declare const StreamSourceSchema: z.ZodObject<{
114
149
  }, z.core.$strip>;
115
150
  export declare const EncodedPacketSchema: z.ZodObject<{
116
151
  type: z.ZodEnum<{
117
- audio: "audio";
118
152
  video: "video";
153
+ audio: "audio";
119
154
  }>;
120
155
  data: z.ZodCustom<Uint8Array<ArrayBuffer>, Uint8Array<ArrayBuffer>>;
121
156
  pts: z.ZodNumber;
@@ -281,4 +316,32 @@ export declare const BrokerStatsSchema: z.ZodObject<{
281
316
  supported: z.ZodBoolean;
282
317
  }, z.core.$strip>>>;
283
318
  }, z.core.$strip>;
319
+ /**
320
+ * Exporter-facing "profile restream" entry. Returned by
321
+ * `cameraStreams.getProfileRtspEntries` — one per ASSIGNED profile slot
322
+ * (high/mid/low). `brokerId` is the PROFILE-keyed broker id
323
+ * (`${deviceId}/${profile}`, e.g. `15/high`); its `url` is a broker
324
+ * RTSP restream that aliases the profile's assigned source broker, so
325
+ * every consumer dialling a profile converges on the same single pull.
326
+ * `codec`/`resolution` describe the assigned SOURCE camStream (for the
327
+ * `auto` resolution-closest pick). Distinct from `RtspRestreamEntry`
328
+ * (raw per-camStream, live-view only).
329
+ */
330
+ export declare const ProfileRtspEntrySchema: z.ZodObject<{
331
+ profile: z.ZodEnum<{
332
+ high: "high";
333
+ mid: "mid";
334
+ low: "low";
335
+ }>;
336
+ brokerId: z.ZodString;
337
+ url: z.ZodString;
338
+ mutedUrl: z.ZodString;
339
+ enabled: z.ZodBoolean;
340
+ codec: z.ZodOptional<z.ZodString>;
341
+ resolution: z.ZodOptional<z.ZodObject<{
342
+ width: z.ZodNumber;
343
+ height: z.ZodNumber;
344
+ }, z.core.$strip>>;
345
+ }, z.core.$strip>;
346
+ export type ProfileRtspEntry = z.infer<typeof ProfileRtspEntrySchema>;
284
347
  //# sourceMappingURL=streaming-shared.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"streaming-shared.d.ts","sourceRoot":"","sources":["../../../src/capabilities/schemas/streaming-shared.ts"],"names":[],"mappings":"AAAA,6DAA6D;AAE7D,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAWvB,eAAO,MAAM,gBAAgB;;;;EAAiC,CAAA;AAC9D,MAAM,MAAM,UAAU,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gBAAgB,CAAC,CAAA;AAEzD,oDAAoD;AACpD,eAAO,MAAM,iBAAiB,iCAAkC,CAAA;AAiBhE,eAAO,MAAM,mBAAmB;;;;;;EAM9B,CAAA;AACF,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAA;AAE/D,eAAO,MAAM,yBAAyB;;;iBAGpC,CAAA;AAEF,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;iBA2C7B,CAAA;AACF,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAA;AAS7D,eAAO,MAAM,uBAAuB;;;;;;EAMlC,CAAA;AACF,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,uBAAuB,CAAC,CAAA;AAEvE,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;iBAY5B,CAAA;AACF,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAA;AAE3D;;;GAGG;AACH,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;;;;;;;;;;iBAUlC,CAAA;AAEF,eAAO,MAAM,kBAAkB;;;;;;iBAM7B,CAAA;AAEF,eAAO,MAAM,mBAAmB;;;;;;;;;;iBAO9B,CAAA;AAEF,eAAO,MAAM,kBAAkB;;;;;;;;;;;;iBAM7B,CAAA;AAEF;;;;;;;;;;GAUG;AACH,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;iBAW5B,CAAA;AAaF;;;;;;GAMG;AACH,eAAO,MAAM,uBAAuB;;;;;EAA2C,CAAA;AAC/E,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,uBAAuB,CAAC,CAAA;AAEvE;;;;;;GAMG;AACH,eAAO,MAAM,0BAA0B;;;;;;;;;;iBAYrC,CAAA;AACF,MAAM,MAAM,oBAAoB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,0BAA0B,CAAC,CAAA;AAE7E;;;;GAIG;AACH,eAAO,MAAM,2BAA2B;;;iBAKtC,CAAA;AACF,MAAM,MAAM,qBAAqB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,2BAA2B,CAAC,CAAA;AAE/E;;;;;;;;;;GAUG;AACH,eAAO,MAAM,uBAAuB;;;;;iBAKlC,CAAA;AACF,MAAM,MAAM,qBAAqB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,uBAAuB,CAAC,CAAA;AAE3E;;;;;;GAMG;AACH,eAAO,MAAM,+BAA+B;;;iBAI1C,CAAA;AACF,MAAM,MAAM,yBAAyB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,+BAA+B,CAAC,CAAA;AAEvF,sDAAsD;AACtD,eAAO,MAAM,gCAAgC;;iBAG3C,CAAA;AACF,MAAM,MAAM,0BAA0B,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gCAAgC,CAAC,CAAA;AAEzF,eAAO,MAAM,kBAAkB;;;;;;EAAkE,CAAA;AAEjG,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAuC5B,CAAA"}
1
+ {"version":3,"file":"streaming-shared.d.ts","sourceRoot":"","sources":["../../../src/capabilities/schemas/streaming-shared.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,62 @@
1
+ import { z } from 'zod';
2
+ import { type InferProvider } from './capability-definition.js';
3
+ import { DeviceType } from '../device/device-type.js';
4
+ /**
5
+ * Script-runner cap. Models HA `script.*` entities on
6
+ * `DeviceType.Script`. A Script is a pre-recorded action sequence
7
+ * that can be invoked imperatively — optionally with a variables
8
+ * map when the script declares input fields.
9
+ *
10
+ * Variable-support is signalled by `DeviceFeature.ScriptVariables`
11
+ * so the UI gates a "with parameters" form without a slice fetch.
12
+ */
13
+ export declare const ScriptRunnerStatusSchema: z.ZodObject<{
14
+ isRunning: z.ZodBoolean;
15
+ lastRunAt: z.ZodNumber;
16
+ lastRunSuccess: z.ZodNullable<z.ZodBoolean>;
17
+ lastError: z.ZodNullable<z.ZodString>;
18
+ lastChangedAt: z.ZodNumber;
19
+ }, z.core.$strip>;
20
+ export type ScriptRunnerStatus = z.infer<typeof ScriptRunnerStatusSchema>;
21
+ export declare const scriptRunnerCapability: {
22
+ readonly name: "script-runner";
23
+ readonly scope: "device";
24
+ readonly deviceNative: true;
25
+ readonly mode: "singleton";
26
+ readonly deviceTypes: readonly [DeviceType.Script];
27
+ readonly methods: {
28
+ readonly run: import("./capability-definition.js").CapabilityMethodSchema<z.ZodObject<{
29
+ deviceId: z.ZodNumber;
30
+ variables: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
31
+ }, z.core.$strip>, z.ZodVoid, "mutation">;
32
+ /** Cancel a running script. Provider rejects when the script
33
+ * isn't currently running. */
34
+ readonly stop: import("./capability-definition.js").CapabilityMethodSchema<z.ZodObject<{
35
+ deviceId: z.ZodNumber;
36
+ }, z.core.$strip>, z.ZodVoid, "mutation">;
37
+ };
38
+ readonly status: {
39
+ readonly schema: z.ZodObject<{
40
+ isRunning: z.ZodBoolean;
41
+ lastRunAt: z.ZodNumber;
42
+ lastRunSuccess: z.ZodNullable<z.ZodBoolean>;
43
+ lastError: z.ZodNullable<z.ZodString>;
44
+ lastChangedAt: z.ZodNumber;
45
+ }, z.core.$strip>;
46
+ readonly kind: "push";
47
+ };
48
+ /**
49
+ * Runtime-state slice — mirrored by the kernel. UI script tile reads
50
+ * `isRunning` to render a spinner during execution and surfaces
51
+ * `lastError` / `lastRunSuccess` in the recent-runs panel.
52
+ */
53
+ readonly runtimeState: z.ZodObject<{
54
+ isRunning: z.ZodBoolean;
55
+ lastRunAt: z.ZodNumber;
56
+ lastRunSuccess: z.ZodNullable<z.ZodBoolean>;
57
+ lastError: z.ZodNullable<z.ZodString>;
58
+ lastChangedAt: z.ZodNumber;
59
+ }, z.core.$strip>;
60
+ };
61
+ export type IScriptRunnerProvider = InferProvider<typeof scriptRunnerCapability>;
62
+ //# sourceMappingURL=script-runner.cap.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"script-runner.cap.d.ts","sourceRoot":"","sources":["../../src/capabilities/script-runner.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;;;;;;;;GAQG;AAEH,eAAO,MAAM,wBAAwB;;;;;;iBAanC,CAAA;AAEF,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,wBAAwB,CAAC,CAAA;AAEzE,eAAO,MAAM,sBAAsB;;;;;;;;;;;QAkB/B;uCAC+B;;;;;;;;;;;;;;;IAWjC;;;;OAIG;;;;;;;;CAEoC,CAAA;AAEzC,MAAM,MAAM,qBAAqB,GAAG,aAAa,CAAC,OAAO,sBAAsB,CAAC,CAAA"}
@@ -147,6 +147,31 @@ export declare const settingsStoreCapability: {
147
147
  offset: z.ZodOptional<z.ZodNumber>;
148
148
  }, z.core.$strip>>;
149
149
  }, z.core.$strip>, z.ZodNumber, import("./capability-definition.js").CapabilityMethodKind>;
150
+ /** Grouped counts per ((field-origin)/bucketSize) bucket, filtered. */
151
+ readonly histogram: import("./capability-definition.js").CapabilityMethodSchema<z.ZodObject<{
152
+ namespace: z.ZodOptional<z.ZodString>;
153
+ collection: z.ZodString;
154
+ field: z.ZodString;
155
+ bucketSize: z.ZodNumber;
156
+ origin: z.ZodNumber;
157
+ filter: z.ZodOptional<z.ZodObject<{
158
+ where: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
159
+ whereIn: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodArray<z.ZodUnknown>>>;
160
+ whereBetween: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodTuple<[z.ZodUnknown, z.ZodUnknown], null>>>;
161
+ orderBy: z.ZodOptional<z.ZodObject<{
162
+ field: z.ZodString;
163
+ direction: z.ZodEnum<{
164
+ asc: "asc";
165
+ desc: "desc";
166
+ }>;
167
+ }, z.core.$strip>>;
168
+ limit: z.ZodOptional<z.ZodNumber>;
169
+ offset: z.ZodOptional<z.ZodNumber>;
170
+ }, z.core.$strip>>;
171
+ }, z.core.$strip>, z.ZodReadonly<z.ZodArray<z.ZodObject<{
172
+ bucket: z.ZodNumber;
173
+ count: z.ZodNumber;
174
+ }, z.core.$strip>>>, import("./capability-definition.js").CapabilityMethodKind>;
150
175
  /** Check if a collection is empty. */
151
176
  readonly isEmpty: import("./capability-definition.js").CapabilityMethodSchema<z.ZodObject<{
152
177
  namespace: z.ZodOptional<z.ZodString>;
@@ -1 +1 @@
1
- {"version":3,"file":"settings-store.cap.d.ts","sourceRoot":"","sources":["../../src/capabilities/settings-store.cap.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AACvB,OAAO,EAAqC,KAAK,aAAa,EAAE,MAAM,4BAA4B,CAAA;AAElG;;GAEG;AACH,QAAA,MAAM,iBAAiB;;;;;;;;;;;;;iBAUrB,CAAA;AAEF,8CAA8C;AAC9C,QAAA,MAAM,oBAAoB;;;iBAGxB,CAAA;AAEF;;;;;;;;GAQG;AACH,QAAA,MAAM,sBAAsB;;;;;;;;;;;;iBAM1B,CAAA;AAEF,QAAA,MAAM,qBAAqB;;;;iBAIzB,CAAA;AAEF;;;;;;;;;;;;;;;;GAgBG;AACH,eAAO,MAAM,uBAAuB;;;;;QAKhC,mDAAmD;;;;;;QAMnD,mDAAmD;;;;;;;QAOnD,mDAAmD;;;;;;;;;;;;;;;;;;;;;;QAMnD,2BAA2B;;;;;;;;;QAO3B,uCAAuC;;;;;;;QAOvC,iCAAiC;;;;;;QAOjC,0DAA0D;;;;;;;;;;;;;;;;;;;QAM1D,sCAAsC;;;;;QAMtC;;;;;;;;;;;;;;WAcG;;;;;;;;;;;;;;;;;;;;;;;;CAYkC,CAAA;AAEzC,MAAM,MAAM,sBAAsB,GAAG,aAAa,CAAC,OAAO,uBAAuB,CAAC,CAAA;AAElF;;;;GAIG;AACH,MAAM,MAAM,mBAAmB,GAAG,OAAO,2BAA2B,EAAE,QAAQ,CAAC,eAAe,CAAC,CAAA;AAE/F,OAAO,EAAE,iBAAiB,EAAE,oBAAoB,EAAE,sBAAsB,EAAE,qBAAqB,EAAE,CAAA;AAEjG,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAA;AACrE,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAA"}
1
+ {"version":3,"file":"settings-store.cap.d.ts","sourceRoot":"","sources":["../../src/capabilities/settings-store.cap.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AACvB,OAAO,EAAqC,KAAK,aAAa,EAAE,MAAM,4BAA4B,CAAA;AAElG;;GAEG;AACH,QAAA,MAAM,iBAAiB;;;;;;;;;;;;;iBAUrB,CAAA;AAEF,8CAA8C;AAC9C,QAAA,MAAM,oBAAoB;;;iBAGxB,CAAA;AAEF;;;;;;;;GAQG;AACH,QAAA,MAAM,sBAAsB;;;;;;;;;;;;iBAM1B,CAAA;AAEF,QAAA,MAAM,qBAAqB;;;;iBAIzB,CAAA;AAEF;;;;;;;;;;;;;;;;GAgBG;AACH,eAAO,MAAM,uBAAuB;;;;;QAKhC,mDAAmD;;;;;;QAMnD,mDAAmD;;;;;;;QAOnD,mDAAmD;;;;;;;;;;;;;;;;;;;;;;QAMnD,2BAA2B;;;;;;;;;QAO3B,uCAAuC;;;;;;;QAOvC,iCAAiC;;;;;;QAOjC,0DAA0D;;;;;;;;;;;;;;;;;;;QAM1D,uEAAuE;;;;;;;;;;;;;;;;;;;;;;;;;QAUvE,sCAAsC;;;;;QAMtC;;;;;;;;;;;;;;WAcG;;;;;;;;;;;;;;;;;;;;;;;;CAYkC,CAAA;AAEzC,MAAM,MAAM,sBAAsB,GAAG,aAAa,CAAC,OAAO,uBAAuB,CAAC,CAAA;AAElF;;;;GAIG;AACH,MAAM,MAAM,mBAAmB,GAAG,OAAO,2BAA2B,EAAE,QAAQ,CAAC,eAAe,CAAC,CAAA;AAE/F,OAAO,EAAE,iBAAiB,EAAE,oBAAoB,EAAE,sBAAsB,EAAE,qBAAqB,EAAE,CAAA;AAEjG,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAA;AACrE,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAA"}
@@ -0,0 +1,38 @@
1
+ import { z } from 'zod';
2
+ import { type InferProvider } from './capability-definition.js';
3
+ import { DeviceType } from '../device/device-type.js';
4
+ /**
5
+ * Smoke alarm sensor — boolean "is smoke currently detected" with
6
+ * timestamp of the last transition. Drives Home Assistant
7
+ * `binary_sensor` entries with `device_class: smoke`.
8
+ *
9
+ * Push-driven: a smoke event is critical, so the slice updates
10
+ * immediately on the upstream signal. Auto-clearing back to false is
11
+ * provider-controlled (some alarms latch until manually reset).
12
+ */
13
+ export declare const SmokeStatusSchema: z.ZodObject<{
14
+ detected: z.ZodBoolean;
15
+ lastChangedAt: z.ZodNumber;
16
+ }, z.core.$strip>;
17
+ export type SmokeStatus = z.infer<typeof SmokeStatusSchema>;
18
+ export declare const smokeCapability: {
19
+ readonly name: "smoke";
20
+ readonly scope: "device";
21
+ readonly deviceNative: true;
22
+ readonly mode: "singleton";
23
+ readonly deviceTypes: readonly [DeviceType.Sensor];
24
+ readonly methods: {};
25
+ readonly status: {
26
+ readonly schema: z.ZodObject<{
27
+ detected: z.ZodBoolean;
28
+ lastChangedAt: z.ZodNumber;
29
+ }, z.core.$strip>;
30
+ readonly kind: "push";
31
+ };
32
+ readonly runtimeState: z.ZodObject<{
33
+ detected: z.ZodBoolean;
34
+ lastChangedAt: z.ZodNumber;
35
+ }, z.core.$strip>;
36
+ };
37
+ export type ISmokeProvider = InferProvider<typeof smokeCapability>;
38
+ //# sourceMappingURL=smoke.cap.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"smoke.cap.d.ts","sourceRoot":"","sources":["../../src/capabilities/smoke.cap.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AACvB,OAAO,EAA6B,KAAK,aAAa,EAAE,MAAM,4BAA4B,CAAA;AAC1F,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAA;AAErD;;;;;;;;GAQG;AACH,eAAO,MAAM,iBAAiB;;;iBAI5B,CAAA;AAEF,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAA;AAE3D,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;CAYa,CAAA;AAEzC,MAAM,MAAM,cAAc,GAAG,aAAa,CAAC,OAAO,eAAe,CAAC,CAAA"}
@@ -3,7 +3,7 @@ import { type InferProvider } from './capability-definition.js';
3
3
  /**
4
4
  * snapshot-provider — collection of native snapshot implementations.
5
5
  *
6
- * Device provider addons (ONVIF, Frigate, Scrypted, etc.) register here
6
+ * Device provider addons (ONVIF, Frigate, etc.) register here
7
7
  * when they can capture frames through a protocol-native path (e.g.
8
8
  * ONVIF GetSnapshotUri, Frigate /api/<cam>/latest.jpg). The `snapshot`
9
9
  * singleton orchestrator iterates over the collection, asking each
@@ -47,6 +47,7 @@ declare const SnapshotStatusSchema: z.ZodObject<{
47
47
  export declare const snapshotCapability: {
48
48
  readonly name: "snapshot";
49
49
  readonly scope: "device";
50
+ readonly deviceNative: true;
50
51
  readonly mode: "singleton";
51
52
  readonly kind: "wrapper";
52
53
  readonly defaultActive: true;
@@ -1 +1 @@
1
- {"version":3,"file":"snapshot.cap.d.ts","sourceRoot":"","sources":["../../src/capabilities/snapshot.cap.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AACvB,OAAO,EAAqC,KAAK,aAAa,EAAE,MAAM,4BAA4B,CAAA;AAClG,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAA;AAErD;;;;;;GAMG;AACH,QAAA,MAAM,mBAAmB;;;iBAGvB,CAAA;AAEF;;;;;;;;;;;;;;;;;;;GAmBG;AACH;;;;;GAKG;AACH,QAAA,MAAM,oBAAoB;;;;;iBASxB,CAAA;AAEF,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAuCU,CAAA;AAEzC,MAAM,MAAM,qBAAqB,GAAG,aAAa,CAAC,OAAO,kBAAkB,CAAC,CAAA;AAE5E,OAAO,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,CAAA"}
1
+ {"version":3,"file":"snapshot.cap.d.ts","sourceRoot":"","sources":["../../src/capabilities/snapshot.cap.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AACvB,OAAO,EAAqC,KAAK,aAAa,EAAE,MAAM,4BAA4B,CAAA;AAClG,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAA;AAErD;;;;;;GAMG;AACH,QAAA,MAAM,mBAAmB;;;iBAGvB,CAAA;AAEF;;;;;;;;;;;;;;;;;;;GAmBG;AACH;;;;;GAKG;AACH,QAAA,MAAM,oBAAoB;;;;;iBASxB,CAAA;AAEF,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAwCU,CAAA;AAEzC,MAAM,MAAM,qBAAqB,GAAG,aAAa,CAAC,OAAO,kBAAkB,CAAC,CAAA;AAE5E,OAAO,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,CAAA"}