@camstack/types 0.1.40 → 0.1.42

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (302) hide show
  1. package/dist/addon/base-addon.d.ts +12 -0
  2. package/dist/addon/base-addon.d.ts.map +1 -1
  3. package/dist/addon/durable-state.d.ts +33 -0
  4. package/dist/addon/durable-state.d.ts.map +1 -0
  5. package/dist/capabilities/accessories.cap.d.ts +56 -8
  6. package/dist/capabilities/accessories.cap.d.ts.map +1 -1
  7. package/dist/capabilities/advanced-notifier.cap.d.ts +4 -0
  8. package/dist/capabilities/advanced-notifier.cap.d.ts.map +1 -1
  9. package/dist/capabilities/air-quality-sensor.cap.d.ts +56 -0
  10. package/dist/capabilities/air-quality-sensor.cap.d.ts.map +1 -0
  11. package/dist/capabilities/alarm-panel.cap.d.ts +154 -0
  12. package/dist/capabilities/alarm-panel.cap.d.ts.map +1 -0
  13. package/dist/capabilities/ambient-light-sensor.cap.d.ts +39 -0
  14. package/dist/capabilities/ambient-light-sensor.cap.d.ts.map +1 -0
  15. package/dist/capabilities/automation-control.cap.d.ts +65 -0
  16. package/dist/capabilities/automation-control.cap.d.ts.map +1 -0
  17. package/dist/capabilities/battery.cap.d.ts +30 -1
  18. package/dist/capabilities/battery.cap.d.ts.map +1 -1
  19. package/dist/capabilities/binary.cap.d.ts +40 -0
  20. package/dist/capabilities/binary.cap.d.ts.map +1 -0
  21. package/dist/capabilities/brightness.cap.d.ts +3 -2
  22. package/dist/capabilities/brightness.cap.d.ts.map +1 -1
  23. package/dist/capabilities/broker.cap.d.ts +291 -0
  24. package/dist/capabilities/broker.cap.d.ts.map +1 -0
  25. package/dist/capabilities/button.cap.d.ts +27 -0
  26. package/dist/capabilities/button.cap.d.ts.map +1 -0
  27. package/dist/capabilities/camera-credentials.cap.d.ts +1 -0
  28. package/dist/capabilities/camera-credentials.cap.d.ts.map +1 -1
  29. package/dist/capabilities/camera-streams.cap.d.ts +147 -10
  30. package/dist/capabilities/camera-streams.cap.d.ts.map +1 -1
  31. package/dist/capabilities/capability-definition.d.ts +15 -0
  32. package/dist/capabilities/capability-definition.d.ts.map +1 -1
  33. package/dist/capabilities/carbon-monoxide.cap.d.ts +33 -0
  34. package/dist/capabilities/carbon-monoxide.cap.d.ts.map +1 -0
  35. package/dist/capabilities/climate-control.cap.d.ts +183 -0
  36. package/dist/capabilities/climate-control.cap.d.ts.map +1 -0
  37. package/dist/capabilities/color.cap.d.ts +186 -0
  38. package/dist/capabilities/color.cap.d.ts.map +1 -0
  39. package/dist/capabilities/connectivity.cap.d.ts +37 -0
  40. package/dist/capabilities/connectivity.cap.d.ts.map +1 -0
  41. package/dist/capabilities/consumables.cap.d.ts +105 -0
  42. package/dist/capabilities/consumables.cap.d.ts.map +1 -0
  43. package/dist/capabilities/contact.cap.d.ts +41 -0
  44. package/dist/capabilities/contact.cap.d.ts.map +1 -0
  45. package/dist/capabilities/control.cap.d.ts +167 -0
  46. package/dist/capabilities/control.cap.d.ts.map +1 -0
  47. package/dist/capabilities/cover.cap.d.ts +104 -0
  48. package/dist/capabilities/cover.cap.d.ts.map +1 -0
  49. package/dist/capabilities/custom-actions.d.ts +6 -0
  50. package/dist/capabilities/custom-actions.d.ts.map +1 -1
  51. package/dist/capabilities/decoder.cap.d.ts +1 -1
  52. package/dist/capabilities/device-adoption.cap.d.ts +203 -0
  53. package/dist/capabilities/device-adoption.cap.d.ts.map +1 -0
  54. package/dist/capabilities/device-discovery.cap.d.ts +44 -143
  55. package/dist/capabilities/device-discovery.cap.d.ts.map +1 -1
  56. package/dist/capabilities/device-manager.cap.d.ts +469 -0
  57. package/dist/capabilities/device-manager.cap.d.ts.map +1 -1
  58. package/dist/capabilities/device-ops.cap.d.ts +30 -0
  59. package/dist/capabilities/device-ops.cap.d.ts.map +1 -1
  60. package/dist/capabilities/device-provider.cap.d.ts +36 -0
  61. package/dist/capabilities/device-provider.cap.d.ts.map +1 -1
  62. package/dist/capabilities/device-status.cap.d.ts +1 -0
  63. package/dist/capabilities/device-status.cap.d.ts.map +1 -1
  64. package/dist/capabilities/doorbell.cap.d.ts +1 -0
  65. package/dist/capabilities/doorbell.cap.d.ts.map +1 -1
  66. package/dist/capabilities/enum-sensor.cap.d.ts +60 -0
  67. package/dist/capabilities/enum-sensor.cap.d.ts.map +1 -0
  68. package/dist/capabilities/event-emitter.cap.d.ts +79 -0
  69. package/dist/capabilities/event-emitter.cap.d.ts.map +1 -0
  70. package/dist/capabilities/fan-control.cap.d.ts +100 -0
  71. package/dist/capabilities/fan-control.cap.d.ts.map +1 -0
  72. package/dist/capabilities/feature-probe.cap.d.ts +1 -0
  73. package/dist/capabilities/feature-probe.cap.d.ts.map +1 -1
  74. package/dist/capabilities/filesystem-browse.cap.d.ts +39 -0
  75. package/dist/capabilities/filesystem-browse.cap.d.ts.map +1 -0
  76. package/dist/capabilities/flood.cap.d.ts +37 -0
  77. package/dist/capabilities/flood.cap.d.ts.map +1 -0
  78. package/dist/capabilities/gas.cap.d.ts +34 -0
  79. package/dist/capabilities/gas.cap.d.ts.map +1 -0
  80. package/dist/capabilities/humidifier.cap.d.ts +82 -0
  81. package/dist/capabilities/humidifier.cap.d.ts.map +1 -0
  82. package/dist/capabilities/humidity-sensor.cap.d.ts +43 -0
  83. package/dist/capabilities/humidity-sensor.cap.d.ts.map +1 -0
  84. package/dist/capabilities/image.cap.d.ts +44 -0
  85. package/dist/capabilities/image.cap.d.ts.map +1 -0
  86. package/dist/capabilities/index.d.ts +97 -12
  87. package/dist/capabilities/index.d.ts.map +1 -1
  88. package/dist/capabilities/integrations.cap.d.ts +12 -0
  89. package/dist/capabilities/integrations.cap.d.ts.map +1 -1
  90. package/dist/capabilities/intercom.cap.d.ts +49 -9
  91. package/dist/capabilities/intercom.cap.d.ts.map +1 -1
  92. package/dist/capabilities/lawn-mower-control.cap.d.ts +83 -0
  93. package/dist/capabilities/lawn-mower-control.cap.d.ts.map +1 -0
  94. package/dist/capabilities/lock-control.cap.d.ts +92 -0
  95. package/dist/capabilities/lock-control.cap.d.ts.map +1 -0
  96. package/dist/capabilities/media-player.cap.d.ts +201 -0
  97. package/dist/capabilities/media-player.cap.d.ts.map +1 -0
  98. package/dist/capabilities/motion-trigger.cap.d.ts +1 -0
  99. package/dist/capabilities/motion-trigger.cap.d.ts.map +1 -1
  100. package/dist/capabilities/motion-zones.cap.d.ts +1 -0
  101. package/dist/capabilities/motion-zones.cap.d.ts.map +1 -1
  102. package/dist/capabilities/native-object-detection.cap.d.ts +1 -0
  103. package/dist/capabilities/native-object-detection.cap.d.ts.map +1 -1
  104. package/dist/capabilities/network-quality.cap.d.ts +5 -0
  105. package/dist/capabilities/network-quality.cap.d.ts.map +1 -1
  106. package/dist/capabilities/notifier.cap.d.ts +173 -0
  107. package/dist/capabilities/notifier.cap.d.ts.map +1 -0
  108. package/dist/capabilities/numeric-sensor.cap.d.ts +52 -0
  109. package/dist/capabilities/numeric-sensor.cap.d.ts.map +1 -0
  110. package/dist/capabilities/osd.cap.d.ts +1 -0
  111. package/dist/capabilities/osd.cap.d.ts.map +1 -1
  112. package/dist/capabilities/pipeline-analytics.cap.d.ts +69 -22
  113. package/dist/capabilities/pipeline-analytics.cap.d.ts.map +1 -1
  114. package/dist/capabilities/pipeline-executor.cap.d.ts +2 -2
  115. package/dist/capabilities/pipeline-orchestrator.cap.d.ts +1 -1
  116. package/dist/capabilities/pipeline-runner.cap.d.ts +2 -2
  117. package/dist/capabilities/platform-probe.cap.d.ts +25 -0
  118. package/dist/capabilities/platform-probe.cap.d.ts.map +1 -1
  119. package/dist/capabilities/power-meter.cap.d.ts +65 -0
  120. package/dist/capabilities/power-meter.cap.d.ts.map +1 -0
  121. package/dist/capabilities/presence.cap.d.ts +79 -0
  122. package/dist/capabilities/presence.cap.d.ts.map +1 -0
  123. package/dist/capabilities/pressure-sensor.cap.d.ts +43 -0
  124. package/dist/capabilities/pressure-sensor.cap.d.ts.map +1 -0
  125. package/dist/capabilities/privacy-mask.cap.d.ts +1 -0
  126. package/dist/capabilities/privacy-mask.cap.d.ts.map +1 -1
  127. package/dist/capabilities/ptz-autotrack.cap.d.ts +1 -0
  128. package/dist/capabilities/ptz-autotrack.cap.d.ts.map +1 -1
  129. package/dist/capabilities/ptz.cap.d.ts +1 -0
  130. package/dist/capabilities/ptz.cap.d.ts.map +1 -1
  131. package/dist/capabilities/reboot.cap.d.ts +1 -0
  132. package/dist/capabilities/reboot.cap.d.ts.map +1 -1
  133. package/dist/capabilities/recording.cap.d.ts +367 -32
  134. package/dist/capabilities/recording.cap.d.ts.map +1 -1
  135. package/dist/capabilities/restreamer.cap.d.ts +2 -2
  136. package/dist/capabilities/schemas/orchestrator-metrics.d.ts +2 -2
  137. package/dist/capabilities/schemas/streaming-shared.d.ts +64 -1
  138. package/dist/capabilities/schemas/streaming-shared.d.ts.map +1 -1
  139. package/dist/capabilities/script-runner.cap.d.ts +62 -0
  140. package/dist/capabilities/script-runner.cap.d.ts.map +1 -0
  141. package/dist/capabilities/settings-store.cap.d.ts +25 -0
  142. package/dist/capabilities/settings-store.cap.d.ts.map +1 -1
  143. package/dist/capabilities/smoke.cap.d.ts +38 -0
  144. package/dist/capabilities/smoke.cap.d.ts.map +1 -0
  145. package/dist/capabilities/snapshot-provider.cap.d.ts +1 -1
  146. package/dist/capabilities/snapshot.cap.d.ts +1 -0
  147. package/dist/capabilities/snapshot.cap.d.ts.map +1 -1
  148. package/dist/capabilities/storage-evictable.cap.d.ts +54 -0
  149. package/dist/capabilities/storage-evictable.cap.d.ts.map +1 -0
  150. package/dist/capabilities/storage-provider.cap.d.ts +46 -186
  151. package/dist/capabilities/storage-provider.cap.d.ts.map +1 -1
  152. package/dist/capabilities/storage.cap.d.ts +41 -226
  153. package/dist/capabilities/storage.cap.d.ts.map +1 -1
  154. package/dist/capabilities/stream-broker.cap.d.ts +323 -25
  155. package/dist/capabilities/stream-broker.cap.d.ts.map +1 -1
  156. package/dist/capabilities/stream-catalog.cap.d.ts +3 -0
  157. package/dist/capabilities/stream-catalog.cap.d.ts.map +1 -1
  158. package/dist/capabilities/stream-params.cap.d.ts +27 -26
  159. package/dist/capabilities/stream-params.cap.d.ts.map +1 -1
  160. package/dist/capabilities/switch.cap.d.ts +1 -0
  161. package/dist/capabilities/switch.cap.d.ts.map +1 -1
  162. package/dist/capabilities/tamper.cap.d.ts +33 -0
  163. package/dist/capabilities/tamper.cap.d.ts.map +1 -0
  164. package/dist/capabilities/temperature-sensor.cap.d.ts +51 -0
  165. package/dist/capabilities/temperature-sensor.cap.d.ts.map +1 -0
  166. package/dist/capabilities/update.cap.d.ts +49 -0
  167. package/dist/capabilities/update.cap.d.ts.map +1 -0
  168. package/dist/capabilities/vacuum-control.cap.d.ts +229 -0
  169. package/dist/capabilities/vacuum-control.cap.d.ts.map +1 -0
  170. package/dist/capabilities/valve.cap.d.ts +93 -0
  171. package/dist/capabilities/valve.cap.d.ts.map +1 -0
  172. package/dist/capabilities/vibration.cap.d.ts +33 -0
  173. package/dist/capabilities/vibration.cap.d.ts.map +1 -0
  174. package/dist/capabilities/videoclips.cap.d.ts +77 -0
  175. package/dist/capabilities/videoclips.cap.d.ts.map +1 -0
  176. package/dist/capabilities/water-heater.cap.d.ts +78 -0
  177. package/dist/capabilities/water-heater.cap.d.ts.map +1 -0
  178. package/dist/capabilities/weather.cap.d.ts +76 -0
  179. package/dist/capabilities/weather.cap.d.ts.map +1 -0
  180. package/dist/capabilities/webrtc-session.cap.d.ts +95 -1
  181. package/dist/capabilities/webrtc-session.cap.d.ts.map +1 -1
  182. package/dist/constants.d.ts +0 -2
  183. package/dist/constants.d.ts.map +1 -1
  184. package/dist/device/base-device-provider.d.ts +11 -0
  185. package/dist/device/base-device-provider.d.ts.map +1 -1
  186. package/dist/device/base-device.d.ts +52 -0
  187. package/dist/device/base-device.d.ts.map +1 -1
  188. package/dist/device/device-context.d.ts +29 -0
  189. package/dist/device/device-context.d.ts.map +1 -1
  190. package/dist/device/device-link-transform.d.ts +6 -0
  191. package/dist/device/device-link-transform.d.ts.map +1 -0
  192. package/dist/device/device-management.d.ts +116 -4
  193. package/dist/device/device-management.d.ts.map +1 -1
  194. package/dist/device/device-type.d.ts +214 -3
  195. package/dist/device/device-type.d.ts.map +1 -1
  196. package/dist/device/device.d.ts +25 -0
  197. package/dist/device/device.d.ts.map +1 -1
  198. package/dist/device/index.d.ts +5 -1
  199. package/dist/device/index.d.ts.map +1 -1
  200. package/dist/device/path-util.d.ts +13 -0
  201. package/dist/device/path-util.d.ts.map +1 -0
  202. package/dist/device/schema-fields.d.ts +12 -0
  203. package/dist/device/schema-fields.d.ts.map +1 -0
  204. package/dist/device/source-info.d.ts +87 -0
  205. package/dist/device/source-info.d.ts.map +1 -0
  206. package/dist/device/system-mirror.d.ts +6 -2
  207. package/dist/device/system-mirror.d.ts.map +1 -1
  208. package/dist/encode-profile.d.ts +126 -0
  209. package/dist/encode-profile.d.ts.map +1 -0
  210. package/dist/enums/event-category.d.ts +64 -6
  211. package/dist/enums/event-category.d.ts.map +1 -1
  212. package/dist/generated/addon-api.d.ts +12722 -8080
  213. package/dist/generated/addon-api.d.ts.map +1 -1
  214. package/dist/generated/cap-status-types.d.ts +85 -1
  215. package/dist/generated/cap-status-types.d.ts.map +1 -1
  216. package/dist/generated/capability-router-map.d.ts +139 -7
  217. package/dist/generated/capability-router-map.d.ts.map +1 -1
  218. package/dist/generated/device-local-state.d.ts +117 -0
  219. package/dist/generated/device-local-state.d.ts.map +1 -1
  220. package/dist/generated/device-proxy.d.ts +126 -5
  221. package/dist/generated/device-proxy.d.ts.map +1 -1
  222. package/dist/generated/method-access-map.d.ts +1 -1
  223. package/dist/generated/method-access-map.d.ts.map +1 -1
  224. package/dist/generated/provider-kind-map.d.ts +1 -1
  225. package/dist/generated/provider-kind-map.d.ts.map +1 -1
  226. package/dist/generated/system-proxy.d.ts +10 -8
  227. package/dist/generated/system-proxy.d.ts.map +1 -1
  228. package/dist/{index-C2zzIDdX.mjs → index-BxWo3b49.mjs} +4714 -1113
  229. package/dist/index-BxWo3b49.mjs.map +1 -0
  230. package/dist/{index-DnpdVFKv.js → index-CGMPfVaT.js} +4321 -720
  231. package/dist/index-CGMPfVaT.js.map +1 -0
  232. package/dist/index.d.ts +22 -3
  233. package/dist/index.d.ts.map +1 -1
  234. package/dist/index.js +1384 -116
  235. package/dist/index.js.map +1 -1
  236. package/dist/index.mjs +1698 -430
  237. package/dist/index.mjs.map +1 -1
  238. package/dist/interfaces/addon-data-plane.d.ts +76 -0
  239. package/dist/interfaces/addon-data-plane.d.ts.map +1 -0
  240. package/dist/interfaces/addon.d.ts +60 -0
  241. package/dist/interfaces/addon.d.ts.map +1 -1
  242. package/dist/interfaces/advanced-notifier.d.ts +4 -0
  243. package/dist/interfaces/advanced-notifier.d.ts.map +1 -1
  244. package/dist/interfaces/capability.d.ts +42 -1
  245. package/dist/interfaces/capability.d.ts.map +1 -1
  246. package/dist/interfaces/config-ui.d.ts +70 -6
  247. package/dist/interfaces/config-ui.d.ts.map +1 -1
  248. package/dist/interfaces/device-capabilities/camera.d.ts +2 -1
  249. package/dist/interfaces/device-capabilities/camera.d.ts.map +1 -1
  250. package/dist/interfaces/event-bus.d.ts +49 -3
  251. package/dist/interfaces/event-bus.d.ts.map +1 -1
  252. package/dist/interfaces/kernel-abstractions.d.ts +10 -1
  253. package/dist/interfaces/kernel-abstractions.d.ts.map +1 -1
  254. package/dist/interfaces/network-quality.d.ts +8 -0
  255. package/dist/interfaces/network-quality.d.ts.map +1 -1
  256. package/dist/interfaces/pipeline-executor-capability.d.ts +2 -2
  257. package/dist/interfaces/pipeline-orchestrator-capability.d.ts +2 -1
  258. package/dist/interfaces/pipeline-orchestrator-capability.d.ts.map +1 -1
  259. package/dist/interfaces/pipeline-runner-capability.d.ts +7 -0
  260. package/dist/interfaces/pipeline-runner-capability.d.ts.map +1 -1
  261. package/dist/interfaces/recording-config-migrate.d.ts +13 -0
  262. package/dist/interfaces/recording-config-migrate.d.ts.map +1 -0
  263. package/dist/interfaces/recording-config.d.ts +209 -0
  264. package/dist/interfaces/recording-config.d.ts.map +1 -0
  265. package/dist/interfaces/rtp-egress.d.ts +2 -3
  266. package/dist/interfaces/rtp-egress.d.ts.map +1 -1
  267. package/dist/interfaces/storage-location-declaration.d.ts +34 -0
  268. package/dist/interfaces/storage-location-declaration.d.ts.map +1 -0
  269. package/dist/interfaces/storage-location.d.ts +19 -74
  270. package/dist/interfaces/storage-location.d.ts.map +1 -1
  271. package/dist/interfaces/storage.d.ts +15 -4
  272. package/dist/interfaces/storage.d.ts.map +1 -1
  273. package/dist/interfaces/stream-broker.d.ts +18 -3
  274. package/dist/interfaces/stream-broker.d.ts.map +1 -1
  275. package/dist/interfaces/timezones.d.ts +59 -0
  276. package/dist/interfaces/timezones.d.ts.map +1 -0
  277. package/dist/node.d.ts +3 -0
  278. package/dist/node.d.ts.map +1 -1
  279. package/dist/node.js +50 -8
  280. package/dist/node.js.map +1 -1
  281. package/dist/node.mjs +51 -9
  282. package/dist/node.mjs.map +1 -1
  283. package/dist/storage/filesystem-storage-provider.d.ts +2 -1
  284. package/dist/storage/filesystem-storage-provider.d.ts.map +1 -1
  285. package/dist/stream-selection.d.ts +85 -0
  286. package/dist/stream-selection.d.ts.map +1 -0
  287. package/dist/types/detection.d.ts +3 -3
  288. package/dist/types/io.d.ts +1 -1
  289. package/dist/types/io.d.ts.map +1 -1
  290. package/dist/util/location-match.d.ts +15 -0
  291. package/dist/util/location-match.d.ts.map +1 -0
  292. package/dist/utils/canonical-hash.d.ts +20 -0
  293. package/dist/utils/canonical-hash.d.ts.map +1 -0
  294. package/dist/utils/export-reconciler.d.ts +101 -0
  295. package/dist/utils/export-reconciler.d.ts.map +1 -0
  296. package/dist/utils/sleep.d.ts +36 -0
  297. package/dist/utils/sleep.d.ts.map +1 -0
  298. package/package.json +1 -1
  299. package/dist/capabilities/recording-engine.cap.d.ts +0 -477
  300. package/dist/capabilities/recording-engine.cap.d.ts.map +0 -1
  301. package/dist/index-C2zzIDdX.mjs.map +0 -1
  302. package/dist/index-DnpdVFKv.js.map +0 -1
