@camstack/addon-provider-velux 0.2.84 → 0.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.
Files changed (3) hide show
  1. package/dist/addon.js +129 -70
  2. package/dist/addon.mjs +129 -70
  3. package/package.json +1 -1
package/dist/addon.js CHANGED
@@ -16108,14 +16108,14 @@ var alarmPanelCapability = {
16108
16108
  code: string().min(1).optional()
16109
16109
  }), _void(), {
16110
16110
  kind: "mutation",
16111
- auth: "admin"
16111
+ auth: "protected"
16112
16112
  }),
16113
16113
  disarm: method(object({
16114
16114
  deviceId: number().int().nonnegative(),
16115
16115
  code: string().min(1).optional()
16116
16116
  }), _void(), {
16117
16117
  kind: "mutation",
16118
- auth: "admin"
16118
+ auth: "protected"
16119
16119
  }),
16120
16120
  /**
16121
16121
  * Force the panel into the `triggered` state — used by HA
@@ -16126,7 +16126,7 @@ var alarmPanelCapability = {
16126
16126
  */
16127
16127
  trigger: method(object({ deviceId: number().int().nonnegative() }), _void(), {
16128
16128
  kind: "mutation",
16129
- auth: "admin"
16129
+ auth: "protected"
16130
16130
  })
16131
16131
  },
16132
16132
  status: {
@@ -24093,7 +24093,7 @@ var brightnessCapability = {
24093
24093
  percentage: number().min(0).max(100)
24094
24094
  }), _void(), {
24095
24095
  kind: "mutation",
24096
- auth: "admin"
24096
+ auth: "protected"
24097
24097
  }) },
