@camstack/addon-export-alexa 1.2.90 → 1.2.92
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 +129 -70
- package/dist/export-alexa.addon.mjs +129 -70
- package/package.json +1 -1
|
@@ -16106,16 +16106,16 @@ DeviceType.AlarmPanel, method(object({
|
|
|
16106
16106
|
code: string().min(1).optional()
|
|
16107
16107
|
}), _void(), {
|
|
16108
16108
|
kind: "mutation",
|
|
16109
|
-
auth: "
|
|
16109
|
+
auth: "protected"
|
|
16110
16110
|
}), method(object({
|
|
16111
16111
|
deviceId: number().int().nonnegative(),
|
|
16112
16112
|
code: string().min(1).optional()
|
|
16113
16113
|
}), _void(), {
|
|
16114
16114
|
kind: "mutation",
|
|
16115
|
-
auth: "
|
|
16115
|
+
auth: "protected"
|
|
16116
16116
|
}), method(object({ deviceId: number().int().nonnegative() }), _void(), {
|
|
16117
16117
|
kind: "mutation",
|
|
16118
|
-
auth: "
|
|
16118
|
+
auth: "protected"
|
|
16119
16119
|
});
|
|
16120
16120
|
/**
|
|
16121
16121
|
* Shared geometry vocabulary for on-frame shape caps — privacy-mask,
|
|
@@ -23786,7 +23786,7 @@ DeviceType.Light, method(object({
|
|
|
23786
23786
|
percentage: number().min(0).max(100)
|
|
23787
23787
|
}), _void(), {
|
|
23788
23788
|
kind: "mutation",
|
|
23789
|
-
auth: "
|
|
23789
|
+
auth: "protected"
|
|
23790
23790
|
}), object({
|
|
23791
23791
|
deviceId: number(),
|
|
23792
23792
|
percentage: number().min(0).max(100),
|
|
@@ -23794,7 +23794,7 @@ DeviceType.Light, method(object({
|
|
|
23794
23794
|
});
|
|
23795
23795
|
DeviceType.Button, method(object({ deviceId: number().int().nonnegative() }), _void(), {
|
|
23796
23796
|
kind: "mutation",
|
|
23797
|
-
auth: "
|
|
23797
|
+
auth: "protected"
|
|
23798
23798
|
});
|
|
23799
23799
|
/**
|
|
23800
23800
|
* camera-credentials — device-scoped cap exposing the camera's network
|
|
@@ -23953,50 +23953,50 @@ DeviceType.Thermostat, DeviceType.Climate, method(object({
|
|
|
23953
23953
|
mode: HvacModeSchema
|
|
23954
23954
|
}), _void(), {
|
|
23955
23955
|
kind: "mutation",
|
|
23956
|
-
auth: "
|
|
23956
|
+
auth: "protected"
|
|
23957
23957
|
}), method(object({
|
|
23958
23958
|
deviceId: number().int().nonnegative(),
|
|
23959
23959
|
fanMode: string().min(1)
|
|
23960
23960
|
}), _void(), {
|
|
23961
23961
|
kind: "mutation",
|
|
23962
|
-
auth: "
|
|
23962
|
+
auth: "protected"
|
|
23963
23963
|
}), method(object({
|
|
23964
23964
|
deviceId: number().int().nonnegative(),
|
|
23965
23965
|
preset: string().min(1)
|
|
23966
23966
|
}), _void(), {
|
|
23967
23967
|
kind: "mutation",
|
|
23968
|
-
auth: "
|
|
23968
|
+
auth: "protected"
|
|
23969
23969
|
}), method(object({
|
|
23970
23970
|
deviceId: number().int().nonnegative(),
|
|
23971
23971
|
target: number()
|
|
23972
23972
|
}), _void(), {
|
|
23973
23973
|
kind: "mutation",
|
|
23974
|
-
auth: "
|
|
23974
|
+
auth: "protected"
|
|
23975
23975
|
}), method(object({
|
|
23976
23976
|
deviceId: number().int().nonnegative(),
|
|
23977
23977
|
targetLow: number(),
|
|
23978
23978
|
targetHigh: number()
|
|
23979
23979
|
}), _void(), {
|
|
23980
23980
|
kind: "mutation",
|
|
23981
|
-
auth: "
|
|
23981
|
+
auth: "protected"
|
|
23982
23982
|
}), method(object({
|
|
23983
23983
|
deviceId: number().int().nonnegative(),
|
|
23984
23984
|
targetHumidity: number().min(0).max(100)
|
|
23985
23985
|
}), _void(), {
|
|
23986
23986
|
kind: "mutation",
|
|
23987
|
-
auth: "
|
|
23987
|
+
auth: "protected"
|
|
23988
23988
|
}), method(object({
|
|
23989
23989
|
deviceId: number().int().nonnegative(),
|
|
23990
23990
|
on: boolean()
|
|
23991
23991
|
}), _void(), {
|
|
23992
23992
|
kind: "mutation",
|
|
23993
|
-
auth: "
|
|
23993
|
+
auth: "protected"
|
|
23994
23994
|
}), method(object({
|
|
23995
23995
|
deviceId: number().int().nonnegative(),
|
|
23996
23996
|
on: boolean()
|
|
23997
23997
|
}), _void(), {
|
|
23998
23998
|
kind: "mutation",
|
|
23999
|
-
auth: "
|
|
23999
|
+
auth: "protected"
|
|
24000
24000
|
});
|
|
24001
24001
|
/**
|
|
24002
24002
|
* Color-light cap. Coexists with `switch` (on/off) and `brightness`
|
|
@@ -24071,7 +24071,7 @@ DeviceType.Light, method(object({
|
|
|
24071
24071
|
color: ColorInputSchema
|
|
24072
24072
|
}), _void(), {
|
|
24073
24073
|
kind: "mutation",
|
|
24074
|
-
auth: "
|
|
24074
|
+
auth: "protected"
|
|
24075
24075
|
}), object({
|
|
24076
24076
|
deviceId: number(),
|
|
24077
24077
|
mode: _enum([
|
|
@@ -24220,7 +24220,7 @@ DeviceType.Control, method(object({
|
|
|
24220
24220
|
control: ControlSetValueInputSchema
|
|
24221
24221
|
}), _void(), {
|
|
24222
24222
|
kind: "mutation",
|
|
24223
|
-
auth: "
|
|
24223
|
+
auth: "protected"
|
|
24224
24224
|
});
|
|
24225
24225
|
object({
|
|
24226
24226
|
/** Lifecycle state of the cover. */
|
|
@@ -24241,25 +24241,25 @@ object({
|
|
|
24241
24241
|
});
|
|
24242
24242
|
DeviceType.Cover, method(object({ deviceId: number().int().nonnegative() }), _void(), {
|
|
24243
24243
|
kind: "mutation",
|
|
24244
|
-
auth: "
|
|
24244
|
+
auth: "protected"
|
|
24245
24245
|
}), method(object({ deviceId: number().int().nonnegative() }), _void(), {
|
|
24246
24246
|
kind: "mutation",
|
|
24247
|
-
auth: "
|
|
24247
|
+
auth: "protected"
|
|
24248
24248
|
}), method(object({ deviceId: number().int().nonnegative() }), _void(), {
|
|
24249
24249
|
kind: "mutation",
|
|
24250
|
-
auth: "
|
|
24250
|
+
auth: "protected"
|
|
24251
24251
|
}), method(object({
|
|
24252
24252
|
deviceId: number().int().nonnegative(),
|
|
24253
24253
|
position: number().min(0).max(100)
|
|
24254
24254
|
}), _void(), {
|
|
24255
24255
|
kind: "mutation",
|
|
24256
|
-
auth: "
|
|
24256
|
+
auth: "protected"
|
|
24257
24257
|
}), method(object({
|
|
24258
24258
|
deviceId: number().int().nonnegative(),
|
|
24259
24259
|
tiltPosition: number().min(0).max(100)
|
|
24260
24260
|
}), _void(), {
|
|
24261
24261
|
kind: "mutation",
|
|
24262
|
-
auth: "
|
|
24262
|
+
auth: "protected"
|
|
24263
24263
|
});
|
|
24264
24264
|
/**
|
|
24265
24265
|
* Vendor-neutral day/night (IR-cut) control — the per-camera config cap
|
|
@@ -24464,6 +24464,59 @@ var IdentitySampleInfoSchema = object({
|
|
|
24464
24464
|
deviceId: number().int().optional(),
|
|
24465
24465
|
base64: string().optional()
|
|
24466
24466
|
});
|
|
24467
|
+
/**
|
|
24468
|
+
* One enrolled sample, judged against the gallery it lives in.
|
|
24469
|
+
*
|
|
24470
|
+
* The gallery is the one input to recognition nobody re-reads: a sample
|
|
24471
|
+
* enrolled from the wrong face keeps voting forever, and because the matches it
|
|
24472
|
+
* pulls then look confident, nobody goes back. The 2026-09-08 audit found
|
|
24473
|
+
* exactly one such pair on this cluster — a sample scoring 0.61 against three
|
|
24474
|
+
* samples of ANOTHER person, enrolled from the same camera in the same minute,
|
|
24475
|
+
* where every other cross-identity pair sits under 0.50.
|
|
24476
|
+
*/
|
|
24477
|
+
var IdentitySampleAuditRowSchema = object({
|
|
24478
|
+
sampleId: string(),
|
|
24479
|
+
enrolledAt: number().int(),
|
|
24480
|
+
deviceId: number().int().optional(),
|
|
24481
|
+
source: _enum(["detected", "photo"]),
|
|
24482
|
+
/** The enrolled crop's media key, so the panel can show the evidence. */
|
|
24483
|
+
mediaKey: string().optional(),
|
|
24484
|
+
/**
|
|
24485
|
+
* False = the sample is stamped with a DIFFERENT face model, and a cosine
|
|
24486
|
+
* across feature spaces is a well-formed float with no meaning. Every number
|
|
24487
|
+
* below then says nothing — it must read as "cannot say", never as an
|
|
24488
|
+
* accusation and never as a clean bill: this list ends in a Remove button.
|
|
24489
|
+
*/
|
|
24490
|
+
comparable: boolean(),
|
|
24491
|
+
/** Mean cosine against this person's other samples. Null when there are none
|
|
24492
|
+
* to compare with — never 0, which would read as "opposite". */
|
|
24493
|
+
selfMean: number().nullable(),
|
|
24494
|
+
/** The other person this sample looks most like, when it looks like one.
|
|
24495
|
+
* This is the half that convicts: not looking like yourself can be a hard
|
|
24496
|
+
* angle; looking like someone the gallery can NAME is a mis-enrolment. */
|
|
24497
|
+
bestForeign: object({
|
|
24498
|
+
identityId: string(),
|
|
24499
|
+
name: string(),
|
|
24500
|
+
score: number()
|
|
24501
|
+
}).optional(),
|
|
24502
|
+
/** 0 = nothing to say. Higher = look at this one sooner. */
|
|
24503
|
+
suspicion: number()
|
|
24504
|
+
});
|
|
24505
|
+
var IdentitySampleAuditSchema = object({
|
|
24506
|
+
identityId: string(),
|
|
24507
|
+
name: string(),
|
|
24508
|
+
/** The cluster face model every comparison was made in. */
|
|
24509
|
+
modelId: string(),
|
|
24510
|
+
totalSamples: number().int(),
|
|
24511
|
+
comparableSamples: number().int(),
|
|
24512
|
+
flagged: number().int(),
|
|
24513
|
+
/** The bar `flagged` counts against, so the panel states the RULE and not
|
|
24514
|
+
* only its current result. */
|
|
24515
|
+
flagThreshold: number(),
|
|
24516
|
+
/** Worst first. A row with nothing to say still appears, at the bottom: the
|
|
24517
|
+
* operator asked to see the gallery, not only its accusations. */
|
|
24518
|
+
rows: array(IdentitySampleAuditRowSchema).readonly()
|
|
24519
|
+
});
|
|
24467
24520
|
var FaceInfoSchema = object({
|
|
24468
24521
|
faceId: string(),
|
|
24469
24522
|
deviceId: number().int(),
|
|
@@ -24615,7 +24668,7 @@ includeCrops: boolean().optional() }).optional(), array(IdentitySchema).readonly
|
|
|
24615
24668
|
}), method(object({ id: string() }), _void(), {
|
|
24616
24669
|
kind: "mutation",
|
|
24617
24670
|
auth: "admin"
|
|
24618
|
-
}), method(object({ identityId: string() }), array(IdentitySampleInfoSchema).readonly()), method(object({
|
|
24671
|
+
}), method(object({ identityId: string() }), array(IdentitySampleInfoSchema).readonly()), method(object({ identityId: string().min(1) }), IdentitySampleAuditSchema, { auth: "admin" }), method(object({
|
|
24619
24672
|
identityId: string(),
|
|
24620
24673
|
sampleId: string()
|
|
24621
24674
|
}), _void(), {
|
|
@@ -24801,25 +24854,25 @@ DeviceType.Fan, method(object({
|
|
|
24801
24854
|
percentage: number().min(0).max(100)
|
|
24802
24855
|
}), _void(), {
|
|
24803
24856
|
kind: "mutation",
|
|
24804
|
-
auth: "
|
|
24857
|
+
auth: "protected"
|
|
24805
24858
|
}), method(object({
|
|
24806
24859
|
deviceId: number().int().nonnegative(),
|
|
24807
24860
|
preset: string().min(1)
|
|
24808
24861
|
}), _void(), {
|
|
24809
24862
|
kind: "mutation",
|
|
24810
|
-
auth: "
|
|
24863
|
+
auth: "protected"
|
|
24811
24864
|
}), method(object({
|
|
24812
24865
|
deviceId: number().int().nonnegative(),
|
|
24813
24866
|
direction: FanDirectionSchema
|
|
24814
24867
|
}), _void(), {
|
|
24815
24868
|
kind: "mutation",
|
|
24816
|
-
auth: "
|
|
24869
|
+
auth: "protected"
|
|
24817
24870
|
}), method(object({
|
|
24818
24871
|
deviceId: number().int().nonnegative(),
|
|
24819
24872
|
oscillating: boolean()
|
|
24820
24873
|
}), _void(), {
|
|
24821
24874
|
kind: "mutation",
|
|
24822
|
-
auth: "
|
|
24875
|
+
auth: "protected"
|
|
24823
24876
|
});
|
|
24824
24877
|
/**
|
|
24825
24878
|
* Per-device feature/identity probe slice. Holds the runtime-resolved
|
|
@@ -24922,19 +24975,19 @@ DeviceType.Humidifier, method(object({
|
|
|
24922
24975
|
on: boolean()
|
|
24923
24976
|
}), _void(), {
|
|
24924
24977
|
kind: "mutation",
|
|
24925
|
-
auth: "
|
|
24978
|
+
auth: "protected"
|
|
24926
24979
|
}), method(object({
|
|
24927
24980
|
deviceId: number().int().nonnegative(),
|
|
24928
24981
|
humidity: number().min(0).max(100)
|
|
24929
24982
|
}), _void(), {
|
|
24930
24983
|
kind: "mutation",
|
|
24931
|
-
auth: "
|
|
24984
|
+
auth: "protected"
|
|
24932
24985
|
}), method(object({
|
|
24933
24986
|
deviceId: number().int().nonnegative(),
|
|
24934
24987
|
mode: string().min(1)
|
|
24935
24988
|
}), _void(), {
|
|
24936
24989
|
kind: "mutation",
|
|
24937
|
-
auth: "
|
|
24990
|
+
auth: "protected"
|
|
24938
24991
|
});
|
|
24939
24992
|
object({
|
|
24940
24993
|
/** Current relative humidity, 0..100. */
|
|
@@ -25396,13 +25449,13 @@ object({
|
|
|
25396
25449
|
});
|
|
25397
25450
|
DeviceType.LawnMower, method(object({ deviceId: number().int().nonnegative() }), _void(), {
|
|
25398
25451
|
kind: "mutation",
|
|
25399
|
-
auth: "
|
|
25452
|
+
auth: "protected"
|
|
25400
25453
|
}), method(object({ deviceId: number().int().nonnegative() }), _void(), {
|
|
25401
25454
|
kind: "mutation",
|
|
25402
|
-
auth: "
|
|
25455
|
+
auth: "protected"
|
|
25403
25456
|
}), method(object({ deviceId: number().int().nonnegative() }), _void(), {
|
|
25404
25457
|
kind: "mutation",
|
|
25405
|
-
auth: "
|
|
25458
|
+
auth: "protected"
|
|
25406
25459
|
});
|
|
25407
25460
|
/**
|
|
25408
25461
|
* local-network — hub-only singleton.
|
|
@@ -25662,16 +25715,16 @@ DeviceType.Lock, method(object({
|
|
|
25662
25715
|
code: string().min(1).optional()
|
|
25663
25716
|
}), _void(), {
|
|
25664
25717
|
kind: "mutation",
|
|
25665
|
-
auth: "
|
|
25718
|
+
auth: "protected"
|
|
25666
25719
|
}), method(object({
|
|
25667
25720
|
deviceId: number().int().nonnegative(),
|
|
25668
25721
|
code: string().min(1).optional()
|
|
25669
25722
|
}), _void(), {
|
|
25670
25723
|
kind: "mutation",
|
|
25671
|
-
auth: "
|
|
25724
|
+
auth: "protected"
|
|
25672
25725
|
}), method(object({ deviceId: number().int().nonnegative() }), _void(), {
|
|
25673
25726
|
kind: "mutation",
|
|
25674
|
-
auth: "
|
|
25727
|
+
auth: "protected"
|
|
25675
25728
|
});
|
|
25676
25729
|
/**
|
|
25677
25730
|
* Media-player cap. Models HA `media_player.*` (Sonos, Chromecast,
|
|
@@ -25745,55 +25798,55 @@ object({
|
|
|
25745
25798
|
});
|
|
25746
25799
|
DeviceType.MediaPlayer, method(object({ deviceId: number().int().nonnegative() }), _void(), {
|
|
25747
25800
|
kind: "mutation",
|
|
25748
|
-
auth: "
|
|
25801
|
+
auth: "protected"
|
|
25749
25802
|
}), method(object({ deviceId: number().int().nonnegative() }), _void(), {
|
|
25750
25803
|
kind: "mutation",
|
|
25751
|
-
auth: "
|
|
25804
|
+
auth: "protected"
|
|
25752
25805
|
}), method(object({ deviceId: number().int().nonnegative() }), _void(), {
|
|
25753
25806
|
kind: "mutation",
|
|
25754
|
-
auth: "
|
|
25807
|
+
auth: "protected"
|
|
25755
25808
|
}), method(object({ deviceId: number().int().nonnegative() }), _void(), {
|
|
25756
25809
|
kind: "mutation",
|
|
25757
|
-
auth: "
|
|
25810
|
+
auth: "protected"
|
|
25758
25811
|
}), method(object({ deviceId: number().int().nonnegative() }), _void(), {
|
|
25759
25812
|
kind: "mutation",
|
|
25760
|
-
auth: "
|
|
25813
|
+
auth: "protected"
|
|
25761
25814
|
}), method(object({
|
|
25762
25815
|
deviceId: number().int().nonnegative(),
|
|
25763
25816
|
positionMs: number().int().nonnegative()
|
|
25764
25817
|
}), _void(), {
|
|
25765
25818
|
kind: "mutation",
|
|
25766
|
-
auth: "
|
|
25819
|
+
auth: "protected"
|
|
25767
25820
|
}), method(object({
|
|
25768
25821
|
deviceId: number().int().nonnegative(),
|
|
25769
25822
|
volumeLevel: number().min(0).max(100)
|
|
25770
25823
|
}), _void(), {
|
|
25771
25824
|
kind: "mutation",
|
|
25772
|
-
auth: "
|
|
25825
|
+
auth: "protected"
|
|
25773
25826
|
}), method(object({
|
|
25774
25827
|
deviceId: number().int().nonnegative(),
|
|
25775
25828
|
muted: boolean()
|
|
25776
25829
|
}), _void(), {
|
|
25777
25830
|
kind: "mutation",
|
|
25778
|
-
auth: "
|
|
25831
|
+
auth: "protected"
|
|
25779
25832
|
}), method(object({
|
|
25780
25833
|
deviceId: number().int().nonnegative(),
|
|
25781
25834
|
shuffle: boolean()
|
|
25782
25835
|
}), _void(), {
|
|
25783
25836
|
kind: "mutation",
|
|
25784
|
-
auth: "
|
|
25837
|
+
auth: "protected"
|
|
25785
25838
|
}), method(object({
|
|
25786
25839
|
deviceId: number().int().nonnegative(),
|
|
25787
25840
|
repeat: MediaPlayerRepeatSchema
|
|
25788
25841
|
}), _void(), {
|
|
25789
25842
|
kind: "mutation",
|
|
25790
|
-
auth: "
|
|
25843
|
+
auth: "protected"
|
|
25791
25844
|
}), method(object({
|
|
25792
25845
|
deviceId: number().int().nonnegative(),
|
|
25793
25846
|
source: string().min(1)
|
|
25794
25847
|
}), _void(), {
|
|
25795
25848
|
kind: "mutation",
|
|
25796
|
-
auth: "
|
|
25849
|
+
auth: "protected"
|
|
25797
25850
|
}), method(object({
|
|
25798
25851
|
deviceId: number().int().nonnegative(),
|
|
25799
25852
|
/** Media identifier / URL. */
|
|
@@ -25803,7 +25856,7 @@ DeviceType.MediaPlayer, method(object({ deviceId: number().int().nonnegative() }
|
|
|
25803
25856
|
mediaType: string().min(1)
|
|
25804
25857
|
}), _void(), {
|
|
25805
25858
|
kind: "mutation",
|
|
25806
|
-
auth: "
|
|
25859
|
+
auth: "protected"
|
|
25807
25860
|
});
|
|
25808
25861
|
/**
|
|
25809
25862
|
* mesh-network — collection cap for mesh-VPN providers.
|
|
@@ -26969,49 +27022,49 @@ DeviceType.PetFeeder, method(object({
|
|
|
26969
27022
|
hopper2: gramsPortion.optional()
|
|
26970
27023
|
}), _void(), {
|
|
26971
27024
|
kind: "mutation",
|
|
26972
|
-
auth: "
|
|
27025
|
+
auth: "protected"
|
|
26973
27026
|
}), method(object({ deviceId: number().int().nonnegative() }), _void(), {
|
|
26974
27027
|
kind: "mutation",
|
|
26975
|
-
auth: "
|
|
27028
|
+
auth: "protected"
|
|
26976
27029
|
}), method(object({ deviceId: number().int().nonnegative() }), _void(), {
|
|
26977
27030
|
kind: "mutation",
|
|
26978
|
-
auth: "
|
|
27031
|
+
auth: "protected"
|
|
26979
27032
|
}), method(object({ deviceId: number().int().nonnegative() }), _void(), {
|
|
26980
27033
|
kind: "mutation",
|
|
26981
|
-
auth: "
|
|
27034
|
+
auth: "protected"
|
|
26982
27035
|
}), method(object({ deviceId: number().int().nonnegative() }), _void(), {
|
|
26983
27036
|
kind: "mutation",
|
|
26984
|
-
auth: "
|
|
27037
|
+
auth: "protected"
|
|
26985
27038
|
}), method(object({
|
|
26986
27039
|
deviceId: number().int().nonnegative(),
|
|
26987
27040
|
soundId: number().int().nonnegative()
|
|
26988
27041
|
}), _void(), {
|
|
26989
27042
|
kind: "mutation",
|
|
26990
|
-
auth: "
|
|
27043
|
+
auth: "protected"
|
|
26991
27044
|
}), method(object({
|
|
26992
27045
|
deviceId: number().int().nonnegative(),
|
|
26993
27046
|
on: boolean()
|
|
26994
27047
|
}), _void(), {
|
|
26995
27048
|
kind: "mutation",
|
|
26996
|
-
auth: "
|
|
27049
|
+
auth: "protected"
|
|
26997
27050
|
}), method(object({
|
|
26998
27051
|
deviceId: number().int().nonnegative(),
|
|
26999
27052
|
on: boolean()
|
|
27000
27053
|
}), _void(), {
|
|
27001
27054
|
kind: "mutation",
|
|
27002
|
-
auth: "
|
|
27055
|
+
auth: "protected"
|
|
27003
27056
|
}), method(object({
|
|
27004
27057
|
deviceId: number().int().nonnegative(),
|
|
27005
27058
|
on: boolean()
|
|
27006
27059
|
}), _void(), {
|
|
27007
27060
|
kind: "mutation",
|
|
27008
|
-
auth: "
|
|
27061
|
+
auth: "protected"
|
|
27009
27062
|
}), method(object({
|
|
27010
27063
|
deviceId: number().int().nonnegative(),
|
|
27011
27064
|
level: number().int().nonnegative()
|
|
27012
27065
|
}), _void(), {
|
|
27013
27066
|
kind: "mutation",
|
|
27014
|
-
auth: "
|
|
27067
|
+
auth: "protected"
|
|
27015
27068
|
});
|
|
27016
27069
|
var VehicleSchema = object({
|
|
27017
27070
|
id: string(),
|
|
@@ -28798,7 +28851,7 @@ DeviceType.Switch, DeviceType.Siren, DeviceType.Light, method(object({
|
|
|
28798
28851
|
on: boolean()
|
|
28799
28852
|
}), _void(), {
|
|
28800
28853
|
kind: "mutation",
|
|
28801
|
-
auth: "
|
|
28854
|
+
auth: "protected"
|
|
28802
28855
|
}), object({
|
|
28803
28856
|
deviceId: number(),
|
|
28804
28857
|
on: boolean(),
|
|
@@ -29655,25 +29708,25 @@ object({
|
|
|
29655
29708
|
});
|
|
29656
29709
|
DeviceType.Vacuum, method(object({ deviceId: number().int().nonnegative() }), _void(), {
|
|
29657
29710
|
kind: "mutation",
|
|
29658
|
-
auth: "
|
|
29711
|
+
auth: "protected"
|
|
29659
29712
|
}), method(object({ deviceId: number().int().nonnegative() }), _void(), {
|
|
29660
29713
|
kind: "mutation",
|
|
29661
|
-
auth: "
|
|
29714
|
+
auth: "protected"
|
|
29662
29715
|
}), method(object({ deviceId: number().int().nonnegative() }), _void(), {
|
|
29663
29716
|
kind: "mutation",
|
|
29664
|
-
auth: "
|
|
29717
|
+
auth: "protected"
|
|
29665
29718
|
}), method(object({ deviceId: number().int().nonnegative() }), _void(), {
|
|
29666
29719
|
kind: "mutation",
|
|
29667
|
-
auth: "
|
|
29720
|
+
auth: "protected"
|
|
29668
29721
|
}), method(object({ deviceId: number().int().nonnegative() }), _void(), {
|
|
29669
29722
|
kind: "mutation",
|
|
29670
|
-
auth: "
|
|
29723
|
+
auth: "protected"
|
|
29671
29724
|
}), method(object({
|
|
29672
29725
|
deviceId: number().int().nonnegative(),
|
|
29673
29726
|
speed: string().min(1)
|
|
29674
29727
|
}), _void(), {
|
|
29675
29728
|
kind: "mutation",
|
|
29676
|
-
auth: "
|
|
29729
|
+
auth: "protected"
|
|
29677
29730
|
});
|
|
29678
29731
|
object({
|
|
29679
29732
|
/** Lifecycle state of the valve. */
|
|
@@ -29692,19 +29745,19 @@ object({
|
|
|
29692
29745
|
});
|
|
29693
29746
|
DeviceType.Valve, method(object({ deviceId: number().int().nonnegative() }), _void(), {
|
|
29694
29747
|
kind: "mutation",
|
|
29695
|
-
auth: "
|
|
29748
|
+
auth: "protected"
|
|
29696
29749
|
}), method(object({ deviceId: number().int().nonnegative() }), _void(), {
|
|
29697
29750
|
kind: "mutation",
|
|
29698
|
-
auth: "
|
|
29751
|
+
auth: "protected"
|
|
29699
29752
|
}), method(object({ deviceId: number().int().nonnegative() }), _void(), {
|
|
29700
29753
|
kind: "mutation",
|
|
29701
|
-
auth: "
|
|
29754
|
+
auth: "protected"
|
|
29702
29755
|
}), method(object({
|
|
29703
29756
|
deviceId: number().int().nonnegative(),
|
|
29704
29757
|
position: number().min(0).max(100)
|
|
29705
29758
|
}), _void(), {
|
|
29706
29759
|
kind: "mutation",
|
|
29707
|
-
auth: "
|
|
29760
|
+
auth: "protected"
|
|
29708
29761
|
});
|
|
29709
29762
|
object({
|
|
29710
29763
|
detected: boolean(),
|
|
@@ -29738,19 +29791,19 @@ DeviceType.WaterHeater, method(object({
|
|
|
29738
29791
|
temp: number().finite()
|
|
29739
29792
|
}), _void(), {
|
|
29740
29793
|
kind: "mutation",
|
|
29741
|
-
auth: "
|
|
29794
|
+
auth: "protected"
|
|
29742
29795
|
}), method(object({
|
|
29743
29796
|
deviceId: number().int().nonnegative(),
|
|
29744
29797
|
mode: string().min(1)
|
|
29745
29798
|
}), _void(), {
|
|
29746
29799
|
kind: "mutation",
|
|
29747
|
-
auth: "
|
|
29800
|
+
auth: "protected"
|
|
29748
29801
|
}), method(object({
|
|
29749
29802
|
deviceId: number().int().nonnegative(),
|
|
29750
29803
|
on: boolean()
|
|
29751
29804
|
}), _void(), {
|
|
29752
29805
|
kind: "mutation",
|
|
29753
|
-
auth: "
|
|
29806
|
+
auth: "protected"
|
|
29754
29807
|
});
|
|
29755
29808
|
object({
|
|
29756
29809
|
/** Verbatim HA condition state (`sunny`, `cloudy`, `rainy`, …). Null
|
|
@@ -31842,6 +31895,12 @@ Object.freeze({
|
|
|
31842
31895
|
addonId: null,
|
|
31843
31896
|
access: "create"
|
|
31844
31897
|
},
|
|
31898
|
+
"faceGallery.auditIdentitySamples": {
|
|
31899
|
+
capName: "face-gallery",
|
|
31900
|
+
capScope: "system",
|
|
31901
|
+
addonId: null,
|
|
31902
|
+
access: "view"
|
|
31903
|
+
},
|
|
31845
31904
|
"faceGallery.createIdentity": {
|
|
31846
31905
|
capName: "face-gallery",
|
|
31847
31906
|
capScope: "system",
|
|
@@ -16079,16 +16079,16 @@ DeviceType.AlarmPanel, method(object({
|
|
|
16079
16079
|
code: string().min(1).optional()
|
|
16080
16080
|
}), _void(), {
|
|
16081
16081
|
kind: "mutation",
|
|
16082
|
-
auth: "
|
|
16082
|
+
auth: "protected"
|
|
16083
16083
|
}), method(object({
|
|
16084
16084
|
deviceId: number().int().nonnegative(),
|
|
16085
16085
|
code: string().min(1).optional()
|
|
16086
16086
|
}), _void(), {
|
|
16087
16087
|
kind: "mutation",
|
|
16088
|
-
auth: "
|
|
16088
|
+
auth: "protected"
|
|
16089
16089
|
}), method(object({ deviceId: number().int().nonnegative() }), _void(), {
|
|
16090
16090
|
kind: "mutation",
|
|
16091
|
-
auth: "
|
|
16091
|
+
auth: "protected"
|
|
16092
16092
|
});
|
|
16093
16093
|
/**
|
|
16094
16094
|
* Shared geometry vocabulary for on-frame shape caps — privacy-mask,
|
|
@@ -23759,7 +23759,7 @@ DeviceType.Light, method(object({
|
|
|
23759
23759
|
percentage: number().min(0).max(100)
|
|
23760
23760
|
}), _void(), {
|
|
23761
23761
|
kind: "mutation",
|
|
23762
|
-
auth: "
|
|
23762
|
+
auth: "protected"
|
|
23763
23763
|
}), object({
|
|
23764
23764
|
deviceId: number(),
|
|
23765
23765
|
percentage: number().min(0).max(100),
|
|
@@ -23767,7 +23767,7 @@ DeviceType.Light, method(object({
|
|
|
23767
23767
|
});
|
|
23768
23768
|
DeviceType.Button, method(object({ deviceId: number().int().nonnegative() }), _void(), {
|
|
23769
23769
|
kind: "mutation",
|
|
23770
|
-
auth: "
|
|
23770
|
+
auth: "protected"
|
|
23771
23771
|
});
|
|
23772
23772
|
/**
|
|
23773
23773
|
* camera-credentials — device-scoped cap exposing the camera's network
|
|
@@ -23926,50 +23926,50 @@ DeviceType.Thermostat, DeviceType.Climate, method(object({
|
|
|
23926
23926
|
mode: HvacModeSchema
|
|
23927
23927
|
}), _void(), {
|
|
23928
23928
|
kind: "mutation",
|
|
23929
|
-
auth: "
|
|
23929
|
+
auth: "protected"
|
|
23930
23930
|
}), method(object({
|
|
23931
23931
|
deviceId: number().int().nonnegative(),
|
|
23932
23932
|
fanMode: string().min(1)
|
|
23933
23933
|
}), _void(), {
|
|
23934
23934
|
kind: "mutation",
|
|
23935
|
-
auth: "
|
|
23935
|
+
auth: "protected"
|
|
23936
23936
|
}), method(object({
|
|
23937
23937
|
deviceId: number().int().nonnegative(),
|
|
23938
23938
|
preset: string().min(1)
|
|
23939
23939
|
}), _void(), {
|
|
23940
23940
|
kind: "mutation",
|
|
23941
|
-
auth: "
|
|
23941
|
+
auth: "protected"
|
|
23942
23942
|
}), method(object({
|
|
23943
23943
|
deviceId: number().int().nonnegative(),
|
|
23944
23944
|
target: number()
|
|
23945
23945
|
}), _void(), {
|
|
23946
23946
|
kind: "mutation",
|
|
23947
|
-
auth: "
|
|
23947
|
+
auth: "protected"
|
|
23948
23948
|
}), method(object({
|
|
23949
23949
|
deviceId: number().int().nonnegative(),
|
|
23950
23950
|
targetLow: number(),
|
|
23951
23951
|
targetHigh: number()
|
|
23952
23952
|
}), _void(), {
|
|
23953
23953
|
kind: "mutation",
|
|
23954
|
-
auth: "
|
|
23954
|
+
auth: "protected"
|
|
23955
23955
|
}), method(object({
|
|
23956
23956
|
deviceId: number().int().nonnegative(),
|
|
23957
23957
|
targetHumidity: number().min(0).max(100)
|
|
23958
23958
|
}), _void(), {
|
|
23959
23959
|
kind: "mutation",
|
|
23960
|
-
auth: "
|
|
23960
|
+
auth: "protected"
|
|
23961
23961
|
}), method(object({
|
|
23962
23962
|
deviceId: number().int().nonnegative(),
|
|
23963
23963
|
on: boolean()
|
|
23964
23964
|
}), _void(), {
|
|
23965
23965
|
kind: "mutation",
|
|
23966
|
-
auth: "
|
|
23966
|
+
auth: "protected"
|
|
23967
23967
|
}), method(object({
|
|
23968
23968
|
deviceId: number().int().nonnegative(),
|
|
23969
23969
|
on: boolean()
|
|
23970
23970
|
}), _void(), {
|
|
23971
23971
|
kind: "mutation",
|
|
23972
|
-
auth: "
|
|
23972
|
+
auth: "protected"
|
|
23973
23973
|
});
|
|
23974
23974
|
/**
|
|
23975
23975
|
* Color-light cap. Coexists with `switch` (on/off) and `brightness`
|
|
@@ -24044,7 +24044,7 @@ DeviceType.Light, method(object({
|
|
|
24044
24044
|
color: ColorInputSchema
|
|
24045
24045
|
}), _void(), {
|
|
24046
24046
|
kind: "mutation",
|
|
24047
|
-
auth: "
|
|
24047
|
+
auth: "protected"
|
|
24048
24048
|
}), object({
|
|
24049
24049
|
deviceId: number(),
|
|
24050
24050
|
mode: _enum([
|
|
@@ -24193,7 +24193,7 @@ DeviceType.Control, method(object({
|
|
|
24193
24193
|
control: ControlSetValueInputSchema
|
|
24194
24194
|
}), _void(), {
|
|
24195
24195
|
kind: "mutation",
|
|
24196
|
-
auth: "
|
|
24196
|
+
auth: "protected"
|
|
24197
24197
|
});
|
|
24198
24198
|
object({
|
|
24199
24199
|
/** Lifecycle state of the cover. */
|
|
@@ -24214,25 +24214,25 @@ object({
|
|
|
24214
24214
|
});
|
|
24215
24215
|
DeviceType.Cover, method(object({ deviceId: number().int().nonnegative() }), _void(), {
|
|
24216
24216
|
kind: "mutation",
|
|
24217
|
-
auth: "
|
|
24217
|
+
auth: "protected"
|
|
24218
24218
|
}), method(object({ deviceId: number().int().nonnegative() }), _void(), {
|
|
24219
24219
|
kind: "mutation",
|
|
24220
|
-
auth: "
|
|
24220
|
+
auth: "protected"
|
|
24221
24221
|
}), method(object({ deviceId: number().int().nonnegative() }), _void(), {
|
|
24222
24222
|
kind: "mutation",
|
|
24223
|
-
auth: "
|
|
24223
|
+
auth: "protected"
|
|
24224
24224
|
}), method(object({
|
|
24225
24225
|
deviceId: number().int().nonnegative(),
|
|
24226
24226
|
position: number().min(0).max(100)
|
|
24227
24227
|
}), _void(), {
|
|
24228
24228
|
kind: "mutation",
|
|
24229
|
-
auth: "
|
|
24229
|
+
auth: "protected"
|
|
24230
24230
|
}), method(object({
|
|
24231
24231
|
deviceId: number().int().nonnegative(),
|
|
24232
24232
|
tiltPosition: number().min(0).max(100)
|
|
24233
24233
|
}), _void(), {
|
|
24234
24234
|
kind: "mutation",
|
|
24235
|
-
auth: "
|
|
24235
|
+
auth: "protected"
|
|
24236
24236
|
});
|
|
24237
24237
|
/**
|
|
24238
24238
|
* Vendor-neutral day/night (IR-cut) control — the per-camera config cap
|
|
@@ -24437,6 +24437,59 @@ var IdentitySampleInfoSchema = object({
|
|
|
24437
24437
|
deviceId: number().int().optional(),
|
|
24438
24438
|
base64: string().optional()
|
|
24439
24439
|
});
|
|
24440
|
+
/**
|
|
24441
|
+
* One enrolled sample, judged against the gallery it lives in.
|
|
24442
|
+
*
|
|
24443
|
+
* The gallery is the one input to recognition nobody re-reads: a sample
|
|
24444
|
+
* enrolled from the wrong face keeps voting forever, and because the matches it
|
|
24445
|
+
* pulls then look confident, nobody goes back. The 2026-09-08 audit found
|
|
24446
|
+
* exactly one such pair on this cluster — a sample scoring 0.61 against three
|
|
24447
|
+
* samples of ANOTHER person, enrolled from the same camera in the same minute,
|
|
24448
|
+
* where every other cross-identity pair sits under 0.50.
|
|
24449
|
+
*/
|
|
24450
|
+
var IdentitySampleAuditRowSchema = object({
|
|
24451
|
+
sampleId: string(),
|
|
24452
|
+
enrolledAt: number().int(),
|
|
24453
|
+
deviceId: number().int().optional(),
|
|
24454
|
+
source: _enum(["detected", "photo"]),
|
|
24455
|
+
/** The enrolled crop's media key, so the panel can show the evidence. */
|
|
24456
|
+
mediaKey: string().optional(),
|
|
24457
|
+
/**
|
|
24458
|
+
* False = the sample is stamped with a DIFFERENT face model, and a cosine
|
|
24459
|
+
* across feature spaces is a well-formed float with no meaning. Every number
|
|
24460
|
+
* below then says nothing — it must read as "cannot say", never as an
|
|
24461
|
+
* accusation and never as a clean bill: this list ends in a Remove button.
|
|
24462
|
+
*/
|
|
24463
|
+
comparable: boolean(),
|
|
24464
|
+
/** Mean cosine against this person's other samples. Null when there are none
|
|
24465
|
+
* to compare with — never 0, which would read as "opposite". */
|
|
24466
|
+
selfMean: number().nullable(),
|
|
24467
|
+
/** The other person this sample looks most like, when it looks like one.
|
|
24468
|
+
* This is the half that convicts: not looking like yourself can be a hard
|
|
24469
|
+
* angle; looking like someone the gallery can NAME is a mis-enrolment. */
|
|
24470
|
+
bestForeign: object({
|
|
24471
|
+
identityId: string(),
|
|
24472
|
+
name: string(),
|
|
24473
|
+
score: number()
|
|
24474
|
+
}).optional(),
|
|
24475
|
+
/** 0 = nothing to say. Higher = look at this one sooner. */
|
|
24476
|
+
suspicion: number()
|
|
24477
|
+
});
|
|
24478
|
+
var IdentitySampleAuditSchema = object({
|
|
24479
|
+
identityId: string(),
|
|
24480
|
+
name: string(),
|
|
24481
|
+
/** The cluster face model every comparison was made in. */
|
|
24482
|
+
modelId: string(),
|
|
24483
|
+
totalSamples: number().int(),
|
|
24484
|
+
comparableSamples: number().int(),
|
|
24485
|
+
flagged: number().int(),
|
|
24486
|
+
/** The bar `flagged` counts against, so the panel states the RULE and not
|
|
24487
|
+
* only its current result. */
|
|
24488
|
+
flagThreshold: number(),
|
|
24489
|
+
/** Worst first. A row with nothing to say still appears, at the bottom: the
|
|
24490
|
+
* operator asked to see the gallery, not only its accusations. */
|
|
24491
|
+
rows: array(IdentitySampleAuditRowSchema).readonly()
|
|
24492
|
+
});
|
|
24440
24493
|
var FaceInfoSchema = object({
|
|
24441
24494
|
faceId: string(),
|
|
24442
24495
|
deviceId: number().int(),
|
|
@@ -24588,7 +24641,7 @@ includeCrops: boolean().optional() }).optional(), array(IdentitySchema).readonly
|
|
|
24588
24641
|
}), method(object({ id: string() }), _void(), {
|
|
24589
24642
|
kind: "mutation",
|
|
24590
24643
|
auth: "admin"
|
|
24591
|
-
}), method(object({ identityId: string() }), array(IdentitySampleInfoSchema).readonly()), method(object({
|
|
24644
|
+
}), method(object({ identityId: string() }), array(IdentitySampleInfoSchema).readonly()), method(object({ identityId: string().min(1) }), IdentitySampleAuditSchema, { auth: "admin" }), method(object({
|
|
24592
24645
|
identityId: string(),
|
|
24593
24646
|
sampleId: string()
|
|
24594
24647
|
}), _void(), {
|
|
@@ -24774,25 +24827,25 @@ DeviceType.Fan, method(object({
|
|
|
24774
24827
|
percentage: number().min(0).max(100)
|
|
24775
24828
|
}), _void(), {
|
|
24776
24829
|
kind: "mutation",
|
|
24777
|
-
auth: "
|
|
24830
|
+
auth: "protected"
|
|
24778
24831
|
}), method(object({
|
|
24779
24832
|
deviceId: number().int().nonnegative(),
|
|
24780
24833
|
preset: string().min(1)
|
|
24781
24834
|
}), _void(), {
|
|
24782
24835
|
kind: "mutation",
|
|
24783
|
-
auth: "
|
|
24836
|
+
auth: "protected"
|
|
24784
24837
|
}), method(object({
|
|
24785
24838
|
deviceId: number().int().nonnegative(),
|
|
24786
24839
|
direction: FanDirectionSchema
|
|
24787
24840
|
}), _void(), {
|
|
24788
24841
|
kind: "mutation",
|
|
24789
|
-
auth: "
|
|
24842
|
+
auth: "protected"
|
|
24790
24843
|
}), method(object({
|
|
24791
24844
|
deviceId: number().int().nonnegative(),
|
|
24792
24845
|
oscillating: boolean()
|
|
24793
24846
|
}), _void(), {
|
|
24794
24847
|
kind: "mutation",
|
|
24795
|
-
auth: "
|
|
24848
|
+
auth: "protected"
|
|
24796
24849
|
});
|
|
24797
24850
|
/**
|
|
24798
24851
|
* Per-device feature/identity probe slice. Holds the runtime-resolved
|
|
@@ -24895,19 +24948,19 @@ DeviceType.Humidifier, method(object({
|
|
|
24895
24948
|
on: boolean()
|
|
24896
24949
|
}), _void(), {
|
|
24897
24950
|
kind: "mutation",
|
|
24898
|
-
auth: "
|
|
24951
|
+
auth: "protected"
|
|
24899
24952
|
}), method(object({
|
|
24900
24953
|
deviceId: number().int().nonnegative(),
|
|
24901
24954
|
humidity: number().min(0).max(100)
|
|
24902
24955
|
}), _void(), {
|
|
24903
24956
|
kind: "mutation",
|
|
24904
|
-
auth: "
|
|
24957
|
+
auth: "protected"
|
|
24905
24958
|
}), method(object({
|
|
24906
24959
|
deviceId: number().int().nonnegative(),
|
|
24907
24960
|
mode: string().min(1)
|
|
24908
24961
|
}), _void(), {
|
|
24909
24962
|
kind: "mutation",
|
|
24910
|
-
auth: "
|
|
24963
|
+
auth: "protected"
|
|
24911
24964
|
});
|
|
24912
24965
|
object({
|
|
24913
24966
|
/** Current relative humidity, 0..100. */
|
|
@@ -25369,13 +25422,13 @@ object({
|
|
|
25369
25422
|
});
|
|
25370
25423
|
DeviceType.LawnMower, method(object({ deviceId: number().int().nonnegative() }), _void(), {
|
|
25371
25424
|
kind: "mutation",
|
|
25372
|
-
auth: "
|
|
25425
|
+
auth: "protected"
|
|
25373
25426
|
}), method(object({ deviceId: number().int().nonnegative() }), _void(), {
|
|
25374
25427
|
kind: "mutation",
|
|
25375
|
-
auth: "
|
|
25428
|
+
auth: "protected"
|
|
25376
25429
|
}), method(object({ deviceId: number().int().nonnegative() }), _void(), {
|
|
25377
25430
|
kind: "mutation",
|
|
25378
|
-
auth: "
|
|
25431
|
+
auth: "protected"
|
|
25379
25432
|
});
|
|
25380
25433
|
/**
|
|
25381
25434
|
* local-network — hub-only singleton.
|
|
@@ -25635,16 +25688,16 @@ DeviceType.Lock, method(object({
|
|
|
25635
25688
|
code: string().min(1).optional()
|
|
25636
25689
|
}), _void(), {
|
|
25637
25690
|
kind: "mutation",
|
|
25638
|
-
auth: "
|
|
25691
|
+
auth: "protected"
|
|
25639
25692
|
}), method(object({
|
|
25640
25693
|
deviceId: number().int().nonnegative(),
|
|
25641
25694
|
code: string().min(1).optional()
|
|
25642
25695
|
}), _void(), {
|
|
25643
25696
|
kind: "mutation",
|
|
25644
|
-
auth: "
|
|
25697
|
+
auth: "protected"
|
|
25645
25698
|
}), method(object({ deviceId: number().int().nonnegative() }), _void(), {
|
|
25646
25699
|
kind: "mutation",
|
|
25647
|
-
auth: "
|
|
25700
|
+
auth: "protected"
|
|
25648
25701
|
});
|
|
25649
25702
|
/**
|
|
25650
25703
|
* Media-player cap. Models HA `media_player.*` (Sonos, Chromecast,
|
|
@@ -25718,55 +25771,55 @@ object({
|
|
|
25718
25771
|
});
|
|
25719
25772
|
DeviceType.MediaPlayer, method(object({ deviceId: number().int().nonnegative() }), _void(), {
|
|
25720
25773
|
kind: "mutation",
|
|
25721
|
-
auth: "
|
|
25774
|
+
auth: "protected"
|
|
25722
25775
|
}), method(object({ deviceId: number().int().nonnegative() }), _void(), {
|
|
25723
25776
|
kind: "mutation",
|
|
25724
|
-
auth: "
|
|
25777
|
+
auth: "protected"
|
|
25725
25778
|
}), method(object({ deviceId: number().int().nonnegative() }), _void(), {
|
|
25726
25779
|
kind: "mutation",
|
|
25727
|
-
auth: "
|
|
25780
|
+
auth: "protected"
|
|
25728
25781
|
}), method(object({ deviceId: number().int().nonnegative() }), _void(), {
|
|
25729
25782
|
kind: "mutation",
|
|
25730
|
-
auth: "
|
|
25783
|
+
auth: "protected"
|
|
25731
25784
|
}), method(object({ deviceId: number().int().nonnegative() }), _void(), {
|
|
25732
25785
|
kind: "mutation",
|
|
25733
|
-
auth: "
|
|
25786
|
+
auth: "protected"
|
|
25734
25787
|
}), method(object({
|
|
25735
25788
|
deviceId: number().int().nonnegative(),
|
|
25736
25789
|
positionMs: number().int().nonnegative()
|
|
25737
25790
|
}), _void(), {
|
|
25738
25791
|
kind: "mutation",
|
|
25739
|
-
auth: "
|
|
25792
|
+
auth: "protected"
|
|
25740
25793
|
}), method(object({
|
|
25741
25794
|
deviceId: number().int().nonnegative(),
|
|
25742
25795
|
volumeLevel: number().min(0).max(100)
|
|
25743
25796
|
}), _void(), {
|
|
25744
25797
|
kind: "mutation",
|
|
25745
|
-
auth: "
|
|
25798
|
+
auth: "protected"
|
|
25746
25799
|
}), method(object({
|
|
25747
25800
|
deviceId: number().int().nonnegative(),
|
|
25748
25801
|
muted: boolean()
|
|
25749
25802
|
}), _void(), {
|
|
25750
25803
|
kind: "mutation",
|
|
25751
|
-
auth: "
|
|
25804
|
+
auth: "protected"
|
|
25752
25805
|
}), method(object({
|
|
25753
25806
|
deviceId: number().int().nonnegative(),
|
|
25754
25807
|
shuffle: boolean()
|
|
25755
25808
|
}), _void(), {
|
|
25756
25809
|
kind: "mutation",
|
|
25757
|
-
auth: "
|
|
25810
|
+
auth: "protected"
|
|
25758
25811
|
}), method(object({
|
|
25759
25812
|
deviceId: number().int().nonnegative(),
|
|
25760
25813
|
repeat: MediaPlayerRepeatSchema
|
|
25761
25814
|
}), _void(), {
|
|
25762
25815
|
kind: "mutation",
|
|
25763
|
-
auth: "
|
|
25816
|
+
auth: "protected"
|
|
25764
25817
|
}), method(object({
|
|
25765
25818
|
deviceId: number().int().nonnegative(),
|
|
25766
25819
|
source: string().min(1)
|
|
25767
25820
|
}), _void(), {
|
|
25768
25821
|
kind: "mutation",
|
|
25769
|
-
auth: "
|
|
25822
|
+
auth: "protected"
|
|
25770
25823
|
}), method(object({
|
|
25771
25824
|
deviceId: number().int().nonnegative(),
|
|
25772
25825
|
/** Media identifier / URL. */
|
|
@@ -25776,7 +25829,7 @@ DeviceType.MediaPlayer, method(object({ deviceId: number().int().nonnegative() }
|
|
|
25776
25829
|
mediaType: string().min(1)
|
|
25777
25830
|
}), _void(), {
|
|
25778
25831
|
kind: "mutation",
|
|
25779
|
-
auth: "
|
|
25832
|
+
auth: "protected"
|
|
25780
25833
|
});
|
|
25781
25834
|
/**
|
|
25782
25835
|
* mesh-network — collection cap for mesh-VPN providers.
|
|
@@ -26942,49 +26995,49 @@ DeviceType.PetFeeder, method(object({
|
|
|
26942
26995
|
hopper2: gramsPortion.optional()
|
|
26943
26996
|
}), _void(), {
|
|
26944
26997
|
kind: "mutation",
|
|
26945
|
-
auth: "
|
|
26998
|
+
auth: "protected"
|
|
26946
26999
|
}), method(object({ deviceId: number().int().nonnegative() }), _void(), {
|
|
26947
27000
|
kind: "mutation",
|
|
26948
|
-
auth: "
|
|
27001
|
+
auth: "protected"
|
|
26949
27002
|
}), method(object({ deviceId: number().int().nonnegative() }), _void(), {
|
|
26950
27003
|
kind: "mutation",
|
|
26951
|
-
auth: "
|
|
27004
|
+
auth: "protected"
|
|
26952
27005
|
}), method(object({ deviceId: number().int().nonnegative() }), _void(), {
|
|
26953
27006
|
kind: "mutation",
|
|
26954
|
-
auth: "
|
|
27007
|
+
auth: "protected"
|
|
26955
27008
|
}), method(object({ deviceId: number().int().nonnegative() }), _void(), {
|
|
26956
27009
|
kind: "mutation",
|
|
26957
|
-
auth: "
|
|
27010
|
+
auth: "protected"
|
|
26958
27011
|
}), method(object({
|
|
26959
27012
|
deviceId: number().int().nonnegative(),
|
|
26960
27013
|
soundId: number().int().nonnegative()
|
|
26961
27014
|
}), _void(), {
|
|
26962
27015
|
kind: "mutation",
|
|
26963
|
-
auth: "
|
|
27016
|
+
auth: "protected"
|
|
26964
27017
|
}), method(object({
|
|
26965
27018
|
deviceId: number().int().nonnegative(),
|
|
26966
27019
|
on: boolean()
|
|
26967
27020
|
}), _void(), {
|
|
26968
27021
|
kind: "mutation",
|
|
26969
|
-
auth: "
|
|
27022
|
+
auth: "protected"
|
|
26970
27023
|
}), method(object({
|
|
26971
27024
|
deviceId: number().int().nonnegative(),
|
|
26972
27025
|
on: boolean()
|
|
26973
27026
|
}), _void(), {
|
|
26974
27027
|
kind: "mutation",
|
|
26975
|
-
auth: "
|
|
27028
|
+
auth: "protected"
|
|
26976
27029
|
}), method(object({
|
|
26977
27030
|
deviceId: number().int().nonnegative(),
|
|
26978
27031
|
on: boolean()
|
|
26979
27032
|
}), _void(), {
|
|
26980
27033
|
kind: "mutation",
|
|
26981
|
-
auth: "
|
|
27034
|
+
auth: "protected"
|
|
26982
27035
|
}), method(object({
|
|
26983
27036
|
deviceId: number().int().nonnegative(),
|
|
26984
27037
|
level: number().int().nonnegative()
|
|
26985
27038
|
}), _void(), {
|
|
26986
27039
|
kind: "mutation",
|
|
26987
|
-
auth: "
|
|
27040
|
+
auth: "protected"
|
|
26988
27041
|
});
|
|
26989
27042
|
var VehicleSchema = object({
|
|
26990
27043
|
id: string(),
|
|
@@ -28771,7 +28824,7 @@ DeviceType.Switch, DeviceType.Siren, DeviceType.Light, method(object({
|
|
|
28771
28824
|
on: boolean()
|
|
28772
28825
|
}), _void(), {
|
|
28773
28826
|
kind: "mutation",
|
|
28774
|
-
auth: "
|
|
28827
|
+
auth: "protected"
|
|
28775
28828
|
}), object({
|
|
28776
28829
|
deviceId: number(),
|
|
28777
28830
|
on: boolean(),
|
|
@@ -29628,25 +29681,25 @@ object({
|
|
|
29628
29681
|
});
|
|
29629
29682
|
DeviceType.Vacuum, method(object({ deviceId: number().int().nonnegative() }), _void(), {
|
|
29630
29683
|
kind: "mutation",
|
|
29631
|
-
auth: "
|
|
29684
|
+
auth: "protected"
|
|
29632
29685
|
}), method(object({ deviceId: number().int().nonnegative() }), _void(), {
|
|
29633
29686
|
kind: "mutation",
|
|
29634
|
-
auth: "
|
|
29687
|
+
auth: "protected"
|
|
29635
29688
|
}), method(object({ deviceId: number().int().nonnegative() }), _void(), {
|
|
29636
29689
|
kind: "mutation",
|
|
29637
|
-
auth: "
|
|
29690
|
+
auth: "protected"
|
|
29638
29691
|
}), method(object({ deviceId: number().int().nonnegative() }), _void(), {
|
|
29639
29692
|
kind: "mutation",
|
|
29640
|
-
auth: "
|
|
29693
|
+
auth: "protected"
|
|
29641
29694
|
}), method(object({ deviceId: number().int().nonnegative() }), _void(), {
|
|
29642
29695
|
kind: "mutation",
|
|
29643
|
-
auth: "
|
|
29696
|
+
auth: "protected"
|
|
29644
29697
|
}), method(object({
|
|
29645
29698
|
deviceId: number().int().nonnegative(),
|
|
29646
29699
|
speed: string().min(1)
|
|
29647
29700
|
}), _void(), {
|
|
29648
29701
|
kind: "mutation",
|
|
29649
|
-
auth: "
|
|
29702
|
+
auth: "protected"
|
|
29650
29703
|
});
|
|
29651
29704
|
object({
|
|
29652
29705
|
/** Lifecycle state of the valve. */
|
|
@@ -29665,19 +29718,19 @@ object({
|
|
|
29665
29718
|
});
|
|
29666
29719
|
DeviceType.Valve, method(object({ deviceId: number().int().nonnegative() }), _void(), {
|
|
29667
29720
|
kind: "mutation",
|
|
29668
|
-
auth: "
|
|
29721
|
+
auth: "protected"
|
|
29669
29722
|
}), method(object({ deviceId: number().int().nonnegative() }), _void(), {
|
|
29670
29723
|
kind: "mutation",
|
|
29671
|
-
auth: "
|
|
29724
|
+
auth: "protected"
|
|
29672
29725
|
}), method(object({ deviceId: number().int().nonnegative() }), _void(), {
|
|
29673
29726
|
kind: "mutation",
|
|
29674
|
-
auth: "
|
|
29727
|
+
auth: "protected"
|
|
29675
29728
|
}), method(object({
|
|
29676
29729
|
deviceId: number().int().nonnegative(),
|
|
29677
29730
|
position: number().min(0).max(100)
|
|
29678
29731
|
}), _void(), {
|
|
29679
29732
|
kind: "mutation",
|
|
29680
|
-
auth: "
|
|
29733
|
+
auth: "protected"
|
|
29681
29734
|
});
|
|
29682
29735
|
object({
|
|
29683
29736
|
detected: boolean(),
|
|
@@ -29711,19 +29764,19 @@ DeviceType.WaterHeater, method(object({
|
|
|
29711
29764
|
temp: number().finite()
|
|
29712
29765
|
}), _void(), {
|
|
29713
29766
|
kind: "mutation",
|
|
29714
|
-
auth: "
|
|
29767
|
+
auth: "protected"
|
|
29715
29768
|
}), method(object({
|
|
29716
29769
|
deviceId: number().int().nonnegative(),
|
|
29717
29770
|
mode: string().min(1)
|
|
29718
29771
|
}), _void(), {
|
|
29719
29772
|
kind: "mutation",
|
|
29720
|
-
auth: "
|
|
29773
|
+
auth: "protected"
|
|
29721
29774
|
}), method(object({
|
|
29722
29775
|
deviceId: number().int().nonnegative(),
|
|
29723
29776
|
on: boolean()
|
|
29724
29777
|
}), _void(), {
|
|
29725
29778
|
kind: "mutation",
|
|
29726
|
-
auth: "
|
|
29779
|
+
auth: "protected"
|
|
29727
29780
|
});
|
|
29728
29781
|
object({
|
|
29729
29782
|
/** Verbatim HA condition state (`sunny`, `cloudy`, `rainy`, …). Null
|
|
@@ -31815,6 +31868,12 @@ Object.freeze({
|
|
|
31815
31868
|
addonId: null,
|
|
31816
31869
|
access: "create"
|
|
31817
31870
|
},
|
|
31871
|
+
"faceGallery.auditIdentitySamples": {
|
|
31872
|
+
capName: "face-gallery",
|
|
31873
|
+
capScope: "system",
|
|
31874
|
+
addonId: null,
|
|
31875
|
+
access: "view"
|
|
31876
|
+
},
|
|
31818
31877
|
"faceGallery.createIdentity": {
|
|
31819
31878
|
capName: "face-gallery",
|
|
31820
31879
|
capScope: "system",
|
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.92",
|
|
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",
|