@camstack/system 1.2.467 → 1.2.469

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 (89) hide show
  1. package/dist/addon-utils.mjs +1 -1
  2. package/dist/{agent-https-DJ8OzQOr.js → agent-https-5OgOR-eF.js} +1 -1
  3. package/dist/{agent-https-DR1wmhYY.mjs → agent-https-b-zX78oB.mjs} +1 -1
  4. package/dist/builtins/addon-pages-aggregator/addon-pages-aggregator.addon.js +1 -1
  5. package/dist/builtins/addon-pages-aggregator/addon-pages-aggregator.addon.mjs +4 -4
  6. package/dist/builtins/addon-widgets-aggregator/addon-widgets-aggregator.addon.js +1 -1
  7. package/dist/builtins/addon-widgets-aggregator/addon-widgets-aggregator.addon.mjs +5 -5
  8. package/dist/builtins/alerts/alerts.addon.js +1 -1
  9. package/dist/builtins/alerts/alerts.addon.mjs +1 -1
  10. package/dist/builtins/autotrack/index.js +1 -1
  11. package/dist/builtins/autotrack/index.mjs +1 -1
  12. package/dist/builtins/backup-orchestrator/backup-orchestrator.addon.js +2 -2
  13. package/dist/builtins/backup-orchestrator/backup-orchestrator.addon.mjs +5 -5
  14. package/dist/builtins/calendars/calendars.addon.js +1 -1
  15. package/dist/builtins/calendars/calendars.addon.mjs +1 -1
  16. package/dist/builtins/camera-grid/index.js +1 -1
  17. package/dist/builtins/camera-grid/index.mjs +1 -1
  18. package/dist/builtins/composer/composer.addon.js +2 -2
  19. package/dist/builtins/composer/composer.addon.mjs +2 -2
  20. package/dist/builtins/console-logging/index.js +1 -1
  21. package/dist/builtins/console-logging/index.mjs +1 -1
  22. package/dist/builtins/core-blocks/core-blocks.addon.js +2 -2
  23. package/dist/builtins/core-blocks/core-blocks.addon.mjs +2 -2
  24. package/dist/builtins/device-history/capture/capture-engine.d.ts +24 -4
  25. package/dist/builtins/device-history/device-history.addon.js +319 -44
  26. package/dist/builtins/device-history/device-history.addon.mjs +319 -44
  27. package/dist/builtins/device-history/query/history-query.d.ts +19 -2
  28. package/dist/builtins/device-history/retention/orphans.d.ts +50 -0
  29. package/dist/builtins/device-history/retention/retention.d.ts +9 -2
  30. package/dist/builtins/device-history/runtime/history-runtime.d.ts +10 -2
  31. package/dist/builtins/device-history/store/history-store.d.ts +5 -0
  32. package/dist/builtins/device-manager/device-manager.addon.js +2 -2
  33. package/dist/builtins/device-manager/device-manager.addon.mjs +2 -2
  34. package/dist/builtins/device-manager/device-meta-types.d.ts +2 -2
  35. package/dist/builtins/hub-forwarder/index.js +1 -1
  36. package/dist/builtins/hub-forwarder/index.mjs +1 -1
  37. package/dist/builtins/keychain/index.js +3 -3
  38. package/dist/builtins/keychain/index.mjs +3 -3
  39. package/dist/builtins/liveness-monitor/liveness-monitor.addon.js +1 -1
  40. package/dist/builtins/liveness-monitor/liveness-monitor.addon.mjs +1 -1
  41. package/dist/builtins/local-auth/local-auth.addon.js +2 -2
  42. package/dist/builtins/local-auth/local-auth.addon.mjs +5 -5
  43. package/dist/builtins/local-network/local-network.addon.js +2 -2
  44. package/dist/builtins/local-network/local-network.addon.mjs +2 -2
  45. package/dist/builtins/loki-logging/index.js +1 -1
  46. package/dist/builtins/loki-logging/index.mjs +1 -1
  47. package/dist/builtins/native-metrics/native-metrics.addon.js +1 -1
  48. package/dist/builtins/native-metrics/native-metrics.addon.mjs +10 -10
  49. package/dist/builtins/platform-probe/index.js +1 -1
  50. package/dist/builtins/platform-probe/index.mjs +8 -8
  51. package/dist/builtins/record-entries/index.js +1 -1
  52. package/dist/builtins/record-entries/index.mjs +1 -1
  53. package/dist/builtins/remote-access-orchestrator/remote-access-orchestrator.addon.js +1 -1
  54. package/dist/builtins/remote-access-orchestrator/remote-access-orchestrator.addon.mjs +1 -1
  55. package/dist/builtins/snapshot/index.js +1 -1
  56. package/dist/builtins/snapshot/index.mjs +1 -1
  57. package/dist/builtins/sqlite-storage/filesystem-storage.addon.js +1 -1
  58. package/dist/builtins/sqlite-storage/filesystem-storage.addon.mjs +20 -20
  59. package/dist/builtins/sqlite-storage/index.js +1 -1
  60. package/dist/builtins/sqlite-storage/index.mjs +1 -1
  61. package/dist/builtins/sqlite-storage/sqlite-settings.addon.js +2 -2
  62. package/dist/builtins/sqlite-storage/sqlite-settings.addon.mjs +2 -2
  63. package/dist/builtins/storage-orchestrator/storage-orchestrator.addon.js +1 -1
  64. package/dist/builtins/storage-orchestrator/storage-orchestrator.addon.mjs +1 -1
  65. package/dist/builtins/system-config/system-config.addon.js +3 -3
  66. package/dist/builtins/system-config/system-config.addon.mjs +115 -115
  67. package/dist/builtins/winston-logging/index.js +1 -1
  68. package/dist/builtins/winston-logging/index.mjs +1 -1
  69. package/dist/{composition-sources-5rpWQhA1.js → composition-sources-BGXTiUZm.js} +1 -1
  70. package/dist/{composition-sources-Qto-S6MA.mjs → composition-sources-DTdzzyf0.mjs} +1 -1
  71. package/dist/{constants-CuO3rcw4.js → constants-2mPqJjkR.js} +1 -1
  72. package/dist/{constants-BWli8Cju.mjs → constants-md_POijo.mjs} +1 -1
  73. package/dist/{coral-accelerators-D_S1Fo5h.mjs → coral-accelerators-Qhn5TOYZ.mjs} +5 -5
  74. package/dist/{custom-action-registry-BGYDjTqY.mjs → custom-action-registry-DZSCLBuT.mjs} +37 -37
  75. package/dist/{device-ca-CGcaSheI.js → device-ca-CC58lmNV.js} +1 -1
  76. package/dist/{device-ca-C5cLlah1.mjs → device-ca-CFdyrqeJ.mjs} +1 -1
  77. package/dist/{dist-BpUtAgqR.mjs → dist-CtVVtyTX.mjs} +247 -119
  78. package/dist/{dist-l6zKmHEb.js → dist-DuBtzSCh.js} +258 -118
  79. package/dist/file-host-worker.js +1 -1
  80. package/dist/file-host-worker.mjs +1 -1
  81. package/dist/{hub-mdns-ciao-CIno_SNn.js → hub-mdns-ciao-BLsX_2cL.js} +2 -2
  82. package/dist/{hub-mdns-ciao-0KWDyIMD.mjs → hub-mdns-ciao-CmuWLPci.mjs} +2 -2
  83. package/dist/index.js +7 -7
  84. package/dist/index.mjs +225 -225
  85. package/dist/{restore-archive-B71JI-sP.js → restore-archive-CxPAuaNs.js} +1 -1
  86. package/dist/{restore-archive-DKxAZ9pI.mjs → restore-archive-D2w3z_ob.mjs} +94 -94
  87. package/dist/{wal-maintenance-BXYwFecW.mjs → wal-maintenance-DeluFl_1.mjs} +0 -0
  88. package/dist/{wal-maintenance-B6LSQ_OZ.js → wal-maintenance-EK28XXnc.js} +0 -0
  89. package/package.json +1 -1
