@camstack/system 1.2.429 → 1.2.430

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 (74) hide show
  1. package/dist/builtins/addon-pages-aggregator/addon-pages-aggregator.addon.js +1 -1
  2. package/dist/builtins/addon-pages-aggregator/addon-pages-aggregator.addon.mjs +1 -1
  3. package/dist/builtins/addon-widgets-aggregator/addon-widgets-aggregator.addon.js +1 -1
  4. package/dist/builtins/addon-widgets-aggregator/addon-widgets-aggregator.addon.mjs +1 -1
  5. package/dist/builtins/alerts/alerts.addon.js +1 -1
  6. package/dist/builtins/alerts/alerts.addon.mjs +1 -1
  7. package/dist/builtins/autotrack/index.js +1 -1
  8. package/dist/builtins/autotrack/index.mjs +1 -1
  9. package/dist/builtins/backup-orchestrator/backup-orchestrator.addon.js +2 -2
  10. package/dist/builtins/backup-orchestrator/backup-orchestrator.addon.mjs +2 -2
  11. package/dist/builtins/calendars/calendars.addon.js +1 -1
  12. package/dist/builtins/calendars/calendars.addon.mjs +1 -1
  13. package/dist/builtins/camera-grid/index.js +1 -1
  14. package/dist/builtins/camera-grid/index.mjs +1 -1
  15. package/dist/builtins/composer/composer.addon.js +2 -2
  16. package/dist/builtins/composer/composer.addon.mjs +2 -2
  17. package/dist/builtins/console-logging/index.js +1 -1
  18. package/dist/builtins/console-logging/index.mjs +1 -1
  19. package/dist/builtins/core-blocks/core-blocks.addon.js +2 -2
  20. package/dist/builtins/core-blocks/core-blocks.addon.mjs +2 -2
  21. package/dist/builtins/device-manager/device-manager.addon.js +2 -2
  22. package/dist/builtins/device-manager/device-manager.addon.mjs +2 -2
  23. package/dist/builtins/hub-forwarder/index.js +1 -1
  24. package/dist/builtins/hub-forwarder/index.mjs +1 -1
  25. package/dist/builtins/keychain/index.js +3 -3
  26. package/dist/builtins/keychain/index.mjs +3 -3
  27. package/dist/builtins/liveness-monitor/liveness-monitor.addon.js +1 -1
  28. package/dist/builtins/liveness-monitor/liveness-monitor.addon.mjs +1 -1
  29. package/dist/builtins/local-auth/local-auth.addon.js +2 -2
  30. package/dist/builtins/local-auth/local-auth.addon.mjs +2 -2
  31. package/dist/builtins/local-network/local-network.addon.js +1 -1
  32. package/dist/builtins/local-network/local-network.addon.mjs +1 -1
  33. package/dist/builtins/loki-logging/index.js +1 -1
  34. package/dist/builtins/loki-logging/index.mjs +1 -1
  35. package/dist/builtins/native-metrics/native-metrics.addon.js +1 -1
  36. package/dist/builtins/native-metrics/native-metrics.addon.mjs +1 -1
  37. package/dist/builtins/platform-probe/index.js +1 -1
  38. package/dist/builtins/platform-probe/index.mjs +1 -1
  39. package/dist/builtins/remote-access-orchestrator/remote-access-orchestrator.addon.js +1 -1
  40. package/dist/builtins/remote-access-orchestrator/remote-access-orchestrator.addon.mjs +1 -1
  41. package/dist/builtins/snapshot/index.js +1 -1
  42. package/dist/builtins/snapshot/index.mjs +1 -1
  43. package/dist/builtins/sqlite-storage/file-host-client.d.ts +11 -0
  44. package/dist/builtins/sqlite-storage/filesystem-storage.addon.js +1 -1
  45. package/dist/builtins/sqlite-storage/filesystem-storage.addon.mjs +1 -1
  46. package/dist/builtins/sqlite-storage/index.js +1 -1
  47. package/dist/builtins/sqlite-storage/index.mjs +1 -1
  48. package/dist/builtins/sqlite-storage/sqlite-settings.addon.js +34 -4
  49. package/dist/builtins/sqlite-storage/sqlite-settings.addon.mjs +34 -4
  50. package/dist/builtins/storage-orchestrator/storage-orchestrator.addon.js +1 -1
  51. package/dist/builtins/storage-orchestrator/storage-orchestrator.addon.mjs +1 -1
  52. package/dist/builtins/system-config/system-config.addon.js +2 -2
  53. package/dist/builtins/system-config/system-config.addon.mjs +2 -2
  54. package/dist/builtins/winston-logging/index.js +1 -1
  55. package/dist/builtins/winston-logging/index.mjs +1 -1
  56. package/dist/{composition-sources-SYtYuAgh.mjs → composition-sources-Cw_TXEq9.mjs} +1 -1
  57. package/dist/{composition-sources-C2VNX6tF.js → composition-sources-o5MPSlk6.js} +1 -1
  58. package/dist/{constants-RI-hGP5S.js → constants-BcNaVkvI.js} +1 -1
  59. package/dist/{constants-CKuWoWvc.mjs → constants-CttE77VF.mjs} +1 -1
  60. package/dist/{device-ca-R7DKKZL6.mjs → device-ca-B-BTxeCj.mjs} +1 -1
  61. package/dist/{device-ca-BWfdDB3k.js → device-ca-CKiqh2Iu.js} +1 -1
  62. package/dist/{dist-CSSfTM18.mjs → dist-CXG6muCR.mjs} +545 -34
  63. package/dist/{dist-Bgy_AmwX.js → dist-DxJdci75.js} +545 -34
  64. package/dist/file-host-worker.js +1 -1
  65. package/dist/file-host-worker.mjs +1 -1
  66. package/dist/index.js +5 -5
  67. package/dist/index.mjs +5 -5
  68. package/dist/{restore-archive-BYUEMsog.js → restore-archive-CQJNoqRK.js} +1 -1
  69. package/dist/{restore-archive-AIwMHO5_.mjs → restore-archive-D_wBL1OO.mjs} +1 -1
  70. package/dist/{retired-settings-keys-H0rYXT27.mjs → retired-settings-keys-EmDe11cP.mjs} +1 -1
  71. package/dist/{retired-settings-keys-BTPkRLTS.js → retired-settings-keys-g1oifXxR.js} +1 -1
  72. package/dist/{wal-maintenance-BSGsxKW7.js → wal-maintenance-BW1LIHi0.js} +0 -0
  73. package/dist/{wal-maintenance-DW0FfGV7.mjs → wal-maintenance-vhPZLYuA.mjs} +0 -0
  74. package/package.json +1 -1
