@camstack/addon-provider-dreo 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
@@ -16161,14 +16161,14 @@ var alarmPanelCapability = {
16161
16161
  code: string().min(1).optional()
16162
16162
  }), _void(), {
16163
16163
  kind: "mutation",
16164
- auth: "admin"
16164
+ auth: "protected"
16165
16165
  }),
16166
16166
  disarm: method(object({
16167
16167
  deviceId: number().int().nonnegative(),
16168
16168
  code: string().min(1).optional()
16169
16169
  }), _void(), {
16170
16170
  kind: "mutation",
16171
- auth: "admin"
16171
+ auth: "protected"
16172
16172
  }),
16173
16173
  /**
16174
16174
  * Force the panel into the `triggered` state — used by HA
@@ -16179,7 +16179,7 @@ var alarmPanelCapability = {
16179
16179
  */
16180
16180
  trigger: method(object({ deviceId: number().int().nonnegative() }), _void(), {
16181
16181
  kind: "mutation",
16182
- auth: "admin"
16182
+ auth: "protected"
16183
16183
  })
16184
16184
  },
16185
16185
  status: {
@@ -24146,7 +24146,7 @@ var brightnessCapability = {
24146
24146
  percentage: number().min(0).max(100)
24147
24147
  }), _void(), {
24148
24148
  kind: "mutation",
24149
- auth: "admin"
24149
+ auth: "protected"
24150
24150
  }) },
