@camstack/addon-google-services 0.2.26 → 0.2.28
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/google-services.addon.js +213 -86
- package/dist/google-services.addon.mjs +213 -86
- package/package.json +1 -1
|
@@ -5568,7 +5568,7 @@ var ZodIssueCode = {
|
|
|
5568
5568
|
var ZodFirstPartyTypeKind;
|
|
5569
5569
|
ZodFirstPartyTypeKind || (ZodFirstPartyTypeKind = {});
|
|
5570
5570
|
//#endregion
|
|
5571
|
-
//#region ../types/dist/sleep-
|
|
5571
|
+
//#region ../types/dist/sleep-CUp20JkO.mjs
|
|
5572
5572
|
/**
|
|
5573
5573
|
* The audio chunk plane's byte format, and the ONE expansion from a coded
|
|
5574
5574
|
* window to float samples (D455).
|
|
@@ -8648,7 +8648,11 @@ var ContributionSectionSchema = object({
|
|
|
8648
8648
|
literal(4)
|
|
8649
8649
|
]).optional(),
|
|
8650
8650
|
tab: string().optional(),
|
|
8651
|
-
location: _enum([
|
|
8651
|
+
location: _enum([
|
|
8652
|
+
"settings",
|
|
8653
|
+
"top-tab",
|
|
8654
|
+
"hero"
|
|
8655
|
+
]).optional(),
|
|
8652
8656
|
order: number().optional(),
|
|
8653
8657
|
fields: array(any())
|
|
8654
8658
|
});
|
|
@@ -13717,7 +13721,11 @@ var ConfigSectionWithValuesSchema = object({
|
|
|
13717
13721
|
literal(4)
|
|
13718
13722
|
]).optional(),
|
|
13719
13723
|
tab: string().optional(),
|
|
13720
|
-
location: _enum([
|
|
13724
|
+
location: _enum([
|
|
13725
|
+
"settings",
|
|
13726
|
+
"top-tab",
|
|
13727
|
+
"hero"
|
|
13728
|
+
]).optional(),
|
|
13721
13729
|
order: number().optional(),
|
|
13722
13730
|
fields: array(any())
|
|
13723
13731
|
});
|
|
@@ -17540,6 +17548,52 @@ var TierStatusSchema = object({
|
|
|
17540
17548
|
countedAt: number().nullable()
|
|
17541
17549
|
});
|
|
17542
17550
|
/** Operator/diagnostic view: rows per tier, last runs, refusals and drops since boot. */
|
|
17551
|
+
/**
|
|
17552
|
+
* Why a series is orphan. `device-gone`: its device is absent from the
|
|
17553
|
+
* successful device listings (the departure clock). `undeclared`: its `cap:`
|
|
17554
|
+
* key is declared by no capability any more (a field a cap removed).
|
|
17555
|
+
*/
|
|
17556
|
+
var DeviceHistoryOrphanReasonSchema = _enum(["device-gone", "undeclared"]);
|
|
17557
|
+
/** Rows held per stored tier. */
|
|
17558
|
+
var TierRowsSchema = object({
|
|
17559
|
+
raw: number().int(),
|
|
17560
|
+
"5m": number().int(),
|
|
17561
|
+
"1h": number().int(),
|
|
17562
|
+
"1d": number().int()
|
|
17563
|
+
});
|
|
17564
|
+
var OrphanSeriesSchema = object({
|
|
17565
|
+
seriesId: number().int(),
|
|
17566
|
+
deviceId: number().int(),
|
|
17567
|
+
key: string(),
|
|
17568
|
+
scope: string(),
|
|
17569
|
+
/** The metric's display name; `null` when its metric row is gone too. */
|
|
17570
|
+
displayName: string().nullable(),
|
|
17571
|
+
reason: DeviceHistoryOrphanReasonSchema,
|
|
17572
|
+
/** `device-gone`: since when the device has been absent; `null` otherwise. */
|
|
17573
|
+
missingSince: number().nullable(),
|
|
17574
|
+
firstTs: number(),
|
|
17575
|
+
lastTs: number(),
|
|
17576
|
+
rows: TierRowsSchema
|
|
17577
|
+
});
|
|
17578
|
+
var DeviceHistoryOrphanDeleteRefusalSchema = _enum([
|
|
17579
|
+
"not-found",
|
|
17580
|
+
"not-orphan",
|
|
17581
|
+
"failed"
|
|
17582
|
+
]);
|
|
17583
|
+
var OrphanDeleteEntrySchema = discriminatedUnion("ok", [object({
|
|
17584
|
+
seriesId: number().int(),
|
|
17585
|
+
ok: literal(true),
|
|
17586
|
+
deleted: TierRowsSchema
|
|
17587
|
+
}), object({
|
|
17588
|
+
seriesId: number().int(),
|
|
17589
|
+
ok: literal(false),
|
|
17590
|
+
reason: DeviceHistoryOrphanDeleteRefusalSchema
|
|
17591
|
+
})]);
|
|
17592
|
+
var OrphanListSchema = object({
|
|
17593
|
+
series: array(OrphanSeriesSchema).readonly(),
|
|
17594
|
+
/** More orphans exist than {@link DEVICE_HISTORY_ORPHAN_LIST_MAX}. */
|
|
17595
|
+
truncated: boolean()
|
|
17596
|
+
});
|
|
17543
17597
|
var DeviceHistoryStatusSchema = object({
|
|
17544
17598
|
startedAt: number(),
|
|
17545
17599
|
/** The store is declared, series loaded and the first reconcile has answered. */
|
|
@@ -17637,7 +17691,10 @@ method(object({ deviceId: number().int() }), array(SeriesInfoSchema).readonly())
|
|
|
17637
17691
|
}), object({ enabled: boolean() }), {
|
|
17638
17692
|
kind: "mutation",
|
|
17639
17693
|
auth: "admin"
|
|
17640
|
-
}), method(object({}), DeviceHistoryStatusSchema, { auth: "admin" })
|
|
17694
|
+
}), 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() }), {
|
|
17695
|
+
kind: "mutation",
|
|
17696
|
+
auth: "admin"
|
|
17697
|
+
});
|
|
17641
17698
|
var DeviceCaStatusSchema = discriminatedUnion("state", [
|
|
17642
17699
|
object({ state: literal("absent") }),
|
|
17643
17700
|
object({
|
|
@@ -50311,6 +50368,19 @@ var NodeInferenceDeviceSchema = object({
|
|
|
50311
50368
|
/** Whether the node's live probe reports the device as usable right now. */
|
|
50312
50369
|
available: boolean(),
|
|
50313
50370
|
/**
|
|
50371
|
+
* Is the device on the node at all (D919)? `present` — the live probe
|
|
50372
|
+
* reported it; `absent` — the probe ANSWERED and did not report it, so only
|
|
50373
|
+
* its stored settings remain (unplugged, moved to another node): never
|
|
50374
|
+
* eligible, whatever its stored `enabled`, and forgettable with
|
|
50375
|
+
* `forgetInferenceDevice`; `unknown` — the probe did not answer, nothing is
|
|
50376
|
+
* claimed (D315). Optional only for an orchestrator older than the field.
|
|
50377
|
+
*/
|
|
50378
|
+
presence: _enum([
|
|
50379
|
+
"present",
|
|
50380
|
+
"absent",
|
|
50381
|
+
"unknown"
|
|
50382
|
+
]).optional(),
|
|
50383
|
+
/**
|
|
50314
50384
|
* Whether this device participates in dispatch. AUTO default (spec C2):
|
|
50315
50385
|
* accelerators are opt-OUT (a discovered NPU/iGPU/Coral/ANE with no stored
|
|
50316
50386
|
* entry is `true`); CPU is opt-IN (`false` by default — the fallback pool,
|
|
@@ -50536,7 +50606,13 @@ method(object({
|
|
|
50536
50606
|
}), object({ success: literal(true) }), {
|
|
50537
50607
|
kind: "mutation",
|
|
50538
50608
|
auth: "admin"
|
|
50539
|
-
}), method(object({ nodeId: string() }), NodeInferenceDevicesSchema), method(object({
|
|
50609
|
+
}), method(object({ nodeId: string() }), NodeInferenceDevicesSchema), method(object({
|
|
50610
|
+
agentNodeId: string(),
|
|
50611
|
+
deviceKey: string()
|
|
50612
|
+
}), object({ success: literal(true) }), {
|
|
50613
|
+
kind: "mutation",
|
|
50614
|
+
auth: "admin"
|
|
50615
|
+
}), method(object({ agentNodeId: string() }), object({
|
|
50540
50616
|
success: literal(true),
|
|
50541
50617
|
/** Hardware-aware default detection model now in effect on the node (null when unresolvable). */
|
|
50542
50618
|
effectiveModelId: string().nullable(),
|
|
@@ -54669,17 +54745,69 @@ object({
|
|
|
54669
54745
|
});
|
|
54670
54746
|
DeviceType.Sensor;
|
|
54671
54747
|
/**
|
|
54672
|
-
* Generic device-consumables capability —
|
|
54673
|
-
*
|
|
54674
|
-
* descaling cycles,
|
|
54675
|
-
*
|
|
54676
|
-
*
|
|
54677
|
-
*
|
|
54748
|
+
* Generic device-consumables capability — the ONE place a device reports what
|
|
54749
|
+
* it uses up or fills: wear parts (vacuum filters/brushes, cartridges,
|
|
54750
|
+
* descaling cycles), supplies it draws from (a vacuum's clean-water tank and
|
|
54751
|
+
* detergent, a dishwasher's salt and rinse aid) and waste it collects (a dirty
|
|
54752
|
+
* water tank, a dust bin). Each item carries its remaining life or fill and an
|
|
54753
|
+
* optional "Replaced" reset action. Device-agnostic: any provider that knows
|
|
54754
|
+
* its device tracks consumables registers it; the provider names each item
|
|
54755
|
+
* verbatim and says which `kind` it is.
|
|
54756
|
+
*
|
|
54757
|
+
* The admin UI renders it as ONE collapsible section directly under the
|
|
54758
|
+
* device page's hero card (`placement: 'hero'`), for every device bound to
|
|
54759
|
+
* this cap — never drawn by a device type's hero card itself (D915).
|
|
54678
54760
|
*
|
|
54679
54761
|
* Like `childLayout`, the cap is INERT until a provider sets items: no
|
|
54680
54762
|
* provider populates it by guessing (no HA inference). The UI renders a
|
|
54681
54763
|
* "No consumables reported" placeholder when `items` is empty.
|
|
54682
54764
|
*/
|
|
54765
|
+
/**
|
|
54766
|
+
* What an item IS, which decides which direction is bad:
|
|
54767
|
+
* - `wear` — a part that wears out (a brush, a filter); low life is bad.
|
|
54768
|
+
* - `supply` — something the device draws from (clean water, detergent,
|
|
54769
|
+
* salt, rinse aid); low or empty is bad.
|
|
54770
|
+
* - `waste` — something the device fills (dirty water, a dust bin); full is
|
|
54771
|
+
* bad.
|
|
54772
|
+
* Absent = `wear`.
|
|
54773
|
+
*/
|
|
54774
|
+
var ConsumableKindSchema = _enum([
|
|
54775
|
+
"wear",
|
|
54776
|
+
"supply",
|
|
54777
|
+
"waste"
|
|
54778
|
+
]);
|
|
54779
|
+
/**
|
|
54780
|
+
* What an item LOOKS like, which decides how a client draws it — independent
|
|
54781
|
+
* of `kind`, which decides which direction is bad:
|
|
54782
|
+
* - `part` — a part that wears (a brush, a filter, a mop pad): a wear bar,
|
|
54783
|
+
* remaining time and a reset.
|
|
54784
|
+
* - `tank` — a container of liquid (clean water, dirty water): a fill gauge.
|
|
54785
|
+
* - `product` — something bought and refilled (detergent, salt, rinse aid):
|
|
54786
|
+
* a stepped level and "refill".
|
|
54787
|
+
* - `bin` — a container that collects waste (a dust bin): a fill gauge
|
|
54788
|
+
* that warns when full.
|
|
54789
|
+
* Absent = derived from the kind ({@link consumableFormOf}).
|
|
54790
|
+
*/
|
|
54791
|
+
var ConsumableFormSchema = _enum([
|
|
54792
|
+
"part",
|
|
54793
|
+
"tank",
|
|
54794
|
+
"product",
|
|
54795
|
+
"bin"
|
|
54796
|
+
]);
|
|
54797
|
+
/** The provider's own discrete verdict on an item. */
|
|
54798
|
+
var ConsumableStatusSchema = _enum([
|
|
54799
|
+
"ok",
|
|
54800
|
+
"low",
|
|
54801
|
+
"empty",
|
|
54802
|
+
"full",
|
|
54803
|
+
"replace"
|
|
54804
|
+
]);
|
|
54805
|
+
_enum([
|
|
54806
|
+
"ok",
|
|
54807
|
+
"low",
|
|
54808
|
+
"empty",
|
|
54809
|
+
"full"
|
|
54810
|
+
]);
|
|
54683
54811
|
/** Units a remaining-life counter is reported in. Closed: the panel renders
|
|
54684
54812
|
* each. */
|
|
54685
54813
|
var ConsumableRemainingUnitSchema = _enum([
|
|
@@ -54699,10 +54827,14 @@ var ConsumablesStatusSchema = object({
|
|
|
54699
54827
|
key: string().min(1),
|
|
54700
54828
|
/** Display name. */
|
|
54701
54829
|
label: string().min(1),
|
|
54702
|
-
/** Remaining life % when known (0..100). */
|
|
54830
|
+
/** Remaining life % (`wear`) or fill % (`supply`, `waste`) when known (0..100). */
|
|
54703
54831
|
level: number().min(0).max(100).nullable(),
|
|
54704
|
-
/**
|
|
54705
|
-
status:
|
|
54832
|
+
/** The provider's discrete verdict when known (binary mode). */
|
|
54833
|
+
status: ConsumableStatusSchema.nullable(),
|
|
54834
|
+
/** What the item is — decides whether low or full is bad. Absent = `wear`. */
|
|
54835
|
+
kind: ConsumableKindSchema.optional(),
|
|
54836
|
+
/** How the item is drawn (part, tank, product, bin). Absent = derived from `kind`. */
|
|
54837
|
+
form: ConsumableFormSchema.optional(),
|
|
54706
54838
|
/** Ms epoch of the last replace, when known. */
|
|
54707
54839
|
lastResetAt: number().nullable(),
|
|
54708
54840
|
/** Whether `reset()` is meaningful for this item. */
|
|
@@ -54937,8 +55069,9 @@ object({
|
|
|
54937
55069
|
status: DeviceStatusSchema
|
|
54938
55070
|
});
|
|
54939
55071
|
/**
|
|
54940
|
-
* Smart-dishwasher cap — program lifecycle, door / remote-start gates
|
|
54941
|
-
*
|
|
55072
|
+
* Smart-dishwasher cap — program lifecycle, door / remote-start gates and
|
|
55073
|
+
* common program options. Salt and rinse aid are NOT here: they are items of
|
|
55074
|
+
* the device's `consumables` cap, like every other device's (D915).
|
|
54942
55075
|
*
|
|
54943
55076
|
* Sources: native Bosch Home Connect (`dishwasher` device type). Reusable
|
|
54944
55077
|
* by any integration that exposes the same program / option surface.
|
|
@@ -54986,11 +55119,6 @@ var DishwasherAvailabilitySchema = _enum([
|
|
|
54986
55119
|
"offline",
|
|
54987
55120
|
"description-missing"
|
|
54988
55121
|
]);
|
|
54989
|
-
var DishwasherConsumableLevelSchema = _enum([
|
|
54990
|
-
"ok",
|
|
54991
|
-
"low",
|
|
54992
|
-
"empty"
|
|
54993
|
-
]);
|
|
54994
55122
|
object({
|
|
54995
55123
|
availability: DishwasherAvailabilitySchema,
|
|
54996
55124
|
/** Coarse state for compact surfaces; `unavailable` whenever the appliance state is not known. */
|
|
@@ -55023,8 +55151,6 @@ object({
|
|
|
55023
55151
|
powerOn: boolean().nullable(),
|
|
55024
55152
|
/** The raw power state (`On`, `Off`, `Standby`, …); null when not known. */
|
|
55025
55153
|
powerState: string().nullable(),
|
|
55026
|
-
saltLevel: DishwasherConsumableLevelSchema.nullable(),
|
|
55027
|
-
rinseAidLevel: DishwasherConsumableLevelSchema.nullable(),
|
|
55028
55154
|
/**
|
|
55029
55155
|
* True while the appliance asks for its filter to be cleaned (smart-filter, filter-system or
|
|
55030
55156
|
* combined care-and-filter reminder raised); false when every such reminder reads clear; null
|
|
@@ -57064,7 +57190,7 @@ DeviceType.Light, DeviceType.Siren, DeviceType.Switch, method(object({
|
|
|
57064
57190
|
enabled: boolean()
|
|
57065
57191
|
}), _void(), {
|
|
57066
57192
|
kind: "mutation",
|
|
57067
|
-
auth: "
|
|
57193
|
+
auth: "protected"
|
|
57068
57194
|
}), object({
|
|
57069
57195
|
deviceId: number(),
|
|
57070
57196
|
enabled: boolean(),
|
|
@@ -57554,6 +57680,13 @@ var TopologyNodeSchema = object({
|
|
|
57554
57680
|
cpuModel: string().nullable(),
|
|
57555
57681
|
cpuCores: number(),
|
|
57556
57682
|
memoryMB: number(),
|
|
57683
|
+
/**
|
|
57684
|
+
* The inference RUNTIMES installed on the node (`pythonRuntimes`: onnx,
|
|
57685
|
+
* openvino, edgetpu …) — not its devices. An installed runtime says nothing
|
|
57686
|
+
* about whether its hardware is there (a Coral delegate stays installed
|
|
57687
|
+
* after the stick leaves, D919); the live device set is
|
|
57688
|
+
* `pipelineOrchestrator.getNodeInferenceDevices`.
|
|
57689
|
+
*/
|
|
57557
57690
|
engines: array(string()).readonly(),
|
|
57558
57691
|
isHub: boolean(),
|
|
57559
57692
|
isOnline: boolean(),
|
|
@@ -58518,7 +58651,28 @@ var ResolvedInferenceConfigSchema = object({
|
|
|
58518
58651
|
format: ModelFormatSchema,
|
|
58519
58652
|
reason: string()
|
|
58520
58653
|
});
|
|
58521
|
-
|
|
58654
|
+
/**
|
|
58655
|
+
* The answer of an accelerator rescan (D919): the node's device list after
|
|
58656
|
+
* the re-probe, what changed, and the evidence that decided the Coral answer
|
|
58657
|
+
* (`usbBus` — could the USB bus be read at all; `decidedBy` — USB ids, the PCI
|
|
58658
|
+
* bus, the installed-delegate fallback, or nothing).
|
|
58659
|
+
*/
|
|
58660
|
+
var AcceleratorRescanSchema = object({
|
|
58661
|
+
devices: array(InferenceDeviceDescriptorSchema).readonly(),
|
|
58662
|
+
appeared: array(string()).readonly(),
|
|
58663
|
+
disappeared: array(string()).readonly(),
|
|
58664
|
+
usbBus: _enum(["observed", "unobservable"]),
|
|
58665
|
+
decidedBy: _enum([
|
|
58666
|
+
"usb-ids",
|
|
58667
|
+
"pci",
|
|
58668
|
+
"delegate-fallback",
|
|
58669
|
+
"none"
|
|
58670
|
+
])
|
|
58671
|
+
});
|
|
58672
|
+
method(_void(), PlatformCapabilitiesSchema), method(_void(), HardwareInfoSchema), method(object({ requirements: array(ModelRequirementSchema).readonly() }), ResolvedInferenceConfigSchema), method(object({ prefer: HwAccelBackendInputSchema }), HwAccelResolutionSchema), method(_void(), AcceleratorRescanSchema, {
|
|
58673
|
+
kind: "mutation",
|
|
58674
|
+
auth: "admin"
|
|
58675
|
+
});
|
|
58522
58676
|
object({
|
|
58523
58677
|
/** Instantaneous power draw in watts. */
|
|
58524
58678
|
watts: number().optional(),
|
|
@@ -61807,60 +61961,17 @@ method(_void(), array(UserSummarySchema), { auth: "admin" }), method(CreateUserI
|
|
|
61807
61961
|
auth: "admin",
|
|
61808
61962
|
access: "delete"
|
|
61809
61963
|
});
|
|
61810
|
-
/**
|
|
61811
|
-
* Robot-vacuum cap. Models HA `vacuum.*` entities — anything with a
|
|
61812
|
-
* cleaning lifecycle plus a return-to-base / locate surface and an
|
|
61813
|
-
* optional fan-speed selector.
|
|
61814
|
-
*
|
|
61815
|
-
* State follows HA's canonical vacuum lifecycle: `idle` / `cleaning` /
|
|
61816
|
-
* `paused` / `returning` / `docked` / `error`. `batteryLevel`
|
|
61817
|
-
* (0..100) is nullable — some vacuums don't report a battery
|
|
61818
|
-
* percentage. `fanSpeed` is the current speed token (provider-verbatim,
|
|
61819
|
-
* e.g. `'standard'` / `'turbo'`) and `availableFanSpeeds` lists the
|
|
61820
|
-
* tokens the hardware accepts so the UI renders only supported choices.
|
|
61821
|
-
*
|
|
61822
|
-
* The `setFanSpeed` method takes the bare `speed` token — the provider
|
|
61823
|
-
* validates it against the vacuum's own list. `locate` triggers the
|
|
61824
|
-
* find-me chirp; `returnToBase` sends it home.
|
|
61825
|
-
*
|
|
61826
|
-
* Consumable / waste tanks: `cleanWater` / `dirtyWater` / `detergent` /
|
|
61827
|
-
* `dustBin` each carry a nullable `{ level (0..100 %), status ('ok' |
|
|
61828
|
-
* 'low' | 'full') }` reading. Native providers (e.g. Dreame, Roborock)
|
|
61829
|
-
* SHOULD populate whichever tanks the hardware has — leave a field `null`
|
|
61830
|
-
* only when the device has no such tank at all, and use a `TankStatus`
|
|
61831
|
-
* with both inner fields `null` when the tank exists but its level is
|
|
61832
|
-
* currently unknown. HA `vacuum.*` entities expose no per-tank telemetry,
|
|
61833
|
-
* so the HA provider leaves all four `null`.
|
|
61834
|
-
*/
|
|
61835
|
-
var VacuumStateSchema = _enum([
|
|
61836
|
-
"idle",
|
|
61837
|
-
"cleaning",
|
|
61838
|
-
"paused",
|
|
61839
|
-
"returning",
|
|
61840
|
-
"docked",
|
|
61841
|
-
"drying",
|
|
61842
|
-
"error"
|
|
61843
|
-
]);
|
|
61844
|
-
/**
|
|
61845
|
-
* One consumable / waste tank on a robot vacuum (clean-water, dirty-water,
|
|
61846
|
-
* detergent or dust-bin). A tank can report a numeric fill `level` (0..100),
|
|
61847
|
-
* a discrete `status` (binary-style hardware), or both. Both `null` means the
|
|
61848
|
-
* level is currently unknown; the OWNING field being `null` means the
|
|
61849
|
-
* hardware has no such tank at all.
|
|
61850
|
-
*/
|
|
61851
|
-
var TankStatusSchema = object({
|
|
61852
|
-
/** Numeric fill 0..100 when the hardware reports a percentage; null otherwise. */
|
|
61853
|
-
level: number().min(0).max(100).nullable(),
|
|
61854
|
-
/** Discrete state when the hardware is binary-mode; null otherwise. */
|
|
61855
|
-
status: _enum([
|
|
61856
|
-
"ok",
|
|
61857
|
-
"low",
|
|
61858
|
-
"full"
|
|
61859
|
-
]).nullable()
|
|
61860
|
-
});
|
|
61861
61964
|
object({
|
|
61862
61965
|
/** Lifecycle state of the vacuum. */
|
|
61863
|
-
state:
|
|
61966
|
+
state: _enum([
|
|
61967
|
+
"idle",
|
|
61968
|
+
"cleaning",
|
|
61969
|
+
"paused",
|
|
61970
|
+
"returning",
|
|
61971
|
+
"docked",
|
|
61972
|
+
"drying",
|
|
61973
|
+
"error"
|
|
61974
|
+
]),
|
|
61864
61975
|
/** 0..100 battery percentage. Null when the device has no battery
|
|
61865
61976
|
* reading. */
|
|
61866
61977
|
batteryLevel: number().min(0).max(100).nullable(),
|
|
@@ -61869,14 +61980,6 @@ object({
|
|
|
61869
61980
|
fanSpeed: string().nullable(),
|
|
61870
61981
|
/** Speed tokens the hardware accepts — drives the UI selector. */
|
|
61871
61982
|
availableFanSpeeds: array(string()),
|
|
61872
|
-
/** Clean-water (mop) tank. Null when the hardware has no clean-water tank. */
|
|
61873
|
-
cleanWater: TankStatusSchema.nullable(),
|
|
61874
|
-
/** Dirty-water (recovery) tank. Null when the hardware has no dirty-water tank. */
|
|
61875
|
-
dirtyWater: TankStatusSchema.nullable(),
|
|
61876
|
-
/** Detergent tank. Null when the hardware has no detergent tank. */
|
|
61877
|
-
detergent: TankStatusSchema.nullable(),
|
|
61878
|
-
/** Dust bin. Null when the hardware has no dust bin. */
|
|
61879
|
-
dustBin: TankStatusSchema.nullable(),
|
|
61880
61983
|
/** 0..100 cleaning-completion percentage of the current task, or null. */
|
|
61881
61984
|
progressPercent: number().min(0).max(100).nullable(),
|
|
61882
61985
|
/** Current error code (0 / null = no error). */
|
|
@@ -64417,6 +64520,12 @@ Object.freeze({
|
|
|
64417
64520
|
addonId: null,
|
|
64418
64521
|
access: "create"
|
|
64419
64522
|
},
|
|
64523
|
+
"deviceHistory.deleteOrphanSeries": {
|
|
64524
|
+
capName: "device-history",
|
|
64525
|
+
capScope: "system",
|
|
64526
|
+
addonId: null,
|
|
64527
|
+
access: "delete"
|
|
64528
|
+
},
|
|
64420
64529
|
"deviceHistory.getDeviceEnabled": {
|
|
64421
64530
|
capName: "device-history",
|
|
64422
64531
|
capScope: "system",
|
|
@@ -64435,6 +64544,12 @@ Object.freeze({
|
|
|
64435
64544
|
addonId: null,
|
|
64436
64545
|
access: "view"
|
|
64437
64546
|
},
|
|
64547
|
+
"deviceHistory.listOrphanSeries": {
|
|
64548
|
+
capName: "device-history",
|
|
64549
|
+
capScope: "system",
|
|
64550
|
+
addonId: null,
|
|
64551
|
+
access: "view"
|
|
64552
|
+
},
|
|
64438
64553
|
"deviceHistory.listSeries": {
|
|
64439
64554
|
capName: "device-history",
|
|
64440
64555
|
capScope: "system",
|
|
@@ -68059,6 +68174,12 @@ Object.freeze({
|
|
|
68059
68174
|
addonId: null,
|
|
68060
68175
|
access: "delete"
|
|
68061
68176
|
},
|
|
68177
|
+
"pipelineOrchestrator.forgetInferenceDevice": {
|
|
68178
|
+
capName: "pipeline-orchestrator",
|
|
68179
|
+
capScope: "system",
|
|
68180
|
+
addonId: null,
|
|
68181
|
+
access: "delete"
|
|
68182
|
+
},
|
|
68062
68183
|
"pipelineOrchestrator.getAgentLoad": {
|
|
68063
68184
|
capName: "pipeline-orchestrator",
|
|
68064
68185
|
capScope: "system",
|
|
@@ -68635,6 +68756,12 @@ Object.freeze({
|
|
|
68635
68756
|
addonId: null,
|
|
68636
68757
|
access: "view"
|
|
68637
68758
|
},
|
|
68759
|
+
"platformProbe.rescanAccelerators": {
|
|
68760
|
+
capName: "platform-probe",
|
|
68761
|
+
capScope: "system",
|
|
68762
|
+
addonId: null,
|
|
68763
|
+
access: "create"
|
|
68764
|
+
},
|
|
68638
68765
|
"platformProbe.resolveHwAccel": {
|
|
68639
68766
|
capName: "platform-probe",
|
|
68640
68767
|
capScope: "system",
|
|
@@ -74440,7 +74567,7 @@ var STATE_SUMMARY_VARS = [
|
|
|
74440
74567
|
([...RULE_TEXT], [...COMBINED_ALARM]),
|
|
74441
74568
|
([...RULE_TEXT], [...DEVICE_EVENTS]),
|
|
74442
74569
|
([...RULE_TEXT], [...BATTERY, ...CONSUMABLE]),
|
|
74443
|
-
([...RULE_TEXT], [...CONSUMABLE]),
|
|
74570
|
+
([...RULE_TEXT], [...CONSUMABLE, ...TANK]),
|
|
74444
74571
|
([...RULE_TEXT], [...TANK]),
|
|
74445
74572
|
[...RULE_TEXT],
|
|
74446
74573
|
([...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).
|
|
@@ -8644,7 +8644,11 @@ var ContributionSectionSchema = object({
|
|
|
8644
8644
|
literal(4)
|
|
8645
8645
|
]).optional(),
|
|
8646
8646
|
tab: string().optional(),
|
|
8647
|
-
location: _enum([
|
|
8647
|
+
location: _enum([
|
|
8648
|
+
"settings",
|
|
8649
|
+
"top-tab",
|
|
8650
|
+
"hero"
|
|
8651
|
+
]).optional(),
|
|
8648
8652
|
order: number().optional(),
|
|
8649
8653
|
fields: array(any())
|
|
8650
8654
|
});
|
|
@@ -13713,7 +13717,11 @@ var ConfigSectionWithValuesSchema = object({
|
|
|
13713
13717
|
literal(4)
|
|
13714
13718
|
]).optional(),
|
|
13715
13719
|
tab: string().optional(),
|
|
13716
|
-
location: _enum([
|
|
13720
|
+
location: _enum([
|
|
13721
|
+
"settings",
|
|
13722
|
+
"top-tab",
|
|
13723
|
+
"hero"
|
|
13724
|
+
]).optional(),
|
|
13717
13725
|
order: number().optional(),
|
|
13718
13726
|
fields: array(any())
|
|
13719
13727
|
});
|
|
@@ -17536,6 +17544,52 @@ var TierStatusSchema = object({
|
|
|
17536
17544
|
countedAt: number().nullable()
|
|
17537
17545
|
});
|
|
17538
17546
|
/** Operator/diagnostic view: rows per tier, last runs, refusals and drops since boot. */
|
|
17547
|
+
/**
|
|
17548
|
+
* Why a series is orphan. `device-gone`: its device is absent from the
|
|
17549
|
+
* successful device listings (the departure clock). `undeclared`: its `cap:`
|
|
17550
|
+
* key is declared by no capability any more (a field a cap removed).
|
|
17551
|
+
*/
|
|
17552
|
+
var DeviceHistoryOrphanReasonSchema = _enum(["device-gone", "undeclared"]);
|
|
17553
|
+
/** Rows held per stored tier. */
|
|
17554
|
+
var TierRowsSchema = object({
|
|
17555
|
+
raw: number().int(),
|
|
17556
|
+
"5m": number().int(),
|
|
17557
|
+
"1h": number().int(),
|
|
17558
|
+
"1d": number().int()
|
|
17559
|
+
});
|
|
17560
|
+
var OrphanSeriesSchema = object({
|
|
17561
|
+
seriesId: number().int(),
|
|
17562
|
+
deviceId: number().int(),
|
|
17563
|
+
key: string(),
|
|
17564
|
+
scope: string(),
|
|
17565
|
+
/** The metric's display name; `null` when its metric row is gone too. */
|
|
17566
|
+
displayName: string().nullable(),
|
|
17567
|
+
reason: DeviceHistoryOrphanReasonSchema,
|
|
17568
|
+
/** `device-gone`: since when the device has been absent; `null` otherwise. */
|
|
17569
|
+
missingSince: number().nullable(),
|
|
17570
|
+
firstTs: number(),
|
|
17571
|
+
lastTs: number(),
|
|
17572
|
+
rows: TierRowsSchema
|
|
17573
|
+
});
|
|
17574
|
+
var DeviceHistoryOrphanDeleteRefusalSchema = _enum([
|
|
17575
|
+
"not-found",
|
|
17576
|
+
"not-orphan",
|
|
17577
|
+
"failed"
|
|
17578
|
+
]);
|
|
17579
|
+
var OrphanDeleteEntrySchema = discriminatedUnion("ok", [object({
|
|
17580
|
+
seriesId: number().int(),
|
|
17581
|
+
ok: literal(true),
|
|
17582
|
+
deleted: TierRowsSchema
|
|
17583
|
+
}), object({
|
|
17584
|
+
seriesId: number().int(),
|
|
17585
|
+
ok: literal(false),
|
|
17586
|
+
reason: DeviceHistoryOrphanDeleteRefusalSchema
|
|
17587
|
+
})]);
|
|
17588
|
+
var OrphanListSchema = object({
|
|
17589
|
+
series: array(OrphanSeriesSchema).readonly(),
|
|
17590
|
+
/** More orphans exist than {@link DEVICE_HISTORY_ORPHAN_LIST_MAX}. */
|
|
17591
|
+
truncated: boolean()
|
|
17592
|
+
});
|
|
17539
17593
|
var DeviceHistoryStatusSchema = object({
|
|
17540
17594
|
startedAt: number(),
|
|
17541
17595
|
/** The store is declared, series loaded and the first reconcile has answered. */
|
|
@@ -17633,7 +17687,10 @@ method(object({ deviceId: number().int() }), array(SeriesInfoSchema).readonly())
|
|
|
17633
17687
|
}), object({ enabled: boolean() }), {
|
|
17634
17688
|
kind: "mutation",
|
|
17635
17689
|
auth: "admin"
|
|
17636
|
-
}), method(object({}), DeviceHistoryStatusSchema, { auth: "admin" })
|
|
17690
|
+
}), 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() }), {
|
|
17691
|
+
kind: "mutation",
|
|
17692
|
+
auth: "admin"
|
|
17693
|
+
});
|
|
17637
17694
|
var DeviceCaStatusSchema = discriminatedUnion("state", [
|
|
17638
17695
|
object({ state: literal("absent") }),
|
|
17639
17696
|
object({
|
|
@@ -50307,6 +50364,19 @@ var NodeInferenceDeviceSchema = object({
|
|
|
50307
50364
|
/** Whether the node's live probe reports the device as usable right now. */
|
|
50308
50365
|
available: boolean(),
|
|
50309
50366
|
/**
|
|
50367
|
+
* Is the device on the node at all (D919)? `present` — the live probe
|
|
50368
|
+
* reported it; `absent` — the probe ANSWERED and did not report it, so only
|
|
50369
|
+
* its stored settings remain (unplugged, moved to another node): never
|
|
50370
|
+
* eligible, whatever its stored `enabled`, and forgettable with
|
|
50371
|
+
* `forgetInferenceDevice`; `unknown` — the probe did not answer, nothing is
|
|
50372
|
+
* claimed (D315). Optional only for an orchestrator older than the field.
|
|
50373
|
+
*/
|
|
50374
|
+
presence: _enum([
|
|
50375
|
+
"present",
|
|
50376
|
+
"absent",
|
|
50377
|
+
"unknown"
|
|
50378
|
+
]).optional(),
|
|
50379
|
+
/**
|
|
50310
50380
|
* Whether this device participates in dispatch. AUTO default (spec C2):
|
|
50311
50381
|
* accelerators are opt-OUT (a discovered NPU/iGPU/Coral/ANE with no stored
|
|
50312
50382
|
* entry is `true`); CPU is opt-IN (`false` by default — the fallback pool,
|
|
@@ -50532,7 +50602,13 @@ method(object({
|
|
|
50532
50602
|
}), object({ success: literal(true) }), {
|
|
50533
50603
|
kind: "mutation",
|
|
50534
50604
|
auth: "admin"
|
|
50535
|
-
}), method(object({ nodeId: string() }), NodeInferenceDevicesSchema), method(object({
|
|
50605
|
+
}), method(object({ nodeId: string() }), NodeInferenceDevicesSchema), method(object({
|
|
50606
|
+
agentNodeId: string(),
|
|
50607
|
+
deviceKey: string()
|
|
50608
|
+
}), object({ success: literal(true) }), {
|
|
50609
|
+
kind: "mutation",
|
|
50610
|
+
auth: "admin"
|
|
50611
|
+
}), method(object({ agentNodeId: string() }), object({
|
|
50536
50612
|
success: literal(true),
|
|
50537
50613
|
/** Hardware-aware default detection model now in effect on the node (null when unresolvable). */
|
|
50538
50614
|
effectiveModelId: string().nullable(),
|
|
@@ -54665,17 +54741,69 @@ object({
|
|
|
54665
54741
|
});
|
|
54666
54742
|
DeviceType.Sensor;
|
|
54667
54743
|
/**
|
|
54668
|
-
* Generic device-consumables capability —
|
|
54669
|
-
*
|
|
54670
|
-
* descaling cycles,
|
|
54671
|
-
*
|
|
54672
|
-
*
|
|
54673
|
-
*
|
|
54744
|
+
* Generic device-consumables capability — the ONE place a device reports what
|
|
54745
|
+
* it uses up or fills: wear parts (vacuum filters/brushes, cartridges,
|
|
54746
|
+
* descaling cycles), supplies it draws from (a vacuum's clean-water tank and
|
|
54747
|
+
* detergent, a dishwasher's salt and rinse aid) and waste it collects (a dirty
|
|
54748
|
+
* water tank, a dust bin). Each item carries its remaining life or fill and an
|
|
54749
|
+
* optional "Replaced" reset action. Device-agnostic: any provider that knows
|
|
54750
|
+
* its device tracks consumables registers it; the provider names each item
|
|
54751
|
+
* verbatim and says which `kind` it is.
|
|
54752
|
+
*
|
|
54753
|
+
* The admin UI renders it as ONE collapsible section directly under the
|
|
54754
|
+
* device page's hero card (`placement: 'hero'`), for every device bound to
|
|
54755
|
+
* this cap — never drawn by a device type's hero card itself (D915).
|
|
54674
54756
|
*
|
|
54675
54757
|
* Like `childLayout`, the cap is INERT until a provider sets items: no
|
|
54676
54758
|
* provider populates it by guessing (no HA inference). The UI renders a
|
|
54677
54759
|
* "No consumables reported" placeholder when `items` is empty.
|
|
54678
54760
|
*/
|
|
54761
|
+
/**
|
|
54762
|
+
* What an item IS, which decides which direction is bad:
|
|
54763
|
+
* - `wear` — a part that wears out (a brush, a filter); low life is bad.
|
|
54764
|
+
* - `supply` — something the device draws from (clean water, detergent,
|
|
54765
|
+
* salt, rinse aid); low or empty is bad.
|
|
54766
|
+
* - `waste` — something the device fills (dirty water, a dust bin); full is
|
|
54767
|
+
* bad.
|
|
54768
|
+
* Absent = `wear`.
|
|
54769
|
+
*/
|
|
54770
|
+
var ConsumableKindSchema = _enum([
|
|
54771
|
+
"wear",
|
|
54772
|
+
"supply",
|
|
54773
|
+
"waste"
|
|
54774
|
+
]);
|
|
54775
|
+
/**
|
|
54776
|
+
* What an item LOOKS like, which decides how a client draws it — independent
|
|
54777
|
+
* of `kind`, which decides which direction is bad:
|
|
54778
|
+
* - `part` — a part that wears (a brush, a filter, a mop pad): a wear bar,
|
|
54779
|
+
* remaining time and a reset.
|
|
54780
|
+
* - `tank` — a container of liquid (clean water, dirty water): a fill gauge.
|
|
54781
|
+
* - `product` — something bought and refilled (detergent, salt, rinse aid):
|
|
54782
|
+
* a stepped level and "refill".
|
|
54783
|
+
* - `bin` — a container that collects waste (a dust bin): a fill gauge
|
|
54784
|
+
* that warns when full.
|
|
54785
|
+
* Absent = derived from the kind ({@link consumableFormOf}).
|
|
54786
|
+
*/
|
|
54787
|
+
var ConsumableFormSchema = _enum([
|
|
54788
|
+
"part",
|
|
54789
|
+
"tank",
|
|
54790
|
+
"product",
|
|
54791
|
+
"bin"
|
|
54792
|
+
]);
|
|
54793
|
+
/** The provider's own discrete verdict on an item. */
|
|
54794
|
+
var ConsumableStatusSchema = _enum([
|
|
54795
|
+
"ok",
|
|
54796
|
+
"low",
|
|
54797
|
+
"empty",
|
|
54798
|
+
"full",
|
|
54799
|
+
"replace"
|
|
54800
|
+
]);
|
|
54801
|
+
_enum([
|
|
54802
|
+
"ok",
|
|
54803
|
+
"low",
|
|
54804
|
+
"empty",
|
|
54805
|
+
"full"
|
|
54806
|
+
]);
|
|
54679
54807
|
/** Units a remaining-life counter is reported in. Closed: the panel renders
|
|
54680
54808
|
* each. */
|
|
54681
54809
|
var ConsumableRemainingUnitSchema = _enum([
|
|
@@ -54695,10 +54823,14 @@ var ConsumablesStatusSchema = object({
|
|
|
54695
54823
|
key: string().min(1),
|
|
54696
54824
|
/** Display name. */
|
|
54697
54825
|
label: string().min(1),
|
|
54698
|
-
/** Remaining life % when known (0..100). */
|
|
54826
|
+
/** Remaining life % (`wear`) or fill % (`supply`, `waste`) when known (0..100). */
|
|
54699
54827
|
level: number().min(0).max(100).nullable(),
|
|
54700
|
-
/**
|
|
54701
|
-
status:
|
|
54828
|
+
/** The provider's discrete verdict when known (binary mode). */
|
|
54829
|
+
status: ConsumableStatusSchema.nullable(),
|
|
54830
|
+
/** What the item is — decides whether low or full is bad. Absent = `wear`. */
|
|
54831
|
+
kind: ConsumableKindSchema.optional(),
|
|
54832
|
+
/** How the item is drawn (part, tank, product, bin). Absent = derived from `kind`. */
|
|
54833
|
+
form: ConsumableFormSchema.optional(),
|
|
54702
54834
|
/** Ms epoch of the last replace, when known. */
|
|
54703
54835
|
lastResetAt: number().nullable(),
|
|
54704
54836
|
/** Whether `reset()` is meaningful for this item. */
|
|
@@ -54933,8 +55065,9 @@ object({
|
|
|
54933
55065
|
status: DeviceStatusSchema
|
|
54934
55066
|
});
|
|
54935
55067
|
/**
|
|
54936
|
-
* Smart-dishwasher cap — program lifecycle, door / remote-start gates
|
|
54937
|
-
*
|
|
55068
|
+
* Smart-dishwasher cap — program lifecycle, door / remote-start gates and
|
|
55069
|
+
* common program options. Salt and rinse aid are NOT here: they are items of
|
|
55070
|
+
* the device's `consumables` cap, like every other device's (D915).
|
|
54938
55071
|
*
|
|
54939
55072
|
* Sources: native Bosch Home Connect (`dishwasher` device type). Reusable
|
|
54940
55073
|
* by any integration that exposes the same program / option surface.
|
|
@@ -54982,11 +55115,6 @@ var DishwasherAvailabilitySchema = _enum([
|
|
|
54982
55115
|
"offline",
|
|
54983
55116
|
"description-missing"
|
|
54984
55117
|
]);
|
|
54985
|
-
var DishwasherConsumableLevelSchema = _enum([
|
|
54986
|
-
"ok",
|
|
54987
|
-
"low",
|
|
54988
|
-
"empty"
|
|
54989
|
-
]);
|
|
54990
55118
|
object({
|
|
54991
55119
|
availability: DishwasherAvailabilitySchema,
|
|
54992
55120
|
/** Coarse state for compact surfaces; `unavailable` whenever the appliance state is not known. */
|
|
@@ -55019,8 +55147,6 @@ object({
|
|
|
55019
55147
|
powerOn: boolean().nullable(),
|
|
55020
55148
|
/** The raw power state (`On`, `Off`, `Standby`, …); null when not known. */
|
|
55021
55149
|
powerState: string().nullable(),
|
|
55022
|
-
saltLevel: DishwasherConsumableLevelSchema.nullable(),
|
|
55023
|
-
rinseAidLevel: DishwasherConsumableLevelSchema.nullable(),
|
|
55024
55150
|
/**
|
|
55025
55151
|
* True while the appliance asks for its filter to be cleaned (smart-filter, filter-system or
|
|
55026
55152
|
* combined care-and-filter reminder raised); false when every such reminder reads clear; null
|
|
@@ -57060,7 +57186,7 @@ DeviceType.Light, DeviceType.Siren, DeviceType.Switch, method(object({
|
|
|
57060
57186
|
enabled: boolean()
|
|
57061
57187
|
}), _void(), {
|
|
57062
57188
|
kind: "mutation",
|
|
57063
|
-
auth: "
|
|
57189
|
+
auth: "protected"
|
|
57064
57190
|
}), object({
|
|
57065
57191
|
deviceId: number(),
|
|
57066
57192
|
enabled: boolean(),
|
|
@@ -57550,6 +57676,13 @@ var TopologyNodeSchema = object({
|
|
|
57550
57676
|
cpuModel: string().nullable(),
|
|
57551
57677
|
cpuCores: number(),
|
|
57552
57678
|
memoryMB: number(),
|
|
57679
|
+
/**
|
|
57680
|
+
* The inference RUNTIMES installed on the node (`pythonRuntimes`: onnx,
|
|
57681
|
+
* openvino, edgetpu …) — not its devices. An installed runtime says nothing
|
|
57682
|
+
* about whether its hardware is there (a Coral delegate stays installed
|
|
57683
|
+
* after the stick leaves, D919); the live device set is
|
|
57684
|
+
* `pipelineOrchestrator.getNodeInferenceDevices`.
|
|
57685
|
+
*/
|
|
57553
57686
|
engines: array(string()).readonly(),
|
|
57554
57687
|
isHub: boolean(),
|
|
57555
57688
|
isOnline: boolean(),
|
|
@@ -58514,7 +58647,28 @@ var ResolvedInferenceConfigSchema = object({
|
|
|
58514
58647
|
format: ModelFormatSchema,
|
|
58515
58648
|
reason: string()
|
|
58516
58649
|
});
|
|
58517
|
-
|
|
58650
|
+
/**
|
|
58651
|
+
* The answer of an accelerator rescan (D919): the node's device list after
|
|
58652
|
+
* the re-probe, what changed, and the evidence that decided the Coral answer
|
|
58653
|
+
* (`usbBus` — could the USB bus be read at all; `decidedBy` — USB ids, the PCI
|
|
58654
|
+
* bus, the installed-delegate fallback, or nothing).
|
|
58655
|
+
*/
|
|
58656
|
+
var AcceleratorRescanSchema = object({
|
|
58657
|
+
devices: array(InferenceDeviceDescriptorSchema).readonly(),
|
|
58658
|
+
appeared: array(string()).readonly(),
|
|
58659
|
+
disappeared: array(string()).readonly(),
|
|
58660
|
+
usbBus: _enum(["observed", "unobservable"]),
|
|
58661
|
+
decidedBy: _enum([
|
|
58662
|
+
"usb-ids",
|
|
58663
|
+
"pci",
|
|
58664
|
+
"delegate-fallback",
|
|
58665
|
+
"none"
|
|
58666
|
+
])
|
|
58667
|
+
});
|
|
58668
|
+
method(_void(), PlatformCapabilitiesSchema), method(_void(), HardwareInfoSchema), method(object({ requirements: array(ModelRequirementSchema).readonly() }), ResolvedInferenceConfigSchema), method(object({ prefer: HwAccelBackendInputSchema }), HwAccelResolutionSchema), method(_void(), AcceleratorRescanSchema, {
|
|
58669
|
+
kind: "mutation",
|
|
58670
|
+
auth: "admin"
|
|
58671
|
+
});
|
|
58518
58672
|
object({
|
|
58519
58673
|
/** Instantaneous power draw in watts. */
|
|
58520
58674
|
watts: number().optional(),
|
|
@@ -61803,60 +61957,17 @@ method(_void(), array(UserSummarySchema), { auth: "admin" }), method(CreateUserI
|
|
|
61803
61957
|
auth: "admin",
|
|
61804
61958
|
access: "delete"
|
|
61805
61959
|
});
|
|
61806
|
-
/**
|
|
61807
|
-
* Robot-vacuum cap. Models HA `vacuum.*` entities — anything with a
|
|
61808
|
-
* cleaning lifecycle plus a return-to-base / locate surface and an
|
|
61809
|
-
* optional fan-speed selector.
|
|
61810
|
-
*
|
|
61811
|
-
* State follows HA's canonical vacuum lifecycle: `idle` / `cleaning` /
|
|
61812
|
-
* `paused` / `returning` / `docked` / `error`. `batteryLevel`
|
|
61813
|
-
* (0..100) is nullable — some vacuums don't report a battery
|
|
61814
|
-
* percentage. `fanSpeed` is the current speed token (provider-verbatim,
|
|
61815
|
-
* e.g. `'standard'` / `'turbo'`) and `availableFanSpeeds` lists the
|
|
61816
|
-
* tokens the hardware accepts so the UI renders only supported choices.
|
|
61817
|
-
*
|
|
61818
|
-
* The `setFanSpeed` method takes the bare `speed` token — the provider
|
|
61819
|
-
* validates it against the vacuum's own list. `locate` triggers the
|
|
61820
|
-
* find-me chirp; `returnToBase` sends it home.
|
|
61821
|
-
*
|
|
61822
|
-
* Consumable / waste tanks: `cleanWater` / `dirtyWater` / `detergent` /
|
|
61823
|
-
* `dustBin` each carry a nullable `{ level (0..100 %), status ('ok' |
|
|
61824
|
-
* 'low' | 'full') }` reading. Native providers (e.g. Dreame, Roborock)
|
|
61825
|
-
* SHOULD populate whichever tanks the hardware has — leave a field `null`
|
|
61826
|
-
* only when the device has no such tank at all, and use a `TankStatus`
|
|
61827
|
-
* with both inner fields `null` when the tank exists but its level is
|
|
61828
|
-
* currently unknown. HA `vacuum.*` entities expose no per-tank telemetry,
|
|
61829
|
-
* so the HA provider leaves all four `null`.
|
|
61830
|
-
*/
|
|
61831
|
-
var VacuumStateSchema = _enum([
|
|
61832
|
-
"idle",
|
|
61833
|
-
"cleaning",
|
|
61834
|
-
"paused",
|
|
61835
|
-
"returning",
|
|
61836
|
-
"docked",
|
|
61837
|
-
"drying",
|
|
61838
|
-
"error"
|
|
61839
|
-
]);
|
|
61840
|
-
/**
|
|
61841
|
-
* One consumable / waste tank on a robot vacuum (clean-water, dirty-water,
|
|
61842
|
-
* detergent or dust-bin). A tank can report a numeric fill `level` (0..100),
|
|
61843
|
-
* a discrete `status` (binary-style hardware), or both. Both `null` means the
|
|
61844
|
-
* level is currently unknown; the OWNING field being `null` means the
|
|
61845
|
-
* hardware has no such tank at all.
|
|
61846
|
-
*/
|
|
61847
|
-
var TankStatusSchema = object({
|
|
61848
|
-
/** Numeric fill 0..100 when the hardware reports a percentage; null otherwise. */
|
|
61849
|
-
level: number().min(0).max(100).nullable(),
|
|
61850
|
-
/** Discrete state when the hardware is binary-mode; null otherwise. */
|
|
61851
|
-
status: _enum([
|
|
61852
|
-
"ok",
|
|
61853
|
-
"low",
|
|
61854
|
-
"full"
|
|
61855
|
-
]).nullable()
|
|
61856
|
-
});
|
|
61857
61960
|
object({
|
|
61858
61961
|
/** Lifecycle state of the vacuum. */
|
|
61859
|
-
state:
|
|
61962
|
+
state: _enum([
|
|
61963
|
+
"idle",
|
|
61964
|
+
"cleaning",
|
|
61965
|
+
"paused",
|
|
61966
|
+
"returning",
|
|
61967
|
+
"docked",
|
|
61968
|
+
"drying",
|
|
61969
|
+
"error"
|
|
61970
|
+
]),
|
|
61860
61971
|
/** 0..100 battery percentage. Null when the device has no battery
|
|
61861
61972
|
* reading. */
|
|
61862
61973
|
batteryLevel: number().min(0).max(100).nullable(),
|
|
@@ -61865,14 +61976,6 @@ object({
|
|
|
61865
61976
|
fanSpeed: string().nullable(),
|
|
61866
61977
|
/** Speed tokens the hardware accepts — drives the UI selector. */
|
|
61867
61978
|
availableFanSpeeds: array(string()),
|
|
61868
|
-
/** Clean-water (mop) tank. Null when the hardware has no clean-water tank. */
|
|
61869
|
-
cleanWater: TankStatusSchema.nullable(),
|
|
61870
|
-
/** Dirty-water (recovery) tank. Null when the hardware has no dirty-water tank. */
|
|
61871
|
-
dirtyWater: TankStatusSchema.nullable(),
|
|
61872
|
-
/** Detergent tank. Null when the hardware has no detergent tank. */
|
|
61873
|
-
detergent: TankStatusSchema.nullable(),
|
|
61874
|
-
/** Dust bin. Null when the hardware has no dust bin. */
|
|
61875
|
-
dustBin: TankStatusSchema.nullable(),
|
|
61876
61979
|
/** 0..100 cleaning-completion percentage of the current task, or null. */
|
|
61877
61980
|
progressPercent: number().min(0).max(100).nullable(),
|
|
61878
61981
|
/** Current error code (0 / null = no error). */
|
|
@@ -64413,6 +64516,12 @@ Object.freeze({
|
|
|
64413
64516
|
addonId: null,
|
|
64414
64517
|
access: "create"
|
|
64415
64518
|
},
|
|
64519
|
+
"deviceHistory.deleteOrphanSeries": {
|
|
64520
|
+
capName: "device-history",
|
|
64521
|
+
capScope: "system",
|
|
64522
|
+
addonId: null,
|
|
64523
|
+
access: "delete"
|
|
64524
|
+
},
|
|
64416
64525
|
"deviceHistory.getDeviceEnabled": {
|
|
64417
64526
|
capName: "device-history",
|
|
64418
64527
|
capScope: "system",
|
|
@@ -64431,6 +64540,12 @@ Object.freeze({
|
|
|
64431
64540
|
addonId: null,
|
|
64432
64541
|
access: "view"
|
|
64433
64542
|
},
|
|
64543
|
+
"deviceHistory.listOrphanSeries": {
|
|
64544
|
+
capName: "device-history",
|
|
64545
|
+
capScope: "system",
|
|
64546
|
+
addonId: null,
|
|
64547
|
+
access: "view"
|
|
64548
|
+
},
|
|
64434
64549
|
"deviceHistory.listSeries": {
|
|
64435
64550
|
capName: "device-history",
|
|
64436
64551
|
capScope: "system",
|
|
@@ -68055,6 +68170,12 @@ Object.freeze({
|
|
|
68055
68170
|
addonId: null,
|
|
68056
68171
|
access: "delete"
|
|
68057
68172
|
},
|
|
68173
|
+
"pipelineOrchestrator.forgetInferenceDevice": {
|
|
68174
|
+
capName: "pipeline-orchestrator",
|
|
68175
|
+
capScope: "system",
|
|
68176
|
+
addonId: null,
|
|
68177
|
+
access: "delete"
|
|
68178
|
+
},
|
|
68058
68179
|
"pipelineOrchestrator.getAgentLoad": {
|
|
68059
68180
|
capName: "pipeline-orchestrator",
|
|
68060
68181
|
capScope: "system",
|
|
@@ -68631,6 +68752,12 @@ Object.freeze({
|
|
|
68631
68752
|
addonId: null,
|
|
68632
68753
|
access: "view"
|
|
68633
68754
|
},
|
|
68755
|
+
"platformProbe.rescanAccelerators": {
|
|
68756
|
+
capName: "platform-probe",
|
|
68757
|
+
capScope: "system",
|
|
68758
|
+
addonId: null,
|
|
68759
|
+
access: "create"
|
|
68760
|
+
},
|
|
68634
68761
|
"platformProbe.resolveHwAccel": {
|
|
68635
68762
|
capName: "platform-probe",
|
|
68636
68763
|
capScope: "system",
|
|
@@ -74436,7 +74563,7 @@ var STATE_SUMMARY_VARS = [
|
|
|
74436
74563
|
([...RULE_TEXT], [...COMBINED_ALARM]),
|
|
74437
74564
|
([...RULE_TEXT], [...DEVICE_EVENTS]),
|
|
74438
74565
|
([...RULE_TEXT], [...BATTERY, ...CONSUMABLE]),
|
|
74439
|
-
([...RULE_TEXT], [...CONSUMABLE]),
|
|
74566
|
+
([...RULE_TEXT], [...CONSUMABLE, ...TANK]),
|
|
74440
74567
|
([...RULE_TEXT], [...TANK]),
|
|
74441
74568
|
[...RULE_TEXT],
|
|
74442
74569
|
([...RULE_TEXT], [...UPDATES, ...ALERT_EPISODE]),
|
package/package.json
CHANGED