@camstack/types 1.2.365 → 1.2.367

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 (80) hide show
  1. package/dist/addon.js +1 -1
  2. package/dist/addon.mjs +1 -1
  3. package/dist/capabilities/air-quality-sensor.cap.d.ts +32 -0
  4. package/dist/capabilities/alarm-panel.cap.d.ts +4 -0
  5. package/dist/capabilities/ambient-light-sensor.cap.d.ts +13 -0
  6. package/dist/capabilities/audio-metrics.cap.d.ts +4 -0
  7. package/dist/capabilities/automation-control.cap.d.ts +4 -0
  8. package/dist/capabilities/battery.cap.d.ts +11 -0
  9. package/dist/capabilities/binary.cap.d.ts +10 -0
  10. package/dist/capabilities/brightness.cap.d.ts +12 -0
  11. package/dist/capabilities/camera-streams.cap.d.ts +4 -0
  12. package/dist/capabilities/capability-definition.d.ts +70 -0
  13. package/dist/capabilities/carbon-monoxide.cap.d.ts +10 -0
  14. package/dist/capabilities/climate-control.cap.d.ts +32 -0
  15. package/dist/capabilities/color.cap.d.ts +4 -0
  16. package/dist/capabilities/connectivity.cap.d.ts +4 -0
  17. package/dist/capabilities/consumables.cap.d.ts +4 -0
  18. package/dist/capabilities/contact.cap.d.ts +10 -0
  19. package/dist/capabilities/control.cap.d.ts +4 -0
  20. package/dist/capabilities/cover.cap.d.ts +12 -0
  21. package/dist/capabilities/day-night.cap.d.ts +4 -0
  22. package/dist/capabilities/device-discovery.cap.d.ts +4 -0
  23. package/dist/capabilities/device-status.cap.d.ts +10 -0
  24. package/dist/capabilities/doorbell.cap.d.ts +4 -0
  25. package/dist/capabilities/enum-sensor.cap.d.ts +4 -0
  26. package/dist/capabilities/event-emitter.cap.d.ts +4 -0
  27. package/dist/capabilities/fan-control.cap.d.ts +15 -0
  28. package/dist/capabilities/feature-probe.cap.d.ts +4 -0
  29. package/dist/capabilities/flood.cap.d.ts +10 -0
  30. package/dist/capabilities/gas.cap.d.ts +10 -0
  31. package/dist/capabilities/humidifier.cap.d.ts +15 -0
  32. package/dist/capabilities/humidity-sensor.cap.d.ts +12 -0
  33. package/dist/capabilities/image-settings.cap.d.ts +4 -0
  34. package/dist/capabilities/image.cap.d.ts +4 -0
  35. package/dist/capabilities/index.d.ts +2 -2
  36. package/dist/capabilities/intercom.cap.d.ts +4 -0
  37. package/dist/capabilities/lawn-mower-control.cap.d.ts +12 -0
  38. package/dist/capabilities/lock-control.cap.d.ts +4 -0
  39. package/dist/capabilities/media-player.cap.d.ts +4 -0
  40. package/dist/capabilities/motion-trigger.cap.d.ts +4 -0
  41. package/dist/capabilities/motion-zones.cap.d.ts +4 -0
  42. package/dist/capabilities/motion.cap.d.ts +11 -0
  43. package/dist/capabilities/native-object-detection.cap.d.ts +4 -0
  44. package/dist/capabilities/navigation.cap.d.ts +4 -0
  45. package/dist/capabilities/network-link.cap.d.ts +19 -0
  46. package/dist/capabilities/notifier.cap.d.ts +4 -0
  47. package/dist/capabilities/numeric-sensor.cap.d.ts +12 -0
  48. package/dist/capabilities/pet-feeder.cap.d.ts +25 -0
  49. package/dist/capabilities/power-meter.cap.d.ts +43 -0
  50. package/dist/capabilities/presence.cap.d.ts +12 -0
  51. package/dist/capabilities/pressure-sensor.cap.d.ts +12 -0
  52. package/dist/capabilities/privacy-mask.cap.d.ts +4 -0
  53. package/dist/capabilities/ptz-autotrack.cap.d.ts +4 -0
  54. package/dist/capabilities/recording-onboard.cap.d.ts +4 -0
  55. package/dist/capabilities/recording-signal.cap.d.ts +4 -0
  56. package/dist/capabilities/scene-monitor.cap.d.ts +4 -0
  57. package/dist/capabilities/script-runner.cap.d.ts +4 -0
  58. package/dist/capabilities/smoke.cap.d.ts +10 -0
  59. package/dist/capabilities/stream-catalog.cap.d.ts +4 -0
  60. package/dist/capabilities/stream-params.cap.d.ts +4 -0
  61. package/dist/capabilities/stream-signals.cap.d.ts +4 -0
  62. package/dist/capabilities/switch.cap.d.ts +10 -0
  63. package/dist/capabilities/tamper.cap.d.ts +10 -0
  64. package/dist/capabilities/temperature-sensor.cap.d.ts +12 -0
  65. package/dist/capabilities/update.cap.d.ts +4 -0
  66. package/dist/capabilities/vacuum-control.cap.d.ts +32 -0
  67. package/dist/capabilities/valve.cap.d.ts +12 -0
  68. package/dist/capabilities/vibration.cap.d.ts +10 -0
  69. package/dist/capabilities/water-heater.cap.d.ts +17 -0
  70. package/dist/capabilities/weather.cap.d.ts +27 -0
  71. package/dist/capabilities/zone-analytics.cap.d.ts +4 -0
  72. package/dist/capabilities/zone-rules.cap.d.ts +4 -0
  73. package/dist/capabilities/zones.cap.d.ts +4 -0
  74. package/dist/generated/history-catalog.d.ts +11 -0
  75. package/dist/index.d.ts +1 -0
  76. package/dist/index.js +868 -34
  77. package/dist/index.mjs +864 -35
  78. package/dist/{sleep-BBF1iXUi.mjs → sleep-DxJdzHni.mjs} +26 -1
  79. package/dist/{sleep-BBXNq778.js → sleep-NZlEFYGX.js} +37 -0
  80. package/package.json +1 -1
