@camstack/addon-provider-reolink 1.2.107 → 1.2.109

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
@@ -16752,14 +16752,14 @@ var alarmPanelCapability = {
16752
16752
  code: string().min(1).optional()
16753
16753
  }), _void(), {
16754
16754
  kind: "mutation",
16755
- auth: "admin"
16755
+ auth: "protected"
16756
16756
  }),
16757
16757
  disarm: method(object({
16758
16758
  deviceId: number().int().nonnegative(),
16759
16759
  code: string().min(1).optional()
16760
16760
  }), _void(), {
16761
16761
  kind: "mutation",
16762
- auth: "admin"
16762
+ auth: "protected"
16763
16763
  }),
16764
16764
  /**
16765
16765
  * Force the panel into the `triggered` state — used by HA
@@ -16770,7 +16770,7 @@ var alarmPanelCapability = {
16770
16770
  */
16771
16771
  trigger: method(object({ deviceId: number().int().nonnegative() }), _void(), {
16772
16772
  kind: "mutation",
16773
- auth: "admin"
16773
+ auth: "protected"
16774
16774
  })
16775
16775
  },
16776
16776
  status: {
@@ -24841,7 +24841,7 @@ var brightnessCapability = {
24841
24841
  percentage: number().min(0).max(100)
24842
24842
  }), _void(), {
24843
24843
  kind: "mutation",
24844
- auth: "admin"
24844
+ auth: "protected"
24845
24845
  }) },