24098
24098
  events: {
24099
24099
  /**
@@ -24126,7 +24126,7 @@ onBrightnessChanged: { data: object({
24126
24126
  };
24127
24127
  DeviceType.Button, method(object({ deviceId: number().int().nonnegative() }), _void(), {
24128
24128
  kind: "mutation",
24129
- auth: "admin"
24129
+ auth: "protected"
24130
24130
  });
24131
24131
  /**
24132
24132
  * camera-credentials — device-scoped cap exposing the camera's network
@@ -24318,28 +24318,28 @@ var climateControlCapability = {
24318
24318
  mode: HvacModeSchema
24319
24319
  }), _void(), {
24320
24320
  kind: "mutation",
24321
- auth: "admin"
24321
+ auth: "protected"
24322
24322
  }),
24323
24323
  setFanMode: method(object({
24324
24324
  deviceId: number().int().nonnegative(),
24325
24325
  fanMode: string().min(1)
24326
24326
  }), _void(), {
24327
24327
  kind: "mutation",
24328
- auth: "admin"
24328
+ auth: "protected"
24329
24329
  }),
24330
24330
  setPreset: method(object({
24331
24331
  deviceId: number().int().nonnegative(),
24332
24332
  preset: string().min(1)
24333
24333
  }), _void(), {
24334
24334
  kind: "mutation",
24335
- auth: "admin"
24335
+ auth: "protected"
24336
24336
  }),
24337
24337
  setTarget: method(object({
24338
24338
  deviceId: number().int().nonnegative(),
24339
24339
  target: number()
24340
24340
  }), _void(), {
24341
24341
  kind: "mutation",
24342
- auth: "admin"
24342
+ auth: "protected"
24343
24343
  }),
24344
24344
  setTargetRange: method(object({
24345
24345
  deviceId: number().int().nonnegative(),
@@ -24347,28 +24347,28 @@ var climateControlCapability = {
24347
24347
  targetHigh: number()
24348
24348
  }), _void(), {
24349
24349
  kind: "mutation",
24350
- auth: "admin"
24350
+ auth: "protected"
24351
24351
  }),
24352
24352
  setTargetHumidity: method(object({
24353
24353
  deviceId: number().int().nonnegative(),
24354
24354
  targetHumidity: number().min(0).max(100)
24355
24355
  }), _void(), {
24356
24356
  kind: "mutation",
24357
- auth: "admin"
24357
+ auth: "protected"
24358
24358
  }),
24359
24359
  setSwingVertical: method(object({
24360
24360
  deviceId: number().int().nonnegative(),
24361
24361
  on: boolean()
24362
24362
  }), _void(), {
24363
24363
  kind: "mutation",
24364
- auth: "admin"
24364
+ auth: "protected"
24365
24365
  }),
24366
24366
  setSwingHorizontal: method(object({
24367
24367
  deviceId: number().int().nonnegative(),
24368
24368
  on: boolean()
24369
24369
  }), _void(), {
24370
24370
  kind: "mutation",
24371
- auth: "admin"
24371
+ auth: "protected"
24372
24372
  })
24373
24373
  },
24374
24374
  status: {
@@ -24468,7 +24468,7 @@ var colorCapability = {
24468
24468
  color: ColorInputSchema
24469
24469
  }), _void(), {
24470
24470
  kind: "mutation",
24471
- auth: "admin"
24471
+ auth: "protected"
24472
24472
  }) },
24473
24473
  events: {
24474
24474
  /**
@@ -24797,7 +24797,7 @@ var controlCapability = {
24797
24797
  control: ControlSetValueInputSchema
24798
24798
  }), _void(), {
24799
24799
  kind: "mutation",
24800
- auth: "admin"
24800
+ auth: "protected"
24801
24801
  }) },
24802
24802
  status: {
24803
24803
  schema: ControlStatusSchema,
@@ -24843,29 +24843,29 @@ var coverCapability = {
24843
24843
  methods: {
24844
24844
  open: method(object({ deviceId: number().int().nonnegative() }), _void(), {
24845
24845
  kind: "mutation",
24846
- auth: "admin"
24846
+ auth: "protected"
24847
24847
  }),
24848
24848
  close: method(object({ deviceId: number().int().nonnegative() }), _void(), {
24849
24849
  kind: "mutation",
24850
- auth: "admin"
24850
+ auth: "protected"
24851
24851
  }),
24852
24852
  stop: method(object({ deviceId: number().int().nonnegative() }), _void(), {
24853
24853
  kind: "mutation",
24854
- auth: "admin"
24854
+ auth: "protected"
24855
24855
  }),
24856
24856
  setPosition: method(object({
24857
24857
  deviceId: number().int().nonnegative(),
24858
24858
  position: number().min(0).max(100)
24859
24859
  }), _void(), {
24860
24860
  kind: "mutation",
24861
- auth: "admin"
24861
+ auth: "protected"
24862
24862
  }),
24863
24863
  setTiltPosition: method(object({
24864
24864
  deviceId: number().int().nonnegative(),
24865
24865
  tiltPosition: number().min(0).max(100)
24866
24866
  }), _void(), {
24867
24867
  kind: "mutation",
24868
- auth: "admin"
24868
+ auth: "protected"
24869
24869
  })
24870
24870
  },
24871
24871
  status: {
@@ -25251,6 +25251,59 @@ var IdentitySampleInfoSchema = object({
25251
25251
  deviceId: number().int().optional(),
25252
25252
  base64: string().optional()
25253
25253
  });
25254
+ /**
25255
+ * One enrolled sample, judged against the gallery it lives in.
25256
+ *
25257
+ * The gallery is the one input to recognition nobody re-reads: a sample
25258
+ * enrolled from the wrong face keeps voting forever, and because the matches it
25259
+ * pulls then look confident, nobody goes back. The 2026-09-08 audit found
25260
+ * exactly one such pair on this cluster — a sample scoring 0.61 against three
25261
+ * samples of ANOTHER person, enrolled from the same camera in the same minute,
25262
+ * where every other cross-identity pair sits under 0.50.
25263
+ */
25264
+ var IdentitySampleAuditRowSchema = object({
25265
+ sampleId: string(),
25266
+ enrolledAt: number().int(),
25267
+ deviceId: number().int().optional(),
25268
+ source: _enum(["detected", "photo"]),
25269
+ /** The enrolled crop's media key, so the panel can show the evidence. */
25270
+ mediaKey: string().optional(),
25271
+ /**
25272
+ * False = the sample is stamped with a DIFFERENT face model, and a cosine
25273
+ * across feature spaces is a well-formed float with no meaning. Every number
25274
+ * below then says nothing — it must read as "cannot say", never as an
25275
+ * accusation and never as a clean bill: this list ends in a Remove button.
25276
+ */
25277
+ comparable: boolean(),
25278
+ /** Mean cosine against this person's other samples. Null when there are none
25279
+ * to compare with — never 0, which would read as "opposite". */
25280
+ selfMean: number().nullable(),
25281
+ /** The other person this sample looks most like, when it looks like one.
25282
+ * This is the half that convicts: not looking like yourself can be a hard
25283
+ * angle; looking like someone the gallery can NAME is a mis-enrolment. */
25284
+ bestForeign: object({
25285
+ identityId: string(),
25286
+ name: string(),
25287
+ score: number()
25288
+ }).optional(),
25289
+ /** 0 = nothing to say. Higher = look at this one sooner. */
25290
+ suspicion: number()
25291
+ });
25292
+ var IdentitySampleAuditSchema = object({
25293
+ identityId: string(),
25294
+ name: string(),
25295
+ /** The cluster face model every comparison was made in. */
25296
+ modelId: string(),
25297
+ totalSamples: number().int(),
25298
+ comparableSamples: number().int(),
25299
+ flagged: number().int(),
25300
+ /** The bar `flagged` counts against, so the panel states the RULE and not
25301
+ * only its current result. */
25302
+ flagThreshold: number(),
25303
+ /** Worst first. A row with nothing to say still appears, at the bottom: the
25304
+ * operator asked to see the gallery, not only its accusations. */
25305
+ rows: array(IdentitySampleAuditRowSchema).readonly()
25306
+ });
25254
25307
  var FaceInfoSchema = object({
25255
25308
  faceId: string(),
25256
25309
  deviceId: number().int(),
@@ -25402,7 +25455,7 @@ includeCrops: boolean().optional() }).optional(), array(IdentitySchema).readonly
25402
25455
  }), method(object({ id: string() }), _void(), {
25403
25456
  kind: "mutation",
25404
25457
  auth: "admin"
25405
- }), method(object({ identityId: string() }), array(IdentitySampleInfoSchema).readonly()), method(object({
25458
+ }), method(object({ identityId: string() }), array(IdentitySampleInfoSchema).readonly()), method(object({ identityId: string().min(1) }), IdentitySampleAuditSchema, { auth: "admin" }), method(object({
25406
25459
  identityId: string(),
25407
25460
  sampleId: string()
25408
25461
  }), _void(), {
@@ -25595,28 +25648,28 @@ var fanControlCapability = {
25595
25648
  percentage: number().min(0).max(100)
25596
25649
  }), _void(), {
25597
25650
  kind: "mutation",
25598
- auth: "admin"
25651
+ auth: "protected"
25599
25652
  }),
25600
25653
  setPreset: method(object({
25601
25654
  deviceId: number().int().nonnegative(),
25602
25655
  preset: string().min(1)
25603
25656
  }), _void(), {
25604
25657
  kind: "mutation",
25605
- auth: "admin"
25658
+ auth: "protected"
25606
25659
  }),
25607
25660
  setDirection: method(object({
25608
25661
  deviceId: number().int().nonnegative(),
25609
25662
  direction: FanDirectionSchema
25610
25663
  }), _void(), {
25611
25664
  kind: "mutation",
25612
- auth: "admin"
25665
+ auth: "protected"
25613
25666
  }),
25614
25667
  setOscillating: method(object({
25615
25668
  deviceId: number().int().nonnegative(),
25616
25669
  oscillating: boolean()
25617
25670
  }), _void(), {
25618
25671
  kind: "mutation",
25619
- auth: "admin"
25672
+ auth: "protected"
25620
25673
  })
25621
25674
  },
25622
25675
  status: {
@@ -25838,21 +25891,21 @@ var humidifierCapability = {
25838
25891
  on: boolean()
25839
25892
  }), _void(), {
25840
25893
  kind: "mutation",
25841
- auth: "admin"
25894
+ auth: "protected"
25842
25895
  }),
25843
25896
  setTargetHumidity: method(object({
25844
25897
  deviceId: number().int().nonnegative(),
25845
25898
  humidity: number().min(0).max(100)
25846
25899
  }), _void(), {
25847
25900
  kind: "mutation",
25848
- auth: "admin"
25901
+ auth: "protected"
25849
25902
  }),
25850
25903
  setMode: method(object({
25851
25904
  deviceId: number().int().nonnegative(),
25852
25905
  mode: string().min(1)
25853
25906
  }), _void(), {
25854
25907
  kind: "mutation",
25855
- auth: "admin"
25908
+ auth: "protected"
25856
25909
  })
25857
25910
  },