24151
24151
  events: {
24152
24152
  /**
@@ -24179,7 +24179,7 @@ onBrightnessChanged: { data: object({
24179
24179
  };
24180
24180
  DeviceType.Button, method(object({ deviceId: number().int().nonnegative() }), _void(), {
24181
24181
  kind: "mutation",
24182
- auth: "admin"
24182
+ auth: "protected"
24183
24183
  });
24184
24184
  /**
24185
24185
  * camera-credentials — device-scoped cap exposing the camera's network
@@ -24371,28 +24371,28 @@ var climateControlCapability = {
24371
24371
  mode: HvacModeSchema
24372
24372
  }), _void(), {
24373
24373
  kind: "mutation",
24374
- auth: "admin"
24374
+ auth: "protected"
24375
24375
  }),
24376
24376
  setFanMode: method(object({
24377
24377
  deviceId: number().int().nonnegative(),
24378
24378
  fanMode: string().min(1)
24379
24379
  }), _void(), {
24380
24380
  kind: "mutation",
24381
- auth: "admin"
24381
+ auth: "protected"
24382
24382
  }),
24383
24383
  setPreset: method(object({
24384
24384
  deviceId: number().int().nonnegative(),
24385
24385
  preset: string().min(1)
24386
24386
  }), _void(), {
24387
24387
  kind: "mutation",
24388
- auth: "admin"
24388
+ auth: "protected"
24389
24389
  }),
24390
24390
  setTarget: method(object({
24391
24391
  deviceId: number().int().nonnegative(),
24392
24392
  target: number()
24393
24393
  }), _void(), {
24394
24394
  kind: "mutation",
24395
- auth: "admin"
24395
+ auth: "protected"
24396
24396
  }),
24397
24397
  setTargetRange: method(object({
24398
24398
  deviceId: number().int().nonnegative(),
@@ -24400,28 +24400,28 @@ var climateControlCapability = {
24400
24400
  targetHigh: number()
24401
24401
  }), _void(), {
24402
24402
  kind: "mutation",
24403
- auth: "admin"
24403
+ auth: "protected"
24404
24404
  }),
24405
24405
  setTargetHumidity: method(object({
24406
24406
  deviceId: number().int().nonnegative(),
24407
24407
  targetHumidity: number().min(0).max(100)
24408
24408
  }), _void(), {
24409
24409
  kind: "mutation",
24410
- auth: "admin"
24410
+ auth: "protected"
24411
24411
  }),
24412
24412
  setSwingVertical: method(object({
24413
24413
  deviceId: number().int().nonnegative(),
24414
24414
  on: boolean()
24415
24415
  }), _void(), {
24416
24416
  kind: "mutation",
24417
- auth: "admin"
24417
+ auth: "protected"
24418
24418
  }),
24419
24419
  setSwingHorizontal: method(object({
24420
24420
  deviceId: number().int().nonnegative(),
24421
24421
  on: boolean()
24422
24422
  }), _void(), {
24423
24423
  kind: "mutation",
24424
- auth: "admin"
24424
+ auth: "protected"
24425
24425
  })
24426
24426
  },
24427
24427
  status: {
@@ -24521,7 +24521,7 @@ var colorCapability = {
24521
24521
  color: ColorInputSchema
24522
24522
  }), _void(), {
24523
24523
  kind: "mutation",
24524
- auth: "admin"
24524
+ auth: "protected"
24525
24525
  }) },
24526
24526
  events: {
24527
24527
  /**
@@ -24858,7 +24858,7 @@ var controlCapability = {
24858
24858
  control: ControlSetValueInputSchema
24859
24859
  }), _void(), {
24860
24860
  kind: "mutation",
24861
- auth: "admin"
24861
+ auth: "protected"
24862
24862
  }) },
24863
24863
  status: {
24864
24864
  schema: ControlStatusSchema,
@@ -24904,29 +24904,29 @@ var coverCapability = {
24904
24904
  methods: {
24905
24905
  open: method(object({ deviceId: number().int().nonnegative() }), _void(), {
24906
24906
  kind: "mutation",
24907
- auth: "admin"
24907
+ auth: "protected"
24908
24908
  }),
24909
24909
  close: method(object({ deviceId: number().int().nonnegative() }), _void(), {
24910
24910
  kind: "mutation",
24911
- auth: "admin"
24911
+ auth: "protected"
24912
24912
  }),
24913
24913
  stop: method(object({ deviceId: number().int().nonnegative() }), _void(), {
24914
24914
  kind: "mutation",
24915
- auth: "admin"
24915
+ auth: "protected"
24916
24916
  }),
24917
24917
  setPosition: method(object({
24918
24918
  deviceId: number().int().nonnegative(),
24919
24919
  position: number().min(0).max(100)
24920
24920
  }), _void(), {
24921
24921
  kind: "mutation",
24922
- auth: "admin"
24922
+ auth: "protected"
24923
24923
  }),
24924
24924
  setTiltPosition: method(object({
24925
24925
  deviceId: number().int().nonnegative(),
24926
24926
  tiltPosition: number().min(0).max(100)
24927
24927
  }), _void(), {
24928
24928
  kind: "mutation",
24929
- auth: "admin"
24929
+ auth: "protected"
24930
24930
  })
24931
24931
  },
24932
24932
  status: {
@@ -25312,6 +25312,59 @@ var IdentitySampleInfoSchema = object({
25312
25312
  deviceId: number().int().optional(),
25313
25313
  base64: string().optional()
25314
25314
  });
25315
+ /**
25316
+ * One enrolled sample, judged against the gallery it lives in.
25317
+ *
25318
+ * The gallery is the one input to recognition nobody re-reads: a sample
25319
+ * enrolled from the wrong face keeps voting forever, and because the matches it
25320
+ * pulls then look confident, nobody goes back. The 2026-09-08 audit found
25321
+ * exactly one such pair on this cluster — a sample scoring 0.61 against three
25322
+ * samples of ANOTHER person, enrolled from the same camera in the same minute,
25323
+ * where every other cross-identity pair sits under 0.50.
25324
+ */
25325
+ var IdentitySampleAuditRowSchema = object({
25326
+ sampleId: string(),
25327
+ enrolledAt: number().int(),
25328
+ deviceId: number().int().optional(),
25329
+ source: _enum(["detected", "photo"]),
25330
+ /** The enrolled crop's media key, so the panel can show the evidence. */
25331
+ mediaKey: string().optional(),
25332
+ /**
25333
+ * False = the sample is stamped with a DIFFERENT face model, and a cosine
25334
+ * across feature spaces is a well-formed float with no meaning. Every number
25335
+ * below then says nothing — it must read as "cannot say", never as an
25336
+ * accusation and never as a clean bill: this list ends in a Remove button.
25337
+ */
25338
+ comparable: boolean(),
25339
+ /** Mean cosine against this person's other samples. Null when there are none
25340
+ * to compare with — never 0, which would read as "opposite". */
25341
+ selfMean: number().nullable(),
25342
+ /** The other person this sample looks most like, when it looks like one.
25343
+ * This is the half that convicts: not looking like yourself can be a hard
25344
+ * angle; looking like someone the gallery can NAME is a mis-enrolment. */
25345
+ bestForeign: object({
25346
+ identityId: string(),
25347
+ name: string(),
25348
+ score: number()
25349
+ }).optional(),
25350
+ /** 0 = nothing to say. Higher = look at this one sooner. */
25351
+ suspicion: number()
25352
+ });
25353
+ var IdentitySampleAuditSchema = object({
25354
+ identityId: string(),
25355
+ name: string(),
25356
+ /** The cluster face model every comparison was made in. */
25357
+ modelId: string(),
25358
+ totalSamples: number().int(),
25359
+ comparableSamples: number().int(),
25360
+ flagged: number().int(),
25361
+ /** The bar `flagged` counts against, so the panel states the RULE and not
25362
+ * only its current result. */
25363
+ flagThreshold: number(),
25364
+ /** Worst first. A row with nothing to say still appears, at the bottom: the
25365
+ * operator asked to see the gallery, not only its accusations. */
25366
+ rows: array(IdentitySampleAuditRowSchema).readonly()
25367
+ });
25315
25368
  var FaceInfoSchema = object({
25316
25369
  faceId: string(),
25317
25370
  deviceId: number().int(),
@@ -25463,7 +25516,7 @@ includeCrops: boolean().optional() }).optional(), array(IdentitySchema).readonly
25463
25516
  }), method(object({ id: string() }), _void(), {
25464
25517
  kind: "mutation",
25465
25518
  auth: "admin"
25466
- }), method(object({ identityId: string() }), array(IdentitySampleInfoSchema).readonly()), method(object({
25519
+ }), method(object({ identityId: string() }), array(IdentitySampleInfoSchema).readonly()), method(object({ identityId: string().min(1) }), IdentitySampleAuditSchema, { auth: "admin" }), method(object({
25467
25520
  identityId: string(),
25468
25521
  sampleId: string()
25469
25522
  }), _void(), {
@@ -25656,28 +25709,28 @@ var fanControlCapability = {
25656
25709
  percentage: number().min(0).max(100)
25657
25710
  }), _void(), {
25658
25711
  kind: "mutation",
25659
- auth: "admin"
25712
+ auth: "protected"
25660
25713
  }),
25661
25714
  setPreset: method(object({
25662
25715
  deviceId: number().int().nonnegative(),
25663
25716
  preset: string().min(1)
25664
25717
  }), _void(), {
25665
25718
  kind: "mutation",
25666
- auth: "admin"
25719
+ auth: "protected"
25667
25720
  }),
25668
25721
  setDirection: method(object({
25669
25722
  deviceId: number().int().nonnegative(),
25670
25723
  direction: FanDirectionSchema
25671
25724
  }), _void(), {
25672
25725
  kind: "mutation",
25673
- auth: "admin"
25726
+ auth: "protected"
25674
25727
  }),
25675
25728
  setOscillating: method(object({
25676
25729
  deviceId: number().int().nonnegative(),
25677
25730
  oscillating: boolean()
25678
25731
  }), _void(), {
25679
25732
  kind: "mutation",
25680
- auth: "admin"
25733
+ auth: "protected"
25681
25734
  })
25682
25735
  },
25683
25736
  status: {
@@ -25899,21 +25952,21 @@ var humidifierCapability = {
25899
25952
  on: boolean()
25900
25953
  }), _void(), {
25901
25954
  kind: "mutation",
25902
- auth: "admin"
25955
+ auth: "protected"
25903
25956
  }),
25904
25957
  setTargetHumidity: method(object({
25905
25958
  deviceId: number().int().nonnegative(),
25906
25959
  humidity: number().min(0).max(100)
25907
25960
  }), _void(), {
25908
25961
  kind: "mutation",
25909
- auth: "admin"
25962
+ auth: "protected"
25910
25963
  }),
25911
25964
  setMode: method(object({
25912
25965
  deviceId: number().int().nonnegative(),
25913
25966
  mode: string().min(1)
25914
25967
  }), _void(), {
25915
25968
  kind: "mutation",
25916
- auth: "admin"
25969
+ auth: "protected"
25917
25970
  })
25918
25971
  },