24846
24846
  events: {
24847
24847
  /**
@@ -24874,7 +24874,7 @@ onBrightnessChanged: { data: object({
24874
24874
  };
24875
24875
  DeviceType.Button, method(object({ deviceId: number().int().nonnegative() }), _void(), {
24876
24876
  kind: "mutation",
24877
- auth: "admin"
24877
+ auth: "protected"
24878
24878
  });
24879
24879
  /**
24880
24880
  * camera-credentials — device-scoped cap exposing the camera's network
@@ -25066,28 +25066,28 @@ var climateControlCapability = {
25066
25066
  mode: HvacModeSchema
25067
25067
  }), _void(), {
25068
25068
  kind: "mutation",
25069
- auth: "admin"
25069
+ auth: "protected"
25070
25070
  }),
25071
25071
  setFanMode: method(object({
25072
25072
  deviceId: number().int().nonnegative(),
25073
25073
  fanMode: string().min(1)
25074
25074
  }), _void(), {
25075
25075
  kind: "mutation",
25076
- auth: "admin"
25076
+ auth: "protected"
25077
25077
  }),
25078
25078
  setPreset: method(object({
25079
25079
  deviceId: number().int().nonnegative(),
25080
25080
  preset: string().min(1)
25081
25081
  }), _void(), {
25082
25082
  kind: "mutation",
25083
- auth: "admin"
25083
+ auth: "protected"
25084
25084
  }),
25085
25085
  setTarget: method(object({
25086
25086
  deviceId: number().int().nonnegative(),
25087
25087
  target: number()
25088
25088
  }), _void(), {
25089
25089
  kind: "mutation",
25090
- auth: "admin"
25090
+ auth: "protected"
25091
25091
  }),
25092
25092
  setTargetRange: method(object({
25093
25093
  deviceId: number().int().nonnegative(),
@@ -25095,28 +25095,28 @@ var climateControlCapability = {
25095
25095
  targetHigh: number()
25096
25096
  }), _void(), {
25097
25097
  kind: "mutation",
25098
- auth: "admin"
25098
+ auth: "protected"
25099
25099
  }),
25100
25100
  setTargetHumidity: method(object({
25101
25101
  deviceId: number().int().nonnegative(),
25102
25102
  targetHumidity: number().min(0).max(100)
25103
25103
  }), _void(), {
25104
25104
  kind: "mutation",
25105
- auth: "admin"
25105
+ auth: "protected"
25106
25106
  }),
25107
25107
  setSwingVertical: method(object({
25108
25108
  deviceId: number().int().nonnegative(),
25109
25109
  on: boolean()
25110
25110
  }), _void(), {
25111
25111
  kind: "mutation",
25112
- auth: "admin"
25112
+ auth: "protected"
25113
25113
  }),
25114
25114
  setSwingHorizontal: method(object({
25115
25115
  deviceId: number().int().nonnegative(),
25116
25116
  on: boolean()
25117
25117
  }), _void(), {
25118
25118
  kind: "mutation",
25119
- auth: "admin"
25119
+ auth: "protected"
25120
25120
  })
25121
25121
  },
25122
25122
  status: {
@@ -25216,7 +25216,7 @@ var colorCapability = {
25216
25216
  color: ColorInputSchema
25217
25217
  }), _void(), {
25218
25218
  kind: "mutation",
25219
- auth: "admin"
25219
+ auth: "protected"
25220
25220
  }) },
25221
25221
  events: {
25222
25222
  /**
@@ -25545,7 +25545,7 @@ var controlCapability = {
25545
25545
  control: ControlSetValueInputSchema
25546
25546
  }), _void(), {
25547
25547
  kind: "mutation",
25548
- auth: "admin"
25548
+ auth: "protected"
25549
25549
  }) },
25550
25550
  status: {
25551
25551
  schema: ControlStatusSchema,
@@ -25591,29 +25591,29 @@ var coverCapability = {
25591
25591
  methods: {
25592
25592
  open: method(object({ deviceId: number().int().nonnegative() }), _void(), {
25593
25593
  kind: "mutation",
25594
- auth: "admin"
25594
+ auth: "protected"
25595
25595
  }),
25596
25596
  close: method(object({ deviceId: number().int().nonnegative() }), _void(), {
25597
25597
  kind: "mutation",
25598
- auth: "admin"
25598
+ auth: "protected"
25599
25599
  }),
25600
25600
  stop: method(object({ deviceId: number().int().nonnegative() }), _void(), {
25601
25601
  kind: "mutation",
25602
- auth: "admin"
25602
+ auth: "protected"
25603
25603
  }),
25604
25604
  setPosition: method(object({
25605
25605
  deviceId: number().int().nonnegative(),
25606
25606
  position: number().min(0).max(100)
25607
25607
  }), _void(), {
25608
25608
  kind: "mutation",
25609
- auth: "admin"
25609
+ auth: "protected"
25610
25610
  }),
25611
25611
  setTiltPosition: method(object({
25612
25612
  deviceId: number().int().nonnegative(),
25613
25613
  tiltPosition: number().min(0).max(100)
25614
25614
  }), _void(), {
25615
25615
  kind: "mutation",
25616
- auth: "admin"
25616
+ auth: "protected"
25617
25617
  })
25618
25618
  },
25619
25619
  status: {
@@ -25999,6 +25999,59 @@ var IdentitySampleInfoSchema = object({
25999
25999
  deviceId: number().int().optional(),
26000
26000
  base64: string().optional()
26001
26001
  });
26002
+ /**
26003
+ * One enrolled sample, judged against the gallery it lives in.
26004
+ *
26005
+ * The gallery is the one input to recognition nobody re-reads: a sample
26006
+ * enrolled from the wrong face keeps voting forever, and because the matches it
26007
+ * pulls then look confident, nobody goes back. The 2026-09-08 audit found
26008
+ * exactly one such pair on this cluster — a sample scoring 0.61 against three
26009
+ * samples of ANOTHER person, enrolled from the same camera in the same minute,
26010
+ * where every other cross-identity pair sits under 0.50.
26011
+ */
26012
+ var IdentitySampleAuditRowSchema = object({
26013
+ sampleId: string(),
26014
+ enrolledAt: number().int(),
26015
+ deviceId: number().int().optional(),
26016
+ source: _enum(["detected", "photo"]),
26017
+ /** The enrolled crop's media key, so the panel can show the evidence. */
26018
+ mediaKey: string().optional(),
26019
+ /**
26020
+ * False = the sample is stamped with a DIFFERENT face model, and a cosine
26021
+ * across feature spaces is a well-formed float with no meaning. Every number
26022
+ * below then says nothing — it must read as "cannot say", never as an
26023
+ * accusation and never as a clean bill: this list ends in a Remove button.
26024
+ */
26025
+ comparable: boolean(),
26026
+ /** Mean cosine against this person's other samples. Null when there are none
26027
+ * to compare with — never 0, which would read as "opposite". */
26028
+ selfMean: number().nullable(),
26029
+ /** The other person this sample looks most like, when it looks like one.
26030
+ * This is the half that convicts: not looking like yourself can be a hard
26031
+ * angle; looking like someone the gallery can NAME is a mis-enrolment. */
26032
+ bestForeign: object({
26033
+ identityId: string(),
26034
+ name: string(),
26035
+ score: number()
26036
+ }).optional(),
26037
+ /** 0 = nothing to say. Higher = look at this one sooner. */
26038
+ suspicion: number()
26039
+ });
26040
+ var IdentitySampleAuditSchema = object({
26041
+ identityId: string(),
26042
+ name: string(),
26043
+ /** The cluster face model every comparison was made in. */
26044
+ modelId: string(),
26045
+ totalSamples: number().int(),
26046
+ comparableSamples: number().int(),
26047
+ flagged: number().int(),
26048
+ /** The bar `flagged` counts against, so the panel states the RULE and not
26049
+ * only its current result. */
26050
+ flagThreshold: number(),
26051
+ /** Worst first. A row with nothing to say still appears, at the bottom: the
26052
+ * operator asked to see the gallery, not only its accusations. */
26053
+ rows: array(IdentitySampleAuditRowSchema).readonly()
26054
+ });
26002
26055
  var FaceInfoSchema = object({
26003
26056
  faceId: string(),
26004
26057
  deviceId: number().int(),
@@ -26150,7 +26203,7 @@ includeCrops: boolean().optional() }).optional(), array(IdentitySchema).readonly
26150
26203
  }), method(object({ id: string() }), _void(), {
26151
26204
  kind: "mutation",
26152
26205
  auth: "admin"
26153
- }), method(object({ identityId: string() }), array(IdentitySampleInfoSchema).readonly()), method(object({
26206
+ }), method(object({ identityId: string() }), array(IdentitySampleInfoSchema).readonly()), method(object({ identityId: string().min(1) }), IdentitySampleAuditSchema, { auth: "admin" }), method(object({
26154
26207
  identityId: string(),
26155
26208
  sampleId: string()
26156
26209
  }), _void(), {
@@ -26343,28 +26396,28 @@ var fanControlCapability = {
26343
26396
  percentage: number().min(0).max(100)
26344
26397
  }), _void(), {
26345
26398
  kind: "mutation",
26346
- auth: "admin"
26399
+ auth: "protected"
26347
26400
  }),
26348
26401
  setPreset: method(object({
26349
26402
  deviceId: number().int().nonnegative(),
26350
26403
  preset: string().min(1)
26351
26404
  }), _void(), {
26352
26405
  kind: "mutation",
26353
- auth: "admin"
26406
+ auth: "protected"
26354
26407
  }),
26355
26408
  setDirection: method(object({
26356
26409
  deviceId: number().int().nonnegative(),
26357
26410
  direction: FanDirectionSchema
26358
26411
  }), _void(), {
26359
26412
  kind: "mutation",
26360
- auth: "admin"
26413
+ auth: "protected"
26361
26414
  }),
26362
26415
  setOscillating: method(object({
26363
26416
  deviceId: number().int().nonnegative(),
26364
26417
  oscillating: boolean()
26365
26418
  }), _void(), {
26366
26419
  kind: "mutation",
26367
- auth: "admin"
26420
+ auth: "protected"
26368
26421
  })
26369
26422
  },
26370
26423
  status: {
@@ -26586,21 +26639,21 @@ var humidifierCapability = {
26586
26639
  on: boolean()
26587
26640
  }), _void(), {
26588
26641
  kind: "mutation",
26589
- auth: "admin"
26642
+ auth: "protected"
26590
26643
  }),
26591
26644
  setTargetHumidity: method(object({
26592
26645
  deviceId: number().int().nonnegative(),
26593
26646
  humidity: number().min(0).max(100)
26594
26647
  }), _void(), {
26595
26648
  kind: "mutation",
26596
- auth: "admin"
26649
+ auth: "protected"
26597
26650
  }),
26598
26651
  setMode: method(object({
26599
26652
  deviceId: number().int().nonnegative(),
26600
26653
  mode: string().min(1)
26601
26654
  }), _void(), {
26602
26655
  kind: "mutation",
26603
- auth: "admin"
26656
+ auth: "protected"
26604
26657
  })
26605
26658
  },