@@ -762,7 +762,7 @@ var EventCategory = /* @__PURE__ */ function(EventCategory) {
762
762
  return EventCategory;
763
763
  }({});
764
764
  //#endregion
765
- //#region ../types/dist/sleep-DJFUfKvA.mjs
765
+ //#region ../types/dist/sleep-CUp20JkO.mjs
766
766
  /**
767
767
  * The audio chunk plane's byte format, and the ONE expansion from a coded
768
768
  * window to float samples (D455).
@@ -4606,6 +4606,10 @@ z.object({
4606
4606
  field: z.string().min(1),
4607
4607
  on: z.literal("advance")
4608
4608
  });
4609
+ /** The catalog field path of an item field: `<itemsPath>[].<field>` (`items[].level`). */
4610
+ function historyItemFieldPath(itemsPath, field) {
4611
+ return `${itemsPath}[].${field}`;
4612
+ }
4609
4613
  /** Capture floor (ms) applied to `gauge` / `counter` series when a field states none. */
4610
4614
  var HISTORY_DEFAULT_MIN_INTERVAL_MS = 1e4;
4611
4615
  /**
@@ -4647,7 +4651,11 @@ var ContributionSectionSchema = z.object({
4647
4651
  z.literal(4)
4648
4652
  ]).optional(),
4649
4653
  tab: z.string().optional(),
4650
- location: z.enum(["settings", "top-tab"]).optional(),
4654
+ location: z.enum([
4655
+ "settings",
4656
+ "top-tab",
4657
+ "hero"
4658
+ ]).optional(),
4651
4659
  order: z.number().optional(),
4652
4660
  fields: z.array(z.any())
4653
4661
  });
@@ -11351,7 +11359,11 @@ var ConfigSectionWithValuesSchema = z.object({
11351
11359
  z.literal(4)
11352
11360
  ]).optional(),
11353
11361
  tab: z.string().optional(),
11354
- location: z.enum(["settings", "top-tab"]).optional(),
11362
+ location: z.enum([
11363
+ "settings",
11364
+ "top-tab",
11365
+ "hero"
11366
+ ]).optional(),
11355
11367
  order: z.number().optional(),
11356
11368
  fields: z.array(z.any())
11357
11369
  });
@@ -17851,6 +17863,52 @@ var TierStatusSchema = z.object({
17851
17863
  countedAt: z.number().nullable()
17852
17864
  });
17853
17865
  /** Operator/diagnostic view: rows per tier, last runs, refusals and drops since boot. */
17866
+ /**
17867
+ * Why a series is orphan. `device-gone`: its device is absent from the
17868
+ * successful device listings (the departure clock). `undeclared`: its `cap:`
17869
+ * key is declared by no capability any more (a field a cap removed).
17870
+ */
17871
+ var DeviceHistoryOrphanReasonSchema = z.enum(["device-gone", "undeclared"]);
17872
+ /** Rows held per stored tier. */
17873
+ var TierRowsSchema = z.object({
17874
+ raw: z.number().int(),
17875
+ "5m": z.number().int(),
17876
+ "1h": z.number().int(),
17877
+ "1d": z.number().int()
17878
+ });
17879
+ var OrphanSeriesSchema = z.object({
17880
+ seriesId: z.number().int(),
17881
+ deviceId: z.number().int(),
17882
+ key: z.string(),
17883
+ scope: z.string(),
17884
+ /** The metric's display name; `null` when its metric row is gone too. */
17885
+ displayName: z.string().nullable(),
17886
+ reason: DeviceHistoryOrphanReasonSchema,
17887
+ /** `device-gone`: since when the device has been absent; `null` otherwise. */
17888
+ missingSince: z.number().nullable(),
17889
+ firstTs: z.number(),
17890
+ lastTs: z.number(),
17891
+ rows: TierRowsSchema
17892
+ });
17893
+ var DeviceHistoryOrphanDeleteRefusalSchema = z.enum([
17894
+ "not-found",
17895
+ "not-orphan",
17896
+ "failed"
17897
+ ]);
17898
+ var OrphanDeleteEntrySchema = z.discriminatedUnion("ok", [z.object({
17899
+ seriesId: z.number().int(),
17900
+ ok: z.literal(true),
17901
+ deleted: TierRowsSchema
17902
+ }), z.object({
17903
+ seriesId: z.number().int(),
17904
+ ok: z.literal(false),
17905
+ reason: DeviceHistoryOrphanDeleteRefusalSchema
17906
+ })]);
17907
+ var OrphanListSchema = z.object({
17908
+ series: z.array(OrphanSeriesSchema).readonly(),
17909
+ /** More orphans exist than {@link DEVICE_HISTORY_ORPHAN_LIST_MAX}. */
17910
+ truncated: z.boolean()
17911
+ });
17854
17912
  var DeviceHistoryStatusSchema = z.object({
17855
17913
  startedAt: z.number(),
17856
17914
  /** The store is declared, series loaded and the first reconcile has answered. */
@@ -17992,7 +18050,24 @@ var deviceHistoryCapability = {
17992
18050
  kind: "mutation",
17993
18051
  auth: "admin"
17994
18052
  }),
17995
- getStatus: method(z.object({}), DeviceHistoryStatusSchema, { auth: "admin" })
18053
+ getStatus: method(z.object({}), DeviceHistoryStatusSchema, { auth: "admin" }),
18054
+ /**
18055
+ * Device series no longer linked to a device (D917): the device is absent
18056
+ * from the listings, or the key is declared by no capability. REPORTED,
18057
+ * never purged by this judgement; each entry counts its rows per tier
18058
+ * (a primary-key range per series). Ordered by device, key, scope.
18059
+ */
18060
+ listOrphanSeries: method(z.object({}), OrphanListSchema, { auth: "admin" }),
18061
+ /**
18062
+ * Delete orphan series by id. Each id is re-judged NOW: a series that is
18063
+ * not orphan (its device came back) is refused `not-orphan`, an unknown id
18064
+ * `not-found`. Deletes tier by tier in the retention slices, then the
18065
+ * series row; one entry per id, in order.
18066
+ */
18067
+ deleteOrphanSeries: method(z.object({ seriesIds: z.array(z.number().int()).min(1).max(50) }), z.object({ results: z.array(OrphanDeleteEntrySchema).readonly() }), {
18068
+ kind: "mutation",
18069
+ auth: "admin"
18070
+ })
17996
18071
  }