25858
25911
  status: {
@@ -26553,15 +26606,15 @@ var lawnMowerControlCapability = {
26553
26606
  methods: {
26554
26607
  startMowing: method(object({ deviceId: number().int().nonnegative() }), _void(), {
26555
26608
  kind: "mutation",
26556
- auth: "admin"
26609
+ auth: "protected"
26557
26610
  }),
26558
26611
  pause: method(object({ deviceId: number().int().nonnegative() }), _void(), {
26559
26612
  kind: "mutation",
26560
- auth: "admin"
26613
+ auth: "protected"
26561
26614
  }),
26562
26615
  dock: method(object({ deviceId: number().int().nonnegative() }), _void(), {
26563
26616
  kind: "mutation",
26564
- auth: "admin"
26617
+ auth: "protected"
26565
26618
  })
26566
26619
  },
26567
26620
  status: {
@@ -26846,18 +26899,18 @@ var lockControlCapability = {
26846
26899
  code: string().min(1).optional()
26847
26900
  }), _void(), {
26848
26901
  kind: "mutation",
26849
- auth: "admin"
26902
+ auth: "protected"
26850
26903
  }),
26851
26904
  unlock: method(object({
26852
26905
  deviceId: number().int().nonnegative(),
26853
26906
  code: string().min(1).optional()
26854
26907
  }), _void(), {
26855
26908
  kind: "mutation",
26856
- auth: "admin"
26909
+ auth: "protected"
26857
26910
  }),
26858
26911
  open: method(object({ deviceId: number().int().nonnegative() }), _void(), {
26859
26912
  kind: "mutation",
26860
- auth: "admin"
26913
+ auth: "protected"
26861
26914
  })
26862
26915
  },
