@camstack/addon-provider-amcrest 0.2.86 → 0.2.88

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
@@ -16103,14 +16103,14 @@ var alarmPanelCapability = {
16103
16103
  code: string().min(1).optional()
16104
16104
  }), _void(), {
16105
16105
  kind: "mutation",
16106
- auth: "admin"
16106
+ auth: "protected"
16107
16107
  }),
16108
16108
  disarm: method(object({
16109
16109
  deviceId: number().int().nonnegative(),
16110
16110
  code: string().min(1).optional()
16111
16111
  }), _void(), {
16112
16112
  kind: "mutation",
16113
- auth: "admin"
16113
+ auth: "protected"
16114
16114
  }),
16115
16115
  /**
16116
16116
  * Force the panel into the `triggered` state — used by HA
@@ -16121,7 +16121,7 @@ var alarmPanelCapability = {
16121
16121
  */
16122
16122
  trigger: method(object({ deviceId: number().int().nonnegative() }), _void(), {
16123
16123
  kind: "mutation",
16124
- auth: "admin"
16124
+ auth: "protected"
16125
16125
  })
16126
16126
  },
16127
16127
  status: {
@@ -24192,7 +24192,7 @@ var brightnessCapability = {
24192
24192
  percentage: number().min(0).max(100)
24193
24193
  }), _void(), {
24194
24194
  kind: "mutation",
24195
- auth: "admin"
24195
+ auth: "protected"
24196
24196
  }) },
