@camstack/system 1.2.468 → 1.2.470

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 (94) hide show
  1. package/dist/addon-runner.js +56 -25
  2. package/dist/addon-runner.mjs +56 -25
  3. package/dist/{agent-https-DJ8OzQOr.js → agent-https-D_oo3PNv.js} +1 -1
  4. package/dist/{agent-https-DR1wmhYY.mjs → agent-https-DmNQyAl7.mjs} +1 -1
  5. package/dist/builtins/addon-pages-aggregator/addon-pages-aggregator.addon.js +1 -1
  6. package/dist/builtins/addon-pages-aggregator/addon-pages-aggregator.addon.mjs +1 -1
  7. package/dist/builtins/addon-widgets-aggregator/addon-widgets-aggregator.addon.js +1 -1
  8. package/dist/builtins/addon-widgets-aggregator/addon-widgets-aggregator.addon.mjs +1 -1
  9. package/dist/builtins/alerts/alerts.addon.js +1 -1
  10. package/dist/builtins/alerts/alerts.addon.mjs +1 -1
  11. package/dist/builtins/autotrack/index.js +1 -1
  12. package/dist/builtins/autotrack/index.mjs +1 -1
  13. package/dist/builtins/backup-orchestrator/backup-orchestrator.addon.js +2 -2
  14. package/dist/builtins/backup-orchestrator/backup-orchestrator.addon.mjs +2 -2
  15. package/dist/builtins/calendars/calendars.addon.js +1 -1
  16. package/dist/builtins/calendars/calendars.addon.mjs +1 -1
  17. package/dist/builtins/camera-grid/index.js +1 -1
  18. package/dist/builtins/camera-grid/index.mjs +1 -1
  19. package/dist/builtins/composer/composer.addon.js +2 -2
  20. package/dist/builtins/composer/composer.addon.mjs +2 -2
  21. package/dist/builtins/console-logging/index.js +1 -1
  22. package/dist/builtins/console-logging/index.mjs +1 -1
  23. package/dist/builtins/core-blocks/core-blocks.addon.js +2 -2
  24. package/dist/builtins/core-blocks/core-blocks.addon.mjs +2 -2
  25. package/dist/builtins/device-history/capture/capture-engine.d.ts +24 -4
  26. package/dist/builtins/device-history/device-history.addon.js +319 -44
  27. package/dist/builtins/device-history/device-history.addon.mjs +319 -44
  28. package/dist/builtins/device-history/query/history-query.d.ts +19 -2
  29. package/dist/builtins/device-history/retention/orphans.d.ts +50 -0
  30. package/dist/builtins/device-history/retention/retention.d.ts +9 -2
  31. package/dist/builtins/device-history/runtime/history-runtime.d.ts +10 -2
  32. package/dist/builtins/device-history/store/history-store.d.ts +5 -0
  33. package/dist/builtins/device-manager/device-manager.addon.js +2 -2
  34. package/dist/builtins/device-manager/device-manager.addon.mjs +2 -2
  35. package/dist/builtins/device-manager/device-meta-types.d.ts +2 -2
  36. package/dist/builtins/hub-forwarder/index.js +1 -1
  37. package/dist/builtins/hub-forwarder/index.mjs +1 -1
  38. package/dist/builtins/keychain/index.js +3 -3
  39. package/dist/builtins/keychain/index.mjs +3 -3
  40. package/dist/builtins/liveness-monitor/liveness-monitor.addon.js +1 -1
  41. package/dist/builtins/liveness-monitor/liveness-monitor.addon.mjs +1 -1
  42. package/dist/builtins/local-auth/local-auth.addon.js +2 -2
  43. package/dist/builtins/local-auth/local-auth.addon.mjs +2 -2
  44. package/dist/builtins/local-network/local-network.addon.js +2 -2
  45. package/dist/builtins/local-network/local-network.addon.mjs +2 -2
  46. package/dist/builtins/loki-logging/index.js +1 -1
  47. package/dist/builtins/loki-logging/index.mjs +1 -1
  48. package/dist/builtins/native-metrics/native-metrics.addon.js +1 -1
  49. package/dist/builtins/native-metrics/native-metrics.addon.mjs +1 -1
  50. package/dist/builtins/platform-probe/accelerator-reprobe.d.ts +23 -0
  51. package/dist/builtins/platform-probe/coral-accelerators.d.ts +37 -8
  52. package/dist/builtins/platform-probe/index.d.ts +17 -1
  53. package/dist/builtins/platform-probe/index.js +192 -11
  54. package/dist/builtins/platform-probe/index.mjs +192 -12
  55. package/dist/builtins/platform-probe/platform-scorer.d.ts +14 -0
  56. package/dist/builtins/record-entries/index.js +1 -1
  57. package/dist/builtins/record-entries/index.mjs +1 -1
  58. package/dist/builtins/remote-access-orchestrator/remote-access-orchestrator.addon.js +1 -1
  59. package/dist/builtins/remote-access-orchestrator/remote-access-orchestrator.addon.mjs +1 -1
  60. package/dist/builtins/snapshot/index.js +1 -1
  61. package/dist/builtins/snapshot/index.mjs +1 -1
  62. package/dist/builtins/sqlite-storage/filesystem-storage.addon.js +1 -1
  63. package/dist/builtins/sqlite-storage/filesystem-storage.addon.mjs +1 -1
  64. package/dist/builtins/sqlite-storage/index.js +1 -1
  65. package/dist/builtins/sqlite-storage/index.mjs +1 -1
  66. package/dist/builtins/sqlite-storage/sqlite-settings.addon.js +2 -2
  67. package/dist/builtins/sqlite-storage/sqlite-settings.addon.mjs +2 -2
  68. package/dist/builtins/storage-orchestrator/storage-orchestrator.addon.js +1 -1
  69. package/dist/builtins/storage-orchestrator/storage-orchestrator.addon.mjs +1 -1
  70. package/dist/builtins/system-config/system-config.addon.js +3 -3
  71. package/dist/builtins/system-config/system-config.addon.mjs +3 -3
  72. package/dist/builtins/winston-logging/index.js +1 -1
  73. package/dist/builtins/winston-logging/index.mjs +1 -1
  74. package/dist/{composition-sources-Qto-S6MA.mjs → composition-sources-B0tqvf0t.mjs} +1 -1
  75. package/dist/{composition-sources-5rpWQhA1.js → composition-sources-CRJffEiB.js} +1 -1
  76. package/dist/{constants-BWli8Cju.mjs → constants--A505iuO.mjs} +1 -1
  77. package/dist/{constants-CuO3rcw4.js → constants-WF1AqoKF.js} +1 -1
  78. package/dist/{coral-accelerators-oUXmmbc2.js → coral-accelerators-Cri32b7q.js} +61 -24
  79. package/dist/{coral-accelerators-D_S1Fo5h.mjs → coral-accelerators-Dl-GnMHn.mjs} +56 -25
  80. package/dist/{device-ca-C5cLlah1.mjs → device-ca-DYmToMp8.mjs} +1 -1
  81. package/dist/{device-ca-CGcaSheI.js → device-ca-R4MZZtc0.js} +1 -1
  82. package/dist/{dist-l6zKmHEb.js → dist-DRL3rEfN.js} +335 -120
  83. package/dist/{dist-BpUtAgqR.mjs → dist-X1r44BdF.mjs} +324 -121
  84. package/dist/file-host-worker.js +1 -1
  85. package/dist/file-host-worker.mjs +1 -1
  86. package/dist/{hub-mdns-ciao-0KWDyIMD.mjs → hub-mdns-ciao-CZV5Hion.mjs} +2 -2
  87. package/dist/{hub-mdns-ciao-CIno_SNn.js → hub-mdns-ciao-DUoTS6jN.js} +2 -2
  88. package/dist/index.js +8 -8
  89. package/dist/index.mjs +8 -8
  90. package/dist/{restore-archive-B71JI-sP.js → restore-archive-Df6PsOHP.js} +1 -1
  91. package/dist/{restore-archive-DKxAZ9pI.mjs → restore-archive-X0ciGMmO.mjs} +1 -1
  92. package/dist/{wal-maintenance-BXYwFecW.mjs → wal-maintenance-D6J_MmZ8.mjs} +0 -0
  93. package/dist/{wal-maintenance-B6LSQ_OZ.js → wal-maintenance-DYvzJiuK.js} +0 -0
  94. 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", [