26606
26659
  status: {
@@ -27301,15 +27354,15 @@ var lawnMowerControlCapability = {
27301
27354
  methods: {
27302
27355
  startMowing: method(object({ deviceId: number().int().nonnegative() }), _void(), {
27303
27356
  kind: "mutation",
27304
- auth: "admin"
27357
+ auth: "protected"
27305
27358
  }),
27306
27359
  pause: method(object({ deviceId: number().int().nonnegative() }), _void(), {
27307
27360
  kind: "mutation",
27308
- auth: "admin"
27361
+ auth: "protected"
27309
27362
  }),
27310
27363
  dock: method(object({ deviceId: number().int().nonnegative() }), _void(), {
27311
27364
  kind: "mutation",
27312
- auth: "admin"
27365
+ auth: "protected"
27313
27366
  })
27314
27367
  },
27315
27368
  status: {
@@ -27594,18 +27647,18 @@ var lockControlCapability = {
27594
27647
  code: string().min(1).optional()
27595
27648
  }), _void(), {
27596
27649
  kind: "mutation",
27597
- auth: "admin"
27650
+ auth: "protected"
27598
27651
  }),
27599
27652
  unlock: method(object({
27600
27653
  deviceId: number().int().nonnegative(),
27601
27654
  code: string().min(1).optional()
27602
27655
  }), _void(), {
27603
27656
  kind: "mutation",
27604
- auth: "admin"
27657
+ auth: "protected"
27605
27658
  }),
27606
27659
  open: method(object({ deviceId: number().int().nonnegative() }), _void(), {
27607
27660
  kind: "mutation",
27608
- auth: "admin"
27661
+ auth: "protected"
27609
27662
  })
27610
27663
  },