@@ -718,7 +718,7 @@ var EventCategory = /* @__PURE__ */ function(EventCategory) {
718
718
  return EventCategory;
719
719
  }({});
720
720
  //#endregion
721
- //#region ../types/dist/sleep-BBF1iXUi.mjs
721
+ //#region ../types/dist/sleep-DxJdzHni.mjs
722
722
  /**
723
723
  * The audio chunk plane's byte format, and the ONE expansion from a coded
724
724
  * window to float samples (D455).
@@ -13812,7 +13812,11 @@ var cameraStreamsCapability = {
13812
13812
  * See `RuntimeStateDurability`. Enforced by
13813
13813
  * `scripts/check-runtime-state-durability.ts`.
13814
13814
  */
13815
- durability: "session"
13815
+ durability: "session",
13816
+ /**
13817
+ * History (D850): none — `online` duplicates device-status.online (one authority); slot data is nested enum/string.
13818
+ */
13819
+ history: "none"
13816
13820
  };
13817
13821
  /** `z.void()` — input carries no data. */
13818
13822
  function isVoidInput(schema) {
@@ -17092,6 +17096,10 @@ var deviceDiscoveryCapability = {
17092
17096
  * `scripts/check-runtime-state-durability.ts`.
17093
17097
  */
17094
17098
  durability: "session",
17099
+ /**
17100
+ * History (D850): none — inventory.
17101
+ */
17102
+ history: "none",
17095
17103
  methods: {
17096
17104
  /**
17097
17105
  * Snapshot of the current `discovered` list. Returns the
@@ -42712,6 +42720,10 @@ var alarmPanelCapability = {
42712
42720
  * `scripts/check-runtime-state-durability.ts`.
42713
42721
  */
42714
42722
  durability: "restored",
42723
+ /**
42724
+ * History (D850): none — enum state; arm/disarm history belongs in the events ledger.
42725
+ */
42726
+ history: "none",
42715
42727
  /** Clock fields: written, but excluded from the compare that decides
42716
42728
  * whether persisting is worth a SQLite commit. */
42717
42729
  volatileStateFields: ["lastChangedAt"]
@@ -50622,7 +50634,11 @@ var zonesCapability = {
50622
50634
  * See `RuntimeStateDurability`. Enforced by
50623
50635
  * `scripts/check-runtime-state-durability.ts`.
50624
50636
  */
50625
- durability: "restored"
50637
+ durability: "restored",
50638
+ /**
50639
+ * History (D850): none — configuration arrays.
50640
+ */
50641
+ history: "none"
50626
50642
  };
50627
50643
  /**
50628
50644
  * A bounding box in NORMALIZED [0,1] frame coordinates for `getNativeCrop`. The
@@ -54492,6 +54508,10 @@ var streamSignalsCapability = {
54492
54508
  * `scripts/check-runtime-state-durability.ts`.
54493
54509
  */
54494
54510
  durability: "session",
54511
+ /**
54512
+ * History (D850): none — array state.
54513
+ */
54514
+ history: "none",
54495
54515
  methods: {
54496
54516
  /**
54497
54517
  * What this device can emit. Empty is a valid and common answer — most
@@ -57336,6 +57356,36 @@ var airQualitySensorCapability = {
57336
57356
  * `scripts/check-runtime-state-durability.ts`.
57337
57357
  */
57338
57358
  durability: "restored",
57359
+ /**
57360
+ * History (D850): recorded series.
57361
+ */
57362
+ history: { fields: {
57363
+ co2Ppm: {
57364
+ kind: "gauge",
57365
+ unit: "ppm",
57366
+ deadband: 5
57367
+ },
57368
+ vocPpb: {
57369
+ kind: "gauge",
57370
+ unit: "ppb",
57371
+ deadband: 5
57372
+ },
57373
+ pm25: {
57374
+ kind: "gauge",
57375
+ unit: "ug/m3",
57376
+ deadband: 1
57377
+ },
57378
+ pm10: {
57379
+ kind: "gauge",
57380
+ unit: "ug/m3",
57381
+ deadband: 1
57382
+ },
57383
+ aqi: {
57384
+ kind: "gauge",
57385
+ unit: "count",
57386
+ deadband: 1
57387
+ }
57388
+ } },
57339
57389
  /** Clock fields: written, but excluded from the compare that decides
57340
57390
  * whether persisting is worth a SQLite commit. */
57341
57391
  volatileStateFields: ["lastFetchedAt"]
@@ -57378,6 +57428,15 @@ var ambientLightSensorCapability = {
57378
57428
  * `scripts/check-runtime-state-durability.ts`.
57379
57429
  */
57380
57430
  durability: "restored",
57431
+ /**
57432
+ * History (D850): recorded series. Wide range, so a RELATIVE deadband (10 %).
57433
+ */
57434
+ history: { fields: { lux: {
57435
+ kind: "gauge",
57436
+ unit: "lx",
57437
+ deadbandPct: 10,
57438
+ minIntervalMs: 6e4
57439
+ } } },
57381
57440
  /** Clock fields: written, but excluded from the compare that decides
57382
57441
  * whether persisting is worth a SQLite commit. */
57383
57442
  volatileStateFields: ["lastFetchedAt"]
@@ -57514,7 +57573,11 @@ var audioMetricsCapability = {
57514
57573
  * See `RuntimeStateDurability`. Enforced by
57515
57574
  * `scripts/check-runtime-state-durability.ts`.
57516
57575
  */
57517
- durability: "session"
57576
+ durability: "session",
57577
+ /**
57578
+ * 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.
57579
+ */
57580
+ history: "none"
57518
57581
  };
57519
57582
  /**
57520
57583
  * Automation-control cap. Models HA `automation.*` entities on
@@ -57583,7 +57646,11 @@ var automationControlCapability = {
57583
57646
  * See `RuntimeStateDurability`. Enforced by
57584
57647
  * `scripts/check-runtime-state-durability.ts`.
57585
57648
  */
57586
- durability: "session"
57649
+ durability: "session",
57650
+ /**
57651
+ * History (D850): none — configuration and transient run state.
57652
+ */
57653
+ history: "none"
57587
57654
  };
57588
57655
  /**
57589
57656
  * Battery status snapshot. Emitted by providers whose device is
@@ -57764,6 +57831,13 @@ onStatusChanged: { data: z.object({
57764
57831
  * `scripts/check-runtime-state-durability.ts`.
57765
57832
  */
57766
57833
  durability: "restored",
57834
+ /**
57835
+ * History (D850): recorded series. The generic capture replaces the `battery` series of `pipeline-analytics:stats-5m`.
57836
+ */
57837
+ history: { fields: { percentage: {
57838
+ kind: "gauge",
57839
+ unit: "%"
57840
+ } } },
57767
57841
  /** Clock fields: written, but excluded from the compare that decides
57768
57842
  * whether persisting is worth a SQLite commit. */
57769
57843
  volatileStateFields: ["lastUpdated"]
@@ -57803,6 +57877,10 @@ var binaryCapability = {
57803
57877
  * `scripts/check-runtime-state-durability.ts`.
57804
57878
  */
57805
57879
  durability: "restored",
57880
+ /**
57881
+ * History (D850): recorded series.
57882
+ */
57883
+ history: { fields: { on: { kind: "boolean" } } },
57806
57884
  /** Clock fields: written, but excluded from the compare that decides
57807
57885
  * whether persisting is worth a SQLite commit. */
57808
57886
  volatileStateFields: ["lastChangedAt"]
@@ -57865,7 +57943,15 @@ onBrightnessChanged: { data: z.object({
57865
57943
  * See `RuntimeStateDurability`. Enforced by
57866
57944
  * `scripts/check-runtime-state-durability.ts`.
57867
57945
  */
57868
- durability: "session"
57946
+ durability: "session",
57947
+ /**
57948
+ * History (D850): recorded series. Actuator tier: level keeps every change.
57949
+ */
57950
+ history: { fields: { percentage: {
57951
+ kind: "gauge",
57952
+ unit: "%",
57953
+ minIntervalMs: 0
57954
+ } } }
57869
57955
  };
57870
57956
  /**
57871
57957
  * button — device-scoped capability for HA `button.*` / `input_button.*`
@@ -58296,6 +58382,10 @@ var carbonMonoxideCapability = {
58296
58382
  * `scripts/check-runtime-state-durability.ts`.
58297
58383
  */
58298
58384
  durability: "restored",
58385
+ /**
58386
+ * History (D850): recorded series.
58387
+ */
58388
+ history: { fields: { detected: { kind: "boolean" } } },
58299
58389
  /** Clock fields: written, but excluded from the compare that decides
58300
58390
  * whether persisting is worth a SQLite commit. */
58301
58391
  volatileStateFields: ["lastChangedAt"]
@@ -58465,7 +58555,37 @@ var climateControlCapability = {
58465
58555
  * See `RuntimeStateDurability`. Enforced by
58466
58556
  * `scripts/check-runtime-state-durability.ts`.
58467
58557
  */
58468
- durability: "session"
58558
+ durability: "session",
58559
+ /**
58560
+ * History (D850): recorded series. Celsius by contract; setpoints keep every change (`minIntervalMs: 0`).
58561
+ */
58562
+ history: { fields: {
58563
+ currentTemp: {
58564
+ kind: "gauge",
58565
+ unit: "°C",
58566
+ deadband: .1
58567
+ },
58568
+ currentHumidity: {
58569
+ kind: "gauge",
58570
+ unit: "%",
58571
+ deadband: .5
58572
+ },
58573
+ target: {
58574
+ kind: "gauge",
58575
+ unit: "°C",
58576
+ minIntervalMs: 0
58577
+ },
58578
+ targetHigh: {
58579
+ kind: "gauge",
58580
+ unit: "°C",
58581
+ minIntervalMs: 0
58582
+ },
58583
+ targetLow: {
58584
+ kind: "gauge",
58585
+ unit: "°C",
58586
+ minIntervalMs: 0
58587
+ }
58588
+ } }
58469
58589
  };
58470
58590
  /**
58471
58591
  * Color-light cap. Coexists with `switch` (on/off) and `brightness`
@@ -58582,7 +58702,11 @@ onColorChanged: { data: z.object({
58582
58702
  * See `RuntimeStateDurability`. Enforced by
58583
58703
  * `scripts/check-runtime-state-durability.ts`.
58584
58704
  */
58585
- durability: "session"
58705
+ durability: "session",
58706
+ /**
58707
+ * History (D850): none — nested and cosmetic.
58708
+ */
58709
+ history: "none"
58586
58710
  };
58587
58711
  var ConnectionTestOutcomeSchema = z.discriminatedUnion("outcome", [
58588
58712
  z.object({
@@ -58656,6 +58780,10 @@ var connectivityCapability = {
58656
58780
  * `scripts/check-runtime-state-durability.ts`.
58657
58781
  */
58658
58782
  durability: "restored",
58783
+ /**
58784
+ * History (D850): none — duplicates device-status.online (one authority for availability).
58785
+ */
58786
+ history: "none",
58659
58787
  /** Clock fields: written, but excluded from the compare that decides
58660
58788
  * whether persisting is worth a SQLite commit. */
58661
58789
  volatileStateFields: ["lastChangedAt"]
@@ -58780,6 +58908,10 @@ reset: method(z.object({
58780
58908
  * `scripts/check-runtime-state-durability.ts`.
58781
58909
  */
58782
58910
  durability: "restored",
58911
+ /**
58912
+ * History (D850): none — `items` is an array keyed by runtime ids; a history path never enters it.
58913
+ */
58914
+ history: "none",
58783
58915
  /** Clocks, not content: a re-read that changed no item costs no commit. */
58784
58916
  volatileStateFields: ["lastChangedAt", "lastFetchedAt"]
58785
58917
  };
@@ -58820,6 +58952,10 @@ var contactCapability = {
58820
58952
  * `scripts/check-runtime-state-durability.ts`.
58821
58953
  */
58822
58954
  durability: "restored",
58955
+ /**
58956
+ * History (D850): recorded series.
58957
+ */
58958
+ history: { fields: { entryOpen: { kind: "boolean" } } },
58823
58959
  /** Clock fields: written, but excluded from the compare that decides
58824
58960
  * whether persisting is worth a SQLite commit. */
58825
58961
  volatileStateFields: ["lastChangedAt"]
@@ -58959,7 +59095,11 @@ var controlCapability = {
58959
59095
  * See `RuntimeStateDurability`. Enforced by
58960
59096
  * `scripts/check-runtime-state-durability.ts`.
58961
59097
  */
58962
- durability: "session"
59098
+ durability: "session",
59099
+ /**
59100
+ * History (D850): none — `value` is a number/string union; configuration entity.
59101
+ */
59102
+ history: "none"
58963
59103
  };
58964
59104
  /**
58965
59105
  * Window covering / blinds / garage door / valve cap. Models HA
@@ -59050,6 +59190,14 @@ var coverCapability = {
59050
59190
  * `scripts/check-runtime-state-durability.ts`.
59051
59191
  */
59052
59192
  durability: "restored",
59193
+ /**
59194
+ * History (D850): recorded series. Actuator tier: position keeps every tick of a movement.
59195
+ */
59196
+ history: { fields: { position: {
59197
+ kind: "gauge",
59198
+ unit: "%",
59199
+ minIntervalMs: 0
59200
+ } } },
59053
59201
  /** Clock fields: written, but excluded from the compare that decides
59054
59202
  * whether persisting is worth a SQLite commit. */
59055
59203
  volatileStateFields: ["lastChangedAt"]
@@ -59154,6 +59302,10 @@ var dayNightCapability = {
59154
59302
  * `scripts/check-runtime-state-durability.ts`.
59155
59303
  */
59156
59304
  durability: "restored",
59305
+ /**
59306
+ * History (D850): none — firmware configuration, not a measurement.
59307
+ */
59308
+ history: "none",
59157
59309
  /** Clock fields: written, but excluded from the compare that decides
59158
59310
  * whether persisting is worth a SQLite commit. */
59159
59311
  volatileStateFields: ["lastFetchedAt"]
@@ -59211,6 +59363,10 @@ onStatusChanged: { data: z.object({
59211
59363
  * `scripts/check-runtime-state-durability.ts`.
59212
59364
  */
59213
59365
  durability: "restored",
59366
+ /**
59367
+ * History (D850): recorded series. The ONE availability series.
59368
+ */
59369
+ history: { fields: { online: { kind: "boolean" } } },
59214
59370
  /** Clock fields: written, but excluded from the compare that decides
59215
59371
  * whether persisting is worth a SQLite commit. */
59216
59372
  volatileStateFields: ["lastChangedAt"]
@@ -59277,7 +59433,11 @@ onPressed: {
59277
59433
  * See `RuntimeStateDurability`. Enforced by
59278
59434
  * `scripts/check-runtime-state-durability.ts`.
59279
59435
  */
59280
- durability: "restored"
59436
+ durability: "restored",
59437
+ /**
59438
+ * History (D850): none — `pressCountSinceStart` resets with the addon, so it is not a monotonic meter; presses live in the events ledger.
59439
+ */
59440
+ history: "none"
59281
59441
  };
59282
59442
  /**
59283
59443
  * Enum-state sensor — a string value picked from a finite option set.
@@ -59325,6 +59485,10 @@ var enumSensorCapability = {
59325
59485
  * `scripts/check-runtime-state-durability.ts`.
59326
59486
  */
59327
59487
  durability: "restored",
59488
+ /**
59489
+ * History (D850): none — text/enum state has no history (non-goal).
59490
+ */
59491
+ history: "none",
59328
59492
  /** Clock fields: written, but excluded from the compare that decides
59329
59493
  * whether persisting is worth a SQLite commit. */
59330
59494
  volatileStateFields: ["lastFetchedAt"]
@@ -59370,7 +59534,11 @@ var eventEmitterCapability = {
59370
59534
  * See `RuntimeStateDurability`. Enforced by
59371
59535
  * `scripts/check-runtime-state-durability.ts`.
59372
59536
  */
59373
- durability: "session"
59537
+ durability: "session",
59538
+ /**
59539
+ * History (D850): none — `eventCountSinceStart` resets with the addon; events live in ledgers.
59540
+ */
59541
+ history: "none"
59374
59542
  };
59375
59543
  var IdentitySchema = z.object({
59376
59544
  id: z.string(),
@@ -59866,7 +60034,18 @@ var fanControlCapability = {
59866
60034
  * See `RuntimeStateDurability`. Enforced by
59867
60035
  * `scripts/check-runtime-state-durability.ts`.
59868
60036
  */
59869
- durability: "session"
60037
+ durability: "session",
60038
+ /**
60039
+ * History (D850): recorded series. Actuator tier: speed keeps every change.
60040
+ */
60041
+ history: { fields: {
60042
+ percentage: {
60043
+ kind: "gauge",
60044
+ unit: "%",
60045
+ minIntervalMs: 0
60046
+ },
60047
+ oscillating: { kind: "boolean" }
60048
+ } }
59870
60049
  };
59871
60050
  /**
59872
60051
  * Per-device feature/identity probe slice. Holds the runtime-resolved
@@ -59949,7 +60128,11 @@ onProbeChanged: { data: z.object({
59949
60128
  * See `RuntimeStateDurability`. Enforced by
59950
60129
  * `scripts/check-runtime-state-durability.ts`.
59951
60130
  */
59952
- durability: "session"
60131
+ durability: "session",
60132
+ /**
60133
+ * History (D850): none — static identity and capability probe.
60134
+ */
60135
+ history: "none"
59953
60136
  };
59954
60137
  /**
59955
60138
  * Water leak / moisture sensor. Boolean "is liquid currently
@@ -59984,6 +60167,10 @@ var floodCapability = {
59984
60167
  * `scripts/check-runtime-state-durability.ts`.
59985
60168
  */
59986
60169
  durability: "restored",
60170
+ /**
60171
+ * History (D850): recorded series.
60172
+ */
60173
+ history: { fields: { flooded: { kind: "boolean" } } },
59987
60174
  /** Clock fields: written, but excluded from the compare that decides
59988
60175
  * whether persisting is worth a SQLite commit. */
59989
60176
  volatileStateFields: ["lastChangedAt"]
@@ -60017,6 +60204,10 @@ var gasCapability = {
60017
60204
  * `scripts/check-runtime-state-durability.ts`.
60018
60205
  */
60019
60206
  durability: "restored",
60207
+ /**
60208
+ * History (D850): recorded series.
60209
+ */
60210
+ history: { fields: { detected: { kind: "boolean" } } },
60020
60211
  /** Clock fields: written, but excluded from the compare that decides
60021
60212
  * whether persisting is worth a SQLite commit. */
60022
60213
  volatileStateFields: ["lastChangedAt"]
@@ -60102,7 +60293,18 @@ var humidifierCapability = {
60102
60293
  * See `RuntimeStateDurability`. Enforced by
60103
60294
  * `scripts/check-runtime-state-durability.ts`.
60104
60295
  */
60105
- durability: "session"
60296
+ durability: "session",
60297
+ /**
60298
+ * History (D850): recorded series.
60299
+ */
60300
+ history: { fields: {
60301
+ currentHumidity: {
60302
+ kind: "gauge",
60303
+ unit: "%",
60304
+ deadband: .5
60305
+ },
60306
+ on: { kind: "boolean" }
60307
+ } }
60106
60308
  };
60107
60309
  /**
60108
60310
  * Single-metric humidity reading. Drives Home Assistant `sensor`
@@ -60146,6 +60348,14 @@ var humiditySensorCapability = {
60146
60348
  * `scripts/check-runtime-state-durability.ts`.
60147
60349
  */
60148
60350
  durability: "restored",
60351
+ /**
60352
+ * History (D850): recorded series.
60353
+ */
60354
+ history: { fields: { percent: {
60355
+ kind: "gauge",
60356
+ unit: "%",
60357
+ deadband: .5
60358
+ } } },
60149
60359
  /** Clock fields: written, but excluded from the compare that decides
60150
60360
  * whether persisting is worth a SQLite commit. */
60151
60361
  volatileStateFields: ["lastFetchedAt"]
@@ -60193,7 +60403,11 @@ var imageCapability = {
60193
60403
  * See `RuntimeStateDurability`. Enforced by
60194
60404
  * `scripts/check-runtime-state-durability.ts`.
60195
60405
  */
60196
- durability: "session"
60406
+ durability: "session",
60407
+ /**
60408
+ * History (D850): none — not numeric.
60409
+ */
60410
+ history: "none"
60197
60411
  };
60198
60412
  /**
60199
60413
  * Vendor-neutral image / picture-adjustment cap — the per-camera config
@@ -60350,6 +60564,10 @@ var imageSettingsCapability = {
60350
60564
  * `scripts/check-runtime-state-durability.ts`.
60351
60565
  */
60352
60566
  durability: "restored",
60567
+ /**
60568
+ * History (D850): none — camera image configuration (operator intent), not a trend.
60569
+ */
60570
+ history: "none",
60353
60571
  /** Clock fields: written, but excluded from the compare that decides
60354
60572
  * whether persisting is worth a SQLite commit. */
60355
60573
  volatileStateFields: ["lastFetchedAt"]
@@ -60753,7 +60971,11 @@ var intercomCapability = {
60753
60971
  * See `RuntimeStateDurability`. Enforced by
60754
60972
  * `scripts/check-runtime-state-durability.ts`.
60755
60973
  */
60756
- durability: "session"
60974
+ durability: "session",
60975
+ /**
60976
+ * History (D850): none — talk sessions are a ledger concern, not a trend.
60977
+ */
60978
+ history: "none"
60757
60979
  };
60758
60980
  /**
60759
60981
  * Robotic lawn-mower cap. Models HA `lawn_mower.*` entities — anything
@@ -60834,7 +61056,15 @@ var lawnMowerControlCapability = {
60834
61056
  * See `RuntimeStateDurability`. Enforced by
60835
61057
  * `scripts/check-runtime-state-durability.ts`.
60836
61058
  */
60837
- durability: "session"
61059
+ durability: "session",
61060
+ /**
61061
+ * History (D850): recorded series.
61062
+ */
61063
+ history: { fields: { batteryLevel: {
61064
+ kind: "gauge",
61065
+ unit: "%",
61066
+ deadband: 2
61067
+ } } }
60838
61068
  };
60839
61069
  /**
60840
61070
  * local-network — hub-only singleton.
@@ -61425,6 +61655,10 @@ var lockControlCapability = {
61425
61655
  * `scripts/check-runtime-state-durability.ts`.
61426
61656
  */
61427
61657
  durability: "restored",
61658
+ /**
61659
+ * History (D850): none — enum state; lock events belong in the events ledger.
61660
+ */
61661
+ history: "none",
61428
61662
  /** Clock fields: written, but excluded from the compare that decides
61429
61663
  * whether persisting is worth a SQLite commit. */
61430
61664
  volatileStateFields: ["lastChangedAt"]
@@ -61596,7 +61830,11 @@ var mediaPlayerCapability = {
61596
61830
  * See `RuntimeStateDurability`. Enforced by
61597
61831
  * `scripts/check-runtime-state-durability.ts`.
61598
61832
  */
61599
- durability: "session"
61833
+ durability: "session",
61834
+ /**
61835
+ * History (D850): none — `positionMs` moves continuously while playing; volume is transient.
61836
+ */
61837
+ history: "none"
61600
61838
  };
61601
61839
  /**
61602
61840
  * mesh-network — collection cap for mesh-VPN providers.
@@ -61991,7 +62229,14 @@ onMotionChanged: { data: MotionOnMotionChangedDataSchema } },
61991
62229
  * See `RuntimeStateDurability`. Enforced by
61992
62230
  * `scripts/check-runtime-state-durability.ts`.
61993
62231
  */
61994
- durability: "session"
62232
+ durability: "session",
62233
+ /**
62234
+ * History (D850): recorded series. A PIR sensor is a series; a camera is not (its motion is an addon series and a ledger).
62235
+ */
62236
+ history: { fields: { detected: {
62237
+ kind: "boolean",
62238
+ excludeDeviceTypes: [DeviceType.Camera]
62239
+ } } }
61995
62240
  };
61996
62241
  /**
61997
62242
  * Motion-trigger toggle for accessory devices.
@@ -62063,7 +62308,11 @@ var motionTriggerCapability = {
62063
62308
  * See `RuntimeStateDurability`. Enforced by
62064
62309
  * `scripts/check-runtime-state-durability.ts`.
62065
62310
  */
62066
- durability: "session"
62311
+ durability: "session",
62312
+ /**
62313
+ * History (D850): none — configuration switch.
62314
+ */
62315
+ history: "none"
62067
62316
  };
62068
62317
  /**
62069
62318
  * Motion-zones share the same MaskShape vocabulary as privacy-mask — the
@@ -62138,6 +62387,10 @@ var motionZonesCapability = {
62138
62387
  * `scripts/check-runtime-state-durability.ts`.
62139
62388
  */
62140
62389
  durability: "restored",
62390
+ /**
62391
+ * History (D850): none — configuration.
62392
+ */
62393
+ history: "none",
62141
62394
  /** Clock fields: written, but excluded from the compare that decides
62142
62395
  * whether persisting is worth a SQLite commit. */
62143
62396
  volatileStateFields: ["lastFetchedAt"]
@@ -62267,6 +62520,10 @@ var nativeObjectDetectionCapability = {
62267
62520
  * `scripts/check-runtime-state-durability.ts`.
62268
62521
  */
62269
62522
  durability: "restored",
62523
+ /**
62524
+ * History (D850): none — event-like and nested per class; detections live in the objects ledger.
62525
+ */
62526
+ history: "none",
62270
62527
  /** Clock fields: written, but excluded from the compare that decides
62271
62528
  * whether persisting is worth a SQLite commit. */
62272
62529
  volatileStateFields: ["lastFetchedAt"]
@@ -62552,7 +62809,11 @@ var navigationCapability = {
62552
62809
  * See `RuntimeStateDurability`. Enforced by
62553
62810
  * `scripts/check-runtime-state-durability.ts`.
62554
62811
  */
62555
- durability: "session"
62812
+ durability: "session",
62813
+ /**
62814
+ * History (D850): none — control state of a robotic camera, configuration-like.
62815
+ */
62816
+ history: "none"
62556
62817
  };
62557
62818
  /**
62558
62819
  * Network-link snapshot. Same shape for every provider (a Reolink wifi
@@ -62632,6 +62893,23 @@ onStatusChanged: { data: z.object({
62632
62893
  * `scripts/check-runtime-state-durability.ts`.
62633
62894
  */
62634
62895
  durability: "restored",
62896
+ /**
62897
+ * History (D850): recorded series.
62898
+ */
62899
+ history: { fields: {
62900
+ signalPercent: {
62901
+ kind: "gauge",
62902
+ unit: "%",
62903
+ deadband: 3,
62904
+ minIntervalMs: 6e4
62905
+ },
62906
+ rssiDbm: {
62907
+ kind: "gauge",
62908
+ unit: "dBm",
62909
+ deadband: 2,
62910
+ minIntervalMs: 6e4
62911
+ }
62912
+ } },
62635
62913
  /** Clock fields: written, but excluded from the compare that decides
62636
62914
  * whether persisting is worth a SQLite commit. */
62637
62915
  volatileStateFields: ["lastUpdated"]
@@ -63085,7 +63363,11 @@ onSent: { data: z.object({
63085
63363
  * See `RuntimeStateDurability`. Enforced by
63086
63364
  * `scripts/check-runtime-state-durability.ts`.
63087
63365
  */
63088
- durability: "session"
63366
+ durability: "session",
63367
+ /**
63368
+ * History (D850): none — `queueDepth` is outbox operational state, not a device trend.
63369
+ */
63370
+ history: "none"
63089
63371
  };
63090
63372
  /**
63091
63373
  * Generic numeric sensor — last-resort fallback when no typed numeric
@@ -63136,6 +63418,14 @@ var numericSensorCapability = {
63136
63418
  * `scripts/check-runtime-state-durability.ts`.
63137
63419
  */
63138
63420
  durability: "restored",
63421
+ /**
63422
+ * History (D850): recorded series. The unit is per device, read from the sibling `unit` field.
63423
+ */
63424
+ history: { fields: { value: {
63425
+ kind: "gauge",
63426
+ unitFrom: "unit",
63427
+ minIntervalMs: 3e4
63428
+ } } },
63139
63429
  /** Clock fields: written, but excluded from the compare that decides
63140
63430
  * whether persisting is worth a SQLite commit. */
63141
63431
  volatileStateFields: ["lastFetchedAt"]
@@ -63675,7 +63965,24 @@ var petFeederCapability = {
63675
63965
  * See `RuntimeStateDurability`. Enforced by
63676
63966
  * `scripts/check-runtime-state-durability.ts`.
63677
63967
  */
63678
- durability: "session"
63968
+ durability: "session",
63969
+ /**
63970
+ * History (D850): recorded series.
63971
+ */
63972
+ history: { fields: {
63973
+ foodLevel: { kind: "gauge" },
63974
+ food1: { kind: "gauge" },
63975
+ food2: { kind: "gauge" },
63976
+ batteryPower: {
63977
+ kind: "gauge",
63978
+ unit: "%",
63979
+ deadband: 2
63980
+ },
63981
+ desiccantLeftDays: {
63982
+ kind: "gauge",
63983
+ unit: "days"
63984
+ }
63985
+ } }
63679
63986
  };
63680
63987
  var VehicleSchema = z.object({
63681
63988
  id: z.string(),
@@ -64098,6 +64405,47 @@ var powerMeterCapability = {
64098
64405
  * `scripts/check-runtime-state-durability.ts`.
64099
64406
  */
64100
64407
  durability: "restored",
64408
+ /**
64409
+ * History (D850): recorded series. Gauges are floored at 30 s; `kwhTotal` is the one monotonic meter (counter).
64410
+ */
64411
+ history: { fields: {
64412
+ watts: {
64413
+ kind: "gauge",
64414
+ unit: "W",
64415
+ deadband: 1,
64416
+ minIntervalMs: 3e4
64417
+ },
64418
+ kwhTotal: {
64419
+ kind: "counter",
64420
+ unit: "kWh",
64421
+ deadband: .01,
64422
+ minIntervalMs: 6e4
64423
+ },
64424
+ volts: {
64425
+ kind: "gauge",
64426
+ unit: "V",
64427
+ deadband: 1,
64428
+ minIntervalMs: 3e4
64429
+ },
64430
+ amps: {
64431
+ kind: "gauge",
64432
+ unit: "A",
64433
+ deadband: .05,
64434
+ minIntervalMs: 3e4
64435
+ },
64436
+ va: {
64437
+ kind: "gauge",
64438
+ unit: "VA",
64439
+ deadband: 1,
64440
+ minIntervalMs: 3e4
64441
+ },
64442
+ powerFactor: {
64443
+ kind: "gauge",
64444
+ unit: "ratio",
64445
+ deadband: .01,
64446
+ minIntervalMs: 6e4
64447
+ }
64448
+ } },
64101
64449
  /** Clock fields: written, but excluded from the compare that decides
64102
64450
  * whether persisting is worth a SQLite commit. */
64103
64451
  volatileStateFields: ["lastFetchedAt"]
@@ -64165,6 +64513,14 @@ var presenceCapability = {
64165
64513
  * `scripts/check-runtime-state-durability.ts`.
64166
64514
  */
64167
64515
  durability: "restored",
64516
+ /**
64517
+ * History (D850): recorded series.
64518
+ */
64519
+ history: { fields: { batteryPercent: {
64520
+ kind: "gauge",
64521
+ unit: "%",
64522
+ deadband: 1
64523
+ } } },
64168
64524
  /** Clock fields: written, but excluded from the compare that decides
64169
64525
  * whether persisting is worth a SQLite commit. */
64170
64526
  volatileStateFields: ["lastChangedAt"]
@@ -64211,6 +64567,14 @@ var pressureSensorCapability = {
64211
64567
  * `scripts/check-runtime-state-durability.ts`.
64212
64568
  */
64213
64569
  durability: "restored",
64570
+ /**
64571
+ * History (D850): recorded series.
64572
+ */
64573
+ history: { fields: { hpa: {
64574
+ kind: "gauge",
64575
+ unit: "hPa",
64576
+ deadband: .1
64577
+ } } },
64214
64578
  /** Clock fields: written, but excluded from the compare that decides
64215
64579
  * whether persisting is worth a SQLite commit. */
64216
64580
  volatileStateFields: ["lastFetchedAt"]
@@ -64370,6 +64734,10 @@ var privacyMaskCapability = {
64370
64734
  * `scripts/check-runtime-state-durability.ts`.
64371
64735
  */
64372
64736
  durability: "restored",
64737
+ /**
64738
+ * History (D850): none — configuration.
64739
+ */
64740
+ history: "none",
64373
64741
  /** Clock fields: written, but excluded from the compare that decides
64374
64742
  * whether persisting is worth a SQLite commit. */
64375
64743
  volatileStateFields: ["lastFetchedAt"]
@@ -64858,7 +65226,11 @@ var ptzAutotrackCapability = {
64858
65226
  * See `RuntimeStateDurability`. Enforced by
64859
65227
  * `scripts/check-runtime-state-durability.ts`.
64860
65228
  */
64861
- durability: "session"
65229
+ durability: "session",
65230
+ /**
65231
+ * History (D850): none — configuration and capability.
65232
+ */
65233
+ history: "none"
64862
65234
  };
64863
65235
  /**
64864
65236
  * reboot — device-scoped capability for "soft" device reboots (firmware
@@ -66682,6 +67054,10 @@ var recordingOnboardCapability = {
66682
67054
  * `scripts/check-runtime-state-durability.ts`.
66683
67055
  */
66684
67056
  durability: "restored",
67057
+ /**
67058
+ * History (D850): none — SD-card configuration and window inventory; arrays.
67059
+ */
67060
+ history: "none",
66685
67061
  /** Clock fields: written, but excluded from the compare that decides
66686
67062
  * whether persisting is worth a SQLite commit. */
66687
67063
  volatileStateFields: ["lastFetchedAt"]
@@ -66776,7 +67152,11 @@ getStatus: method(z.object({ deviceId: z.number() }), RecordingSignalStatusSchem
66776
67152
  * See `RuntimeStateDurability`. Enforced by
66777
67153
  * `scripts/check-runtime-state-durability.ts`.
66778
67154
  */
66779
- durability: "session"
67155
+ durability: "session",
67156
+ /**
67157
+ * History (D850): none — recording intent is already in the recordings ledger.
67158
+ */
67159
+ history: "none"
66780
67160
  };
66781
67161
  /**
66782
67162
  * scene-monitor — device-scoped reference-region state cap. An operator marks
@@ -67149,7 +67529,11 @@ var sceneMonitorCapability = {
67149
67529
  * See `RuntimeStateDurability`. Enforced by
67150
67530
  * `scripts/check-runtime-state-durability.ts`.
67151
67531
  */
67152
- durability: "session"
67532
+ durability: "session",
67533
+ /**
67534
+ * History (D850): none — nested configuration.
67535
+ */
67536
+ history: "none"
67153
67537
  };
67154
67538
  /**
67155
67539
  * Per-stage gating mode applied to the zones a rule references.
@@ -67300,7 +67684,11 @@ var scriptRunnerCapability = {
67300
67684
  * See `RuntimeStateDurability`. Enforced by
67301
67685
  * `scripts/check-runtime-state-durability.ts`.
67302
67686
  */
67303
- durability: "session"
67687
+ durability: "session",
67688
+ /**
67689
+ * History (D850): none — transient; run results belong in a ledger.
67690
+ */
67691
+ history: "none"
67304
67692
  };
67305
67693
  /**
67306
67694
  * Smoke alarm sensor — boolean "is smoke currently detected" with
@@ -67335,6 +67723,10 @@ var smokeCapability = {
67335
67723
  * `scripts/check-runtime-state-durability.ts`.
67336
67724
  */
67337
67725
  durability: "restored",
67726
+ /**
67727
+ * History (D850): recorded series.
67728
+ */
67729
+ history: { fields: { detected: { kind: "boolean" } } },
67338
67730
  /** Clock fields: written, but excluded from the compare that decides
67339
67731
  * whether persisting is worth a SQLite commit. */
67340
67732
  volatileStateFields: ["lastChangedAt"]
@@ -67434,6 +67826,10 @@ var streamCatalogCapability = {
67434
67826
  * `scripts/check-runtime-state-durability.ts`.
67435
67827
  */
67436
67828
  durability: "restored",
67829
+ /**
67830
+ * History (D850): none — stream inventory.
67831
+ */
67832
+ history: "none",
67437
67833
  /** Clock field: written, but excluded from the compare that decides whether
67438
67834
  * persisting is worth a SQLite commit — the descriptors are the value. */
67439
67835
  volatileStateFields: ["lastFetchedAt"]
@@ -67583,6 +67979,10 @@ var streamParamsCapability = {
67583
67979
  * `scripts/check-runtime-state-durability.ts`.
67584
67980
  */
67585
67981
  durability: "restored",
67982
+ /**
67983
+ * History (D850): none — encoder configuration.
67984
+ */
67985
+ history: "none",
67586
67986
  /** Clock fields: written, but excluded from the compare that decides
67587
67987
  * whether persisting is worth a SQLite commit. */
67588
67988
  volatileStateFields: ["lastFetchedAt"]
@@ -67895,6 +68295,10 @@ var switchCapability = {
67895
68295
  * `scripts/check-runtime-state-durability.ts`.
67896
68296
  */
67897
68297
  durability: "restored",
68298
+ /**
68299
+ * History (D850): recorded series.
68300
+ */
68301
+ history: { fields: { on: { kind: "boolean" } } },
67898
68302
  /** Clock fields: written, but excluded from the compare that decides
67899
68303
  * whether persisting is worth a SQLite commit. */
67900
68304
  volatileStateFields: ["lastChangedAt"],
@@ -68567,6 +68971,10 @@ var tamperCapability = {
68567
68971
  * `scripts/check-runtime-state-durability.ts`.
68568
68972
  */
68569
68973
  durability: "restored",
68974
+ /**
68975
+ * History (D850): recorded series.
68976
+ */
68977
+ history: { fields: { tampered: { kind: "boolean" } } },
68570
68978
  /** Clock fields: written, but excluded from the compare that decides
68571
68979
  * whether persisting is worth a SQLite commit. */
68572
68980
  volatileStateFields: ["lastChangedAt"]
@@ -68622,6 +69030,14 @@ var temperatureSensorCapability = {
68622
69030
  * `scripts/check-runtime-state-durability.ts`.
68623
69031
  */
68624
69032
  durability: "restored",
69033
+ /**
69034
+ * History (D850): recorded series.
69035
+ */
69036
+ history: { fields: { celsius: {
69037
+ kind: "gauge",
69038
+ unit: "°C",
69039
+ deadband: .1
69040
+ } } },
68625
69041
  /** Clock fields: written, but excluded from the compare that decides
68626
69042
  * whether persisting is worth a SQLite commit. */
68627
69043
  volatileStateFields: ["lastFetchedAt"]
@@ -68707,7 +69123,11 @@ var updateCapability = {
68707
69123
  * See `RuntimeStateDurability`. Enforced by
68708
69124
  * `scripts/check-runtime-state-durability.ts`.
68709
69125
  */
68710
- durability: "session"
69126
+ durability: "session",
69127
+ /**
69128
+ * History (D850): none — text and state.
69129
+ */
69130
+ history: "none"
68711
69131
  };
68712
69132
  var UserSummarySchema = z.object({
68713
69133
  id: z.string(),
@@ -69099,7 +69519,37 @@ var vacuumControlCapability = {
69099
69519
  * See `RuntimeStateDurability`. Enforced by
69100
69520
  * `scripts/check-runtime-state-durability.ts`.
69101
69521
  */
69102
- durability: "session"
69522
+ durability: "session",
69523
+ /**
69524
+ * History (D850): recorded series. Tank levels are fixed-object paths (`cleanWater.level`, ...).
69525
+ */
69526
+ history: { fields: {
69527
+ batteryLevel: {
69528
+ kind: "gauge",
69529
+ unit: "%",
69530
+ deadband: 2
69531
+ },
69532
+ "cleanWater.level": {
69533
+ kind: "gauge",
69534
+ unit: "%",
69535
+ deadband: 2
69536
+ },
69537
+ "dirtyWater.level": {
69538
+ kind: "gauge",
69539
+ unit: "%",
69540
+ deadband: 2
69541
+ },
69542
+ "detergent.level": {
69543
+ kind: "gauge",
69544
+ unit: "%",
69545
+ deadband: 2
69546
+ },
69547
+ "dustBin.level": {
69548
+ kind: "gauge",
69549
+ unit: "%",
69550
+ deadband: 2
69551
+ }
69552
+ } }
69103
69553
  };
69104
69554
  /**
69105
69555
  * Pipe / water / gas valve cap. Models HA `valve.*` entities — anything
@@ -69176,7 +69626,15 @@ var valveCapability = {
69176
69626
  * See `RuntimeStateDurability`. Enforced by
69177
69627
  * `scripts/check-runtime-state-durability.ts`.
69178
69628
  */
69179
- durability: "session"
69629
+ durability: "session",
69630
+ /**
69631
+ * History (D850): recorded series. Actuator tier: position keeps every change.
69632
+ */
69633
+ history: { fields: { position: {
69634
+ kind: "gauge",
69635
+ unit: "%",
69636
+ minIntervalMs: 0
69637
+ } } }
69180
69638
  };
69181
69639
  /**
69182
69640
  * Vibration / shake / impact sensor. Drives Home Assistant
@@ -69206,6 +69664,10 @@ var vibrationCapability = {
69206
69664
  * `scripts/check-runtime-state-durability.ts`.
69207
69665
  */
69208
69666
  durability: "restored",
69667
+ /**
69668
+ * History (D850): recorded series.
69669
+ */
69670
+ history: { fields: { detected: { kind: "boolean" } } },
69209
69671
  /** Clock fields: written, but excluded from the compare that decides
69210
69672
  * whether persisting is worth a SQLite commit. */
69211
69673
  volatileStateFields: ["lastChangedAt"]
@@ -69289,7 +69751,22 @@ var waterHeaterCapability = {
69289
69751
  * See `RuntimeStateDurability`. Enforced by
69290
69752
  * `scripts/check-runtime-state-durability.ts`.
69291
69753
  */
69292
- durability: "session"
69754
+ durability: "session",
69755
+ /**
69756
+ * History (D850): recorded series. The schema carries no unit; providers publish Celsius. Setpoint keeps every change.
69757
+ */
69758
+ history: { fields: {
69759
+ currentTemp: {
69760
+ kind: "gauge",
69761
+ unit: "°C",
69762
+ deadband: .5
69763
+ },
69764
+ targetTemp: {
69765
+ kind: "gauge",
69766
+ unit: "°C",
69767
+ minIntervalMs: 0
69768
+ }
69769
+ } }
69293
69770
  };
69294
69771
  /**
69295
69772
  * Weather provider cap. Models HA `weather.*` entities — a read-only
@@ -69355,7 +69832,32 @@ var weatherCapability = {
69355
69832
  * See `RuntimeStateDurability`. Enforced by
69356
69833
  * `scripts/check-runtime-state-durability.ts`.
69357
69834
  */
69358
- durability: "session"
69835
+ durability: "session",
69836
+ /**
69837
+ * History (D850): recorded series. Units follow the sibling `*Unit` fields.
69838
+ */
69839
+ history: { fields: {
69840
+ temperature: {
69841
+ kind: "gauge",
69842
+ unitFrom: "temperatureUnit",
69843
+ deadband: .2
69844
+ },
69845
+ humidity: {
69846
+ kind: "gauge",
69847
+ unit: "%",
69848
+ deadband: 1
69849
+ },
69850
+ pressure: {
69851
+ kind: "gauge",
69852
+ unitFrom: "pressureUnit",
69853
+ deadband: .5
69854
+ },
69855
+ windSpeed: {
69856
+ kind: "gauge",
69857
+ unitFrom: "windSpeedUnit",
69858
+ deadband: .5
69859
+ }
69860
+ } }
69359
69861
  };
69360
69862
  /**
69361
69863
  * Per-zone occupancy aggregation produced by the analytics frame
@@ -69597,7 +70099,11 @@ var zoneAnalyticsCapability = {
69597
70099
  * See `RuntimeStateDurability`. Enforced by
69598
70100
  * `scripts/check-runtime-state-durability.ts`.
69599
70101
  */
69600
- durability: "session"
70102
+ durability: "session",
70103
+ /**
70104
+ * History (D850): none — occupancy is the addon series `pipeline-analytics/occupancy`; the rest is per-zone arrays keyed by runtime ids.
70105
+ */
70106
+ history: "none"
69601
70107
  };
69602
70108
  /**
69603
70109
  * Stages a {@link ZoneRule} can apply to. Discriminator on the rules
@@ -69682,7 +70188,11 @@ var zoneRulesCapability = {
69682
70188
  * See `RuntimeStateDurability`. Enforced by
69683
70189
  * `scripts/check-runtime-state-durability.ts`.
69684
70190
  */
69685
- durability: "restored"
70191
+ durability: "restored",
70192
+ /**
70193
+ * History (D850): none — configuration arrays.
70194
+ */
70195
+ history: "none"
69686
70196
  };
69687
70197
  /**
69688
70198
  * `training-provider` — ONE cloud that can run the CamStack trainer.
@@ -83314,6 +83824,7 @@ var SESSION_ONLY_POLICY = {
83314
83824
  durability: "session",
83315
83825
  volatileFields: []
83316
83826
  };
83827
+ DeviceType.Camera;
83317
83828
  var G711_SCALE_CORRECTION_DB = {
83318
83829
  PCMU: 20 * Math.log10(4),
83319
83830
  PCMA: 20 * Math.log10(8)