25919
25972
  status: {
@@ -26614,15 +26667,15 @@ var lawnMowerControlCapability = {
26614
26667
  methods: {
26615
26668
  startMowing: method(object({ deviceId: number().int().nonnegative() }), _void(), {
26616
26669
  kind: "mutation",
26617
- auth: "admin"
26670
+ auth: "protected"
26618
26671
  }),
26619
26672
  pause: method(object({ deviceId: number().int().nonnegative() }), _void(), {
26620
26673
  kind: "mutation",
26621
- auth: "admin"
26674
+ auth: "protected"
26622
26675
  }),
26623
26676
  dock: method(object({ deviceId: number().int().nonnegative() }), _void(), {
26624
26677
  kind: "mutation",
26625
- auth: "admin"
26678
+ auth: "protected"
26626
26679
  })
26627
26680
  },
26628
26681
  status: {
@@ -26907,18 +26960,18 @@ var lockControlCapability = {
26907
26960
  code: string().min(1).optional()
26908
26961
  }), _void(), {
26909
26962
  kind: "mutation",
26910
- auth: "admin"
26963
+ auth: "protected"
26911
26964
  }),
26912
26965
  unlock: method(object({
26913
26966
  deviceId: number().int().nonnegative(),
26914
26967
  code: string().min(1).optional()
26915
26968
  }), _void(), {
26916
26969
  kind: "mutation",
26917
- auth: "admin"
26970
+ auth: "protected"
26918
26971
  }),
26919
26972
  open: method(object({ deviceId: number().int().nonnegative() }), _void(), {
26920
26973
  kind: "mutation",
26921
- auth: "admin"
26974
+ auth: "protected"
26922
26975
  })
26923
26976
  },