26863
26916
  status: {
@@ -26960,65 +27013,65 @@ var mediaPlayerCapability = {
26960
27013
  methods: {
26961
27014
  play: method(object({ deviceId: number().int().nonnegative() }), _void(), {
26962
27015
  kind: "mutation",
26963
- auth: "admin"
27016
+ auth: "protected"
26964
27017
  }),
26965
27018
  pause: method(object({ deviceId: number().int().nonnegative() }), _void(), {
26966
27019
  kind: "mutation",
26967
- auth: "admin"
27020
+ auth: "protected"
26968
27021
  }),
26969
27022
  stop: method(object({ deviceId: number().int().nonnegative() }), _void(), {
26970
27023
  kind: "mutation",
26971
- auth: "admin"
27024
+ auth: "protected"
26972
27025
  }),
26973
27026
  next: method(object({ deviceId: number().int().nonnegative() }), _void(), {
26974
27027
  kind: "mutation",
26975
- auth: "admin"
27028
+ auth: "protected"
26976
27029
  }),
26977
27030
  previous: method(object({ deviceId: number().int().nonnegative() }), _void(), {
26978
27031
  kind: "mutation",
26979
- auth: "admin"
27032
+ auth: "protected"
26980
27033
  }),
26981
27034
  seek: method(object({
26982
27035
  deviceId: number().int().nonnegative(),
26983
27036
  positionMs: number().int().nonnegative()
26984
27037
  }), _void(), {
26985
27038
  kind: "mutation",
26986
- auth: "admin"
27039
+ auth: "protected"
26987
27040
  }),
26988
27041
  setVolume: method(object({
26989
27042
  deviceId: number().int().nonnegative(),
26990
27043
  volumeLevel: number().min(0).max(100)
26991
27044
  }), _void(), {
26992
27045
  kind: "mutation",
26993
- auth: "admin"
27046
+ auth: "protected"
26994
27047
  }),
26995
27048
  setMute: method(object({
26996
27049
  deviceId: number().int().nonnegative(),
26997
27050
  muted: boolean()
26998
27051
  }), _void(), {
26999
27052
  kind: "mutation",
27000
- auth: "admin"
27053
+ auth: "protected"
27001
27054
  }),
27002
27055
  setShuffle: method(object({
27003
27056
  deviceId: number().int().nonnegative(),
27004
27057
  shuffle: boolean()
27005
27058
  }), _void(), {
27006
27059
  kind: "mutation",
27007
- auth: "admin"
27060
+ auth: "protected"
27008
27061
  }),
27009
27062
  setRepeat: method(object({
27010
27063
  deviceId: number().int().nonnegative(),
27011
27064
  repeat: MediaPlayerRepeatSchema
27012
27065
  }), _void(), {
27013
27066
  kind: "mutation",
27014
- auth: "admin"
27067
+ auth: "protected"
27015
27068
  }),
27016
27069
  selectSource: method(object({
27017
27070
  deviceId: number().int().nonnegative(),
27018
27071
  source: string().min(1)
27019
27072
  }), _void(), {
27020
27073
  kind: "mutation",
27021
- auth: "admin"
27074
+ auth: "protected"
27022
27075
  }),
27023
27076
  playMedia: method(object({
27024
27077
  deviceId: number().int().nonnegative(),
@@ -27029,7 +27082,7 @@ var mediaPlayerCapability = {
27029
27082
  mediaType: string().min(1)
27030
27083
  }), _void(), {
27031
27084
  kind: "mutation",
27032
- auth: "admin"
27085
+ auth: "protected"
27033
27086
  })
27034
27087
  },
27035
27088
  status: {
@@ -28622,27 +28675,27 @@ var petFeederCapability = {
28622
28675
  hopper2: gramsPortion.optional()
28623
28676
  }), _void(), {
28624
28677
  kind: "mutation",
28625
- auth: "admin"
28678
+ auth: "protected"
28626
28679
  }),
28627
28680
  /** Cancel an in-progress manual feed. */
28628
28681
  cancelFeed: method(object({ deviceId: number().int().nonnegative() }), _void(), {
28629
28682
  kind: "mutation",
28630
- auth: "admin"
28683
+ auth: "protected"
28631
28684
  }),
28632
28685
  /** Reset the desiccant "days remaining" counter after replacing it. */
28633
28686
  resetDesiccant: method(object({ deviceId: number().int().nonnegative() }), _void(), {
28634
28687
  kind: "mutation",
28635
- auth: "admin"
28688
+ auth: "protected"
28636
28689
  }),
28637
28690
  /** Mark a hopper as refilled (D4H/D4S/D4SH). */
28638
28691
  markFoodReplenished: method(object({ deviceId: number().int().nonnegative() }), _void(), {
28639
28692
  kind: "mutation",
28640
- auth: "admin"
28693
+ auth: "protected"
28641
28694
  }),
28642
28695
  /** Call the pet with the recorded prompt (D3). */
28643
28696
  callPet: method(object({ deviceId: number().int().nonnegative() }), _void(), {
28644
28697
  kind: "mutation",
28645
- auth: "admin"
28698
+ auth: "protected"
28646
28699
  }),
28647
28700
  /** Play a stored sound by id (D3 / D4H / D4SH). */
28648
28701
  playSound: method(object({
@@ -28650,7 +28703,7 @@ var petFeederCapability = {
28650
28703
  soundId: number().int().nonnegative()
28651
28704
  }), _void(), {
28652
28705
  kind: "mutation",
28653
- auth: "admin"
28706
+ auth: "protected"
28654
28707
  }),
28655
28708
  /** Toggle the child-lock (manual-lock) setting. */
28656
28709
  setChildLock: method(object({
@@ -28658,7 +28711,7 @@ var petFeederCapability = {
28658
28711
  on: boolean()
28659
28712
  }), _void(), {
28660
28713
  kind: "mutation",
28661
- auth: "admin"
28714
+ auth: "protected"
28662
28715
  }),
28663
28716
  /** Toggle the front indicator light. */
28664
28717
  setIndicatorLight: method(object({
@@ -28666,7 +28719,7 @@ var petFeederCapability = {
28666
28719
  on: boolean()
28667
28720
  }), _void(), {
28668
28721
  kind: "mutation",
28669
- auth: "admin"
28722
+ auth: "protected"
28670
28723
  }),
28671
28724
  /** Toggle the dispense chime. */
28672
28725
  setFeedSound: method(object({
@@ -28674,7 +28727,7 @@ var petFeederCapability = {
28674
28727
  on: boolean()
28675
28728
  }), _void(), {
28676
28729
  kind: "mutation",
28677
- auth: "admin"
28730
+ auth: "protected"
28678
28731
  }),
28679
28732
  /** Set the speaker / prompt volume level. */
28680
28733
  setVolume: method(object({
@@ -28682,7 +28735,7 @@ var petFeederCapability = {
28682
28735
  level: number().int().nonnegative()
28683
28736
  }), _void(), {
28684
28737
  kind: "mutation",
28685
- auth: "admin"
28738
+ auth: "protected"
28686
28739
  })
28687
28740
  },
28688
28741
  status: {
@@ -30978,7 +31031,7 @@ var switchCapability = {
30978
31031
  on: boolean()
30979
31032
  }), _void(), {
30980
31033
  kind: "mutation",
30981
- auth: "admin"
31034
+ auth: "protected"
30982
31035
  }) },
30983
31036
  events: { onStateChanged: { data: object({
30984
31037
  deviceId: number(),
@@ -31966,30 +32019,30 @@ var vacuumControlCapability = {
31966
32019
  methods: {
31967
32020
  start: method(object({ deviceId: number().int().nonnegative() }), _void(), {
31968
32021
  kind: "mutation",
31969
- auth: "admin"
32022
+ auth: "protected"
31970
32023
  }),
31971
32024
  pause: method(object({ deviceId: number().int().nonnegative() }), _void(), {
31972
32025
  kind: "mutation",
31973
- auth: "admin"
32026
+ auth: "protected"
31974
32027
  }),
31975
32028
  stop: method(object({ deviceId: number().int().nonnegative() }), _void(), {
31976
32029
  kind: "mutation",
31977
- auth: "admin"
32030
+ auth: "protected"
31978
32031
  }),
31979
32032
  returnToBase: method(object({ deviceId: number().int().nonnegative() }), _void(), {
31980
32033
  kind: "mutation",
31981
- auth: "admin"
32034
+ auth: "protected"
31982
32035
  }),
31983
32036
  locate: method(object({ deviceId: number().int().nonnegative() }), _void(), {
31984
32037
  kind: "mutation",
31985
- auth: "admin"
32038
+ auth: "protected"
31986
32039
  }),
31987
32040
  setFanSpeed: method(object({
31988
32041
  deviceId: number().int().nonnegative(),
31989
32042
  speed: string().min(1)
31990
32043
  }), _void(), {
31991
32044
  kind: "mutation",
31992
- auth: "admin"
32045
+ auth: "protected"
31993
32046
  })
31994
32047
  },
31995
32048
  status: {
@@ -32033,22 +32086,22 @@ var valveCapability = {
32033
32086
  methods: {
32034
32087
  open: method(object({ deviceId: number().int().nonnegative() }), _void(), {
32035
32088
  kind: "mutation",
32036
- auth: "admin"
32089
+ auth: "protected"
32037
32090
  }),
32038
32091
  close: method(object({ deviceId: number().int().nonnegative() }), _void(), {
32039
32092
  kind: "mutation",
32040
- auth: "admin"
32093
+ auth: "protected"
32041
32094
  }),
32042
32095
  stop: method(object({ deviceId: number().int().nonnegative() }), _void(), {
32043
32096
  kind: "mutation",
32044
- auth: "admin"
32097
+ auth: "protected"
32045
32098
  }),
32046
32099
  setPosition: method(object({
32047
32100
  deviceId: number().int().nonnegative(),
32048
32101
  position: number().min(0).max(100)
32049
32102
  }), _void(), {
32050
32103
  kind: "mutation",
32051
- auth: "admin"
32104
+ auth: "protected"
32052
32105
  })
32053
32106
  },
32054
32107
  status: {
@@ -32147,21 +32200,21 @@ var waterHeaterCapability = {
32147
32200
  temp: number().finite()
32148
32201
  }), _void(), {
32149
32202
  kind: "mutation",
32150
- auth: "admin"
32203
+ auth: "protected"
32151
32204
  }),
32152
32205
  setOperationMode: method(object({
32153
32206
  deviceId: number().int().nonnegative(),
32154
32207
  mode: string().min(1)
32155
32208
  }), _void(), {
32156
32209
  kind: "mutation",
32157
- auth: "admin"
32210
+ auth: "protected"
32158
32211
  }),
32159
32212
  setAway: method(object({
32160
32213
  deviceId: number().int().nonnegative(),
32161
32214
  on: boolean()
32162
32215
  }), _void(), {
32163
32216
  kind: "mutation",
32164
- auth: "admin"
32217
+ auth: "protected"
32165
32218
  })
32166
32219
  },
32167
32220
  status: {
@@ -35895,6 +35948,12 @@ Object.freeze({
35895
35948
  addonId: null,
35896
35949
  access: "create"
35897
35950
  },
35951
+ "faceGallery.auditIdentitySamples": {
35952
+ capName: "face-gallery",
35953
+ capScope: "system",
35954
+ addonId: null,
35955
+ access: "view"
35956
+ },
35898
35957
  "faceGallery.createIdentity": {
35899
35958
  capName: "face-gallery",
35900
35959
  capScope: "system",
package/dist/addon.mjs CHANGED
@@ -16107,14 +16107,14 @@ var alarmPanelCapability = {
16107
16107
  code: string().min(1).optional()
16108
16108
  }), _void(), {
16109
16109
  kind: "mutation",
16110
- auth: "admin"
16110
+ auth: "protected"
16111
16111
  }),
16112
16112
  disarm: method(object({
16113
16113
  deviceId: number().int().nonnegative(),
16114
16114
  code: string().min(1).optional()
16115
16115
  }), _void(), {
16116
16116
  kind: "mutation",
16117
- auth: "admin"
16117
+ auth: "protected"
16118
16118
  }),
16119
16119
  /**
16120
16120
  * Force the panel into the `triggered` state — used by HA
@@ -16125,7 +16125,7 @@ var alarmPanelCapability = {
16125
16125
  */
16126
16126
  trigger: method(object({ deviceId: number().int().nonnegative() }), _void(), {
16127
16127
  kind: "mutation",
16128
- auth: "admin"
16128
+ auth: "protected"
16129
16129
  })
16130
16130
  },
16131
16131
  status: {
@@ -24092,7 +24092,7 @@ var brightnessCapability = {
24092
24092
  percentage: number().min(0).max(100)
24093
24093
  }), _void(), {
24094
24094
  kind: "mutation",
24095
- auth: "admin"
24095
+ auth: "protected"
24096
24096
  }) },
24097
24097
  events: {
24098
24098
  /**
@@ -24125,7 +24125,7 @@ onBrightnessChanged: { data: object({
24125
24125
  };
24126
24126
  DeviceType.Button, method(object({ deviceId: number().int().nonnegative() }), _void(), {
24127
24127
  kind: "mutation",
24128
- auth: "admin"
24128
+ auth: "protected"
24129
24129
  });
24130
24130
  /**
24131
24131
  * camera-credentials — device-scoped cap exposing the camera's network
@@ -24317,28 +24317,28 @@ var climateControlCapability = {
24317
24317
  mode: HvacModeSchema
24318
24318
  }), _void(), {
24319
24319
  kind: "mutation",
24320
- auth: "admin"
24320
+ auth: "protected"
24321
24321
  }),
24322
24322
  setFanMode: method(object({
24323
24323
  deviceId: number().int().nonnegative(),
24324
24324
  fanMode: string().min(1)
24325
24325
  }), _void(), {
24326
24326
  kind: "mutation",
24327
- auth: "admin"
24327
+ auth: "protected"
24328
24328
  }),
24329
24329
  setPreset: method(object({
24330
24330
  deviceId: number().int().nonnegative(),
24331
24331
  preset: string().min(1)
24332
24332
  }), _void(), {
24333
24333
  kind: "mutation",
24334
- auth: "admin"
24334
+ auth: "protected"
24335
24335
  }),
24336
24336
  setTarget: method(object({
24337
24337
  deviceId: number().int().nonnegative(),
24338
24338
  target: number()
24339
24339
  }), _void(), {
24340
24340
  kind: "mutation",
24341
- auth: "admin"
24341
+ auth: "protected"
24342
24342
  }),
24343
24343
  setTargetRange: method(object({
24344
24344
  deviceId: number().int().nonnegative(),
@@ -24346,28 +24346,28 @@ var climateControlCapability = {
24346
24346
  targetHigh: number()
24347
24347
  }), _void(), {
24348
24348
  kind: "mutation",
24349
- auth: "admin"
24349
+ auth: "protected"
24350
24350
  }),
24351
24351
  setTargetHumidity: method(object({
24352
24352
  deviceId: number().int().nonnegative(),
24353
24353
  targetHumidity: number().min(0).max(100)
24354
24354
  }), _void(), {
24355
24355
  kind: "mutation",
24356
- auth: "admin"
24356
+ auth: "protected"
24357
24357
  }),
24358
24358
  setSwingVertical: method(object({
24359
24359
  deviceId: number().int().nonnegative(),
24360
24360
  on: boolean()
24361
24361
  }), _void(), {
24362
24362
  kind: "mutation",
24363
- auth: "admin"
24363
+ auth: "protected"
24364
24364
  }),
24365
24365
  setSwingHorizontal: method(object({
24366
24366
  deviceId: number().int().nonnegative(),
24367
24367
  on: boolean()
24368
24368
  }), _void(), {
24369
24369
  kind: "mutation",
24370
- auth: "admin"
24370
+ auth: "protected"
24371
24371
  })
24372
24372
  },
24373
24373
  status: {
@@ -24467,7 +24467,7 @@ var colorCapability = {
24467
24467
  color: ColorInputSchema
24468
24468
  }), _void(), {
24469
24469
  kind: "mutation",
24470
- auth: "admin"
24470
+ auth: "protected"
24471
24471
  }) },
24472
24472
  events: {
24473
24473
  /**
@@ -24796,7 +24796,7 @@ var controlCapability = {
24796
24796
  control: ControlSetValueInputSchema
24797
24797
  }), _void(), {
24798
24798
  kind: "mutation",
24799
- auth: "admin"
24799
+ auth: "protected"
24800
24800
  }) },
24801
24801
  status: {
24802
24802
  schema: ControlStatusSchema,
@@ -24842,29 +24842,29 @@ var coverCapability = {
24842
24842
  methods: {
24843
24843
  open: method(object({ deviceId: number().int().nonnegative() }), _void(), {
24844
24844
  kind: "mutation",
24845
- auth: "admin"
24845
+ auth: "protected"
24846
24846
  }),
24847
24847
  close: method(object({ deviceId: number().int().nonnegative() }), _void(), {
24848
24848
  kind: "mutation",
24849
- auth: "admin"
24849
+ auth: "protected"
24850
24850
  }),
24851
24851
  stop: method(object({ deviceId: number().int().nonnegative() }), _void(), {
24852
24852
  kind: "mutation",
24853
- auth: "admin"
24853
+ auth: "protected"
24854
24854
  }),
24855
24855
  setPosition: method(object({
24856
24856
  deviceId: number().int().nonnegative(),
24857
24857
  position: number().min(0).max(100)
24858
24858
  }), _void(), {
24859
24859
  kind: "mutation",
24860
- auth: "admin"
24860
+ auth: "protected"
24861
24861
  }),
24862
24862
  setTiltPosition: method(object({
24863
24863
  deviceId: number().int().nonnegative(),
24864
24864
  tiltPosition: number().min(0).max(100)
24865
24865
  }), _void(), {
24866
24866
  kind: "mutation",
24867
- auth: "admin"
24867
+ auth: "protected"
24868
24868
  })
24869
24869
  },
24870
24870
  status: {
@@ -25250,6 +25250,59 @@ var IdentitySampleInfoSchema = object({
25250
25250
  deviceId: number().int().optional(),
25251
25251
  base64: string().optional()
25252
25252
  });
25253
+ /**
25254
+ * One enrolled sample, judged against the gallery it lives in.
25255
+ *
25256
+ * The gallery is the one input to recognition nobody re-reads: a sample
25257
+ * enrolled from the wrong face keeps voting forever, and because the matches it
25258
+ * pulls then look confident, nobody goes back. The 2026-09-08 audit found
25259
+ * exactly one such pair on this cluster — a sample scoring 0.61 against three
25260
+ * samples of ANOTHER person, enrolled from the same camera in the same minute,
25261
+ * where every other cross-identity pair sits under 0.50.
25262
+ */
25263
+ var IdentitySampleAuditRowSchema = object({
25264
+ sampleId: string(),
25265
+ enrolledAt: number().int(),
25266
+ deviceId: number().int().optional(),
25267
+ source: _enum(["detected", "photo"]),
25268
+ /** The enrolled crop's media key, so the panel can show the evidence. */
25269
+ mediaKey: string().optional(),
25270
+ /**
25271
+ * False = the sample is stamped with a DIFFERENT face model, and a cosine
25272
+ * across feature spaces is a well-formed float with no meaning. Every number
25273
+ * below then says nothing — it must read as "cannot say", never as an
25274
+ * accusation and never as a clean bill: this list ends in a Remove button.
25275
+ */
25276
+ comparable: boolean(),
25277
+ /** Mean cosine against this person's other samples. Null when there are none
25278
+ * to compare with — never 0, which would read as "opposite". */
25279
+ selfMean: number().nullable(),
25280
+ /** The other person this sample looks most like, when it looks like one.
25281
+ * This is the half that convicts: not looking like yourself can be a hard
25282
+ * angle; looking like someone the gallery can NAME is a mis-enrolment. */
25283
+ bestForeign: object({
25284
+ identityId: string(),
25285
+ name: string(),
25286
+ score: number()
25287
+ }).optional(),
25288
+ /** 0 = nothing to say. Higher = look at this one sooner. */
25289
+ suspicion: number()
25290
+ });
25291
+ var IdentitySampleAuditSchema = object({
25292
+ identityId: string(),
25293
+ name: string(),
25294
+ /** The cluster face model every comparison was made in. */
25295
+ modelId: string(),
25296
+ totalSamples: number().int(),
25297
+ comparableSamples: number().int(),
25298
+ flagged: number().int(),
25299
+ /** The bar `flagged` counts against, so the panel states the RULE and not
25300
+ * only its current result. */
25301
+ flagThreshold: number(),
25302
+ /** Worst first. A row with nothing to say still appears, at the bottom: the
25303
+ * operator asked to see the gallery, not only its accusations. */
25304
+ rows: array(IdentitySampleAuditRowSchema).readonly()
25305
+ });
25253
25306
  var FaceInfoSchema = object({
25254
25307
  faceId: string(),
25255
25308
  deviceId: number().int(),
@@ -25401,7 +25454,7 @@ includeCrops: boolean().optional() }).optional(), array(IdentitySchema).readonly
25401
25454
  }), method(object({ id: string() }), _void(), {
25402
25455
  kind: "mutation",
25403
25456
  auth: "admin"
25404
- }), method(object({ identityId: string() }), array(IdentitySampleInfoSchema).readonly()), method(object({
25457
+ }), method(object({ identityId: string() }), array(IdentitySampleInfoSchema).readonly()), method(object({ identityId: string().min(1) }), IdentitySampleAuditSchema, { auth: "admin" }), method(object({
25405
25458
  identityId: string(),
25406
25459
  sampleId: string()
25407
25460
  }), _void(), {
@@ -25594,28 +25647,28 @@ var fanControlCapability = {
25594
25647
  percentage: number().min(0).max(100)
25595
25648
  }), _void(), {
25596
25649
  kind: "mutation",
25597
- auth: "admin"
25650
+ auth: "protected"
25598
25651
  }),
25599
25652
  setPreset: method(object({
25600
25653
  deviceId: number().int().nonnegative(),
25601
25654
  preset: string().min(1)
25602
25655
  }), _void(), {
25603
25656
  kind: "mutation",
25604
- auth: "admin"
25657
+ auth: "protected"
25605
25658
  }),
25606
25659
  setDirection: method(object({
25607
25660
  deviceId: number().int().nonnegative(),
25608
25661
  direction: FanDirectionSchema
25609
25662
  }), _void(), {
25610
25663
  kind: "mutation",
25611
- auth: "admin"
25664
+ auth: "protected"
25612
25665
  }),
25613
25666
  setOscillating: method(object({
25614
25667
  deviceId: number().int().nonnegative(),
25615
25668
  oscillating: boolean()
25616
25669
  }), _void(), {
25617
25670
  kind: "mutation",
25618
- auth: "admin"
25671
+ auth: "protected"
25619
25672
  })
25620
25673
  },
25621
25674
  status: {
@@ -25837,21 +25890,21 @@ var humidifierCapability = {
25837
25890
  on: boolean()
25838
25891
  }), _void(), {
25839
25892
  kind: "mutation",
25840
- auth: "admin"
25893
+ auth: "protected"
25841
25894
  }),
25842
25895
  setTargetHumidity: method(object({
25843
25896
  deviceId: number().int().nonnegative(),
25844
25897
  humidity: number().min(0).max(100)
25845
25898
  }), _void(), {
25846
25899
  kind: "mutation",
25847
- auth: "admin"
25900
+ auth: "protected"
25848
25901
  }),
25849
25902
  setMode: method(object({
25850
25903
  deviceId: number().int().nonnegative(),
25851
25904
  mode: string().min(1)
25852
25905
  }), _void(), {
25853
25906
  kind: "mutation",
25854
- auth: "admin"
25907
+ auth: "protected"
25855
25908
  })
25856
25909
  },
25857
25910
  status: {
@@ -26552,15 +26605,15 @@ var lawnMowerControlCapability = {
26552
26605
  methods: {
26553
26606
  startMowing: method(object({ deviceId: number().int().nonnegative() }), _void(), {
26554
26607
  kind: "mutation",
26555
- auth: "admin"
26608
+ auth: "protected"
26556
26609
  }),
26557
26610
  pause: method(object({ deviceId: number().int().nonnegative() }), _void(), {
26558
26611
  kind: "mutation",
26559
- auth: "admin"
26612
+ auth: "protected"
26560
26613
  }),
26561
26614
  dock: method(object({ deviceId: number().int().nonnegative() }), _void(), {
26562
26615
  kind: "mutation",
26563
- auth: "admin"
26616
+ auth: "protected"
26564
26617
  })
26565
26618
  },
26566
26619
  status: {
@@ -26845,18 +26898,18 @@ var lockControlCapability = {
26845
26898
  code: string().min(1).optional()
26846
26899
  }), _void(), {
26847
26900
  kind: "mutation",
26848
- auth: "admin"
26901
+ auth: "protected"
26849
26902
  }),
26850
26903
  unlock: method(object({
26851
26904
  deviceId: number().int().nonnegative(),
26852
26905
  code: string().min(1).optional()
26853
26906
  }), _void(), {
26854
26907
  kind: "mutation",
26855
- auth: "admin"
26908
+ auth: "protected"
26856
26909
  }),
26857
26910
  open: method(object({ deviceId: number().int().nonnegative() }), _void(), {
26858
26911
  kind: "mutation",
26859
- auth: "admin"
26912
+ auth: "protected"
26860
26913
  })
26861
26914
  },
26862
26915
  status: {
@@ -26959,65 +27012,65 @@ var mediaPlayerCapability = {
26959
27012
  methods: {
26960
27013
  play: method(object({ deviceId: number().int().nonnegative() }), _void(), {
26961
27014
  kind: "mutation",
26962
- auth: "admin"
27015
+ auth: "protected"
26963
27016
  }),
26964
27017
  pause: method(object({ deviceId: number().int().nonnegative() }), _void(), {
26965
27018
  kind: "mutation",
26966
- auth: "admin"
27019
+ auth: "protected"
26967
27020
  }),
26968
27021
  stop: method(object({ deviceId: number().int().nonnegative() }), _void(), {
26969
27022
  kind: "mutation",
26970
- auth: "admin"
27023
+ auth: "protected"
26971
27024
  }),
26972
27025
  next: method(object({ deviceId: number().int().nonnegative() }), _void(), {
26973
27026
  kind: "mutation",
26974
- auth: "admin"
27027
+ auth: "protected"
26975
27028
  }),
26976
27029
  previous: method(object({ deviceId: number().int().nonnegative() }), _void(), {
26977
27030
  kind: "mutation",
26978
- auth: "admin"
27031
+ auth: "protected"
26979
27032
  }),
26980
27033
  seek: method(object({
26981
27034
  deviceId: number().int().nonnegative(),
26982
27035
  positionMs: number().int().nonnegative()
26983
27036
  }), _void(), {
26984
27037
  kind: "mutation",
26985
- auth: "admin"
27038
+ auth: "protected"
26986
27039
  }),
26987
27040
  setVolume: method(object({
26988
27041
  deviceId: number().int().nonnegative(),
26989
27042
  volumeLevel: number().min(0).max(100)
26990
27043
  }), _void(), {
26991
27044
  kind: "mutation",
26992
- auth: "admin"
27045
+ auth: "protected"
26993
27046
  }),
26994
27047
  setMute: method(object({
26995
27048
  deviceId: number().int().nonnegative(),
26996
27049
  muted: boolean()
26997
27050
  }), _void(), {
26998
27051
  kind: "mutation",
26999
- auth: "admin"
27052
+ auth: "protected"
27000
27053
  }),
27001
27054
  setShuffle: method(object({
27002
27055
  deviceId: number().int().nonnegative(),
27003
27056
  shuffle: boolean()
27004
27057
  }), _void(), {
27005
27058
  kind: "mutation",
27006
- auth: "admin"
27059
+ auth: "protected"
27007
27060
  }),
27008
27061
  setRepeat: method(object({
27009
27062
  deviceId: number().int().nonnegative(),
27010
27063
  repeat: MediaPlayerRepeatSchema
27011
27064
  }), _void(), {
27012
27065
  kind: "mutation",
27013
- auth: "admin"
27066
+ auth: "protected"
27014
27067
  }),
27015
27068
  selectSource: method(object({
27016
27069
  deviceId: number().int().nonnegative(),
27017
27070
  source: string().min(1)
27018
27071
  }), _void(), {
27019
27072
  kind: "mutation",
27020
- auth: "admin"
27073
+ auth: "protected"
27021
27074
  }),
27022
27075
  playMedia: method(object({
27023
27076
  deviceId: number().int().nonnegative(),
@@ -27028,7 +27081,7 @@ var mediaPlayerCapability = {
27028
27081
  mediaType: string().min(1)
27029
27082
  }), _void(), {
27030
27083
  kind: "mutation",
27031
- auth: "admin"
27084
+ auth: "protected"
27032
27085
  })
27033
27086
  },
27034
27087
  status: {
@@ -28621,27 +28674,27 @@ var petFeederCapability = {
28621
28674
  hopper2: gramsPortion.optional()
28622
28675
  }), _void(), {
28623
28676
  kind: "mutation",
28624
- auth: "admin"
28677
+ auth: "protected"
28625
28678
  }),
28626
28679
  /** Cancel an in-progress manual feed. */
28627
28680
  cancelFeed: method(object({ deviceId: number().int().nonnegative() }), _void(), {
28628
28681
  kind: "mutation",
28629
- auth: "admin"
28682
+ auth: "protected"
28630
28683
  }),
28631
28684
  /** Reset the desiccant "days remaining" counter after replacing it. */
28632
28685
  resetDesiccant: method(object({ deviceId: number().int().nonnegative() }), _void(), {
28633
28686
  kind: "mutation",
28634
- auth: "admin"
28687
+ auth: "protected"
28635
28688
  }),
28636
28689
  /** Mark a hopper as refilled (D4H/D4S/D4SH). */
28637
28690
  markFoodReplenished: method(object({ deviceId: number().int().nonnegative() }), _void(), {
28638
28691
  kind: "mutation",
28639
- auth: "admin"
28692
+ auth: "protected"
28640
28693
  }),
28641
28694
  /** Call the pet with the recorded prompt (D3). */
28642
28695
  callPet: method(object({ deviceId: number().int().nonnegative() }), _void(), {
28643
28696
  kind: "mutation",
28644
- auth: "admin"
28697
+ auth: "protected"
28645
28698
  }),
28646
28699
  /** Play a stored sound by id (D3 / D4H / D4SH). */
28647
28700
  playSound: method(object({
@@ -28649,7 +28702,7 @@ var petFeederCapability = {
28649
28702
  soundId: number().int().nonnegative()
28650
28703
  }), _void(), {
28651
28704
  kind: "mutation",
28652
- auth: "admin"
28705
+ auth: "protected"
28653
28706
  }),
28654
28707
  /** Toggle the child-lock (manual-lock) setting. */
28655
28708
  setChildLock: method(object({
@@ -28657,7 +28710,7 @@ var petFeederCapability = {
28657
28710
  on: boolean()
28658
28711
  }), _void(), {
28659
28712
  kind: "mutation",
28660
- auth: "admin"
28713
+ auth: "protected"
28661
28714
  }),
28662
28715
  /** Toggle the front indicator light. */
28663
28716
  setIndicatorLight: method(object({
@@ -28665,7 +28718,7 @@ var petFeederCapability = {
28665
28718
  on: boolean()
28666
28719
  }), _void(), {
28667
28720
  kind: "mutation",
28668
- auth: "admin"
28721
+ auth: "protected"
28669
28722
  }),
28670
28723
  /** Toggle the dispense chime. */
28671
28724
  setFeedSound: method(object({
@@ -28673,7 +28726,7 @@ var petFeederCapability = {
28673
28726
  on: boolean()
28674
28727
  }), _void(), {
28675
28728
  kind: "mutation",
28676
- auth: "admin"
28729
+ auth: "protected"
28677
28730
  }),
28678
28731
  /** Set the speaker / prompt volume level. */
28679
28732
  setVolume: method(object({
@@ -28681,7 +28734,7 @@ var petFeederCapability = {
28681
28734
  level: number().int().nonnegative()
28682
28735
  }), _void(), {
28683
28736
  kind: "mutation",
28684
- auth: "admin"
28737
+ auth: "protected"
28685
28738
  })
28686
28739
  },
28687
28740
  status: {
@@ -30977,7 +31030,7 @@ var switchCapability = {
30977
31030
  on: boolean()
30978
31031
  }), _void(), {
30979
31032
  kind: "mutation",
30980
- auth: "admin"
31033
+ auth: "protected"
30981
31034
  }) },
30982
31035
  events: { onStateChanged: { data: object({
30983
31036
  deviceId: number(),
@@ -31965,30 +32018,30 @@ var vacuumControlCapability = {
31965
32018
  methods: {
31966
32019
  start: method(object({ deviceId: number().int().nonnegative() }), _void(), {
31967
32020
  kind: "mutation",
31968
- auth: "admin"
32021
+ auth: "protected"
31969
32022
  }),
31970
32023
  pause: method(object({ deviceId: number().int().nonnegative() }), _void(), {
31971
32024
  kind: "mutation",
31972
- auth: "admin"
32025
+ auth: "protected"
31973
32026
  }),
31974
32027
  stop: method(object({ deviceId: number().int().nonnegative() }), _void(), {
31975
32028
  kind: "mutation",
31976
- auth: "admin"
32029
+ auth: "protected"
31977
32030
  }),
31978
32031
  returnToBase: method(object({ deviceId: number().int().nonnegative() }), _void(), {
31979
32032
  kind: "mutation",
31980
- auth: "admin"
32033
+ auth: "protected"
31981
32034
  }),
31982
32035
  locate: method(object({ deviceId: number().int().nonnegative() }), _void(), {
31983
32036
  kind: "mutation",
31984
- auth: "admin"
32037
+ auth: "protected"
31985
32038
  }),
31986
32039
  setFanSpeed: method(object({
31987
32040
  deviceId: number().int().nonnegative(),
31988
32041
  speed: string().min(1)
31989
32042
  }), _void(), {
31990
32043
  kind: "mutation",
31991
- auth: "admin"
32044
+ auth: "protected"
31992
32045
  })
31993
32046
  },
31994
32047
  status: {
@@ -32032,22 +32085,22 @@ var valveCapability = {
32032
32085
  methods: {
32033
32086
  open: method(object({ deviceId: number().int().nonnegative() }), _void(), {
32034
32087
  kind: "mutation",
32035
- auth: "admin"
32088
+ auth: "protected"
32036
32089
  }),
32037
32090
  close: method(object({ deviceId: number().int().nonnegative() }), _void(), {
32038
32091
  kind: "mutation",
32039
- auth: "admin"
32092
+ auth: "protected"
32040
32093
  }),
32041
32094
  stop: method(object({ deviceId: number().int().nonnegative() }), _void(), {
32042
32095
  kind: "mutation",
32043
- auth: "admin"
32096
+ auth: "protected"
32044
32097
  }),
32045
32098
  setPosition: method(object({
32046
32099
  deviceId: number().int().nonnegative(),
32047
32100
  position: number().min(0).max(100)
32048
32101
  }), _void(), {
32049
32102
  kind: "mutation",
32050
- auth: "admin"
32103
+ auth: "protected"
32051
32104
  })
32052
32105
  },
32053
32106
  status: {
@@ -32146,21 +32199,21 @@ var waterHeaterCapability = {
32146
32199
  temp: number().finite()
32147
32200
  }), _void(), {
32148
32201
  kind: "mutation",
32149
- auth: "admin"
32202
+ auth: "protected"
32150
32203
  }),
32151
32204
  setOperationMode: method(object({
32152
32205
  deviceId: number().int().nonnegative(),
32153
32206
  mode: string().min(1)
32154
32207
  }), _void(), {
32155
32208
  kind: "mutation",
32156
- auth: "admin"
32209
+ auth: "protected"
32157
32210
  }),
32158
32211
  setAway: method(object({
32159
32212
  deviceId: number().int().nonnegative(),
32160
32213
  on: boolean()
32161
32214
  }), _void(), {
32162
32215
  kind: "mutation",
32163
- auth: "admin"
32216
+ auth: "protected"
32164
32217
  })
32165
32218
  },
32166
32219
  status: {
@@ -35894,6 +35947,12 @@ Object.freeze({
35894
35947
  addonId: null,
35895
35948
  access: "create"
35896
35949
  },
35950
+ "faceGallery.auditIdentitySamples": {
35951
+ capName: "face-gallery",
35952
+ capScope: "system",
35953
+ addonId: null,
35954
+ access: "view"
35955
+ },
35897
35956
  "faceGallery.createIdentity": {
35898
35957
  capName: "face-gallery",
35899
35958
  capScope: "system",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@camstack/addon-provider-velux",
3
- "version": "0.2.84",
3
+ "version": "0.2.86",
4
4
  "description": "Velux KLF-200 device-provider addon for CamStack — local-gateway window + shutter covers (positional, no tilt)",
5
5
  "keywords": [
6
6
  "camstack",