24197
24197
  events: {
24198
24198
  /**
@@ -24225,7 +24225,7 @@ onBrightnessChanged: { data: object({
24225
24225
  };
24226
24226
  DeviceType.Button, method(object({ deviceId: number().int().nonnegative() }), _void(), {
24227
24227
  kind: "mutation",
24228
- auth: "admin"
24228
+ auth: "protected"
24229
24229
  });
24230
24230
  /**
24231
24231
  * camera-credentials — device-scoped cap exposing the camera's network
@@ -24417,28 +24417,28 @@ var climateControlCapability = {
24417
24417
  mode: HvacModeSchema
24418
24418
  }), _void(), {
24419
24419
  kind: "mutation",
24420
- auth: "admin"
24420
+ auth: "protected"
24421
24421
  }),
24422
24422
  setFanMode: method(object({
24423
24423
  deviceId: number().int().nonnegative(),
24424
24424
  fanMode: string().min(1)
24425
24425
  }), _void(), {
24426
24426
  kind: "mutation",
24427
- auth: "admin"
24427
+ auth: "protected"
24428
24428
  }),
24429
24429
  setPreset: method(object({
24430
24430
  deviceId: number().int().nonnegative(),
24431
24431
  preset: string().min(1)
24432
24432
  }), _void(), {
24433
24433
  kind: "mutation",
24434
- auth: "admin"
24434
+ auth: "protected"
24435
24435
  }),
24436
24436
  setTarget: method(object({
24437
24437
  deviceId: number().int().nonnegative(),
24438
24438
  target: number()
24439
24439
  }), _void(), {
24440
24440
  kind: "mutation",
24441
- auth: "admin"
24441
+ auth: "protected"
24442
24442
  }),
24443
24443
  setTargetRange: method(object({
24444
24444
  deviceId: number().int().nonnegative(),
@@ -24446,28 +24446,28 @@ var climateControlCapability = {
24446
24446
  targetHigh: number()
24447
24447
  }), _void(), {
24448
24448
  kind: "mutation",
24449
- auth: "admin"
24449
+ auth: "protected"
24450
24450
  }),
24451
24451
  setTargetHumidity: method(object({
24452
24452
  deviceId: number().int().nonnegative(),
24453
24453
  targetHumidity: number().min(0).max(100)
24454
24454
  }), _void(), {
24455
24455
  kind: "mutation",
24456
- auth: "admin"
24456
+ auth: "protected"
24457
24457
  }),
24458
24458
  setSwingVertical: method(object({
24459
24459
  deviceId: number().int().nonnegative(),
24460
24460
  on: boolean()
24461
24461
  }), _void(), {
24462
24462
  kind: "mutation",
24463
- auth: "admin"
24463
+ auth: "protected"
24464
24464
  }),
24465
24465
  setSwingHorizontal: method(object({
24466
24466
  deviceId: number().int().nonnegative(),
24467
24467
  on: boolean()
24468
24468
  }), _void(), {
24469
24469
  kind: "mutation",
24470
- auth: "admin"
24470
+ auth: "protected"
24471
24471
  })
24472
24472
  },
24473
24473
  status: {
@@ -24567,7 +24567,7 @@ var colorCapability = {
24567
24567
  color: ColorInputSchema
24568
24568
  }), _void(), {
24569
24569
  kind: "mutation",
24570
- auth: "admin"
24570
+ auth: "protected"
24571
24571
  }) },
24572
24572
  events: {
24573
24573
  /**
@@ -24896,7 +24896,7 @@ var controlCapability = {
24896
24896
  control: ControlSetValueInputSchema
24897
24897
  }), _void(), {
24898
24898
  kind: "mutation",
24899
- auth: "admin"
24899
+ auth: "protected"
24900
24900
  }) },
24901
24901
  status: {
24902
24902
  schema: ControlStatusSchema,
@@ -24942,29 +24942,29 @@ var coverCapability = {
24942
24942
  methods: {
24943
24943
  open: method(object({ deviceId: number().int().nonnegative() }), _void(), {
24944
24944
  kind: "mutation",
24945
- auth: "admin"
24945
+ auth: "protected"
24946
24946
  }),
24947
24947
  close: method(object({ deviceId: number().int().nonnegative() }), _void(), {
24948
24948
  kind: "mutation",
24949
- auth: "admin"
24949
+ auth: "protected"
24950
24950
  }),
24951
24951
  stop: method(object({ deviceId: number().int().nonnegative() }), _void(), {
24952
24952
  kind: "mutation",
24953
- auth: "admin"
24953
+ auth: "protected"
24954
24954
  }),
24955
24955
  setPosition: method(object({
24956
24956
  deviceId: number().int().nonnegative(),
24957
24957
  position: number().min(0).max(100)
24958
24958
  }), _void(), {
24959
24959
  kind: "mutation",
24960
- auth: "admin"
24960
+ auth: "protected"
24961
24961
  }),
24962
24962
  setTiltPosition: method(object({
24963
24963
  deviceId: number().int().nonnegative(),
24964
24964
  tiltPosition: number().min(0).max(100)
24965
24965
  }), _void(), {
24966
24966
  kind: "mutation",
24967
- auth: "admin"
24967
+ auth: "protected"
24968
24968
  })
24969
24969
  },
24970
24970
  status: {
@@ -25350,6 +25350,59 @@ var IdentitySampleInfoSchema = object({
25350
25350
  deviceId: number().int().optional(),
25351
25351
  base64: string().optional()
25352
25352
  });
25353
+ /**
25354
+ * One enrolled sample, judged against the gallery it lives in.
25355
+ *
25356
+ * The gallery is the one input to recognition nobody re-reads: a sample
25357
+ * enrolled from the wrong face keeps voting forever, and because the matches it
25358
+ * pulls then look confident, nobody goes back. The 2026-09-08 audit found
25359
+ * exactly one such pair on this cluster — a sample scoring 0.61 against three
25360
+ * samples of ANOTHER person, enrolled from the same camera in the same minute,
25361
+ * where every other cross-identity pair sits under 0.50.
25362
+ */
25363
+ var IdentitySampleAuditRowSchema = object({
25364
+ sampleId: string(),
25365
+ enrolledAt: number().int(),
25366
+ deviceId: number().int().optional(),
25367
+ source: _enum(["detected", "photo"]),
25368
+ /** The enrolled crop's media key, so the panel can show the evidence. */
25369
+ mediaKey: string().optional(),
25370
+ /**
25371
+ * False = the sample is stamped with a DIFFERENT face model, and a cosine
25372
+ * across feature spaces is a well-formed float with no meaning. Every number
25373
+ * below then says nothing — it must read as "cannot say", never as an
25374
+ * accusation and never as a clean bill: this list ends in a Remove button.
25375
+ */
25376
+ comparable: boolean(),
25377
+ /** Mean cosine against this person's other samples. Null when there are none
25378
+ * to compare with — never 0, which would read as "opposite". */
25379
+ selfMean: number().nullable(),
25380
+ /** The other person this sample looks most like, when it looks like one.
25381
+ * This is the half that convicts: not looking like yourself can be a hard
25382
+ * angle; looking like someone the gallery can NAME is a mis-enrolment. */
25383
+ bestForeign: object({
25384
+ identityId: string(),
25385
+ name: string(),
25386
+ score: number()
25387
+ }).optional(),
25388
+ /** 0 = nothing to say. Higher = look at this one sooner. */
25389
+ suspicion: number()
25390
+ });
25391
+ var IdentitySampleAuditSchema = object({
25392
+ identityId: string(),
25393
+ name: string(),
25394
+ /** The cluster face model every comparison was made in. */
25395
+ modelId: string(),
25396
+ totalSamples: number().int(),
25397
+ comparableSamples: number().int(),
25398
+ flagged: number().int(),
25399
+ /** The bar `flagged` counts against, so the panel states the RULE and not
25400
+ * only its current result. */
25401
+ flagThreshold: number(),
25402
+ /** Worst first. A row with nothing to say still appears, at the bottom: the
25403
+ * operator asked to see the gallery, not only its accusations. */
25404
+ rows: array(IdentitySampleAuditRowSchema).readonly()
25405
+ });
25353
25406
  var FaceInfoSchema = object({
25354
25407
  faceId: string(),
25355
25408
  deviceId: number().int(),
@@ -25501,7 +25554,7 @@ includeCrops: boolean().optional() }).optional(), array(IdentitySchema).readonly
25501
25554
  }), method(object({ id: string() }), _void(), {
25502
25555
  kind: "mutation",
25503
25556
  auth: "admin"
25504
- }), method(object({ identityId: string() }), array(IdentitySampleInfoSchema).readonly()), method(object({
25557
+ }), method(object({ identityId: string() }), array(IdentitySampleInfoSchema).readonly()), method(object({ identityId: string().min(1) }), IdentitySampleAuditSchema, { auth: "admin" }), method(object({
25505
25558
  identityId: string(),
25506
25559
  sampleId: string()
25507
25560
  }), _void(), {
@@ -25694,28 +25747,28 @@ var fanControlCapability = {
25694
25747
  percentage: number().min(0).max(100)
25695
25748
  }), _void(), {
25696
25749
  kind: "mutation",
25697
- auth: "admin"
25750
+ auth: "protected"
25698
25751
  }),
25699
25752
  setPreset: method(object({
25700
25753
  deviceId: number().int().nonnegative(),
25701
25754
  preset: string().min(1)
25702
25755
  }), _void(), {
25703
25756
  kind: "mutation",
25704
- auth: "admin"
25757
+ auth: "protected"
25705
25758
  }),
25706
25759
  setDirection: method(object({
25707
25760
  deviceId: number().int().nonnegative(),
25708
25761
  direction: FanDirectionSchema
25709
25762
  }), _void(), {
25710
25763
  kind: "mutation",
25711
- auth: "admin"
25764
+ auth: "protected"
25712
25765
  }),
25713
25766
  setOscillating: method(object({
25714
25767
  deviceId: number().int().nonnegative(),
25715
25768
  oscillating: boolean()
25716
25769
  }), _void(), {
25717
25770
  kind: "mutation",
25718
- auth: "admin"
25771
+ auth: "protected"
25719
25772
  })
25720
25773
  },
25721
25774
  status: {
@@ -25937,21 +25990,21 @@ var humidifierCapability = {
25937
25990
  on: boolean()
25938
25991
  }), _void(), {
25939
25992
  kind: "mutation",
25940
- auth: "admin"
25993
+ auth: "protected"
25941
25994
  }),
25942
25995
  setTargetHumidity: method(object({
25943
25996
  deviceId: number().int().nonnegative(),
25944
25997
  humidity: number().min(0).max(100)
25945
25998
  }), _void(), {
25946
25999
  kind: "mutation",
25947
- auth: "admin"
26000
+ auth: "protected"
25948
26001
  }),
25949
26002
  setMode: method(object({
25950
26003
  deviceId: number().int().nonnegative(),
25951
26004
  mode: string().min(1)
25952
26005
  }), _void(), {
25953
26006
  kind: "mutation",
25954
- auth: "admin"
26007
+ auth: "protected"
25955
26008
  })
25956
26009
  },
