@camstack/addon-decoder-nodeav 1.2.84 → 1.2.86
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/index.js +129 -70
- package/dist/index.mjs +129 -70
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -15941,16 +15941,16 @@ DeviceType.AlarmPanel, method(object({
|
|
|
15941
15941
|
code: string().min(1).optional()
|
|
15942
15942
|
}), _void(), {
|
|
15943
15943
|
kind: "mutation",
|
|
15944
|
-
auth: "
|
|
15944
|
+
auth: "protected"
|
|
15945
15945
|
}), method(object({
|
|
15946
15946
|
deviceId: number().int().nonnegative(),
|
|
15947
15947
|
code: string().min(1).optional()
|
|
15948
15948
|
}), _void(), {
|
|
15949
15949
|
kind: "mutation",
|
|
15950
|
-
auth: "
|
|
15950
|
+
auth: "protected"
|
|
15951
15951
|
}), method(object({ deviceId: number().int().nonnegative() }), _void(), {
|
|
15952
15952
|
kind: "mutation",
|
|
15953
|
-
auth: "
|
|
15953
|
+
auth: "protected"
|
|
15954
15954
|
});
|
|
15955
15955
|
/**
|
|
15956
15956
|
* Shared geometry vocabulary for on-frame shape caps — privacy-mask,
|
|
@@ -23605,7 +23605,7 @@ DeviceType.Light, method(object({
|
|
|
23605
23605
|
percentage: number().min(0).max(100)
|
|
23606
23606
|
}), _void(), {
|
|
23607
23607
|
kind: "mutation",
|
|
23608
|
-
auth: "
|
|
23608
|
+
auth: "protected"
|
|
23609
23609
|
}), object({
|
|
23610
23610
|
deviceId: number(),
|
|
23611
23611
|
percentage: number().min(0).max(100),
|
|
@@ -23613,7 +23613,7 @@ DeviceType.Light, method(object({
|
|
|
23613
23613
|
});
|
|
23614
23614
|
DeviceType.Button, method(object({ deviceId: number().int().nonnegative() }), _void(), {
|
|
23615
23615
|
kind: "mutation",
|
|
23616
|
-
auth: "
|
|
23616
|
+
auth: "protected"
|
|
23617
23617
|
});
|
|
23618
23618
|
/**
|
|
23619
23619
|
* camera-credentials — device-scoped cap exposing the camera's network
|
|
@@ -23772,50 +23772,50 @@ DeviceType.Thermostat, DeviceType.Climate, method(object({
|
|
|
23772
23772
|
mode: HvacModeSchema
|
|
23773
23773
|
}), _void(), {
|
|
23774
23774
|
kind: "mutation",
|
|
23775
|
-
auth: "
|
|
23775
|
+
auth: "protected"
|
|
23776
23776
|
}), method(object({
|
|
23777
23777
|
deviceId: number().int().nonnegative(),
|
|
23778
23778
|
fanMode: string().min(1)
|
|
23779
23779
|
}), _void(), {
|
|
23780
23780
|
kind: "mutation",
|
|
23781
|
-
auth: "
|
|
23781
|
+
auth: "protected"
|
|
23782
23782
|
}), method(object({
|
|
23783
23783
|
deviceId: number().int().nonnegative(),
|
|
23784
23784
|
preset: string().min(1)
|
|
23785
23785
|
}), _void(), {
|
|
23786
23786
|
kind: "mutation",
|
|
23787
|
-
auth: "
|
|
23787
|
+
auth: "protected"
|
|
23788
23788
|
}), method(object({
|
|
23789
23789
|
deviceId: number().int().nonnegative(),
|
|
23790
23790
|
target: number()
|
|
23791
23791
|
}), _void(), {
|
|
23792
23792
|
kind: "mutation",
|
|
23793
|
-
auth: "
|
|
23793
|
+
auth: "protected"
|
|
23794
23794
|
}), method(object({
|
|
23795
23795
|
deviceId: number().int().nonnegative(),
|
|
23796
23796
|
targetLow: number(),
|
|
23797
23797
|
targetHigh: number()
|
|
23798
23798
|
}), _void(), {
|
|
23799
23799
|
kind: "mutation",
|
|
23800
|
-
auth: "
|
|
23800
|
+
auth: "protected"
|
|
23801
23801
|
}), method(object({
|
|
23802
23802
|
deviceId: number().int().nonnegative(),
|
|
23803
23803
|
targetHumidity: number().min(0).max(100)
|
|
23804
23804
|
}), _void(), {
|
|
23805
23805
|
kind: "mutation",
|
|
23806
|
-
auth: "
|
|
23806
|
+
auth: "protected"
|
|
23807
23807
|
}), method(object({
|
|
23808
23808
|
deviceId: number().int().nonnegative(),
|
|
23809
23809
|
on: boolean()
|
|
23810
23810
|
}), _void(), {
|
|
23811
23811
|
kind: "mutation",
|
|
23812
|
-
auth: "
|
|
23812
|
+
auth: "protected"
|
|
23813
23813
|
}), method(object({
|
|
23814
23814
|
deviceId: number().int().nonnegative(),
|
|
23815
23815
|
on: boolean()
|
|
23816
23816
|
}), _void(), {
|
|
23817
23817
|
kind: "mutation",
|
|
23818
|
-
auth: "
|
|
23818
|
+
auth: "protected"
|
|
23819
23819
|
});
|
|
23820
23820
|
/**
|
|
23821
23821
|
* Color-light cap. Coexists with `switch` (on/off) and `brightness`
|
|
@@ -23890,7 +23890,7 @@ DeviceType.Light, method(object({
|
|
|
23890
23890
|
color: ColorInputSchema
|
|
23891
23891
|
}), _void(), {
|
|
23892
23892
|
kind: "mutation",
|
|
23893
|
-
auth: "
|
|
23893
|
+
auth: "protected"
|
|
23894
23894
|
}), object({
|
|
23895
23895
|
deviceId: number(),
|
|
23896
23896
|
mode: _enum([
|
|
@@ -24039,7 +24039,7 @@ DeviceType.Control, method(object({
|
|
|
24039
24039
|
control: ControlSetValueInputSchema
|
|
24040
24040
|
}), _void(), {
|
|
24041
24041
|
kind: "mutation",
|
|
24042
|
-
auth: "
|
|
24042
|
+
auth: "protected"
|
|
24043
24043
|
});
|
|
24044
24044
|
object({
|
|
24045
24045
|
/** Lifecycle state of the cover. */
|
|
@@ -24060,25 +24060,25 @@ object({
|
|
|
24060
24060
|
});
|
|
24061
24061
|
DeviceType.Cover, method(object({ deviceId: number().int().nonnegative() }), _void(), {
|
|
24062
24062
|
kind: "mutation",
|
|
24063
|
-
auth: "
|
|
24063
|
+
auth: "protected"
|
|
24064
24064
|
}), method(object({ deviceId: number().int().nonnegative() }), _void(), {
|
|
24065
24065
|
kind: "mutation",
|
|
24066
|
-
auth: "
|
|
24066
|
+
auth: "protected"
|
|
24067
24067
|
}), method(object({ deviceId: number().int().nonnegative() }), _void(), {
|
|
24068
24068
|
kind: "mutation",
|
|
24069
|
-
auth: "
|
|
24069
|
+
auth: "protected"
|
|
24070
24070
|
}), method(object({
|
|
24071
24071
|
deviceId: number().int().nonnegative(),
|
|
24072
24072
|
position: number().min(0).max(100)
|
|
24073
24073
|
}), _void(), {
|
|
24074
24074
|
kind: "mutation",
|
|
24075
|
-
auth: "
|
|
24075
|
+
auth: "protected"
|
|
24076
24076
|
}), method(object({
|
|
24077
24077
|
deviceId: number().int().nonnegative(),
|
|
24078
24078
|
tiltPosition: number().min(0).max(100)
|
|
24079
24079
|
}), _void(), {
|
|
24080
24080
|
kind: "mutation",
|
|
24081
|
-
auth: "
|
|
24081
|
+
auth: "protected"
|
|
24082
24082
|
});
|
|
24083
24083
|
/**
|
|
24084
24084
|
* Vendor-neutral day/night (IR-cut) control — the per-camera config cap
|
|
@@ -24283,6 +24283,59 @@ var IdentitySampleInfoSchema = object({
|
|
|
24283
24283
|
deviceId: number().int().optional(),
|
|
24284
24284
|
base64: string().optional()
|
|
24285
24285
|
});
|
|
24286
|
+
/**
|
|
24287
|
+
* One enrolled sample, judged against the gallery it lives in.
|
|
24288
|
+
*
|
|
24289
|
+
* The gallery is the one input to recognition nobody re-reads: a sample
|
|
24290
|
+
* enrolled from the wrong face keeps voting forever, and because the matches it
|
|
24291
|
+
* pulls then look confident, nobody goes back. The 2026-09-08 audit found
|
|
24292
|
+
* exactly one such pair on this cluster — a sample scoring 0.61 against three
|
|
24293
|
+
* samples of ANOTHER person, enrolled from the same camera in the same minute,
|
|
24294
|
+
* where every other cross-identity pair sits under 0.50.
|
|
24295
|
+
*/
|
|
24296
|
+
var IdentitySampleAuditRowSchema = object({
|
|
24297
|
+
sampleId: string(),
|
|
24298
|
+
enrolledAt: number().int(),
|
|
24299
|
+
deviceId: number().int().optional(),
|
|
24300
|
+
source: _enum(["detected", "photo"]),
|
|
24301
|
+
/** The enrolled crop's media key, so the panel can show the evidence. */
|
|
24302
|
+
mediaKey: string().optional(),
|
|
24303
|
+
/**
|
|
24304
|
+
* False = the sample is stamped with a DIFFERENT face model, and a cosine
|
|
24305
|
+
* across feature spaces is a well-formed float with no meaning. Every number
|
|
24306
|
+
* below then says nothing — it must read as "cannot say", never as an
|
|
24307
|
+
* accusation and never as a clean bill: this list ends in a Remove button.
|
|
24308
|
+
*/
|
|
24309
|
+
comparable: boolean(),
|
|
24310
|
+
/** Mean cosine against this person's other samples. Null when there are none
|
|
24311
|
+
* to compare with — never 0, which would read as "opposite". */
|
|
24312
|
+
selfMean: number().nullable(),
|
|
24313
|
+
/** The other person this sample looks most like, when it looks like one.
|
|
24314
|
+
* This is the half that convicts: not looking like yourself can be a hard
|
|
24315
|
+
* angle; looking like someone the gallery can NAME is a mis-enrolment. */
|
|
24316
|
+
bestForeign: object({
|
|
24317
|
+
identityId: string(),
|
|
24318
|
+
name: string(),
|
|
24319
|
+
score: number()
|
|
24320
|
+
}).optional(),
|
|
24321
|
+
/** 0 = nothing to say. Higher = look at this one sooner. */
|
|
24322
|
+
suspicion: number()
|
|
24323
|
+
});
|
|
24324
|
+
var IdentitySampleAuditSchema = object({
|
|
24325
|
+
identityId: string(),
|
|
24326
|
+
name: string(),
|
|
24327
|
+
/** The cluster face model every comparison was made in. */
|
|
24328
|
+
modelId: string(),
|
|
24329
|
+
totalSamples: number().int(),
|
|
24330
|
+
comparableSamples: number().int(),
|
|
24331
|
+
flagged: number().int(),
|
|
24332
|
+
/** The bar `flagged` counts against, so the panel states the RULE and not
|
|
24333
|
+
* only its current result. */
|
|
24334
|
+
flagThreshold: number(),
|
|
24335
|
+
/** Worst first. A row with nothing to say still appears, at the bottom: the
|
|
24336
|
+
* operator asked to see the gallery, not only its accusations. */
|
|
24337
|
+
rows: array(IdentitySampleAuditRowSchema).readonly()
|
|
24338
|
+
});
|
|
24286
24339
|
var FaceInfoSchema = object({
|
|
24287
24340
|
faceId: string(),
|
|
24288
24341
|
deviceId: number().int(),
|
|
@@ -24434,7 +24487,7 @@ includeCrops: boolean().optional() }).optional(), array(IdentitySchema).readonly
|
|
|
24434
24487
|
}), method(object({ id: string() }), _void(), {
|
|
24435
24488
|
kind: "mutation",
|
|
24436
24489
|
auth: "admin"
|
|
24437
|
-
}), method(object({ identityId: string() }), array(IdentitySampleInfoSchema).readonly()), method(object({
|
|
24490
|
+
}), method(object({ identityId: string() }), array(IdentitySampleInfoSchema).readonly()), method(object({ identityId: string().min(1) }), IdentitySampleAuditSchema, { auth: "admin" }), method(object({
|
|
24438
24491
|
identityId: string(),
|
|
24439
24492
|
sampleId: string()
|
|
24440
24493
|
}), _void(), {
|
|
@@ -24620,25 +24673,25 @@ DeviceType.Fan, method(object({
|
|
|
24620
24673
|
percentage: number().min(0).max(100)
|
|
24621
24674
|
}), _void(), {
|
|
24622
24675
|
kind: "mutation",
|
|
24623
|
-
auth: "
|
|
24676
|
+
auth: "protected"
|
|
24624
24677
|
}), method(object({
|
|
24625
24678
|
deviceId: number().int().nonnegative(),
|
|
24626
24679
|
preset: string().min(1)
|
|
24627
24680
|
}), _void(), {
|
|
24628
24681
|
kind: "mutation",
|
|
24629
|
-
auth: "
|
|
24682
|
+
auth: "protected"
|
|
24630
24683
|
}), method(object({
|
|
24631
24684
|
deviceId: number().int().nonnegative(),
|
|
24632
24685
|
direction: FanDirectionSchema
|
|
24633
24686
|
}), _void(), {
|
|
24634
24687
|
kind: "mutation",
|
|
24635
|
-
auth: "
|
|
24688
|
+
auth: "protected"
|
|
24636
24689
|
}), method(object({
|
|
24637
24690
|
deviceId: number().int().nonnegative(),
|
|
24638
24691
|
oscillating: boolean()
|
|
24639
24692
|
}), _void(), {
|
|
24640
24693
|
kind: "mutation",
|
|
24641
|
-
auth: "
|
|
24694
|
+
auth: "protected"
|
|
24642
24695
|
});
|
|
24643
24696
|
/**
|
|
24644
24697
|
* Per-device feature/identity probe slice. Holds the runtime-resolved
|
|
@@ -24741,19 +24794,19 @@ DeviceType.Humidifier, method(object({
|
|
|
24741
24794
|
on: boolean()
|
|
24742
24795
|
}), _void(), {
|
|
24743
24796
|
kind: "mutation",
|
|
24744
|
-
auth: "
|
|
24797
|
+
auth: "protected"
|
|
24745
24798
|
}), method(object({
|
|
24746
24799
|
deviceId: number().int().nonnegative(),
|
|
24747
24800
|
humidity: number().min(0).max(100)
|
|
24748
24801
|
}), _void(), {
|
|
24749
24802
|
kind: "mutation",
|
|
24750
|
-
auth: "
|
|
24803
|
+
auth: "protected"
|
|
24751
24804
|
}), method(object({
|
|
24752
24805
|
deviceId: number().int().nonnegative(),
|
|
24753
24806
|
mode: string().min(1)
|
|
24754
24807
|
}), _void(), {
|
|
24755
24808
|
kind: "mutation",
|
|
24756
|
-
auth: "
|
|
24809
|
+
auth: "protected"
|
|
24757
24810
|
});
|
|
24758
24811
|
object({
|
|
24759
24812
|
/** Current relative humidity, 0..100. */
|
|
@@ -25215,13 +25268,13 @@ object({
|
|
|
25215
25268
|
});
|
|
25216
25269
|
DeviceType.LawnMower, method(object({ deviceId: number().int().nonnegative() }), _void(), {
|
|
25217
25270
|
kind: "mutation",
|
|
25218
|
-
auth: "
|
|
25271
|
+
auth: "protected"
|
|
25219
25272
|
}), method(object({ deviceId: number().int().nonnegative() }), _void(), {
|
|
25220
25273
|
kind: "mutation",
|
|
25221
|
-
auth: "
|
|
25274
|
+
auth: "protected"
|
|
25222
25275
|
}), method(object({ deviceId: number().int().nonnegative() }), _void(), {
|
|
25223
25276
|
kind: "mutation",
|
|
25224
|
-
auth: "
|
|
25277
|
+
auth: "protected"
|
|
25225
25278
|
});
|
|
25226
25279
|
/**
|
|
25227
25280
|
* local-network — hub-only singleton.
|
|
@@ -25481,16 +25534,16 @@ DeviceType.Lock, method(object({
|
|
|
25481
25534
|
code: string().min(1).optional()
|
|
25482
25535
|
}), _void(), {
|
|
25483
25536
|
kind: "mutation",
|
|
25484
|
-
auth: "
|
|
25537
|
+
auth: "protected"
|
|
25485
25538
|
}), method(object({
|
|
25486
25539
|
deviceId: number().int().nonnegative(),
|
|
25487
25540
|
code: string().min(1).optional()
|
|
25488
25541
|
}), _void(), {
|
|
25489
25542
|
kind: "mutation",
|
|
25490
|
-
auth: "
|
|
25543
|
+
auth: "protected"
|
|
25491
25544
|
}), method(object({ deviceId: number().int().nonnegative() }), _void(), {
|
|
25492
25545
|
kind: "mutation",
|
|
25493
|
-
auth: "
|
|
25546
|
+
auth: "protected"
|
|
25494
25547
|
});
|
|
25495
25548
|
/**
|
|
25496
25549
|
* Media-player cap. Models HA `media_player.*` (Sonos, Chromecast,
|
|
@@ -25564,55 +25617,55 @@ object({
|
|
|
25564
25617
|
});
|
|
25565
25618
|
DeviceType.MediaPlayer, method(object({ deviceId: number().int().nonnegative() }), _void(), {
|
|
25566
25619
|
kind: "mutation",
|
|
25567
|
-
auth: "
|
|
25620
|
+
auth: "protected"
|
|
25568
25621
|
}), method(object({ deviceId: number().int().nonnegative() }), _void(), {
|
|
25569
25622
|
kind: "mutation",
|
|
25570
|
-
auth: "
|
|
25623
|
+
auth: "protected"
|
|
25571
25624
|
}), method(object({ deviceId: number().int().nonnegative() }), _void(), {
|
|
25572
25625
|
kind: "mutation",
|
|
25573
|
-
auth: "
|
|
25626
|
+
auth: "protected"
|
|
25574
25627
|
}), method(object({ deviceId: number().int().nonnegative() }), _void(), {
|
|
25575
25628
|
kind: "mutation",
|
|
25576
|
-
auth: "
|
|
25629
|
+
auth: "protected"
|
|
25577
25630
|
}), method(object({ deviceId: number().int().nonnegative() }), _void(), {
|
|
25578
25631
|
kind: "mutation",
|
|
25579
|
-
auth: "
|
|
25632
|
+
auth: "protected"
|
|
25580
25633
|
}), method(object({
|
|
25581
25634
|
deviceId: number().int().nonnegative(),
|
|
25582
25635
|
positionMs: number().int().nonnegative()
|
|
25583
25636
|
}), _void(), {
|
|
25584
25637
|
kind: "mutation",
|
|
25585
|
-
auth: "
|
|
25638
|
+
auth: "protected"
|
|
25586
25639
|
}), method(object({
|
|
25587
25640
|
deviceId: number().int().nonnegative(),
|
|
25588
25641
|
volumeLevel: number().min(0).max(100)
|
|
25589
25642
|
}), _void(), {
|
|
25590
25643
|
kind: "mutation",
|
|
25591
|
-
auth: "
|
|
25644
|
+
auth: "protected"
|
|
25592
25645
|
}), method(object({
|
|
25593
25646
|
deviceId: number().int().nonnegative(),
|
|
25594
25647
|
muted: boolean()
|
|
25595
25648
|
}), _void(), {
|
|
25596
25649
|
kind: "mutation",
|
|
25597
|
-
auth: "
|
|
25650
|
+
auth: "protected"
|
|
25598
25651
|
}), method(object({
|
|
25599
25652
|
deviceId: number().int().nonnegative(),
|
|
25600
25653
|
shuffle: boolean()
|
|
25601
25654
|
}), _void(), {
|
|
25602
25655
|
kind: "mutation",
|
|
25603
|
-
auth: "
|
|
25656
|
+
auth: "protected"
|
|
25604
25657
|
}), method(object({
|
|
25605
25658
|
deviceId: number().int().nonnegative(),
|
|
25606
25659
|
repeat: MediaPlayerRepeatSchema
|
|
25607
25660
|
}), _void(), {
|
|
25608
25661
|
kind: "mutation",
|
|
25609
|
-
auth: "
|
|
25662
|
+
auth: "protected"
|
|
25610
25663
|
}), method(object({
|
|
25611
25664
|
deviceId: number().int().nonnegative(),
|
|
25612
25665
|
source: string().min(1)
|
|
25613
25666
|
}), _void(), {
|
|
25614
25667
|
kind: "mutation",
|
|
25615
|
-
auth: "
|
|
25668
|
+
auth: "protected"
|
|
25616
25669
|
}), method(object({
|
|
25617
25670
|
deviceId: number().int().nonnegative(),
|
|
25618
25671
|
/** Media identifier / URL. */
|
|
@@ -25622,7 +25675,7 @@ DeviceType.MediaPlayer, method(object({ deviceId: number().int().nonnegative() }
|
|
|
25622
25675
|
mediaType: string().min(1)
|
|
25623
25676
|
}), _void(), {
|
|
25624
25677
|
kind: "mutation",
|
|
25625
|
-
auth: "
|
|
25678
|
+
auth: "protected"
|
|
25626
25679
|
});
|
|
25627
25680
|
/**
|
|
25628
25681
|
* mesh-network — collection cap for mesh-VPN providers.
|
|
@@ -26788,49 +26841,49 @@ DeviceType.PetFeeder, method(object({
|
|
|
26788
26841
|
hopper2: gramsPortion.optional()
|
|
26789
26842
|
}), _void(), {
|
|
26790
26843
|
kind: "mutation",
|
|
26791
|
-
auth: "
|
|
26844
|
+
auth: "protected"
|
|
26792
26845
|
}), method(object({ deviceId: number().int().nonnegative() }), _void(), {
|
|
26793
26846
|
kind: "mutation",
|
|
26794
|
-
auth: "
|
|
26847
|
+
auth: "protected"
|
|
26795
26848
|
}), method(object({ deviceId: number().int().nonnegative() }), _void(), {
|
|
26796
26849
|
kind: "mutation",
|
|
26797
|
-
auth: "
|
|
26850
|
+
auth: "protected"
|
|
26798
26851
|
}), method(object({ deviceId: number().int().nonnegative() }), _void(), {
|
|
26799
26852
|
kind: "mutation",
|
|
26800
|
-
auth: "
|
|
26853
|
+
auth: "protected"
|
|
26801
26854
|
}), method(object({ deviceId: number().int().nonnegative() }), _void(), {
|
|
26802
26855
|
kind: "mutation",
|
|
26803
|
-
auth: "
|
|
26856
|
+
auth: "protected"
|
|
26804
26857
|
}), method(object({
|
|
26805
26858
|
deviceId: number().int().nonnegative(),
|
|
26806
26859
|
soundId: number().int().nonnegative()
|
|
26807
26860
|
}), _void(), {
|
|
26808
26861
|
kind: "mutation",
|
|
26809
|
-
auth: "
|
|
26862
|
+
auth: "protected"
|
|
26810
26863
|
}), method(object({
|
|
26811
26864
|
deviceId: number().int().nonnegative(),
|
|
26812
26865
|
on: boolean()
|
|
26813
26866
|
}), _void(), {
|
|
26814
26867
|
kind: "mutation",
|
|
26815
|
-
auth: "
|
|
26868
|
+
auth: "protected"
|
|
26816
26869
|
}), method(object({
|
|
26817
26870
|
deviceId: number().int().nonnegative(),
|
|
26818
26871
|
on: boolean()
|
|
26819
26872
|
}), _void(), {
|
|
26820
26873
|
kind: "mutation",
|
|
26821
|
-
auth: "
|
|
26874
|
+
auth: "protected"
|
|
26822
26875
|
}), method(object({
|
|
26823
26876
|
deviceId: number().int().nonnegative(),
|
|
26824
26877
|
on: boolean()
|
|
26825
26878
|
}), _void(), {
|
|
26826
26879
|
kind: "mutation",
|
|
26827
|
-
auth: "
|
|
26880
|
+
auth: "protected"
|
|
26828
26881
|
}), method(object({
|
|
26829
26882
|
deviceId: number().int().nonnegative(),
|
|
26830
26883
|
level: number().int().nonnegative()
|
|
26831
26884
|
}), _void(), {
|
|
26832
26885
|
kind: "mutation",
|
|
26833
|
-
auth: "
|
|
26886
|
+
auth: "protected"
|
|
26834
26887
|
});
|
|
26835
26888
|
var VehicleSchema = object({
|
|
26836
26889
|
id: string(),
|
|
@@ -28617,7 +28670,7 @@ DeviceType.Switch, DeviceType.Siren, DeviceType.Light, method(object({
|
|
|
28617
28670
|
on: boolean()
|
|
28618
28671
|
}), _void(), {
|
|
28619
28672
|
kind: "mutation",
|
|
28620
|
-
auth: "
|
|
28673
|
+
auth: "protected"
|
|
28621
28674
|
}), object({
|
|
28622
28675
|
deviceId: number(),
|
|
28623
28676
|
on: boolean(),
|
|
@@ -29474,25 +29527,25 @@ object({
|
|
|
29474
29527
|
});
|
|
29475
29528
|
DeviceType.Vacuum, method(object({ deviceId: number().int().nonnegative() }), _void(), {
|
|
29476
29529
|
kind: "mutation",
|
|
29477
|
-
auth: "
|
|
29530
|
+
auth: "protected"
|
|
29478
29531
|
}), method(object({ deviceId: number().int().nonnegative() }), _void(), {
|
|
29479
29532
|
kind: "mutation",
|
|
29480
|
-
auth: "
|
|
29533
|
+
auth: "protected"
|
|
29481
29534
|
}), method(object({ deviceId: number().int().nonnegative() }), _void(), {
|
|
29482
29535
|
kind: "mutation",
|
|
29483
|
-
auth: "
|
|
29536
|
+
auth: "protected"
|
|
29484
29537
|
}), method(object({ deviceId: number().int().nonnegative() }), _void(), {
|
|
29485
29538
|
kind: "mutation",
|
|
29486
|
-
auth: "
|
|
29539
|
+
auth: "protected"
|
|
29487
29540
|
}), method(object({ deviceId: number().int().nonnegative() }), _void(), {
|
|
29488
29541
|
kind: "mutation",
|
|
29489
|
-
auth: "
|
|
29542
|
+
auth: "protected"
|
|
29490
29543
|
}), method(object({
|
|
29491
29544
|
deviceId: number().int().nonnegative(),
|
|
29492
29545
|
speed: string().min(1)
|
|
29493
29546
|
}), _void(), {
|
|
29494
29547
|
kind: "mutation",
|
|
29495
|
-
auth: "
|
|
29548
|
+
auth: "protected"
|
|
29496
29549
|
});
|
|
29497
29550
|
object({
|
|
29498
29551
|
/** Lifecycle state of the valve. */
|
|
@@ -29511,19 +29564,19 @@ object({
|
|
|
29511
29564
|
});
|
|
29512
29565
|
DeviceType.Valve, method(object({ deviceId: number().int().nonnegative() }), _void(), {
|
|
29513
29566
|
kind: "mutation",
|
|
29514
|
-
auth: "
|
|
29567
|
+
auth: "protected"
|
|
29515
29568
|
}), method(object({ deviceId: number().int().nonnegative() }), _void(), {
|
|
29516
29569
|
kind: "mutation",
|
|
29517
|
-
auth: "
|
|
29570
|
+
auth: "protected"
|
|
29518
29571
|
}), method(object({ deviceId: number().int().nonnegative() }), _void(), {
|
|
29519
29572
|
kind: "mutation",
|
|
29520
|
-
auth: "
|
|
29573
|
+
auth: "protected"
|
|
29521
29574
|
}), method(object({
|
|
29522
29575
|
deviceId: number().int().nonnegative(),
|
|
29523
29576
|
position: number().min(0).max(100)
|
|
29524
29577
|
}), _void(), {
|
|
29525
29578
|
kind: "mutation",
|
|
29526
|
-
auth: "
|
|
29579
|
+
auth: "protected"
|
|
29527
29580
|
});
|
|
29528
29581
|
object({
|
|
29529
29582
|
detected: boolean(),
|
|
@@ -29557,19 +29610,19 @@ DeviceType.WaterHeater, method(object({
|
|
|
29557
29610
|
temp: number().finite()
|
|
29558
29611
|
}), _void(), {
|
|
29559
29612
|
kind: "mutation",
|
|
29560
|
-
auth: "
|
|
29613
|
+
auth: "protected"
|
|
29561
29614
|
}), method(object({
|
|
29562
29615
|
deviceId: number().int().nonnegative(),
|
|
29563
29616
|
mode: string().min(1)
|
|
29564
29617
|
}), _void(), {
|
|
29565
29618
|
kind: "mutation",
|
|
29566
|
-
auth: "
|
|
29619
|
+
auth: "protected"
|
|
29567
29620
|
}), method(object({
|
|
29568
29621
|
deviceId: number().int().nonnegative(),
|
|
29569
29622
|
on: boolean()
|
|
29570
29623
|
}), _void(), {
|
|
29571
29624
|
kind: "mutation",
|
|
29572
|
-
auth: "
|
|
29625
|
+
auth: "protected"
|
|
29573
29626
|
});
|
|
29574
29627
|
object({
|
|
29575
29628
|
/** Verbatim HA condition state (`sunny`, `cloudy`, `rainy`, …). Null
|
|
@@ -31661,6 +31714,12 @@ Object.freeze({
|
|
|
31661
31714
|
addonId: null,
|
|
31662
31715
|
access: "create"
|
|
31663
31716
|
},
|
|
31717
|
+
"faceGallery.auditIdentitySamples": {
|
|
31718
|
+
capName: "face-gallery",
|
|
31719
|
+
capScope: "system",
|
|
31720
|
+
addonId: null,
|
|
31721
|
+
access: "view"
|
|
31722
|
+
},
|
|
31664
31723
|
"faceGallery.createIdentity": {
|
|
31665
31724
|
capName: "face-gallery",
|
|
31666
31725
|
capScope: "system",
|
package/dist/index.mjs
CHANGED
|
@@ -15937,16 +15937,16 @@ DeviceType.AlarmPanel, method(object({
|
|
|
15937
15937
|
code: string().min(1).optional()
|
|
15938
15938
|
}), _void(), {
|
|
15939
15939
|
kind: "mutation",
|
|
15940
|
-
auth: "
|
|
15940
|
+
auth: "protected"
|
|
15941
15941
|
}), method(object({
|
|
15942
15942
|
deviceId: number().int().nonnegative(),
|
|
15943
15943
|
code: string().min(1).optional()
|
|
15944
15944
|
}), _void(), {
|
|
15945
15945
|
kind: "mutation",
|
|
15946
|
-
auth: "
|
|
15946
|
+
auth: "protected"
|
|
15947
15947
|
}), method(object({ deviceId: number().int().nonnegative() }), _void(), {
|
|
15948
15948
|
kind: "mutation",
|
|
15949
|
-
auth: "
|
|
15949
|
+
auth: "protected"
|
|
15950
15950
|
});
|
|
15951
15951
|
/**
|
|
15952
15952
|
* Shared geometry vocabulary for on-frame shape caps — privacy-mask,
|
|
@@ -23601,7 +23601,7 @@ DeviceType.Light, method(object({
|
|
|
23601
23601
|
percentage: number().min(0).max(100)
|
|
23602
23602
|
}), _void(), {
|
|
23603
23603
|
kind: "mutation",
|
|
23604
|
-
auth: "
|
|
23604
|
+
auth: "protected"
|
|
23605
23605
|
}), object({
|
|
23606
23606
|
deviceId: number(),
|
|
23607
23607
|
percentage: number().min(0).max(100),
|
|
@@ -23609,7 +23609,7 @@ DeviceType.Light, method(object({
|
|
|
23609
23609
|
});
|
|
23610
23610
|
DeviceType.Button, method(object({ deviceId: number().int().nonnegative() }), _void(), {
|
|
23611
23611
|
kind: "mutation",
|
|
23612
|
-
auth: "
|
|
23612
|
+
auth: "protected"
|
|
23613
23613
|
});
|
|
23614
23614
|
/**
|
|
23615
23615
|
* camera-credentials — device-scoped cap exposing the camera's network
|
|
@@ -23768,50 +23768,50 @@ DeviceType.Thermostat, DeviceType.Climate, method(object({
|
|
|
23768
23768
|
mode: HvacModeSchema
|
|
23769
23769
|
}), _void(), {
|
|
23770
23770
|
kind: "mutation",
|
|
23771
|
-
auth: "
|
|
23771
|
+
auth: "protected"
|
|
23772
23772
|
}), method(object({
|
|
23773
23773
|
deviceId: number().int().nonnegative(),
|
|
23774
23774
|
fanMode: string().min(1)
|
|
23775
23775
|
}), _void(), {
|
|
23776
23776
|
kind: "mutation",
|
|
23777
|
-
auth: "
|
|
23777
|
+
auth: "protected"
|
|
23778
23778
|
}), method(object({
|
|
23779
23779
|
deviceId: number().int().nonnegative(),
|
|
23780
23780
|
preset: string().min(1)
|
|
23781
23781
|
}), _void(), {
|
|
23782
23782
|
kind: "mutation",
|
|
23783
|
-
auth: "
|
|
23783
|
+
auth: "protected"
|
|
23784
23784
|
}), method(object({
|
|
23785
23785
|
deviceId: number().int().nonnegative(),
|
|
23786
23786
|
target: number()
|
|
23787
23787
|
}), _void(), {
|
|
23788
23788
|
kind: "mutation",
|
|
23789
|
-
auth: "
|
|
23789
|
+
auth: "protected"
|
|
23790
23790
|
}), method(object({
|
|
23791
23791
|
deviceId: number().int().nonnegative(),
|
|
23792
23792
|
targetLow: number(),
|
|
23793
23793
|
targetHigh: number()
|
|
23794
23794
|
}), _void(), {
|
|
23795
23795
|
kind: "mutation",
|
|
23796
|
-
auth: "
|
|
23796
|
+
auth: "protected"
|
|
23797
23797
|
}), method(object({
|
|
23798
23798
|
deviceId: number().int().nonnegative(),
|
|
23799
23799
|
targetHumidity: number().min(0).max(100)
|
|
23800
23800
|
}), _void(), {
|
|
23801
23801
|
kind: "mutation",
|
|
23802
|
-
auth: "
|
|
23802
|
+
auth: "protected"
|
|
23803
23803
|
}), method(object({
|
|
23804
23804
|
deviceId: number().int().nonnegative(),
|
|
23805
23805
|
on: boolean()
|
|
23806
23806
|
}), _void(), {
|
|
23807
23807
|
kind: "mutation",
|
|
23808
|
-
auth: "
|
|
23808
|
+
auth: "protected"
|
|
23809
23809
|
}), method(object({
|
|
23810
23810
|
deviceId: number().int().nonnegative(),
|
|
23811
23811
|
on: boolean()
|
|
23812
23812
|
}), _void(), {
|
|
23813
23813
|
kind: "mutation",
|
|
23814
|
-
auth: "
|
|
23814
|
+
auth: "protected"
|
|
23815
23815
|
});
|
|
23816
23816
|
/**
|
|
23817
23817
|
* Color-light cap. Coexists with `switch` (on/off) and `brightness`
|
|
@@ -23886,7 +23886,7 @@ DeviceType.Light, method(object({
|
|
|
23886
23886
|
color: ColorInputSchema
|
|
23887
23887
|
}), _void(), {
|
|
23888
23888
|
kind: "mutation",
|
|
23889
|
-
auth: "
|
|
23889
|
+
auth: "protected"
|
|
23890
23890
|
}), object({
|
|
23891
23891
|
deviceId: number(),
|
|
23892
23892
|
mode: _enum([
|
|
@@ -24035,7 +24035,7 @@ DeviceType.Control, method(object({
|
|
|
24035
24035
|
control: ControlSetValueInputSchema
|
|
24036
24036
|
}), _void(), {
|
|
24037
24037
|
kind: "mutation",
|
|
24038
|
-
auth: "
|
|
24038
|
+
auth: "protected"
|
|
24039
24039
|
});
|
|
24040
24040
|
object({
|
|
24041
24041
|
/** Lifecycle state of the cover. */
|
|
@@ -24056,25 +24056,25 @@ object({
|
|
|
24056
24056
|
});
|
|
24057
24057
|
DeviceType.Cover, method(object({ deviceId: number().int().nonnegative() }), _void(), {
|
|
24058
24058
|
kind: "mutation",
|
|
24059
|
-
auth: "
|
|
24059
|
+
auth: "protected"
|
|
24060
24060
|
}), method(object({ deviceId: number().int().nonnegative() }), _void(), {
|
|
24061
24061
|
kind: "mutation",
|
|
24062
|
-
auth: "
|
|
24062
|
+
auth: "protected"
|
|
24063
24063
|
}), method(object({ deviceId: number().int().nonnegative() }), _void(), {
|
|
24064
24064
|
kind: "mutation",
|
|
24065
|
-
auth: "
|
|
24065
|
+
auth: "protected"
|
|
24066
24066
|
}), method(object({
|
|
24067
24067
|
deviceId: number().int().nonnegative(),
|
|
24068
24068
|
position: number().min(0).max(100)
|
|
24069
24069
|
}), _void(), {
|
|
24070
24070
|
kind: "mutation",
|
|
24071
|
-
auth: "
|
|
24071
|
+
auth: "protected"
|
|
24072
24072
|
}), method(object({
|
|
24073
24073
|
deviceId: number().int().nonnegative(),
|
|
24074
24074
|
tiltPosition: number().min(0).max(100)
|
|
24075
24075
|
}), _void(), {
|
|
24076
24076
|
kind: "mutation",
|
|
24077
|
-
auth: "
|
|
24077
|
+
auth: "protected"
|
|
24078
24078
|
});
|
|
24079
24079
|
/**
|
|
24080
24080
|
* Vendor-neutral day/night (IR-cut) control — the per-camera config cap
|
|
@@ -24279,6 +24279,59 @@ var IdentitySampleInfoSchema = object({
|
|
|
24279
24279
|
deviceId: number().int().optional(),
|
|
24280
24280
|
base64: string().optional()
|
|
24281
24281
|
});
|
|
24282
|
+
/**
|
|
24283
|
+
* One enrolled sample, judged against the gallery it lives in.
|
|
24284
|
+
*
|
|
24285
|
+
* The gallery is the one input to recognition nobody re-reads: a sample
|
|
24286
|
+
* enrolled from the wrong face keeps voting forever, and because the matches it
|
|
24287
|
+
* pulls then look confident, nobody goes back. The 2026-09-08 audit found
|
|
24288
|
+
* exactly one such pair on this cluster — a sample scoring 0.61 against three
|
|
24289
|
+
* samples of ANOTHER person, enrolled from the same camera in the same minute,
|
|
24290
|
+
* where every other cross-identity pair sits under 0.50.
|
|
24291
|
+
*/
|
|
24292
|
+
var IdentitySampleAuditRowSchema = object({
|
|
24293
|
+
sampleId: string(),
|
|
24294
|
+
enrolledAt: number().int(),
|
|
24295
|
+
deviceId: number().int().optional(),
|
|
24296
|
+
source: _enum(["detected", "photo"]),
|
|
24297
|
+
/** The enrolled crop's media key, so the panel can show the evidence. */
|
|
24298
|
+
mediaKey: string().optional(),
|
|
24299
|
+
/**
|
|
24300
|
+
* False = the sample is stamped with a DIFFERENT face model, and a cosine
|
|
24301
|
+
* across feature spaces is a well-formed float with no meaning. Every number
|
|
24302
|
+
* below then says nothing — it must read as "cannot say", never as an
|
|
24303
|
+
* accusation and never as a clean bill: this list ends in a Remove button.
|
|
24304
|
+
*/
|
|
24305
|
+
comparable: boolean(),
|
|
24306
|
+
/** Mean cosine against this person's other samples. Null when there are none
|
|
24307
|
+
* to compare with — never 0, which would read as "opposite". */
|
|
24308
|
+
selfMean: number().nullable(),
|
|
24309
|
+
/** The other person this sample looks most like, when it looks like one.
|
|
24310
|
+
* This is the half that convicts: not looking like yourself can be a hard
|
|
24311
|
+
* angle; looking like someone the gallery can NAME is a mis-enrolment. */
|
|
24312
|
+
bestForeign: object({
|
|
24313
|
+
identityId: string(),
|
|
24314
|
+
name: string(),
|
|
24315
|
+
score: number()
|
|
24316
|
+
}).optional(),
|
|
24317
|
+
/** 0 = nothing to say. Higher = look at this one sooner. */
|
|
24318
|
+
suspicion: number()
|
|
24319
|
+
});
|
|
24320
|
+
var IdentitySampleAuditSchema = object({
|
|
24321
|
+
identityId: string(),
|
|
24322
|
+
name: string(),
|
|
24323
|
+
/** The cluster face model every comparison was made in. */
|
|
24324
|
+
modelId: string(),
|
|
24325
|
+
totalSamples: number().int(),
|
|
24326
|
+
comparableSamples: number().int(),
|
|
24327
|
+
flagged: number().int(),
|
|
24328
|
+
/** The bar `flagged` counts against, so the panel states the RULE and not
|
|
24329
|
+
* only its current result. */
|
|
24330
|
+
flagThreshold: number(),
|
|
24331
|
+
/** Worst first. A row with nothing to say still appears, at the bottom: the
|
|
24332
|
+
* operator asked to see the gallery, not only its accusations. */
|
|
24333
|
+
rows: array(IdentitySampleAuditRowSchema).readonly()
|
|
24334
|
+
});
|
|
24282
24335
|
var FaceInfoSchema = object({
|
|
24283
24336
|
faceId: string(),
|
|
24284
24337
|
deviceId: number().int(),
|
|
@@ -24430,7 +24483,7 @@ includeCrops: boolean().optional() }).optional(), array(IdentitySchema).readonly
|
|
|
24430
24483
|
}), method(object({ id: string() }), _void(), {
|
|
24431
24484
|
kind: "mutation",
|
|
24432
24485
|
auth: "admin"
|
|
24433
|
-
}), method(object({ identityId: string() }), array(IdentitySampleInfoSchema).readonly()), method(object({
|
|
24486
|
+
}), method(object({ identityId: string() }), array(IdentitySampleInfoSchema).readonly()), method(object({ identityId: string().min(1) }), IdentitySampleAuditSchema, { auth: "admin" }), method(object({
|
|
24434
24487
|
identityId: string(),
|
|
24435
24488
|
sampleId: string()
|
|
24436
24489
|
}), _void(), {
|
|
@@ -24616,25 +24669,25 @@ DeviceType.Fan, method(object({
|
|
|
24616
24669
|
percentage: number().min(0).max(100)
|
|
24617
24670
|
}), _void(), {
|
|
24618
24671
|
kind: "mutation",
|
|
24619
|
-
auth: "
|
|
24672
|
+
auth: "protected"
|
|
24620
24673
|
}), method(object({
|
|
24621
24674
|
deviceId: number().int().nonnegative(),
|
|
24622
24675
|
preset: string().min(1)
|
|
24623
24676
|
}), _void(), {
|
|
24624
24677
|
kind: "mutation",
|
|
24625
|
-
auth: "
|
|
24678
|
+
auth: "protected"
|
|
24626
24679
|
}), method(object({
|
|
24627
24680
|
deviceId: number().int().nonnegative(),
|
|
24628
24681
|
direction: FanDirectionSchema
|
|
24629
24682
|
}), _void(), {
|
|
24630
24683
|
kind: "mutation",
|
|
24631
|
-
auth: "
|
|
24684
|
+
auth: "protected"
|
|
24632
24685
|
}), method(object({
|
|
24633
24686
|
deviceId: number().int().nonnegative(),
|
|
24634
24687
|
oscillating: boolean()
|
|
24635
24688
|
}), _void(), {
|
|
24636
24689
|
kind: "mutation",
|
|
24637
|
-
auth: "
|
|
24690
|
+
auth: "protected"
|
|
24638
24691
|
});
|
|
24639
24692
|
/**
|
|
24640
24693
|
* Per-device feature/identity probe slice. Holds the runtime-resolved
|
|
@@ -24737,19 +24790,19 @@ DeviceType.Humidifier, method(object({
|
|
|
24737
24790
|
on: boolean()
|
|
24738
24791
|
}), _void(), {
|
|
24739
24792
|
kind: "mutation",
|
|
24740
|
-
auth: "
|
|
24793
|
+
auth: "protected"
|
|
24741
24794
|
}), method(object({
|
|
24742
24795
|
deviceId: number().int().nonnegative(),
|
|
24743
24796
|
humidity: number().min(0).max(100)
|
|
24744
24797
|
}), _void(), {
|
|
24745
24798
|
kind: "mutation",
|
|
24746
|
-
auth: "
|
|
24799
|
+
auth: "protected"
|
|
24747
24800
|
}), method(object({
|
|
24748
24801
|
deviceId: number().int().nonnegative(),
|
|
24749
24802
|
mode: string().min(1)
|
|
24750
24803
|
}), _void(), {
|
|
24751
24804
|
kind: "mutation",
|
|
24752
|
-
auth: "
|
|
24805
|
+
auth: "protected"
|
|
24753
24806
|
});
|
|
24754
24807
|
object({
|
|
24755
24808
|
/** Current relative humidity, 0..100. */
|
|
@@ -25211,13 +25264,13 @@ object({
|
|
|
25211
25264
|
});
|
|
25212
25265
|
DeviceType.LawnMower, method(object({ deviceId: number().int().nonnegative() }), _void(), {
|
|
25213
25266
|
kind: "mutation",
|
|
25214
|
-
auth: "
|
|
25267
|
+
auth: "protected"
|
|
25215
25268
|
}), method(object({ deviceId: number().int().nonnegative() }), _void(), {
|
|
25216
25269
|
kind: "mutation",
|
|
25217
|
-
auth: "
|
|
25270
|
+
auth: "protected"
|
|
25218
25271
|
}), method(object({ deviceId: number().int().nonnegative() }), _void(), {
|
|
25219
25272
|
kind: "mutation",
|
|
25220
|
-
auth: "
|
|
25273
|
+
auth: "protected"
|
|
25221
25274
|
});
|
|
25222
25275
|
/**
|
|
25223
25276
|
* local-network — hub-only singleton.
|
|
@@ -25477,16 +25530,16 @@ DeviceType.Lock, method(object({
|
|
|
25477
25530
|
code: string().min(1).optional()
|
|
25478
25531
|
}), _void(), {
|
|
25479
25532
|
kind: "mutation",
|
|
25480
|
-
auth: "
|
|
25533
|
+
auth: "protected"
|
|
25481
25534
|
}), method(object({
|
|
25482
25535
|
deviceId: number().int().nonnegative(),
|
|
25483
25536
|
code: string().min(1).optional()
|
|
25484
25537
|
}), _void(), {
|
|
25485
25538
|
kind: "mutation",
|
|
25486
|
-
auth: "
|
|
25539
|
+
auth: "protected"
|
|
25487
25540
|
}), method(object({ deviceId: number().int().nonnegative() }), _void(), {
|
|
25488
25541
|
kind: "mutation",
|
|
25489
|
-
auth: "
|
|
25542
|
+
auth: "protected"
|
|
25490
25543
|
});
|
|
25491
25544
|
/**
|
|
25492
25545
|
* Media-player cap. Models HA `media_player.*` (Sonos, Chromecast,
|
|
@@ -25560,55 +25613,55 @@ object({
|
|
|
25560
25613
|
});
|
|
25561
25614
|
DeviceType.MediaPlayer, method(object({ deviceId: number().int().nonnegative() }), _void(), {
|
|
25562
25615
|
kind: "mutation",
|
|
25563
|
-
auth: "
|
|
25616
|
+
auth: "protected"
|
|
25564
25617
|
}), method(object({ deviceId: number().int().nonnegative() }), _void(), {
|
|
25565
25618
|
kind: "mutation",
|
|
25566
|
-
auth: "
|
|
25619
|
+
auth: "protected"
|
|
25567
25620
|
}), method(object({ deviceId: number().int().nonnegative() }), _void(), {
|
|
25568
25621
|
kind: "mutation",
|
|
25569
|
-
auth: "
|
|
25622
|
+
auth: "protected"
|
|
25570
25623
|
}), method(object({ deviceId: number().int().nonnegative() }), _void(), {
|
|
25571
25624
|
kind: "mutation",
|
|
25572
|
-
auth: "
|
|
25625
|
+
auth: "protected"
|
|
25573
25626
|
}), method(object({ deviceId: number().int().nonnegative() }), _void(), {
|
|
25574
25627
|
kind: "mutation",
|
|
25575
|
-
auth: "
|
|
25628
|
+
auth: "protected"
|
|
25576
25629
|
}), method(object({
|
|
25577
25630
|
deviceId: number().int().nonnegative(),
|
|
25578
25631
|
positionMs: number().int().nonnegative()
|
|
25579
25632
|
}), _void(), {
|
|
25580
25633
|
kind: "mutation",
|
|
25581
|
-
auth: "
|
|
25634
|
+
auth: "protected"
|
|
25582
25635
|
}), method(object({
|
|
25583
25636
|
deviceId: number().int().nonnegative(),
|
|
25584
25637
|
volumeLevel: number().min(0).max(100)
|
|
25585
25638
|
}), _void(), {
|
|
25586
25639
|
kind: "mutation",
|
|
25587
|
-
auth: "
|
|
25640
|
+
auth: "protected"
|
|
25588
25641
|
}), method(object({
|
|
25589
25642
|
deviceId: number().int().nonnegative(),
|
|
25590
25643
|
muted: boolean()
|
|
25591
25644
|
}), _void(), {
|
|
25592
25645
|
kind: "mutation",
|
|
25593
|
-
auth: "
|
|
25646
|
+
auth: "protected"
|
|
25594
25647
|
}), method(object({
|
|
25595
25648
|
deviceId: number().int().nonnegative(),
|
|
25596
25649
|
shuffle: boolean()
|
|
25597
25650
|
}), _void(), {
|
|
25598
25651
|
kind: "mutation",
|
|
25599
|
-
auth: "
|
|
25652
|
+
auth: "protected"
|
|
25600
25653
|
}), method(object({
|
|
25601
25654
|
deviceId: number().int().nonnegative(),
|
|
25602
25655
|
repeat: MediaPlayerRepeatSchema
|
|
25603
25656
|
}), _void(), {
|
|
25604
25657
|
kind: "mutation",
|
|
25605
|
-
auth: "
|
|
25658
|
+
auth: "protected"
|
|
25606
25659
|
}), method(object({
|
|
25607
25660
|
deviceId: number().int().nonnegative(),
|
|
25608
25661
|
source: string().min(1)
|
|
25609
25662
|
}), _void(), {
|
|
25610
25663
|
kind: "mutation",
|
|
25611
|
-
auth: "
|
|
25664
|
+
auth: "protected"
|
|
25612
25665
|
}), method(object({
|
|
25613
25666
|
deviceId: number().int().nonnegative(),
|
|
25614
25667
|
/** Media identifier / URL. */
|
|
@@ -25618,7 +25671,7 @@ DeviceType.MediaPlayer, method(object({ deviceId: number().int().nonnegative() }
|
|
|
25618
25671
|
mediaType: string().min(1)
|
|
25619
25672
|
}), _void(), {
|
|
25620
25673
|
kind: "mutation",
|
|
25621
|
-
auth: "
|
|
25674
|
+
auth: "protected"
|
|
25622
25675
|
});
|
|
25623
25676
|
/**
|
|
25624
25677
|
* mesh-network — collection cap for mesh-VPN providers.
|
|
@@ -26784,49 +26837,49 @@ DeviceType.PetFeeder, method(object({
|
|
|
26784
26837
|
hopper2: gramsPortion.optional()
|
|
26785
26838
|
}), _void(), {
|
|
26786
26839
|
kind: "mutation",
|
|
26787
|
-
auth: "
|
|
26840
|
+
auth: "protected"
|
|
26788
26841
|
}), method(object({ deviceId: number().int().nonnegative() }), _void(), {
|
|
26789
26842
|
kind: "mutation",
|
|
26790
|
-
auth: "
|
|
26843
|
+
auth: "protected"
|
|
26791
26844
|
}), method(object({ deviceId: number().int().nonnegative() }), _void(), {
|
|
26792
26845
|
kind: "mutation",
|
|
26793
|
-
auth: "
|
|
26846
|
+
auth: "protected"
|
|
26794
26847
|
}), method(object({ deviceId: number().int().nonnegative() }), _void(), {
|
|
26795
26848
|
kind: "mutation",
|
|
26796
|
-
auth: "
|
|
26849
|
+
auth: "protected"
|
|
26797
26850
|
}), method(object({ deviceId: number().int().nonnegative() }), _void(), {
|
|
26798
26851
|
kind: "mutation",
|
|
26799
|
-
auth: "
|
|
26852
|
+
auth: "protected"
|
|
26800
26853
|
}), method(object({
|
|
26801
26854
|
deviceId: number().int().nonnegative(),
|
|
26802
26855
|
soundId: number().int().nonnegative()
|
|
26803
26856
|
}), _void(), {
|
|
26804
26857
|
kind: "mutation",
|
|
26805
|
-
auth: "
|
|
26858
|
+
auth: "protected"
|
|
26806
26859
|
}), method(object({
|
|
26807
26860
|
deviceId: number().int().nonnegative(),
|
|
26808
26861
|
on: boolean()
|
|
26809
26862
|
}), _void(), {
|
|
26810
26863
|
kind: "mutation",
|
|
26811
|
-
auth: "
|
|
26864
|
+
auth: "protected"
|
|
26812
26865
|
}), method(object({
|
|
26813
26866
|
deviceId: number().int().nonnegative(),
|
|
26814
26867
|
on: boolean()
|
|
26815
26868
|
}), _void(), {
|
|
26816
26869
|
kind: "mutation",
|
|
26817
|
-
auth: "
|
|
26870
|
+
auth: "protected"
|
|
26818
26871
|
}), method(object({
|
|
26819
26872
|
deviceId: number().int().nonnegative(),
|
|
26820
26873
|
on: boolean()
|
|
26821
26874
|
}), _void(), {
|
|
26822
26875
|
kind: "mutation",
|
|
26823
|
-
auth: "
|
|
26876
|
+
auth: "protected"
|
|
26824
26877
|
}), method(object({
|
|
26825
26878
|
deviceId: number().int().nonnegative(),
|
|
26826
26879
|
level: number().int().nonnegative()
|
|
26827
26880
|
}), _void(), {
|
|
26828
26881
|
kind: "mutation",
|
|
26829
|
-
auth: "
|
|
26882
|
+
auth: "protected"
|
|
26830
26883
|
});
|
|
26831
26884
|
var VehicleSchema = object({
|
|
26832
26885
|
id: string(),
|
|
@@ -28613,7 +28666,7 @@ DeviceType.Switch, DeviceType.Siren, DeviceType.Light, method(object({
|
|
|
28613
28666
|
on: boolean()
|
|
28614
28667
|
}), _void(), {
|
|
28615
28668
|
kind: "mutation",
|
|
28616
|
-
auth: "
|
|
28669
|
+
auth: "protected"
|
|
28617
28670
|
}), object({
|
|
28618
28671
|
deviceId: number(),
|
|
28619
28672
|
on: boolean(),
|
|
@@ -29470,25 +29523,25 @@ object({
|
|
|
29470
29523
|
});
|
|
29471
29524
|
DeviceType.Vacuum, method(object({ deviceId: number().int().nonnegative() }), _void(), {
|
|
29472
29525
|
kind: "mutation",
|
|
29473
|
-
auth: "
|
|
29526
|
+
auth: "protected"
|
|
29474
29527
|
}), method(object({ deviceId: number().int().nonnegative() }), _void(), {
|
|
29475
29528
|
kind: "mutation",
|
|
29476
|
-
auth: "
|
|
29529
|
+
auth: "protected"
|
|
29477
29530
|
}), method(object({ deviceId: number().int().nonnegative() }), _void(), {
|
|
29478
29531
|
kind: "mutation",
|
|
29479
|
-
auth: "
|
|
29532
|
+
auth: "protected"
|
|
29480
29533
|
}), method(object({ deviceId: number().int().nonnegative() }), _void(), {
|
|
29481
29534
|
kind: "mutation",
|
|
29482
|
-
auth: "
|
|
29535
|
+
auth: "protected"
|
|
29483
29536
|
}), method(object({ deviceId: number().int().nonnegative() }), _void(), {
|
|
29484
29537
|
kind: "mutation",
|
|
29485
|
-
auth: "
|
|
29538
|
+
auth: "protected"
|
|
29486
29539
|
}), method(object({
|
|
29487
29540
|
deviceId: number().int().nonnegative(),
|
|
29488
29541
|
speed: string().min(1)
|
|
29489
29542
|
}), _void(), {
|
|
29490
29543
|
kind: "mutation",
|
|
29491
|
-
auth: "
|
|
29544
|
+
auth: "protected"
|
|
29492
29545
|
});
|
|
29493
29546
|
object({
|
|
29494
29547
|
/** Lifecycle state of the valve. */
|
|
@@ -29507,19 +29560,19 @@ object({
|
|
|
29507
29560
|
});
|
|
29508
29561
|
DeviceType.Valve, method(object({ deviceId: number().int().nonnegative() }), _void(), {
|
|
29509
29562
|
kind: "mutation",
|
|
29510
|
-
auth: "
|
|
29563
|
+
auth: "protected"
|
|
29511
29564
|
}), method(object({ deviceId: number().int().nonnegative() }), _void(), {
|
|
29512
29565
|
kind: "mutation",
|
|
29513
|
-
auth: "
|
|
29566
|
+
auth: "protected"
|
|
29514
29567
|
}), method(object({ deviceId: number().int().nonnegative() }), _void(), {
|
|
29515
29568
|
kind: "mutation",
|
|
29516
|
-
auth: "
|
|
29569
|
+
auth: "protected"
|
|
29517
29570
|
}), method(object({
|
|
29518
29571
|
deviceId: number().int().nonnegative(),
|
|
29519
29572
|
position: number().min(0).max(100)
|
|
29520
29573
|
}), _void(), {
|
|
29521
29574
|
kind: "mutation",
|
|
29522
|
-
auth: "
|
|
29575
|
+
auth: "protected"
|
|
29523
29576
|
});
|
|
29524
29577
|
object({
|
|
29525
29578
|
detected: boolean(),
|
|
@@ -29553,19 +29606,19 @@ DeviceType.WaterHeater, method(object({
|
|
|
29553
29606
|
temp: number().finite()
|
|
29554
29607
|
}), _void(), {
|
|
29555
29608
|
kind: "mutation",
|
|
29556
|
-
auth: "
|
|
29609
|
+
auth: "protected"
|
|
29557
29610
|
}), method(object({
|
|
29558
29611
|
deviceId: number().int().nonnegative(),
|
|
29559
29612
|
mode: string().min(1)
|
|
29560
29613
|
}), _void(), {
|
|
29561
29614
|
kind: "mutation",
|
|
29562
|
-
auth: "
|
|
29615
|
+
auth: "protected"
|
|
29563
29616
|
}), method(object({
|
|
29564
29617
|
deviceId: number().int().nonnegative(),
|
|
29565
29618
|
on: boolean()
|
|
29566
29619
|
}), _void(), {
|
|
29567
29620
|
kind: "mutation",
|
|
29568
|
-
auth: "
|
|
29621
|
+
auth: "protected"
|
|
29569
29622
|
});
|
|
29570
29623
|
object({
|
|
29571
29624
|
/** Verbatim HA condition state (`sunny`, `cloudy`, `rainy`, …). Null
|
|
@@ -31657,6 +31710,12 @@ Object.freeze({
|
|
|
31657
31710
|
addonId: null,
|
|
31658
31711
|
access: "create"
|
|
31659
31712
|
},
|
|
31713
|
+
"faceGallery.auditIdentitySamples": {
|
|
31714
|
+
capName: "face-gallery",
|
|
31715
|
+
capScope: "system",
|
|
31716
|
+
addonId: null,
|
|
31717
|
+
access: "view"
|
|
31718
|
+
},
|
|
31660
31719
|
"faceGallery.createIdentity": {
|
|
31661
31720
|
capName: "face-gallery",
|
|
31662
31721
|
capScope: "system",
|