17997
18072
  };
17998
18073
  var DeviceCaStatusSchema = z.discriminatedUnion("state", [
@@ -60958,17 +61033,69 @@ var connectivityCapability = {
60958
61033
  volatileStateFields: ["lastChangedAt"]
60959
61034
  };
60960
61035
  /**
60961
- * Generic device-consumables capability — surfaces a device's
60962
- * maintenance items (vacuum filters/brushes, replaceable cartridges,
60963
- * descaling cycles, …) with their remaining life and an optional
60964
- * "Replaced" reset action. Device-agnostic: any provider that knows its
60965
- * device tracks consumables can register it; the cap declares no
60966
- * vocabulary of its own — the provider names each item verbatim.
61036
+ * Generic device-consumables capability — the ONE place a device reports what
61037
+ * it uses up or fills: wear parts (vacuum filters/brushes, cartridges,
61038
+ * descaling cycles), supplies it draws from (a vacuum's clean-water tank and
61039
+ * detergent, a dishwasher's salt and rinse aid) and waste it collects (a dirty
61040
+ * water tank, a dust bin). Each item carries its remaining life or fill and an
61041
+ * optional "Replaced" reset action. Device-agnostic: any provider that knows
61042
+ * its device tracks consumables registers it; the provider names each item
61043
+ * verbatim and says which `kind` it is.
61044
+ *
61045
+ * The admin UI renders it as ONE collapsible section directly under the
61046
+ * device page's hero card (`placement: 'hero'`), for every device bound to
61047
+ * this cap — never drawn by a device type's hero card itself (D915).
60967
61048
  *
60968
61049
  * Like `childLayout`, the cap is INERT until a provider sets items: no
60969
61050
  * provider populates it by guessing (no HA inference). The UI renders a
60970
61051
  * "No consumables reported" placeholder when `items` is empty.
60971
61052
  */
61053
+ /**
61054
+ * What an item IS, which decides which direction is bad:
61055
+ * - `wear` — a part that wears out (a brush, a filter); low life is bad.
61056
+ * - `supply` — something the device draws from (clean water, detergent,
61057
+ * salt, rinse aid); low or empty is bad.
61058
+ * - `waste` — something the device fills (dirty water, a dust bin); full is
61059
+ * bad.
61060
+ * Absent = `wear`.
61061
+ */
61062
+ var ConsumableKindSchema = z.enum([
61063
+ "wear",
61064
+ "supply",
61065
+ "waste"
61066
+ ]);
61067
+ /**
61068
+ * What an item LOOKS like, which decides how a client draws it — independent
61069
+ * of `kind`, which decides which direction is bad:
61070
+ * - `part` — a part that wears (a brush, a filter, a mop pad): a wear bar,
61071
+ * remaining time and a reset.
61072
+ * - `tank` — a container of liquid (clean water, dirty water): a fill gauge.
61073
+ * - `product` — something bought and refilled (detergent, salt, rinse aid):
61074
+ * a stepped level and "refill".
61075
+ * - `bin` — a container that collects waste (a dust bin): a fill gauge
61076
+ * that warns when full.
61077
+ * Absent = derived from the kind ({@link consumableFormOf}).
61078
+ */
61079
+ var ConsumableFormSchema = z.enum([
61080
+ "part",
61081
+ "tank",
61082
+ "product",
61083
+ "bin"
61084
+ ]);
61085
+ /** The provider's own discrete verdict on an item. */
61086
+ var ConsumableStatusSchema = z.enum([
61087
+ "ok",
61088
+ "low",
61089
+ "empty",
61090
+ "full",
61091
+ "replace"
61092
+ ]);
61093
+ z.enum([
61094
+ "ok",
61095
+ "low",
61096
+ "empty",
61097
+ "full"
61098
+ ]);
60972
61099
  /** Units a remaining-life counter is reported in. Closed: the panel renders
60973
61100
  * each. */
60974
61101
  var ConsumableRemainingUnitSchema = z.enum([
@@ -60983,18 +61110,23 @@ var ConsumableRemainingSchema = z.object({
60983
61110
  unit: ConsumableRemainingUnitSchema
60984
61111
  });
60985
61112
  /** A single consumable item. Either a continuous `level` (remaining
60986
- * life %) or a discrete `status` may be known — both may be null when a
60987
- * provider only knows the item exists. `level` and `status` are not
60988
- * mutually exclusive; a provider may report both. */
61113
+ * life %, or fill % for a `supply` / `waste` item) or a discrete `status`
61114
+ * may be known — both may be null when a provider only knows the item
61115
+ * exists. `level` and `status` are not mutually exclusive; a provider may
61116
+ * report both. */
60989
61117
  var ConsumableItemSchema = z.object({
60990
61118
  /** Stable id, e.g. 'main-brush'. */
60991
61119
  key: z.string().min(1),
60992
61120
  /** Display name. */
60993
61121
  label: z.string().min(1),
60994
- /** Remaining life % when known (0..100). */
61122
+ /** Remaining life % (`wear`) or fill % (`supply`, `waste`) when known (0..100). */
60995
61123
  level: z.number().min(0).max(100).nullable(),
60996
- /** Discrete state when known (binary mode). */
60997
- status: z.enum(["ok", "replace"]).nullable(),
61124
+ /** The provider's discrete verdict when known (binary mode). */
61125
+ status: ConsumableStatusSchema.nullable(),
61126
+ /** What the item is — decides whether low or full is bad. Absent = `wear`. */
61127
+ kind: ConsumableKindSchema.optional(),
61128
+ /** How the item is drawn (part, tank, product, bin). Absent = derived from `kind`. */
61129
+ form: ConsumableFormSchema.optional(),
60998
61130
  /** Ms epoch of the last replace, when known. */
60999
61131
  lastResetAt: z.number().nullable(),
61000
61132
  /** Whether `reset()` is meaningful for this item. */
@@ -61017,7 +61149,7 @@ var consumablesCapability = {
61017
61149
  kind: "widget",
61018
61150
  widgetId: "host/consumables-panel",
61019
61151
  tab: "consumables",
61020
- topTab: true,
61152
+ placement: "hero",
61021
61153
  label: "Consumables",
61022
61154
  order: 5
61023
61155
  } },
@@ -61078,9 +61210,37 @@ reset: method(z.object({
61078
61210
  */
61079
61211
  durability: "restored",
61080
61212
  /**
61081
- * History (D850): none — `items` is an array keyed by runtime ids; a history path never enters it.
61213
+ * History (D850, D917): one series per (item field, item `key`) — the item key
61214
+ * is the series scope, the item `label` names it. A vacuum tank's fill, a
61215
+ * brush's remaining life and a dishwasher's salt are each recorded the moment
61216
+ * their provider reports them; an item that appears later gets its series.
61082
61217
  */
61083
- history: "none",
61218
+ history: {
61219
+ fields: {},
61220
+ items: {
61221
+ path: "items",
61222
+ key: "key",
61223
+ label: "label",
61224
+ fields: {
61225
+ level: {
61226
+ kind: "gauge",
61227
+ unit: "%",
61228
+ deadband: 2,
61229
+ displayName: "Level"
61230
+ },
61231
+ status: {
61232
+ kind: "enum",
61233
+ displayName: "Status"
61234
+ },
61235
+ "remaining.value": {
61236
+ kind: "gauge",
61237
+ unitFrom: "remaining.unit",
61238
+ deadband: 1,
61239
+ displayName: "Remaining"
61240
+ }
61241
+ }
61242
+ }
61243
+ },
61084
61244
  /** Clocks, not content: a re-read that changed no item costs no commit. */
61085
61245
  volatileStateFields: ["lastChangedAt", "lastFetchedAt"]
61086
61246
  };
@@ -61541,8 +61701,9 @@ onStatusChanged: { data: z.object({
61541
61701
  volatileStateFields: ["lastChangedAt"]
61542
61702
  };
61543
61703
  /**
61544
- * Smart-dishwasher cap — program lifecycle, door / remote-start gates,
61545
- * consumable levels (salt, rinse aid) and common program options.
61704
+ * Smart-dishwasher cap — program lifecycle, door / remote-start gates and
61705
+ * common program options. Salt and rinse aid are NOT here: they are items of
61706
+ * the device's `consumables` cap, like every other device's (D915).
61546
61707
  *
61547
61708
  * Sources: native Bosch Home Connect (`dishwasher` device type). Reusable
61548
61709
  * by any integration that exposes the same program / option surface.
@@ -61590,11 +61751,6 @@ var DishwasherAvailabilitySchema = z.enum([
61590
61751
  "offline",
61591
61752
  "description-missing"
61592
61753
  ]);
61593
- var DishwasherConsumableLevelSchema = z.enum([
61594
- "ok",
61595
- "low",
61596
- "empty"
61597
- ]);
61598
61754
  var DishwasherStatusSchema = z.object({
61599
61755
  availability: DishwasherAvailabilitySchema,
61600
61756
  /** Coarse state for compact surfaces; `unavailable` whenever the appliance state is not known. */
@@ -61627,8 +61783,6 @@ var DishwasherStatusSchema = z.object({
61627
61783
  powerOn: z.boolean().nullable(),
61628
61784
  /** The raw power state (`On`, `Off`, `Standby`, …); null when not known. */
61629
61785
  powerState: z.string().nullable(),
61630
- saltLevel: DishwasherConsumableLevelSchema.nullable(),
61631
- rinseAidLevel: DishwasherConsumableLevelSchema.nullable(),
61632
61786
  /**
61633
61787
  * True while the appliance asks for its filter to be cleaned (smart-filter, filter-system or
61634
61788
  * combined care-and-filter reminder raised); false when every such reminder reads clear; null
@@ -71987,14 +72141,9 @@ var userManagementCapability = {
71987
72141
  * validates it against the vacuum's own list. `locate` triggers the
71988
72142
  * find-me chirp; `returnToBase` sends it home.
71989
72143
  *
71990
- * Consumable / waste tanks: `cleanWater` / `dirtyWater` / `detergent` /
71991
- * `dustBin` each carry a nullable `{ level (0..100 %), status ('ok' |
71992
- * 'low' | 'full') }` reading. Native providers (e.g. Dreame, Roborock)
71993
- * SHOULD populate whichever tanks the hardware has — leave a field `null`
71994
- * only when the device has no such tank at all, and use a `TankStatus`
71995
- * with both inner fields `null` when the tank exists but its level is
71996
- * currently unknown. HA `vacuum.*` entities expose no per-tank telemetry,
71997
- * so the HA provider leaves all four `null`.
72144
+ * Tanks (clean water, dirty water, detergent, dust bin) are NOT here: they
72145
+ * are `supply` / `waste` items of the device's `consumables` cap, like every
72146
+ * other device's consumables (D915).
71998
72147
  */
71999
72148
  var VacuumStateSchema = z.enum([
72000
72149
  "idle",
@@ -72005,23 +72154,6 @@ var VacuumStateSchema = z.enum([
72005
72154
  "drying",
72006
72155
  "error"
72007
72156
  ]);
72008
- /**
72009
- * One consumable / waste tank on a robot vacuum (clean-water, dirty-water,
72010
- * detergent or dust-bin). A tank can report a numeric fill `level` (0..100),
72011
- * a discrete `status` (binary-style hardware), or both. Both `null` means the
72012
- * level is currently unknown; the OWNING field being `null` means the
72013
- * hardware has no such tank at all.
72014
- */
72015
- var TankStatusSchema = z.object({
72016
- /** Numeric fill 0..100 when the hardware reports a percentage; null otherwise. */
72017
- level: z.number().min(0).max(100).nullable(),
72018
- /** Discrete state when the hardware is binary-mode; null otherwise. */
72019
- status: z.enum([
72020
- "ok",
72021
- "low",
72022
- "full"
72023
- ]).nullable()
72024
- });
72025
72157
  var VacuumControlStatusSchema = z.object({
72026
72158
  /** Lifecycle state of the vacuum. */
72027
72159
  state: VacuumStateSchema,
@@ -72033,14 +72165,6 @@ var VacuumControlStatusSchema = z.object({
72033
72165
  fanSpeed: z.string().nullable(),
72034
72166
  /** Speed tokens the hardware accepts — drives the UI selector. */
72035
72167
  availableFanSpeeds: z.array(z.string()),
72036
- /** Clean-water (mop) tank. Null when the hardware has no clean-water tank. */
72037
- cleanWater: TankStatusSchema.nullable(),
72038
- /** Dirty-water (recovery) tank. Null when the hardware has no dirty-water tank. */
72039
- dirtyWater: TankStatusSchema.nullable(),
72040
- /** Detergent tank. Null when the hardware has no detergent tank. */
72041
- detergent: TankStatusSchema.nullable(),
72042
- /** Dust bin. Null when the hardware has no dust bin. */
72043
- dustBin: TankStatusSchema.nullable(),
72044
72168
  /** 0..100 cleaning-completion percentage of the current task, or null. */
72045
72169
  progressPercent: z.number().min(0).max(100).nullable(),
72046
72170
  /** Current error code (0 / null = no error). */
@@ -72102,35 +72226,14 @@ var vacuumControlCapability = {
72102
72226
  */
72103
72227
  durability: "session",
72104
72228
  /**
72105
- * History (D850): recorded series. Tank levels are fixed-object paths (`cleanWater.level`, ...).
72229
+ * History (D850): recorded series. The tanks moved to `consumables` (D915), whose
72230
+ * items are keyed by runtime ids and record no history.
72106
72231
  */
72107
- history: { fields: {
72108
- batteryLevel: {
72109
- kind: "gauge",
72110
- unit: "%",
72111
- deadband: 2
72112
- },
72113
- "cleanWater.level": {
72114
- kind: "gauge",
72115
- unit: "%",
72116
- deadband: 2
72117
- },
72118
- "dirtyWater.level": {
72119
- kind: "gauge",
72120
- unit: "%",
72121
- deadband: 2
72122
- },
72123
- "detergent.level": {
72124
- kind: "gauge",
72125
- unit: "%",
72126
- deadband: 2
72127
- },
72128
- "dustBin.level": {
72129
- kind: "gauge",
72130
- unit: "%",
72131
- deadband: 2
72132
- }
72133
- } }
72232
+ history: { fields: { batteryLevel: {
72233
+ kind: "gauge",
72234
+ unit: "%",
72235
+ deadband: 2
72236
+ } } }
72134
72237
  };
72135
72238
  /**
72136
72239
  * Pipe / water / gas valve cap. Models HA `valve.*` entities — anything
@@ -76899,6 +77002,12 @@ var METHOD_ACCESS_MAP = Object.freeze({
76899
77002
  addonId: null,
76900
77003
  access: "create"
76901
77004
  },
77005
+ "deviceHistory.deleteOrphanSeries": {
77006
+ capName: "device-history",
77007
+ capScope: "system",
77008
+ addonId: null,
77009
+ access: "delete"
77010
+ },
76902
77011
  "deviceHistory.getDeviceEnabled": {
76903
77012
  capName: "device-history",
76904
77013
  capScope: "system",
@@ -76917,6 +77026,12 @@ var METHOD_ACCESS_MAP = Object.freeze({
76917
77026
  addonId: null,
76918
77027
  access: "view"
76919
77028
  },
77029
+ "deviceHistory.listOrphanSeries": {
77030
+ capName: "device-history",
77031
+ capScope: "system",
77032
+ addonId: null,
77033
+ access: "view"
77034
+ },
76920
77035
  "deviceHistory.listSeries": {
76921
77036
  capName: "device-history",
76922
77037
  capScope: "system",
@@ -86942,7 +87057,7 @@ var SESSION_ONLY_POLICY = {
86942
87057
  };
86943
87058
  /**
86944
87059
  * Cap history catalog, projected from every `*.cap.ts` `history` block.
86945
- * 40 caps with series (77 series), 31 caps answered `'none'`.
87060
+ * 40 caps with series (73 series), 30 caps answered `'none'`.
86946
87061
  * Field keys are `runtimeState` paths (`a.b` into fixed objects only).
86947
87062
  */
86948
87063
  var HISTORY_CATALOG = {
@@ -87245,33 +87360,11 @@ var HISTORY_CATALOG = {
87245
87360
  unit: "°C",
87246
87361
  deadband: .1
87247
87362
  } },
87248
- "vacuum-control": {
87249
- "batteryLevel": {
87250
- kind: "gauge",
87251
- unit: "%",
87252
- deadband: 2
87253
- },
87254
- "cleanWater.level": {
87255
- kind: "gauge",
87256
- unit: "%",
87257
- deadband: 2
87258
- },
87259
- "dirtyWater.level": {
87260
- kind: "gauge",
87261
- unit: "%",
87262
- deadband: 2
87263
- },
87264
- "detergent.level": {
87265
- kind: "gauge",
87266
- unit: "%",
87267
- deadband: 2
87268
- },
87269
- "dustBin.level": {
87270
- kind: "gauge",
87271
- unit: "%",
87272
- deadband: 2
87273
- }
87274
- },
87363
+ "vacuum-control": { "batteryLevel": {
87364
+ kind: "gauge",
87365
+ unit: "%",
87366
+ deadband: 2
87367
+ } },
87275
87368
  "valve": { "position": {
87276
87369
  kind: "gauge",
87277
87370
  unit: "%",
@@ -87313,6 +87406,41 @@ var HISTORY_CATALOG = {
87313
87406
  }
87314
87407
  }
87315
87408
  };
87409
+ /**
87410
+ * Keyed-array series (D917), projected from every `history.items` block:
87411
+ * 1 caps (3 item fields). The item key is the series SCOPE;
87412
+ * the series key is `cap:<capName>.<path>[].<field>`.
87413
+ */
87414
+ var HISTORY_ITEM_CATALOG = { "consumables": {
87415
+ path: "items",
87416
+ key: "key",
87417
+ label: "label",
87418
+ fields: {
87419
+ "level": {
87420
+ kind: "gauge",
87421
+ unit: "%",
87422
+ deadband: 2,
87423
+ displayName: "Level"
87424
+ },
87425
+ "status": {
87426
+ kind: "enum",
87427
+ displayName: "Status",
87428
+ values: [
87429
+ "ok",
87430
+ "low",
87431
+ "empty",
87432
+ "full",
87433
+ "replace"
87434
+ ]
87435
+ },
87436
+ "remaining.value": {
87437
+ kind: "gauge",
87438
+ unitFrom: "remaining.unit",
87439
+ deadband: 1,
87440
+ displayName: "Remaining"
87441
+ }
87442
+ }
87443
+ } };
87316
87444
  var G711_SCALE_CORRECTION_DB = {
87317
87445
  PCMU: 20 * Math.log10(4),
87318
87446
  PCMA: 20 * Math.log10(8)
@@ -87915,7 +88043,7 @@ var STATE_SUMMARY_VARS = [
87915
88043
  ([...RULE_TEXT], [...COMBINED_ALARM]),
87916
88044
  ([...RULE_TEXT], [...DEVICE_EVENTS]),
87917
88045
  ([...RULE_TEXT], [...BATTERY, ...CONSUMABLE]),
87918
- ([...RULE_TEXT], [...CONSUMABLE]),
88046
+ ([...RULE_TEXT], [...CONSUMABLE, ...TANK]),
87919
88047
  ([...RULE_TEXT], [...TANK]),
87920
88048
  [...RULE_TEXT],
87921
88049
  ([...RULE_TEXT], [...UPDATES, ...ALERT_EPISODE]),
@@ -89007,4 +89135,4 @@ function armRemovalReconcile(opts) {
89007
89135
  return () => clearInterval(timer);
89008
89136
  }
89009
89137
  //#endregion
89010
- export { PreferenceNamespaceSchema as $, isKeychainStoredField as $i, procedureAuthKey as $n, BaseAddon as $r, deviceHistoryCapability as $t, DEVICE_SAN_USER_PREFIX as A, UnknownRecordKindError as Ai, keychainCapability as An, userManagementCapability as Ar, buildStreamParamsConfigSchema as At, HUB_MDNS_SERVICE_TYPE as B, collectSecretMarkerRefs as Bi, mayWriteToLocation as Bn, composedDeviceRef as Br, coreBlockIdFromAddonId as Bt, DATA_STORE_DATABASES as C, userError as Ca, RecordTooLargeError as Ci, isCredentialTokenPayload as Cn, storageCapability as Cr, authProviderCapability as Ct, DEVICE_HISTORY_ENERGY_KEY as D, StoredRecordKindDeclarationSchema as Di, isVoidInput as Dn, streamCatalogCapability as Dr, buildCapabilityLookup as Dt, DEVICE_ENROLLMENT_TTL_MS as E, SECRET_CLEAR as Ei, isObjectInput as En, storageProviderCapability as Er, batteryCapability as Et, DeviceTombstoneSchema as F, assertTransactScope as Fi, locationIconKey as Fn, vectorStoreCapability as Fr, composerCapability as Ft, LOG_LEVEL_RANK as G, defineRecordKinds as Gi, normalizeCoreBlockWrite as Gn, compositionSourceKey as Gr, databaseSnapshotCapability as Gt, KEYCHAIN_RESET_TRIGGER_ACTOR as H, createEvent as Hi, metricsProviderCapability as Hn, compositionFeatureEnabled as Hr, coreBlocksCapability as Ht, FIRST_LEVEL_MACRO_CLASSES as I, assertValidDeclaration as Ii, logDestinationCapability as In, withLocationMode as Ir, compositionFieldKey as It, MINUTES_PER_DAY as J, expandCapMethods as Ji, objectInputDeclaresRequiredDeviceId as Jn, toExpressionValue as Jr, defineExtensionSlotProvider as Jt, LegacyStorageLocationDefaultSchema as K, emitDownForOwnedCaps as Ki, normalizeUnit as Kn, createStatefulExpressionMemory as Kr, declarationOwnerNodeId as Kt, FieldClaimModeSchema as L, buildSecretRef as Li, logLevelAtMost as Ln, COMPOSER_ADDON_ID as Lr, compositionSourceRefs as Lt, DataStoreDatabaseSchema as M, asJsonObject as Mi, legacyModeOf as Mn, validateCustomAddress as Mr, cameraGridLayoutCapability as Mt, DeclaredDevices as N, asNumber as Ni, lifecycleJobSchema as Nn, vectorDimFromBase64 as Nr, canonicalIconKey as Nt, DEVICE_NONCE_TTL_MS as O, TransactRefusedError as Oi, kebabToCamel as On, streamQualityLabel as Or, buildDeviceEnrollmentLink as Ot, DeviceStatusSchema as P, asString$1 as Pi, localNetworkCapability as Pn, vectorIndexDimConflictError as Pr, checkRoleAddress as Pt, PreferenceDeviceIdSchema as Q, isEvent as Qi, platformProbeCapability as Qn, errMsg as Qr, deviceExtensionCapability as Qt, FieldClaimSchema as R, collectSecretConfigKeys as Ri, looseSchema as Rn, buildFfmpegArgs as Rr, coreBlockAddonId as Rt, DATABASE_SNAPSHOT_TIMEOUT_MS as S, transformSecretWrite as Sa, RecordNotFoundError as Si, isCollectionArrayMethod as Sn, storageAdminCapability as Sr, armRemovalReconcile as St, DERIVED_CAMERA_SILENCED_CAP_NAMES as T, EventCategory as Ta, RevConflictError as Ti, isLocationEnabled as Tn, storageOccupancyCapability as Tr, bareAddonId as Tt, KeychainAuditEntrySchema as U, customAction as Ui, modeMayWrite as Un, compositionItemFieldPath as Ur, createDeviceExtensionProvider as Ut, HUB_MDNS_TXT_KEYS as V, collectZodSecretPaths as Vi, memoizePinnedFfmpeg as Vn, composedDeviceStableId as Vr, coreBlockSourceKind as Vt, KeychainResetRecordSchema as W, defineCustomActions as Wi, motionCapability as Wn, compositionSliceKey as Wr, dataStoreProviderCapability as Wt, NetworkTunnelStartedDataSchema as X, hydrateSchema as Xi, pickAppLinkHub as Xn, DeviceRole as Xr, describeComposableCaps as Xt, MOTION_CLOSE_AFTER_MS as Y, formatSecretScope as Yi, parseStreamParamsFormPatch as Yn, DeviceFeature as Yr, deriveBatteryPresence as Yt, PREFERENCES_MAX_VALUE_BYTES as Z, isDeviceConfigCap as Zi, planComposition as Zn, DeviceType as Zr, deviceCredentialsCapability as Zt, CatalogFileSchema as _, secretTreeFromPaths as _a, REMOVE_LEAF as _i, interpolate as _n, settingsStoreCapability as _r, addonSettingsCapability as _t, BaseDevice as a, mapSecretLeaves as aa, DeclarationRefusedError as ai, enumerateItemArrayFields as an, resolveAppConnections as ar, STREAM_PROFILE_META as at, DATABASE_SNAPSHOT_PARTIAL_SUFFIX as b, toNodeId as ba, ReadinessTimeoutError as bi, isAppLinkBase as bn, snapshotCapability as br, alertEpisodePayload as bt, CAMSTACK_APP_LINK_ORIGIN as c, normalizeSecretOwner as ca, HISTORY_DEFAULT_MIN_INTERVAL_MS as ci, evictionPolicyOfLocation as cn, resolveCoreBlockFiles as cr, SsoBridgeClaimsSchema as ct, COMPOSED_ITEM_FIXED_FIELDS as d, parseSecretRef as da, PlaintextSecretError as di, extractNestedAddonId as dn, resolveMethodAuth as dr, StorageLocationTypeSchema as dt, isSecretClear as ea, BatchTooLargeError as ei, deviceManagerCapability as en, ptzAutotrackCapability as er, PreferenceValueSchema as et, COMPOSER_RUNNER_ID as f, readinessKey as fa, RECORD_BATCH_MAX as fi, filesystemBrowseCapability as fn, resolveNotificationTapAddress as fr, StorageMigrationJobSchema as ft, CalendarPreferencesSchema as g, scopeKey as ga, REDACTED_SECRET as gi, gbToBytes as gn, scoreRuntimes as gr, addonPagesCapability as gt, CREDENTIAL_TOKEN_AUDIENCE as h, resolveSecretMarkers as ha, RECORD_SWEEP_INTERVAL_MS as hi, formatMinutes as hn, scopesAllowDeviceCap as hr, UserRecordSchema as ht, AlertSchema as i, makeSecretMarker as ia, DEVICE_STATUS_METHOD as ii, enumerateInferenceDevices as in, replacedFieldKeys as ir, STORAGE_ACCESS_FALLBACK as it, DEVICE_TOMBSTONE_RETENTION_MS as j, WELL_KNOWN_TAB_MAP as ji, legacyAutoLinkIds as jn, validateComposition as jr, calendarsCapability as jt, DEVICE_SAN_CREDENTIAL_PREFIX as k, UnindexedFilterError as ki, keychainAdminCapability as kn, supportedRuntimes as kr, buildDeviceSignatureMessage as kt, CAP_NAMES_WITH_STATUS as l, parseJsonObject as la, InvalidRecordError as li, expandContainer as ln, resolveHubAddressRoles as lr, StorageCleanupJobSchema as lt, CORE_BLOCK_ADDON_PREFIX as m, resolveCapMount as ma, RECORD_DELETE_BATCH as mi, formatDeviceRevoker as mn, scopesAllowAddon as mr, UNATTRIBUTED_BUCKET_KEY as mt, AGENT_MDNS_TXT_KEYS as n, isSecretMarkerLike as na, DATAPLANE_SECRET_HEADER as ni, deviceStateCapability as nn, recordsCapability as nr, ROOT_BUCKET_KEY as nt, BatteryStatusSchema as o, nodePin as oa, FilterRequiredError as oi, enumerateSchemaFields as on, resolveBucketMs as or, ScopedTokenSchema as ot, CORE_BLOCKS_ADDON_ID as p, recordSecretRef as pa, RECORD_BATCH_MAX_BYTES as pi, foldSnapshotByFunction as pn, runtimeStatePolicyFor as pr, TokenScopeSchema as pt, METHOD_ACCESS_MAP as q, emitReadiness as qi, objectInputDeclaresAddonId as qn, disarmRoseMemory as qr, decodeVectorBase64 as qt, ALL_CAPABILITY_DEFINITIONS as r, isSecretRefOwnedBy as ra, DEVICE_SETTINGS_CONTRIBUTION_METHODS as ri, deviceStatusCapability as rn, reducePoints as rr, RecordingStatusSchema as rt, CAMERA_SWITCH_ORDER as s, normalizeNodeId as sa, ForeignSecretMarkerError as si, evaluateCompositionField as sn, resolveCoreBlockEntry as sr, ServerNameSchema as st, AGENT_MDNS_SERVICE_TYPE as t, isSecretMarker as ta, CALLER_STAMPED_CAPABILITIES as ti, deviceRemovalHookCapability as tn, recordEntriesCapability as tr, RECORDING_SOURCE_CAMSTACK_ADDON as tt, CATALOG_LANGS as u, parseJsonUnknown as ua, NoCallerError as ui, expressionContainsBuiltinCall as un, resolveLocationMode as ur, StorageLocationModeSchema as ut, CoreBlockSchema as v, secretTreeFromSchema as va, RUNTIME_DEFAULTS as vi, isAlertEpisodeOpen as vn, shortHostname as vr, addonWidgetsCapability as vt, DAY_NAMES as w, withoutCallerStamp as wa, RecordUniqueViolationError as wi, isDefaultAppConnectionEndpoint as wn, storageMigrationCapability as wr, backupCapability as wt, DATABASE_SNAPSHOT_SUFFIX as x, toSecretFieldView as xa, RecordKindDeclarationSchema as xi, isArrayOutputSchema as xn, splitTranslationRef as xr, alertsCapability as xt, CredentialTokenClaimsSchema as y, sleep as ya, ReadinessRegistry as yi, isAlertEpisodeSeverity as yn, siteZoneKey as yr, alertEpisodeId as yt, HISTORY_CATALOG as z, collectSecretLeaves as zi, mayReadLocation as zn, cloneStatefulExpressionMemory as zr, coreBlockComposition as zt };
89138
+ export { PreferenceDeviceIdSchema as $, isDeviceConfigCap as $i, platformProbeCapability as $n, errMsg as $r, deviceExtensionCapability as $t, DEVICE_SAN_USER_PREFIX as A, UnindexedFilterError as Ai, keychainAdminCapability as An, supportedRuntimes as Ar, buildDeviceSignatureMessage as At, HISTORY_ITEM_CATALOG as B, collectSecretLeaves as Bi, mayReadLocation as Bn, cloneStatefulExpressionMemory as Br, coreBlockComposition as Bt, DATA_STORE_DATABASES as C, toSecretFieldView as Ca, RecordNotFoundError as Ci, isCollectionArrayMethod as Cn, storageAdminCapability as Cr, armRemovalReconcile as Ct, DEVICE_HISTORY_ENERGY_KEY as D, EventCategory as Da, SECRET_CLEAR as Di, isObjectInput as Dn, storageProviderCapability as Dr, batteryCapability as Dt, DEVICE_ENROLLMENT_TTL_MS as E, withoutCallerStamp as Ea, RevConflictError as Ei, isLocationEnabled as En, storageOccupancyCapability as Er, bareAddonId as Et, DeviceTombstoneSchema as F, asString$1 as Fi, localNetworkCapability as Fn, vectorIndexDimConflictError as Fr, checkRoleAddress as Ft, KeychainResetRecordSchema as G, defineCustomActions as Gi, motionCapability as Gn, compositionSliceKey as Gr, dataStoreProviderCapability as Gt, HUB_MDNS_TXT_KEYS as H, collectZodSecretPaths as Hi, memoizePinnedFfmpeg as Hn, composedDeviceStableId as Hr, coreBlockSourceKind as Ht, FIRST_LEVEL_MACRO_CLASSES as I, assertTransactScope as Ii, locationIconKey as In, vectorStoreCapability as Ir, composerCapability as It, METHOD_ACCESS_MAP as J, emitReadiness as Ji, objectInputDeclaresAddonId as Jn, disarmRoseMemory as Jr, decodeVectorBase64 as Jt, LOG_LEVEL_RANK as K, defineRecordKinds as Ki, normalizeCoreBlockWrite as Kn, compositionSourceKey as Kr, databaseSnapshotCapability as Kt, FieldClaimModeSchema as L, assertValidDeclaration as Li, logDestinationCapability as Ln, withLocationMode as Lr, compositionFieldKey as Lt, DataStoreDatabaseSchema as M, WELL_KNOWN_TAB_MAP as Mi, legacyAutoLinkIds as Mn, validateComposition as Mr, calendarsCapability as Mt, DeclaredDevices as N, asJsonObject as Ni, legacyModeOf as Nn, validateCustomAddress as Nr, cameraGridLayoutCapability as Nt, DEVICE_NONCE_TTL_MS as O, StoredRecordKindDeclarationSchema as Oi, isVoidInput as On, streamCatalogCapability as Or, buildCapabilityLookup as Ot, DeviceStatusSchema as P, asNumber as Pi, lifecycleJobSchema as Pn, vectorDimFromBase64 as Pr, canonicalIconKey as Pt, PREFERENCES_MAX_VALUE_BYTES as Q, hydrateSchema as Qi, planComposition as Qn, DeviceType as Qr, deviceCredentialsCapability as Qt, FieldClaimSchema as R, buildSecretRef as Ri, logLevelAtMost as Rn, COMPOSER_ADDON_ID as Rr, compositionSourceRefs as Rt, DATABASE_SNAPSHOT_TIMEOUT_MS as S, toNodeId as Sa, RecordKindDeclarationSchema as Si, isArrayOutputSchema as Sn, splitTranslationRef as Sr, alertsCapability as St, DERIVED_CAMERA_SILENCED_CAP_NAMES as T, userError as Ta, RecordUniqueViolationError as Ti, isDefaultAppConnectionEndpoint as Tn, storageMigrationCapability as Tr, backupCapability as Tt, KEYCHAIN_RESET_TRIGGER_ACTOR as U, createEvent as Ui, metricsProviderCapability as Un, compositionFeatureEnabled as Ur, coreBlocksCapability as Ut, HUB_MDNS_SERVICE_TYPE as V, collectSecretMarkerRefs as Vi, mayWriteToLocation as Vn, composedDeviceRef as Vr, coreBlockIdFromAddonId as Vt, KeychainAuditEntrySchema as W, customAction as Wi, modeMayWrite as Wn, compositionItemFieldPath as Wr, createDeviceExtensionProvider as Wt, MOTION_CLOSE_AFTER_MS as X, formatSecretScope as Xi, parseStreamParamsFormPatch as Xn, DeviceFeature as Xr, deriveBatteryPresence as Xt, MINUTES_PER_DAY as Y, expandCapMethods as Yi, objectInputDeclaresRequiredDeviceId as Yn, toExpressionValue as Yr, defineExtensionSlotProvider as Yt, NetworkTunnelStartedDataSchema as Z, historyItemFieldPath as Zi, pickAppLinkHub as Zn, DeviceRole as Zr, describeComposableCaps as Zt, CatalogFileSchema as _, resolveSecretMarkers as _a, REDACTED_SECRET as _i, gbToBytes as _n, scoreRuntimes as _r, addonPagesCapability as _t, BaseDevice as a, isSecretRefOwnedBy as aa, DEVICE_STATUS_METHOD as ai, enumerateInferenceDevices as an, replacedFieldKeys as ar, STORAGE_ACCESS_FALLBACK as at, DATABASE_SNAPSHOT_PARTIAL_SUFFIX as b, secretTreeFromSchema as ba, ReadinessRegistry as bi, isAlertEpisodeSeverity as bn, siteZoneKey as br, alertEpisodeId as bt, CAMSTACK_APP_LINK_ORIGIN as c, nodePin as ca, ForeignSecretMarkerError as ci, evaluateCompositionField as cn, resolveCoreBlockEntry as cr, ServerNameSchema as ct, COMPOSED_ITEM_FIXED_FIELDS as d, parseJsonObject as da, NoCallerError as di, expressionContainsBuiltinCall as dn, resolveLocationMode as dr, StorageLocationModeSchema as dt, isEvent as ea, BaseAddon as ei, deviceHistoryCapability as en, procedureAuthKey as er, PreferenceNamespaceSchema as et, COMPOSER_RUNNER_ID as f, parseJsonUnknown as fa, PlaintextSecretError as fi, extractNestedAddonId as fn, resolveMethodAuth as fr, StorageLocationTypeSchema as ft, CalendarPreferencesSchema as g, resolveCapMount as ga, RECORD_SWEEP_INTERVAL_MS as gi, formatMinutes as gn, scopesAllowDeviceCap as gr, UserRecordSchema as gt, CREDENTIAL_TOKEN_AUDIENCE as h, recordSecretRef as ha, RECORD_DELETE_BATCH as hi, formatDeviceRevoker as hn, scopesAllowAddon as hr, UNATTRIBUTED_BUCKET_KEY as ht, AlertSchema as i, isSecretMarkerLike as ia, DEVICE_SETTINGS_CONTRIBUTION_METHODS as ii, deviceStatusCapability as in, reducePoints as ir, RecordingStatusSchema as it, DEVICE_TOMBSTONE_RETENTION_MS as j, UnknownRecordKindError as ji, keychainCapability as jn, userManagementCapability as jr, buildStreamParamsConfigSchema as jt, DEVICE_SAN_CREDENTIAL_PREFIX as k, TransactRefusedError as ki, kebabToCamel as kn, streamQualityLabel as kr, buildDeviceEnrollmentLink as kt, CAP_NAMES_WITH_STATUS as l, normalizeNodeId as la, HISTORY_DEFAULT_MIN_INTERVAL_MS as li, evictionPolicyOfLocation as ln, resolveCoreBlockFiles as lr, SsoBridgeClaimsSchema as lt, CORE_BLOCK_ADDON_PREFIX as m, readinessKey as ma, RECORD_BATCH_MAX_BYTES as mi, foldSnapshotByFunction as mn, runtimeStatePolicyFor as mr, TokenScopeSchema as mt, AGENT_MDNS_TXT_KEYS as n, isSecretClear as na, CALLER_STAMPED_CAPABILITIES as ni, deviceRemovalHookCapability as nn, recordEntriesCapability as nr, RECORDING_SOURCE_CAMSTACK_ADDON as nt, BatteryStatusSchema as o, makeSecretMarker as oa, DeclarationRefusedError as oi, enumerateItemArrayFields as on, resolveAppConnections as or, STREAM_PROFILE_META as ot, CORE_BLOCKS_ADDON_ID as p, parseSecretRef as pa, RECORD_BATCH_MAX as pi, filesystemBrowseCapability as pn, resolveNotificationTapAddress as pr, StorageMigrationJobSchema as pt, LegacyStorageLocationDefaultSchema as q, emitDownForOwnedCaps as qi, normalizeUnit as qn, createStatefulExpressionMemory as qr, declarationOwnerNodeId as qt, ALL_CAPABILITY_DEFINITIONS as r, isSecretMarker as ra, DATAPLANE_SECRET_HEADER as ri, deviceStateCapability as rn, recordsCapability as rr, ROOT_BUCKET_KEY as rt, CAMERA_SWITCH_ORDER as s, mapSecretLeaves as sa, FilterRequiredError as si, enumerateSchemaFields as sn, resolveBucketMs as sr, ScopedTokenSchema as st, AGENT_MDNS_SERVICE_TYPE as t, isKeychainStoredField as ta, BatchTooLargeError as ti, deviceManagerCapability as tn, ptzAutotrackCapability as tr, PreferenceValueSchema as tt, CATALOG_LANGS as u, normalizeSecretOwner as ua, InvalidRecordError as ui, expandContainer as un, resolveHubAddressRoles as ur, StorageCleanupJobSchema as ut, CoreBlockSchema as v, scopeKey as va, REMOVE_LEAF as vi, interpolate as vn, settingsStoreCapability as vr, addonSettingsCapability as vt, DAY_NAMES as w, transformSecretWrite as wa, RecordTooLargeError as wi, isCredentialTokenPayload as wn, storageCapability as wr, authProviderCapability as wt, DATABASE_SNAPSHOT_SUFFIX as x, sleep as xa, ReadinessTimeoutError as xi, isAppLinkBase as xn, snapshotCapability as xr, alertEpisodePayload as xt, CredentialTokenClaimsSchema as y, secretTreeFromPaths as ya, RUNTIME_DEFAULTS as yi, isAlertEpisodeOpen as yn, shortHostname as yr, addonWidgetsCapability as yt, HISTORY_CATALOG as z, collectSecretConfigKeys as zi, looseSchema as zn, buildFfmpegArgs as zr, coreBlockAddonId as zt };