27611
27664
  status: {
@@ -27708,65 +27761,65 @@ var mediaPlayerCapability = {
27708
27761
  methods: {
27709
27762
  play: method(object({ deviceId: number().int().nonnegative() }), _void(), {
27710
27763
  kind: "mutation",
27711
- auth: "admin"
27764
+ auth: "protected"
27712
27765
  }),
27713
27766
  pause: method(object({ deviceId: number().int().nonnegative() }), _void(), {
27714
27767
  kind: "mutation",
27715
- auth: "admin"
27768
+ auth: "protected"
27716
27769
  }),
27717
27770
  stop: method(object({ deviceId: number().int().nonnegative() }), _void(), {
27718
27771
  kind: "mutation",
27719
- auth: "admin"
27772
+ auth: "protected"
27720
27773
  }),
27721
27774
  next: method(object({ deviceId: number().int().nonnegative() }), _void(), {
27722
27775
  kind: "mutation",
27723
- auth: "admin"
27776
+ auth: "protected"
27724
27777
  }),
27725
27778
  previous: method(object({ deviceId: number().int().nonnegative() }), _void(), {
27726
27779
  kind: "mutation",
27727
- auth: "admin"
27780
+ auth: "protected"
27728
27781
  }),
27729
27782
  seek: method(object({
27730
27783
  deviceId: number().int().nonnegative(),
27731
27784
  positionMs: number().int().nonnegative()
27732
27785
  }), _void(), {
27733
27786
  kind: "mutation",
27734
- auth: "admin"
27787
+ auth: "protected"
27735
27788
  }),
27736
27789
  setVolume: method(object({
27737
27790
  deviceId: number().int().nonnegative(),
27738
27791
  volumeLevel: number().min(0).max(100)
27739
27792
  }), _void(), {
27740
27793
  kind: "mutation",
27741
- auth: "admin"
27794
+ auth: "protected"
27742
27795
  }),
27743
27796
  setMute: method(object({
27744
27797
  deviceId: number().int().nonnegative(),
27745
27798
  muted: boolean()
27746
27799
  }), _void(), {
27747
27800
  kind: "mutation",
27748
- auth: "admin"
27801
+ auth: "protected"
27749
27802
  }),
27750
27803
  setShuffle: method(object({
27751
27804
  deviceId: number().int().nonnegative(),
27752
27805
  shuffle: boolean()
27753
27806
  }), _void(), {
27754
27807
  kind: "mutation",
27755
- auth: "admin"
27808
+ auth: "protected"
27756
27809
  }),
27757
27810
  setRepeat: method(object({
27758
27811
  deviceId: number().int().nonnegative(),
27759
27812
  repeat: MediaPlayerRepeatSchema
27760
27813
  }), _void(), {
27761
27814
  kind: "mutation",
27762
- auth: "admin"
27815
+ auth: "protected"
27763
27816
  }),
27764
27817
  selectSource: method(object({
27765
27818
  deviceId: number().int().nonnegative(),
27766
27819
  source: string().min(1)
27767
27820
  }), _void(), {
27768
27821
  kind: "mutation",
27769
- auth: "admin"
27822
+ auth: "protected"
27770
27823
  }),
27771
27824
  playMedia: method(object({
27772
27825
  deviceId: number().int().nonnegative(),
@@ -27777,7 +27830,7 @@ var mediaPlayerCapability = {
27777
27830
  mediaType: string().min(1)
27778
27831
  }), _void(), {
27779
27832
  kind: "mutation",
27780
- auth: "admin"
27833
+ auth: "protected"
27781
27834
  })
27782
27835
  },
27783
27836
  status: {
@@ -29390,27 +29443,27 @@ var petFeederCapability = {
29390
29443
  hopper2: gramsPortion.optional()
29391
29444
  }), _void(), {
29392
29445
  kind: "mutation",
29393
- auth: "admin"
29446
+ auth: "protected"
29394
29447
  }),
29395
29448
  /** Cancel an in-progress manual feed. */
29396
29449
  cancelFeed: method(object({ deviceId: number().int().nonnegative() }), _void(), {
29397
29450
  kind: "mutation",
29398
- auth: "admin"
29451
+ auth: "protected"
29399
29452
  }),
29400
29453
  /** Reset the desiccant "days remaining" counter after replacing it. */
29401
29454
  resetDesiccant: method(object({ deviceId: number().int().nonnegative() }), _void(), {
29402
29455
  kind: "mutation",
29403
- auth: "admin"
29456
+ auth: "protected"
29404
29457
  }),
29405
29458
  /** Mark a hopper as refilled (D4H/D4S/D4SH). */
29406
29459
  markFoodReplenished: method(object({ deviceId: number().int().nonnegative() }), _void(), {
29407
29460
  kind: "mutation",
29408
- auth: "admin"
29461
+ auth: "protected"
29409
29462
  }),
29410
29463
  /** Call the pet with the recorded prompt (D3). */
29411
29464
  callPet: method(object({ deviceId: number().int().nonnegative() }), _void(), {
29412
29465
  kind: "mutation",
29413
- auth: "admin"
29466
+ auth: "protected"
29414
29467
  }),
29415
29468
  /** Play a stored sound by id (D3 / D4H / D4SH). */
29416
29469
  playSound: method(object({
@@ -29418,7 +29471,7 @@ var petFeederCapability = {
29418
29471
  soundId: number().int().nonnegative()
29419
29472
  }), _void(), {
29420
29473
  kind: "mutation",
29421
- auth: "admin"
29474
+ auth: "protected"
29422
29475
  }),
29423
29476
  /** Toggle the child-lock (manual-lock) setting. */
29424
29477
  setChildLock: method(object({
@@ -29426,7 +29479,7 @@ var petFeederCapability = {
29426
29479
  on: boolean()
29427
29480
  }), _void(), {
29428
29481
  kind: "mutation",
29429
- auth: "admin"
29482
+ auth: "protected"
29430
29483
  }),
29431
29484
  /** Toggle the front indicator light. */
29432
29485
  setIndicatorLight: method(object({
@@ -29434,7 +29487,7 @@ var petFeederCapability = {
29434
29487
  on: boolean()
29435
29488
  }), _void(), {
29436
29489
  kind: "mutation",
29437
- auth: "admin"
29490
+ auth: "protected"
29438
29491
  }),
29439
29492
  /** Toggle the dispense chime. */
29440
29493
  setFeedSound: method(object({
@@ -29442,7 +29495,7 @@ var petFeederCapability = {
29442
29495
  on: boolean()
29443
29496
  }), _void(), {
29444
29497
  kind: "mutation",
29445
- auth: "admin"
29498
+ auth: "protected"
29446
29499
  }),
29447
29500
  /** Set the speaker / prompt volume level. */
29448
29501
  setVolume: method(object({
@@ -29450,7 +29503,7 @@ var petFeederCapability = {
29450
29503
  level: number().int().nonnegative()
29451
29504
  }), _void(), {
29452
29505
  kind: "mutation",
29453
- auth: "admin"
29506
+ auth: "protected"
29454
29507
  })
29455
29508
  },
29456
29509
  status: {
@@ -32031,7 +32084,7 @@ var switchCapability = {
32031
32084
  on: boolean()
32032
32085
  }), _void(), {
32033
32086
  kind: "mutation",
32034
- auth: "admin"
32087
+ auth: "protected"
32035
32088
  }) },
32036
32089
  events: { onStateChanged: { data: object({
32037
32090
  deviceId: number(),
@@ -33019,30 +33072,30 @@ var vacuumControlCapability = {
33019
33072
  methods: {
33020
33073
  start: method(object({ deviceId: number().int().nonnegative() }), _void(), {
33021
33074
  kind: "mutation",
33022
- auth: "admin"
33075
+ auth: "protected"
33023
33076
  }),
33024
33077
  pause: method(object({ deviceId: number().int().nonnegative() }), _void(), {
33025
33078
  kind: "mutation",
33026
- auth: "admin"
33079
+ auth: "protected"
33027
33080
  }),
33028
33081
  stop: method(object({ deviceId: number().int().nonnegative() }), _void(), {
33029
33082
  kind: "mutation",
33030
- auth: "admin"
33083
+ auth: "protected"
33031
33084
  }),
33032
33085
  returnToBase: method(object({ deviceId: number().int().nonnegative() }), _void(), {
33033
33086
  kind: "mutation",
33034
- auth: "admin"
33087
+ auth: "protected"
33035
33088
  }),
33036
33089
  locate: method(object({ deviceId: number().int().nonnegative() }), _void(), {
33037
33090
  kind: "mutation",
33038
- auth: "admin"
33091
+ auth: "protected"
33039
33092
  }),
33040
33093
  setFanSpeed: method(object({
33041
33094
  deviceId: number().int().nonnegative(),
33042
33095
  speed: string().min(1)
33043
33096
  }), _void(), {
33044
33097
  kind: "mutation",
33045
- auth: "admin"
33098
+ auth: "protected"
33046
33099
  })
33047
33100
  },
33048
33101
  status: {
@@ -33086,22 +33139,22 @@ var valveCapability = {
33086
33139
  methods: {
33087
33140
  open: method(object({ deviceId: number().int().nonnegative() }), _void(), {
33088
33141
  kind: "mutation",
33089
- auth: "admin"
33142
+ auth: "protected"
33090
33143
  }),
33091
33144
  close: method(object({ deviceId: number().int().nonnegative() }), _void(), {
33092
33145
  kind: "mutation",
33093
- auth: "admin"
33146
+ auth: "protected"
33094
33147
  }),
33095
33148
  stop: method(object({ deviceId: number().int().nonnegative() }), _void(), {
33096
33149
  kind: "mutation",
33097
- auth: "admin"
33150
+ auth: "protected"
33098
33151
  }),
33099
33152
  setPosition: method(object({
33100
33153
  deviceId: number().int().nonnegative(),
33101
33154
  position: number().min(0).max(100)
33102
33155
  }), _void(), {
33103
33156
  kind: "mutation",
33104
- auth: "admin"
33157
+ auth: "protected"
33105
33158
  })
33106
33159
  },
33107
33160
  status: {
@@ -33200,21 +33253,21 @@ var waterHeaterCapability = {
33200
33253
  temp: number().finite()
33201
33254
  }), _void(), {
33202
33255
  kind: "mutation",
33203
- auth: "admin"
33256
+ auth: "protected"
33204
33257
  }),
33205
33258
  setOperationMode: method(object({
33206
33259
  deviceId: number().int().nonnegative(),
33207
33260
  mode: string().min(1)
33208
33261
  }), _void(), {
33209
33262
  kind: "mutation",
33210
- auth: "admin"
33263
+ auth: "protected"
33211
33264
  }),
33212
33265
  setAway: method(object({
33213
33266
  deviceId: number().int().nonnegative(),
33214
33267
  on: boolean()
33215
33268
  }), _void(), {
33216
33269
  kind: "mutation",
33217
- auth: "admin"
33270
+ auth: "protected"
33218
33271
  })
33219
33272
  },
33220
33273
  status: {
@@ -37126,6 +37179,12 @@ Object.freeze({
37126
37179
  addonId: null,
37127
37180
  access: "create"
37128
37181
  },
37182
+ "faceGallery.auditIdentitySamples": {
37183
+ capName: "face-gallery",
37184
+ capScope: "system",
37185
+ addonId: null,
37186
+ access: "view"
37187
+ },
37129
37188
  "faceGallery.createIdentity": {
37130
37189
  capName: "face-gallery",
37131
37190
  capScope: "system",
package/dist/addon.mjs CHANGED
@@ -16747,14 +16747,14 @@ var alarmPanelCapability = {
16747
16747
  code: string().min(1).optional()
16748
16748
  }), _void(), {
16749
16749
  kind: "mutation",
16750
- auth: "admin"
16750
+ auth: "protected"
16751
16751
  }),
16752
16752
  disarm: method(object({
16753
16753
  deviceId: number().int().nonnegative(),
16754
16754
  code: string().min(1).optional()
16755
16755
  }), _void(), {
16756
16756
  kind: "mutation",
16757
- auth: "admin"
16757
+ auth: "protected"
16758
16758
  }),
16759
16759
  /**
16760
16760
  * Force the panel into the `triggered` state — used by HA
@@ -16765,7 +16765,7 @@ var alarmPanelCapability = {
16765
16765
  */
16766
16766
  trigger: method(object({ deviceId: number().int().nonnegative() }), _void(), {
16767
16767
  kind: "mutation",
16768
- auth: "admin"
16768
+ auth: "protected"
16769
16769
  })
16770
16770
  },
16771
16771
  status: {
@@ -24836,7 +24836,7 @@ var brightnessCapability = {
24836
24836
  percentage: number().min(0).max(100)
24837
24837
  }), _void(), {
24838
24838
  kind: "mutation",
24839
- auth: "admin"
24839
+ auth: "protected"
24840
24840
  }) },
24841
24841
  events: {
24842
24842
  /**
@@ -24869,7 +24869,7 @@ onBrightnessChanged: { data: object({
24869
24869
  };
24870
24870
  DeviceType.Button, method(object({ deviceId: number().int().nonnegative() }), _void(), {
24871
24871
  kind: "mutation",
24872
- auth: "admin"
24872
+ auth: "protected"
24873
24873
  });
24874
24874
  /**
24875
24875
  * camera-credentials — device-scoped cap exposing the camera's network
@@ -25061,28 +25061,28 @@ var climateControlCapability = {
25061
25061
  mode: HvacModeSchema
25062
25062
  }), _void(), {
25063
25063
  kind: "mutation",
25064
- auth: "admin"
25064
+ auth: "protected"
25065
25065
  }),
25066
25066
  setFanMode: method(object({
25067
25067
  deviceId: number().int().nonnegative(),
25068
25068
  fanMode: string().min(1)
25069
25069
  }), _void(), {
25070
25070
  kind: "mutation",
25071
- auth: "admin"
25071
+ auth: "protected"
25072
25072
  }),
25073
25073
  setPreset: method(object({
25074
25074
  deviceId: number().int().nonnegative(),
25075
25075
  preset: string().min(1)
25076
25076
  }), _void(), {
25077
25077
  kind: "mutation",
25078
- auth: "admin"
25078
+ auth: "protected"
25079
25079
  }),
25080
25080
  setTarget: method(object({
25081
25081
  deviceId: number().int().nonnegative(),
25082
25082
  target: number()
25083
25083
  }), _void(), {
25084
25084
  kind: "mutation",
25085
- auth: "admin"
25085
+ auth: "protected"
25086
25086
  }),
25087
25087
  setTargetRange: method(object({
25088
25088
  deviceId: number().int().nonnegative(),
@@ -25090,28 +25090,28 @@ var climateControlCapability = {
25090
25090
  targetHigh: number()
25091
25091
  }), _void(), {
25092
25092
  kind: "mutation",
25093
- auth: "admin"
25093
+ auth: "protected"
25094
25094
  }),
25095
25095
  setTargetHumidity: method(object({
25096
25096
  deviceId: number().int().nonnegative(),
25097
25097
  targetHumidity: number().min(0).max(100)
25098
25098
  }), _void(), {
25099
25099
  kind: "mutation",
25100
- auth: "admin"
25100
+ auth: "protected"
25101
25101
  }),
25102
25102
  setSwingVertical: method(object({
25103
25103
  deviceId: number().int().nonnegative(),
25104
25104
  on: boolean()
25105
25105
  }), _void(), {
25106
25106
  kind: "mutation",
25107
- auth: "admin"
25107
+ auth: "protected"
25108
25108
  }),
25109
25109
  setSwingHorizontal: method(object({
25110
25110
  deviceId: number().int().nonnegative(),
25111
25111
  on: boolean()
25112
25112
  }), _void(), {
25113
25113
  kind: "mutation",
25114
- auth: "admin"
25114
+ auth: "protected"
25115
25115
  })
25116
25116
  },
25117
25117
  status: {
@@ -25211,7 +25211,7 @@ var colorCapability = {
25211
25211
  color: ColorInputSchema
25212
25212
  }), _void(), {
25213
25213
  kind: "mutation",
25214
- auth: "admin"
25214
+ auth: "protected"
25215
25215
  }) },
25216
25216
  events: {
25217
25217
  /**
@@ -25540,7 +25540,7 @@ var controlCapability = {
25540
25540
  control: ControlSetValueInputSchema
25541
25541
  }), _void(), {
25542
25542
  kind: "mutation",
25543
- auth: "admin"
25543
+ auth: "protected"
25544
25544
  }) },
25545
25545
  status: {
25546
25546
  schema: ControlStatusSchema,
@@ -25586,29 +25586,29 @@ var coverCapability = {
25586
25586
  methods: {
25587
25587
  open: method(object({ deviceId: number().int().nonnegative() }), _void(), {
25588
25588
  kind: "mutation",
25589
- auth: "admin"
25589
+ auth: "protected"
25590
25590
  }),
25591
25591
  close: method(object({ deviceId: number().int().nonnegative() }), _void(), {
25592
25592
  kind: "mutation",
25593
- auth: "admin"
25593
+ auth: "protected"
25594
25594
  }),
25595
25595
  stop: method(object({ deviceId: number().int().nonnegative() }), _void(), {
25596
25596
  kind: "mutation",
25597
- auth: "admin"
25597
+ auth: "protected"
25598
25598
  }),
25599
25599
  setPosition: method(object({
25600
25600
  deviceId: number().int().nonnegative(),
25601
25601
  position: number().min(0).max(100)
25602
25602
  }), _void(), {
25603
25603
  kind: "mutation",
25604
- auth: "admin"
25604
+ auth: "protected"
25605
25605
  }),
25606
25606
  setTiltPosition: method(object({
25607
25607
  deviceId: number().int().nonnegative(),
25608
25608
  tiltPosition: number().min(0).max(100)
25609
25609
  }), _void(), {
25610
25610
  kind: "mutation",
25611
- auth: "admin"
25611
+ auth: "protected"
25612
25612
  })
25613
25613
  },
25614
25614
  status: {
@@ -25994,6 +25994,59 @@ var IdentitySampleInfoSchema = object({
25994
25994
  deviceId: number().int().optional(),
25995
25995
  base64: string().optional()
25996
25996
  });
25997
+ /**
25998
+ * One enrolled sample, judged against the gallery it lives in.
25999
+ *
26000
+ * The gallery is the one input to recognition nobody re-reads: a sample
26001
+ * enrolled from the wrong face keeps voting forever, and because the matches it
26002
+ * pulls then look confident, nobody goes back. The 2026-09-08 audit found
26003
+ * exactly one such pair on this cluster — a sample scoring 0.61 against three
26004
+ * samples of ANOTHER person, enrolled from the same camera in the same minute,
26005
+ * where every other cross-identity pair sits under 0.50.
26006
+ */
26007
+ var IdentitySampleAuditRowSchema = object({
26008
+ sampleId: string(),
26009
+ enrolledAt: number().int(),
26010
+ deviceId: number().int().optional(),
26011
+ source: _enum(["detected", "photo"]),
26012
+ /** The enrolled crop's media key, so the panel can show the evidence. */
26013
+ mediaKey: string().optional(),
26014
+ /**
26015
+ * False = the sample is stamped with a DIFFERENT face model, and a cosine
26016
+ * across feature spaces is a well-formed float with no meaning. Every number
26017
+ * below then says nothing — it must read as "cannot say", never as an
26018
+ * accusation and never as a clean bill: this list ends in a Remove button.
26019
+ */
26020
+ comparable: boolean(),
26021
+ /** Mean cosine against this person's other samples. Null when there are none
26022
+ * to compare with — never 0, which would read as "opposite". */
26023
+ selfMean: number().nullable(),
26024
+ /** The other person this sample looks most like, when it looks like one.
26025
+ * This is the half that convicts: not looking like yourself can be a hard
26026
+ * angle; looking like someone the gallery can NAME is a mis-enrolment. */
26027
+ bestForeign: object({
26028
+ identityId: string(),
26029
+ name: string(),
26030
+ score: number()
26031
+ }).optional(),
26032
+ /** 0 = nothing to say. Higher = look at this one sooner. */
26033
+ suspicion: number()
26034
+ });
26035
+ var IdentitySampleAuditSchema = object({
26036
+ identityId: string(),
26037
+ name: string(),
26038
+ /** The cluster face model every comparison was made in. */
26039
+ modelId: string(),
26040
+ totalSamples: number().int(),
26041
+ comparableSamples: number().int(),
26042
+ flagged: number().int(),
26043
+ /** The bar `flagged` counts against, so the panel states the RULE and not
26044
+ * only its current result. */
26045
+ flagThreshold: number(),
26046
+ /** Worst first. A row with nothing to say still appears, at the bottom: the
26047
+ * operator asked to see the gallery, not only its accusations. */
26048
+ rows: array(IdentitySampleAuditRowSchema).readonly()
26049
+ });
25997
26050
  var FaceInfoSchema = object({
25998
26051
  faceId: string(),
25999
26052
  deviceId: number().int(),
@@ -26145,7 +26198,7 @@ includeCrops: boolean().optional() }).optional(), array(IdentitySchema).readonly
26145
26198
  }), method(object({ id: string() }), _void(), {
26146
26199
  kind: "mutation",
26147
26200
  auth: "admin"
26148
- }), method(object({ identityId: string() }), array(IdentitySampleInfoSchema).readonly()), method(object({
26201
+ }), method(object({ identityId: string() }), array(IdentitySampleInfoSchema).readonly()), method(object({ identityId: string().min(1) }), IdentitySampleAuditSchema, { auth: "admin" }), method(object({
26149
26202
  identityId: string(),
26150
26203
  sampleId: string()
26151
26204
  }), _void(), {
@@ -26338,28 +26391,28 @@ var fanControlCapability = {
26338
26391
  percentage: number().min(0).max(100)
26339
26392
  }), _void(), {
26340
26393
  kind: "mutation",
26341
- auth: "admin"
26394
+ auth: "protected"
26342
26395
  }),
26343
26396
  setPreset: method(object({
26344
26397
  deviceId: number().int().nonnegative(),
26345
26398
  preset: string().min(1)
26346
26399
  }), _void(), {
26347
26400
  kind: "mutation",
26348
- auth: "admin"
26401
+ auth: "protected"
26349
26402
  }),
26350
26403
  setDirection: method(object({
26351
26404
  deviceId: number().int().nonnegative(),
26352
26405
  direction: FanDirectionSchema
26353
26406
  }), _void(), {
26354
26407
  kind: "mutation",
26355
- auth: "admin"
26408
+ auth: "protected"
26356
26409
  }),
26357
26410
  setOscillating: method(object({
26358
26411
  deviceId: number().int().nonnegative(),
26359
26412
  oscillating: boolean()
26360
26413
  }), _void(), {
26361
26414
  kind: "mutation",
26362
- auth: "admin"
26415
+ auth: "protected"
26363
26416
  })
26364
26417
  },
26365
26418
  status: {
@@ -26581,21 +26634,21 @@ var humidifierCapability = {
26581
26634
  on: boolean()
26582
26635
  }), _void(), {
26583
26636
  kind: "mutation",
26584
- auth: "admin"
26637
+ auth: "protected"
26585
26638
  }),
26586
26639
  setTargetHumidity: method(object({
26587
26640
  deviceId: number().int().nonnegative(),
26588
26641
  humidity: number().min(0).max(100)
26589
26642
  }), _void(), {
26590
26643
  kind: "mutation",
26591
- auth: "admin"
26644
+ auth: "protected"
26592
26645
  }),
26593
26646
  setMode: method(object({
26594
26647
  deviceId: number().int().nonnegative(),
26595
26648
  mode: string().min(1)
26596
26649
  }), _void(), {
26597
26650
  kind: "mutation",
26598
- auth: "admin"
26651
+ auth: "protected"
26599
26652
  })
26600
26653
  },
26601
26654
  status: {
@@ -27296,15 +27349,15 @@ var lawnMowerControlCapability = {
27296
27349
  methods: {
27297
27350
  startMowing: method(object({ deviceId: number().int().nonnegative() }), _void(), {
27298
27351
  kind: "mutation",
27299
- auth: "admin"
27352
+ auth: "protected"
27300
27353
  }),
27301
27354
  pause: method(object({ deviceId: number().int().nonnegative() }), _void(), {
27302
27355
  kind: "mutation",
27303
- auth: "admin"
27356
+ auth: "protected"
27304
27357
  }),
27305
27358
  dock: method(object({ deviceId: number().int().nonnegative() }), _void(), {
27306
27359
  kind: "mutation",
27307
- auth: "admin"
27360
+ auth: "protected"
27308
27361
  })
27309
27362
  },
27310
27363
  status: {
@@ -27589,18 +27642,18 @@ var lockControlCapability = {
27589
27642
  code: string().min(1).optional()
27590
27643
  }), _void(), {
27591
27644
  kind: "mutation",
27592
- auth: "admin"
27645
+ auth: "protected"
27593
27646
  }),
27594
27647
  unlock: method(object({
27595
27648
  deviceId: number().int().nonnegative(),
27596
27649
  code: string().min(1).optional()
27597
27650
  }), _void(), {
27598
27651
  kind: "mutation",
27599
- auth: "admin"
27652
+ auth: "protected"
27600
27653
  }),
27601
27654
  open: method(object({ deviceId: number().int().nonnegative() }), _void(), {
27602
27655
  kind: "mutation",
27603
- auth: "admin"
27656
+ auth: "protected"
27604
27657
  })
27605
27658
  },
27606
27659
  status: {
@@ -27703,65 +27756,65 @@ var mediaPlayerCapability = {
27703
27756
  methods: {
27704
27757
  play: method(object({ deviceId: number().int().nonnegative() }), _void(), {
27705
27758
  kind: "mutation",
27706
- auth: "admin"
27759
+ auth: "protected"
27707
27760
  }),
27708
27761
  pause: method(object({ deviceId: number().int().nonnegative() }), _void(), {
27709
27762
  kind: "mutation",
27710
- auth: "admin"
27763
+ auth: "protected"
27711
27764
  }),
27712
27765
  stop: method(object({ deviceId: number().int().nonnegative() }), _void(), {
27713
27766
  kind: "mutation",
27714
- auth: "admin"
27767
+ auth: "protected"
27715
27768
  }),
27716
27769
  next: method(object({ deviceId: number().int().nonnegative() }), _void(), {
27717
27770
  kind: "mutation",
27718
- auth: "admin"
27771
+ auth: "protected"
27719
27772
  }),
27720
27773
  previous: method(object({ deviceId: number().int().nonnegative() }), _void(), {
27721
27774
  kind: "mutation",
27722
- auth: "admin"
27775
+ auth: "protected"
27723
27776
  }),
27724
27777
  seek: method(object({
27725
27778
  deviceId: number().int().nonnegative(),
27726
27779
  positionMs: number().int().nonnegative()
27727
27780
  }), _void(), {
27728
27781
  kind: "mutation",
27729
- auth: "admin"
27782
+ auth: "protected"
27730
27783
  }),
27731
27784
  setVolume: method(object({
27732
27785
  deviceId: number().int().nonnegative(),
27733
27786
  volumeLevel: number().min(0).max(100)
27734
27787
  }), _void(), {
27735
27788
  kind: "mutation",
27736
- auth: "admin"
27789
+ auth: "protected"
27737
27790
  }),
27738
27791
  setMute: method(object({
27739
27792
  deviceId: number().int().nonnegative(),
27740
27793
  muted: boolean()
27741
27794
  }), _void(), {
27742
27795
  kind: "mutation",
27743
- auth: "admin"
27796
+ auth: "protected"
27744
27797
  }),
27745
27798
  setShuffle: method(object({
27746
27799
  deviceId: number().int().nonnegative(),
27747
27800
  shuffle: boolean()
27748
27801
  }), _void(), {
27749
27802
  kind: "mutation",
27750
- auth: "admin"
27803
+ auth: "protected"
27751
27804
  }),
27752
27805
  setRepeat: method(object({
27753
27806
  deviceId: number().int().nonnegative(),
27754
27807
  repeat: MediaPlayerRepeatSchema
27755
27808
  }), _void(), {
27756
27809
  kind: "mutation",
27757
- auth: "admin"
27810
+ auth: "protected"
27758
27811
  }),
27759
27812
  selectSource: method(object({
27760
27813
  deviceId: number().int().nonnegative(),
27761
27814
  source: string().min(1)
27762
27815
  }), _void(), {
27763
27816
  kind: "mutation",
27764
- auth: "admin"
27817
+ auth: "protected"
27765
27818
  }),
27766
27819
  playMedia: method(object({
27767
27820
  deviceId: number().int().nonnegative(),
@@ -27772,7 +27825,7 @@ var mediaPlayerCapability = {
27772
27825
  mediaType: string().min(1)
27773
27826
  }), _void(), {
27774
27827
  kind: "mutation",
27775
- auth: "admin"
27828
+ auth: "protected"
27776
27829
  })
27777
27830
  },
27778
27831
  status: {
@@ -29385,27 +29438,27 @@ var petFeederCapability = {
29385
29438
  hopper2: gramsPortion.optional()
29386
29439
  }), _void(), {
29387
29440
  kind: "mutation",
29388
- auth: "admin"
29441
+ auth: "protected"
29389
29442
  }),
29390
29443
  /** Cancel an in-progress manual feed. */
29391
29444
  cancelFeed: method(object({ deviceId: number().int().nonnegative() }), _void(), {
29392
29445
  kind: "mutation",
29393
- auth: "admin"
29446
+ auth: "protected"
29394
29447
  }),
29395
29448
  /** Reset the desiccant "days remaining" counter after replacing it. */
29396
29449
  resetDesiccant: method(object({ deviceId: number().int().nonnegative() }), _void(), {
29397
29450
  kind: "mutation",
29398
- auth: "admin"
29451
+ auth: "protected"
29399
29452
  }),
29400
29453
  /** Mark a hopper as refilled (D4H/D4S/D4SH). */
29401
29454
  markFoodReplenished: method(object({ deviceId: number().int().nonnegative() }), _void(), {
29402
29455
  kind: "mutation",
29403
- auth: "admin"
29456
+ auth: "protected"
29404
29457
  }),
29405
29458
  /** Call the pet with the recorded prompt (D3). */
29406
29459
  callPet: method(object({ deviceId: number().int().nonnegative() }), _void(), {
29407
29460
  kind: "mutation",
29408
- auth: "admin"
29461
+ auth: "protected"
29409
29462
  }),
29410
29463
  /** Play a stored sound by id (D3 / D4H / D4SH). */
29411
29464
  playSound: method(object({
@@ -29413,7 +29466,7 @@ var petFeederCapability = {
29413
29466
  soundId: number().int().nonnegative()
29414
29467
  }), _void(), {
29415
29468
  kind: "mutation",
29416
- auth: "admin"
29469
+ auth: "protected"
29417
29470
  }),
29418
29471
  /** Toggle the child-lock (manual-lock) setting. */
29419
29472
  setChildLock: method(object({
@@ -29421,7 +29474,7 @@ var petFeederCapability = {
29421
29474
  on: boolean()
29422
29475
  }), _void(), {
29423
29476
  kind: "mutation",
29424
- auth: "admin"
29477
+ auth: "protected"
29425
29478
  }),
29426
29479
  /** Toggle the front indicator light. */
29427
29480
  setIndicatorLight: method(object({
@@ -29429,7 +29482,7 @@ var petFeederCapability = {
29429
29482
  on: boolean()
29430
29483
  }), _void(), {
29431
29484
  kind: "mutation",
29432
- auth: "admin"
29485
+ auth: "protected"
29433
29486
  }),
29434
29487
  /** Toggle the dispense chime. */
29435
29488
  setFeedSound: method(object({
@@ -29437,7 +29490,7 @@ var petFeederCapability = {
29437
29490
  on: boolean()
29438
29491
  }), _void(), {
29439
29492
  kind: "mutation",
29440
- auth: "admin"
29493
+ auth: "protected"
29441
29494
  }),
29442
29495
  /** Set the speaker / prompt volume level. */
29443
29496
  setVolume: method(object({
@@ -29445,7 +29498,7 @@ var petFeederCapability = {
29445
29498
  level: number().int().nonnegative()
29446
29499
  }), _void(), {
29447
29500
  kind: "mutation",
29448
- auth: "admin"
29501
+ auth: "protected"
29449
29502
  })
29450
29503
  },
29451
29504
  status: {
@@ -32026,7 +32079,7 @@ var switchCapability = {
32026
32079
  on: boolean()
32027
32080
  }), _void(), {
32028
32081
  kind: "mutation",
32029
- auth: "admin"
32082
+ auth: "protected"
32030
32083
  }) },
32031
32084
  events: { onStateChanged: { data: object({
32032
32085
  deviceId: number(),
@@ -33014,30 +33067,30 @@ var vacuumControlCapability = {
33014
33067
  methods: {
33015
33068
  start: method(object({ deviceId: number().int().nonnegative() }), _void(), {
33016
33069
  kind: "mutation",
33017
- auth: "admin"
33070
+ auth: "protected"
33018
33071
  }),
33019
33072
  pause: method(object({ deviceId: number().int().nonnegative() }), _void(), {
33020
33073
  kind: "mutation",
33021
- auth: "admin"
33074
+ auth: "protected"
33022
33075
  }),
33023
33076
  stop: method(object({ deviceId: number().int().nonnegative() }), _void(), {
33024
33077
  kind: "mutation",
33025
- auth: "admin"
33078
+ auth: "protected"
33026
33079
  }),
33027
33080
  returnToBase: method(object({ deviceId: number().int().nonnegative() }), _void(), {
33028
33081
  kind: "mutation",
33029
- auth: "admin"
33082
+ auth: "protected"
33030
33083
  }),
33031
33084
  locate: method(object({ deviceId: number().int().nonnegative() }), _void(), {
33032
33085
  kind: "mutation",
33033
- auth: "admin"
33086
+ auth: "protected"
33034
33087
  }),
33035
33088
  setFanSpeed: method(object({
33036
33089
  deviceId: number().int().nonnegative(),
33037
33090
  speed: string().min(1)
33038
33091
  }), _void(), {
33039
33092
  kind: "mutation",
33040
- auth: "admin"
33093
+ auth: "protected"
33041
33094
  })
33042
33095
  },
33043
33096
  status: {
@@ -33081,22 +33134,22 @@ var valveCapability = {
33081
33134
  methods: {
33082
33135
  open: method(object({ deviceId: number().int().nonnegative() }), _void(), {
33083
33136
  kind: "mutation",
33084
- auth: "admin"
33137
+ auth: "protected"
33085
33138
  }),
33086
33139
  close: method(object({ deviceId: number().int().nonnegative() }), _void(), {
33087
33140
  kind: "mutation",
33088
- auth: "admin"
33141
+ auth: "protected"
33089
33142
  }),
33090
33143
  stop: method(object({ deviceId: number().int().nonnegative() }), _void(), {
33091
33144
  kind: "mutation",
33092
- auth: "admin"
33145
+ auth: "protected"
33093
33146
  }),
33094
33147
  setPosition: method(object({
33095
33148
  deviceId: number().int().nonnegative(),
33096
33149
  position: number().min(0).max(100)
33097
33150
  }), _void(), {
33098
33151
  kind: "mutation",
33099
- auth: "admin"
33152
+ auth: "protected"
33100
33153
  })
33101
33154
  },
33102
33155
  status: {
@@ -33195,21 +33248,21 @@ var waterHeaterCapability = {
33195
33248
  temp: number().finite()
33196
33249
  }), _void(), {
33197
33250
  kind: "mutation",
33198
- auth: "admin"
33251
+ auth: "protected"
33199
33252
  }),
33200
33253
  setOperationMode: method(object({
33201
33254
  deviceId: number().int().nonnegative(),
33202
33255
  mode: string().min(1)
33203
33256
  }), _void(), {
33204
33257
  kind: "mutation",
33205
- auth: "admin"
33258
+ auth: "protected"
33206
33259
  }),
33207
33260
  setAway: method(object({
33208
33261
  deviceId: number().int().nonnegative(),
33209
33262
  on: boolean()
33210
33263
  }), _void(), {
33211
33264
  kind: "mutation",
33212
- auth: "admin"
33265
+ auth: "protected"
33213
33266
  })
33214
33267
  },
33215
33268
  status: {
@@ -37121,6 +37174,12 @@ Object.freeze({
37121
37174
  addonId: null,
37122
37175
  access: "create"
37123
37176
  },
37177
+ "faceGallery.auditIdentitySamples": {
37178
+ capName: "face-gallery",
37179
+ capScope: "system",
37180
+ addonId: null,
37181
+ access: "view"
37182
+ },
37124
37183
  "faceGallery.createIdentity": {
37125
37184
  capName: "face-gallery",
37126
37185
  capScope: "system",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@camstack/addon-provider-reolink",
3
- "version": "1.2.107",
3
+ "version": "1.2.109",
4
4
  "description": "Reolink camera device provider addon for CamStack — native Baichuan protocol",
5
5
  "keywords": [
6
6
  "camstack",