25957
26010
  status: {
@@ -26652,15 +26705,15 @@ var lawnMowerControlCapability = {
26652
26705
  methods: {
26653
26706
  startMowing: method(object({ deviceId: number().int().nonnegative() }), _void(), {
26654
26707
  kind: "mutation",
26655
- auth: "admin"
26708
+ auth: "protected"
26656
26709
  }),
26657
26710
  pause: method(object({ deviceId: number().int().nonnegative() }), _void(), {
26658
26711
  kind: "mutation",
26659
- auth: "admin"
26712
+ auth: "protected"
26660
26713
  }),
26661
26714
  dock: method(object({ deviceId: number().int().nonnegative() }), _void(), {
26662
26715
  kind: "mutation",
26663
- auth: "admin"
26716
+ auth: "protected"
26664
26717
  })
26665
26718
  },
26666
26719
  status: {
@@ -26945,18 +26998,18 @@ var lockControlCapability = {
26945
26998
  code: string().min(1).optional()
26946
26999
  }), _void(), {
26947
27000
  kind: "mutation",
26948
- auth: "admin"
27001
+ auth: "protected"
26949
27002
  }),
26950
27003
  unlock: method(object({
26951
27004
  deviceId: number().int().nonnegative(),
26952
27005
  code: string().min(1).optional()
26953
27006
  }), _void(), {
26954
27007
  kind: "mutation",
26955
- auth: "admin"
27008
+ auth: "protected"
26956
27009
  }),
26957
27010
  open: method(object({ deviceId: number().int().nonnegative() }), _void(), {
26958
27011
  kind: "mutation",
26959
- auth: "admin"
27012
+ auth: "protected"
26960
27013
  })
26961
27014
  },
