@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
package/dist/index.js CHANGED
@@ -1,5 +1,5 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
- const require_sleep = require("./sleep-BBXNq778.js");
2
+ const require_sleep = require("./sleep-NZlEFYGX.js");
3
3
  const require_event_category = require("./event-category-T43rdQWR.js");
4
4
  const require_composition = require("./composition-DCYnv4I6.js");
5
5
  const require_node_color = require("./node-color.js");
@@ -11392,7 +11392,11 @@ var cameraStreamsCapability = {
11392
11392
  * See `RuntimeStateDurability`. Enforced by
11393
11393
  * `scripts/check-runtime-state-durability.ts`.
11394
11394
  */
11395
- durability: "session"
11395
+ durability: "session",
11396
+ /**
11397
+ * History (D850): none — `online` duplicates device-status.online (one authority); slot data is nested enum/string.
11398
+ */
11399
+ history: "none"
11396
11400
  };
11397
11401
  //#endregion
11398
11402
  //#region src/capabilities/cap-router-predicates.ts
@@ -14959,6 +14963,10 @@ var deviceDiscoveryCapability = {
14959
14963
  * `scripts/check-runtime-state-durability.ts`.
14960
14964
  */
14961
14965
  durability: "session",
14966
+ /**
14967
+ * History (D850): none — inventory.
14968
+ */
14969
+ history: "none",
14962
14970
  methods: {
14963
14971
  /**
14964
14972
  * Snapshot of the current `discovered` list. Returns the
@@ -41478,6 +41486,10 @@ var alarmPanelCapability = {
41478
41486
  * `scripts/check-runtime-state-durability.ts`.
41479
41487
  */
41480
41488
  durability: "restored",
41489
+ /**
41490
+ * History (D850): none — enum state; arm/disarm history belongs in the events ledger.
41491
+ */
41492
+ history: "none",
41481
41493
  /** Clock fields: written, but excluded from the compare that decides
41482
41494
  * whether persisting is worth a SQLite commit. */
41483
41495
  volatileStateFields: ["lastChangedAt"]
@@ -50455,7 +50467,11 @@ var zonesCapability = {
50455
50467
  * See `RuntimeStateDurability`. Enforced by
50456
50468
  * `scripts/check-runtime-state-durability.ts`.
50457
50469
  */
50458
- durability: "restored"
50470
+ durability: "restored",
50471
+ /**
50472
+ * History (D850): none — configuration arrays.
50473
+ */
50474
+ history: "none"
50459
50475
  };
50460
50476
  //#endregion
50461
50477
  //#region src/capabilities/pipeline-runner.cap.ts
@@ -54575,6 +54591,10 @@ var streamSignalsCapability = {
54575
54591
  * `scripts/check-runtime-state-durability.ts`.
54576
54592
  */
54577
54593
  durability: "session",
54594
+ /**
54595
+ * History (D850): none — array state.
54596
+ */
54597
+ history: "none",
54578
54598
  methods: {
54579
54599
  /**
54580
54600
  * What this device can emit. Empty is a valid and common answer — most
@@ -57794,6 +57814,36 @@ var airQualitySensorCapability = {
57794
57814
  * `scripts/check-runtime-state-durability.ts`.
57795
57815
  */
57796
57816
  durability: "restored",
57817
+ /**
57818
+ * History (D850): recorded series.
57819
+ */
57820
+ history: { fields: {
57821
+ co2Ppm: {
57822
+ kind: "gauge",
57823
+ unit: "ppm",
57824
+ deadband: 5
57825
+ },
57826
+ vocPpb: {
57827
+ kind: "gauge",
57828
+ unit: "ppb",
57829
+ deadband: 5
57830
+ },
57831
+ pm25: {
57832
+ kind: "gauge",
57833
+ unit: "ug/m3",
57834
+ deadband: 1
57835
+ },
57836
+ pm10: {
57837
+ kind: "gauge",
57838
+ unit: "ug/m3",
57839
+ deadband: 1
57840
+ },
57841
+ aqi: {
57842
+ kind: "gauge",
57843
+ unit: "count",
57844
+ deadband: 1
57845
+ }
57846
+ } },
57797
57847
  /** Clock fields: written, but excluded from the compare that decides
57798
57848
  * whether persisting is worth a SQLite commit. */
57799
57849
  volatileStateFields: ["lastFetchedAt"]
@@ -57838,6 +57888,15 @@ var ambientLightSensorCapability = {
57838
57888
  * `scripts/check-runtime-state-durability.ts`.
57839
57889
  */
57840
57890
  durability: "restored",
57891
+ /**
57892
+ * History (D850): recorded series. Wide range, so a RELATIVE deadband (10 %).
57893
+ */
57894
+ history: { fields: { lux: {
57895
+ kind: "gauge",
57896
+ unit: "lx",
57897
+ deadbandPct: 10,
57898
+ minIntervalMs: 6e4
57899
+ } } },
57841
57900
  /** Clock fields: written, but excluded from the compare that decides
57842
57901
  * whether persisting is worth a SQLite commit. */
57843
57902
  volatileStateFields: ["lastFetchedAt"]
@@ -57976,7 +58035,11 @@ var audioMetricsCapability = {
57976
58035
  * See `RuntimeStateDurability`. Enforced by
57977
58036
  * `scripts/check-runtime-state-durability.ts`.
57978
58037
  */
57979
- durability: "session"
58038
+ durability: "session",
58039
+ /**
58040
+ * History (D850): none — the level is the addon series `pipeline-analytics/audio-level` (producer `record`); the other numbers move every inference window and duplicate it.
58041
+ */
58042
+ history: "none"
57980
58043
  };
57981
58044
  //#endregion
57982
58045
  //#region src/capabilities/automation-control.cap.ts
@@ -58047,7 +58110,11 @@ var automationControlCapability = {
58047
58110
  * See `RuntimeStateDurability`. Enforced by
58048
58111
  * `scripts/check-runtime-state-durability.ts`.
58049
58112
  */
58050
- durability: "session"
58113
+ durability: "session",
58114
+ /**
58115
+ * History (D850): none — configuration and transient run state.
58116
+ */
58117
+ history: "none"
58051
58118
  };
58052
58119
  //#endregion
58053
58120
  //#region src/capabilities/battery.cap.ts
@@ -58230,6 +58297,13 @@ onStatusChanged: { data: zod.z.object({
58230
58297
  * `scripts/check-runtime-state-durability.ts`.
58231
58298
  */
58232
58299
  durability: "restored",
58300
+ /**
58301
+ * History (D850): recorded series. The generic capture replaces the `battery` series of `pipeline-analytics:stats-5m`.
58302
+ */
58303
+ history: { fields: { percentage: {
58304
+ kind: "gauge",
58305
+ unit: "%"
58306
+ } } },
58233
58307
  /** Clock fields: written, but excluded from the compare that decides
58234
58308
  * whether persisting is worth a SQLite commit. */
58235
58309
  volatileStateFields: ["lastUpdated"]
@@ -58271,6 +58345,10 @@ var binaryCapability = {
58271
58345
  * `scripts/check-runtime-state-durability.ts`.
58272
58346
  */
58273
58347
  durability: "restored",
58348
+ /**
58349
+ * History (D850): recorded series.
58350
+ */
58351
+ history: { fields: { on: { kind: "boolean" } } },
58274
58352
  /** Clock fields: written, but excluded from the compare that decides
58275
58353
  * whether persisting is worth a SQLite commit. */
58276
58354
  volatileStateFields: ["lastChangedAt"]
@@ -58335,7 +58413,15 @@ onBrightnessChanged: { data: zod.z.object({
58335
58413
  * See `RuntimeStateDurability`. Enforced by
58336
58414
  * `scripts/check-runtime-state-durability.ts`.
58337
58415
  */
58338
- durability: "session"
58416
+ durability: "session",
58417
+ /**
58418
+ * History (D850): recorded series. Actuator tier: level keeps every change.
58419
+ */
58420
+ history: { fields: { percentage: {
58421
+ kind: "gauge",
58422
+ unit: "%",
58423
+ minIntervalMs: 0
58424
+ } } }
58339
58425
  };
58340
58426
  //#endregion
58341
58427
  //#region src/capabilities/button.cap.ts
@@ -58812,6 +58898,10 @@ var carbonMonoxideCapability = {
58812
58898
  * `scripts/check-runtime-state-durability.ts`.
58813
58899
  */
58814
58900
  durability: "restored",
58901
+ /**
58902
+ * History (D850): recorded series.
58903
+ */
58904
+ history: { fields: { detected: { kind: "boolean" } } },
58815
58905
  /** Clock fields: written, but excluded from the compare that decides
58816
58906
  * whether persisting is worth a SQLite commit. */
58817
58907
  volatileStateFields: ["lastChangedAt"]
@@ -58983,7 +59073,37 @@ var climateControlCapability = {
58983
59073
  * See `RuntimeStateDurability`. Enforced by
58984
59074
  * `scripts/check-runtime-state-durability.ts`.
58985
59075
  */
58986
- durability: "session"
59076
+ durability: "session",
59077
+ /**
59078
+ * History (D850): recorded series. Celsius by contract; setpoints keep every change (`minIntervalMs: 0`).
59079
+ */
59080
+ history: { fields: {
59081
+ currentTemp: {
59082
+ kind: "gauge",
59083
+ unit: "°C",
59084
+ deadband: .1
59085
+ },
59086
+ currentHumidity: {
59087
+ kind: "gauge",
59088
+ unit: "%",
59089
+ deadband: .5
59090
+ },
59091
+ target: {
59092
+ kind: "gauge",
59093
+ unit: "°C",
59094
+ minIntervalMs: 0
59095
+ },
59096
+ targetHigh: {
59097
+ kind: "gauge",
59098
+ unit: "°C",
59099
+ minIntervalMs: 0
59100
+ },
59101
+ targetLow: {
59102
+ kind: "gauge",
59103
+ unit: "°C",
59104
+ minIntervalMs: 0
59105
+ }
59106
+ } }
58987
59107
  };
58988
59108
  //#endregion
58989
59109
  //#region src/capabilities/color.cap.ts
@@ -59102,7 +59222,11 @@ onColorChanged: { data: zod.z.object({
59102
59222
  * See `RuntimeStateDurability`. Enforced by
59103
59223
  * `scripts/check-runtime-state-durability.ts`.
59104
59224
  */
59105
- durability: "session"
59225
+ durability: "session",
59226
+ /**
59227
+ * History (D850): none — nested and cosmetic.
59228
+ */
59229
+ history: "none"
59106
59230
  };
59107
59231
  //#endregion
59108
59232
  //#region src/capabilities/connection-test.cap.ts
@@ -59234,6 +59358,10 @@ var connectivityCapability = {
59234
59358
  * `scripts/check-runtime-state-durability.ts`.
59235
59359
  */
59236
59360
  durability: "restored",
59361
+ /**
59362
+ * History (D850): none — duplicates device-status.online (one authority for availability).
59363
+ */
59364
+ history: "none",
59237
59365
  /** Clock fields: written, but excluded from the compare that decides
59238
59366
  * whether persisting is worth a SQLite commit. */
59239
59367
  volatileStateFields: ["lastChangedAt"]
@@ -59360,6 +59488,10 @@ reset: require_sleep.method(zod.z.object({
59360
59488
  * `scripts/check-runtime-state-durability.ts`.
59361
59489
  */
59362
59490
  durability: "restored",
59491
+ /**
59492
+ * History (D850): none — `items` is an array keyed by runtime ids; a history path never enters it.
59493
+ */
59494
+ history: "none",
59363
59495
  /** Clocks, not content: a re-read that changed no item costs no commit. */
59364
59496
  volatileStateFields: ["lastChangedAt", "lastFetchedAt"]
59365
59497
  };
@@ -59402,6 +59534,10 @@ var contactCapability = {
59402
59534
  * `scripts/check-runtime-state-durability.ts`.
59403
59535
  */
59404
59536
  durability: "restored",
59537
+ /**
59538
+ * History (D850): recorded series.
59539
+ */
59540
+ history: { fields: { entryOpen: { kind: "boolean" } } },
59405
59541
  /** Clock fields: written, but excluded from the compare that decides
59406
59542
  * whether persisting is worth a SQLite commit. */
59407
59543
  volatileStateFields: ["lastChangedAt"]
@@ -59543,7 +59679,11 @@ var controlCapability = {
59543
59679
  * See `RuntimeStateDurability`. Enforced by
59544
59680
  * `scripts/check-runtime-state-durability.ts`.
59545
59681
  */
59546
- durability: "session"
59682
+ durability: "session",
59683
+ /**
59684
+ * History (D850): none — `value` is a number/string union; configuration entity.
59685
+ */
59686
+ history: "none"
59547
59687
  };
59548
59688
  //#endregion
59549
59689
  //#region src/capabilities/cover.cap.ts
@@ -59636,6 +59776,14 @@ var coverCapability = {
59636
59776
  * `scripts/check-runtime-state-durability.ts`.
59637
59777
  */
59638
59778
  durability: "restored",
59779
+ /**
59780
+ * History (D850): recorded series. Actuator tier: position keeps every tick of a movement.
59781
+ */
59782
+ history: { fields: { position: {
59783
+ kind: "gauge",
59784
+ unit: "%",
59785
+ minIntervalMs: 0
59786
+ } } },
59639
59787
  /** Clock fields: written, but excluded from the compare that decides
59640
59788
  * whether persisting is worth a SQLite commit. */
59641
59789
  volatileStateFields: ["lastChangedAt"]
@@ -59742,6 +59890,10 @@ var dayNightCapability = {
59742
59890
  * `scripts/check-runtime-state-durability.ts`.
59743
59891
  */
59744
59892
  durability: "restored",
59893
+ /**
59894
+ * History (D850): none — firmware configuration, not a measurement.
59895
+ */
59896
+ history: "none",
59745
59897
  /** Clock fields: written, but excluded from the compare that decides
59746
59898
  * whether persisting is worth a SQLite commit. */
59747
59899
  volatileStateFields: ["lastFetchedAt"]
@@ -59801,6 +59953,10 @@ onStatusChanged: { data: zod.z.object({
59801
59953
  * `scripts/check-runtime-state-durability.ts`.
59802
59954
  */
59803
59955
  durability: "restored",
59956
+ /**
59957
+ * History (D850): recorded series. The ONE availability series.
59958
+ */
59959
+ history: { fields: { online: { kind: "boolean" } } },
59804
59960
  /** Clock fields: written, but excluded from the compare that decides
59805
59961
  * whether persisting is worth a SQLite commit. */
59806
59962
  volatileStateFields: ["lastChangedAt"]
@@ -59869,7 +60025,11 @@ onPressed: {
59869
60025
  * See `RuntimeStateDurability`. Enforced by
59870
60026
  * `scripts/check-runtime-state-durability.ts`.
59871
60027
  */
59872
- durability: "restored"
60028
+ durability: "restored",
60029
+ /**
60030
+ * History (D850): none — `pressCountSinceStart` resets with the addon, so it is not a monotonic meter; presses live in the events ledger.
60031
+ */
60032
+ history: "none"
59873
60033
  };
59874
60034
  //#endregion
59875
60035
  //#region src/capabilities/enum-sensor.cap.ts
@@ -59919,6 +60079,10 @@ var enumSensorCapability = {
59919
60079
  * `scripts/check-runtime-state-durability.ts`.
59920
60080
  */
59921
60081
  durability: "restored",
60082
+ /**
60083
+ * History (D850): none — text/enum state has no history (non-goal).
60084
+ */
60085
+ history: "none",
59922
60086
  /** Clock fields: written, but excluded from the compare that decides
59923
60087
  * whether persisting is worth a SQLite commit. */
59924
60088
  volatileStateFields: ["lastFetchedAt"]
@@ -59966,7 +60130,11 @@ var eventEmitterCapability = {
59966
60130
  * See `RuntimeStateDurability`. Enforced by
59967
60131
  * `scripts/check-runtime-state-durability.ts`.
59968
60132
  */
59969
- durability: "session"
60133
+ durability: "session",
60134
+ /**
60135
+ * History (D850): none — `eventCountSinceStart` resets with the addon; events live in ledgers.
60136
+ */
60137
+ history: "none"
59970
60138
  };
59971
60139
  //#endregion
59972
60140
  //#region src/capabilities/face-gallery.cap.ts
@@ -60466,7 +60634,18 @@ var fanControlCapability = {
60466
60634
  * See `RuntimeStateDurability`. Enforced by
60467
60635
  * `scripts/check-runtime-state-durability.ts`.
60468
60636
  */
60469
- durability: "session"
60637
+ durability: "session",
60638
+ /**
60639
+ * History (D850): recorded series. Actuator tier: speed keeps every change.
60640
+ */
60641
+ history: { fields: {
60642
+ percentage: {
60643
+ kind: "gauge",
60644
+ unit: "%",
60645
+ minIntervalMs: 0
60646
+ },
60647
+ oscillating: { kind: "boolean" }
60648
+ } }
60470
60649
  };
60471
60650
  //#endregion
60472
60651
  //#region src/capabilities/feature-probe.cap.ts
@@ -60551,7 +60730,11 @@ onProbeChanged: { data: zod.z.object({
60551
60730
  * See `RuntimeStateDurability`. Enforced by
60552
60731
  * `scripts/check-runtime-state-durability.ts`.
60553
60732
  */
60554
- durability: "session"
60733
+ durability: "session",
60734
+ /**
60735
+ * History (D850): none — static identity and capability probe.
60736
+ */
60737
+ history: "none"
60555
60738
  };
60556
60739
  //#endregion
60557
60740
  //#region src/capabilities/flood.cap.ts
@@ -60588,6 +60771,10 @@ var floodCapability = {
60588
60771
  * `scripts/check-runtime-state-durability.ts`.
60589
60772
  */
60590
60773
  durability: "restored",
60774
+ /**
60775
+ * History (D850): recorded series.
60776
+ */
60777
+ history: { fields: { flooded: { kind: "boolean" } } },
60591
60778
  /** Clock fields: written, but excluded from the compare that decides
60592
60779
  * whether persisting is worth a SQLite commit. */
60593
60780
  volatileStateFields: ["lastChangedAt"]
@@ -60623,6 +60810,10 @@ var gasCapability = {
60623
60810
  * `scripts/check-runtime-state-durability.ts`.
60624
60811
  */
60625
60812
  durability: "restored",
60813
+ /**
60814
+ * History (D850): recorded series.
60815
+ */
60816
+ history: { fields: { detected: { kind: "boolean" } } },
60626
60817
  /** Clock fields: written, but excluded from the compare that decides
60627
60818
  * whether persisting is worth a SQLite commit. */
60628
60819
  volatileStateFields: ["lastChangedAt"]
@@ -60710,7 +60901,18 @@ var humidifierCapability = {
60710
60901
  * See `RuntimeStateDurability`. Enforced by
60711
60902
  * `scripts/check-runtime-state-durability.ts`.
60712
60903
  */
60713
- durability: "session"
60904
+ durability: "session",
60905
+ /**
60906
+ * History (D850): recorded series.
60907
+ */
60908
+ history: { fields: {
60909
+ currentHumidity: {
60910
+ kind: "gauge",
60911
+ unit: "%",
60912
+ deadband: .5
60913
+ },
60914
+ on: { kind: "boolean" }
60915
+ } }
60714
60916
  };
60715
60917
  //#endregion
60716
60918
  //#region src/capabilities/humidity-sensor.cap.ts
@@ -60756,6 +60958,14 @@ var humiditySensorCapability = {
60756
60958
  * `scripts/check-runtime-state-durability.ts`.
60757
60959
  */
60758
60960
  durability: "restored",
60961
+ /**
60962
+ * History (D850): recorded series.
60963
+ */
60964
+ history: { fields: { percent: {
60965
+ kind: "gauge",
60966
+ unit: "%",
60967
+ deadband: .5
60968
+ } } },
60759
60969
  /** Clock fields: written, but excluded from the compare that decides
60760
60970
  * whether persisting is worth a SQLite commit. */
60761
60971
  volatileStateFields: ["lastFetchedAt"]
@@ -60805,7 +61015,11 @@ var imageCapability = {
60805
61015
  * See `RuntimeStateDurability`. Enforced by
60806
61016
  * `scripts/check-runtime-state-durability.ts`.
60807
61017
  */
60808
- durability: "session"
61018
+ durability: "session",
61019
+ /**
61020
+ * History (D850): none — not numeric.
61021
+ */
61022
+ history: "none"
60809
61023
  };
60810
61024
  //#endregion
60811
61025
  //#region src/capabilities/image-settings.cap.ts
@@ -60964,6 +61178,10 @@ var imageSettingsCapability = {
60964
61178
  * `scripts/check-runtime-state-durability.ts`.
60965
61179
  */
60966
61180
  durability: "restored",
61181
+ /**
61182
+ * History (D850): none — camera image configuration (operator intent), not a trend.
61183
+ */
61184
+ history: "none",
60967
61185
  /** Clock fields: written, but excluded from the compare that decides
60968
61186
  * whether persisting is worth a SQLite commit. */
60969
61187
  volatileStateFields: ["lastFetchedAt"]
@@ -61371,7 +61589,11 @@ var intercomCapability = {
61371
61589
  * See `RuntimeStateDurability`. Enforced by
61372
61590
  * `scripts/check-runtime-state-durability.ts`.
61373
61591
  */
61374
- durability: "session"
61592
+ durability: "session",
61593
+ /**
61594
+ * History (D850): none — talk sessions are a ledger concern, not a trend.
61595
+ */
61596
+ history: "none"
61375
61597
  };
61376
61598
  //#endregion
61377
61599
  //#region src/capabilities/lawn-mower-control.cap.ts
@@ -61454,7 +61676,15 @@ var lawnMowerControlCapability = {
61454
61676
  * See `RuntimeStateDurability`. Enforced by
61455
61677
  * `scripts/check-runtime-state-durability.ts`.
61456
61678
  */
61457
- durability: "session"
61679
+ durability: "session",
61680
+ /**
61681
+ * History (D850): recorded series.
61682
+ */
61683
+ history: { fields: { batteryLevel: {
61684
+ kind: "gauge",
61685
+ unit: "%",
61686
+ deadband: 2
61687
+ } } }
61458
61688
  };
61459
61689
  //#endregion
61460
61690
  //#region src/capabilities/local-network.cap.ts
@@ -62049,6 +62279,10 @@ var lockControlCapability = {
62049
62279
  * `scripts/check-runtime-state-durability.ts`.
62050
62280
  */
62051
62281
  durability: "restored",
62282
+ /**
62283
+ * History (D850): none — enum state; lock events belong in the events ledger.
62284
+ */
62285
+ history: "none",
62052
62286
  /** Clock fields: written, but excluded from the compare that decides
62053
62287
  * whether persisting is worth a SQLite commit. */
62054
62288
  volatileStateFields: ["lastChangedAt"]
@@ -62222,7 +62456,11 @@ var mediaPlayerCapability = {
62222
62456
  * See `RuntimeStateDurability`. Enforced by
62223
62457
  * `scripts/check-runtime-state-durability.ts`.
62224
62458
  */
62225
- durability: "session"
62459
+ durability: "session",
62460
+ /**
62461
+ * History (D850): none — `positionMs` moves continuously while playing; volume is transient.
62462
+ */
62463
+ history: "none"
62226
62464
  };
62227
62465
  //#endregion
62228
62466
  //#region src/capabilities/mesh-network.cap.ts
@@ -62621,7 +62859,14 @@ onMotionChanged: { data: MotionOnMotionChangedDataSchema } },
62621
62859
  * See `RuntimeStateDurability`. Enforced by
62622
62860
  * `scripts/check-runtime-state-durability.ts`.
62623
62861
  */
62624
- durability: "session"
62862
+ durability: "session",
62863
+ /**
62864
+ * History (D850): recorded series. A PIR sensor is a series; a camera is not (its motion is an addon series and a ledger).
62865
+ */
62866
+ history: { fields: { detected: {
62867
+ kind: "boolean",
62868
+ excludeDeviceTypes: [require_err_msg.DeviceType.Camera]
62869
+ } } }
62625
62870
  };
62626
62871
  //#endregion
62627
62872
  //#region src/capabilities/motion-trigger.cap.ts
@@ -62695,7 +62940,11 @@ var motionTriggerCapability = {
62695
62940
  * See `RuntimeStateDurability`. Enforced by
62696
62941
  * `scripts/check-runtime-state-durability.ts`.
62697
62942
  */
62698
- durability: "session"
62943
+ durability: "session",
62944
+ /**
62945
+ * History (D850): none — configuration switch.
62946
+ */
62947
+ history: "none"
62699
62948
  };
62700
62949
  //#endregion
62701
62950
  //#region src/capabilities/motion-zones.cap.ts
@@ -62772,6 +63021,10 @@ var motionZonesCapability = {
62772
63021
  * `scripts/check-runtime-state-durability.ts`.
62773
63022
  */
62774
63023
  durability: "restored",
63024
+ /**
63025
+ * History (D850): none — configuration.
63026
+ */
63027
+ history: "none",
62775
63028
  /** Clock fields: written, but excluded from the compare that decides
62776
63029
  * whether persisting is worth a SQLite commit. */
62777
63030
  volatileStateFields: ["lastFetchedAt"]
@@ -62903,6 +63156,10 @@ var nativeObjectDetectionCapability = {
62903
63156
  * `scripts/check-runtime-state-durability.ts`.
62904
63157
  */
62905
63158
  durability: "restored",
63159
+ /**
63160
+ * History (D850): none — event-like and nested per class; detections live in the objects ledger.
63161
+ */
63162
+ history: "none",
62906
63163
  /** Clock fields: written, but excluded from the compare that decides
62907
63164
  * whether persisting is worth a SQLite commit. */
62908
63165
  volatileStateFields: ["lastFetchedAt"]
@@ -63330,7 +63587,11 @@ var navigationCapability = {
63330
63587
  * See `RuntimeStateDurability`. Enforced by
63331
63588
  * `scripts/check-runtime-state-durability.ts`.
63332
63589
  */
63333
- durability: "session"
63590
+ durability: "session",
63591
+ /**
63592
+ * History (D850): none — control state of a robotic camera, configuration-like.
63593
+ */
63594
+ history: "none"
63334
63595
  };
63335
63596
  //#endregion
63336
63597
  //#region src/capabilities/network-link.cap.ts
@@ -63447,6 +63708,23 @@ onStatusChanged: { data: zod.z.object({
63447
63708
  * `scripts/check-runtime-state-durability.ts`.
63448
63709
  */
63449
63710
  durability: "restored",
63711
+ /**
63712
+ * History (D850): recorded series.
63713
+ */
63714
+ history: { fields: {
63715
+ signalPercent: {
63716
+ kind: "gauge",
63717
+ unit: "%",
63718
+ deadband: 3,
63719
+ minIntervalMs: 6e4
63720
+ },
63721
+ rssiDbm: {
63722
+ kind: "gauge",
63723
+ unit: "dBm",
63724
+ deadband: 2,
63725
+ minIntervalMs: 6e4
63726
+ }
63727
+ } },
63450
63728
  /** Clock fields: written, but excluded from the compare that decides
63451
63729
  * whether persisting is worth a SQLite commit. */
63452
63730
  volatileStateFields: ["lastUpdated"]
@@ -63906,7 +64184,11 @@ onSent: { data: zod.z.object({
63906
64184
  * See `RuntimeStateDurability`. Enforced by
63907
64185
  * `scripts/check-runtime-state-durability.ts`.
63908
64186
  */
63909
- durability: "session"
64187
+ durability: "session",
64188
+ /**
64189
+ * History (D850): none — `queueDepth` is outbox operational state, not a device trend.
64190
+ */
64191
+ history: "none"
63910
64192
  };
63911
64193
  //#endregion
63912
64194
  //#region src/capabilities/numeric-sensor.cap.ts
@@ -63959,6 +64241,14 @@ var numericSensorCapability = {
63959
64241
  * `scripts/check-runtime-state-durability.ts`.
63960
64242
  */
63961
64243
  durability: "restored",
64244
+ /**
64245
+ * History (D850): recorded series. The unit is per device, read from the sibling `unit` field.
64246
+ */
64247
+ history: { fields: { value: {
64248
+ kind: "gauge",
64249
+ unitFrom: "unit",
64250
+ minIntervalMs: 3e4
64251
+ } } },
63962
64252
  /** Clock fields: written, but excluded from the compare that decides
63963
64253
  * whether persisting is worth a SQLite commit. */
63964
64254
  volatileStateFields: ["lastFetchedAt"]
@@ -64554,7 +64844,24 @@ var petFeederCapability = {
64554
64844
  * See `RuntimeStateDurability`. Enforced by
64555
64845
  * `scripts/check-runtime-state-durability.ts`.
64556
64846
  */
64557
- durability: "session"
64847
+ durability: "session",
64848
+ /**
64849
+ * History (D850): recorded series.
64850
+ */
64851
+ history: { fields: {
64852
+ foodLevel: { kind: "gauge" },
64853
+ food1: { kind: "gauge" },
64854
+ food2: { kind: "gauge" },
64855
+ batteryPower: {
64856
+ kind: "gauge",
64857
+ unit: "%",
64858
+ deadband: 2
64859
+ },
64860
+ desiccantLeftDays: {
64861
+ kind: "gauge",
64862
+ unit: "days"
64863
+ }
64864
+ } }
64558
64865
  };
64559
64866
  //#endregion
64560
64867
  //#region src/capabilities/plate-gallery.cap.ts
@@ -64983,6 +65290,47 @@ var powerMeterCapability = {
64983
65290
  * `scripts/check-runtime-state-durability.ts`.
64984
65291
  */
64985
65292
  durability: "restored",
65293
+ /**
65294
+ * History (D850): recorded series. Gauges are floored at 30 s; `kwhTotal` is the one monotonic meter (counter).
65295
+ */
65296
+ history: { fields: {
65297
+ watts: {
65298
+ kind: "gauge",
65299
+ unit: "W",
65300
+ deadband: 1,
65301
+ minIntervalMs: 3e4
65302
+ },
65303
+ kwhTotal: {
65304
+ kind: "counter",
65305
+ unit: "kWh",
65306
+ deadband: .01,
65307
+ minIntervalMs: 6e4
65308
+ },
65309
+ volts: {
65310
+ kind: "gauge",
65311
+ unit: "V",
65312
+ deadband: 1,
65313
+ minIntervalMs: 3e4
65314
+ },
65315
+ amps: {
65316
+ kind: "gauge",
65317
+ unit: "A",
65318
+ deadband: .05,
65319
+ minIntervalMs: 3e4
65320
+ },
65321
+ va: {
65322
+ kind: "gauge",
65323
+ unit: "VA",
65324
+ deadband: 1,
65325
+ minIntervalMs: 3e4
65326
+ },
65327
+ powerFactor: {
65328
+ kind: "gauge",
65329
+ unit: "ratio",
65330
+ deadband: .01,
65331
+ minIntervalMs: 6e4
65332
+ }
65333
+ } },
64986
65334
  /** Clock fields: written, but excluded from the compare that decides
64987
65335
  * whether persisting is worth a SQLite commit. */
64988
65336
  volatileStateFields: ["lastFetchedAt"]
@@ -65052,6 +65400,14 @@ var presenceCapability = {
65052
65400
  * `scripts/check-runtime-state-durability.ts`.
65053
65401
  */
65054
65402
  durability: "restored",
65403
+ /**
65404
+ * History (D850): recorded series.
65405
+ */
65406
+ history: { fields: { batteryPercent: {
65407
+ kind: "gauge",
65408
+ unit: "%",
65409
+ deadband: 1
65410
+ } } },
65055
65411
  /** Clock fields: written, but excluded from the compare that decides
65056
65412
  * whether persisting is worth a SQLite commit. */
65057
65413
  volatileStateFields: ["lastChangedAt"]
@@ -65100,6 +65456,14 @@ var pressureSensorCapability = {
65100
65456
  * `scripts/check-runtime-state-durability.ts`.
65101
65457
  */
65102
65458
  durability: "restored",
65459
+ /**
65460
+ * History (D850): recorded series.
65461
+ */
65462
+ history: { fields: { hpa: {
65463
+ kind: "gauge",
65464
+ unit: "hPa",
65465
+ deadband: .1
65466
+ } } },
65103
65467
  /** Clock fields: written, but excluded from the compare that decides
65104
65468
  * whether persisting is worth a SQLite commit. */
65105
65469
  volatileStateFields: ["lastFetchedAt"]
@@ -65261,6 +65625,10 @@ var privacyMaskCapability = {
65261
65625
  * `scripts/check-runtime-state-durability.ts`.
65262
65626
  */
65263
65627
  durability: "restored",
65628
+ /**
65629
+ * History (D850): none — configuration.
65630
+ */
65631
+ history: "none",
65264
65632
  /** Clock fields: written, but excluded from the compare that decides
65265
65633
  * whether persisting is worth a SQLite commit. */
65266
65634
  volatileStateFields: ["lastFetchedAt"]
@@ -65773,7 +66141,11 @@ var ptzAutotrackCapability = {
65773
66141
  * See `RuntimeStateDurability`. Enforced by
65774
66142
  * `scripts/check-runtime-state-durability.ts`.
65775
66143
  */
65776
- durability: "session"
66144
+ durability: "session",
66145
+ /**
66146
+ * History (D850): none — configuration and capability.
66147
+ */
66148
+ history: "none"
65777
66149
  };
65778
66150
  //#endregion
65779
66151
  //#region src/capabilities/reboot.cap.ts
@@ -67806,6 +68178,10 @@ var recordingOnboardCapability = {
67806
68178
  * `scripts/check-runtime-state-durability.ts`.
67807
68179
  */
67808
68180
  durability: "restored",
68181
+ /**
68182
+ * History (D850): none — SD-card configuration and window inventory; arrays.
68183
+ */
68184
+ history: "none",
67809
68185
  /** Clock fields: written, but excluded from the compare that decides
67810
68186
  * whether persisting is worth a SQLite commit. */
67811
68187
  volatileStateFields: ["lastFetchedAt"]
@@ -68142,7 +68518,11 @@ getStatus: require_sleep.method(zod.z.object({ deviceId: zod.z.number() }), Reco
68142
68518
  * See `RuntimeStateDurability`. Enforced by
68143
68519
  * `scripts/check-runtime-state-durability.ts`.
68144
68520
  */
68145
- durability: "session"
68521
+ durability: "session",
68522
+ /**
68523
+ * History (D850): none — recording intent is already in the recordings ledger.
68524
+ */
68525
+ history: "none"
68146
68526
  };
68147
68527
  //#endregion
68148
68528
  //#region src/capabilities/reserved-collection-sources.ts
@@ -68567,7 +68947,11 @@ var sceneMonitorCapability = {
68567
68947
  * See `RuntimeStateDurability`. Enforced by
68568
68948
  * `scripts/check-runtime-state-durability.ts`.
68569
68949
  */
68570
- durability: "session"
68950
+ durability: "session",
68951
+ /**
68952
+ * History (D850): none — nested configuration.
68953
+ */
68954
+ history: "none"
68571
68955
  };
68572
68956
  //#endregion
68573
68957
  //#region src/capabilities/schemas/zone-rule.ts
@@ -68726,7 +69110,11 @@ var scriptRunnerCapability = {
68726
69110
  * See `RuntimeStateDurability`. Enforced by
68727
69111
  * `scripts/check-runtime-state-durability.ts`.
68728
69112
  */
68729
- durability: "session"
69113
+ durability: "session",
69114
+ /**
69115
+ * History (D850): none — transient; run results belong in a ledger.
69116
+ */
69117
+ history: "none"
68730
69118
  };
68731
69119
  //#endregion
68732
69120
  //#region src/capabilities/smoke.cap.ts
@@ -68763,6 +69151,10 @@ var smokeCapability = {
68763
69151
  * `scripts/check-runtime-state-durability.ts`.
68764
69152
  */
68765
69153
  durability: "restored",
69154
+ /**
69155
+ * History (D850): recorded series.
69156
+ */
69157
+ history: { fields: { detected: { kind: "boolean" } } },
68766
69158
  /** Clock fields: written, but excluded from the compare that decides
68767
69159
  * whether persisting is worth a SQLite commit. */
68768
69160
  volatileStateFields: ["lastChangedAt"]
@@ -68864,6 +69256,10 @@ var streamCatalogCapability = {
68864
69256
  * `scripts/check-runtime-state-durability.ts`.
68865
69257
  */
68866
69258
  durability: "restored",
69259
+ /**
69260
+ * History (D850): none — stream inventory.
69261
+ */
69262
+ history: "none",
68867
69263
  /** Clock field: written, but excluded from the compare that decides whether
68868
69264
  * persisting is worth a SQLite commit — the descriptors are the value. */
68869
69265
  volatileStateFields: ["lastFetchedAt"]
@@ -69015,6 +69411,10 @@ var streamParamsCapability = {
69015
69411
  * `scripts/check-runtime-state-durability.ts`.
69016
69412
  */
69017
69413
  durability: "restored",
69414
+ /**
69415
+ * History (D850): none — encoder configuration.
69416
+ */
69417
+ history: "none",
69018
69418
  /** Clock fields: written, but excluded from the compare that decides
69019
69419
  * whether persisting is worth a SQLite commit. */
69020
69420
  volatileStateFields: ["lastFetchedAt"]
@@ -69331,6 +69731,10 @@ var switchCapability = {
69331
69731
  * `scripts/check-runtime-state-durability.ts`.
69332
69732
  */
69333
69733
  durability: "restored",
69734
+ /**
69735
+ * History (D850): recorded series.
69736
+ */
69737
+ history: { fields: { on: { kind: "boolean" } } },
69334
69738
  /** Clock fields: written, but excluded from the compare that decides
69335
69739
  * whether persisting is worth a SQLite commit. */
69336
69740
  volatileStateFields: ["lastChangedAt"],
@@ -70009,6 +70413,10 @@ var tamperCapability = {
70009
70413
  * `scripts/check-runtime-state-durability.ts`.
70010
70414
  */
70011
70415
  durability: "restored",
70416
+ /**
70417
+ * History (D850): recorded series.
70418
+ */
70419
+ history: { fields: { tampered: { kind: "boolean" } } },
70012
70420
  /** Clock fields: written, but excluded from the compare that decides
70013
70421
  * whether persisting is worth a SQLite commit. */
70014
70422
  volatileStateFields: ["lastChangedAt"]
@@ -70066,6 +70474,14 @@ var temperatureSensorCapability = {
70066
70474
  * `scripts/check-runtime-state-durability.ts`.
70067
70475
  */
70068
70476
  durability: "restored",
70477
+ /**
70478
+ * History (D850): recorded series.
70479
+ */
70480
+ history: { fields: { celsius: {
70481
+ kind: "gauge",
70482
+ unit: "°C",
70483
+ deadband: .1
70484
+ } } },
70069
70485
  /** Clock fields: written, but excluded from the compare that decides
70070
70486
  * whether persisting is worth a SQLite commit. */
70071
70487
  volatileStateFields: ["lastFetchedAt"]
@@ -70155,7 +70571,11 @@ var updateCapability = {
70155
70571
  * See `RuntimeStateDurability`. Enforced by
70156
70572
  * `scripts/check-runtime-state-durability.ts`.
70157
70573
  */
70158
- durability: "session"
70574
+ durability: "session",
70575
+ /**
70576
+ * History (D850): none — text and state.
70577
+ */
70578
+ history: "none"
70159
70579
  };
70160
70580
  //#endregion
70161
70581
  //#region src/capabilities/user-management.cap.ts
@@ -70551,7 +70971,37 @@ var vacuumControlCapability = {
70551
70971
  * See `RuntimeStateDurability`. Enforced by
70552
70972
  * `scripts/check-runtime-state-durability.ts`.
70553
70973
  */
70554
- durability: "session"
70974
+ durability: "session",
70975
+ /**
70976
+ * History (D850): recorded series. Tank levels are fixed-object paths (`cleanWater.level`, ...).
70977
+ */
70978
+ history: { fields: {
70979
+ batteryLevel: {
70980
+ kind: "gauge",
70981
+ unit: "%",
70982
+ deadband: 2
70983
+ },
70984
+ "cleanWater.level": {
70985
+ kind: "gauge",
70986
+ unit: "%",
70987
+ deadband: 2
70988
+ },
70989
+ "dirtyWater.level": {
70990
+ kind: "gauge",
70991
+ unit: "%",
70992
+ deadband: 2
70993
+ },
70994
+ "detergent.level": {
70995
+ kind: "gauge",
70996
+ unit: "%",
70997
+ deadband: 2
70998
+ },
70999
+ "dustBin.level": {
71000
+ kind: "gauge",
71001
+ unit: "%",
71002
+ deadband: 2
71003
+ }
71004
+ } }
70555
71005
  };
70556
71006
  //#endregion
70557
71007
  //#region src/capabilities/valve.cap.ts
@@ -70630,7 +71080,15 @@ var valveCapability = {
70630
71080
  * See `RuntimeStateDurability`. Enforced by
70631
71081
  * `scripts/check-runtime-state-durability.ts`.
70632
71082
  */
70633
- durability: "session"
71083
+ durability: "session",
71084
+ /**
71085
+ * History (D850): recorded series. Actuator tier: position keeps every change.
71086
+ */
71087
+ history: { fields: { position: {
71088
+ kind: "gauge",
71089
+ unit: "%",
71090
+ minIntervalMs: 0
71091
+ } } }
70634
71092
  };
70635
71093
  //#endregion
70636
71094
  //#region src/capabilities/vibration.cap.ts
@@ -70662,6 +71120,10 @@ var vibrationCapability = {
70662
71120
  * `scripts/check-runtime-state-durability.ts`.
70663
71121
  */
70664
71122
  durability: "restored",
71123
+ /**
71124
+ * History (D850): recorded series.
71125
+ */
71126
+ history: { fields: { detected: { kind: "boolean" } } },
70665
71127
  /** Clock fields: written, but excluded from the compare that decides
70666
71128
  * whether persisting is worth a SQLite commit. */
70667
71129
  volatileStateFields: ["lastChangedAt"]
@@ -70747,7 +71209,22 @@ var waterHeaterCapability = {
70747
71209
  * See `RuntimeStateDurability`. Enforced by
70748
71210
  * `scripts/check-runtime-state-durability.ts`.
70749
71211
  */
70750
- durability: "session"
71212
+ durability: "session",
71213
+ /**
71214
+ * History (D850): recorded series. The schema carries no unit; providers publish Celsius. Setpoint keeps every change.
71215
+ */
71216
+ history: { fields: {
71217
+ currentTemp: {
71218
+ kind: "gauge",
71219
+ unit: "°C",
71220
+ deadband: .5
71221
+ },
71222
+ targetTemp: {
71223
+ kind: "gauge",
71224
+ unit: "°C",
71225
+ minIntervalMs: 0
71226
+ }
71227
+ } }
70751
71228
  };
70752
71229
  //#endregion
70753
71230
  //#region src/capabilities/weather.cap.ts
@@ -70815,7 +71292,32 @@ var weatherCapability = {
70815
71292
  * See `RuntimeStateDurability`. Enforced by
70816
71293
  * `scripts/check-runtime-state-durability.ts`.
70817
71294
  */
70818
- durability: "session"
71295
+ durability: "session",
71296
+ /**
71297
+ * History (D850): recorded series. Units follow the sibling `*Unit` fields.
71298
+ */
71299
+ history: { fields: {
71300
+ temperature: {
71301
+ kind: "gauge",
71302
+ unitFrom: "temperatureUnit",
71303
+ deadband: .2
71304
+ },
71305
+ humidity: {
71306
+ kind: "gauge",
71307
+ unit: "%",
71308
+ deadband: 1
71309
+ },
71310
+ pressure: {
71311
+ kind: "gauge",
71312
+ unitFrom: "pressureUnit",
71313
+ deadband: .5
71314
+ },
71315
+ windSpeed: {
71316
+ kind: "gauge",
71317
+ unitFrom: "windSpeedUnit",
71318
+ deadband: .5
71319
+ }
71320
+ } }
70819
71321
  };
70820
71322
  //#endregion
70821
71323
  //#region src/capabilities/zone-analytics.cap.ts
@@ -71059,7 +71561,11 @@ var zoneAnalyticsCapability = {
71059
71561
  * See `RuntimeStateDurability`. Enforced by
71060
71562
  * `scripts/check-runtime-state-durability.ts`.
71061
71563
  */
71062
- durability: "session"
71564
+ durability: "session",
71565
+ /**
71566
+ * History (D850): none — occupancy is the addon series `pipeline-analytics/occupancy`; the rest is per-zone arrays keyed by runtime ids.
71567
+ */
71568
+ history: "none"
71063
71569
  };
71064
71570
  //#endregion
71065
71571
  //#region src/capabilities/zone-rules.cap.ts
@@ -71146,7 +71652,11 @@ var zoneRulesCapability = {
71146
71652
  * See `RuntimeStateDurability`. Enforced by
71147
71653
  * `scripts/check-runtime-state-durability.ts`.
71148
71654
  */
71149
- durability: "restored"
71655
+ durability: "restored",
71656
+ /**
71657
+ * History (D850): none — configuration arrays.
71658
+ */
71659
+ history: "none"
71150
71660
  };
71151
71661
  //#endregion
71152
71662
  //#region src/capabilities/training-provider.cap.ts
@@ -89779,6 +90289,325 @@ var RESTORED_CAP_NAMES = [
89779
90289
  "zones"
89780
90290
  ];
89781
90291
  //#endregion
90292
+ //#region src/generated/history-catalog.ts
90293
+ /**
90294
+ * Cap history catalog, projected from every `*.cap.ts` `history` block.
90295
+ * 32 caps with series (60 series), 37 caps answered `'none'`.
90296
+ * Field keys are `runtimeState` paths (`a.b` into fixed objects only).
90297
+ */
90298
+ var HISTORY_CATALOG = {
90299
+ "air-quality-sensor": {
90300
+ "co2Ppm": {
90301
+ kind: "gauge",
90302
+ unit: "ppm",
90303
+ deadband: 5
90304
+ },
90305
+ "vocPpb": {
90306
+ kind: "gauge",
90307
+ unit: "ppb",
90308
+ deadband: 5
90309
+ },
90310
+ "pm25": {
90311
+ kind: "gauge",
90312
+ unit: "ug/m3",
90313
+ deadband: 1
90314
+ },
90315
+ "pm10": {
90316
+ kind: "gauge",
90317
+ unit: "ug/m3",
90318
+ deadband: 1
90319
+ },
90320
+ "aqi": {
90321
+ kind: "gauge",
90322
+ unit: "count",
90323
+ deadband: 1
90324
+ }
90325
+ },
90326
+ "ambient-light-sensor": { "lux": {
90327
+ kind: "gauge",
90328
+ unit: "lx",
90329
+ deadbandPct: 10,
90330
+ minIntervalMs: 6e4
90331
+ } },
90332
+ "battery": { "percentage": {
90333
+ kind: "gauge",
90334
+ unit: "%"
90335
+ } },
90336
+ "binary": { "on": { kind: "boolean" } },
90337
+ "brightness": { "percentage": {
90338
+ kind: "gauge",
90339
+ unit: "%",
90340
+ minIntervalMs: 0
90341
+ } },
90342
+ "carbon-monoxide": { "detected": { kind: "boolean" } },
90343
+ "climate-control": {
90344
+ "currentTemp": {
90345
+ kind: "gauge",
90346
+ unit: "°C",
90347
+ deadband: .1
90348
+ },
90349
+ "currentHumidity": {
90350
+ kind: "gauge",
90351
+ unit: "%",
90352
+ deadband: .5
90353
+ },
90354
+ "target": {
90355
+ kind: "gauge",
90356
+ unit: "°C",
90357
+ minIntervalMs: 0
90358
+ },
90359
+ "targetHigh": {
90360
+ kind: "gauge",
90361
+ unit: "°C",
90362
+ minIntervalMs: 0
90363
+ },
90364
+ "targetLow": {
90365
+ kind: "gauge",
90366
+ unit: "°C",
90367
+ minIntervalMs: 0
90368
+ }
90369
+ },
90370
+ "contact": { "entryOpen": { kind: "boolean" } },
90371
+ "cover": { "position": {
90372
+ kind: "gauge",
90373
+ unit: "%",
90374
+ minIntervalMs: 0
90375
+ } },
90376
+ "device-status": { "online": { kind: "boolean" } },
90377
+ "fan-control": {
90378
+ "percentage": {
90379
+ kind: "gauge",
90380
+ unit: "%",
90381
+ minIntervalMs: 0
90382
+ },
90383
+ "oscillating": { kind: "boolean" }
90384
+ },
90385
+ "flood": { "flooded": { kind: "boolean" } },
90386
+ "gas": { "detected": { kind: "boolean" } },
90387
+ "humidifier": {
90388
+ "currentHumidity": {
90389
+ kind: "gauge",
90390
+ unit: "%",
90391
+ deadband: .5
90392
+ },
90393
+ "on": { kind: "boolean" }
90394
+ },
90395
+ "humidity-sensor": { "percent": {
90396
+ kind: "gauge",
90397
+ unit: "%",
90398
+ deadband: .5
90399
+ } },
90400
+ "lawn-mower-control": { "batteryLevel": {
90401
+ kind: "gauge",
90402
+ unit: "%",
90403
+ deadband: 2
90404
+ } },
90405
+ "motion": { "detected": {
90406
+ kind: "boolean",
90407
+ excludeDeviceTypes: [require_err_msg.DeviceType.Camera]
90408
+ } },
90409
+ "network-link": {
90410
+ "signalPercent": {
90411
+ kind: "gauge",
90412
+ unit: "%",
90413
+ deadband: 3,
90414
+ minIntervalMs: 6e4
90415
+ },
90416
+ "rssiDbm": {
90417
+ kind: "gauge",
90418
+ unit: "dBm",
90419
+ deadband: 2,
90420
+ minIntervalMs: 6e4
90421
+ }
90422
+ },
90423
+ "numeric-sensor": { "value": {
90424
+ kind: "gauge",
90425
+ unitFrom: "unit",
90426
+ minIntervalMs: 3e4
90427
+ } },
90428
+ "pet-feeder": {
90429
+ "foodLevel": { kind: "gauge" },
90430
+ "food1": { kind: "gauge" },
90431
+ "food2": { kind: "gauge" },
90432
+ "batteryPower": {
90433
+ kind: "gauge",
90434
+ unit: "%",
90435
+ deadband: 2
90436
+ },
90437
+ "desiccantLeftDays": {
90438
+ kind: "gauge",
90439
+ unit: "days"
90440
+ }
90441
+ },
90442
+ "power-meter": {
90443
+ "watts": {
90444
+ kind: "gauge",
90445
+ unit: "W",
90446
+ deadband: 1,
90447
+ minIntervalMs: 3e4
90448
+ },
90449
+ "kwhTotal": {
90450
+ kind: "counter",
90451
+ unit: "kWh",
90452
+ deadband: .01,
90453
+ minIntervalMs: 6e4
90454
+ },
90455
+ "volts": {
90456
+ kind: "gauge",
90457
+ unit: "V",
90458
+ deadband: 1,
90459
+ minIntervalMs: 3e4
90460
+ },
90461
+ "amps": {
90462
+ kind: "gauge",
90463
+ unit: "A",
90464
+ deadband: .05,
90465
+ minIntervalMs: 3e4
90466
+ },
90467
+ "va": {
90468
+ kind: "gauge",
90469
+ unit: "VA",
90470
+ deadband: 1,
90471
+ minIntervalMs: 3e4
90472
+ },
90473
+ "powerFactor": {
90474
+ kind: "gauge",
90475
+ unit: "ratio",
90476
+ deadband: .01,
90477
+ minIntervalMs: 6e4
90478
+ }
90479
+ },
90480
+ "presence": { "batteryPercent": {
90481
+ kind: "gauge",
90482
+ unit: "%",
90483
+ deadband: 1
90484
+ } },
90485
+ "pressure-sensor": { "hpa": {
90486
+ kind: "gauge",
90487
+ unit: "hPa",
90488
+ deadband: .1
90489
+ } },
90490
+ "smoke": { "detected": { kind: "boolean" } },
90491
+ "switch": { "on": { kind: "boolean" } },
90492
+ "tamper": { "tampered": { kind: "boolean" } },
90493
+ "temperature-sensor": { "celsius": {
90494
+ kind: "gauge",
90495
+ unit: "°C",
90496
+ deadband: .1
90497
+ } },
90498
+ "vacuum-control": {
90499
+ "batteryLevel": {
90500
+ kind: "gauge",
90501
+ unit: "%",
90502
+ deadband: 2
90503
+ },
90504
+ "cleanWater.level": {
90505
+ kind: "gauge",
90506
+ unit: "%",
90507
+ deadband: 2
90508
+ },
90509
+ "dirtyWater.level": {
90510
+ kind: "gauge",
90511
+ unit: "%",
90512
+ deadband: 2
90513
+ },
90514
+ "detergent.level": {
90515
+ kind: "gauge",
90516
+ unit: "%",
90517
+ deadband: 2
90518
+ },
90519
+ "dustBin.level": {
90520
+ kind: "gauge",
90521
+ unit: "%",
90522
+ deadband: 2
90523
+ }
90524
+ },
90525
+ "valve": { "position": {
90526
+ kind: "gauge",
90527
+ unit: "%",
90528
+ minIntervalMs: 0
90529
+ } },
90530
+ "vibration": { "detected": { kind: "boolean" } },
90531
+ "water-heater": {
90532
+ "currentTemp": {
90533
+ kind: "gauge",
90534
+ unit: "°C",
90535
+ deadband: .5
90536
+ },
90537
+ "targetTemp": {
90538
+ kind: "gauge",
90539
+ unit: "°C",
90540
+ minIntervalMs: 0
90541
+ }
90542
+ },
90543
+ "weather": {
90544
+ "temperature": {
90545
+ kind: "gauge",
90546
+ unitFrom: "temperatureUnit",
90547
+ deadband: .2
90548
+ },
90549
+ "humidity": {
90550
+ kind: "gauge",
90551
+ unit: "%",
90552
+ deadband: 1
90553
+ },
90554
+ "pressure": {
90555
+ kind: "gauge",
90556
+ unitFrom: "pressureUnit",
90557
+ deadband: .5
90558
+ },
90559
+ "windSpeed": {
90560
+ kind: "gauge",
90561
+ unitFrom: "windSpeedUnit",
90562
+ deadband: .5
90563
+ }
90564
+ }
90565
+ };
90566
+ /** Caps that declared `history: 'none'`, sorted. */
90567
+ var HISTORY_NONE_CAPS = [
90568
+ "alarm-panel",
90569
+ "audio-metrics",
90570
+ "automation-control",
90571
+ "camera-streams",
90572
+ "color",
90573
+ "connectivity",
90574
+ "consumables",
90575
+ "control",
90576
+ "day-night",
90577
+ "device-discovery",
90578
+ "doorbell",
90579
+ "enum-sensor",
90580
+ "event-emitter",
90581
+ "feature-probe",
90582
+ "image",
90583
+ "image-settings",
90584
+ "intercom",
90585
+ "lock-control",
90586
+ "media-player",
90587
+ "motion-trigger",
90588
+ "motion-zones",
90589
+ "native-object-detection",
90590
+ "navigation",
90591
+ "notifier",
90592
+ "privacy-mask",
90593
+ "ptz-autotrack",
90594
+ "recording-onboard",
90595
+ "recording-signal",
90596
+ "scene-monitor",
90597
+ "script-runner",
90598
+ "stream-catalog",
90599
+ "stream-params",
90600
+ "stream-signals",
90601
+ "update",
90602
+ "zone-analytics",
90603
+ "zone-rules",
90604
+ "zones"
90605
+ ];
90606
+ /** The series specs of `capName`; empty for a `'none'` cap or an unknown one. */
90607
+ function historyFieldsFor(capName) {
90608
+ return HISTORY_CATALOG[capName] ?? {};
90609
+ }
90610
+ //#endregion
89782
90611
  //#region src/generated/scope-presets.ts
89783
90612
  var SCOPE_PRESETS = [
89784
90613
  {
@@ -99729,6 +100558,10 @@ exports.HAP_AUDIO_VBV_KBITS = HAP_AUDIO_VBV_KBITS;
99729
100558
  exports.HAP_KEYFRAME_INTERVAL_SEC = HAP_KEYFRAME_INTERVAL_SEC;
99730
100559
  exports.HF_BASE_URL = require_sleep.HF_BASE_URL;
99731
100560
  exports.HF_REPO = require_sleep.HF_REPO;
100561
+ exports.HISTORY_CATALOG = HISTORY_CATALOG;
100562
+ exports.HISTORY_DEFAULT_MIN_INTERVAL_MS = require_sleep.HISTORY_DEFAULT_MIN_INTERVAL_MS;
100563
+ exports.HISTORY_NONE_CAPS = HISTORY_NONE_CAPS;
100564
+ exports.HISTORY_UNIT_LABELS = require_sleep.HISTORY_UNIT_LABELS;
99732
100565
  exports.HOURS_PER_DAY = HOURS_PER_DAY;
99733
100566
  exports.HUB_ADDRESS_ROLES = HUB_ADDRESS_ROLES;
99734
100567
  exports.HUB_MDNS_QUERY_NAME = HUB_MDNS_QUERY_NAME;
@@ -101174,6 +102007,7 @@ exports.hasModelBoundOverrides = hasModelBoundOverrides;
101174
102007
  exports.hasMotionTrigger = hasMotionTrigger;
101175
102008
  exports.hasUrlScheme = hasUrlScheme;
101176
102009
  exports.hfModelUrl = require_sleep.hfModelUrl;
102010
+ exports.historyFieldsFor = historyFieldsFor;
101177
102011
  exports.htmlToText = htmlToText;
101178
102012
  exports.hubAddressHostname = hubAddressHostname;
101179
102013
  exports.hubMotionNativeProvider = hubMotionNativeProvider;