@camstack/addon-pipeline 1.2.618 → 1.2.619
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.
- package/dist/audio-analyzer/index.js +3 -3
- package/dist/audio-analyzer/index.mjs +3 -3
- package/dist/{custom-model-catalog-Yu1sxc4A.js → custom-model-catalog-Cn0kRD3w.js} +2 -2
- package/dist/{custom-model-catalog-BT8HKaes.mjs → custom-model-catalog-CtwTRnkw.mjs} +2 -2
- package/dist/detection-pipeline/index.js +153 -6
- package/dist/detection-pipeline/index.mjs +153 -6
- package/dist/{dist-CGDR6bSg.js → dist-CKI0TPq_.js} +151 -83
- package/dist/{dist-OImyOnr3.mjs → dist-L2gIYUSW.mjs} +151 -83
- package/dist/{model-catalogs-Cj101H8x.mjs → model-catalogs-BEL5IntY.mjs} +1 -1
- package/dist/{model-catalogs-DV562sqJ.js → model-catalogs-CvjhHSYH.js} +1 -1
- package/dist/motion-wasm/index.js +1 -1
- package/dist/motion-wasm/index.mjs +1 -1
- package/dist/{node-DciF_ZRl.mjs → node-BTcllpO8.mjs} +1 -1
- package/dist/{node-CSFdbFlw.js → node-Cl9jPP-W.js} +1 -1
- package/dist/pipeline-runner/index.js +52 -20
- package/dist/pipeline-runner/index.mjs +52 -20
- package/dist/{process-memory-DjIov9TF.mjs → process-memory-BZysh_Ow.mjs} +1 -1
- package/dist/{process-memory-CJEkTpRM.js → process-memory-oCLpTRfC.js} +1 -1
- package/dist/recorder/index.js +2 -72
- package/dist/recorder/index.mjs +2 -72
- package/dist/{segment-demux-js-BsqG99U7.js → segment-demux-js-BYhSnRdH.js} +1 -1
- package/dist/{segment-demux-js-B5PU-E-G.mjs → segment-demux-js-CRLu3mac.mjs} +1 -1
- package/dist/stream-broker/_stub.js +2 -2
- package/dist/stream-broker/{_virtual_mf-localSharedImportMap___mfe_internal__addon_stream_broker_widgets-BZysHyCo.mjs → _virtual_mf-localSharedImportMap___mfe_internal__addon_stream_broker_widgets-CUjRbxP-.mjs} +3 -3
- package/dist/stream-broker/_virtual_mf___mfe_internal__addon_stream_broker_widgets__loadShare___mf_0_camstack_mf_1_types__loadShare__.js-BaoBRCJs.mjs +26 -0
- package/dist/stream-broker/_virtual_mf___mfe_internal__addon_stream_broker_widgets__loadShare___mf_0_camstack_mf_1_ui_mf_2_library__loadShare__.js-BRT-stIJ.mjs +26 -0
- package/dist/stream-broker/demux-worker-child.js +1 -1
- package/dist/stream-broker/demux-worker-child.mjs +1 -1
- package/dist/stream-broker/{hostInit-NqO2jvV2.mjs → hostInit-DXO96V0R.mjs} +3 -3
- package/dist/stream-broker/index.js +3 -3
- package/dist/stream-broker/index.mjs +3 -3
- package/dist/stream-broker/remoteEntry.js +1 -1
- package/package.json +1 -1
- package/python/inference_pool.py +2 -0
- package/python/pool_platform.py +35 -0
- package/python/test_pool_platform.py +48 -0
- package/dist/stream-broker/_virtual_mf___mfe_internal__addon_stream_broker_widgets__loadShare___mf_0_camstack_mf_1_types__loadShare__.js-C1yyuAzs.mjs +0 -26
- package/dist/stream-broker/_virtual_mf___mfe_internal__addon_stream_broker_widgets__loadShare___mf_0_camstack_mf_1_ui_mf_2_library__loadShare__.js-TnEvW5tZ.mjs +0 -26
|
@@ -5564,7 +5564,7 @@ var ZodIssueCode = {
|
|
|
5564
5564
|
var ZodFirstPartyTypeKind;
|
|
5565
5565
|
ZodFirstPartyTypeKind || (ZodFirstPartyTypeKind = {});
|
|
5566
5566
|
//#endregion
|
|
5567
|
-
//#region ../types/dist/sleep-
|
|
5567
|
+
//#region ../types/dist/sleep-CUp20JkO.mjs
|
|
5568
5568
|
/**
|
|
5569
5569
|
* The audio chunk plane's byte format, and the ONE expansion from a coded
|
|
5570
5570
|
* window to float samples (D455).
|
|
@@ -8773,7 +8773,11 @@ var ContributionSectionSchema = object({
|
|
|
8773
8773
|
literal(4)
|
|
8774
8774
|
]).optional(),
|
|
8775
8775
|
tab: string().optional(),
|
|
8776
|
-
location: _enum([
|
|
8776
|
+
location: _enum([
|
|
8777
|
+
"settings",
|
|
8778
|
+
"top-tab",
|
|
8779
|
+
"hero"
|
|
8780
|
+
]).optional(),
|
|
8777
8781
|
order: number().optional(),
|
|
8778
8782
|
fields: array(any())
|
|
8779
8783
|
});
|
|
@@ -16072,7 +16076,11 @@ var ConfigSectionWithValuesSchema = object({
|
|
|
16072
16076
|
literal(4)
|
|
16073
16077
|
]).optional(),
|
|
16074
16078
|
tab: string().optional(),
|
|
16075
|
-
location: _enum([
|
|
16079
|
+
location: _enum([
|
|
16080
|
+
"settings",
|
|
16081
|
+
"top-tab",
|
|
16082
|
+
"hero"
|
|
16083
|
+
]).optional(),
|
|
16076
16084
|
order: number().optional(),
|
|
16077
16085
|
fields: array(any())
|
|
16078
16086
|
});
|
|
@@ -20318,6 +20326,52 @@ var TierStatusSchema = object({
|
|
|
20318
20326
|
countedAt: number().nullable()
|
|
20319
20327
|
});
|
|
20320
20328
|
/** Operator/diagnostic view: rows per tier, last runs, refusals and drops since boot. */
|
|
20329
|
+
/**
|
|
20330
|
+
* Why a series is orphan. `device-gone`: its device is absent from the
|
|
20331
|
+
* successful device listings (the departure clock). `undeclared`: its `cap:`
|
|
20332
|
+
* key is declared by no capability any more (a field a cap removed).
|
|
20333
|
+
*/
|
|
20334
|
+
var DeviceHistoryOrphanReasonSchema = _enum(["device-gone", "undeclared"]);
|
|
20335
|
+
/** Rows held per stored tier. */
|
|
20336
|
+
var TierRowsSchema = object({
|
|
20337
|
+
raw: number().int(),
|
|
20338
|
+
"5m": number().int(),
|
|
20339
|
+
"1h": number().int(),
|
|
20340
|
+
"1d": number().int()
|
|
20341
|
+
});
|
|
20342
|
+
var OrphanSeriesSchema = object({
|
|
20343
|
+
seriesId: number().int(),
|
|
20344
|
+
deviceId: number().int(),
|
|
20345
|
+
key: string(),
|
|
20346
|
+
scope: string(),
|
|
20347
|
+
/** The metric's display name; `null` when its metric row is gone too. */
|
|
20348
|
+
displayName: string().nullable(),
|
|
20349
|
+
reason: DeviceHistoryOrphanReasonSchema,
|
|
20350
|
+
/** `device-gone`: since when the device has been absent; `null` otherwise. */
|
|
20351
|
+
missingSince: number().nullable(),
|
|
20352
|
+
firstTs: number(),
|
|
20353
|
+
lastTs: number(),
|
|
20354
|
+
rows: TierRowsSchema
|
|
20355
|
+
});
|
|
20356
|
+
var DeviceHistoryOrphanDeleteRefusalSchema = _enum([
|
|
20357
|
+
"not-found",
|
|
20358
|
+
"not-orphan",
|
|
20359
|
+
"failed"
|
|
20360
|
+
]);
|
|
20361
|
+
var OrphanDeleteEntrySchema = discriminatedUnion("ok", [object({
|
|
20362
|
+
seriesId: number().int(),
|
|
20363
|
+
ok: literal(true),
|
|
20364
|
+
deleted: TierRowsSchema
|
|
20365
|
+
}), object({
|
|
20366
|
+
seriesId: number().int(),
|
|
20367
|
+
ok: literal(false),
|
|
20368
|
+
reason: DeviceHistoryOrphanDeleteRefusalSchema
|
|
20369
|
+
})]);
|
|
20370
|
+
var OrphanListSchema = object({
|
|
20371
|
+
series: array(OrphanSeriesSchema).readonly(),
|
|
20372
|
+
/** More orphans exist than {@link DEVICE_HISTORY_ORPHAN_LIST_MAX}. */
|
|
20373
|
+
truncated: boolean()
|
|
20374
|
+
});
|
|
20321
20375
|
var DeviceHistoryStatusSchema = object({
|
|
20322
20376
|
startedAt: number(),
|
|
20323
20377
|
/** The store is declared, series loaded and the first reconcile has answered. */
|
|
@@ -20415,7 +20469,10 @@ method(object({ deviceId: number().int() }), array(SeriesInfoSchema).readonly())
|
|
|
20415
20469
|
}), object({ enabled: boolean() }), {
|
|
20416
20470
|
kind: "mutation",
|
|
20417
20471
|
auth: "admin"
|
|
20418
|
-
}), method(object({}), DeviceHistoryStatusSchema, { auth: "admin" })
|
|
20472
|
+
}), method(object({}), DeviceHistoryStatusSchema, { auth: "admin" }), method(object({}), OrphanListSchema, { auth: "admin" }), method(object({ seriesIds: array(number().int()).min(1).max(50) }), object({ results: array(OrphanDeleteEntrySchema).readonly() }), {
|
|
20473
|
+
kind: "mutation",
|
|
20474
|
+
auth: "admin"
|
|
20475
|
+
});
|
|
20419
20476
|
var DeviceCaStatusSchema = discriminatedUnion("state", [
|
|
20420
20477
|
object({ state: literal("absent") }),
|
|
20421
20478
|
object({
|
|
@@ -58828,17 +58885,69 @@ object({
|
|
|
58828
58885
|
});
|
|
58829
58886
|
DeviceType.Sensor;
|
|
58830
58887
|
/**
|
|
58831
|
-
* Generic device-consumables capability —
|
|
58832
|
-
*
|
|
58833
|
-
* descaling cycles,
|
|
58834
|
-
*
|
|
58835
|
-
*
|
|
58836
|
-
*
|
|
58888
|
+
* Generic device-consumables capability — the ONE place a device reports what
|
|
58889
|
+
* it uses up or fills: wear parts (vacuum filters/brushes, cartridges,
|
|
58890
|
+
* descaling cycles), supplies it draws from (a vacuum's clean-water tank and
|
|
58891
|
+
* detergent, a dishwasher's salt and rinse aid) and waste it collects (a dirty
|
|
58892
|
+
* water tank, a dust bin). Each item carries its remaining life or fill and an
|
|
58893
|
+
* optional "Replaced" reset action. Device-agnostic: any provider that knows
|
|
58894
|
+
* its device tracks consumables registers it; the provider names each item
|
|
58895
|
+
* verbatim and says which `kind` it is.
|
|
58896
|
+
*
|
|
58897
|
+
* The admin UI renders it as ONE collapsible section directly under the
|
|
58898
|
+
* device page's hero card (`placement: 'hero'`), for every device bound to
|
|
58899
|
+
* this cap — never drawn by a device type's hero card itself (D915).
|
|
58837
58900
|
*
|
|
58838
58901
|
* Like `childLayout`, the cap is INERT until a provider sets items: no
|
|
58839
58902
|
* provider populates it by guessing (no HA inference). The UI renders a
|
|
58840
58903
|
* "No consumables reported" placeholder when `items` is empty.
|
|
58841
58904
|
*/
|
|
58905
|
+
/**
|
|
58906
|
+
* What an item IS, which decides which direction is bad:
|
|
58907
|
+
* - `wear` — a part that wears out (a brush, a filter); low life is bad.
|
|
58908
|
+
* - `supply` — something the device draws from (clean water, detergent,
|
|
58909
|
+
* salt, rinse aid); low or empty is bad.
|
|
58910
|
+
* - `waste` — something the device fills (dirty water, a dust bin); full is
|
|
58911
|
+
* bad.
|
|
58912
|
+
* Absent = `wear`.
|
|
58913
|
+
*/
|
|
58914
|
+
var ConsumableKindSchema = _enum([
|
|
58915
|
+
"wear",
|
|
58916
|
+
"supply",
|
|
58917
|
+
"waste"
|
|
58918
|
+
]);
|
|
58919
|
+
/**
|
|
58920
|
+
* What an item LOOKS like, which decides how a client draws it — independent
|
|
58921
|
+
* of `kind`, which decides which direction is bad:
|
|
58922
|
+
* - `part` — a part that wears (a brush, a filter, a mop pad): a wear bar,
|
|
58923
|
+
* remaining time and a reset.
|
|
58924
|
+
* - `tank` — a container of liquid (clean water, dirty water): a fill gauge.
|
|
58925
|
+
* - `product` — something bought and refilled (detergent, salt, rinse aid):
|
|
58926
|
+
* a stepped level and "refill".
|
|
58927
|
+
* - `bin` — a container that collects waste (a dust bin): a fill gauge
|
|
58928
|
+
* that warns when full.
|
|
58929
|
+
* Absent = derived from the kind ({@link consumableFormOf}).
|
|
58930
|
+
*/
|
|
58931
|
+
var ConsumableFormSchema = _enum([
|
|
58932
|
+
"part",
|
|
58933
|
+
"tank",
|
|
58934
|
+
"product",
|
|
58935
|
+
"bin"
|
|
58936
|
+
]);
|
|
58937
|
+
/** The provider's own discrete verdict on an item. */
|
|
58938
|
+
var ConsumableStatusSchema = _enum([
|
|
58939
|
+
"ok",
|
|
58940
|
+
"low",
|
|
58941
|
+
"empty",
|
|
58942
|
+
"full",
|
|
58943
|
+
"replace"
|
|
58944
|
+
]);
|
|
58945
|
+
_enum([
|
|
58946
|
+
"ok",
|
|
58947
|
+
"low",
|
|
58948
|
+
"empty",
|
|
58949
|
+
"full"
|
|
58950
|
+
]);
|
|
58842
58951
|
/** Units a remaining-life counter is reported in. Closed: the panel renders
|
|
58843
58952
|
* each. */
|
|
58844
58953
|
var ConsumableRemainingUnitSchema = _enum([
|
|
@@ -58858,10 +58967,14 @@ var ConsumablesStatusSchema = object({
|
|
|
58858
58967
|
key: string().min(1),
|
|
58859
58968
|
/** Display name. */
|
|
58860
58969
|
label: string().min(1),
|
|
58861
|
-
/** Remaining life % when known (0..100). */
|
|
58970
|
+
/** Remaining life % (`wear`) or fill % (`supply`, `waste`) when known (0..100). */
|
|
58862
58971
|
level: number().min(0).max(100).nullable(),
|
|
58863
|
-
/**
|
|
58864
|
-
status:
|
|
58972
|
+
/** The provider's discrete verdict when known (binary mode). */
|
|
58973
|
+
status: ConsumableStatusSchema.nullable(),
|
|
58974
|
+
/** What the item is — decides whether low or full is bad. Absent = `wear`. */
|
|
58975
|
+
kind: ConsumableKindSchema.optional(),
|
|
58976
|
+
/** How the item is drawn (part, tank, product, bin). Absent = derived from `kind`. */
|
|
58977
|
+
form: ConsumableFormSchema.optional(),
|
|
58865
58978
|
/** Ms epoch of the last replace, when known. */
|
|
58866
58979
|
lastResetAt: number().nullable(),
|
|
58867
58980
|
/** Whether `reset()` is meaningful for this item. */
|
|
@@ -59096,8 +59209,9 @@ object({
|
|
|
59096
59209
|
status: DeviceStatusSchema
|
|
59097
59210
|
});
|
|
59098
59211
|
/**
|
|
59099
|
-
* Smart-dishwasher cap — program lifecycle, door / remote-start gates
|
|
59100
|
-
*
|
|
59212
|
+
* Smart-dishwasher cap — program lifecycle, door / remote-start gates and
|
|
59213
|
+
* common program options. Salt and rinse aid are NOT here: they are items of
|
|
59214
|
+
* the device's `consumables` cap, like every other device's (D915).
|
|
59101
59215
|
*
|
|
59102
59216
|
* Sources: native Bosch Home Connect (`dishwasher` device type). Reusable
|
|
59103
59217
|
* by any integration that exposes the same program / option surface.
|
|
@@ -59145,11 +59259,6 @@ var DishwasherAvailabilitySchema = _enum([
|
|
|
59145
59259
|
"offline",
|
|
59146
59260
|
"description-missing"
|
|
59147
59261
|
]);
|
|
59148
|
-
var DishwasherConsumableLevelSchema = _enum([
|
|
59149
|
-
"ok",
|
|
59150
|
-
"low",
|
|
59151
|
-
"empty"
|
|
59152
|
-
]);
|
|
59153
59262
|
object({
|
|
59154
59263
|
availability: DishwasherAvailabilitySchema,
|
|
59155
59264
|
/** Coarse state for compact surfaces; `unavailable` whenever the appliance state is not known. */
|
|
@@ -59182,8 +59291,6 @@ object({
|
|
|
59182
59291
|
powerOn: boolean().nullable(),
|
|
59183
59292
|
/** The raw power state (`On`, `Off`, `Standby`, …); null when not known. */
|
|
59184
59293
|
powerState: string().nullable(),
|
|
59185
|
-
saltLevel: DishwasherConsumableLevelSchema.nullable(),
|
|
59186
|
-
rinseAidLevel: DishwasherConsumableLevelSchema.nullable(),
|
|
59187
59294
|
/**
|
|
59188
59295
|
* True while the appliance asks for its filter to be cleaned (smart-filter, filter-system or
|
|
59189
59296
|
* combined care-and-filter reminder raised); false when every such reminder reads clear; null
|
|
@@ -66490,60 +66597,17 @@ method(_void(), array(UserSummarySchema), { auth: "admin" }), method(CreateUserI
|
|
|
66490
66597
|
auth: "admin",
|
|
66491
66598
|
access: "delete"
|
|
66492
66599
|
});
|
|
66493
|
-
/**
|
|
66494
|
-
* Robot-vacuum cap. Models HA `vacuum.*` entities — anything with a
|
|
66495
|
-
* cleaning lifecycle plus a return-to-base / locate surface and an
|
|
66496
|
-
* optional fan-speed selector.
|
|
66497
|
-
*
|
|
66498
|
-
* State follows HA's canonical vacuum lifecycle: `idle` / `cleaning` /
|
|
66499
|
-
* `paused` / `returning` / `docked` / `error`. `batteryLevel`
|
|
66500
|
-
* (0..100) is nullable — some vacuums don't report a battery
|
|
66501
|
-
* percentage. `fanSpeed` is the current speed token (provider-verbatim,
|
|
66502
|
-
* e.g. `'standard'` / `'turbo'`) and `availableFanSpeeds` lists the
|
|
66503
|
-
* tokens the hardware accepts so the UI renders only supported choices.
|
|
66504
|
-
*
|
|
66505
|
-
* The `setFanSpeed` method takes the bare `speed` token — the provider
|
|
66506
|
-
* validates it against the vacuum's own list. `locate` triggers the
|
|
66507
|
-
* find-me chirp; `returnToBase` sends it home.
|
|
66508
|
-
*
|
|
66509
|
-
* Consumable / waste tanks: `cleanWater` / `dirtyWater` / `detergent` /
|
|
66510
|
-
* `dustBin` each carry a nullable `{ level (0..100 %), status ('ok' |
|
|
66511
|
-
* 'low' | 'full') }` reading. Native providers (e.g. Dreame, Roborock)
|
|
66512
|
-
* SHOULD populate whichever tanks the hardware has — leave a field `null`
|
|
66513
|
-
* only when the device has no such tank at all, and use a `TankStatus`
|
|
66514
|
-
* with both inner fields `null` when the tank exists but its level is
|
|
66515
|
-
* currently unknown. HA `vacuum.*` entities expose no per-tank telemetry,
|
|
66516
|
-
* so the HA provider leaves all four `null`.
|
|
66517
|
-
*/
|
|
66518
|
-
var VacuumStateSchema = _enum([
|
|
66519
|
-
"idle",
|
|
66520
|
-
"cleaning",
|
|
66521
|
-
"paused",
|
|
66522
|
-
"returning",
|
|
66523
|
-
"docked",
|
|
66524
|
-
"drying",
|
|
66525
|
-
"error"
|
|
66526
|
-
]);
|
|
66527
|
-
/**
|
|
66528
|
-
* One consumable / waste tank on a robot vacuum (clean-water, dirty-water,
|
|
66529
|
-
* detergent or dust-bin). A tank can report a numeric fill `level` (0..100),
|
|
66530
|
-
* a discrete `status` (binary-style hardware), or both. Both `null` means the
|
|
66531
|
-
* level is currently unknown; the OWNING field being `null` means the
|
|
66532
|
-
* hardware has no such tank at all.
|
|
66533
|
-
*/
|
|
66534
|
-
var TankStatusSchema = object({
|
|
66535
|
-
/** Numeric fill 0..100 when the hardware reports a percentage; null otherwise. */
|
|
66536
|
-
level: number().min(0).max(100).nullable(),
|
|
66537
|
-
/** Discrete state when the hardware is binary-mode; null otherwise. */
|
|
66538
|
-
status: _enum([
|
|
66539
|
-
"ok",
|
|
66540
|
-
"low",
|
|
66541
|
-
"full"
|
|
66542
|
-
]).nullable()
|
|
66543
|
-
});
|
|
66544
66600
|
object({
|
|
66545
66601
|
/** Lifecycle state of the vacuum. */
|
|
66546
|
-
state:
|
|
66602
|
+
state: _enum([
|
|
66603
|
+
"idle",
|
|
66604
|
+
"cleaning",
|
|
66605
|
+
"paused",
|
|
66606
|
+
"returning",
|
|
66607
|
+
"docked",
|
|
66608
|
+
"drying",
|
|
66609
|
+
"error"
|
|
66610
|
+
]),
|
|
66547
66611
|
/** 0..100 battery percentage. Null when the device has no battery
|
|
66548
66612
|
* reading. */
|
|
66549
66613
|
batteryLevel: number().min(0).max(100).nullable(),
|
|
@@ -66552,14 +66616,6 @@ object({
|
|
|
66552
66616
|
fanSpeed: string().nullable(),
|
|
66553
66617
|
/** Speed tokens the hardware accepts — drives the UI selector. */
|
|
66554
66618
|
availableFanSpeeds: array(string()),
|
|
66555
|
-
/** Clean-water (mop) tank. Null when the hardware has no clean-water tank. */
|
|
66556
|
-
cleanWater: TankStatusSchema.nullable(),
|
|
66557
|
-
/** Dirty-water (recovery) tank. Null when the hardware has no dirty-water tank. */
|
|
66558
|
-
dirtyWater: TankStatusSchema.nullable(),
|
|
66559
|
-
/** Detergent tank. Null when the hardware has no detergent tank. */
|
|
66560
|
-
detergent: TankStatusSchema.nullable(),
|
|
66561
|
-
/** Dust bin. Null when the hardware has no dust bin. */
|
|
66562
|
-
dustBin: TankStatusSchema.nullable(),
|
|
66563
66619
|
/** 0..100 cleaning-completion percentage of the current task, or null. */
|
|
66564
66620
|
progressPercent: number().min(0).max(100).nullable(),
|
|
66565
66621
|
/** Current error code (0 / null = no error). */
|
|
@@ -69118,6 +69174,12 @@ Object.freeze({
|
|
|
69118
69174
|
addonId: null,
|
|
69119
69175
|
access: "create"
|
|
69120
69176
|
},
|
|
69177
|
+
"deviceHistory.deleteOrphanSeries": {
|
|
69178
|
+
capName: "device-history",
|
|
69179
|
+
capScope: "system",
|
|
69180
|
+
addonId: null,
|
|
69181
|
+
access: "delete"
|
|
69182
|
+
},
|
|
69121
69183
|
"deviceHistory.getDeviceEnabled": {
|
|
69122
69184
|
capName: "device-history",
|
|
69123
69185
|
capScope: "system",
|
|
@@ -69136,6 +69198,12 @@ Object.freeze({
|
|
|
69136
69198
|
addonId: null,
|
|
69137
69199
|
access: "view"
|
|
69138
69200
|
},
|
|
69201
|
+
"deviceHistory.listOrphanSeries": {
|
|
69202
|
+
capName: "device-history",
|
|
69203
|
+
capScope: "system",
|
|
69204
|
+
addonId: null,
|
|
69205
|
+
access: "view"
|
|
69206
|
+
},
|
|
69139
69207
|
"deviceHistory.listSeries": {
|
|
69140
69208
|
capName: "device-history",
|
|
69141
69209
|
capScope: "system",
|
|
@@ -79191,7 +79259,7 @@ var STATE_SUMMARY_VARS = [
|
|
|
79191
79259
|
([...RULE_TEXT], [...COMBINED_ALARM]),
|
|
79192
79260
|
([...RULE_TEXT], [...DEVICE_EVENTS]),
|
|
79193
79261
|
([...RULE_TEXT], [...BATTERY, ...CONSUMABLE]),
|
|
79194
|
-
([...RULE_TEXT], [...CONSUMABLE]),
|
|
79262
|
+
([...RULE_TEXT], [...CONSUMABLE, ...TANK]),
|
|
79195
79263
|
([...RULE_TEXT], [...TANK]),
|
|
79196
79264
|
[...RULE_TEXT],
|
|
79197
79265
|
([...RULE_TEXT], [...UPDATES, ...ALERT_EPISODE]),
|
|
@@ -5564,7 +5564,7 @@ var ZodIssueCode = {
|
|
|
5564
5564
|
var ZodFirstPartyTypeKind;
|
|
5565
5565
|
ZodFirstPartyTypeKind || (ZodFirstPartyTypeKind = {});
|
|
5566
5566
|
//#endregion
|
|
5567
|
-
//#region ../types/dist/sleep-
|
|
5567
|
+
//#region ../types/dist/sleep-CUp20JkO.mjs
|
|
5568
5568
|
/**
|
|
5569
5569
|
* The audio chunk plane's byte format, and the ONE expansion from a coded
|
|
5570
5570
|
* window to float samples (D455).
|
|
@@ -8773,7 +8773,11 @@ var ContributionSectionSchema = object({
|
|
|
8773
8773
|
literal(4)
|
|
8774
8774
|
]).optional(),
|
|
8775
8775
|
tab: string().optional(),
|
|
8776
|
-
location: _enum([
|
|
8776
|
+
location: _enum([
|
|
8777
|
+
"settings",
|
|
8778
|
+
"top-tab",
|
|
8779
|
+
"hero"
|
|
8780
|
+
]).optional(),
|
|
8777
8781
|
order: number().optional(),
|
|
8778
8782
|
fields: array(any())
|
|
8779
8783
|
});
|
|
@@ -16072,7 +16076,11 @@ var ConfigSectionWithValuesSchema = object({
|
|
|
16072
16076
|
literal(4)
|
|
16073
16077
|
]).optional(),
|
|
16074
16078
|
tab: string().optional(),
|
|
16075
|
-
location: _enum([
|
|
16079
|
+
location: _enum([
|
|
16080
|
+
"settings",
|
|
16081
|
+
"top-tab",
|
|
16082
|
+
"hero"
|
|
16083
|
+
]).optional(),
|
|
16076
16084
|
order: number().optional(),
|
|
16077
16085
|
fields: array(any())
|
|
16078
16086
|
});
|
|
@@ -20318,6 +20326,52 @@ var TierStatusSchema = object({
|
|
|
20318
20326
|
countedAt: number().nullable()
|
|
20319
20327
|
});
|
|
20320
20328
|
/** Operator/diagnostic view: rows per tier, last runs, refusals and drops since boot. */
|
|
20329
|
+
/**
|
|
20330
|
+
* Why a series is orphan. `device-gone`: its device is absent from the
|
|
20331
|
+
* successful device listings (the departure clock). `undeclared`: its `cap:`
|
|
20332
|
+
* key is declared by no capability any more (a field a cap removed).
|
|
20333
|
+
*/
|
|
20334
|
+
var DeviceHistoryOrphanReasonSchema = _enum(["device-gone", "undeclared"]);
|
|
20335
|
+
/** Rows held per stored tier. */
|
|
20336
|
+
var TierRowsSchema = object({
|
|
20337
|
+
raw: number().int(),
|
|
20338
|
+
"5m": number().int(),
|
|
20339
|
+
"1h": number().int(),
|
|
20340
|
+
"1d": number().int()
|
|
20341
|
+
});
|
|
20342
|
+
var OrphanSeriesSchema = object({
|
|
20343
|
+
seriesId: number().int(),
|
|
20344
|
+
deviceId: number().int(),
|
|
20345
|
+
key: string(),
|
|
20346
|
+
scope: string(),
|
|
20347
|
+
/** The metric's display name; `null` when its metric row is gone too. */
|
|
20348
|
+
displayName: string().nullable(),
|
|
20349
|
+
reason: DeviceHistoryOrphanReasonSchema,
|
|
20350
|
+
/** `device-gone`: since when the device has been absent; `null` otherwise. */
|
|
20351
|
+
missingSince: number().nullable(),
|
|
20352
|
+
firstTs: number(),
|
|
20353
|
+
lastTs: number(),
|
|
20354
|
+
rows: TierRowsSchema
|
|
20355
|
+
});
|
|
20356
|
+
var DeviceHistoryOrphanDeleteRefusalSchema = _enum([
|
|
20357
|
+
"not-found",
|
|
20358
|
+
"not-orphan",
|
|
20359
|
+
"failed"
|
|
20360
|
+
]);
|
|
20361
|
+
var OrphanDeleteEntrySchema = discriminatedUnion("ok", [object({
|
|
20362
|
+
seriesId: number().int(),
|
|
20363
|
+
ok: literal(true),
|
|
20364
|
+
deleted: TierRowsSchema
|
|
20365
|
+
}), object({
|
|
20366
|
+
seriesId: number().int(),
|
|
20367
|
+
ok: literal(false),
|
|
20368
|
+
reason: DeviceHistoryOrphanDeleteRefusalSchema
|
|
20369
|
+
})]);
|
|
20370
|
+
var OrphanListSchema = object({
|
|
20371
|
+
series: array(OrphanSeriesSchema).readonly(),
|
|
20372
|
+
/** More orphans exist than {@link DEVICE_HISTORY_ORPHAN_LIST_MAX}. */
|
|
20373
|
+
truncated: boolean()
|
|
20374
|
+
});
|
|
20321
20375
|
var DeviceHistoryStatusSchema = object({
|
|
20322
20376
|
startedAt: number(),
|
|
20323
20377
|
/** The store is declared, series loaded and the first reconcile has answered. */
|
|
@@ -20415,7 +20469,10 @@ method(object({ deviceId: number().int() }), array(SeriesInfoSchema).readonly())
|
|
|
20415
20469
|
}), object({ enabled: boolean() }), {
|
|
20416
20470
|
kind: "mutation",
|
|
20417
20471
|
auth: "admin"
|
|
20418
|
-
}), method(object({}), DeviceHistoryStatusSchema, { auth: "admin" })
|
|
20472
|
+
}), method(object({}), DeviceHistoryStatusSchema, { auth: "admin" }), method(object({}), OrphanListSchema, { auth: "admin" }), method(object({ seriesIds: array(number().int()).min(1).max(50) }), object({ results: array(OrphanDeleteEntrySchema).readonly() }), {
|
|
20473
|
+
kind: "mutation",
|
|
20474
|
+
auth: "admin"
|
|
20475
|
+
});
|
|
20419
20476
|
var DeviceCaStatusSchema = discriminatedUnion("state", [
|
|
20420
20477
|
object({ state: literal("absent") }),
|
|
20421
20478
|
object({
|
|
@@ -58828,17 +58885,69 @@ object({
|
|
|
58828
58885
|
});
|
|
58829
58886
|
DeviceType.Sensor;
|
|
58830
58887
|
/**
|
|
58831
|
-
* Generic device-consumables capability —
|
|
58832
|
-
*
|
|
58833
|
-
* descaling cycles,
|
|
58834
|
-
*
|
|
58835
|
-
*
|
|
58836
|
-
*
|
|
58888
|
+
* Generic device-consumables capability — the ONE place a device reports what
|
|
58889
|
+
* it uses up or fills: wear parts (vacuum filters/brushes, cartridges,
|
|
58890
|
+
* descaling cycles), supplies it draws from (a vacuum's clean-water tank and
|
|
58891
|
+
* detergent, a dishwasher's salt and rinse aid) and waste it collects (a dirty
|
|
58892
|
+
* water tank, a dust bin). Each item carries its remaining life or fill and an
|
|
58893
|
+
* optional "Replaced" reset action. Device-agnostic: any provider that knows
|
|
58894
|
+
* its device tracks consumables registers it; the provider names each item
|
|
58895
|
+
* verbatim and says which `kind` it is.
|
|
58896
|
+
*
|
|
58897
|
+
* The admin UI renders it as ONE collapsible section directly under the
|
|
58898
|
+
* device page's hero card (`placement: 'hero'`), for every device bound to
|
|
58899
|
+
* this cap — never drawn by a device type's hero card itself (D915).
|
|
58837
58900
|
*
|
|
58838
58901
|
* Like `childLayout`, the cap is INERT until a provider sets items: no
|
|
58839
58902
|
* provider populates it by guessing (no HA inference). The UI renders a
|
|
58840
58903
|
* "No consumables reported" placeholder when `items` is empty.
|
|
58841
58904
|
*/
|
|
58905
|
+
/**
|
|
58906
|
+
* What an item IS, which decides which direction is bad:
|
|
58907
|
+
* - `wear` — a part that wears out (a brush, a filter); low life is bad.
|
|
58908
|
+
* - `supply` — something the device draws from (clean water, detergent,
|
|
58909
|
+
* salt, rinse aid); low or empty is bad.
|
|
58910
|
+
* - `waste` — something the device fills (dirty water, a dust bin); full is
|
|
58911
|
+
* bad.
|
|
58912
|
+
* Absent = `wear`.
|
|
58913
|
+
*/
|
|
58914
|
+
var ConsumableKindSchema = _enum([
|
|
58915
|
+
"wear",
|
|
58916
|
+
"supply",
|
|
58917
|
+
"waste"
|
|
58918
|
+
]);
|
|
58919
|
+
/**
|
|
58920
|
+
* What an item LOOKS like, which decides how a client draws it — independent
|
|
58921
|
+
* of `kind`, which decides which direction is bad:
|
|
58922
|
+
* - `part` — a part that wears (a brush, a filter, a mop pad): a wear bar,
|
|
58923
|
+
* remaining time and a reset.
|
|
58924
|
+
* - `tank` — a container of liquid (clean water, dirty water): a fill gauge.
|
|
58925
|
+
* - `product` — something bought and refilled (detergent, salt, rinse aid):
|
|
58926
|
+
* a stepped level and "refill".
|
|
58927
|
+
* - `bin` — a container that collects waste (a dust bin): a fill gauge
|
|
58928
|
+
* that warns when full.
|
|
58929
|
+
* Absent = derived from the kind ({@link consumableFormOf}).
|
|
58930
|
+
*/
|
|
58931
|
+
var ConsumableFormSchema = _enum([
|
|
58932
|
+
"part",
|
|
58933
|
+
"tank",
|
|
58934
|
+
"product",
|
|
58935
|
+
"bin"
|
|
58936
|
+
]);
|
|
58937
|
+
/** The provider's own discrete verdict on an item. */
|
|
58938
|
+
var ConsumableStatusSchema = _enum([
|
|
58939
|
+
"ok",
|
|
58940
|
+
"low",
|
|
58941
|
+
"empty",
|
|
58942
|
+
"full",
|
|
58943
|
+
"replace"
|
|
58944
|
+
]);
|
|
58945
|
+
_enum([
|
|
58946
|
+
"ok",
|
|
58947
|
+
"low",
|
|
58948
|
+
"empty",
|
|
58949
|
+
"full"
|
|
58950
|
+
]);
|
|
58842
58951
|
/** Units a remaining-life counter is reported in. Closed: the panel renders
|
|
58843
58952
|
* each. */
|
|
58844
58953
|
var ConsumableRemainingUnitSchema = _enum([
|
|
@@ -58858,10 +58967,14 @@ var ConsumablesStatusSchema = object({
|
|
|
58858
58967
|
key: string().min(1),
|
|
58859
58968
|
/** Display name. */
|
|
58860
58969
|
label: string().min(1),
|
|
58861
|
-
/** Remaining life % when known (0..100). */
|
|
58970
|
+
/** Remaining life % (`wear`) or fill % (`supply`, `waste`) when known (0..100). */
|
|
58862
58971
|
level: number().min(0).max(100).nullable(),
|
|
58863
|
-
/**
|
|
58864
|
-
status:
|
|
58972
|
+
/** The provider's discrete verdict when known (binary mode). */
|
|
58973
|
+
status: ConsumableStatusSchema.nullable(),
|
|
58974
|
+
/** What the item is — decides whether low or full is bad. Absent = `wear`. */
|
|
58975
|
+
kind: ConsumableKindSchema.optional(),
|
|
58976
|
+
/** How the item is drawn (part, tank, product, bin). Absent = derived from `kind`. */
|
|
58977
|
+
form: ConsumableFormSchema.optional(),
|
|
58865
58978
|
/** Ms epoch of the last replace, when known. */
|
|
58866
58979
|
lastResetAt: number().nullable(),
|
|
58867
58980
|
/** Whether `reset()` is meaningful for this item. */
|
|
@@ -59096,8 +59209,9 @@ object({
|
|
|
59096
59209
|
status: DeviceStatusSchema
|
|
59097
59210
|
});
|
|
59098
59211
|
/**
|
|
59099
|
-
* Smart-dishwasher cap — program lifecycle, door / remote-start gates
|
|
59100
|
-
*
|
|
59212
|
+
* Smart-dishwasher cap — program lifecycle, door / remote-start gates and
|
|
59213
|
+
* common program options. Salt and rinse aid are NOT here: they are items of
|
|
59214
|
+
* the device's `consumables` cap, like every other device's (D915).
|
|
59101
59215
|
*
|
|
59102
59216
|
* Sources: native Bosch Home Connect (`dishwasher` device type). Reusable
|
|
59103
59217
|
* by any integration that exposes the same program / option surface.
|
|
@@ -59145,11 +59259,6 @@ var DishwasherAvailabilitySchema = _enum([
|
|
|
59145
59259
|
"offline",
|
|
59146
59260
|
"description-missing"
|
|
59147
59261
|
]);
|
|
59148
|
-
var DishwasherConsumableLevelSchema = _enum([
|
|
59149
|
-
"ok",
|
|
59150
|
-
"low",
|
|
59151
|
-
"empty"
|
|
59152
|
-
]);
|
|
59153
59262
|
object({
|
|
59154
59263
|
availability: DishwasherAvailabilitySchema,
|
|
59155
59264
|
/** Coarse state for compact surfaces; `unavailable` whenever the appliance state is not known. */
|
|
@@ -59182,8 +59291,6 @@ object({
|
|
|
59182
59291
|
powerOn: boolean().nullable(),
|
|
59183
59292
|
/** The raw power state (`On`, `Off`, `Standby`, …); null when not known. */
|
|
59184
59293
|
powerState: string().nullable(),
|
|
59185
|
-
saltLevel: DishwasherConsumableLevelSchema.nullable(),
|
|
59186
|
-
rinseAidLevel: DishwasherConsumableLevelSchema.nullable(),
|
|
59187
59294
|
/**
|
|
59188
59295
|
* True while the appliance asks for its filter to be cleaned (smart-filter, filter-system or
|
|
59189
59296
|
* combined care-and-filter reminder raised); false when every such reminder reads clear; null
|
|
@@ -66490,60 +66597,17 @@ method(_void(), array(UserSummarySchema), { auth: "admin" }), method(CreateUserI
|
|
|
66490
66597
|
auth: "admin",
|
|
66491
66598
|
access: "delete"
|
|
66492
66599
|
});
|
|
66493
|
-
/**
|
|
66494
|
-
* Robot-vacuum cap. Models HA `vacuum.*` entities — anything with a
|
|
66495
|
-
* cleaning lifecycle plus a return-to-base / locate surface and an
|
|
66496
|
-
* optional fan-speed selector.
|
|
66497
|
-
*
|
|
66498
|
-
* State follows HA's canonical vacuum lifecycle: `idle` / `cleaning` /
|
|
66499
|
-
* `paused` / `returning` / `docked` / `error`. `batteryLevel`
|
|
66500
|
-
* (0..100) is nullable — some vacuums don't report a battery
|
|
66501
|
-
* percentage. `fanSpeed` is the current speed token (provider-verbatim,
|
|
66502
|
-
* e.g. `'standard'` / `'turbo'`) and `availableFanSpeeds` lists the
|
|
66503
|
-
* tokens the hardware accepts so the UI renders only supported choices.
|
|
66504
|
-
*
|
|
66505
|
-
* The `setFanSpeed` method takes the bare `speed` token — the provider
|
|
66506
|
-
* validates it against the vacuum's own list. `locate` triggers the
|
|
66507
|
-
* find-me chirp; `returnToBase` sends it home.
|
|
66508
|
-
*
|
|
66509
|
-
* Consumable / waste tanks: `cleanWater` / `dirtyWater` / `detergent` /
|
|
66510
|
-
* `dustBin` each carry a nullable `{ level (0..100 %), status ('ok' |
|
|
66511
|
-
* 'low' | 'full') }` reading. Native providers (e.g. Dreame, Roborock)
|
|
66512
|
-
* SHOULD populate whichever tanks the hardware has — leave a field `null`
|
|
66513
|
-
* only when the device has no such tank at all, and use a `TankStatus`
|
|
66514
|
-
* with both inner fields `null` when the tank exists but its level is
|
|
66515
|
-
* currently unknown. HA `vacuum.*` entities expose no per-tank telemetry,
|
|
66516
|
-
* so the HA provider leaves all four `null`.
|
|
66517
|
-
*/
|
|
66518
|
-
var VacuumStateSchema = _enum([
|
|
66519
|
-
"idle",
|
|
66520
|
-
"cleaning",
|
|
66521
|
-
"paused",
|
|
66522
|
-
"returning",
|
|
66523
|
-
"docked",
|
|
66524
|
-
"drying",
|
|
66525
|
-
"error"
|
|
66526
|
-
]);
|
|
66527
|
-
/**
|
|
66528
|
-
* One consumable / waste tank on a robot vacuum (clean-water, dirty-water,
|
|
66529
|
-
* detergent or dust-bin). A tank can report a numeric fill `level` (0..100),
|
|
66530
|
-
* a discrete `status` (binary-style hardware), or both. Both `null` means the
|
|
66531
|
-
* level is currently unknown; the OWNING field being `null` means the
|
|
66532
|
-
* hardware has no such tank at all.
|
|
66533
|
-
*/
|
|
66534
|
-
var TankStatusSchema = object({
|
|
66535
|
-
/** Numeric fill 0..100 when the hardware reports a percentage; null otherwise. */
|
|
66536
|
-
level: number().min(0).max(100).nullable(),
|
|
66537
|
-
/** Discrete state when the hardware is binary-mode; null otherwise. */
|
|
66538
|
-
status: _enum([
|
|
66539
|
-
"ok",
|
|
66540
|
-
"low",
|
|
66541
|
-
"full"
|
|
66542
|
-
]).nullable()
|
|
66543
|
-
});
|
|
66544
66600
|
object({
|
|
66545
66601
|
/** Lifecycle state of the vacuum. */
|
|
66546
|
-
state:
|
|
66602
|
+
state: _enum([
|
|
66603
|
+
"idle",
|
|
66604
|
+
"cleaning",
|
|
66605
|
+
"paused",
|
|
66606
|
+
"returning",
|
|
66607
|
+
"docked",
|
|
66608
|
+
"drying",
|
|
66609
|
+
"error"
|
|
66610
|
+
]),
|
|
66547
66611
|
/** 0..100 battery percentage. Null when the device has no battery
|
|
66548
66612
|
* reading. */
|
|
66549
66613
|
batteryLevel: number().min(0).max(100).nullable(),
|
|
@@ -66552,14 +66616,6 @@ object({
|
|
|
66552
66616
|
fanSpeed: string().nullable(),
|
|
66553
66617
|
/** Speed tokens the hardware accepts — drives the UI selector. */
|
|
66554
66618
|
availableFanSpeeds: array(string()),
|
|
66555
|
-
/** Clean-water (mop) tank. Null when the hardware has no clean-water tank. */
|
|
66556
|
-
cleanWater: TankStatusSchema.nullable(),
|
|
66557
|
-
/** Dirty-water (recovery) tank. Null when the hardware has no dirty-water tank. */
|
|
66558
|
-
dirtyWater: TankStatusSchema.nullable(),
|
|
66559
|
-
/** Detergent tank. Null when the hardware has no detergent tank. */
|
|
66560
|
-
detergent: TankStatusSchema.nullable(),
|
|
66561
|
-
/** Dust bin. Null when the hardware has no dust bin. */
|
|
66562
|
-
dustBin: TankStatusSchema.nullable(),
|
|
66563
66619
|
/** 0..100 cleaning-completion percentage of the current task, or null. */
|
|
66564
66620
|
progressPercent: number().min(0).max(100).nullable(),
|
|
66565
66621
|
/** Current error code (0 / null = no error). */
|
|
@@ -69118,6 +69174,12 @@ Object.freeze({
|
|
|
69118
69174
|
addonId: null,
|
|
69119
69175
|
access: "create"
|
|
69120
69176
|
},
|
|
69177
|
+
"deviceHistory.deleteOrphanSeries": {
|
|
69178
|
+
capName: "device-history",
|
|
69179
|
+
capScope: "system",
|
|
69180
|
+
addonId: null,
|
|
69181
|
+
access: "delete"
|
|
69182
|
+
},
|
|
69121
69183
|
"deviceHistory.getDeviceEnabled": {
|
|
69122
69184
|
capName: "device-history",
|
|
69123
69185
|
capScope: "system",
|
|
@@ -69136,6 +69198,12 @@ Object.freeze({
|
|
|
69136
69198
|
addonId: null,
|
|
69137
69199
|
access: "view"
|
|
69138
69200
|
},
|
|
69201
|
+
"deviceHistory.listOrphanSeries": {
|
|
69202
|
+
capName: "device-history",
|
|
69203
|
+
capScope: "system",
|
|
69204
|
+
addonId: null,
|
|
69205
|
+
access: "view"
|
|
69206
|
+
},
|
|
69139
69207
|
"deviceHistory.listSeries": {
|
|
69140
69208
|
capName: "device-history",
|
|
69141
69209
|
capScope: "system",
|
|
@@ -79191,7 +79259,7 @@ var STATE_SUMMARY_VARS = [
|
|
|
79191
79259
|
([...RULE_TEXT], [...COMBINED_ALARM]),
|
|
79192
79260
|
([...RULE_TEXT], [...DEVICE_EVENTS]),
|
|
79193
79261
|
([...RULE_TEXT], [...BATTERY, ...CONSUMABLE]),
|
|
79194
|
-
([...RULE_TEXT], [...CONSUMABLE]),
|
|
79262
|
+
([...RULE_TEXT], [...CONSUMABLE, ...TANK]),
|
|
79195
79263
|
([...RULE_TEXT], [...TANK]),
|
|
79196
79264
|
[...RULE_TEXT],
|
|
79197
79265
|
([...RULE_TEXT], [...UPDATES, ...ALERT_EPISODE]),
|