26962
27015
  status: {
@@ -27059,65 +27112,65 @@ var mediaPlayerCapability = {
27059
27112
  methods: {
27060
27113
  play: method(object({ deviceId: number().int().nonnegative() }), _void(), {
27061
27114
  kind: "mutation",
27062
- auth: "admin"
27115
+ auth: "protected"
27063
27116
  }),
27064
27117
  pause: method(object({ deviceId: number().int().nonnegative() }), _void(), {
27065
27118
  kind: "mutation",
27066
- auth: "admin"
27119
+ auth: "protected"
27067
27120
  }),
27068
27121
  stop: method(object({ deviceId: number().int().nonnegative() }), _void(), {
27069
27122
  kind: "mutation",
27070
- auth: "admin"
27123
+ auth: "protected"
27071
27124
  }),
27072
27125
  next: method(object({ deviceId: number().int().nonnegative() }), _void(), {
27073
27126
  kind: "mutation",
27074
- auth: "admin"
27127
+ auth: "protected"
27075
27128
  }),
27076
27129
  previous: method(object({ deviceId: number().int().nonnegative() }), _void(), {
27077
27130
  kind: "mutation",
27078
- auth: "admin"
27131
+ auth: "protected"
27079
27132
  }),
27080
27133
  seek: method(object({
27081
27134
  deviceId: number().int().nonnegative(),
27082
27135
  positionMs: number().int().nonnegative()
27083
27136
  }), _void(), {
27084
27137
  kind: "mutation",
27085
- auth: "admin"
27138
+ auth: "protected"
27086
27139
  }),
27087
27140
  setVolume: method(object({
27088
27141
  deviceId: number().int().nonnegative(),
27089
27142
  volumeLevel: number().min(0).max(100)
27090
27143
  }), _void(), {
27091
27144
  kind: "mutation",
27092
- auth: "admin"
27145
+ auth: "protected"
27093
27146
  }),
27094
27147
  setMute: method(object({
27095
27148
  deviceId: number().int().nonnegative(),
27096
27149
  muted: boolean()
27097
27150
  }), _void(), {
27098
27151
  kind: "mutation",
27099
- auth: "admin"
27152
+ auth: "protected"
27100
27153
  }),
27101
27154
  setShuffle: method(object({
27102
27155
  deviceId: number().int().nonnegative(),
27103
27156
  shuffle: boolean()
27104
27157
  }), _void(), {
27105
27158
  kind: "mutation",
27106
- auth: "admin"
27159
+ auth: "protected"
27107
27160
  }),
27108
27161
  setRepeat: method(object({
27109
27162
  deviceId: number().int().nonnegative(),
27110
27163
  repeat: MediaPlayerRepeatSchema
27111
27164
  }), _void(), {
27112
27165
  kind: "mutation",
27113
- auth: "admin"
27166
+ auth: "protected"
27114
27167
  }),
27115
27168
  selectSource: method(object({
27116
27169
  deviceId: number().int().nonnegative(),
27117
27170
  source: string().min(1)
27118
27171
  }), _void(), {
27119
27172
  kind: "mutation",
27120
- auth: "admin"
27173
+ auth: "protected"
27121
27174
  }),
27122
27175
  playMedia: method(object({
27123
27176
  deviceId: number().int().nonnegative(),
@@ -27128,7 +27181,7 @@ var mediaPlayerCapability = {
27128
27181
  mediaType: string().min(1)
27129
27182
  }), _void(), {
27130
27183
  kind: "mutation",
27131
- auth: "admin"
27184
+ auth: "protected"
27132
27185
  })
27133
27186
  },
27134
27187
  status: {
@@ -28767,27 +28820,27 @@ var petFeederCapability = {
28767
28820
  hopper2: gramsPortion.optional()
28768
28821
  }), _void(), {
28769
28822
  kind: "mutation",
28770
- auth: "admin"
28823
+ auth: "protected"
28771
28824
  }),
28772
28825
  /** Cancel an in-progress manual feed. */
28773
28826
  cancelFeed: method(object({ deviceId: number().int().nonnegative() }), _void(), {
28774
28827
  kind: "mutation",
28775
- auth: "admin"
28828
+ auth: "protected"
28776
28829
  }),
28777
28830
  /** Reset the desiccant "days remaining" counter after replacing it. */
28778
28831
  resetDesiccant: method(object({ deviceId: number().int().nonnegative() }), _void(), {
28779
28832
  kind: "mutation",
28780
- auth: "admin"
28833
+ auth: "protected"
28781
28834
  }),
28782
28835
  /** Mark a hopper as refilled (D4H/D4S/D4SH). */
28783
28836
  markFoodReplenished: method(object({ deviceId: number().int().nonnegative() }), _void(), {
28784
28837
  kind: "mutation",
28785
- auth: "admin"
28838
+ auth: "protected"
28786
28839
  }),
28787
28840
  /** Call the pet with the recorded prompt (D3). */
28788
28841
  callPet: method(object({ deviceId: number().int().nonnegative() }), _void(), {
28789
28842
  kind: "mutation",
28790
- auth: "admin"
28843
+ auth: "protected"
28791
28844
  }),
28792
28845
  /** Play a stored sound by id (D3 / D4H / D4SH). */
28793
28846
  playSound: method(object({
@@ -28795,7 +28848,7 @@ var petFeederCapability = {
28795
28848
  soundId: number().int().nonnegative()
28796
28849
  }), _void(), {
28797
28850
  kind: "mutation",
28798
- auth: "admin"
28851
+ auth: "protected"
28799
28852
  }),
28800
28853
  /** Toggle the child-lock (manual-lock) setting. */
28801
28854
  setChildLock: method(object({
@@ -28803,7 +28856,7 @@ var petFeederCapability = {
28803
28856
  on: boolean()
28804
28857
  }), _void(), {
28805
28858
  kind: "mutation",
28806
- auth: "admin"
28859
+ auth: "protected"
28807
28860
  }),
28808
28861
  /** Toggle the front indicator light. */
28809
28862
  setIndicatorLight: method(object({
@@ -28811,7 +28864,7 @@ var petFeederCapability = {
28811
28864
  on: boolean()
28812
28865
  }), _void(), {
28813
28866
  kind: "mutation",
28814
- auth: "admin"
28867
+ auth: "protected"
28815
28868
  }),
28816
28869
  /** Toggle the dispense chime. */
28817
28870
  setFeedSound: method(object({
@@ -28819,7 +28872,7 @@ var petFeederCapability = {
28819
28872
  on: boolean()
28820
28873
  }), _void(), {
28821
28874
  kind: "mutation",
28822
- auth: "admin"
28875
+ auth: "protected"
28823
28876
  }),
28824
28877
  /** Set the speaker / prompt volume level. */
28825
28878
  setVolume: method(object({
@@ -28827,7 +28880,7 @@ var petFeederCapability = {
28827
28880
  level: number().int().nonnegative()
28828
28881
  }), _void(), {
28829
28882
  kind: "mutation",
28830
- auth: "admin"
28883
+ auth: "protected"
28831
28884
  })
28832
28885
  },
28833
28886
  status: {
@@ -31383,7 +31436,7 @@ var switchCapability = {
31383
31436
  on: boolean()
31384
31437
  }), _void(), {
31385
31438
  kind: "mutation",
31386
- auth: "admin"
31439
+ auth: "protected"
31387
31440
  }) },
31388
31441
  events: { onStateChanged: { data: object({
31389
31442
  deviceId: number(),
@@ -32371,30 +32424,30 @@ var vacuumControlCapability = {
32371
32424
  methods: {
32372
32425
  start: method(object({ deviceId: number().int().nonnegative() }), _void(), {
32373
32426
  kind: "mutation",
32374
- auth: "admin"
32427
+ auth: "protected"
32375
32428
  }),
32376
32429
  pause: method(object({ deviceId: number().int().nonnegative() }), _void(), {
32377
32430
  kind: "mutation",
32378
- auth: "admin"
32431
+ auth: "protected"
32379
32432
  }),
32380
32433
  stop: method(object({ deviceId: number().int().nonnegative() }), _void(), {
32381
32434
  kind: "mutation",
32382
- auth: "admin"
32435
+ auth: "protected"
32383
32436
  }),
32384
32437
  returnToBase: method(object({ deviceId: number().int().nonnegative() }), _void(), {
32385
32438
  kind: "mutation",
32386
- auth: "admin"
32439
+ auth: "protected"
32387
32440
  }),
32388
32441
  locate: method(object({ deviceId: number().int().nonnegative() }), _void(), {
32389
32442
  kind: "mutation",
32390
- auth: "admin"
32443
+ auth: "protected"
32391
32444
  }),
32392
32445
  setFanSpeed: method(object({
32393
32446
  deviceId: number().int().nonnegative(),
32394
32447
  speed: string().min(1)
32395
32448
  }), _void(), {
32396
32449
  kind: "mutation",
32397
- auth: "admin"
32450
+ auth: "protected"
32398
32451
  })
32399
32452
  },
32400
32453
  status: {
@@ -32438,22 +32491,22 @@ var valveCapability = {
32438
32491
  methods: {
32439
32492
  open: method(object({ deviceId: number().int().nonnegative() }), _void(), {
32440
32493
  kind: "mutation",
32441
- auth: "admin"
32494
+ auth: "protected"
32442
32495
  }),
32443
32496
  close: method(object({ deviceId: number().int().nonnegative() }), _void(), {
32444
32497
  kind: "mutation",
32445
- auth: "admin"
32498
+ auth: "protected"
32446
32499
  }),
32447
32500
  stop: method(object({ deviceId: number().int().nonnegative() }), _void(), {
32448
32501
  kind: "mutation",
32449
- auth: "admin"
32502
+ auth: "protected"
32450
32503
  }),
32451
32504
  setPosition: method(object({
32452
32505
  deviceId: number().int().nonnegative(),
32453
32506
  position: number().min(0).max(100)
32454
32507
  }), _void(), {
32455
32508
  kind: "mutation",
32456
- auth: "admin"
32509
+ auth: "protected"
32457
32510
  })
32458
32511
  },
32459
32512
  status: {
@@ -32552,21 +32605,21 @@ var waterHeaterCapability = {
32552
32605
  temp: number().finite()
32553
32606
  }), _void(), {
32554
32607
  kind: "mutation",
32555
- auth: "admin"
32608
+ auth: "protected"
32556
32609
  }),
32557
32610
  setOperationMode: method(object({
32558
32611
  deviceId: number().int().nonnegative(),
32559
32612
  mode: string().min(1)
32560
32613
  }), _void(), {
32561
32614
  kind: "mutation",
32562
- auth: "admin"
32615
+ auth: "protected"
32563
32616
  }),
32564
32617
  setAway: method(object({
32565
32618
  deviceId: number().int().nonnegative(),
32566
32619
  on: boolean()
32567
32620
  }), _void(), {
32568
32621
  kind: "mutation",
32569
- auth: "admin"
32622
+ auth: "protected"
32570
32623
  })
32571
32624
  },
32572
32625
  status: {
@@ -36506,6 +36559,12 @@ Object.freeze({
36506
36559
  addonId: null,
36507
36560
  access: "create"
36508
36561
  },
36562
+ "faceGallery.auditIdentitySamples": {
36563
+ capName: "face-gallery",
36564
+ capScope: "system",
36565
+ addonId: null,
36566
+ access: "view"
36567
+ },
36509
36568
  "faceGallery.createIdentity": {
36510
36569
  capName: "face-gallery",
36511
36570
  capScope: "system",
package/dist/addon.mjs CHANGED
@@ -16104,14 +16104,14 @@ var alarmPanelCapability = {
16104
16104
  code: string().min(1).optional()
16105
16105
  }), _void(), {
16106
16106
  kind: "mutation",
16107
- auth: "admin"
16107
+ auth: "protected"
16108
16108
  }),
16109
16109
  disarm: method(object({
16110
16110
  deviceId: number().int().nonnegative(),
16111
16111
  code: string().min(1).optional()
16112
16112
  }), _void(), {
16113
16113
  kind: "mutation",
16114
- auth: "admin"
16114
+ auth: "protected"
16115
16115
  }),
16116
16116
  /**
16117
16117
  * Force the panel into the `triggered` state — used by HA
@@ -16122,7 +16122,7 @@ var alarmPanelCapability = {
16122
16122
  */
16123
16123
  trigger: method(object({ deviceId: number().int().nonnegative() }), _void(), {
16124
16124
  kind: "mutation",
16125
- auth: "admin"
16125
+ auth: "protected"
16126
16126
  })
16127
16127
  },
16128
16128
  status: {
@@ -24193,7 +24193,7 @@ var brightnessCapability = {
24193
24193
  percentage: number().min(0).max(100)
24194
24194
  }), _void(), {
24195
24195
  kind: "mutation",
24196
- auth: "admin"
24196
+ auth: "protected"
24197
24197
  }) },
24198
24198
  events: {
24199
24199
  /**
@@ -24226,7 +24226,7 @@ onBrightnessChanged: { data: object({
24226
24226
  };
24227
24227
  DeviceType.Button, method(object({ deviceId: number().int().nonnegative() }), _void(), {
24228
24228
  kind: "mutation",
24229
- auth: "admin"
24229
+ auth: "protected"
24230
24230
  });
24231
24231
  /**
24232
24232
  * camera-credentials — device-scoped cap exposing the camera's network
@@ -24418,28 +24418,28 @@ var climateControlCapability = {
24418
24418
  mode: HvacModeSchema
24419
24419
  }), _void(), {
24420
24420
  kind: "mutation",
24421
- auth: "admin"
24421
+ auth: "protected"
24422
24422
  }),
24423
24423
  setFanMode: method(object({
24424
24424
  deviceId: number().int().nonnegative(),
24425
24425
  fanMode: string().min(1)
24426
24426
  }), _void(), {
24427
24427
  kind: "mutation",
24428
- auth: "admin"
24428
+ auth: "protected"
24429
24429
  }),
24430
24430
  setPreset: method(object({
24431
24431
  deviceId: number().int().nonnegative(),
24432
24432
  preset: string().min(1)
24433
24433
  }), _void(), {
24434
24434
  kind: "mutation",
24435
- auth: "admin"
24435
+ auth: "protected"
24436
24436
  }),
24437
24437
  setTarget: method(object({
24438
24438
  deviceId: number().int().nonnegative(),
24439
24439
  target: number()
24440
24440
  }), _void(), {
24441
24441
  kind: "mutation",
24442
- auth: "admin"
24442
+ auth: "protected"
24443
24443
  }),
24444
24444
  setTargetRange: method(object({
24445
24445
  deviceId: number().int().nonnegative(),
@@ -24447,28 +24447,28 @@ var climateControlCapability = {
24447
24447
  targetHigh: number()
24448
24448
  }), _void(), {
24449
24449
  kind: "mutation",
24450
- auth: "admin"
24450
+ auth: "protected"
24451
24451
  }),
24452
24452
  setTargetHumidity: method(object({
24453
24453
  deviceId: number().int().nonnegative(),
24454
24454
  targetHumidity: number().min(0).max(100)
24455
24455
  }), _void(), {
24456
24456
  kind: "mutation",
24457
- auth: "admin"
24457
+ auth: "protected"
24458
24458
  }),
24459
24459
  setSwingVertical: method(object({
24460
24460
  deviceId: number().int().nonnegative(),
24461
24461
  on: boolean()
24462
24462
  }), _void(), {
24463
24463
  kind: "mutation",
24464
- auth: "admin"
24464
+ auth: "protected"
24465
24465
  }),
24466
24466
  setSwingHorizontal: method(object({
24467
24467
  deviceId: number().int().nonnegative(),
24468
24468
  on: boolean()
24469
24469
  }), _void(), {
24470
24470
  kind: "mutation",
24471
- auth: "admin"
24471
+ auth: "protected"
24472
24472
  })
24473
24473
  },
24474
24474
  status: {
@@ -24568,7 +24568,7 @@ var colorCapability = {
24568
24568
  color: ColorInputSchema
24569
24569
  }), _void(), {
24570
24570
  kind: "mutation",
24571
- auth: "admin"
24571
+ auth: "protected"
24572
24572
  }) },
24573
24573
  events: {
24574
24574
  /**
@@ -24897,7 +24897,7 @@ var controlCapability = {
24897
24897
  control: ControlSetValueInputSchema
24898
24898
  }), _void(), {
24899
24899
  kind: "mutation",
24900
- auth: "admin"
24900
+ auth: "protected"
24901
24901
  }) },
24902
24902
  status: {
24903
24903
  schema: ControlStatusSchema,
@@ -24943,29 +24943,29 @@ var coverCapability = {
24943
24943
  methods: {
24944
24944
  open: method(object({ deviceId: number().int().nonnegative() }), _void(), {
24945
24945
  kind: "mutation",
24946
- auth: "admin"
24946
+ auth: "protected"
24947
24947
  }),
24948
24948
  close: method(object({ deviceId: number().int().nonnegative() }), _void(), {
24949
24949
  kind: "mutation",
24950
- auth: "admin"
24950
+ auth: "protected"
24951
24951
  }),
24952
24952
  stop: method(object({ deviceId: number().int().nonnegative() }), _void(), {
24953
24953
  kind: "mutation",
24954
- auth: "admin"
24954
+ auth: "protected"
24955
24955
  }),
24956
24956
  setPosition: method(object({
24957
24957
  deviceId: number().int().nonnegative(),
24958
24958
  position: number().min(0).max(100)
24959
24959
  }), _void(), {
24960
24960
  kind: "mutation",
24961
- auth: "admin"
24961
+ auth: "protected"
24962
24962
  }),
24963
24963
  setTiltPosition: method(object({
24964
24964
  deviceId: number().int().nonnegative(),
24965
24965
  tiltPosition: number().min(0).max(100)
24966
24966
  }), _void(), {
24967
24967
  kind: "mutation",
24968
- auth: "admin"
24968
+ auth: "protected"
24969
24969
  })
24970
24970
  },
24971
24971
  status: {
@@ -25351,6 +25351,59 @@ var IdentitySampleInfoSchema = object({
25351
25351
  deviceId: number().int().optional(),
25352
25352
  base64: string().optional()
25353
25353
  });
25354
+ /**
25355
+ * One enrolled sample, judged against the gallery it lives in.
25356
+ *
25357
+ * The gallery is the one input to recognition nobody re-reads: a sample
25358
+ * enrolled from the wrong face keeps voting forever, and because the matches it
25359
+ * pulls then look confident, nobody goes back. The 2026-09-08 audit found
25360
+ * exactly one such pair on this cluster — a sample scoring 0.61 against three
25361
+ * samples of ANOTHER person, enrolled from the same camera in the same minute,
25362
+ * where every other cross-identity pair sits under 0.50.
25363
+ */
25364
+ var IdentitySampleAuditRowSchema = object({
25365
+ sampleId: string(),
25366
+ enrolledAt: number().int(),
25367
+ deviceId: number().int().optional(),
25368
+ source: _enum(["detected", "photo"]),
25369
+ /** The enrolled crop's media key, so the panel can show the evidence. */
25370
+ mediaKey: string().optional(),
25371
+ /**
25372
+ * False = the sample is stamped with a DIFFERENT face model, and a cosine
25373
+ * across feature spaces is a well-formed float with no meaning. Every number
25374
+ * below then says nothing — it must read as "cannot say", never as an
25375
+ * accusation and never as a clean bill: this list ends in a Remove button.
25376
+ */
25377
+ comparable: boolean(),
25378
+ /** Mean cosine against this person's other samples. Null when there are none
25379
+ * to compare with — never 0, which would read as "opposite". */
25380
+ selfMean: number().nullable(),
25381
+ /** The other person this sample looks most like, when it looks like one.
25382
+ * This is the half that convicts: not looking like yourself can be a hard
25383
+ * angle; looking like someone the gallery can NAME is a mis-enrolment. */
25384
+ bestForeign: object({
25385
+ identityId: string(),
25386
+ name: string(),
25387
+ score: number()
25388
+ }).optional(),
25389
+ /** 0 = nothing to say. Higher = look at this one sooner. */
25390
+ suspicion: number()
25391
+ });
25392
+ var IdentitySampleAuditSchema = object({
25393
+ identityId: string(),
25394
+ name: string(),
25395
+ /** The cluster face model every comparison was made in. */
25396
+ modelId: string(),
25397
+ totalSamples: number().int(),
25398
+ comparableSamples: number().int(),
25399
+ flagged: number().int(),
25400
+ /** The bar `flagged` counts against, so the panel states the RULE and not
25401
+ * only its current result. */
25402
+ flagThreshold: number(),
25403
+ /** Worst first. A row with nothing to say still appears, at the bottom: the
25404
+ * operator asked to see the gallery, not only its accusations. */
25405
+ rows: array(IdentitySampleAuditRowSchema).readonly()
25406
+ });
25354
25407
  var FaceInfoSchema = object({
25355
25408
  faceId: string(),
25356
25409
  deviceId: number().int(),
@@ -25502,7 +25555,7 @@ includeCrops: boolean().optional() }).optional(), array(IdentitySchema).readonly
25502
25555
  }), method(object({ id: string() }), _void(), {
25503
25556
  kind: "mutation",
25504
25557
  auth: "admin"
25505
- }), method(object({ identityId: string() }), array(IdentitySampleInfoSchema).readonly()), method(object({
25558
+ }), method(object({ identityId: string() }), array(IdentitySampleInfoSchema).readonly()), method(object({ identityId: string().min(1) }), IdentitySampleAuditSchema, { auth: "admin" }), method(object({
25506
25559
  identityId: string(),
25507
25560
  sampleId: string()
25508
25561
  }), _void(), {
@@ -25695,28 +25748,28 @@ var fanControlCapability = {
25695
25748
  percentage: number().min(0).max(100)
25696
25749
  }), _void(), {
25697
25750
  kind: "mutation",
25698
- auth: "admin"
25751
+ auth: "protected"
25699
25752
  }),
25700
25753
  setPreset: method(object({
25701
25754
  deviceId: number().int().nonnegative(),
25702
25755
  preset: string().min(1)
25703
25756
  }), _void(), {
25704
25757
  kind: "mutation",
25705
- auth: "admin"
25758
+ auth: "protected"
25706
25759
  }),
25707
25760
  setDirection: method(object({
25708
25761
  deviceId: number().int().nonnegative(),
25709
25762
  direction: FanDirectionSchema
25710
25763
  }), _void(), {
25711
25764
  kind: "mutation",
25712
- auth: "admin"
25765
+ auth: "protected"
25713
25766
  }),
25714
25767
  setOscillating: method(object({
25715
25768
  deviceId: number().int().nonnegative(),
25716
25769
  oscillating: boolean()
25717
25770
  }), _void(), {
25718
25771
  kind: "mutation",
25719
- auth: "admin"
25772
+ auth: "protected"
25720
25773
  })
25721
25774
  },
25722
25775
  status: {
@@ -25938,21 +25991,21 @@ var humidifierCapability = {
25938
25991
  on: boolean()
25939
25992
  }), _void(), {
25940
25993
  kind: "mutation",
25941
- auth: "admin"
25994
+ auth: "protected"
25942
25995
  }),
25943
25996
  setTargetHumidity: method(object({
25944
25997
  deviceId: number().int().nonnegative(),
25945
25998
  humidity: number().min(0).max(100)
25946
25999
  }), _void(), {
25947
26000
  kind: "mutation",
25948
- auth: "admin"
26001
+ auth: "protected"
25949
26002
  }),
25950
26003
  setMode: method(object({
25951
26004
  deviceId: number().int().nonnegative(),
25952
26005
  mode: string().min(1)
25953
26006
  }), _void(), {
25954
26007
  kind: "mutation",
25955
- auth: "admin"
26008
+ auth: "protected"
25956
26009
  })
25957
26010
  },
25958
26011
  status: {
@@ -26653,15 +26706,15 @@ var lawnMowerControlCapability = {
26653
26706
  methods: {
26654
26707
  startMowing: method(object({ deviceId: number().int().nonnegative() }), _void(), {
26655
26708
  kind: "mutation",
26656
- auth: "admin"
26709
+ auth: "protected"
26657
26710
  }),
26658
26711
  pause: method(object({ deviceId: number().int().nonnegative() }), _void(), {
26659
26712
  kind: "mutation",
26660
- auth: "admin"
26713
+ auth: "protected"
26661
26714
  }),
26662
26715
  dock: method(object({ deviceId: number().int().nonnegative() }), _void(), {
26663
26716
  kind: "mutation",
26664
- auth: "admin"
26717
+ auth: "protected"
26665
26718
  })
26666
26719
  },
26667
26720
  status: {
@@ -26946,18 +26999,18 @@ var lockControlCapability = {
26946
26999
  code: string().min(1).optional()
26947
27000
  }), _void(), {
26948
27001
  kind: "mutation",
26949
- auth: "admin"
27002
+ auth: "protected"
26950
27003
  }),
26951
27004
  unlock: method(object({
26952
27005
  deviceId: number().int().nonnegative(),
26953
27006
  code: string().min(1).optional()
26954
27007
  }), _void(), {
26955
27008
  kind: "mutation",
26956
- auth: "admin"
27009
+ auth: "protected"
26957
27010
  }),
26958
27011
  open: method(object({ deviceId: number().int().nonnegative() }), _void(), {
26959
27012
  kind: "mutation",
26960
- auth: "admin"
27013
+ auth: "protected"
26961
27014
  })
26962
27015
  },
26963
27016
  status: {
@@ -27060,65 +27113,65 @@ var mediaPlayerCapability = {
27060
27113
  methods: {
27061
27114
  play: method(object({ deviceId: number().int().nonnegative() }), _void(), {
27062
27115
  kind: "mutation",
27063
- auth: "admin"
27116
+ auth: "protected"
27064
27117
  }),
27065
27118
  pause: method(object({ deviceId: number().int().nonnegative() }), _void(), {
27066
27119
  kind: "mutation",
27067
- auth: "admin"
27120
+ auth: "protected"
27068
27121
  }),
27069
27122
  stop: method(object({ deviceId: number().int().nonnegative() }), _void(), {
27070
27123
  kind: "mutation",
27071
- auth: "admin"
27124
+ auth: "protected"
27072
27125
  }),
27073
27126
  next: method(object({ deviceId: number().int().nonnegative() }), _void(), {
27074
27127
  kind: "mutation",
27075
- auth: "admin"
27128
+ auth: "protected"
27076
27129
  }),
27077
27130
  previous: method(object({ deviceId: number().int().nonnegative() }), _void(), {
27078
27131
  kind: "mutation",
27079
- auth: "admin"
27132
+ auth: "protected"
27080
27133
  }),
27081
27134
  seek: method(object({
27082
27135
  deviceId: number().int().nonnegative(),
27083
27136
  positionMs: number().int().nonnegative()
27084
27137
  }), _void(), {
27085
27138
  kind: "mutation",
27086
- auth: "admin"
27139
+ auth: "protected"
27087
27140
  }),
27088
27141
  setVolume: method(object({
27089
27142
  deviceId: number().int().nonnegative(),
27090
27143
  volumeLevel: number().min(0).max(100)
27091
27144
  }), _void(), {
27092
27145
  kind: "mutation",
27093
- auth: "admin"
27146
+ auth: "protected"
27094
27147
  }),
27095
27148
  setMute: method(object({
27096
27149
  deviceId: number().int().nonnegative(),
27097
27150
  muted: boolean()
27098
27151
  }), _void(), {
27099
27152
  kind: "mutation",
27100
- auth: "admin"
27153
+ auth: "protected"
27101
27154
  }),
27102
27155
  setShuffle: method(object({
27103
27156
  deviceId: number().int().nonnegative(),
27104
27157
  shuffle: boolean()
27105
27158
  }), _void(), {
27106
27159
  kind: "mutation",
27107
- auth: "admin"
27160
+ auth: "protected"
27108
27161
  }),
27109
27162
  setRepeat: method(object({
27110
27163
  deviceId: number().int().nonnegative(),
27111
27164
  repeat: MediaPlayerRepeatSchema
27112
27165
  }), _void(), {
27113
27166
  kind: "mutation",
27114
- auth: "admin"
27167
+ auth: "protected"
27115
27168
  }),
27116
27169
  selectSource: method(object({
27117
27170
  deviceId: number().int().nonnegative(),
27118
27171
  source: string().min(1)
27119
27172
  }), _void(), {
27120
27173
  kind: "mutation",
27121
- auth: "admin"
27174
+ auth: "protected"
27122
27175
  }),
27123
27176
  playMedia: method(object({
27124
27177
  deviceId: number().int().nonnegative(),
@@ -27129,7 +27182,7 @@ var mediaPlayerCapability = {
27129
27182
  mediaType: string().min(1)
27130
27183
  }), _void(), {
27131
27184
  kind: "mutation",
27132
- auth: "admin"
27185
+ auth: "protected"
27133
27186
  })
27134
27187
  },
27135
27188
  status: {
@@ -28768,27 +28821,27 @@ var petFeederCapability = {
28768
28821
  hopper2: gramsPortion.optional()
28769
28822
  }), _void(), {
28770
28823
  kind: "mutation",
28771
- auth: "admin"
28824
+ auth: "protected"
28772
28825
  }),
28773
28826
  /** Cancel an in-progress manual feed. */
28774
28827
  cancelFeed: method(object({ deviceId: number().int().nonnegative() }), _void(), {
28775
28828
  kind: "mutation",
28776
- auth: "admin"
28829
+ auth: "protected"
28777
28830
  }),
28778
28831
  /** Reset the desiccant "days remaining" counter after replacing it. */
28779
28832
  resetDesiccant: method(object({ deviceId: number().int().nonnegative() }), _void(), {
28780
28833
  kind: "mutation",
28781
- auth: "admin"
28834
+ auth: "protected"
28782
28835
  }),
28783
28836
  /** Mark a hopper as refilled (D4H/D4S/D4SH). */
28784
28837
  markFoodReplenished: method(object({ deviceId: number().int().nonnegative() }), _void(), {
28785
28838
  kind: "mutation",
28786
- auth: "admin"
28839
+ auth: "protected"
28787
28840
  }),
28788
28841
  /** Call the pet with the recorded prompt (D3). */
28789
28842
  callPet: method(object({ deviceId: number().int().nonnegative() }), _void(), {
28790
28843
  kind: "mutation",
28791
- auth: "admin"
28844
+ auth: "protected"
28792
28845
  }),
28793
28846
  /** Play a stored sound by id (D3 / D4H / D4SH). */
28794
28847
  playSound: method(object({
@@ -28796,7 +28849,7 @@ var petFeederCapability = {
28796
28849
  soundId: number().int().nonnegative()
28797
28850
  }), _void(), {
28798
28851
  kind: "mutation",
28799
- auth: "admin"
28852
+ auth: "protected"
28800
28853
  }),
28801
28854
  /** Toggle the child-lock (manual-lock) setting. */
28802
28855
  setChildLock: method(object({
@@ -28804,7 +28857,7 @@ var petFeederCapability = {
28804
28857
  on: boolean()
28805
28858
  }), _void(), {
28806
28859
  kind: "mutation",
28807
- auth: "admin"
28860
+ auth: "protected"
28808
28861
  }),
28809
28862
  /** Toggle the front indicator light. */
28810
28863
  setIndicatorLight: method(object({
@@ -28812,7 +28865,7 @@ var petFeederCapability = {
28812
28865
  on: boolean()
28813
28866
  }), _void(), {
28814
28867
  kind: "mutation",
28815
- auth: "admin"
28868
+ auth: "protected"
28816
28869
  }),
28817
28870
  /** Toggle the dispense chime. */
28818
28871
  setFeedSound: method(object({
@@ -28820,7 +28873,7 @@ var petFeederCapability = {
28820
28873
  on: boolean()
28821
28874
  }), _void(), {
28822
28875
  kind: "mutation",
28823
- auth: "admin"
28876
+ auth: "protected"
28824
28877
  }),
28825
28878
  /** Set the speaker / prompt volume level. */
28826
28879
  setVolume: method(object({
@@ -28828,7 +28881,7 @@ var petFeederCapability = {
28828
28881
  level: number().int().nonnegative()
28829
28882
  }), _void(), {
28830
28883
  kind: "mutation",
28831
- auth: "admin"
28884
+ auth: "protected"
28832
28885
  })
28833
28886
  },
28834
28887
  status: {
@@ -31384,7 +31437,7 @@ var switchCapability = {
31384
31437
  on: boolean()
31385
31438
  }), _void(), {
31386
31439
  kind: "mutation",
31387
- auth: "admin"
31440
+ auth: "protected"
31388
31441
  }) },
31389
31442
  events: { onStateChanged: { data: object({
31390
31443
  deviceId: number(),
@@ -32372,30 +32425,30 @@ var vacuumControlCapability = {
32372
32425
  methods: {
32373
32426
  start: method(object({ deviceId: number().int().nonnegative() }), _void(), {
32374
32427
  kind: "mutation",
32375
- auth: "admin"
32428
+ auth: "protected"
32376
32429
  }),
32377
32430
  pause: method(object({ deviceId: number().int().nonnegative() }), _void(), {
32378
32431
  kind: "mutation",
32379
- auth: "admin"
32432
+ auth: "protected"
32380
32433
  }),
32381
32434
  stop: method(object({ deviceId: number().int().nonnegative() }), _void(), {
32382
32435
  kind: "mutation",
32383
- auth: "admin"
32436
+ auth: "protected"
32384
32437
  }),
32385
32438
  returnToBase: method(object({ deviceId: number().int().nonnegative() }), _void(), {
32386
32439
  kind: "mutation",
32387
- auth: "admin"
32440
+ auth: "protected"
32388
32441
  }),
32389
32442
  locate: method(object({ deviceId: number().int().nonnegative() }), _void(), {
32390
32443
  kind: "mutation",
32391
- auth: "admin"
32444
+ auth: "protected"
32392
32445
  }),
32393
32446
  setFanSpeed: method(object({
32394
32447
  deviceId: number().int().nonnegative(),
32395
32448
  speed: string().min(1)
32396
32449
  }), _void(), {
32397
32450
  kind: "mutation",
32398
- auth: "admin"
32451
+ auth: "protected"
32399
32452
  })
32400
32453
  },
32401
32454
  status: {
@@ -32439,22 +32492,22 @@ var valveCapability = {
32439
32492
  methods: {
32440
32493
  open: method(object({ deviceId: number().int().nonnegative() }), _void(), {
32441
32494
  kind: "mutation",
32442
- auth: "admin"
32495
+ auth: "protected"
32443
32496
  }),
32444
32497
  close: method(object({ deviceId: number().int().nonnegative() }), _void(), {
32445
32498
  kind: "mutation",
32446
- auth: "admin"
32499
+ auth: "protected"
32447
32500
  }),
32448
32501
  stop: method(object({ deviceId: number().int().nonnegative() }), _void(), {
32449
32502
  kind: "mutation",
32450
- auth: "admin"
32503
+ auth: "protected"
32451
32504
  }),
32452
32505
  setPosition: method(object({
32453
32506
  deviceId: number().int().nonnegative(),
32454
32507
  position: number().min(0).max(100)
32455
32508
  }), _void(), {
32456
32509
  kind: "mutation",
32457
- auth: "admin"
32510
+ auth: "protected"
32458
32511
  })
32459
32512
  },
32460
32513
  status: {
@@ -32553,21 +32606,21 @@ var waterHeaterCapability = {
32553
32606
  temp: number().finite()
32554
32607
  }), _void(), {
32555
32608
  kind: "mutation",
32556
- auth: "admin"
32609
+ auth: "protected"
32557
32610
  }),
32558
32611
  setOperationMode: method(object({
32559
32612
  deviceId: number().int().nonnegative(),
32560
32613
  mode: string().min(1)
32561
32614
  }), _void(), {
32562
32615
  kind: "mutation",
32563
- auth: "admin"
32616
+ auth: "protected"
32564
32617
  }),
32565
32618
  setAway: method(object({
32566
32619
  deviceId: number().int().nonnegative(),
32567
32620
  on: boolean()
32568
32621
  }), _void(), {
32569
32622
  kind: "mutation",
32570
- auth: "admin"
32623
+ auth: "protected"
32571
32624
  })
32572
32625
  },
32573
32626
  status: {
@@ -36507,6 +36560,12 @@ Object.freeze({
36507
36560
  addonId: null,
36508
36561
  access: "create"
36509
36562
  },
36563
+ "faceGallery.auditIdentitySamples": {
36564
+ capName: "face-gallery",
36565
+ capScope: "system",
36566
+ addonId: null,
36567
+ access: "view"
36568
+ },
36510
36569
  "faceGallery.createIdentity": {
36511
36570
  capName: "face-gallery",
36512
36571
  capScope: "system",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@camstack/addon-provider-amcrest",
3
- "version": "0.2.86",
3
+ "version": "0.2.88",
4
4
  "description": "Amcrest/Dahua camera device provider addon for CamStack — Dahua CGI over HTTP(S) with digest auth (snapshot, RTSP catalog, PTZ, image/day-night config)",
5
5
  "keywords": [
6
6
  "camstack",