26924
26977
  status: {
@@ -27021,65 +27074,65 @@ var mediaPlayerCapability = {
27021
27074
  methods: {
27022
27075
  play: method(object({ deviceId: number().int().nonnegative() }), _void(), {
27023
27076
  kind: "mutation",
27024
- auth: "admin"
27077
+ auth: "protected"
27025
27078
  }),
27026
27079
  pause: method(object({ deviceId: number().int().nonnegative() }), _void(), {
27027
27080
  kind: "mutation",
27028
- auth: "admin"
27081
+ auth: "protected"
27029
27082
  }),
27030
27083
  stop: method(object({ deviceId: number().int().nonnegative() }), _void(), {
27031
27084
  kind: "mutation",
27032
- auth: "admin"
27085
+ auth: "protected"
27033
27086
  }),
27034
27087
  next: method(object({ deviceId: number().int().nonnegative() }), _void(), {
27035
27088
  kind: "mutation",
27036
- auth: "admin"
27089
+ auth: "protected"
27037
27090
  }),
27038
27091
  previous: method(object({ deviceId: number().int().nonnegative() }), _void(), {
27039
27092
  kind: "mutation",
27040
- auth: "admin"
27093
+ auth: "protected"
27041
27094
  }),
27042
27095
  seek: method(object({
27043
27096
  deviceId: number().int().nonnegative(),
27044
27097
  positionMs: number().int().nonnegative()
27045
27098
  }), _void(), {
27046
27099
  kind: "mutation",
27047
- auth: "admin"
27100
+ auth: "protected"
27048
27101
  }),
27049
27102
  setVolume: method(object({
27050
27103
  deviceId: number().int().nonnegative(),
27051
27104
  volumeLevel: number().min(0).max(100)
27052
27105
  }), _void(), {
27053
27106
  kind: "mutation",
27054
- auth: "admin"
27107
+ auth: "protected"
27055
27108
  }),
27056
27109
  setMute: method(object({
27057
27110
  deviceId: number().int().nonnegative(),
27058
27111
  muted: boolean()
27059
27112
  }), _void(), {
27060
27113
  kind: "mutation",
27061
- auth: "admin"
27114
+ auth: "protected"
27062
27115
  }),
27063
27116
  setShuffle: method(object({
27064
27117
  deviceId: number().int().nonnegative(),
27065
27118
  shuffle: boolean()
27066
27119
  }), _void(), {
27067
27120
  kind: "mutation",
27068
- auth: "admin"
27121
+ auth: "protected"
27069
27122
  }),
27070
27123
  setRepeat: method(object({
27071
27124
  deviceId: number().int().nonnegative(),
27072
27125
  repeat: MediaPlayerRepeatSchema
27073
27126
  }), _void(), {
27074
27127
  kind: "mutation",
27075
- auth: "admin"
27128
+ auth: "protected"
27076
27129
  }),
27077
27130
  selectSource: method(object({
27078
27131
  deviceId: number().int().nonnegative(),
27079
27132
  source: string().min(1)
27080
27133
  }), _void(), {
27081
27134
  kind: "mutation",
27082
- auth: "admin"
27135
+ auth: "protected"
27083
27136
  }),
27084
27137
  playMedia: method(object({
27085
27138
  deviceId: number().int().nonnegative(),
@@ -27090,7 +27143,7 @@ var mediaPlayerCapability = {
27090
27143
  mediaType: string().min(1)
27091
27144
  }), _void(), {
27092
27145
  kind: "mutation",
27093
- auth: "admin"
27146
+ auth: "protected"
27094
27147
  })
27095
27148
  },
27096
27149
  status: {
@@ -28683,27 +28736,27 @@ var petFeederCapability = {
28683
28736
  hopper2: gramsPortion.optional()
28684
28737
  }), _void(), {
28685
28738
  kind: "mutation",
28686
- auth: "admin"
28739
+ auth: "protected"
28687
28740
  }),
28688
28741
  /** Cancel an in-progress manual feed. */
28689
28742
  cancelFeed: method(object({ deviceId: number().int().nonnegative() }), _void(), {
28690
28743
  kind: "mutation",
28691
- auth: "admin"
28744
+ auth: "protected"
28692
28745
  }),
28693
28746
  /** Reset the desiccant "days remaining" counter after replacing it. */
28694
28747
  resetDesiccant: method(object({ deviceId: number().int().nonnegative() }), _void(), {
28695
28748
  kind: "mutation",
28696
- auth: "admin"
28749
+ auth: "protected"
28697
28750
  }),
28698
28751
  /** Mark a hopper as refilled (D4H/D4S/D4SH). */
28699
28752
  markFoodReplenished: method(object({ deviceId: number().int().nonnegative() }), _void(), {
28700
28753
  kind: "mutation",
28701
- auth: "admin"
28754
+ auth: "protected"
28702
28755
  }),
28703
28756
  /** Call the pet with the recorded prompt (D3). */
28704
28757
  callPet: method(object({ deviceId: number().int().nonnegative() }), _void(), {
28705
28758
  kind: "mutation",
28706
- auth: "admin"
28759
+ auth: "protected"
28707
28760
  }),
28708
28761
  /** Play a stored sound by id (D3 / D4H / D4SH). */
28709
28762
  playSound: method(object({
@@ -28711,7 +28764,7 @@ var petFeederCapability = {
28711
28764
  soundId: number().int().nonnegative()
28712
28765
  }), _void(), {
28713
28766
  kind: "mutation",
28714
- auth: "admin"
28767
+ auth: "protected"
28715
28768
  }),
28716
28769
  /** Toggle the child-lock (manual-lock) setting. */
28717
28770
  setChildLock: method(object({
@@ -28719,7 +28772,7 @@ var petFeederCapability = {
28719
28772
  on: boolean()
28720
28773
  }), _void(), {
28721
28774
  kind: "mutation",
28722
- auth: "admin"
28775
+ auth: "protected"
28723
28776
  }),
28724
28777
  /** Toggle the front indicator light. */
28725
28778
  setIndicatorLight: method(object({
@@ -28727,7 +28780,7 @@ var petFeederCapability = {
28727
28780
  on: boolean()
28728
28781
  }), _void(), {
28729
28782
  kind: "mutation",
28730
- auth: "admin"
28783
+ auth: "protected"
28731
28784
  }),
28732
28785
  /** Toggle the dispense chime. */
28733
28786
  setFeedSound: method(object({
@@ -28735,7 +28788,7 @@ var petFeederCapability = {
28735
28788
  on: boolean()
28736
28789
  }), _void(), {
28737
28790
  kind: "mutation",
28738
- auth: "admin"
28791
+ auth: "protected"
28739
28792
  }),
28740
28793
  /** Set the speaker / prompt volume level. */
28741
28794
  setVolume: method(object({
@@ -28743,7 +28796,7 @@ var petFeederCapability = {
28743
28796
  level: number().int().nonnegative()
28744
28797
  }), _void(), {
28745
28798
  kind: "mutation",
28746
- auth: "admin"
28799
+ auth: "protected"
28747
28800
  })
28748
28801
  },
28749
28802
  status: {
@@ -31039,7 +31092,7 @@ var switchCapability = {
31039
31092
  on: boolean()
31040
31093
  }), _void(), {
31041
31094
  kind: "mutation",
31042
- auth: "admin"
31095
+ auth: "protected"
31043
31096
  }) },
31044
31097
  events: { onStateChanged: { data: object({
31045
31098
  deviceId: number(),
@@ -32027,30 +32080,30 @@ var vacuumControlCapability = {
32027
32080
  methods: {
32028
32081
  start: method(object({ deviceId: number().int().nonnegative() }), _void(), {
32029
32082
  kind: "mutation",
32030
- auth: "admin"
32083
+ auth: "protected"
32031
32084
  }),
32032
32085
  pause: method(object({ deviceId: number().int().nonnegative() }), _void(), {
32033
32086
  kind: "mutation",
32034
- auth: "admin"
32087
+ auth: "protected"
32035
32088
  }),
32036
32089
  stop: method(object({ deviceId: number().int().nonnegative() }), _void(), {
32037
32090
  kind: "mutation",
32038
- auth: "admin"
32091
+ auth: "protected"
32039
32092
  }),
32040
32093
  returnToBase: method(object({ deviceId: number().int().nonnegative() }), _void(), {
32041
32094
  kind: "mutation",
32042
- auth: "admin"
32095
+ auth: "protected"
32043
32096
  }),
32044
32097
  locate: method(object({ deviceId: number().int().nonnegative() }), _void(), {
32045
32098
  kind: "mutation",
32046
- auth: "admin"
32099
+ auth: "protected"
32047
32100
  }),
32048
32101
  setFanSpeed: method(object({
32049
32102
  deviceId: number().int().nonnegative(),
32050
32103
  speed: string().min(1)
32051
32104
  }), _void(), {
32052
32105
  kind: "mutation",
32053
- auth: "admin"
32106
+ auth: "protected"
32054
32107
  })
32055
32108
  },
32056
32109
  status: {
@@ -32094,22 +32147,22 @@ var valveCapability = {
32094
32147
  methods: {
32095
32148
  open: method(object({ deviceId: number().int().nonnegative() }), _void(), {
32096
32149
  kind: "mutation",
32097
- auth: "admin"
32150
+ auth: "protected"
32098
32151
  }),
32099
32152
  close: method(object({ deviceId: number().int().nonnegative() }), _void(), {
32100
32153
  kind: "mutation",
32101
- auth: "admin"
32154
+ auth: "protected"
32102
32155
  }),
32103
32156
  stop: method(object({ deviceId: number().int().nonnegative() }), _void(), {
32104
32157
  kind: "mutation",
32105
- auth: "admin"
32158
+ auth: "protected"
32106
32159
  }),
32107
32160
  setPosition: method(object({
32108
32161
  deviceId: number().int().nonnegative(),
32109
32162
  position: number().min(0).max(100)
32110
32163
  }), _void(), {
32111
32164
  kind: "mutation",
32112
- auth: "admin"
32165
+ auth: "protected"
32113
32166
  })
32114
32167
  },
32115
32168
  status: {
@@ -32208,21 +32261,21 @@ var waterHeaterCapability = {
32208
32261
  temp: number().finite()
32209
32262
  }), _void(), {
32210
32263
  kind: "mutation",
32211
- auth: "admin"
32264
+ auth: "protected"
32212
32265
  }),
32213
32266
  setOperationMode: method(object({
32214
32267
  deviceId: number().int().nonnegative(),
32215
32268
  mode: string().min(1)
32216
32269
  }), _void(), {
32217
32270
  kind: "mutation",
32218
- auth: "admin"
32271
+ auth: "protected"
32219
32272
  }),
32220
32273
  setAway: method(object({
32221
32274
  deviceId: number().int().nonnegative(),
32222
32275
  on: boolean()
32223
32276
  }), _void(), {
32224
32277
  kind: "mutation",
32225
- auth: "admin"
32278
+ auth: "protected"
32226
32279
  })
32227
32280
  },
32228
32281
  status: {
@@ -35956,6 +36009,12 @@ Object.freeze({
35956
36009
  addonId: null,
35957
36010
  access: "create"
35958
36011
  },
36012
+ "faceGallery.auditIdentitySamples": {
36013
+ capName: "face-gallery",
36014
+ capScope: "system",
36015
+ addonId: null,
36016
+ access: "view"
36017
+ },
35959
36018
  "faceGallery.createIdentity": {
35960
36019
  capName: "face-gallery",
35961
36020
  capScope: "system",
package/dist/addon.mjs CHANGED
@@ -16162,14 +16162,14 @@ var alarmPanelCapability = {
16162
16162
  code: string().min(1).optional()
16163
16163
  }), _void(), {
16164
16164
  kind: "mutation",
16165
- auth: "admin"
16165
+ auth: "protected"
16166
16166
  }),
16167
16167
  disarm: method(object({
16168
16168
  deviceId: number().int().nonnegative(),
16169
16169
  code: string().min(1).optional()
16170
16170
  }), _void(), {
16171
16171
  kind: "mutation",
16172
- auth: "admin"
16172
+ auth: "protected"
16173
16173
  }),
16174
16174
  /**
16175
16175
  * Force the panel into the `triggered` state — used by HA
@@ -16180,7 +16180,7 @@ var alarmPanelCapability = {
16180
16180
  */
16181
16181
  trigger: method(object({ deviceId: number().int().nonnegative() }), _void(), {
16182
16182
  kind: "mutation",
16183
- auth: "admin"
16183
+ auth: "protected"
16184
16184
  })
16185
16185
  },
16186
16186
  status: {
@@ -24147,7 +24147,7 @@ var brightnessCapability = {
24147
24147
  percentage: number().min(0).max(100)
24148
24148
  }), _void(), {
24149
24149
  kind: "mutation",
24150
- auth: "admin"
24150
+ auth: "protected"
24151
24151
  }) },
24152
24152
  events: {
24153
24153
  /**
@@ -24180,7 +24180,7 @@ onBrightnessChanged: { data: object({
24180
24180
  };
24181
24181
  DeviceType.Button, method(object({ deviceId: number().int().nonnegative() }), _void(), {
24182
24182
  kind: "mutation",
24183
- auth: "admin"
24183
+ auth: "protected"
24184
24184
  });
24185
24185
  /**
24186
24186
  * camera-credentials — device-scoped cap exposing the camera's network
@@ -24372,28 +24372,28 @@ var climateControlCapability = {
24372
24372
  mode: HvacModeSchema
24373
24373
  }), _void(), {
24374
24374
  kind: "mutation",
24375
- auth: "admin"
24375
+ auth: "protected"
24376
24376
  }),
24377
24377
  setFanMode: method(object({
24378
24378
  deviceId: number().int().nonnegative(),
24379
24379
  fanMode: string().min(1)
24380
24380
  }), _void(), {
24381
24381
  kind: "mutation",
24382
- auth: "admin"
24382
+ auth: "protected"
24383
24383
  }),
24384
24384
  setPreset: method(object({
24385
24385
  deviceId: number().int().nonnegative(),
24386
24386
  preset: string().min(1)
24387
24387
  }), _void(), {
24388
24388
  kind: "mutation",
24389
- auth: "admin"
24389
+ auth: "protected"
24390
24390
  }),
24391
24391
  setTarget: method(object({
24392
24392
  deviceId: number().int().nonnegative(),
24393
24393
  target: number()
24394
24394
  }), _void(), {
24395
24395
  kind: "mutation",
24396
- auth: "admin"
24396
+ auth: "protected"
24397
24397
  }),
24398
24398
  setTargetRange: method(object({
24399
24399
  deviceId: number().int().nonnegative(),
@@ -24401,28 +24401,28 @@ var climateControlCapability = {
24401
24401
  targetHigh: number()
24402
24402
  }), _void(), {
24403
24403
  kind: "mutation",
24404
- auth: "admin"
24404
+ auth: "protected"
24405
24405
  }),
24406
24406
  setTargetHumidity: method(object({
24407
24407
  deviceId: number().int().nonnegative(),
24408
24408
  targetHumidity: number().min(0).max(100)
24409
24409
  }), _void(), {
24410
24410
  kind: "mutation",
24411
- auth: "admin"
24411
+ auth: "protected"
24412
24412
  }),
24413
24413
  setSwingVertical: method(object({
24414
24414
  deviceId: number().int().nonnegative(),
24415
24415
  on: boolean()
24416
24416
  }), _void(), {
24417
24417
  kind: "mutation",
24418
- auth: "admin"
24418
+ auth: "protected"
24419
24419
  }),
24420
24420
  setSwingHorizontal: method(object({
24421
24421
  deviceId: number().int().nonnegative(),
24422
24422
  on: boolean()
24423
24423
  }), _void(), {
24424
24424
  kind: "mutation",
24425
- auth: "admin"
24425
+ auth: "protected"
24426
24426
  })
24427
24427
  },
24428
24428
  status: {
@@ -24522,7 +24522,7 @@ var colorCapability = {
24522
24522
  color: ColorInputSchema
24523
24523
  }), _void(), {
24524
24524
  kind: "mutation",
24525
- auth: "admin"
24525
+ auth: "protected"
24526
24526
  }) },
24527
24527
  events: {
24528
24528
  /**
@@ -24859,7 +24859,7 @@ var controlCapability = {
24859
24859
  control: ControlSetValueInputSchema
24860
24860
  }), _void(), {
24861
24861
  kind: "mutation",
24862
- auth: "admin"
24862
+ auth: "protected"
24863
24863
  }) },
24864
24864
  status: {
24865
24865
  schema: ControlStatusSchema,
@@ -24905,29 +24905,29 @@ var coverCapability = {
24905
24905
  methods: {
24906
24906
  open: method(object({ deviceId: number().int().nonnegative() }), _void(), {
24907
24907
  kind: "mutation",
24908
- auth: "admin"
24908
+ auth: "protected"
24909
24909
  }),
24910
24910
  close: method(object({ deviceId: number().int().nonnegative() }), _void(), {
24911
24911
  kind: "mutation",
24912
- auth: "admin"
24912
+ auth: "protected"
24913
24913
  }),
24914
24914
  stop: method(object({ deviceId: number().int().nonnegative() }), _void(), {
24915
24915
  kind: "mutation",
24916
- auth: "admin"
24916
+ auth: "protected"
24917
24917
  }),
24918
24918
  setPosition: method(object({
24919
24919
  deviceId: number().int().nonnegative(),
24920
24920
  position: number().min(0).max(100)
24921
24921
  }), _void(), {
24922
24922
  kind: "mutation",
24923
- auth: "admin"
24923
+ auth: "protected"
24924
24924
  }),
24925
24925
  setTiltPosition: method(object({
24926
24926
  deviceId: number().int().nonnegative(),
24927
24927
  tiltPosition: number().min(0).max(100)
24928
24928
  }), _void(), {
24929
24929
  kind: "mutation",
24930
- auth: "admin"
24930
+ auth: "protected"
24931
24931
  })
24932
24932
  },
24933
24933
  status: {
@@ -25313,6 +25313,59 @@ var IdentitySampleInfoSchema = object({
25313
25313
  deviceId: number().int().optional(),
25314
25314
  base64: string().optional()
25315
25315
  });
25316
+ /**
25317
+ * One enrolled sample, judged against the gallery it lives in.
25318
+ *
25319
+ * The gallery is the one input to recognition nobody re-reads: a sample
25320
+ * enrolled from the wrong face keeps voting forever, and because the matches it
25321
+ * pulls then look confident, nobody goes back. The 2026-09-08 audit found
25322
+ * exactly one such pair on this cluster — a sample scoring 0.61 against three
25323
+ * samples of ANOTHER person, enrolled from the same camera in the same minute,
25324
+ * where every other cross-identity pair sits under 0.50.
25325
+ */
25326
+ var IdentitySampleAuditRowSchema = object({
25327
+ sampleId: string(),
25328
+ enrolledAt: number().int(),
25329
+ deviceId: number().int().optional(),
25330
+ source: _enum(["detected", "photo"]),
25331
+ /** The enrolled crop's media key, so the panel can show the evidence. */
25332
+ mediaKey: string().optional(),
25333
+ /**
25334
+ * False = the sample is stamped with a DIFFERENT face model, and a cosine
25335
+ * across feature spaces is a well-formed float with no meaning. Every number
25336
+ * below then says nothing — it must read as "cannot say", never as an
25337
+ * accusation and never as a clean bill: this list ends in a Remove button.
25338
+ */
25339
+ comparable: boolean(),
25340
+ /** Mean cosine against this person's other samples. Null when there are none
25341
+ * to compare with — never 0, which would read as "opposite". */
25342
+ selfMean: number().nullable(),
25343
+ /** The other person this sample looks most like, when it looks like one.
25344
+ * This is the half that convicts: not looking like yourself can be a hard
25345
+ * angle; looking like someone the gallery can NAME is a mis-enrolment. */
25346
+ bestForeign: object({
25347
+ identityId: string(),
25348
+ name: string(),
25349
+ score: number()
25350
+ }).optional(),
25351
+ /** 0 = nothing to say. Higher = look at this one sooner. */
25352
+ suspicion: number()
25353
+ });
25354
+ var IdentitySampleAuditSchema = object({
25355
+ identityId: string(),
25356
+ name: string(),
25357
+ /** The cluster face model every comparison was made in. */
25358
+ modelId: string(),
25359
+ totalSamples: number().int(),
25360
+ comparableSamples: number().int(),
25361
+ flagged: number().int(),
25362
+ /** The bar `flagged` counts against, so the panel states the RULE and not
25363
+ * only its current result. */
25364
+ flagThreshold: number(),
25365
+ /** Worst first. A row with nothing to say still appears, at the bottom: the
25366
+ * operator asked to see the gallery, not only its accusations. */
25367
+ rows: array(IdentitySampleAuditRowSchema).readonly()
25368
+ });
25316
25369
  var FaceInfoSchema = object({
25317
25370
  faceId: string(),
25318
25371
  deviceId: number().int(),
@@ -25464,7 +25517,7 @@ includeCrops: boolean().optional() }).optional(), array(IdentitySchema).readonly
25464
25517
  }), method(object({ id: string() }), _void(), {
25465
25518
  kind: "mutation",
25466
25519
  auth: "admin"
25467
- }), method(object({ identityId: string() }), array(IdentitySampleInfoSchema).readonly()), method(object({
25520
+ }), method(object({ identityId: string() }), array(IdentitySampleInfoSchema).readonly()), method(object({ identityId: string().min(1) }), IdentitySampleAuditSchema, { auth: "admin" }), method(object({
25468
25521
  identityId: string(),
25469
25522
  sampleId: string()
25470
25523
  }), _void(), {
@@ -25657,28 +25710,28 @@ var fanControlCapability = {
25657
25710
  percentage: number().min(0).max(100)
25658
25711
  }), _void(), {
25659
25712
  kind: "mutation",
25660
- auth: "admin"
25713
+ auth: "protected"
25661
25714
  }),
25662
25715
  setPreset: method(object({
25663
25716
  deviceId: number().int().nonnegative(),
25664
25717
  preset: string().min(1)
25665
25718
  }), _void(), {
25666
25719
  kind: "mutation",
25667
- auth: "admin"
25720
+ auth: "protected"
25668
25721
  }),
25669
25722
  setDirection: method(object({
25670
25723
  deviceId: number().int().nonnegative(),
25671
25724
  direction: FanDirectionSchema
25672
25725
  }), _void(), {
25673
25726
  kind: "mutation",
25674
- auth: "admin"
25727
+ auth: "protected"
25675
25728
  }),
25676
25729
  setOscillating: method(object({
25677
25730
  deviceId: number().int().nonnegative(),
25678
25731
  oscillating: boolean()
25679
25732
  }), _void(), {
25680
25733
  kind: "mutation",
25681
- auth: "admin"
25734
+ auth: "protected"
25682
25735
  })
25683
25736
  },
25684
25737
  status: {
@@ -25900,21 +25953,21 @@ var humidifierCapability = {
25900
25953
  on: boolean()
25901
25954
  }), _void(), {
25902
25955
  kind: "mutation",
25903
- auth: "admin"
25956
+ auth: "protected"
25904
25957
  }),
25905
25958
  setTargetHumidity: method(object({
25906
25959
  deviceId: number().int().nonnegative(),
25907
25960
  humidity: number().min(0).max(100)
25908
25961
  }), _void(), {
25909
25962
  kind: "mutation",
25910
- auth: "admin"
25963
+ auth: "protected"
25911
25964
  }),
25912
25965
  setMode: method(object({
25913
25966
  deviceId: number().int().nonnegative(),
25914
25967
  mode: string().min(1)
25915
25968
  }), _void(), {
25916
25969
  kind: "mutation",
25917
- auth: "admin"
25970
+ auth: "protected"
25918
25971
  })
25919
25972
  },
25920
25973
  status: {
@@ -26615,15 +26668,15 @@ var lawnMowerControlCapability = {
26615
26668
  methods: {
26616
26669
  startMowing: method(object({ deviceId: number().int().nonnegative() }), _void(), {
26617
26670
  kind: "mutation",
26618
- auth: "admin"
26671
+ auth: "protected"
26619
26672
  }),
26620
26673
  pause: method(object({ deviceId: number().int().nonnegative() }), _void(), {
26621
26674
  kind: "mutation",
26622
- auth: "admin"
26675
+ auth: "protected"
26623
26676
  }),
26624
26677
  dock: method(object({ deviceId: number().int().nonnegative() }), _void(), {
26625
26678
  kind: "mutation",
26626
- auth: "admin"
26679
+ auth: "protected"
26627
26680
  })
26628
26681
  },
26629
26682
  status: {
@@ -26908,18 +26961,18 @@ var lockControlCapability = {
26908
26961
  code: string().min(1).optional()
26909
26962
  }), _void(), {
26910
26963
  kind: "mutation",
26911
- auth: "admin"
26964
+ auth: "protected"
26912
26965
  }),
26913
26966
  unlock: method(object({
26914
26967
  deviceId: number().int().nonnegative(),
26915
26968
  code: string().min(1).optional()
26916
26969
  }), _void(), {
26917
26970
  kind: "mutation",
26918
- auth: "admin"
26971
+ auth: "protected"
26919
26972
  }),
26920
26973
  open: method(object({ deviceId: number().int().nonnegative() }), _void(), {
26921
26974
  kind: "mutation",
26922
- auth: "admin"
26975
+ auth: "protected"
26923
26976
  })
26924
26977
  },
26925
26978
  status: {
@@ -27022,65 +27075,65 @@ var mediaPlayerCapability = {
27022
27075
  methods: {
27023
27076
  play: method(object({ deviceId: number().int().nonnegative() }), _void(), {
27024
27077
  kind: "mutation",
27025
- auth: "admin"
27078
+ auth: "protected"
27026
27079
  }),
27027
27080
  pause: method(object({ deviceId: number().int().nonnegative() }), _void(), {
27028
27081
  kind: "mutation",
27029
- auth: "admin"
27082
+ auth: "protected"
27030
27083
  }),
27031
27084
  stop: method(object({ deviceId: number().int().nonnegative() }), _void(), {
27032
27085
  kind: "mutation",
27033
- auth: "admin"
27086
+ auth: "protected"
27034
27087
  }),
27035
27088
  next: method(object({ deviceId: number().int().nonnegative() }), _void(), {
27036
27089
  kind: "mutation",
27037
- auth: "admin"
27090
+ auth: "protected"
27038
27091
  }),
27039
27092
  previous: method(object({ deviceId: number().int().nonnegative() }), _void(), {
27040
27093
  kind: "mutation",
27041
- auth: "admin"
27094
+ auth: "protected"
27042
27095
  }),
27043
27096
  seek: method(object({
27044
27097
  deviceId: number().int().nonnegative(),
27045
27098
  positionMs: number().int().nonnegative()
27046
27099
  }), _void(), {
27047
27100
  kind: "mutation",
27048
- auth: "admin"
27101
+ auth: "protected"
27049
27102
  }),
27050
27103
  setVolume: method(object({
27051
27104
  deviceId: number().int().nonnegative(),
27052
27105
  volumeLevel: number().min(0).max(100)
27053
27106
  }), _void(), {
27054
27107
  kind: "mutation",
27055
- auth: "admin"
27108
+ auth: "protected"
27056
27109
  }),
27057
27110
  setMute: method(object({
27058
27111
  deviceId: number().int().nonnegative(),
27059
27112
  muted: boolean()
27060
27113
  }), _void(), {
27061
27114
  kind: "mutation",
27062
- auth: "admin"
27115
+ auth: "protected"
27063
27116
  }),
27064
27117
  setShuffle: method(object({
27065
27118
  deviceId: number().int().nonnegative(),
27066
27119
  shuffle: boolean()
27067
27120
  }), _void(), {
27068
27121
  kind: "mutation",
27069
- auth: "admin"
27122
+ auth: "protected"
27070
27123
  }),
27071
27124
  setRepeat: method(object({
27072
27125
  deviceId: number().int().nonnegative(),
27073
27126
  repeat: MediaPlayerRepeatSchema
27074
27127
  }), _void(), {
27075
27128
  kind: "mutation",
27076
- auth: "admin"
27129
+ auth: "protected"
27077
27130
  }),
27078
27131
  selectSource: method(object({
27079
27132
  deviceId: number().int().nonnegative(),
27080
27133
  source: string().min(1)
27081
27134
  }), _void(), {
27082
27135
  kind: "mutation",
27083
- auth: "admin"
27136
+ auth: "protected"
27084
27137
  }),
27085
27138
  playMedia: method(object({
27086
27139
  deviceId: number().int().nonnegative(),
@@ -27091,7 +27144,7 @@ var mediaPlayerCapability = {
27091
27144
  mediaType: string().min(1)
27092
27145
  }), _void(), {
27093
27146
  kind: "mutation",
27094
- auth: "admin"
27147
+ auth: "protected"
27095
27148
  })
27096
27149
  },
27097
27150
  status: {
@@ -28684,27 +28737,27 @@ var petFeederCapability = {
28684
28737
  hopper2: gramsPortion.optional()
28685
28738
  }), _void(), {
28686
28739
  kind: "mutation",
28687
- auth: "admin"
28740
+ auth: "protected"
28688
28741
  }),
28689
28742
  /** Cancel an in-progress manual feed. */
28690
28743
  cancelFeed: method(object({ deviceId: number().int().nonnegative() }), _void(), {
28691
28744
  kind: "mutation",
28692
- auth: "admin"
28745
+ auth: "protected"
28693
28746
  }),
28694
28747
  /** Reset the desiccant "days remaining" counter after replacing it. */
28695
28748
  resetDesiccant: method(object({ deviceId: number().int().nonnegative() }), _void(), {
28696
28749
  kind: "mutation",
28697
- auth: "admin"
28750
+ auth: "protected"
28698
28751
  }),
28699
28752
  /** Mark a hopper as refilled (D4H/D4S/D4SH). */
28700
28753
  markFoodReplenished: method(object({ deviceId: number().int().nonnegative() }), _void(), {
28701
28754
  kind: "mutation",
28702
- auth: "admin"
28755
+ auth: "protected"
28703
28756
  }),
28704
28757
  /** Call the pet with the recorded prompt (D3). */
28705
28758
  callPet: method(object({ deviceId: number().int().nonnegative() }), _void(), {
28706
28759
  kind: "mutation",
28707
- auth: "admin"
28760
+ auth: "protected"
28708
28761
  }),
28709
28762
  /** Play a stored sound by id (D3 / D4H / D4SH). */
28710
28763
  playSound: method(object({
@@ -28712,7 +28765,7 @@ var petFeederCapability = {
28712
28765
  soundId: number().int().nonnegative()
28713
28766
  }), _void(), {
28714
28767
  kind: "mutation",
28715
- auth: "admin"
28768
+ auth: "protected"
28716
28769
  }),
28717
28770
  /** Toggle the child-lock (manual-lock) setting. */
28718
28771
  setChildLock: method(object({
@@ -28720,7 +28773,7 @@ var petFeederCapability = {
28720
28773
  on: boolean()
28721
28774
  }), _void(), {
28722
28775
  kind: "mutation",
28723
- auth: "admin"
28776
+ auth: "protected"
28724
28777
  }),
28725
28778
  /** Toggle the front indicator light. */
28726
28779
  setIndicatorLight: method(object({
@@ -28728,7 +28781,7 @@ var petFeederCapability = {
28728
28781
  on: boolean()
28729
28782
  }), _void(), {
28730
28783
  kind: "mutation",
28731
- auth: "admin"
28784
+ auth: "protected"
28732
28785
  }),
28733
28786
  /** Toggle the dispense chime. */
28734
28787
  setFeedSound: method(object({
@@ -28736,7 +28789,7 @@ var petFeederCapability = {
28736
28789
  on: boolean()
28737
28790
  }), _void(), {
28738
28791
  kind: "mutation",
28739
- auth: "admin"
28792
+ auth: "protected"
28740
28793
  }),
28741
28794
  /** Set the speaker / prompt volume level. */
28742
28795
  setVolume: method(object({
@@ -28744,7 +28797,7 @@ var petFeederCapability = {
28744
28797
  level: number().int().nonnegative()
28745
28798
  }), _void(), {
28746
28799
  kind: "mutation",
28747
- auth: "admin"
28800
+ auth: "protected"
28748
28801
  })
28749
28802
  },
28750
28803
  status: {
@@ -31040,7 +31093,7 @@ var switchCapability = {
31040
31093
  on: boolean()
31041
31094
  }), _void(), {
31042
31095
  kind: "mutation",
31043
- auth: "admin"
31096
+ auth: "protected"
31044
31097
  }) },
31045
31098
  events: { onStateChanged: { data: object({
31046
31099
  deviceId: number(),
@@ -32028,30 +32081,30 @@ var vacuumControlCapability = {
32028
32081
  methods: {
32029
32082
  start: method(object({ deviceId: number().int().nonnegative() }), _void(), {
32030
32083
  kind: "mutation",
32031
- auth: "admin"
32084
+ auth: "protected"
32032
32085
  }),
32033
32086
  pause: method(object({ deviceId: number().int().nonnegative() }), _void(), {
32034
32087
  kind: "mutation",
32035
- auth: "admin"
32088
+ auth: "protected"
32036
32089
  }),
32037
32090
  stop: method(object({ deviceId: number().int().nonnegative() }), _void(), {
32038
32091
  kind: "mutation",
32039
- auth: "admin"
32092
+ auth: "protected"
32040
32093
  }),
32041
32094
  returnToBase: method(object({ deviceId: number().int().nonnegative() }), _void(), {
32042
32095
  kind: "mutation",
32043
- auth: "admin"
32096
+ auth: "protected"
32044
32097
  }),
32045
32098
  locate: method(object({ deviceId: number().int().nonnegative() }), _void(), {
32046
32099
  kind: "mutation",
32047
- auth: "admin"
32100
+ auth: "protected"
32048
32101
  }),
32049
32102
  setFanSpeed: method(object({
32050
32103
  deviceId: number().int().nonnegative(),
32051
32104
  speed: string().min(1)
32052
32105
  }), _void(), {
32053
32106
  kind: "mutation",
32054
- auth: "admin"
32107
+ auth: "protected"
32055
32108
  })
32056
32109
  },
32057
32110
  status: {
@@ -32095,22 +32148,22 @@ var valveCapability = {
32095
32148
  methods: {
32096
32149
  open: method(object({ deviceId: number().int().nonnegative() }), _void(), {
32097
32150
  kind: "mutation",
32098
- auth: "admin"
32151
+ auth: "protected"
32099
32152
  }),
32100
32153
  close: method(object({ deviceId: number().int().nonnegative() }), _void(), {
32101
32154
  kind: "mutation",
32102
- auth: "admin"
32155
+ auth: "protected"
32103
32156
  }),
32104
32157
  stop: method(object({ deviceId: number().int().nonnegative() }), _void(), {
32105
32158
  kind: "mutation",
32106
- auth: "admin"
32159
+ auth: "protected"
32107
32160
  }),
32108
32161
  setPosition: method(object({
32109
32162
  deviceId: number().int().nonnegative(),
32110
32163
  position: number().min(0).max(100)
32111
32164
  }), _void(), {
32112
32165
  kind: "mutation",
32113
- auth: "admin"
32166
+ auth: "protected"
32114
32167
  })
32115
32168
  },
32116
32169
  status: {
@@ -32209,21 +32262,21 @@ var waterHeaterCapability = {
32209
32262
  temp: number().finite()
32210
32263
  }), _void(), {
32211
32264
  kind: "mutation",
32212
- auth: "admin"
32265
+ auth: "protected"
32213
32266
  }),
32214
32267
  setOperationMode: method(object({
32215
32268
  deviceId: number().int().nonnegative(),
32216
32269
  mode: string().min(1)
32217
32270
  }), _void(), {
32218
32271
  kind: "mutation",
32219
- auth: "admin"
32272
+ auth: "protected"
32220
32273
  }),
32221
32274
  setAway: method(object({
32222
32275
  deviceId: number().int().nonnegative(),
32223
32276
  on: boolean()
32224
32277
  }), _void(), {
32225
32278
  kind: "mutation",
32226
- auth: "admin"
32279
+ auth: "protected"
32227
32280
  })
32228
32281
  },
32229
32282
  status: {
@@ -35957,6 +36010,12 @@ Object.freeze({
35957
36010
  addonId: null,
35958
36011
  access: "create"
35959
36012
  },
36013
+ "faceGallery.auditIdentitySamples": {
36014
+ capName: "face-gallery",
36015
+ capScope: "system",
36016
+ addonId: null,
36017
+ access: "view"
36018
+ },
35960
36019
  "faceGallery.createIdentity": {
35961
36020
  capName: "face-gallery",
35962
36021
  capScope: "system",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@camstack/addon-provider-dreo",
3
- "version": "0.2.84",
3
+ "version": "0.2.86",
4
4
  "description": "Dreo smart-device (fan / air-circulator / purifier / heater / humidifier) device-provider addon for CamStack — wraps the @apocaliss92/nodedreo Dreo cloud client (REST + WebSocket)",
5
5
  "keywords": [
6
6
  "camstack",