@@ -250,5 +250,9 @@ export declare const intercomCapability: {
250
250
  * `scripts/check-runtime-state-durability.ts`.
251
251
  */
252
252
  readonly durability: 'session';
253
+ /**
254
+ * History (D850): none — talk sessions are a ledger concern, not a trend.
255
+ */
256
+ readonly history: 'none';
253
257
  };
254
258
  export type IIntercomProvider = InferProvider<typeof intercomCapability>;
@@ -116,5 +116,17 @@ export declare const lawnMowerControlCapability: {
116
116
  * `scripts/check-runtime-state-durability.ts`.
117
117
  */
118
118
  readonly durability: 'session';
119
+ /**
120
+ * History (D850): recorded series.
121
+ */
122
+ readonly history: {
123
+ readonly fields: {
124
+ readonly batteryLevel: {
125
+ readonly kind: 'gauge';
126
+ readonly unit: '%';
127
+ readonly deadband: 2;
128
+ };
129
+ };
130
+ };
119
131
  };
120
132
  export type ILawnMowerControlProvider = InferProvider<typeof lawnMowerControlCapability>;
@@ -94,6 +94,10 @@ export declare const lockControlCapability: {
94
94
  * `scripts/check-runtime-state-durability.ts`.
95
95
  */
96
96
  readonly durability: 'restored';
97
+ /**
98
+ * History (D850): none — enum state; lock events belong in the events ledger.
99
+ */
100
+ readonly history: 'none';
97
101
  /** Clock fields: written, but excluded from the compare that decides
98
102
  * whether persisting is worth a SQLite commit. */
99
103
  readonly volatileStateFields: readonly ["lastChangedAt"];
@@ -202,6 +202,10 @@ export declare const mediaPlayerCapability: {
202
202
  * `scripts/check-runtime-state-durability.ts`.
203
203
  */
204
204
  readonly durability: 'session';
205
+ /**
206
+ * History (D850): none — `positionMs` moves continuously while playing; volume is transient.
207
+ */
208
+ readonly history: 'none';
205
209
  };
206
210
  export type IMediaPlayerProvider = InferProvider<typeof mediaPlayerCapability>;
207
211
  export {};
@@ -81,5 +81,9 @@ export declare const motionTriggerCapability: {
81
81
  * `scripts/check-runtime-state-durability.ts`.
82
82
  */
83
83
  readonly durability: 'session';
84
+ /**
85
+ * History (D850): none — configuration switch.
86
+ */
87
+ readonly history: 'none';
84
88
  };
85
89
  export type IMotionTriggerProvider = InferProvider<typeof motionTriggerCapability>;
@@ -167,6 +167,10 @@ export declare const motionZonesCapability: {
167
167
  * `scripts/check-runtime-state-durability.ts`.
168
168
  */
169
169
  readonly durability: 'restored';
170
+ /**
171
+ * History (D850): none — configuration.
172
+ */
173
+ readonly history: 'none';
170
174
  /** Clock fields: written, but excluded from the compare that decides
171
175
  * whether persisting is worth a SQLite commit. */
172
176
  readonly volatileStateFields: readonly ["lastFetchedAt"];
@@ -168,5 +168,16 @@ export declare const motionCapability: {
168
168
  * `scripts/check-runtime-state-durability.ts`.
169
169
  */
170
170
  readonly durability: 'session';
171
+ /**
172
+ * History (D850): recorded series. A PIR sensor is a series; a camera is not (its motion is an addon series and a ledger).
173
+ */
174
+ readonly history: {
175
+ readonly fields: {
176
+ readonly detected: {
177
+ readonly kind: 'boolean';
178
+ readonly excludeDeviceTypes: readonly [DeviceType.Camera];
179
+ };
180
+ };
181
+ };
171
182
  };
172
183
  export type IMotionProvider = InferProvider<typeof motionCapability>;
@@ -268,6 +268,10 @@ export declare const nativeObjectDetectionCapability: {
268
268
  * `scripts/check-runtime-state-durability.ts`.
269
269
  */
270
270
  readonly durability: 'restored';
271
+ /**
272
+ * History (D850): none — event-like and nested per class; detections live in the objects ledger.
273
+ */
274
+ readonly history: 'none';
271
275
  /** Clock fields: written, but excluded from the compare that decides
272
276
  * whether persisting is worth a SQLite commit. */
273
277
  readonly volatileStateFields: readonly ["lastFetchedAt"];
@@ -459,5 +459,9 @@ export declare const navigationCapability: {
459
459
  * `scripts/check-runtime-state-durability.ts`.
460
460
  */
461
461
  readonly durability: 'session';
462
+ /**
463
+ * History (D850): none — control state of a robotic camera, configuration-like.
464
+ */
465
+ readonly history: 'none';
462
466
  };
463
467
  export type INavigationProvider = InferProvider<typeof navigationCapability>;
@@ -128,6 +128,25 @@ export declare const networkLinkCapability: {
128
128
  * `scripts/check-runtime-state-durability.ts`.
129
129
  */
130
130
  readonly durability: 'restored';
131
+ /**
132
+ * History (D850): recorded series.
133
+ */
134
+ readonly history: {
135
+ readonly fields: {
136
+ readonly signalPercent: {
137
+ readonly kind: 'gauge';
138
+ readonly unit: '%';
139
+ readonly deadband: 3;
140
+ readonly minIntervalMs: 60000;
141
+ };
142
+ readonly rssiDbm: {
143
+ readonly kind: 'gauge';
144
+ readonly unit: 'dBm';
145
+ readonly deadband: 2;
146
+ readonly minIntervalMs: 60000;
147
+ };
148
+ };
149
+ };
131
150
  /** Clock fields: written, but excluded from the compare that decides
132
151
  * whether persisting is worth a SQLite commit. */
133
152
  readonly volatileStateFields: readonly ["lastUpdated"];
@@ -174,6 +174,10 @@ export declare const notifierCapability: {
174
174
  * `scripts/check-runtime-state-durability.ts`.
175
175
  */
176
176
  readonly durability: 'session';
177
+ /**
178
+ * History (D850): none — `queueDepth` is outbox operational state, not a device trend.
179
+ */
180
+ readonly history: 'none';
177
181
  };
178
182
  export type INotifierProvider = InferProvider<typeof notifierCapability>;
179
183
  export {};
@@ -54,6 +54,18 @@ export declare const numericSensorCapability: {
54
54
  * `scripts/check-runtime-state-durability.ts`.
55
55
  */
56
56
  readonly durability: 'restored';
57
+ /**
58
+ * History (D850): recorded series. The unit is per device, read from the sibling `unit` field.
59
+ */
60
+ readonly history: {
61
+ readonly fields: {
62
+ readonly value: {
63
+ readonly kind: 'gauge';
64
+ readonly unitFrom: 'unit';
65
+ readonly minIntervalMs: 30000;
66
+ };
67
+ };
68
+ };
57
69
  /** Clock fields: written, but excluded from the compare that decides
58
70
  * whether persisting is worth a SQLite commit. */
59
71
  readonly volatileStateFields: readonly ["lastFetchedAt"];
@@ -188,5 +188,30 @@ export declare const petFeederCapability: {
188
188
  * `scripts/check-runtime-state-durability.ts`.
189
189
  */
190
190
  readonly durability: 'session';
191
+ /**
192
+ * History (D850): recorded series.
193
+ */
194
+ readonly history: {
195
+ readonly fields: {
196
+ readonly foodLevel: {
197
+ readonly kind: 'gauge';
198
+ };
199
+ readonly food1: {
200
+ readonly kind: 'gauge';
201
+ };
202
+ readonly food2: {
203
+ readonly kind: 'gauge';
204
+ };
205
+ readonly batteryPower: {
206
+ readonly kind: 'gauge';
207
+ readonly unit: '%';
208
+ readonly deadband: 2;
209
+ };
210
+ readonly desiccantLeftDays: {
211
+ readonly kind: 'gauge';
212
+ readonly unit: 'days';
213
+ };
214
+ };
215
+ };
191
216
  };
192
217
  export type IPetFeederProvider = InferProvider<typeof petFeederCapability>;
@@ -67,6 +67,49 @@ export declare const powerMeterCapability: {
67
67
  * `scripts/check-runtime-state-durability.ts`.
68
68
  */
69
69
  readonly durability: 'restored';
70
+ /**
71
+ * History (D850): recorded series. Gauges are floored at 30 s; `kwhTotal` is the one monotonic meter (counter).
72
+ */
73
+ readonly history: {
74
+ readonly fields: {
75
+ readonly watts: {
76
+ readonly kind: 'gauge';
77
+ readonly unit: 'W';
78
+ readonly deadband: 1;
79
+ readonly minIntervalMs: 30000;
80
+ };
81
+ readonly kwhTotal: {
82
+ readonly kind: 'counter';
83
+ readonly unit: 'kWh';
84
+ readonly deadband: 0.01;
85
+ readonly minIntervalMs: 60000;
86
+ };
87
+ readonly volts: {
88
+ readonly kind: 'gauge';
89
+ readonly unit: 'V';
90
+ readonly deadband: 1;
91
+ readonly minIntervalMs: 30000;
92
+ };
93
+ readonly amps: {
94
+ readonly kind: 'gauge';
95
+ readonly unit: 'A';
96
+ readonly deadband: 0.05;
97
+ readonly minIntervalMs: 30000;
98
+ };
99
+ readonly va: {
100
+ readonly kind: 'gauge';
101
+ readonly unit: 'VA';
102
+ readonly deadband: 1;
103
+ readonly minIntervalMs: 30000;
104
+ };
105
+ readonly powerFactor: {
106
+ readonly kind: 'gauge';
107
+ readonly unit: 'ratio';
108
+ readonly deadband: 0.01;
109
+ readonly minIntervalMs: 60000;
110
+ };
111
+ };
112
+ };
70
113
  /** Clock fields: written, but excluded from the compare that decides
71
114
  * whether persisting is worth a SQLite commit. */
72
115
  readonly volatileStateFields: readonly ["lastFetchedAt"];
@@ -80,6 +80,18 @@ export declare const presenceCapability: {
80
80
  * `scripts/check-runtime-state-durability.ts`.
81
81
  */
82
82
  readonly durability: 'restored';
83
+ /**
84
+ * History (D850): recorded series.
85
+ */
86
+ readonly history: {
87
+ readonly fields: {
88
+ readonly batteryPercent: {
89
+ readonly kind: 'gauge';
90
+ readonly unit: '%';
91
+ readonly deadband: 1;
92
+ };
93
+ };
94
+ };
83
95
  /** Clock fields: written, but excluded from the compare that decides
84
96
  * whether persisting is worth a SQLite commit. */
85
97
  readonly volatileStateFields: readonly ["lastChangedAt"];
@@ -45,6 +45,18 @@ export declare const pressureSensorCapability: {
45
45
  * `scripts/check-runtime-state-durability.ts`.
46
46
  */
47
47
  readonly durability: 'restored';
48
+ /**
49
+ * History (D850): recorded series.
50
+ */
51
+ readonly history: {
52
+ readonly fields: {
53
+ readonly hpa: {
54
+ readonly kind: 'gauge';
55
+ readonly unit: 'hPa';
56
+ readonly deadband: 0.1;
57
+ };
58
+ };
59
+ };
48
60
  /** Clock fields: written, but excluded from the compare that decides
49
61
  * whether persisting is worth a SQLite commit. */
50
62
  readonly volatileStateFields: readonly ["lastFetchedAt"];
@@ -250,6 +250,10 @@ export declare const privacyMaskCapability: {
250
250
  * `scripts/check-runtime-state-durability.ts`.
251
251
  */
252
252
  readonly durability: 'restored';
253
+ /**
254
+ * History (D850): none — configuration.
255
+ */
256
+ readonly history: 'none';
253
257
  /** Clock fields: written, but excluded from the compare that decides
254
258
  * whether persisting is worth a SQLite commit. */
255
259
  readonly volatileStateFields: readonly ["lastFetchedAt"];
@@ -219,5 +219,9 @@ export declare const ptzAutotrackCapability: {
219
219
  * `scripts/check-runtime-state-durability.ts`.
220
220
  */
221
221
  readonly durability: 'session';
222
+ /**
223
+ * History (D850): none — configuration and capability.
224
+ */
225
+ readonly history: 'none';
222
226
  };
223
227
  export type IPtzAutotrackProvider = InferProvider<typeof ptzAutotrackCapability>;
@@ -697,6 +697,10 @@ export declare const recordingOnboardCapability: {
697
697
  * `scripts/check-runtime-state-durability.ts`.
698
698
  */
699
699
  readonly durability: 'restored';
700
+ /**
701
+ * History (D850): none — SD-card configuration and window inventory; arrays.
702
+ */
703
+ readonly history: 'none';
700
704
  /** Clock fields: written, but excluded from the compare that decides
701
705
  * whether persisting is worth a SQLite commit. */
702
706
  readonly volatileStateFields: readonly ["lastFetchedAt"];
@@ -87,5 +87,9 @@ export declare const recordingSignalCapability: {
87
87
  * `scripts/check-runtime-state-durability.ts`.
88
88
  */
89
89
  readonly durability: 'session';
90
+ /**
91
+ * History (D850): none — recording intent is already in the recordings ledger.
92
+ */
93
+ readonly history: 'none';
90
94
  };
91
95
  export type IRecordingSignalProvider = InferProvider<typeof recordingSignalCapability>;
@@ -1125,5 +1125,9 @@ export declare const sceneMonitorCapability: {
1125
1125
  * `scripts/check-runtime-state-durability.ts`.
1126
1126
  */
1127
1127
  readonly durability: 'session';
1128
+ /**
1129
+ * History (D850): none — nested configuration.
1130
+ */
1131
+ readonly history: 'none';
1128
1132
  };
1129
1133
  export type ISceneMonitorProvider = InferNativeProvider<typeof sceneMonitorCapability>;
@@ -64,5 +64,9 @@ export declare const scriptRunnerCapability: {
64
64
  * `scripts/check-runtime-state-durability.ts`.
65
65
  */
66
66
  readonly durability: 'session';
67
+ /**
68
+ * History (D850): none — transient; run results belong in a ledger.
69
+ */
70
+ readonly history: 'none';
67
71
  };
68
72
  export type IScriptRunnerProvider = InferProvider<typeof scriptRunnerCapability>;
@@ -40,6 +40,16 @@ export declare const smokeCapability: {
40
40
  * `scripts/check-runtime-state-durability.ts`.
41
41
  */
42
42
  readonly durability: 'restored';
43
+ /**
44
+ * History (D850): recorded series.
45
+ */
46
+ readonly history: {
47
+ readonly fields: {
48
+ readonly detected: {
49
+ readonly kind: 'boolean';
50
+ };
51
+ };
52
+ };
43
53
  /** Clock fields: written, but excluded from the compare that decides
44
54
  * whether persisting is worth a SQLite commit. */
45
55
  readonly volatileStateFields: readonly ["lastChangedAt"];
@@ -191,6 +191,10 @@ export declare const streamCatalogCapability: {
191
191
  * `scripts/check-runtime-state-durability.ts`.
192
192
  */
193
193
  readonly durability: 'restored';
194
+ /**
195
+ * History (D850): none — stream inventory.
196
+ */
197
+ readonly history: 'none';
194
198
  /** Clock field: written, but excluded from the compare that decides whether
195
199
  * persisting is worth a SQLite commit — the descriptors are the value. */
196
200
  readonly volatileStateFields: readonly ["lastFetchedAt"];
@@ -488,6 +488,10 @@ export declare const streamParamsCapability: {
488
488
  * `scripts/check-runtime-state-durability.ts`.
489
489
  */
490
490
  readonly durability: 'restored';
491
+ /**
492
+ * History (D850): none — encoder configuration.
493
+ */
494
+ readonly history: 'none';
491
495
  /** Clock fields: written, but excluded from the compare that decides
492
496
  * whether persisting is worth a SQLite commit. */
493
497
  readonly volatileStateFields: readonly ["lastFetchedAt"];
@@ -79,6 +79,10 @@ export declare const streamSignalsCapability: {
79
79
  * `scripts/check-runtime-state-durability.ts`.
80
80
  */
81
81
  readonly durability: 'session';
82
+ /**
83
+ * History (D850): none — array state.
84
+ */
85
+ readonly history: 'none';
82
86
  readonly methods: {
83
87
  /**
84
88
  * What this device can emit. Empty is a valid and common answer — most
@@ -57,6 +57,16 @@ export declare const switchCapability: {
57
57
  * `scripts/check-runtime-state-durability.ts`.
58
58
  */
59
59
  readonly durability: 'restored';
60
+ /**
61
+ * History (D850): recorded series.
62
+ */
63
+ readonly history: {
64
+ readonly fields: {
65
+ readonly on: {
66
+ readonly kind: 'boolean';
67
+ };
68
+ };
69
+ };
60
70
  /** Clock fields: written, but excluded from the compare that decides
61
71
  * whether persisting is worth a SQLite commit. */
62
72
  readonly volatileStateFields: readonly ["lastChangedAt"];
@@ -35,6 +35,16 @@ export declare const tamperCapability: {
35
35
  * `scripts/check-runtime-state-durability.ts`.
36
36
  */
37
37
  readonly durability: 'restored';
38
+ /**
39
+ * History (D850): recorded series.
40
+ */
41
+ readonly history: {
42
+ readonly fields: {
43
+ readonly tampered: {
44
+ readonly kind: 'boolean';
45
+ };
46
+ };
47
+ };
38
48
  /** Clock fields: written, but excluded from the compare that decides
39
49
  * whether persisting is worth a SQLite commit. */
40
50
  readonly volatileStateFields: readonly ["lastChangedAt"];
@@ -53,6 +53,18 @@ export declare const temperatureSensorCapability: {
53
53
  * `scripts/check-runtime-state-durability.ts`.
54
54
  */
55
55
  readonly durability: 'restored';
56
+ /**
57
+ * History (D850): recorded series.
58
+ */
59
+ readonly history: {
60
+ readonly fields: {
61
+ readonly celsius: {
62
+ readonly kind: 'gauge';
63
+ readonly unit: '°C';
64
+ readonly deadband: 0.1;
65
+ };
66
+ };
67
+ };
56
68
  /** Clock fields: written, but excluded from the compare that decides
57
69
  * whether persisting is worth a SQLite commit. */
58
70
  readonly volatileStateFields: readonly ["lastFetchedAt"];
@@ -51,5 +51,9 @@ export declare const updateCapability: {
51
51
  * `scripts/check-runtime-state-durability.ts`.
52
52
  */
53
53
  readonly durability: 'session';
54
+ /**
55
+ * History (D850): none — text and state.
56
+ */
57
+ readonly history: 'none';
54
58
  };
55
59
  export type IUpdateProvider = InferProvider<typeof updateCapability>;
@@ -244,5 +244,37 @@ export declare const vacuumControlCapability: {
244
244
  * `scripts/check-runtime-state-durability.ts`.
245
245
  */
246
246
  readonly durability: 'session';
247
+ /**
248
+ * History (D850): recorded series. Tank levels are fixed-object paths (`cleanWater.level`, ...).
249
+ */
250
+ readonly history: {
251
+ readonly fields: {
252
+ readonly batteryLevel: {
253
+ readonly kind: 'gauge';
254
+ readonly unit: '%';
255
+ readonly deadband: 2;
256
+ };
257
+ readonly 'cleanWater.level': {
258
+ readonly kind: 'gauge';
259
+ readonly unit: '%';
260
+ readonly deadband: 2;
261
+ };
262
+ readonly 'dirtyWater.level': {
263
+ readonly kind: 'gauge';
264
+ readonly unit: '%';
265
+ readonly deadband: 2;
266
+ };
267
+ readonly 'detergent.level': {
268
+ readonly kind: 'gauge';
269
+ readonly unit: '%';
270
+ readonly deadband: 2;
271
+ };
272
+ readonly 'dustBin.level': {
273
+ readonly kind: 'gauge';
274
+ readonly unit: '%';
275
+ readonly deadband: 2;
276
+ };
277
+ };
278
+ };
247
279
  };
248
280
  export type IVacuumControlProvider = InferProvider<typeof vacuumControlCapability>;
@@ -95,5 +95,17 @@ export declare const valveCapability: {
95
95
  * `scripts/check-runtime-state-durability.ts`.
96
96
  */
97
97
  readonly durability: 'session';
98
+ /**
99
+ * History (D850): recorded series. Actuator tier: position keeps every change.
100
+ */
101
+ readonly history: {
102
+ readonly fields: {
103
+ readonly position: {
104
+ readonly kind: 'gauge';
105
+ readonly unit: '%';
106
+ readonly minIntervalMs: 0;
107
+ };
108
+ };
109
+ };
98
110
  };
99
111
  export type IValveProvider = InferProvider<typeof valveCapability>;
@@ -35,6 +35,16 @@ export declare const vibrationCapability: {
35
35
  * `scripts/check-runtime-state-durability.ts`.
36
36
  */
37
37
  readonly durability: 'restored';
38
+ /**
39
+ * History (D850): recorded series.
40
+ */
41
+ readonly history: {
42
+ readonly fields: {
43
+ readonly detected: {
44
+ readonly kind: 'boolean';
45
+ };
46
+ };
47
+ };
38
48
  /** Clock fields: written, but excluded from the compare that decides
39
49
  * whether persisting is worth a SQLite commit. */
40
50
  readonly volatileStateFields: readonly ["lastChangedAt"];
@@ -80,5 +80,22 @@ export declare const waterHeaterCapability: {
80
80
  * `scripts/check-runtime-state-durability.ts`.
81
81
  */
82
82
  readonly durability: 'session';
83
+ /**
84
+ * History (D850): recorded series. The schema carries no unit; providers publish Celsius. Setpoint keeps every change.
85
+ */
86
+ readonly history: {
87
+ readonly fields: {
88
+ readonly currentTemp: {
89
+ readonly kind: 'gauge';
90
+ readonly unit: '°C';
91
+ readonly deadband: 0.5;
92
+ };
93
+ readonly targetTemp: {
94
+ readonly kind: 'gauge';
95
+ readonly unit: '°C';
96
+ readonly minIntervalMs: 0;
97
+ };
98
+ };
99
+ };
83
100
  };
84
101
  export type IWaterHeaterProvider = InferProvider<typeof waterHeaterCapability>;
@@ -78,5 +78,32 @@ export declare const weatherCapability: {
78
78
  * `scripts/check-runtime-state-durability.ts`.
79
79
  */
80
80
  readonly durability: 'session';
81
+ /**
82
+ * History (D850): recorded series. Units follow the sibling `*Unit` fields.
83
+ */
84
+ readonly history: {
85
+ readonly fields: {
86
+ readonly temperature: {
87
+ readonly kind: 'gauge';
88
+ readonly unitFrom: 'temperatureUnit';
89
+ readonly deadband: 0.2;
90
+ };
91
+ readonly humidity: {
92
+ readonly kind: 'gauge';
93
+ readonly unit: '%';
94
+ readonly deadband: 1;
95
+ };
96
+ readonly pressure: {
97
+ readonly kind: 'gauge';
98
+ readonly unitFrom: 'pressureUnit';
99
+ readonly deadband: 0.5;
100
+ };
101
+ readonly windSpeed: {
102
+ readonly kind: 'gauge';
103
+ readonly unitFrom: 'windSpeedUnit';
104
+ readonly deadband: 0.5;
105
+ };
106
+ };
107
+ };
81
108
  };
82
109
  export type IWeatherProvider = InferProvider<typeof weatherCapability>;
@@ -462,6 +462,10 @@ export declare const zoneAnalyticsCapability: {
462
462
  * `scripts/check-runtime-state-durability.ts`.
463
463
  */
464
464
  readonly durability: 'session';
465
+ /**
466
+ * History (D850): none — occupancy is the addon series `pipeline-analytics/occupancy`; the rest is per-zone arrays keyed by runtime ids.
467
+ */
468
+ readonly history: 'none';
465
469
  };
466
470
  export type IZoneAnalyticsProvider = InferProvider<typeof zoneAnalyticsCapability>;
467
471
  export { CameraOccupancySnapshotSchema as _CameraOccupancySnapshotSchema, HistoryPointSchema, HistoryRangeSchema, HistoryResolutionEnum, PerScopeBreakdownSchema, StationaryObjectSchema, ZoneScopeBreakdownSchema, };
@@ -156,5 +156,9 @@ export declare const zoneRulesCapability: {
156
156
  * `scripts/check-runtime-state-durability.ts`.
157
157
  */
158
158
  readonly durability: 'restored';
159
+ /**
160
+ * History (D850): none — configuration arrays.
161
+ */
162
+ readonly history: 'none';
159
163
  };
160
164
  export type IZoneRulesProvider = InferProvider<typeof zoneRulesCapability>;
@@ -153,5 +153,9 @@ export declare const zonesCapability: {
153
153
  * `scripts/check-runtime-state-durability.ts`.
154
154
  */
155
155
  readonly durability: 'restored';
156
+ /**
157
+ * History (D850): none — configuration arrays.
158
+ */
159
+ readonly history: 'none';
156
160
  };
157
161
  export type IZonesProvider = InferProvider<typeof zonesCapability>;