@@ -54354,6 +54429,19 @@ var NodeInferenceDeviceSchema = z.object({
54354
54429
  /** Whether the node's live probe reports the device as usable right now. */
54355
54430
  available: z.boolean(),
54356
54431
  /**
54432
+ * Is the device on the node at all (D919)? `present` — the live probe
54433
+ * reported it; `absent` — the probe ANSWERED and did not report it, so only
54434
+ * its stored settings remain (unplugged, moved to another node): never
54435
+ * eligible, whatever its stored `enabled`, and forgettable with
54436
+ * `forgetInferenceDevice`; `unknown` — the probe did not answer, nothing is
54437
+ * claimed (D315). Optional only for an orchestrator older than the field.
54438
+ */
54439
+ presence: z.enum([
54440
+ "present",
54441
+ "absent",
54442
+ "unknown"
54443
+ ]).optional(),
54444
+ /**
54357
54445
  * Whether this device participates in dispatch. AUTO default (spec C2):
54358
54446
  * accelerators are opt-OUT (a discovered NPU/iGPU/Coral/ANE with no stored
54359
54447
  * entry is `true`); CPU is opt-IN (`false` by default — the fallback pool,
@@ -54787,6 +54875,20 @@ var pipelineOrchestratorCapability = {
54787
54875
  */
54788
54876
  getNodeInferenceDevices: method(z.object({ nodeId: z.string() }), NodeInferenceDevicesSchema),
54789
54877
  /**
54878
+ * Delete ONE stored device entry of a node — the "forget" of a device the
54879
+ * node no longer has (D919). Refused unless the node's probe ANSWERED and
54880
+ * did not report the key: a present device is switched off, not forgotten,
54881
+ * and an unreachable node proves nothing about its hardware. The rest of
54882
+ * the node's map is kept as stored.
54883
+ */
54884
+ forgetInferenceDevice: method(z.object({
54885
+ agentNodeId: z.string(),
54886
+ deviceKey: z.string()
54887
+ }), z.object({ success: z.literal(true) }), {
54888
+ kind: "mutation",
54889
+ auth: "admin"
54890
+ }),
54891
+ /**
54790
54892
  * Reset one node's pipeline to its hardware-aware defaults — the HONEST
54791
54893
  * reset (replaces the executor's legacy `resetToDefault`, which cleared a
54792
54894
  * dead persisted step-tree seed nothing in the live path read):
@@ -60958,17 +61060,69 @@ var connectivityCapability = {
60958
61060
  volatileStateFields: ["lastChangedAt"]
60959
61061
  };
60960
61062
  /**
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.
61063
+ * Generic device-consumables capability — the ONE place a device reports what
61064
+ * it uses up or fills: wear parts (vacuum filters/brushes, cartridges,
61065
+ * descaling cycles), supplies it draws from (a vacuum's clean-water tank and
61066
+ * detergent, a dishwasher's salt and rinse aid) and waste it collects (a dirty
61067
+ * water tank, a dust bin). Each item carries its remaining life or fill and an
61068
+ * optional "Replaced" reset action. Device-agnostic: any provider that knows
61069
+ * its device tracks consumables registers it; the provider names each item
61070
+ * verbatim and says which `kind` it is.
61071
+ *
61072
+ * The admin UI renders it as ONE collapsible section directly under the
61073
+ * device page's hero card (`placement: 'hero'`), for every device bound to
61074
+ * this cap — never drawn by a device type's hero card itself (D915).
60967
61075
  *
60968
61076
  * Like `childLayout`, the cap is INERT until a provider sets items: no
60969
61077
  * provider populates it by guessing (no HA inference). The UI renders a
60970
61078
  * "No consumables reported" placeholder when `items` is empty.
60971
61079
  */
61080
+ /**
61081
+ * What an item IS, which decides which direction is bad:
61082
+ * - `wear` — a part that wears out (a brush, a filter); low life is bad.
61083
+ * - `supply` — something the device draws from (clean water, detergent,
61084
+ * salt, rinse aid); low or empty is bad.
61085
+ * - `waste` — something the device fills (dirty water, a dust bin); full is
61086
+ * bad.
61087
+ * Absent = `wear`.
61088
+ */
61089
+ var ConsumableKindSchema = z.enum([
61090
+ "wear",
61091
+ "supply",
61092
+ "waste"
61093
+ ]);
61094
+ /**
61095
+ * What an item LOOKS like, which decides how a client draws it — independent
61096
+ * of `kind`, which decides which direction is bad:
61097
+ * - `part` — a part that wears (a brush, a filter, a mop pad): a wear bar,
61098
+ * remaining time and a reset.
61099
+ * - `tank` — a container of liquid (clean water, dirty water): a fill gauge.
61100
+ * - `product` — something bought and refilled (detergent, salt, rinse aid):
61101
+ * a stepped level and "refill".
61102
+ * - `bin` — a container that collects waste (a dust bin): a fill gauge
61103
+ * that warns when full.
61104
+ * Absent = derived from the kind ({@link consumableFormOf}).
61105
+ */
61106
+ var ConsumableFormSchema = z.enum([
61107
+ "part",
61108
+ "tank",
61109
+ "product",
61110
+ "bin"
61111
+ ]);
61112
+ /** The provider's own discrete verdict on an item. */
61113
+ var ConsumableStatusSchema = z.enum([
61114
+ "ok",
61115
+ "low",
61116
+ "empty",
61117
+ "full",
61118
+ "replace"
61119
+ ]);
61120
+ z.enum([
61121
+ "ok",
61122
+ "low",
61123
+ "empty",
61124
+ "full"
61125
+ ]);
60972
61126
  /** Units a remaining-life counter is reported in. Closed: the panel renders
60973
61127
  * each. */
60974
61128
  var ConsumableRemainingUnitSchema = z.enum([
@@ -60983,18 +61137,23 @@ var ConsumableRemainingSchema = z.object({
60983
61137
  unit: ConsumableRemainingUnitSchema
60984
61138
  });
60985
61139
  /** 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. */
61140
+ * life %, or fill % for a `supply` / `waste` item) or a discrete `status`
61141
+ * may be known — both may be null when a provider only knows the item
61142
+ * exists. `level` and `status` are not mutually exclusive; a provider may
61143
+ * report both. */
60989
61144
  var ConsumableItemSchema = z.object({
60990
61145
  /** Stable id, e.g. 'main-brush'. */
60991
61146
  key: z.string().min(1),
60992
61147
  /** Display name. */
60993
61148
  label: z.string().min(1),
60994
- /** Remaining life % when known (0..100). */
61149
+ /** Remaining life % (`wear`) or fill % (`supply`, `waste`) when known (0..100). */
60995
61150
  level: z.number().min(0).max(100).nullable(),
60996
- /** Discrete state when known (binary mode). */
60997
- status: z.enum(["ok", "replace"]).nullable(),
61151
+ /** The provider's discrete verdict when known (binary mode). */
61152
+ status: ConsumableStatusSchema.nullable(),
61153
+ /** What the item is — decides whether low or full is bad. Absent = `wear`. */
61154
+ kind: ConsumableKindSchema.optional(),
61155
+ /** How the item is drawn (part, tank, product, bin). Absent = derived from `kind`. */
61156
+ form: ConsumableFormSchema.optional(),
60998
61157
  /** Ms epoch of the last replace, when known. */
60999
61158
  lastResetAt: z.number().nullable(),
61000
61159
  /** Whether `reset()` is meaningful for this item. */
@@ -61017,7 +61176,7 @@ var consumablesCapability = {
61017
61176
  kind: "widget",
61018
61177
  widgetId: "host/consumables-panel",
61019
61178
  tab: "consumables",
61020
- topTab: true,
61179
+ placement: "hero",
61021
61180
  label: "Consumables",
61022
61181
  order: 5
61023
61182
  } },
@@ -61078,9 +61237,37 @@ reset: method(z.object({
61078
61237
  */
61079
61238
  durability: "restored",
61080
61239
  /**
61081
- * History (D850): none — `items` is an array keyed by runtime ids; a history path never enters it.
61240
+ * History (D850, D917): one series per (item field, item `key`) — the item key
61241
+ * is the series scope, the item `label` names it. A vacuum tank's fill, a
61242
+ * brush's remaining life and a dishwasher's salt are each recorded the moment
61243
+ * their provider reports them; an item that appears later gets its series.
61082
61244
  */
61083
- history: "none",
61245
+ history: {
61246
+ fields: {},
61247
+ items: {
61248
+ path: "items",
61249
+ key: "key",
61250
+ label: "label",
61251
+ fields: {
61252
+ level: {
61253
+ kind: "gauge",
61254
+ unit: "%",
61255
+ deadband: 2,
61256
+ displayName: "Level"
61257
+ },
61258
+ status: {
61259
+ kind: "enum",
61260
+ displayName: "Status"
61261
+ },
61262
+ "remaining.value": {
61263
+ kind: "gauge",
61264
+ unitFrom: "remaining.unit",
61265
+ deadband: 1,
61266
+ displayName: "Remaining"
61267
+ }
61268
+ }
61269
+ }
61270
+ },
61084
61271
  /** Clocks, not content: a re-read that changed no item costs no commit. */
61085
61272
  volatileStateFields: ["lastChangedAt", "lastFetchedAt"]
61086
61273
  };
@@ -61541,8 +61728,9 @@ onStatusChanged: { data: z.object({
61541
61728
  volatileStateFields: ["lastChangedAt"]
61542
61729
  };
61543
61730
  /**
61544
- * Smart-dishwasher cap — program lifecycle, door / remote-start gates,
61545
- * consumable levels (salt, rinse aid) and common program options.
61731
+ * Smart-dishwasher cap — program lifecycle, door / remote-start gates and
61732
+ * common program options. Salt and rinse aid are NOT here: they are items of
61733
+ * the device's `consumables` cap, like every other device's (D915).
61546
61734
  *
61547
61735
  * Sources: native Bosch Home Connect (`dishwasher` device type). Reusable
61548
61736
  * by any integration that exposes the same program / option surface.
@@ -61590,11 +61778,6 @@ var DishwasherAvailabilitySchema = z.enum([
61590
61778
  "offline",
61591
61779
  "description-missing"
61592
61780
  ]);
61593
- var DishwasherConsumableLevelSchema = z.enum([
61594
- "ok",
61595
- "low",
61596
- "empty"
61597
- ]);
61598
61781
  var DishwasherStatusSchema = z.object({
61599
61782
  availability: DishwasherAvailabilitySchema,
61600
61783
  /** Coarse state for compact surfaces; `unavailable` whenever the appliance state is not known. */
@@ -61627,8 +61810,6 @@ var DishwasherStatusSchema = z.object({
61627
61810
  powerOn: z.boolean().nullable(),
61628
61811
  /** The raw power state (`On`, `Off`, `Standby`, …); null when not known. */
61629
61812
  powerState: z.string().nullable(),
61630
- saltLevel: DishwasherConsumableLevelSchema.nullable(),
61631
- rinseAidLevel: DishwasherConsumableLevelSchema.nullable(),
61632
61813
  /**
61633
61814
  * True while the appliance asks for its filter to be cleaned (smart-filter, filter-system or
61634
61815
  * combined care-and-filter reminder raised); false when every such reminder reads clear; null
@@ -64838,7 +65019,7 @@ var motionTriggerCapability = {
64838
65019
  enabled: z.boolean()
64839
65020
  }), z.void(), {
64840
65021
  kind: "mutation",
64841
- auth: "admin"
65022
+ auth: "protected"
64842
65023
  }) },
64843
65024
  events: { onMotionTriggerChanged: { data: z.object({
64844
65025
  deviceId: z.number(),
@@ -65581,6 +65762,13 @@ var TopologyNodeSchema = z.object({
65581
65762
  cpuModel: z.string().nullable(),
65582
65763
  cpuCores: z.number(),
65583
65764
  memoryMB: z.number(),
65765
+ /**
65766
+ * The inference RUNTIMES installed on the node (`pythonRuntimes`: onnx,
65767
+ * openvino, edgetpu …) — not its devices. An installed runtime says nothing
65768
+ * about whether its hardware is there (a Coral delegate stays installed
65769
+ * after the stick leaves, D919); the live device set is
65770
+ * `pipelineOrchestrator.getNodeInferenceDevices`.
65771
+ */
65584
65772
  engines: z.array(z.string()).readonly(),
65585
65773
  isHub: z.boolean(),
65586
65774
  isOnline: z.boolean(),
@@ -66896,6 +67084,24 @@ var ResolvedInferenceConfigSchema = z.object({
66896
67084
  format: ModelFormatSchema,
66897
67085
  reason: z.string()
66898
67086
  });
67087
+ /**
67088
+ * The answer of an accelerator rescan (D919): the node's device list after
67089
+ * the re-probe, what changed, and the evidence that decided the Coral answer
67090
+ * (`usbBus` — could the USB bus be read at all; `decidedBy` — USB ids, the PCI
67091
+ * bus, the installed-delegate fallback, or nothing).
67092
+ */
67093
+ var AcceleratorRescanSchema = z.object({
67094
+ devices: z.array(InferenceDeviceDescriptorSchema).readonly(),
67095
+ appeared: z.array(z.string()).readonly(),
67096
+ disappeared: z.array(z.string()).readonly(),
67097
+ usbBus: z.enum(["observed", "unobservable"]),
67098
+ decidedBy: z.enum([
67099
+ "usb-ids",
67100
+ "pci",
67101
+ "delegate-fallback",
67102
+ "none"
67103
+ ])
67104
+ });
66899
67105
  var platformProbeCapability = {
66900
67106
  name: "platform-probe",
66901
67107
  scope: "system",
@@ -66904,7 +67110,18 @@ var platformProbeCapability = {
66904
67110
  getCapabilities: method(z.void(), PlatformCapabilitiesSchema),
66905
67111
  getHardware: method(z.void(), HardwareInfoSchema),
66906
67112
  resolveInferenceConfig: method(z.object({ requirements: z.array(ModelRequirementSchema).readonly() }), ResolvedInferenceConfigSchema),
66907
- resolveHwAccel: method(z.object({ prefer: HwAccelBackendInputSchema }), HwAccelResolutionSchema)
67113
+ resolveHwAccel: method(z.object({ prefer: HwAccelBackendInputSchema }), HwAccelResolutionSchema),
67114
+ /**
67115
+ * Re-probe this node's accelerators NOW (Coral USB ids + PCIe apex units;
67116
+ * `/sys` and `/dev` reads, no model load) and rebuild the device list that
67117
+ * `getCapabilities` serves. The same re-probe runs every 60 s on its own;
67118
+ * this is the operator's "rescan inference devices". Target a node with the
67119
+ * `{ nodeId }` routing input, like `getCapabilities`.
67120
+ */
67121
+ rescanAccelerators: method(z.void(), AcceleratorRescanSchema, {
67122
+ kind: "mutation",
67123
+ auth: "admin"
67124
+ })
66908
67125
  }
66909
67126
  };
66910
67127
  /**
@@ -71987,14 +72204,9 @@ var userManagementCapability = {
71987
72204
  * validates it against the vacuum's own list. `locate` triggers the
71988
72205
  * find-me chirp; `returnToBase` sends it home.
71989
72206
  *
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`.
72207
+ * Tanks (clean water, dirty water, detergent, dust bin) are NOT here: they
72208
+ * are `supply` / `waste` items of the device's `consumables` cap, like every
72209
+ * other device's consumables (D915).
71998
72210
  */
71999
72211
  var VacuumStateSchema = z.enum([
72000
72212
  "idle",
@@ -72005,23 +72217,6 @@ var VacuumStateSchema = z.enum([
72005
72217
  "drying",
72006
72218
  "error"
72007
72219
  ]);
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
72220
  var VacuumControlStatusSchema = z.object({
72026
72221
  /** Lifecycle state of the vacuum. */
72027
72222
  state: VacuumStateSchema,
@@ -72033,14 +72228,6 @@ var VacuumControlStatusSchema = z.object({
72033
72228
  fanSpeed: z.string().nullable(),
72034
72229
  /** Speed tokens the hardware accepts — drives the UI selector. */
72035
72230
  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
72231
  /** 0..100 cleaning-completion percentage of the current task, or null. */
72045
72232
  progressPercent: z.number().min(0).max(100).nullable(),
72046
72233
  /** Current error code (0 / null = no error). */
@@ -72102,35 +72289,14 @@ var vacuumControlCapability = {
72102
72289
  */
72103
72290
  durability: "session",
72104
72291
  /**
72105
- * History (D850): recorded series. Tank levels are fixed-object paths (`cleanWater.level`, ...).
72292
+ * History (D850): recorded series. The tanks moved to `consumables` (D915), whose
72293
+ * items are keyed by runtime ids and record no history.
72106
72294
  */
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
- } }
72295
+ history: { fields: { batteryLevel: {
72296
+ kind: "gauge",
72297
+ unit: "%",
72298
+ deadband: 2
72299
+ } } }
72134
72300
  };
72135
72301
  /**
72136
72302
  * Pipe / water / gas valve cap. Models HA `valve.*` entities — anything
@@ -76899,6 +77065,12 @@ var METHOD_ACCESS_MAP = Object.freeze({
76899
77065
  addonId: null,
76900
77066
  access: "create"
76901
77067
  },
77068
+ "deviceHistory.deleteOrphanSeries": {
77069
+ capName: "device-history",
77070
+ capScope: "system",
77071
+ addonId: null,
77072
+ access: "delete"
77073
+ },
76902
77074
  "deviceHistory.getDeviceEnabled": {
76903
77075
  capName: "device-history",
76904
77076
  capScope: "system",
@@ -76917,6 +77089,12 @@ var METHOD_ACCESS_MAP = Object.freeze({
76917
77089
  addonId: null,
76918
77090
  access: "view"
76919
77091
  },
77092
+ "deviceHistory.listOrphanSeries": {
77093
+ capName: "device-history",
77094
+ capScope: "system",
77095
+ addonId: null,
77096
+ access: "view"
77097
+ },
76920
77098
  "deviceHistory.listSeries": {
76921
77099
  capName: "device-history",
76922
77100
  capScope: "system",
@@ -80541,6 +80719,12 @@ var METHOD_ACCESS_MAP = Object.freeze({
80541
80719
  addonId: null,
80542
80720
  access: "delete"
80543
80721
  },
80722
+ "pipelineOrchestrator.forgetInferenceDevice": {
80723
+ capName: "pipeline-orchestrator",
80724
+ capScope: "system",
80725
+ addonId: null,
80726
+ access: "delete"
80727
+ },
80544
80728
  "pipelineOrchestrator.getAgentLoad": {
80545
80729
  capName: "pipeline-orchestrator",
80546
80730
  capScope: "system",
@@ -81117,6 +81301,12 @@ var METHOD_ACCESS_MAP = Object.freeze({
81117
81301
  addonId: null,
81118
81302
  access: "view"
81119
81303
  },
81304
+ "platformProbe.rescanAccelerators": {
81305
+ capName: "platform-probe",
81306
+ capScope: "system",
81307
+ addonId: null,
81308
+ access: "create"
81309
+ },
81120
81310
  "platformProbe.resolveHwAccel": {
81121
81311
  capName: "platform-probe",
81122
81312
  capScope: "system",
@@ -86942,7 +87132,7 @@ var SESSION_ONLY_POLICY = {
86942
87132
  };
86943
87133
  /**
86944
87134
  * Cap history catalog, projected from every `*.cap.ts` `history` block.
86945
- * 40 caps with series (77 series), 31 caps answered `'none'`.
87135
+ * 40 caps with series (73 series), 30 caps answered `'none'`.
86946
87136
  * Field keys are `runtimeState` paths (`a.b` into fixed objects only).
86947
87137
  */
86948
87138
  var HISTORY_CATALOG = {
@@ -87245,33 +87435,11 @@ var HISTORY_CATALOG = {
87245
87435
  unit: "°C",
87246
87436
  deadband: .1
87247
87437
  } },
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
- },
87438
+ "vacuum-control": { "batteryLevel": {
87439
+ kind: "gauge",
87440
+ unit: "%",
87441
+ deadband: 2
87442
+ } },
87275
87443
  "valve": { "position": {
87276
87444
  kind: "gauge",
87277
87445
  unit: "%",
@@ -87313,6 +87481,41 @@ var HISTORY_CATALOG = {
87313
87481
  }
87314
87482
  }
87315
87483
  };
87484
+ /**
87485
+ * Keyed-array series (D917), projected from every `history.items` block:
87486
+ * 1 caps (3 item fields). The item key is the series SCOPE;
87487
+ * the series key is `cap:<capName>.<path>[].<field>`.
87488
+ */
87489
+ var HISTORY_ITEM_CATALOG = { "consumables": {
87490
+ path: "items",
87491
+ key: "key",
87492
+ label: "label",
87493
+ fields: {
87494
+ "level": {
87495
+ kind: "gauge",
87496
+ unit: "%",
87497
+ deadband: 2,
87498
+ displayName: "Level"
87499
+ },
87500
+ "status": {
87501
+ kind: "enum",
87502
+ displayName: "Status",
87503
+ values: [
87504
+ "ok",
87505
+ "low",
87506
+ "empty",
87507
+ "full",
87508
+ "replace"
87509
+ ]
87510
+ },
87511
+ "remaining.value": {
87512
+ kind: "gauge",
87513
+ unitFrom: "remaining.unit",
87514
+ deadband: 1,
87515
+ displayName: "Remaining"
87516
+ }
87517
+ }
87518
+ } };
87316
87519
  var G711_SCALE_CORRECTION_DB = {
87317
87520
  PCMU: 20 * Math.log10(4),
87318
87521
  PCMA: 20 * Math.log10(8)
@@ -87915,7 +88118,7 @@ var STATE_SUMMARY_VARS = [
87915
88118
  ([...RULE_TEXT], [...COMBINED_ALARM]),
87916
88119
  ([...RULE_TEXT], [...DEVICE_EVENTS]),
87917
88120
  ([...RULE_TEXT], [...BATTERY, ...CONSUMABLE]),
87918
- ([...RULE_TEXT], [...CONSUMABLE]),
88121
+ ([...RULE_TEXT], [...CONSUMABLE, ...TANK]),
87919
88122
  ([...RULE_TEXT], [...TANK]),
87920
88123
  [...RULE_TEXT],
87921
88124
  ([...RULE_TEXT], [...UPDATES, ...ALERT_EPISODE]),
@@ -89007,4 +89210,4 @@ function armRemovalReconcile(opts) {
89007
89210
  return () => clearInterval(timer);
89008
89211
  }
89009
89212
  //#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 };
89213
+ 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 };