@camstack/addon-export-alexa 1.2.162 → 1.2.164
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/export-alexa.addon.js +213 -86
- package/dist/export-alexa.addon.mjs +213 -86
- package/package.json +1 -1
|
@@ -5466,7 +5466,7 @@ var ZodIssueCode = {
|
|
|
5466
5466
|
var ZodFirstPartyTypeKind;
|
|
5467
5467
|
ZodFirstPartyTypeKind || (ZodFirstPartyTypeKind = {});
|
|
5468
5468
|
//#endregion
|
|
5469
|
-
//#region ../types/dist/sleep-
|
|
5469
|
+
//#region ../types/dist/sleep-CUp20JkO.mjs
|
|
5470
5470
|
/**
|
|
5471
5471
|
* The audio chunk plane's byte format, and the ONE expansion from a coded
|
|
5472
5472
|
* window to float samples (D455).
|
|
@@ -8291,7 +8291,11 @@ var ContributionSectionSchema = object({
|
|
|
8291
8291
|
literal(4)
|
|
8292
8292
|
]).optional(),
|
|
8293
8293
|
tab: string().optional(),
|
|
8294
|
-
location: _enum([
|
|
8294
|
+
location: _enum([
|
|
8295
|
+
"settings",
|
|
8296
|
+
"top-tab",
|
|
8297
|
+
"hero"
|
|
8298
|
+
]).optional(),
|
|
8295
8299
|
order: number().optional(),
|
|
8296
8300
|
fields: array(any())
|
|
8297
8301
|
});
|
|
@@ -13525,7 +13529,11 @@ var ConfigSectionWithValuesSchema = object({
|
|
|
13525
13529
|
literal(4)
|
|
13526
13530
|
]).optional(),
|
|
13527
13531
|
tab: string().optional(),
|
|
13528
|
-
location: _enum([
|
|
13532
|
+
location: _enum([
|
|
13533
|
+
"settings",
|
|
13534
|
+
"top-tab",
|
|
13535
|
+
"hero"
|
|
13536
|
+
]).optional(),
|
|
13529
13537
|
order: number().optional(),
|
|
13530
13538
|
fields: array(any())
|
|
13531
13539
|
});
|
|
@@ -17299,6 +17307,52 @@ var TierStatusSchema = object({
|
|
|
17299
17307
|
countedAt: number().nullable()
|
|
17300
17308
|
});
|
|
17301
17309
|
/** Operator/diagnostic view: rows per tier, last runs, refusals and drops since boot. */
|
|
17310
|
+
/**
|
|
17311
|
+
* Why a series is orphan. `device-gone`: its device is absent from the
|
|
17312
|
+
* successful device listings (the departure clock). `undeclared`: its `cap:`
|
|
17313
|
+
* key is declared by no capability any more (a field a cap removed).
|
|
17314
|
+
*/
|
|
17315
|
+
var DeviceHistoryOrphanReasonSchema = _enum(["device-gone", "undeclared"]);
|
|
17316
|
+
/** Rows held per stored tier. */
|
|
17317
|
+
var TierRowsSchema = object({
|
|
17318
|
+
raw: number().int(),
|
|
17319
|
+
"5m": number().int(),
|
|
17320
|
+
"1h": number().int(),
|
|
17321
|
+
"1d": number().int()
|
|
17322
|
+
});
|
|
17323
|
+
var OrphanSeriesSchema = object({
|
|
17324
|
+
seriesId: number().int(),
|
|
17325
|
+
deviceId: number().int(),
|
|
17326
|
+
key: string(),
|
|
17327
|
+
scope: string(),
|
|
17328
|
+
/** The metric's display name; `null` when its metric row is gone too. */
|
|
17329
|
+
displayName: string().nullable(),
|
|
17330
|
+
reason: DeviceHistoryOrphanReasonSchema,
|
|
17331
|
+
/** `device-gone`: since when the device has been absent; `null` otherwise. */
|
|
17332
|
+
missingSince: number().nullable(),
|
|
17333
|
+
firstTs: number(),
|
|
17334
|
+
lastTs: number(),
|
|
17335
|
+
rows: TierRowsSchema
|
|
17336
|
+
});
|
|
17337
|
+
var DeviceHistoryOrphanDeleteRefusalSchema = _enum([
|
|
17338
|
+
"not-found",
|
|
17339
|
+
"not-orphan",
|
|
17340
|
+
"failed"
|
|
17341
|
+
]);
|
|
17342
|
+
var OrphanDeleteEntrySchema = discriminatedUnion("ok", [object({
|
|
17343
|
+
seriesId: number().int(),
|
|
17344
|
+
ok: literal(true),
|
|
17345
|
+
deleted: TierRowsSchema
|
|
17346
|
+
}), object({
|
|
17347
|
+
seriesId: number().int(),
|
|
17348
|
+
ok: literal(false),
|
|
17349
|
+
reason: DeviceHistoryOrphanDeleteRefusalSchema
|
|
17350
|
+
})]);
|
|
17351
|
+
var OrphanListSchema = object({
|
|
17352
|
+
series: array(OrphanSeriesSchema).readonly(),
|
|
17353
|
+
/** More orphans exist than {@link DEVICE_HISTORY_ORPHAN_LIST_MAX}. */
|
|
17354
|
+
truncated: boolean()
|
|
17355
|
+
});
|
|
17302
17356
|
var DeviceHistoryStatusSchema = object({
|
|
17303
17357
|
startedAt: number(),
|
|
17304
17358
|
/** The store is declared, series loaded and the first reconcile has answered. */
|
|
@@ -17396,7 +17450,10 @@ method(object({ deviceId: number().int() }), array(SeriesInfoSchema).readonly())
|
|
|
17396
17450
|
}), object({ enabled: boolean() }), {
|
|
17397
17451
|
kind: "mutation",
|
|
17398
17452
|
auth: "admin"
|
|
17399
|
-
}), method(object({}), DeviceHistoryStatusSchema, { auth: "admin" })
|
|
17453
|
+
}), 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() }), {
|
|
17454
|
+
kind: "mutation",
|
|
17455
|
+
auth: "admin"
|
|
17456
|
+
});
|
|
17400
17457
|
var DeviceCaStatusSchema = discriminatedUnion("state", [
|
|
17401
17458
|
object({ state: literal("absent") }),
|
|
17402
17459
|
object({
|
|
@@ -50111,6 +50168,19 @@ var NodeInferenceDeviceSchema = object({
|
|
|
50111
50168
|
/** Whether the node's live probe reports the device as usable right now. */
|
|
50112
50169
|
available: boolean(),
|
|
50113
50170
|
/**
|
|
50171
|
+
* Is the device on the node at all (D919)? `present` — the live probe
|
|
50172
|
+
* reported it; `absent` — the probe ANSWERED and did not report it, so only
|
|
50173
|
+
* its stored settings remain (unplugged, moved to another node): never
|
|
50174
|
+
* eligible, whatever its stored `enabled`, and forgettable with
|
|
50175
|
+
* `forgetInferenceDevice`; `unknown` — the probe did not answer, nothing is
|
|
50176
|
+
* claimed (D315). Optional only for an orchestrator older than the field.
|
|
50177
|
+
*/
|
|
50178
|
+
presence: _enum([
|
|
50179
|
+
"present",
|
|
50180
|
+
"absent",
|
|
50181
|
+
"unknown"
|
|
50182
|
+
]).optional(),
|
|
50183
|
+
/**
|
|
50114
50184
|
* Whether this device participates in dispatch. AUTO default (spec C2):
|
|
50115
50185
|
* accelerators are opt-OUT (a discovered NPU/iGPU/Coral/ANE with no stored
|
|
50116
50186
|
* entry is `true`); CPU is opt-IN (`false` by default — the fallback pool,
|
|
@@ -50336,7 +50406,13 @@ method(object({
|
|
|
50336
50406
|
}), object({ success: literal(true) }), {
|
|
50337
50407
|
kind: "mutation",
|
|
50338
50408
|
auth: "admin"
|
|
50339
|
-
}), method(object({ nodeId: string() }), NodeInferenceDevicesSchema), method(object({
|
|
50409
|
+
}), method(object({ nodeId: string() }), NodeInferenceDevicesSchema), method(object({
|
|
50410
|
+
agentNodeId: string(),
|
|
50411
|
+
deviceKey: string()
|
|
50412
|
+
}), object({ success: literal(true) }), {
|
|
50413
|
+
kind: "mutation",
|
|
50414
|
+
auth: "admin"
|
|
50415
|
+
}), method(object({ agentNodeId: string() }), object({
|
|
50340
50416
|
success: literal(true),
|
|
50341
50417
|
/** Hardware-aware default detection model now in effect on the node (null when unresolvable). */
|
|
50342
50418
|
effectiveModelId: string().nullable(),
|
|
@@ -54458,17 +54534,69 @@ object({
|
|
|
54458
54534
|
});
|
|
54459
54535
|
DeviceType.Sensor;
|
|
54460
54536
|
/**
|
|
54461
|
-
* Generic device-consumables capability —
|
|
54462
|
-
*
|
|
54463
|
-
* descaling cycles,
|
|
54464
|
-
*
|
|
54465
|
-
*
|
|
54466
|
-
*
|
|
54537
|
+
* Generic device-consumables capability — the ONE place a device reports what
|
|
54538
|
+
* it uses up or fills: wear parts (vacuum filters/brushes, cartridges,
|
|
54539
|
+
* descaling cycles), supplies it draws from (a vacuum's clean-water tank and
|
|
54540
|
+
* detergent, a dishwasher's salt and rinse aid) and waste it collects (a dirty
|
|
54541
|
+
* water tank, a dust bin). Each item carries its remaining life or fill and an
|
|
54542
|
+
* optional "Replaced" reset action. Device-agnostic: any provider that knows
|
|
54543
|
+
* its device tracks consumables registers it; the provider names each item
|
|
54544
|
+
* verbatim and says which `kind` it is.
|
|
54545
|
+
*
|
|
54546
|
+
* The admin UI renders it as ONE collapsible section directly under the
|
|
54547
|
+
* device page's hero card (`placement: 'hero'`), for every device bound to
|
|
54548
|
+
* this cap — never drawn by a device type's hero card itself (D915).
|
|
54467
54549
|
*
|
|
54468
54550
|
* Like `childLayout`, the cap is INERT until a provider sets items: no
|
|
54469
54551
|
* provider populates it by guessing (no HA inference). The UI renders a
|
|
54470
54552
|
* "No consumables reported" placeholder when `items` is empty.
|
|
54471
54553
|
*/
|
|
54554
|
+
/**
|
|
54555
|
+
* What an item IS, which decides which direction is bad:
|
|
54556
|
+
* - `wear` — a part that wears out (a brush, a filter); low life is bad.
|
|
54557
|
+
* - `supply` — something the device draws from (clean water, detergent,
|
|
54558
|
+
* salt, rinse aid); low or empty is bad.
|
|
54559
|
+
* - `waste` — something the device fills (dirty water, a dust bin); full is
|
|
54560
|
+
* bad.
|
|
54561
|
+
* Absent = `wear`.
|
|
54562
|
+
*/
|
|
54563
|
+
var ConsumableKindSchema = _enum([
|
|
54564
|
+
"wear",
|
|
54565
|
+
"supply",
|
|
54566
|
+
"waste"
|
|
54567
|
+
]);
|
|
54568
|
+
/**
|
|
54569
|
+
* What an item LOOKS like, which decides how a client draws it — independent
|
|
54570
|
+
* of `kind`, which decides which direction is bad:
|
|
54571
|
+
* - `part` — a part that wears (a brush, a filter, a mop pad): a wear bar,
|
|
54572
|
+
* remaining time and a reset.
|
|
54573
|
+
* - `tank` — a container of liquid (clean water, dirty water): a fill gauge.
|
|
54574
|
+
* - `product` — something bought and refilled (detergent, salt, rinse aid):
|
|
54575
|
+
* a stepped level and "refill".
|
|
54576
|
+
* - `bin` — a container that collects waste (a dust bin): a fill gauge
|
|
54577
|
+
* that warns when full.
|
|
54578
|
+
* Absent = derived from the kind ({@link consumableFormOf}).
|
|
54579
|
+
*/
|
|
54580
|
+
var ConsumableFormSchema = _enum([
|
|
54581
|
+
"part",
|
|
54582
|
+
"tank",
|
|
54583
|
+
"product",
|
|
54584
|
+
"bin"
|
|
54585
|
+
]);
|
|
54586
|
+
/** The provider's own discrete verdict on an item. */
|
|
54587
|
+
var ConsumableStatusSchema = _enum([
|
|
54588
|
+
"ok",
|
|
54589
|
+
"low",
|
|
54590
|
+
"empty",
|
|
54591
|
+
"full",
|
|
54592
|
+
"replace"
|
|
54593
|
+
]);
|
|
54594
|
+
_enum([
|
|
54595
|
+
"ok",
|
|
54596
|
+
"low",
|
|
54597
|
+
"empty",
|
|
54598
|
+
"full"
|
|
54599
|
+
]);
|
|
54472
54600
|
/** Units a remaining-life counter is reported in. Closed: the panel renders
|
|
54473
54601
|
* each. */
|
|
54474
54602
|
var ConsumableRemainingUnitSchema = _enum([
|
|
@@ -54488,10 +54616,14 @@ var ConsumablesStatusSchema = object({
|
|
|
54488
54616
|
key: string().min(1),
|
|
54489
54617
|
/** Display name. */
|
|
54490
54618
|
label: string().min(1),
|
|
54491
|
-
/** Remaining life % when known (0..100). */
|
|
54619
|
+
/** Remaining life % (`wear`) or fill % (`supply`, `waste`) when known (0..100). */
|
|
54492
54620
|
level: number().min(0).max(100).nullable(),
|
|
54493
|
-
/**
|
|
54494
|
-
status:
|
|
54621
|
+
/** The provider's discrete verdict when known (binary mode). */
|
|
54622
|
+
status: ConsumableStatusSchema.nullable(),
|
|
54623
|
+
/** What the item is — decides whether low or full is bad. Absent = `wear`. */
|
|
54624
|
+
kind: ConsumableKindSchema.optional(),
|
|
54625
|
+
/** How the item is drawn (part, tank, product, bin). Absent = derived from `kind`. */
|
|
54626
|
+
form: ConsumableFormSchema.optional(),
|
|
54495
54627
|
/** Ms epoch of the last replace, when known. */
|
|
54496
54628
|
lastResetAt: number().nullable(),
|
|
54497
54629
|
/** Whether `reset()` is meaningful for this item. */
|
|
@@ -54738,8 +54870,9 @@ object({
|
|
|
54738
54870
|
status: DeviceStatusSchema
|
|
54739
54871
|
});
|
|
54740
54872
|
/**
|
|
54741
|
-
* Smart-dishwasher cap — program lifecycle, door / remote-start gates
|
|
54742
|
-
*
|
|
54873
|
+
* Smart-dishwasher cap — program lifecycle, door / remote-start gates and
|
|
54874
|
+
* common program options. Salt and rinse aid are NOT here: they are items of
|
|
54875
|
+
* the device's `consumables` cap, like every other device's (D915).
|
|
54743
54876
|
*
|
|
54744
54877
|
* Sources: native Bosch Home Connect (`dishwasher` device type). Reusable
|
|
54745
54878
|
* by any integration that exposes the same program / option surface.
|
|
@@ -54787,11 +54920,6 @@ var DishwasherAvailabilitySchema = _enum([
|
|
|
54787
54920
|
"offline",
|
|
54788
54921
|
"description-missing"
|
|
54789
54922
|
]);
|
|
54790
|
-
var DishwasherConsumableLevelSchema = _enum([
|
|
54791
|
-
"ok",
|
|
54792
|
-
"low",
|
|
54793
|
-
"empty"
|
|
54794
|
-
]);
|
|
54795
54923
|
object({
|
|
54796
54924
|
availability: DishwasherAvailabilitySchema,
|
|
54797
54925
|
/** Coarse state for compact surfaces; `unavailable` whenever the appliance state is not known. */
|
|
@@ -54824,8 +54952,6 @@ object({
|
|
|
54824
54952
|
powerOn: boolean().nullable(),
|
|
54825
54953
|
/** The raw power state (`On`, `Off`, `Standby`, …); null when not known. */
|
|
54826
54954
|
powerState: string().nullable(),
|
|
54827
|
-
saltLevel: DishwasherConsumableLevelSchema.nullable(),
|
|
54828
|
-
rinseAidLevel: DishwasherConsumableLevelSchema.nullable(),
|
|
54829
54955
|
/**
|
|
54830
54956
|
* True while the appliance asks for its filter to be cleaned (smart-filter, filter-system or
|
|
54831
54957
|
* combined care-and-filter reminder raised); false when every such reminder reads clear; null
|
|
@@ -56873,7 +56999,7 @@ DeviceType.Light, DeviceType.Siren, DeviceType.Switch, method(object({
|
|
|
56873
56999
|
enabled: boolean()
|
|
56874
57000
|
}), _void(), {
|
|
56875
57001
|
kind: "mutation",
|
|
56876
|
-
auth: "
|
|
57002
|
+
auth: "protected"
|
|
56877
57003
|
}), object({
|
|
56878
57004
|
deviceId: number(),
|
|
56879
57005
|
enabled: boolean(),
|
|
@@ -57363,6 +57489,13 @@ var TopologyNodeSchema = object({
|
|
|
57363
57489
|
cpuModel: string().nullable(),
|
|
57364
57490
|
cpuCores: number(),
|
|
57365
57491
|
memoryMB: number(),
|
|
57492
|
+
/**
|
|
57493
|
+
* The inference RUNTIMES installed on the node (`pythonRuntimes`: onnx,
|
|
57494
|
+
* openvino, edgetpu …) — not its devices. An installed runtime says nothing
|
|
57495
|
+
* about whether its hardware is there (a Coral delegate stays installed
|
|
57496
|
+
* after the stick leaves, D919); the live device set is
|
|
57497
|
+
* `pipelineOrchestrator.getNodeInferenceDevices`.
|
|
57498
|
+
*/
|
|
57366
57499
|
engines: array(string()).readonly(),
|
|
57367
57500
|
isHub: boolean(),
|
|
57368
57501
|
isOnline: boolean(),
|
|
@@ -58327,7 +58460,28 @@ var ResolvedInferenceConfigSchema = object({
|
|
|
58327
58460
|
format: ModelFormatSchema,
|
|
58328
58461
|
reason: string()
|
|
58329
58462
|
});
|
|
58330
|
-
|
|
58463
|
+
/**
|
|
58464
|
+
* The answer of an accelerator rescan (D919): the node's device list after
|
|
58465
|
+
* the re-probe, what changed, and the evidence that decided the Coral answer
|
|
58466
|
+
* (`usbBus` — could the USB bus be read at all; `decidedBy` — USB ids, the PCI
|
|
58467
|
+
* bus, the installed-delegate fallback, or nothing).
|
|
58468
|
+
*/
|
|
58469
|
+
var AcceleratorRescanSchema = object({
|
|
58470
|
+
devices: array(InferenceDeviceDescriptorSchema).readonly(),
|
|
58471
|
+
appeared: array(string()).readonly(),
|
|
58472
|
+
disappeared: array(string()).readonly(),
|
|
58473
|
+
usbBus: _enum(["observed", "unobservable"]),
|
|
58474
|
+
decidedBy: _enum([
|
|
58475
|
+
"usb-ids",
|
|
58476
|
+
"pci",
|
|
58477
|
+
"delegate-fallback",
|
|
58478
|
+
"none"
|
|
58479
|
+
])
|
|
58480
|
+
});
|
|
58481
|
+
method(_void(), PlatformCapabilitiesSchema), method(_void(), HardwareInfoSchema), method(object({ requirements: array(ModelRequirementSchema).readonly() }), ResolvedInferenceConfigSchema), method(object({ prefer: HwAccelBackendInputSchema }), HwAccelResolutionSchema), method(_void(), AcceleratorRescanSchema, {
|
|
58482
|
+
kind: "mutation",
|
|
58483
|
+
auth: "admin"
|
|
58484
|
+
});
|
|
58331
58485
|
object({
|
|
58332
58486
|
/** Instantaneous power draw in watts. */
|
|
58333
58487
|
watts: number().optional(),
|
|
@@ -61639,60 +61793,17 @@ method(_void(), array(UserSummarySchema), { auth: "admin" }), method(CreateUserI
|
|
|
61639
61793
|
auth: "admin",
|
|
61640
61794
|
access: "delete"
|
|
61641
61795
|
});
|
|
61642
|
-
/**
|
|
61643
|
-
* Robot-vacuum cap. Models HA `vacuum.*` entities — anything with a
|
|
61644
|
-
* cleaning lifecycle plus a return-to-base / locate surface and an
|
|
61645
|
-
* optional fan-speed selector.
|
|
61646
|
-
*
|
|
61647
|
-
* State follows HA's canonical vacuum lifecycle: `idle` / `cleaning` /
|
|
61648
|
-
* `paused` / `returning` / `docked` / `error`. `batteryLevel`
|
|
61649
|
-
* (0..100) is nullable — some vacuums don't report a battery
|
|
61650
|
-
* percentage. `fanSpeed` is the current speed token (provider-verbatim,
|
|
61651
|
-
* e.g. `'standard'` / `'turbo'`) and `availableFanSpeeds` lists the
|
|
61652
|
-
* tokens the hardware accepts so the UI renders only supported choices.
|
|
61653
|
-
*
|
|
61654
|
-
* The `setFanSpeed` method takes the bare `speed` token — the provider
|
|
61655
|
-
* validates it against the vacuum's own list. `locate` triggers the
|
|
61656
|
-
* find-me chirp; `returnToBase` sends it home.
|
|
61657
|
-
*
|
|
61658
|
-
* Consumable / waste tanks: `cleanWater` / `dirtyWater` / `detergent` /
|
|
61659
|
-
* `dustBin` each carry a nullable `{ level (0..100 %), status ('ok' |
|
|
61660
|
-
* 'low' | 'full') }` reading. Native providers (e.g. Dreame, Roborock)
|
|
61661
|
-
* SHOULD populate whichever tanks the hardware has — leave a field `null`
|
|
61662
|
-
* only when the device has no such tank at all, and use a `TankStatus`
|
|
61663
|
-
* with both inner fields `null` when the tank exists but its level is
|
|
61664
|
-
* currently unknown. HA `vacuum.*` entities expose no per-tank telemetry,
|
|
61665
|
-
* so the HA provider leaves all four `null`.
|
|
61666
|
-
*/
|
|
61667
|
-
var VacuumStateSchema = _enum([
|
|
61668
|
-
"idle",
|
|
61669
|
-
"cleaning",
|
|
61670
|
-
"paused",
|
|
61671
|
-
"returning",
|
|
61672
|
-
"docked",
|
|
61673
|
-
"drying",
|
|
61674
|
-
"error"
|
|
61675
|
-
]);
|
|
61676
|
-
/**
|
|
61677
|
-
* One consumable / waste tank on a robot vacuum (clean-water, dirty-water,
|
|
61678
|
-
* detergent or dust-bin). A tank can report a numeric fill `level` (0..100),
|
|
61679
|
-
* a discrete `status` (binary-style hardware), or both. Both `null` means the
|
|
61680
|
-
* level is currently unknown; the OWNING field being `null` means the
|
|
61681
|
-
* hardware has no such tank at all.
|
|
61682
|
-
*/
|
|
61683
|
-
var TankStatusSchema = object({
|
|
61684
|
-
/** Numeric fill 0..100 when the hardware reports a percentage; null otherwise. */
|
|
61685
|
-
level: number().min(0).max(100).nullable(),
|
|
61686
|
-
/** Discrete state when the hardware is binary-mode; null otherwise. */
|
|
61687
|
-
status: _enum([
|
|
61688
|
-
"ok",
|
|
61689
|
-
"low",
|
|
61690
|
-
"full"
|
|
61691
|
-
]).nullable()
|
|
61692
|
-
});
|
|
61693
61796
|
object({
|
|
61694
61797
|
/** Lifecycle state of the vacuum. */
|
|
61695
|
-
state:
|
|
61798
|
+
state: _enum([
|
|
61799
|
+
"idle",
|
|
61800
|
+
"cleaning",
|
|
61801
|
+
"paused",
|
|
61802
|
+
"returning",
|
|
61803
|
+
"docked",
|
|
61804
|
+
"drying",
|
|
61805
|
+
"error"
|
|
61806
|
+
]),
|
|
61696
61807
|
/** 0..100 battery percentage. Null when the device has no battery
|
|
61697
61808
|
* reading. */
|
|
61698
61809
|
batteryLevel: number().min(0).max(100).nullable(),
|
|
@@ -61701,14 +61812,6 @@ object({
|
|
|
61701
61812
|
fanSpeed: string().nullable(),
|
|
61702
61813
|
/** Speed tokens the hardware accepts — drives the UI selector. */
|
|
61703
61814
|
availableFanSpeeds: array(string()),
|
|
61704
|
-
/** Clean-water (mop) tank. Null when the hardware has no clean-water tank. */
|
|
61705
|
-
cleanWater: TankStatusSchema.nullable(),
|
|
61706
|
-
/** Dirty-water (recovery) tank. Null when the hardware has no dirty-water tank. */
|
|
61707
|
-
dirtyWater: TankStatusSchema.nullable(),
|
|
61708
|
-
/** Detergent tank. Null when the hardware has no detergent tank. */
|
|
61709
|
-
detergent: TankStatusSchema.nullable(),
|
|
61710
|
-
/** Dust bin. Null when the hardware has no dust bin. */
|
|
61711
|
-
dustBin: TankStatusSchema.nullable(),
|
|
61712
61815
|
/** 0..100 cleaning-completion percentage of the current task, or null. */
|
|
61713
61816
|
progressPercent: number().min(0).max(100).nullable(),
|
|
61714
61817
|
/** Current error code (0 / null = no error). */
|
|
@@ -64249,6 +64352,12 @@ Object.freeze({
|
|
|
64249
64352
|
addonId: null,
|
|
64250
64353
|
access: "create"
|
|
64251
64354
|
},
|
|
64355
|
+
"deviceHistory.deleteOrphanSeries": {
|
|
64356
|
+
capName: "device-history",
|
|
64357
|
+
capScope: "system",
|
|
64358
|
+
addonId: null,
|
|
64359
|
+
access: "delete"
|
|
64360
|
+
},
|
|
64252
64361
|
"deviceHistory.getDeviceEnabled": {
|
|
64253
64362
|
capName: "device-history",
|
|
64254
64363
|
capScope: "system",
|
|
@@ -64267,6 +64376,12 @@ Object.freeze({
|
|
|
64267
64376
|
addonId: null,
|
|
64268
64377
|
access: "view"
|
|
64269
64378
|
},
|
|
64379
|
+
"deviceHistory.listOrphanSeries": {
|
|
64380
|
+
capName: "device-history",
|
|
64381
|
+
capScope: "system",
|
|
64382
|
+
addonId: null,
|
|
64383
|
+
access: "view"
|
|
64384
|
+
},
|
|
64270
64385
|
"deviceHistory.listSeries": {
|
|
64271
64386
|
capName: "device-history",
|
|
64272
64387
|
capScope: "system",
|
|
@@ -67891,6 +68006,12 @@ Object.freeze({
|
|
|
67891
68006
|
addonId: null,
|
|
67892
68007
|
access: "delete"
|
|
67893
68008
|
},
|
|
68009
|
+
"pipelineOrchestrator.forgetInferenceDevice": {
|
|
68010
|
+
capName: "pipeline-orchestrator",
|
|
68011
|
+
capScope: "system",
|
|
68012
|
+
addonId: null,
|
|
68013
|
+
access: "delete"
|
|
68014
|
+
},
|
|
67894
68015
|
"pipelineOrchestrator.getAgentLoad": {
|
|
67895
68016
|
capName: "pipeline-orchestrator",
|
|
67896
68017
|
capScope: "system",
|
|
@@ -68467,6 +68588,12 @@ Object.freeze({
|
|
|
68467
68588
|
addonId: null,
|
|
68468
68589
|
access: "view"
|
|
68469
68590
|
},
|
|
68591
|
+
"platformProbe.rescanAccelerators": {
|
|
68592
|
+
capName: "platform-probe",
|
|
68593
|
+
capScope: "system",
|
|
68594
|
+
addonId: null,
|
|
68595
|
+
access: "create"
|
|
68596
|
+
},
|
|
68470
68597
|
"platformProbe.resolveHwAccel": {
|
|
68471
68598
|
capName: "platform-probe",
|
|
68472
68599
|
capScope: "system",
|
|
@@ -74272,7 +74399,7 @@ var STATE_SUMMARY_VARS = [
|
|
|
74272
74399
|
([...RULE_TEXT], [...COMBINED_ALARM]),
|
|
74273
74400
|
([...RULE_TEXT], [...DEVICE_EVENTS]),
|
|
74274
74401
|
([...RULE_TEXT], [...BATTERY, ...CONSUMABLE]),
|
|
74275
|
-
([...RULE_TEXT], [...CONSUMABLE]),
|
|
74402
|
+
([...RULE_TEXT], [...CONSUMABLE, ...TANK]),
|
|
74276
74403
|
([...RULE_TEXT], [...TANK]),
|
|
74277
74404
|
[...RULE_TEXT],
|
|
74278
74405
|
([...RULE_TEXT], [...UPDATES, ...ALERT_EPISODE]),
|
|
@@ -5437,7 +5437,7 @@ var ZodIssueCode = {
|
|
|
5437
5437
|
var ZodFirstPartyTypeKind;
|
|
5438
5438
|
ZodFirstPartyTypeKind || (ZodFirstPartyTypeKind = {});
|
|
5439
5439
|
//#endregion
|
|
5440
|
-
//#region ../types/dist/sleep-
|
|
5440
|
+
//#region ../types/dist/sleep-CUp20JkO.mjs
|
|
5441
5441
|
/**
|
|
5442
5442
|
* The audio chunk plane's byte format, and the ONE expansion from a coded
|
|
5443
5443
|
* window to float samples (D455).
|
|
@@ -8262,7 +8262,11 @@ var ContributionSectionSchema = object({
|
|
|
8262
8262
|
literal(4)
|
|
8263
8263
|
]).optional(),
|
|
8264
8264
|
tab: string().optional(),
|
|
8265
|
-
location: _enum([
|
|
8265
|
+
location: _enum([
|
|
8266
|
+
"settings",
|
|
8267
|
+
"top-tab",
|
|
8268
|
+
"hero"
|
|
8269
|
+
]).optional(),
|
|
8266
8270
|
order: number().optional(),
|
|
8267
8271
|
fields: array(any())
|
|
8268
8272
|
});
|
|
@@ -13496,7 +13500,11 @@ var ConfigSectionWithValuesSchema = object({
|
|
|
13496
13500
|
literal(4)
|
|
13497
13501
|
]).optional(),
|
|
13498
13502
|
tab: string().optional(),
|
|
13499
|
-
location: _enum([
|
|
13503
|
+
location: _enum([
|
|
13504
|
+
"settings",
|
|
13505
|
+
"top-tab",
|
|
13506
|
+
"hero"
|
|
13507
|
+
]).optional(),
|
|
13500
13508
|
order: number().optional(),
|
|
13501
13509
|
fields: array(any())
|
|
13502
13510
|
});
|
|
@@ -17270,6 +17278,52 @@ var TierStatusSchema = object({
|
|
|
17270
17278
|
countedAt: number().nullable()
|
|
17271
17279
|
});
|
|
17272
17280
|
/** Operator/diagnostic view: rows per tier, last runs, refusals and drops since boot. */
|
|
17281
|
+
/**
|
|
17282
|
+
* Why a series is orphan. `device-gone`: its device is absent from the
|
|
17283
|
+
* successful device listings (the departure clock). `undeclared`: its `cap:`
|
|
17284
|
+
* key is declared by no capability any more (a field a cap removed).
|
|
17285
|
+
*/
|
|
17286
|
+
var DeviceHistoryOrphanReasonSchema = _enum(["device-gone", "undeclared"]);
|
|
17287
|
+
/** Rows held per stored tier. */
|
|
17288
|
+
var TierRowsSchema = object({
|
|
17289
|
+
raw: number().int(),
|
|
17290
|
+
"5m": number().int(),
|
|
17291
|
+
"1h": number().int(),
|
|
17292
|
+
"1d": number().int()
|
|
17293
|
+
});
|
|
17294
|
+
var OrphanSeriesSchema = object({
|
|
17295
|
+
seriesId: number().int(),
|
|
17296
|
+
deviceId: number().int(),
|
|
17297
|
+
key: string(),
|
|
17298
|
+
scope: string(),
|
|
17299
|
+
/** The metric's display name; `null` when its metric row is gone too. */
|
|
17300
|
+
displayName: string().nullable(),
|
|
17301
|
+
reason: DeviceHistoryOrphanReasonSchema,
|
|
17302
|
+
/** `device-gone`: since when the device has been absent; `null` otherwise. */
|
|
17303
|
+
missingSince: number().nullable(),
|
|
17304
|
+
firstTs: number(),
|
|
17305
|
+
lastTs: number(),
|
|
17306
|
+
rows: TierRowsSchema
|
|
17307
|
+
});
|
|
17308
|
+
var DeviceHistoryOrphanDeleteRefusalSchema = _enum([
|
|
17309
|
+
"not-found",
|
|
17310
|
+
"not-orphan",
|
|
17311
|
+
"failed"
|
|
17312
|
+
]);
|
|
17313
|
+
var OrphanDeleteEntrySchema = discriminatedUnion("ok", [object({
|
|
17314
|
+
seriesId: number().int(),
|
|
17315
|
+
ok: literal(true),
|
|
17316
|
+
deleted: TierRowsSchema
|
|
17317
|
+
}), object({
|
|
17318
|
+
seriesId: number().int(),
|
|
17319
|
+
ok: literal(false),
|
|
17320
|
+
reason: DeviceHistoryOrphanDeleteRefusalSchema
|
|
17321
|
+
})]);
|
|
17322
|
+
var OrphanListSchema = object({
|
|
17323
|
+
series: array(OrphanSeriesSchema).readonly(),
|
|
17324
|
+
/** More orphans exist than {@link DEVICE_HISTORY_ORPHAN_LIST_MAX}. */
|
|
17325
|
+
truncated: boolean()
|
|
17326
|
+
});
|
|
17273
17327
|
var DeviceHistoryStatusSchema = object({
|
|
17274
17328
|
startedAt: number(),
|
|
17275
17329
|
/** The store is declared, series loaded and the first reconcile has answered. */
|
|
@@ -17367,7 +17421,10 @@ method(object({ deviceId: number().int() }), array(SeriesInfoSchema).readonly())
|
|
|
17367
17421
|
}), object({ enabled: boolean() }), {
|
|
17368
17422
|
kind: "mutation",
|
|
17369
17423
|
auth: "admin"
|
|
17370
|
-
}), method(object({}), DeviceHistoryStatusSchema, { auth: "admin" })
|
|
17424
|
+
}), 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() }), {
|
|
17425
|
+
kind: "mutation",
|
|
17426
|
+
auth: "admin"
|
|
17427
|
+
});
|
|
17371
17428
|
var DeviceCaStatusSchema = discriminatedUnion("state", [
|
|
17372
17429
|
object({ state: literal("absent") }),
|
|
17373
17430
|
object({
|
|
@@ -50082,6 +50139,19 @@ var NodeInferenceDeviceSchema = object({
|
|
|
50082
50139
|
/** Whether the node's live probe reports the device as usable right now. */
|
|
50083
50140
|
available: boolean(),
|
|
50084
50141
|
/**
|
|
50142
|
+
* Is the device on the node at all (D919)? `present` — the live probe
|
|
50143
|
+
* reported it; `absent` — the probe ANSWERED and did not report it, so only
|
|
50144
|
+
* its stored settings remain (unplugged, moved to another node): never
|
|
50145
|
+
* eligible, whatever its stored `enabled`, and forgettable with
|
|
50146
|
+
* `forgetInferenceDevice`; `unknown` — the probe did not answer, nothing is
|
|
50147
|
+
* claimed (D315). Optional only for an orchestrator older than the field.
|
|
50148
|
+
*/
|
|
50149
|
+
presence: _enum([
|
|
50150
|
+
"present",
|
|
50151
|
+
"absent",
|
|
50152
|
+
"unknown"
|
|
50153
|
+
]).optional(),
|
|
50154
|
+
/**
|
|
50085
50155
|
* Whether this device participates in dispatch. AUTO default (spec C2):
|
|
50086
50156
|
* accelerators are opt-OUT (a discovered NPU/iGPU/Coral/ANE with no stored
|
|
50087
50157
|
* entry is `true`); CPU is opt-IN (`false` by default — the fallback pool,
|
|
@@ -50307,7 +50377,13 @@ method(object({
|
|
|
50307
50377
|
}), object({ success: literal(true) }), {
|
|
50308
50378
|
kind: "mutation",
|
|
50309
50379
|
auth: "admin"
|
|
50310
|
-
}), method(object({ nodeId: string() }), NodeInferenceDevicesSchema), method(object({
|
|
50380
|
+
}), method(object({ nodeId: string() }), NodeInferenceDevicesSchema), method(object({
|
|
50381
|
+
agentNodeId: string(),
|
|
50382
|
+
deviceKey: string()
|
|
50383
|
+
}), object({ success: literal(true) }), {
|
|
50384
|
+
kind: "mutation",
|
|
50385
|
+
auth: "admin"
|
|
50386
|
+
}), method(object({ agentNodeId: string() }), object({
|
|
50311
50387
|
success: literal(true),
|
|
50312
50388
|
/** Hardware-aware default detection model now in effect on the node (null when unresolvable). */
|
|
50313
50389
|
effectiveModelId: string().nullable(),
|
|
@@ -54429,17 +54505,69 @@ object({
|
|
|
54429
54505
|
});
|
|
54430
54506
|
DeviceType.Sensor;
|
|
54431
54507
|
/**
|
|
54432
|
-
* Generic device-consumables capability —
|
|
54433
|
-
*
|
|
54434
|
-
* descaling cycles,
|
|
54435
|
-
*
|
|
54436
|
-
*
|
|
54437
|
-
*
|
|
54508
|
+
* Generic device-consumables capability — the ONE place a device reports what
|
|
54509
|
+
* it uses up or fills: wear parts (vacuum filters/brushes, cartridges,
|
|
54510
|
+
* descaling cycles), supplies it draws from (a vacuum's clean-water tank and
|
|
54511
|
+
* detergent, a dishwasher's salt and rinse aid) and waste it collects (a dirty
|
|
54512
|
+
* water tank, a dust bin). Each item carries its remaining life or fill and an
|
|
54513
|
+
* optional "Replaced" reset action. Device-agnostic: any provider that knows
|
|
54514
|
+
* its device tracks consumables registers it; the provider names each item
|
|
54515
|
+
* verbatim and says which `kind` it is.
|
|
54516
|
+
*
|
|
54517
|
+
* The admin UI renders it as ONE collapsible section directly under the
|
|
54518
|
+
* device page's hero card (`placement: 'hero'`), for every device bound to
|
|
54519
|
+
* this cap — never drawn by a device type's hero card itself (D915).
|
|
54438
54520
|
*
|
|
54439
54521
|
* Like `childLayout`, the cap is INERT until a provider sets items: no
|
|
54440
54522
|
* provider populates it by guessing (no HA inference). The UI renders a
|
|
54441
54523
|
* "No consumables reported" placeholder when `items` is empty.
|
|
54442
54524
|
*/
|
|
54525
|
+
/**
|
|
54526
|
+
* What an item IS, which decides which direction is bad:
|
|
54527
|
+
* - `wear` — a part that wears out (a brush, a filter); low life is bad.
|
|
54528
|
+
* - `supply` — something the device draws from (clean water, detergent,
|
|
54529
|
+
* salt, rinse aid); low or empty is bad.
|
|
54530
|
+
* - `waste` — something the device fills (dirty water, a dust bin); full is
|
|
54531
|
+
* bad.
|
|
54532
|
+
* Absent = `wear`.
|
|
54533
|
+
*/
|
|
54534
|
+
var ConsumableKindSchema = _enum([
|
|
54535
|
+
"wear",
|
|
54536
|
+
"supply",
|
|
54537
|
+
"waste"
|
|
54538
|
+
]);
|
|
54539
|
+
/**
|
|
54540
|
+
* What an item LOOKS like, which decides how a client draws it — independent
|
|
54541
|
+
* of `kind`, which decides which direction is bad:
|
|
54542
|
+
* - `part` — a part that wears (a brush, a filter, a mop pad): a wear bar,
|
|
54543
|
+
* remaining time and a reset.
|
|
54544
|
+
* - `tank` — a container of liquid (clean water, dirty water): a fill gauge.
|
|
54545
|
+
* - `product` — something bought and refilled (detergent, salt, rinse aid):
|
|
54546
|
+
* a stepped level and "refill".
|
|
54547
|
+
* - `bin` — a container that collects waste (a dust bin): a fill gauge
|
|
54548
|
+
* that warns when full.
|
|
54549
|
+
* Absent = derived from the kind ({@link consumableFormOf}).
|
|
54550
|
+
*/
|
|
54551
|
+
var ConsumableFormSchema = _enum([
|
|
54552
|
+
"part",
|
|
54553
|
+
"tank",
|
|
54554
|
+
"product",
|
|
54555
|
+
"bin"
|
|
54556
|
+
]);
|
|
54557
|
+
/** The provider's own discrete verdict on an item. */
|
|
54558
|
+
var ConsumableStatusSchema = _enum([
|
|
54559
|
+
"ok",
|
|
54560
|
+
"low",
|
|
54561
|
+
"empty",
|
|
54562
|
+
"full",
|
|
54563
|
+
"replace"
|
|
54564
|
+
]);
|
|
54565
|
+
_enum([
|
|
54566
|
+
"ok",
|
|
54567
|
+
"low",
|
|
54568
|
+
"empty",
|
|
54569
|
+
"full"
|
|
54570
|
+
]);
|
|
54443
54571
|
/** Units a remaining-life counter is reported in. Closed: the panel renders
|
|
54444
54572
|
* each. */
|
|
54445
54573
|
var ConsumableRemainingUnitSchema = _enum([
|
|
@@ -54459,10 +54587,14 @@ var ConsumablesStatusSchema = object({
|
|
|
54459
54587
|
key: string().min(1),
|
|
54460
54588
|
/** Display name. */
|
|
54461
54589
|
label: string().min(1),
|
|
54462
|
-
/** Remaining life % when known (0..100). */
|
|
54590
|
+
/** Remaining life % (`wear`) or fill % (`supply`, `waste`) when known (0..100). */
|
|
54463
54591
|
level: number().min(0).max(100).nullable(),
|
|
54464
|
-
/**
|
|
54465
|
-
status:
|
|
54592
|
+
/** The provider's discrete verdict when known (binary mode). */
|
|
54593
|
+
status: ConsumableStatusSchema.nullable(),
|
|
54594
|
+
/** What the item is — decides whether low or full is bad. Absent = `wear`. */
|
|
54595
|
+
kind: ConsumableKindSchema.optional(),
|
|
54596
|
+
/** How the item is drawn (part, tank, product, bin). Absent = derived from `kind`. */
|
|
54597
|
+
form: ConsumableFormSchema.optional(),
|
|
54466
54598
|
/** Ms epoch of the last replace, when known. */
|
|
54467
54599
|
lastResetAt: number().nullable(),
|
|
54468
54600
|
/** Whether `reset()` is meaningful for this item. */
|
|
@@ -54709,8 +54841,9 @@ object({
|
|
|
54709
54841
|
status: DeviceStatusSchema
|
|
54710
54842
|
});
|
|
54711
54843
|
/**
|
|
54712
|
-
* Smart-dishwasher cap — program lifecycle, door / remote-start gates
|
|
54713
|
-
*
|
|
54844
|
+
* Smart-dishwasher cap — program lifecycle, door / remote-start gates and
|
|
54845
|
+
* common program options. Salt and rinse aid are NOT here: they are items of
|
|
54846
|
+
* the device's `consumables` cap, like every other device's (D915).
|
|
54714
54847
|
*
|
|
54715
54848
|
* Sources: native Bosch Home Connect (`dishwasher` device type). Reusable
|
|
54716
54849
|
* by any integration that exposes the same program / option surface.
|
|
@@ -54758,11 +54891,6 @@ var DishwasherAvailabilitySchema = _enum([
|
|
|
54758
54891
|
"offline",
|
|
54759
54892
|
"description-missing"
|
|
54760
54893
|
]);
|
|
54761
|
-
var DishwasherConsumableLevelSchema = _enum([
|
|
54762
|
-
"ok",
|
|
54763
|
-
"low",
|
|
54764
|
-
"empty"
|
|
54765
|
-
]);
|
|
54766
54894
|
object({
|
|
54767
54895
|
availability: DishwasherAvailabilitySchema,
|
|
54768
54896
|
/** Coarse state for compact surfaces; `unavailable` whenever the appliance state is not known. */
|
|
@@ -54795,8 +54923,6 @@ object({
|
|
|
54795
54923
|
powerOn: boolean().nullable(),
|
|
54796
54924
|
/** The raw power state (`On`, `Off`, `Standby`, …); null when not known. */
|
|
54797
54925
|
powerState: string().nullable(),
|
|
54798
|
-
saltLevel: DishwasherConsumableLevelSchema.nullable(),
|
|
54799
|
-
rinseAidLevel: DishwasherConsumableLevelSchema.nullable(),
|
|
54800
54926
|
/**
|
|
54801
54927
|
* True while the appliance asks for its filter to be cleaned (smart-filter, filter-system or
|
|
54802
54928
|
* combined care-and-filter reminder raised); false when every such reminder reads clear; null
|
|
@@ -56844,7 +56970,7 @@ DeviceType.Light, DeviceType.Siren, DeviceType.Switch, method(object({
|
|
|
56844
56970
|
enabled: boolean()
|
|
56845
56971
|
}), _void(), {
|
|
56846
56972
|
kind: "mutation",
|
|
56847
|
-
auth: "
|
|
56973
|
+
auth: "protected"
|
|
56848
56974
|
}), object({
|
|
56849
56975
|
deviceId: number(),
|
|
56850
56976
|
enabled: boolean(),
|
|
@@ -57334,6 +57460,13 @@ var TopologyNodeSchema = object({
|
|
|
57334
57460
|
cpuModel: string().nullable(),
|
|
57335
57461
|
cpuCores: number(),
|
|
57336
57462
|
memoryMB: number(),
|
|
57463
|
+
/**
|
|
57464
|
+
* The inference RUNTIMES installed on the node (`pythonRuntimes`: onnx,
|
|
57465
|
+
* openvino, edgetpu …) — not its devices. An installed runtime says nothing
|
|
57466
|
+
* about whether its hardware is there (a Coral delegate stays installed
|
|
57467
|
+
* after the stick leaves, D919); the live device set is
|
|
57468
|
+
* `pipelineOrchestrator.getNodeInferenceDevices`.
|
|
57469
|
+
*/
|
|
57337
57470
|
engines: array(string()).readonly(),
|
|
57338
57471
|
isHub: boolean(),
|
|
57339
57472
|
isOnline: boolean(),
|
|
@@ -58298,7 +58431,28 @@ var ResolvedInferenceConfigSchema = object({
|
|
|
58298
58431
|
format: ModelFormatSchema,
|
|
58299
58432
|
reason: string()
|
|
58300
58433
|
});
|
|
58301
|
-
|
|
58434
|
+
/**
|
|
58435
|
+
* The answer of an accelerator rescan (D919): the node's device list after
|
|
58436
|
+
* the re-probe, what changed, and the evidence that decided the Coral answer
|
|
58437
|
+
* (`usbBus` — could the USB bus be read at all; `decidedBy` — USB ids, the PCI
|
|
58438
|
+
* bus, the installed-delegate fallback, or nothing).
|
|
58439
|
+
*/
|
|
58440
|
+
var AcceleratorRescanSchema = object({
|
|
58441
|
+
devices: array(InferenceDeviceDescriptorSchema).readonly(),
|
|
58442
|
+
appeared: array(string()).readonly(),
|
|
58443
|
+
disappeared: array(string()).readonly(),
|
|
58444
|
+
usbBus: _enum(["observed", "unobservable"]),
|
|
58445
|
+
decidedBy: _enum([
|
|
58446
|
+
"usb-ids",
|
|
58447
|
+
"pci",
|
|
58448
|
+
"delegate-fallback",
|
|
58449
|
+
"none"
|
|
58450
|
+
])
|
|
58451
|
+
});
|
|
58452
|
+
method(_void(), PlatformCapabilitiesSchema), method(_void(), HardwareInfoSchema), method(object({ requirements: array(ModelRequirementSchema).readonly() }), ResolvedInferenceConfigSchema), method(object({ prefer: HwAccelBackendInputSchema }), HwAccelResolutionSchema), method(_void(), AcceleratorRescanSchema, {
|
|
58453
|
+
kind: "mutation",
|
|
58454
|
+
auth: "admin"
|
|
58455
|
+
});
|
|
58302
58456
|
object({
|
|
58303
58457
|
/** Instantaneous power draw in watts. */
|
|
58304
58458
|
watts: number().optional(),
|
|
@@ -61610,60 +61764,17 @@ method(_void(), array(UserSummarySchema), { auth: "admin" }), method(CreateUserI
|
|
|
61610
61764
|
auth: "admin",
|
|
61611
61765
|
access: "delete"
|
|
61612
61766
|
});
|
|
61613
|
-
/**
|
|
61614
|
-
* Robot-vacuum cap. Models HA `vacuum.*` entities — anything with a
|
|
61615
|
-
* cleaning lifecycle plus a return-to-base / locate surface and an
|
|
61616
|
-
* optional fan-speed selector.
|
|
61617
|
-
*
|
|
61618
|
-
* State follows HA's canonical vacuum lifecycle: `idle` / `cleaning` /
|
|
61619
|
-
* `paused` / `returning` / `docked` / `error`. `batteryLevel`
|
|
61620
|
-
* (0..100) is nullable — some vacuums don't report a battery
|
|
61621
|
-
* percentage. `fanSpeed` is the current speed token (provider-verbatim,
|
|
61622
|
-
* e.g. `'standard'` / `'turbo'`) and `availableFanSpeeds` lists the
|
|
61623
|
-
* tokens the hardware accepts so the UI renders only supported choices.
|
|
61624
|
-
*
|
|
61625
|
-
* The `setFanSpeed` method takes the bare `speed` token — the provider
|
|
61626
|
-
* validates it against the vacuum's own list. `locate` triggers the
|
|
61627
|
-
* find-me chirp; `returnToBase` sends it home.
|
|
61628
|
-
*
|
|
61629
|
-
* Consumable / waste tanks: `cleanWater` / `dirtyWater` / `detergent` /
|
|
61630
|
-
* `dustBin` each carry a nullable `{ level (0..100 %), status ('ok' |
|
|
61631
|
-
* 'low' | 'full') }` reading. Native providers (e.g. Dreame, Roborock)
|
|
61632
|
-
* SHOULD populate whichever tanks the hardware has — leave a field `null`
|
|
61633
|
-
* only when the device has no such tank at all, and use a `TankStatus`
|
|
61634
|
-
* with both inner fields `null` when the tank exists but its level is
|
|
61635
|
-
* currently unknown. HA `vacuum.*` entities expose no per-tank telemetry,
|
|
61636
|
-
* so the HA provider leaves all four `null`.
|
|
61637
|
-
*/
|
|
61638
|
-
var VacuumStateSchema = _enum([
|
|
61639
|
-
"idle",
|
|
61640
|
-
"cleaning",
|
|
61641
|
-
"paused",
|
|
61642
|
-
"returning",
|
|
61643
|
-
"docked",
|
|
61644
|
-
"drying",
|
|
61645
|
-
"error"
|
|
61646
|
-
]);
|
|
61647
|
-
/**
|
|
61648
|
-
* One consumable / waste tank on a robot vacuum (clean-water, dirty-water,
|
|
61649
|
-
* detergent or dust-bin). A tank can report a numeric fill `level` (0..100),
|
|
61650
|
-
* a discrete `status` (binary-style hardware), or both. Both `null` means the
|
|
61651
|
-
* level is currently unknown; the OWNING field being `null` means the
|
|
61652
|
-
* hardware has no such tank at all.
|
|
61653
|
-
*/
|
|
61654
|
-
var TankStatusSchema = object({
|
|
61655
|
-
/** Numeric fill 0..100 when the hardware reports a percentage; null otherwise. */
|
|
61656
|
-
level: number().min(0).max(100).nullable(),
|
|
61657
|
-
/** Discrete state when the hardware is binary-mode; null otherwise. */
|
|
61658
|
-
status: _enum([
|
|
61659
|
-
"ok",
|
|
61660
|
-
"low",
|
|
61661
|
-
"full"
|
|
61662
|
-
]).nullable()
|
|
61663
|
-
});
|
|
61664
61767
|
object({
|
|
61665
61768
|
/** Lifecycle state of the vacuum. */
|
|
61666
|
-
state:
|
|
61769
|
+
state: _enum([
|
|
61770
|
+
"idle",
|
|
61771
|
+
"cleaning",
|
|
61772
|
+
"paused",
|
|
61773
|
+
"returning",
|
|
61774
|
+
"docked",
|
|
61775
|
+
"drying",
|
|
61776
|
+
"error"
|
|
61777
|
+
]),
|
|
61667
61778
|
/** 0..100 battery percentage. Null when the device has no battery
|
|
61668
61779
|
* reading. */
|
|
61669
61780
|
batteryLevel: number().min(0).max(100).nullable(),
|
|
@@ -61672,14 +61783,6 @@ object({
|
|
|
61672
61783
|
fanSpeed: string().nullable(),
|
|
61673
61784
|
/** Speed tokens the hardware accepts — drives the UI selector. */
|
|
61674
61785
|
availableFanSpeeds: array(string()),
|
|
61675
|
-
/** Clean-water (mop) tank. Null when the hardware has no clean-water tank. */
|
|
61676
|
-
cleanWater: TankStatusSchema.nullable(),
|
|
61677
|
-
/** Dirty-water (recovery) tank. Null when the hardware has no dirty-water tank. */
|
|
61678
|
-
dirtyWater: TankStatusSchema.nullable(),
|
|
61679
|
-
/** Detergent tank. Null when the hardware has no detergent tank. */
|
|
61680
|
-
detergent: TankStatusSchema.nullable(),
|
|
61681
|
-
/** Dust bin. Null when the hardware has no dust bin. */
|
|
61682
|
-
dustBin: TankStatusSchema.nullable(),
|
|
61683
61786
|
/** 0..100 cleaning-completion percentage of the current task, or null. */
|
|
61684
61787
|
progressPercent: number().min(0).max(100).nullable(),
|
|
61685
61788
|
/** Current error code (0 / null = no error). */
|
|
@@ -64220,6 +64323,12 @@ Object.freeze({
|
|
|
64220
64323
|
addonId: null,
|
|
64221
64324
|
access: "create"
|
|
64222
64325
|
},
|
|
64326
|
+
"deviceHistory.deleteOrphanSeries": {
|
|
64327
|
+
capName: "device-history",
|
|
64328
|
+
capScope: "system",
|
|
64329
|
+
addonId: null,
|
|
64330
|
+
access: "delete"
|
|
64331
|
+
},
|
|
64223
64332
|
"deviceHistory.getDeviceEnabled": {
|
|
64224
64333
|
capName: "device-history",
|
|
64225
64334
|
capScope: "system",
|
|
@@ -64238,6 +64347,12 @@ Object.freeze({
|
|
|
64238
64347
|
addonId: null,
|
|
64239
64348
|
access: "view"
|
|
64240
64349
|
},
|
|
64350
|
+
"deviceHistory.listOrphanSeries": {
|
|
64351
|
+
capName: "device-history",
|
|
64352
|
+
capScope: "system",
|
|
64353
|
+
addonId: null,
|
|
64354
|
+
access: "view"
|
|
64355
|
+
},
|
|
64241
64356
|
"deviceHistory.listSeries": {
|
|
64242
64357
|
capName: "device-history",
|
|
64243
64358
|
capScope: "system",
|
|
@@ -67862,6 +67977,12 @@ Object.freeze({
|
|
|
67862
67977
|
addonId: null,
|
|
67863
67978
|
access: "delete"
|
|
67864
67979
|
},
|
|
67980
|
+
"pipelineOrchestrator.forgetInferenceDevice": {
|
|
67981
|
+
capName: "pipeline-orchestrator",
|
|
67982
|
+
capScope: "system",
|
|
67983
|
+
addonId: null,
|
|
67984
|
+
access: "delete"
|
|
67985
|
+
},
|
|
67865
67986
|
"pipelineOrchestrator.getAgentLoad": {
|
|
67866
67987
|
capName: "pipeline-orchestrator",
|
|
67867
67988
|
capScope: "system",
|
|
@@ -68438,6 +68559,12 @@ Object.freeze({
|
|
|
68438
68559
|
addonId: null,
|
|
68439
68560
|
access: "view"
|
|
68440
68561
|
},
|
|
68562
|
+
"platformProbe.rescanAccelerators": {
|
|
68563
|
+
capName: "platform-probe",
|
|
68564
|
+
capScope: "system",
|
|
68565
|
+
addonId: null,
|
|
68566
|
+
access: "create"
|
|
68567
|
+
},
|
|
68441
68568
|
"platformProbe.resolveHwAccel": {
|
|
68442
68569
|
capName: "platform-probe",
|
|
68443
68570
|
capScope: "system",
|
|
@@ -74243,7 +74370,7 @@ var STATE_SUMMARY_VARS = [
|
|
|
74243
74370
|
([...RULE_TEXT], [...COMBINED_ALARM]),
|
|
74244
74371
|
([...RULE_TEXT], [...DEVICE_EVENTS]),
|
|
74245
74372
|
([...RULE_TEXT], [...BATTERY, ...CONSUMABLE]),
|
|
74246
|
-
([...RULE_TEXT], [...CONSUMABLE]),
|
|
74373
|
+
([...RULE_TEXT], [...CONSUMABLE, ...TANK]),
|
|
74247
74374
|
([...RULE_TEXT], [...TANK]),
|
|
74248
74375
|
[...RULE_TEXT],
|
|
74249
74376
|
([...RULE_TEXT], [...UPDATES, ...ALERT_EPISODE]),
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@camstack/addon-export-alexa",
|
|
3
|
-
"version": "1.2.
|
|
3
|
+
"version": "1.2.164",
|
|
4
4
|
"description": "Alexa Smart Home Skill export — hub-side OAuth provider + directive handler. The companion AWS Lambda forwards Alexa directives to this addon's /addon/export-alexa/directive endpoint.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"camstack",
|