@@ -0,0 +1,83 @@
1
+ import { z } from 'zod';
2
+ import { type InferProvider } from './capability-definition.js';
3
+ import { DeviceType } from '../device/device-type.js';
4
+ /**
5
+ * Robotic lawn-mower cap. Models HA `lawn_mower.*` entities — anything
6
+ * with a mowing lifecycle plus a dock action.
7
+ *
8
+ * Activity follows HA's canonical lawn-mower lifecycle: `idle` /
9
+ * `mowing` / `paused` / `docked` / `error`. `batteryLevel` (0..100) is
10
+ * nullable — some mowers don't report a battery percentage.
11
+ *
12
+ * `startMowing` begins a mowing run, `pause` halts it in place, and
13
+ * `dock` sends the mower back to its charging station.
14
+ */
15
+ export declare const LawnMowerActivitySchema: z.ZodEnum<{
16
+ error: "error";
17
+ idle: "idle";
18
+ paused: "paused";
19
+ mowing: "mowing";
20
+ docked: "docked";
21
+ }>;
22
+ export type LawnMowerActivity = z.infer<typeof LawnMowerActivitySchema>;
23
+ export declare const LawnMowerControlStatusSchema: z.ZodObject<{
24
+ activity: z.ZodEnum<{
25
+ error: "error";
26
+ idle: "idle";
27
+ paused: "paused";
28
+ mowing: "mowing";
29
+ docked: "docked";
30
+ }>;
31
+ batteryLevel: z.ZodNullable<z.ZodNumber>;
32
+ lastChangedAt: z.ZodNumber;
33
+ }, z.core.$strip>;
34
+ export type LawnMowerControlStatus = z.infer<typeof LawnMowerControlStatusSchema>;
35
+ export declare const lawnMowerControlCapability: {
36
+ readonly name: "lawn-mower-control";
37
+ readonly scope: "device";
38
+ readonly deviceNative: true;
39
+ readonly mode: "singleton";
40
+ readonly deviceTypes: readonly [DeviceType.LawnMower];
41
+ readonly methods: {
42
+ readonly startMowing: import("./capability-definition.js").CapabilityMethodSchema<z.ZodObject<{
43
+ deviceId: z.ZodNumber;
44
+ }, z.core.$strip>, z.ZodVoid, "mutation">;
45
+ readonly pause: import("./capability-definition.js").CapabilityMethodSchema<z.ZodObject<{
46
+ deviceId: z.ZodNumber;
47
+ }, z.core.$strip>, z.ZodVoid, "mutation">;
48
+ readonly dock: import("./capability-definition.js").CapabilityMethodSchema<z.ZodObject<{
49
+ deviceId: z.ZodNumber;
50
+ }, z.core.$strip>, z.ZodVoid, "mutation">;
51
+ };
52
+ readonly status: {
53
+ readonly schema: z.ZodObject<{
54
+ activity: z.ZodEnum<{
55
+ error: "error";
56
+ idle: "idle";
57
+ paused: "paused";
58
+ mowing: "mowing";
59
+ docked: "docked";
60
+ }>;
61
+ batteryLevel: z.ZodNullable<z.ZodNumber>;
62
+ lastChangedAt: z.ZodNumber;
63
+ }, z.core.$strip>;
64
+ readonly kind: "push";
65
+ };
66
+ /**
67
+ * Runtime-state slice — mirrored by the kernel. UI controls watch the
68
+ * slice for live activity + battery changes.
69
+ */
70
+ readonly runtimeState: z.ZodObject<{
71
+ activity: z.ZodEnum<{
72
+ error: "error";
73
+ idle: "idle";
74
+ paused: "paused";
75
+ mowing: "mowing";
76
+ docked: "docked";
77
+ }>;
78
+ batteryLevel: z.ZodNullable<z.ZodNumber>;
79
+ lastChangedAt: z.ZodNumber;
80
+ }, z.core.$strip>;
81
+ };
82
+ export type ILawnMowerControlProvider = InferProvider<typeof lawnMowerControlCapability>;
83
+ //# sourceMappingURL=lawn-mower-control.cap.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lawn-mower-control.cap.d.ts","sourceRoot":"","sources":["../../src/capabilities/lawn-mower-control.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;;;;;;;;;;GAUG;AAEH,eAAO,MAAM,uBAAuB;;;;;;EAMlC,CAAA;AACF,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,uBAAuB,CAAC,CAAA;AAEvE,eAAO,MAAM,4BAA4B;;;;;;;;;;iBAQvC,CAAA;AAEF,MAAM,MAAM,sBAAsB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,4BAA4B,CAAC,CAAA;AAEjF,eAAO,MAAM,0BAA0B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IA2BrC;;;OAGG;;;;;;;;;;;;CAEoC,CAAA;AAEzC,MAAM,MAAM,yBAAyB,GAAG,aAAa,CAAC,OAAO,0BAA0B,CAAC,CAAA"}
@@ -0,0 +1,92 @@
1
+ import { z } from 'zod';
2
+ import { type InferProvider } from './capability-definition.js';
3
+ import { DeviceType } from '../device/device-type.js';
4
+ /**
5
+ * Smart-lock cap. Models HA `lock.*` entities — anything with a
6
+ * locked / unlocked binary state plus the four transient lifecycle
7
+ * states (`locking` / `unlocking`) and the `jammed` failure state
8
+ * that low-end deadbolts surface when the motor can't reach the
9
+ * target position.
10
+ *
11
+ * Some HA locks require a PIN code on every lock/unlock operation
12
+ * (workplace keypad locks, hospitality). The optional `code` field
13
+ * on the methods passes it through to the upstream service — the
14
+ * code is NEVER persisted in the runtime slice or any event payload.
15
+ * Locks that REQUIRE a code set `DeviceFeature.LockPinRequired` so
16
+ * the UI gates a code-entry field without a slice fetch.
17
+ *
18
+ * Locks that support a latch-release ("open door") action advertise
19
+ * `DeviceFeature.LockOpen`. The `open` method triggers the latch
20
+ * without a full lock/unlock cycle. Only available when the lock
21
+ * reports `LockEntityFeature.OPEN` (bit value 1) in HA
22
+ * `supported_features`.
23
+ */
24
+ export declare const LockStateSchema: z.ZodEnum<{
25
+ locked: "locked";
26
+ unlocked: "unlocked";
27
+ locking: "locking";
28
+ unlocking: "unlocking";
29
+ jammed: "jammed";
30
+ }>;
31
+ export type LockState = z.infer<typeof LockStateSchema>;
32
+ export declare const LockControlStatusSchema: z.ZodObject<{
33
+ state: z.ZodEnum<{
34
+ locked: "locked";
35
+ unlocked: "unlocked";
36
+ locking: "locking";
37
+ unlocking: "unlocking";
38
+ jammed: "jammed";
39
+ }>;
40
+ lastChangedAt: z.ZodNumber;
41
+ }, z.core.$strip>;
42
+ export type LockControlStatus = z.infer<typeof LockControlStatusSchema>;
43
+ export declare const lockControlCapability: {
44
+ readonly name: "lock-control";
45
+ readonly scope: "device";
46
+ readonly deviceNative: true;
47
+ readonly mode: "singleton";
48
+ readonly deviceTypes: readonly [DeviceType.Lock];
49
+ readonly methods: {
50
+ readonly lock: import("./capability-definition.js").CapabilityMethodSchema<z.ZodObject<{
51
+ deviceId: z.ZodNumber;
52
+ code: z.ZodOptional<z.ZodString>;
53
+ }, z.core.$strip>, z.ZodVoid, "mutation">;
54
+ readonly unlock: import("./capability-definition.js").CapabilityMethodSchema<z.ZodObject<{
55
+ deviceId: z.ZodNumber;
56
+ code: z.ZodOptional<z.ZodString>;
57
+ }, z.core.$strip>, z.ZodVoid, "mutation">;
58
+ readonly open: import("./capability-definition.js").CapabilityMethodSchema<z.ZodObject<{
59
+ deviceId: z.ZodNumber;
60
+ }, z.core.$strip>, z.ZodVoid, "mutation">;
61
+ };
62
+ readonly status: {
63
+ readonly schema: z.ZodObject<{
64
+ state: z.ZodEnum<{
65
+ locked: "locked";
66
+ unlocked: "unlocked";
67
+ locking: "locking";
68
+ unlocking: "unlocking";
69
+ jammed: "jammed";
70
+ }>;
71
+ lastChangedAt: z.ZodNumber;
72
+ }, z.core.$strip>;
73
+ readonly kind: "push";
74
+ };
75
+ /**
76
+ * Runtime-state slice — mirrored by the kernel. UI lock buttons
77
+ * read `state` and disable themselves during `locking`/`unlocking`
78
+ * transitions.
79
+ */
80
+ readonly runtimeState: z.ZodObject<{
81
+ state: z.ZodEnum<{
82
+ locked: "locked";
83
+ unlocked: "unlocked";
84
+ locking: "locking";
85
+ unlocking: "unlocking";
86
+ jammed: "jammed";
87
+ }>;
88
+ lastChangedAt: z.ZodNumber;
89
+ }, z.core.$strip>;
90
+ };
91
+ export type ILockControlProvider = InferProvider<typeof lockControlCapability>;
92
+ //# sourceMappingURL=lock-control.cap.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lock-control.cap.d.ts","sourceRoot":"","sources":["../../src/capabilities/lock-control.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;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,eAAO,MAAM,eAAe;;;;;;EAM1B,CAAA;AACF,MAAM,MAAM,SAAS,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,eAAe,CAAC,CAAA;AAEvD,eAAO,MAAM,uBAAuB;;;;;;;;;iBAMlC,CAAA;AAEF,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,uBAAuB,CAAC,CAAA;AAEvE,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAqChC;;;;OAIG;;;;;;;;;;;CAEoC,CAAA;AAEzC,MAAM,MAAM,oBAAoB,GAAG,aAAa,CAAC,OAAO,qBAAqB,CAAC,CAAA"}
@@ -0,0 +1,201 @@
1
+ import { z } from 'zod';
2
+ import { type InferProvider } from './capability-definition.js';
3
+ import { DeviceType } from '../device/device-type.js';
4
+ /**
5
+ * Media-player cap. Models HA `media_player.*` (Sonos, Chromecast,
6
+ * Apple TV, Spotify, Roku, generic OTT receivers, …) on
7
+ * `DeviceType.MediaPlayer`. Disjoint from the camera streaming
8
+ * surface — those use `DeviceType.Camera` + the broker pipeline.
9
+ *
10
+ * The cap declares a wide method surface; not every backend supports
11
+ * every method. Drivers signal sub-capability via the
12
+ * `DeviceFeature.MediaPlayerXxx` flags (paired one-to-one with the
13
+ * corresponding method) so the UI gates buttons without a slice
14
+ * fetch — same pattern as `PanTiltZoom` for cameras.
15
+ */
16
+ export declare const MediaPlayerStateSchema: z.ZodEnum<{
17
+ off: "off";
18
+ idle: "idle";
19
+ playing: "playing";
20
+ paused: "paused";
21
+ on: "on";
22
+ buffering: "buffering";
23
+ standby: "standby";
24
+ }>;
25
+ export type MediaPlayerState = z.infer<typeof MediaPlayerStateSchema>;
26
+ export declare const MediaPlayerRepeatSchema: z.ZodEnum<{
27
+ off: "off";
28
+ all: "all";
29
+ one: "one";
30
+ }>;
31
+ export type MediaPlayerRepeat = z.infer<typeof MediaPlayerRepeatSchema>;
32
+ declare const MediaInfoSchema: z.ZodObject<{
33
+ type: z.ZodString;
34
+ title: z.ZodString;
35
+ artist: z.ZodOptional<z.ZodString>;
36
+ album: z.ZodOptional<z.ZodString>;
37
+ imageUrl: z.ZodOptional<z.ZodString>;
38
+ }, z.core.$strip>;
39
+ export type MediaInfo = z.infer<typeof MediaInfoSchema>;
40
+ export declare const MediaPlayerStatusSchema: z.ZodObject<{
41
+ state: z.ZodEnum<{
42
+ off: "off";
43
+ idle: "idle";
44
+ playing: "playing";
45
+ paused: "paused";
46
+ on: "on";
47
+ buffering: "buffering";
48
+ standby: "standby";
49
+ }>;
50
+ volumeLevel: z.ZodNullable<z.ZodNumber>;
51
+ isMuted: z.ZodNullable<z.ZodBoolean>;
52
+ source: z.ZodString;
53
+ availableSources: z.ZodArray<z.ZodString>;
54
+ currentMedia: z.ZodNullable<z.ZodObject<{
55
+ type: z.ZodString;
56
+ title: z.ZodString;
57
+ artist: z.ZodOptional<z.ZodString>;
58
+ album: z.ZodOptional<z.ZodString>;
59
+ imageUrl: z.ZodOptional<z.ZodString>;
60
+ }, z.core.$strip>>;
61
+ positionMs: z.ZodNullable<z.ZodNumber>;
62
+ durationMs: z.ZodNullable<z.ZodNumber>;
63
+ shuffle: z.ZodNullable<z.ZodBoolean>;
64
+ repeat: z.ZodNullable<z.ZodEnum<{
65
+ off: "off";
66
+ all: "all";
67
+ one: "one";
68
+ }>>;
69
+ lastChangedAt: z.ZodNumber;
70
+ }, z.core.$strip>;
71
+ export type MediaPlayerStatus = z.infer<typeof MediaPlayerStatusSchema>;
72
+ export declare const mediaPlayerCapability: {
73
+ readonly name: "media-player";
74
+ readonly scope: "device";
75
+ readonly deviceNative: true;
76
+ readonly mode: "singleton";
77
+ readonly deviceTypes: readonly [DeviceType.MediaPlayer];
78
+ readonly methods: {
79
+ readonly play: import("./capability-definition.js").CapabilityMethodSchema<z.ZodObject<{
80
+ deviceId: z.ZodNumber;
81
+ }, z.core.$strip>, z.ZodVoid, "mutation">;
82
+ readonly pause: import("./capability-definition.js").CapabilityMethodSchema<z.ZodObject<{
83
+ deviceId: z.ZodNumber;
84
+ }, z.core.$strip>, z.ZodVoid, "mutation">;
85
+ readonly stop: import("./capability-definition.js").CapabilityMethodSchema<z.ZodObject<{
86
+ deviceId: z.ZodNumber;
87
+ }, z.core.$strip>, z.ZodVoid, "mutation">;
88
+ readonly next: import("./capability-definition.js").CapabilityMethodSchema<z.ZodObject<{
89
+ deviceId: z.ZodNumber;
90
+ }, z.core.$strip>, z.ZodVoid, "mutation">;
91
+ readonly previous: import("./capability-definition.js").CapabilityMethodSchema<z.ZodObject<{
92
+ deviceId: z.ZodNumber;
93
+ }, z.core.$strip>, z.ZodVoid, "mutation">;
94
+ readonly seek: import("./capability-definition.js").CapabilityMethodSchema<z.ZodObject<{
95
+ deviceId: z.ZodNumber;
96
+ positionMs: z.ZodNumber;
97
+ }, z.core.$strip>, z.ZodVoid, "mutation">;
98
+ readonly setVolume: import("./capability-definition.js").CapabilityMethodSchema<z.ZodObject<{
99
+ deviceId: z.ZodNumber;
100
+ volumeLevel: z.ZodNumber;
101
+ }, z.core.$strip>, z.ZodVoid, "mutation">;
102
+ readonly setMute: import("./capability-definition.js").CapabilityMethodSchema<z.ZodObject<{
103
+ deviceId: z.ZodNumber;
104
+ muted: z.ZodBoolean;
105
+ }, z.core.$strip>, z.ZodVoid, "mutation">;
106
+ readonly setShuffle: import("./capability-definition.js").CapabilityMethodSchema<z.ZodObject<{
107
+ deviceId: z.ZodNumber;
108
+ shuffle: z.ZodBoolean;
109
+ }, z.core.$strip>, z.ZodVoid, "mutation">;
110
+ readonly setRepeat: import("./capability-definition.js").CapabilityMethodSchema<z.ZodObject<{
111
+ deviceId: z.ZodNumber;
112
+ repeat: z.ZodEnum<{
113
+ off: "off";
114
+ all: "all";
115
+ one: "one";
116
+ }>;
117
+ }, z.core.$strip>, z.ZodVoid, "mutation">;
118
+ readonly selectSource: import("./capability-definition.js").CapabilityMethodSchema<z.ZodObject<{
119
+ deviceId: z.ZodNumber;
120
+ source: z.ZodString;
121
+ }, z.core.$strip>, z.ZodVoid, "mutation">;
122
+ readonly playMedia: import("./capability-definition.js").CapabilityMethodSchema<z.ZodObject<{
123
+ deviceId: z.ZodNumber;
124
+ mediaId: z.ZodString;
125
+ mediaType: z.ZodString;
126
+ }, z.core.$strip>, z.ZodVoid, "mutation">;
127
+ };
128
+ readonly status: {
129
+ readonly schema: z.ZodObject<{
130
+ state: z.ZodEnum<{
131
+ off: "off";
132
+ idle: "idle";
133
+ playing: "playing";
134
+ paused: "paused";
135
+ on: "on";
136
+ buffering: "buffering";
137
+ standby: "standby";
138
+ }>;
139
+ volumeLevel: z.ZodNullable<z.ZodNumber>;
140
+ isMuted: z.ZodNullable<z.ZodBoolean>;
141
+ source: z.ZodString;
142
+ availableSources: z.ZodArray<z.ZodString>;
143
+ currentMedia: z.ZodNullable<z.ZodObject<{
144
+ type: z.ZodString;
145
+ title: z.ZodString;
146
+ artist: z.ZodOptional<z.ZodString>;
147
+ album: z.ZodOptional<z.ZodString>;
148
+ imageUrl: z.ZodOptional<z.ZodString>;
149
+ }, z.core.$strip>>;
150
+ positionMs: z.ZodNullable<z.ZodNumber>;
151
+ durationMs: z.ZodNullable<z.ZodNumber>;
152
+ shuffle: z.ZodNullable<z.ZodBoolean>;
153
+ repeat: z.ZodNullable<z.ZodEnum<{
154
+ off: "off";
155
+ all: "all";
156
+ one: "one";
157
+ }>>;
158
+ lastChangedAt: z.ZodNumber;
159
+ }, z.core.$strip>;
160
+ readonly kind: "push";
161
+ };
162
+ /**
163
+ * Runtime-state slice — mirrored by the kernel. UI players read the
164
+ * full slice for live now-playing, volume, and progress updates
165
+ * without polling.
166
+ */
167
+ readonly runtimeState: z.ZodObject<{
168
+ state: z.ZodEnum<{
169
+ off: "off";
170
+ idle: "idle";
171
+ playing: "playing";
172
+ paused: "paused";
173
+ on: "on";
174
+ buffering: "buffering";
175
+ standby: "standby";
176
+ }>;
177
+ volumeLevel: z.ZodNullable<z.ZodNumber>;
178
+ isMuted: z.ZodNullable<z.ZodBoolean>;
179
+ source: z.ZodString;
180
+ availableSources: z.ZodArray<z.ZodString>;
181
+ currentMedia: z.ZodNullable<z.ZodObject<{
182
+ type: z.ZodString;
183
+ title: z.ZodString;
184
+ artist: z.ZodOptional<z.ZodString>;
185
+ album: z.ZodOptional<z.ZodString>;
186
+ imageUrl: z.ZodOptional<z.ZodString>;
187
+ }, z.core.$strip>>;
188
+ positionMs: z.ZodNullable<z.ZodNumber>;
189
+ durationMs: z.ZodNullable<z.ZodNumber>;
190
+ shuffle: z.ZodNullable<z.ZodBoolean>;
191
+ repeat: z.ZodNullable<z.ZodEnum<{
192
+ off: "off";
193
+ all: "all";
194
+ one: "one";
195
+ }>>;
196
+ lastChangedAt: z.ZodNumber;
197
+ }, z.core.$strip>;
198
+ };
199
+ export type IMediaPlayerProvider = InferProvider<typeof mediaPlayerCapability>;
200
+ export {};
201
+ //# sourceMappingURL=media-player.cap.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"media-player.cap.d.ts","sourceRoot":"","sources":["../../src/capabilities/media-player.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;;;;;;;;;;;GAWG;AAEH,eAAO,MAAM,sBAAsB;;;;;;;;EAQjC,CAAA;AACF,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAA;AAErE,eAAO,MAAM,uBAAuB;;;;EAAgC,CAAA;AACpE,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,uBAAuB,CAAC,CAAA;AAEvE,QAAA,MAAM,eAAe;;;;;;iBAYnB,CAAA;AACF,MAAM,MAAM,SAAS,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,eAAe,CAAC,CAAA;AAEvD,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBA8BlC,CAAA;AAEF,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,uBAAuB,CAAC,CAAA;AAEvE,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAiGhC;;;;OAIG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAEoC,CAAA;AAEzC,MAAM,MAAM,oBAAoB,GAAG,aAAa,CAAC,OAAO,qBAAqB,CAAC,CAAA"}
@@ -44,6 +44,7 @@ export type MotionTriggerRuntimeState = z.infer<typeof MotionTriggerRuntimeState
44
44
  export declare const motionTriggerCapability: {
45
45
  readonly name: "motion-trigger";
46
46
  readonly scope: "device";
47
+ readonly deviceNative: true;
47
48
  readonly mode: "singleton";
48
49
  readonly deviceTypes: readonly [DeviceType.Light, DeviceType.Siren, DeviceType.Switch];
49
50
  readonly methods: {
@@ -1 +1 @@
1
- {"version":3,"file":"motion-trigger.cap.d.ts","sourceRoot":"","sources":["../../src/capabilities/motion-trigger.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;;;;;;;;;;;;;;;;;;;GAmBG;AACH,eAAO,MAAM,yBAAyB;;;iBAIpC,CAAA;AAEF,MAAM,MAAM,mBAAmB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,yBAAyB,CAAC,CAAA;AAE3E;;;;;;;;GAQG;AACH,eAAO,MAAM,+BAA+B;;;;iBAG1C,CAAA;AAEF,MAAM,MAAM,yBAAyB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,+BAA+B,CAAC,CAAA;AAEvF,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA2BK,CAAA;AAEzC,MAAM,MAAM,sBAAsB,GAAG,aAAa,CAAC,OAAO,uBAAuB,CAAC,CAAA"}
1
+ {"version":3,"file":"motion-trigger.cap.d.ts","sourceRoot":"","sources":["../../src/capabilities/motion-trigger.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;;;;;;;;;;;;;;;;;;;GAmBG;AACH,eAAO,MAAM,yBAAyB;;;iBAIpC,CAAA;AAEF,MAAM,MAAM,mBAAmB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,yBAAyB,CAAC,CAAA;AAE3E;;;;;;;;GAQG;AACH,eAAO,MAAM,+BAA+B;;;;iBAG1C,CAAA;AAEF,MAAM,MAAM,yBAAyB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,+BAA+B,CAAC,CAAA;AAEvF,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA4BK,CAAA;AAEzC,MAAM,MAAM,sBAAsB,GAAG,aAAa,CAAC,OAAO,uBAAuB,CAAC,CAAA"}
@@ -77,6 +77,7 @@ export type MotionZonePatch = z.infer<typeof MotionZonePatchSchema>;
77
77
  export declare const motionZonesCapability: {
78
78
  readonly name: "motion-zones";
79
79
  readonly scope: "device";
80
+ readonly deviceNative: true;
80
81
  readonly mode: "singleton";
81
82
  readonly deviceTypes: readonly [DeviceType.Camera];
82
83
  readonly deviceConfig: {
@@ -1 +1 @@
1
- {"version":3,"file":"motion-zones.cap.d.ts","sourceRoot":"","sources":["../../src/capabilities/motion-zones.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;AAGrD;;;;;GAKG;AAEH,kEAAkE;AAClE,eAAO,MAAM,sBAAsB;;;;;;;;;iBAIjC,CAAA;AAEF;0BAC0B;AAC1B,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;iBAMjC,CAAA;AAEF;oCACoC;AACpC,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;;;iBAKlC,CAAA;AAEF,6CAA6C;AAC7C,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;iBAIhC,CAAA;AAEF,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAA;AACrE,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,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAA;AAEnE,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAkBO,CAAA;AAEzC,MAAM,MAAM,oBAAoB,GAAG,mBAAmB,CAAC,OAAO,qBAAqB,CAAC,CAAA"}
1
+ {"version":3,"file":"motion-zones.cap.d.ts","sourceRoot":"","sources":["../../src/capabilities/motion-zones.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;AAGrD;;;;;GAKG;AAEH,kEAAkE;AAClE,eAAO,MAAM,sBAAsB;;;;;;;;;iBAIjC,CAAA;AAEF;0BAC0B;AAC1B,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;iBAMjC,CAAA;AAEF;oCACoC;AACpC,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;;;iBAKlC,CAAA;AAEF,6CAA6C;AAC7C,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;iBAIhC,CAAA;AAEF,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAA;AACrE,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,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAA;AAEnE,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAmBO,CAAA;AAEzC,MAAM,MAAM,oBAAoB,GAAG,mBAAmB,CAAC,OAAO,qBAAqB,CAAC,CAAA"}
@@ -101,6 +101,7 @@ export type NativeObjectDetectionRuntimeState = z.infer<typeof NativeObjectDetec
101
101
  export declare const nativeObjectDetectionCapability: {
102
102
  readonly name: "native-object-detection";
103
103
  readonly scope: "device";
104
+ readonly deviceNative: true;
104
105
  readonly mode: "singleton";
105
106
  readonly deviceTypes: readonly [DeviceType.Camera];
106
107
  readonly methods: {
@@ -1 +1 @@
1
- {"version":3,"file":"native-object-detection.cap.d.ts","sourceRoot":"","sources":["../../src/capabilities/native-object-detection.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;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,qBAAqB;;;;;;;EAEhC,CAAA;AAEF,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAA;AAErE,eAAO,MAAM,qBAAqB;;;;;;;;;;;iBAKhC,CAAA;AAEF,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAA;AAEnE,eAAO,MAAM,iCAAiC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAqB5C,CAAA;AAEF,MAAM,MAAM,2BAA2B,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iCAAiC,CAAC,CAAA;AAE3F,eAAO,MAAM,uCAAuC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAGlD,CAAA;AAEF,MAAM,MAAM,iCAAiC,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,uCAAuC,CAAC,CAAA;AAEvG,eAAO,MAAM,+BAA+B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAuBH,CAAA;AAEzC,MAAM,MAAM,8BAA8B,GAAG,aAAa,CAAC,OAAO,+BAA+B,CAAC,CAAA"}
1
+ {"version":3,"file":"native-object-detection.cap.d.ts","sourceRoot":"","sources":["../../src/capabilities/native-object-detection.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;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,qBAAqB;;;;;;;EAEhC,CAAA;AAEF,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAA;AAErE,eAAO,MAAM,qBAAqB;;;;;;;;;;;iBAKhC,CAAA;AAEF,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAA;AAEnE,eAAO,MAAM,iCAAiC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAqB5C,CAAA;AAEF,MAAM,MAAM,2BAA2B,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iCAAiC,CAAC,CAAA;AAE3F,eAAO,MAAM,uCAAuC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAGlD,CAAA;AAEF,MAAM,MAAM,iCAAiC,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,uCAAuC,CAAC,CAAA;AAEvG,eAAO,MAAM,+BAA+B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAwBH,CAAA;AAEzC,MAAM,MAAM,8BAA8B,GAAG,aAAa,CAAC,OAAO,+BAA+B,CAAC,CAAA"}
@@ -25,6 +25,7 @@ declare const ClientNetworkStatsSchema: z.ZodObject<{
25
25
  rttMs: z.ZodNumber;
26
26
  jitterMs: z.ZodNumber;
27
27
  estimatedBandwidthKbps: z.ZodNumber;
28
+ packetLossPercent: z.ZodNumber;
28
29
  lastUpdated: z.ZodNumber;
29
30
  }, z.core.$strip>;
30
31
  declare const DeviceNetworkStatsSchema: z.ZodObject<{
@@ -40,6 +41,7 @@ declare const DeviceNetworkStatsSchema: z.ZodObject<{
40
41
  rttMs: z.ZodNumber;
41
42
  jitterMs: z.ZodNumber;
42
43
  estimatedBandwidthKbps: z.ZodNumber;
44
+ packetLossPercent: z.ZodNumber;
43
45
  lastUpdated: z.ZodNumber;
44
46
  }, z.core.$strip>>;
45
47
  }, z.core.$strip>;
@@ -63,6 +65,7 @@ export declare const networkQualityCapability: {
63
65
  rttMs: z.ZodNumber;
64
66
  jitterMs: z.ZodNumber;
65
67
  estimatedBandwidthKbps: z.ZodNumber;
68
+ packetLossPercent: z.ZodNumber;
66
69
  lastUpdated: z.ZodNumber;
67
70
  }, z.core.$strip>>;
68
71
  }, z.core.$strip>>, import("./capability-definition.js").CapabilityMethodKind>;
@@ -79,6 +82,7 @@ export declare const networkQualityCapability: {
79
82
  rttMs: z.ZodNumber;
80
83
  jitterMs: z.ZodNumber;
81
84
  estimatedBandwidthKbps: z.ZodNumber;
85
+ packetLossPercent: z.ZodNumber;
82
86
  lastUpdated: z.ZodNumber;
83
87
  }, z.core.$strip>>;
84
88
  }, z.core.$strip>>>, import("./capability-definition.js").CapabilityMethodKind>;
@@ -87,6 +91,7 @@ export declare const networkQualityCapability: {
87
91
  rttMs: z.ZodNumber;
88
92
  jitterMs: z.ZodNumber;
89
93
  estimatedBandwidthKbps: z.ZodNumber;
94
+ packetLossPercent: z.ZodNumber;
90
95
  }, z.core.$strip>, z.ZodVoid, "mutation">;
91
96
  };
92
97
  };
@@ -1 +1 @@
1
- {"version":3,"file":"network-quality.cap.d.ts","sourceRoot":"","sources":["../../src/capabilities/network-quality.cap.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AACvB,OAAO,EAAqC,KAAK,aAAa,EAAE,MAAM,4BAA4B,CAAA;AAElG;;;;;;;;;;;;;GAaG;AAEH,QAAA,MAAM,wBAAwB;;;;;;iBAM5B,CAAA;AAEF,QAAA,MAAM,wBAAwB;;;;;iBAK5B,CAAA;AAEF,QAAA,MAAM,wBAAwB;;;;;;;;;;;;;;;iBAI5B,CAAA;AAEF,eAAO,MAAM,wBAAwB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAwBI,CAAA;AAEzC,MAAM,MAAM,uBAAuB,GAAG,aAAa,CAAC,OAAO,wBAAwB,CAAC,CAAA;AAEpF,OAAO,EACL,wBAAwB,EACxB,wBAAwB,EACxB,wBAAwB,GACzB,CAAA"}
1
+ {"version":3,"file":"network-quality.cap.d.ts","sourceRoot":"","sources":["../../src/capabilities/network-quality.cap.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AACvB,OAAO,EAAqC,KAAK,aAAa,EAAE,MAAM,4BAA4B,CAAA;AAElG;;;;;;;;;;;;;GAaG;AAEH,QAAA,MAAM,wBAAwB;;;;;;iBAM5B,CAAA;AAEF,QAAA,MAAM,wBAAwB;;;;;;iBAM5B,CAAA;AAEF,QAAA,MAAM,wBAAwB;;;;;;;;;;;;;;;;iBAI5B,CAAA;AAEF,eAAO,MAAM,wBAAwB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAyBI,CAAA;AAEzC,MAAM,MAAM,uBAAuB,GAAG,aAAa,CAAC,OAAO,wBAAwB,CAAC,CAAA;AAEpF,OAAO,EACL,wBAAwB,EACxB,wBAAwB,EACxB,wBAAwB,GACzB,CAAA"}
@@ -0,0 +1,173 @@
1
+ import { z } from 'zod';
2
+ import { type InferProvider } from './capability-definition.js';
3
+ import { DeviceType } from '../device/device-type.js';
4
+ /**
5
+ * Notification delivery cap. Models HA `notify.<service>` plus future
6
+ * native targets (Telegram / Discord / ntfy / SMTP, …). Designed at
7
+ * the same structural level as a camera cap: rich multi-method
8
+ * surface, full status diagnostics, explicit `supports` matrix so
9
+ * the UI gates compose-form fields without probing the provider.
10
+ *
11
+ * One Notifier device per delivery endpoint — HA's `notify.mobile_app_*`
12
+ * (one per phone), `notify.telegram_*` (one per chat target), etc.
13
+ * The DeviceRole sub-role (MobilePushNotifier / MessagingNotifier /
14
+ * EmailNotifier / GenericNotifier) discriminates the rendering style
15
+ * of the compose form.
16
+ *
17
+ * Sub-feature support (image / priority / data / actions / multi-
18
+ * recipient) is signaled by:
19
+ * - the device's `DeviceFeature` bits — fast scalar check for list
20
+ * filters and grid icons (DeviceFeature.NotifierImage etc.); AND
21
+ * - the slice's `supports` block — authoritative read after device
22
+ * detail is opened.
23
+ */
24
+ declare const NotifierPrioritySchema: z.ZodEnum<{
25
+ high: "high";
26
+ low: "low";
27
+ normal: "normal";
28
+ min: "min";
29
+ }>;
30
+ export type NotifierPriority = z.infer<typeof NotifierPrioritySchema>;
31
+ declare const NotifierActionSchema: z.ZodObject<{
32
+ id: z.ZodString;
33
+ title: z.ZodString;
34
+ uri: z.ZodOptional<z.ZodURL>;
35
+ destructive: z.ZodOptional<z.ZodBoolean>;
36
+ }, z.core.$strip>;
37
+ export type NotifierAction = z.infer<typeof NotifierActionSchema>;
38
+ declare const NotifierSupportsSchema: z.ZodObject<{
39
+ image: z.ZodBoolean;
40
+ priority: z.ZodBoolean;
41
+ data: z.ZodBoolean;
42
+ actions: z.ZodBoolean;
43
+ recipients: z.ZodBoolean;
44
+ }, z.core.$strip>;
45
+ export type NotifierSupports = z.infer<typeof NotifierSupportsSchema>;
46
+ export declare const NotifierStatusSchema: z.ZodObject<{
47
+ lastSentAt: z.ZodNumber;
48
+ lastError: z.ZodNullable<z.ZodString>;
49
+ queueDepth: z.ZodNumber;
50
+ supports: z.ZodObject<{
51
+ image: z.ZodBoolean;
52
+ priority: z.ZodBoolean;
53
+ data: z.ZodBoolean;
54
+ actions: z.ZodBoolean;
55
+ recipients: z.ZodBoolean;
56
+ }, z.core.$strip>;
57
+ }, z.core.$strip>;
58
+ export type NotifierStatus = z.infer<typeof NotifierStatusSchema>;
59
+ declare const NotifierSendInputSchema: z.ZodObject<{
60
+ deviceId: z.ZodNumber;
61
+ title: z.ZodOptional<z.ZodString>;
62
+ body: z.ZodString;
63
+ image: z.ZodOptional<z.ZodString>;
64
+ priority: z.ZodOptional<z.ZodEnum<{
65
+ high: "high";
66
+ low: "low";
67
+ normal: "normal";
68
+ min: "min";
69
+ }>>;
70
+ channel: z.ZodOptional<z.ZodString>;
71
+ recipients: z.ZodOptional<z.ZodArray<z.ZodString>>;
72
+ actions: z.ZodOptional<z.ZodArray<z.ZodObject<{
73
+ id: z.ZodString;
74
+ title: z.ZodString;
75
+ uri: z.ZodOptional<z.ZodURL>;
76
+ destructive: z.ZodOptional<z.ZodBoolean>;
77
+ }, z.core.$strip>>>;
78
+ data: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
79
+ }, z.core.$strip>;
80
+ declare const NotifierSendResultSchema: z.ZodObject<{
81
+ notificationId: z.ZodString;
82
+ acceptedAt: z.ZodNumber;
83
+ }, z.core.$strip>;
84
+ export type NotifierSendInput = z.infer<typeof NotifierSendInputSchema>;
85
+ export type NotifierSendResult = z.infer<typeof NotifierSendResultSchema>;
86
+ export declare const notifierCapability: {
87
+ readonly name: "notifier";
88
+ readonly scope: "device";
89
+ readonly deviceNative: true;
90
+ readonly mode: "singleton";
91
+ readonly deviceTypes: readonly [DeviceType.Notifier];
92
+ readonly methods: {
93
+ readonly send: import("./capability-definition.js").CapabilityMethodSchema<z.ZodObject<{
94
+ deviceId: z.ZodNumber;
95
+ title: z.ZodOptional<z.ZodString>;
96
+ body: z.ZodString;
97
+ image: z.ZodOptional<z.ZodString>;
98
+ priority: z.ZodOptional<z.ZodEnum<{
99
+ high: "high";
100
+ low: "low";
101
+ normal: "normal";
102
+ min: "min";
103
+ }>>;
104
+ channel: z.ZodOptional<z.ZodString>;
105
+ recipients: z.ZodOptional<z.ZodArray<z.ZodString>>;
106
+ actions: z.ZodOptional<z.ZodArray<z.ZodObject<{
107
+ id: z.ZodString;
108
+ title: z.ZodString;
109
+ uri: z.ZodOptional<z.ZodURL>;
110
+ destructive: z.ZodOptional<z.ZodBoolean>;
111
+ }, z.core.$strip>>>;
112
+ data: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
113
+ }, z.core.$strip>, z.ZodObject<{
114
+ notificationId: z.ZodString;
115
+ acceptedAt: z.ZodNumber;
116
+ }, z.core.$strip>, "mutation">;
117
+ readonly cancel: import("./capability-definition.js").CapabilityMethodSchema<z.ZodObject<{
118
+ deviceId: z.ZodNumber;
119
+ notificationId: z.ZodString;
120
+ }, z.core.$strip>, z.ZodVoid, "mutation">;
121
+ };
122
+ readonly events: {
123
+ /**
124
+ * Emitted after every send attempt — success or failure. Subscribers
125
+ * (admin UI history pane, automation engines, retry workers) react
126
+ * without polling the provider's `lastSentAt`.
127
+ */
128
+ readonly onSent: {
129
+ readonly data: z.ZodObject<{
130
+ deviceId: z.ZodNumber;
131
+ notificationId: z.ZodString;
132
+ success: z.ZodBoolean;
133
+ error: z.ZodNullable<z.ZodString>;
134
+ acceptedAt: z.ZodNumber;
135
+ }, z.core.$strip>;
136
+ };
137
+ };
138
+ readonly status: {
139
+ readonly schema: z.ZodObject<{
140
+ lastSentAt: z.ZodNumber;
141
+ lastError: z.ZodNullable<z.ZodString>;
142
+ queueDepth: z.ZodNumber;
143
+ supports: z.ZodObject<{
144
+ image: z.ZodBoolean;
145
+ priority: z.ZodBoolean;
146
+ data: z.ZodBoolean;
147
+ actions: z.ZodBoolean;
148
+ recipients: z.ZodBoolean;
149
+ }, z.core.$strip>;
150
+ }, z.core.$strip>;
151
+ readonly kind: "command-driven";
152
+ };
153
+ /**
154
+ * Runtime-state slice — diagnostics + supports matrix. UI compose
155
+ * form reads `supports` to gate optional fields; history pane reads
156
+ * `lastSentAt` / `lastError` / `queueDepth`.
157
+ */
158
+ readonly runtimeState: z.ZodObject<{
159
+ lastSentAt: z.ZodNumber;
160
+ lastError: z.ZodNullable<z.ZodString>;
161
+ queueDepth: z.ZodNumber;
162
+ supports: z.ZodObject<{
163
+ image: z.ZodBoolean;
164
+ priority: z.ZodBoolean;
165
+ data: z.ZodBoolean;
166
+ actions: z.ZodBoolean;
167
+ recipients: z.ZodBoolean;
168
+ }, z.core.$strip>;
169
+ }, z.core.$strip>;
170
+ };
171
+ export type INotifierProvider = InferProvider<typeof notifierCapability>;
172
+ export {};
173
+ //# sourceMappingURL=notifier.cap.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"notifier.cap.d.ts","sourceRoot":"","sources":["../../src/capabilities/notifier.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;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,QAAA,MAAM,sBAAsB;;;;;EAA2C,CAAA;AACvE,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAA;AAErE,QAAA,MAAM,oBAAoB;;;;;iBAUxB,CAAA;AACF,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAA;AAEjE,QAAA,MAAM,sBAAsB;;;;;;iBAa1B,CAAA;AACF,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAA;AAErE,eAAO,MAAM,oBAAoB;;;;;;;;;;;iBAY/B,CAAA;AAEF,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAA;AAEjE,QAAA,MAAM,uBAAuB;;;;;;;;;;;;;;;;;;;;iBAqB3B,CAAA;AAEF,QAAA,MAAM,wBAAwB;;;iBAK5B,CAAA;AAEF,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;AAEzE,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;QAsB3B;;;;WAIG;;;;;;;;;;;;;;;;;;;;;;;;;;IAaL;;;;OAIG;;;;;;;;;;;;;CAEoC,CAAA;AAEzC,MAAM,MAAM,iBAAiB,GAAG,aAAa,CAAC,OAAO,kBAAkB,CAAC,CAAA"}