@camstack/addon-provider-hikvision 1.2.92 → 1.2.94

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
@@ -16415,14 +16415,14 @@ var alarmPanelCapability = {
16415
16415
  code: string().min(1).optional()
16416
16416
  }), _void(), {
16417
16417
  kind: "mutation",
16418
- auth: "admin"
16418
+ auth: "protected"
16419
16419
  }),
16420
16420
  disarm: method(object({
16421
16421
  deviceId: number().int().nonnegative(),
16422
16422
  code: string().min(1).optional()
16423
16423
  }), _void(), {
16424
16424
  kind: "mutation",
16425
- auth: "admin"
16425
+ auth: "protected"
16426
16426
  }),
16427
16427
  /**
16428
16428
  * Force the panel into the `triggered` state — used by HA
@@ -16433,7 +16433,7 @@ var alarmPanelCapability = {
16433
16433
  */
16434
16434
  trigger: method(object({ deviceId: number().int().nonnegative() }), _void(), {
16435
16435
  kind: "mutation",
16436
- auth: "admin"
16436
+ auth: "protected"
16437
16437
  })
16438
16438
  },
16439
16439
  status: {
@@ -24504,7 +24504,7 @@ var brightnessCapability = {
24504
24504
  percentage: number().min(0).max(100)
24505
24505
  }), _void(), {
24506
24506
  kind: "mutation",
24507
- auth: "admin"
24507
+ auth: "protected"
24508
24508
  }) },
24509
24509
  events: {
24510
24510
  /**
@@ -24537,7 +24537,7 @@ onBrightnessChanged: { data: object({
24537
24537
  };
24538
24538
  DeviceType.Button, method(object({ deviceId: number().int().nonnegative() }), _void(), {
24539
24539
  kind: "mutation",
24540
- auth: "admin"
24540
+ auth: "protected"
24541
24541
  });
24542
24542
  /**
24543
24543
  * camera-credentials — device-scoped cap exposing the camera's network
@@ -24729,28 +24729,28 @@ var climateControlCapability = {
24729
24729
  mode: HvacModeSchema
24730
24730
  }), _void(), {
24731
24731
  kind: "mutation",
24732
- auth: "admin"
24732
+ auth: "protected"
24733
24733
  }),
24734
24734
  setFanMode: method(object({
24735
24735
  deviceId: number().int().nonnegative(),
24736
24736
  fanMode: string().min(1)
24737
24737
  }), _void(), {
24738
24738
  kind: "mutation",
24739
- auth: "admin"
24739
+ auth: "protected"
24740
24740
  }),
24741
24741
  setPreset: method(object({
24742
24742
  deviceId: number().int().nonnegative(),
24743
24743
  preset: string().min(1)
24744
24744
  }), _void(), {
24745
24745
  kind: "mutation",
24746
- auth: "admin"
24746
+ auth: "protected"
24747
24747
  }),
24748
24748
  setTarget: method(object({
24749
24749
  deviceId: number().int().nonnegative(),
24750
24750
  target: number()
24751
24751
  }), _void(), {
24752
24752
  kind: "mutation",
24753
- auth: "admin"
24753
+ auth: "protected"
24754
24754
  }),
24755
24755
  setTargetRange: method(object({
24756
24756
  deviceId: number().int().nonnegative(),
@@ -24758,28 +24758,28 @@ var climateControlCapability = {
24758
24758
  targetHigh: number()
24759
24759
  }), _void(), {
24760
24760
  kind: "mutation",
24761
- auth: "admin"
24761
+ auth: "protected"
24762
24762
  }),
24763
24763
  setTargetHumidity: method(object({
24764
24764
  deviceId: number().int().nonnegative(),
24765
24765
  targetHumidity: number().min(0).max(100)
24766
24766
  }), _void(), {
24767
24767
  kind: "mutation",
24768
- auth: "admin"
24768
+ auth: "protected"
24769
24769
  }),
24770
24770
  setSwingVertical: method(object({
24771
24771
  deviceId: number().int().nonnegative(),
24772
24772
  on: boolean()
24773
24773
  }), _void(), {
24774
24774
  kind: "mutation",
24775
- auth: "admin"
24775
+ auth: "protected"
24776
24776
  }),
24777
24777
  setSwingHorizontal: method(object({
24778
24778
  deviceId: number().int().nonnegative(),
24779
24779
  on: boolean()
24780
24780
  }), _void(), {
24781
24781
  kind: "mutation",
24782
- auth: "admin"
24782
+ auth: "protected"
24783
24783
  })
24784
24784
  },
24785
24785
  status: {
@@ -24879,7 +24879,7 @@ var colorCapability = {
24879
24879
  color: ColorInputSchema
24880
24880
  }), _void(), {
24881
24881
  kind: "mutation",
24882
- auth: "admin"
24882
+ auth: "protected"
24883
24883
  }) },
24884
24884
  events: {
24885
24885
  /**
@@ -25208,7 +25208,7 @@ var controlCapability = {
25208
25208
  control: ControlSetValueInputSchema
25209
25209
  }), _void(), {
25210
25210
  kind: "mutation",
25211
- auth: "admin"
25211
+ auth: "protected"
25212
25212
  }) },
25213
25213
  status: {
25214
25214
  schema: ControlStatusSchema,
@@ -25254,29 +25254,29 @@ var coverCapability = {
25254
25254
  methods: {
25255
25255
  open: method(object({ deviceId: number().int().nonnegative() }), _void(), {
25256
25256
  kind: "mutation",
25257
- auth: "admin"
25257
+ auth: "protected"
25258
25258
  }),
25259
25259
  close: method(object({ deviceId: number().int().nonnegative() }), _void(), {
25260
25260
  kind: "mutation",
25261
- auth: "admin"
25261
+ auth: "protected"
25262
25262
  }),
25263
25263
  stop: method(object({ deviceId: number().int().nonnegative() }), _void(), {
25264
25264
  kind: "mutation",
25265
- auth: "admin"
25265
+ auth: "protected"
25266
25266
  }),
25267
25267
  setPosition: method(object({
25268
25268
  deviceId: number().int().nonnegative(),
25269
25269
  position: number().min(0).max(100)
25270
25270
  }), _void(), {
25271
25271
  kind: "mutation",
25272
- auth: "admin"
25272
+ auth: "protected"
25273
25273
  }),
25274
25274
  setTiltPosition: method(object({
25275
25275
  deviceId: number().int().nonnegative(),
25276
25276
  tiltPosition: number().min(0).max(100)
25277
25277
  }), _void(), {
25278
25278
  kind: "mutation",
25279
- auth: "admin"
25279
+ auth: "protected"
25280
25280
  })
25281
25281
  },
25282
25282
  status: {
@@ -25662,6 +25662,59 @@ var IdentitySampleInfoSchema = object({
25662
25662
  deviceId: number().int().optional(),
25663
25663
  base64: string().optional()
25664
25664
  });
25665
+ /**
25666
+ * One enrolled sample, judged against the gallery it lives in.
25667
+ *
25668
+ * The gallery is the one input to recognition nobody re-reads: a sample
25669
+ * enrolled from the wrong face keeps voting forever, and because the matches it
25670
+ * pulls then look confident, nobody goes back. The 2026-09-08 audit found
25671
+ * exactly one such pair on this cluster — a sample scoring 0.61 against three
25672
+ * samples of ANOTHER person, enrolled from the same camera in the same minute,
25673
+ * where every other cross-identity pair sits under 0.50.
25674
+ */
25675
+ var IdentitySampleAuditRowSchema = object({
25676
+ sampleId: string(),
25677
+ enrolledAt: number().int(),
25678
+ deviceId: number().int().optional(),
25679
+ source: _enum(["detected", "photo"]),
25680
+ /** The enrolled crop's media key, so the panel can show the evidence. */
25681
+ mediaKey: string().optional(),
25682
+ /**
25683
+ * False = the sample is stamped with a DIFFERENT face model, and a cosine
25684
+ * across feature spaces is a well-formed float with no meaning. Every number
25685
+ * below then says nothing — it must read as "cannot say", never as an
25686
+ * accusation and never as a clean bill: this list ends in a Remove button.
25687
+ */
25688
+ comparable: boolean(),
25689
+ /** Mean cosine against this person's other samples. Null when there are none
25690
+ * to compare with — never 0, which would read as "opposite". */
25691
+ selfMean: number().nullable(),
25692
+ /** The other person this sample looks most like, when it looks like one.
25693
+ * This is the half that convicts: not looking like yourself can be a hard
25694
+ * angle; looking like someone the gallery can NAME is a mis-enrolment. */
25695
+ bestForeign: object({
25696
+ identityId: string(),
25697
+ name: string(),
25698
+ score: number()
25699
+ }).optional(),
25700
+ /** 0 = nothing to say. Higher = look at this one sooner. */
25701
+ suspicion: number()
25702
+ });
25703
+ var IdentitySampleAuditSchema = object({
25704
+ identityId: string(),
25705
+ name: string(),
25706
+ /** The cluster face model every comparison was made in. */
25707
+ modelId: string(),
25708
+ totalSamples: number().int(),
25709
+ comparableSamples: number().int(),
25710
+ flagged: number().int(),
25711
+ /** The bar `flagged` counts against, so the panel states the RULE and not
25712
+ * only its current result. */
25713
+ flagThreshold: number(),
25714
+ /** Worst first. A row with nothing to say still appears, at the bottom: the
25715
+ * operator asked to see the gallery, not only its accusations. */
25716
+ rows: array(IdentitySampleAuditRowSchema).readonly()
25717
+ });
25665
25718
  var FaceInfoSchema = object({
25666
25719
  faceId: string(),
25667
25720
  deviceId: number().int(),
@@ -25813,7 +25866,7 @@ includeCrops: boolean().optional() }).optional(), array(IdentitySchema).readonly
25813
25866
  }), method(object({ id: string() }), _void(), {
25814
25867
  kind: "mutation",
25815
25868
  auth: "admin"
25816
- }), method(object({ identityId: string() }), array(IdentitySampleInfoSchema).readonly()), method(object({
25869
+ }), method(object({ identityId: string() }), array(IdentitySampleInfoSchema).readonly()), method(object({ identityId: string().min(1) }), IdentitySampleAuditSchema, { auth: "admin" }), method(object({
25817
25870
  identityId: string(),
25818
25871
  sampleId: string()
25819
25872
  }), _void(), {
@@ -26006,28 +26059,28 @@ var fanControlCapability = {
26006
26059
  percentage: number().min(0).max(100)
26007
26060
  }), _void(), {
26008
26061
  kind: "mutation",
26009
- auth: "admin"
26062
+ auth: "protected"
26010
26063
  }),
26011
26064
  setPreset: method(object({
26012
26065
  deviceId: number().int().nonnegative(),
26013
26066
  preset: string().min(1)
26014
26067
  }), _void(), {
26015
26068
  kind: "mutation",
26016
- auth: "admin"
26069
+ auth: "protected"
26017
26070
  }),
26018
26071
  setDirection: method(object({
26019
26072
  deviceId: number().int().nonnegative(),
26020
26073
  direction: FanDirectionSchema
26021
26074
  }), _void(), {
26022
26075
  kind: "mutation",
26023
- auth: "admin"
26076
+ auth: "protected"
26024
26077
  }),
26025
26078
  setOscillating: method(object({
26026
26079
  deviceId: number().int().nonnegative(),
26027
26080
  oscillating: boolean()
26028
26081
  }), _void(), {
26029
26082
  kind: "mutation",
26030
- auth: "admin"
26083
+ auth: "protected"
26031
26084
  })
26032
26085
  },
26033
26086
  status: {
@@ -26249,21 +26302,21 @@ var humidifierCapability = {
26249
26302
  on: boolean()
26250
26303
  }), _void(), {
26251
26304
  kind: "mutation",
26252
- auth: "admin"
26305
+ auth: "protected"
26253
26306
  }),
26254
26307
  setTargetHumidity: method(object({
26255
26308
  deviceId: number().int().nonnegative(),
26256
26309
  humidity: number().min(0).max(100)
26257
26310
  }), _void(), {
26258
26311
  kind: "mutation",
26259
- auth: "admin"
26312
+ auth: "protected"
26260
26313
  }),
26261
26314
  setMode: method(object({
26262
26315
  deviceId: number().int().nonnegative(),
26263
26316
  mode: string().min(1)
26264
26317
  }), _void(), {
26265
26318
  kind: "mutation",
26266
- auth: "admin"
26319
+ auth: "protected"
26267
26320
  })
26268
26321
  },
26269
26322
  status: {
@@ -26964,15 +27017,15 @@ var lawnMowerControlCapability = {
26964
27017
  methods: {
26965
27018
  startMowing: method(object({ deviceId: number().int().nonnegative() }), _void(), {
26966
27019
  kind: "mutation",
26967
- auth: "admin"
27020
+ auth: "protected"
26968
27021
  }),
26969
27022
  pause: method(object({ deviceId: number().int().nonnegative() }), _void(), {
26970
27023
  kind: "mutation",
26971
- auth: "admin"
27024
+ auth: "protected"
26972
27025
  }),
26973
27026
  dock: method(object({ deviceId: number().int().nonnegative() }), _void(), {
26974
27027
  kind: "mutation",
26975
- auth: "admin"
27028
+ auth: "protected"
26976
27029
  })
26977
27030
  },
26978
27031
  status: {
@@ -27257,18 +27310,18 @@ var lockControlCapability = {
27257
27310
  code: string().min(1).optional()
27258
27311
  }), _void(), {
27259
27312
  kind: "mutation",
27260
- auth: "admin"
27313
+ auth: "protected"
27261
27314
  }),
27262
27315
  unlock: method(object({
27263
27316
  deviceId: number().int().nonnegative(),
27264
27317
  code: string().min(1).optional()
27265
27318
  }), _void(), {
27266
27319
  kind: "mutation",
27267
- auth: "admin"
27320
+ auth: "protected"
27268
27321
  }),
27269
27322
  open: method(object({ deviceId: number().int().nonnegative() }), _void(), {
27270
27323
  kind: "mutation",
27271
- auth: "admin"
27324
+ auth: "protected"
27272
27325
  })
27273
27326
  },
27274
27327
  status: {
@@ -27371,65 +27424,65 @@ var mediaPlayerCapability = {
27371
27424
  methods: {
27372
27425
  play: method(object({ deviceId: number().int().nonnegative() }), _void(), {
27373
27426
  kind: "mutation",
27374
- auth: "admin"
27427
+ auth: "protected"
27375
27428
  }),
27376
27429
  pause: method(object({ deviceId: number().int().nonnegative() }), _void(), {
27377
27430
  kind: "mutation",
27378
- auth: "admin"
27431
+ auth: "protected"
27379
27432
  }),
27380
27433
  stop: method(object({ deviceId: number().int().nonnegative() }), _void(), {
27381
27434
  kind: "mutation",
27382
- auth: "admin"
27435
+ auth: "protected"
27383
27436
  }),
27384
27437
  next: method(object({ deviceId: number().int().nonnegative() }), _void(), {
27385
27438
  kind: "mutation",
27386
- auth: "admin"
27439
+ auth: "protected"
27387
27440
  }),
27388
27441
  previous: method(object({ deviceId: number().int().nonnegative() }), _void(), {
27389
27442
  kind: "mutation",
27390
- auth: "admin"
27443
+ auth: "protected"
27391
27444
  }),
27392
27445
  seek: method(object({
27393
27446
  deviceId: number().int().nonnegative(),
27394
27447
  positionMs: number().int().nonnegative()
27395
27448
  }), _void(), {
27396
27449
  kind: "mutation",
27397
- auth: "admin"
27450
+ auth: "protected"
27398
27451
  }),
27399
27452
  setVolume: method(object({
27400
27453
  deviceId: number().int().nonnegative(),
27401
27454
  volumeLevel: number().min(0).max(100)
27402
27455
  }), _void(), {
27403
27456
  kind: "mutation",
27404
- auth: "admin"
27457
+ auth: "protected"
27405
27458
  }),
27406
27459
  setMute: method(object({
27407
27460
  deviceId: number().int().nonnegative(),
27408
27461
  muted: boolean()
27409
27462
  }), _void(), {
27410
27463
  kind: "mutation",
27411
- auth: "admin"
27464
+ auth: "protected"
27412
27465
  }),
27413
27466
  setShuffle: method(object({
27414
27467
  deviceId: number().int().nonnegative(),
27415
27468
  shuffle: boolean()
27416
27469
  }), _void(), {
27417
27470
  kind: "mutation",
27418
- auth: "admin"
27471
+ auth: "protected"
27419
27472
  }),
27420
27473
  setRepeat: method(object({
27421
27474
  deviceId: number().int().nonnegative(),
27422
27475
  repeat: MediaPlayerRepeatSchema
27423
27476
  }), _void(), {
27424
27477
  kind: "mutation",
27425
- auth: "admin"
27478
+ auth: "protected"
27426
27479
  }),
27427
27480
  selectSource: method(object({
27428
27481
  deviceId: number().int().nonnegative(),
27429
27482
  source: string().min(1)
27430
27483
  }), _void(), {
27431
27484
  kind: "mutation",
27432
- auth: "admin"
27485
+ auth: "protected"
27433
27486
  }),
27434
27487
  playMedia: method(object({
27435
27488
  deviceId: number().int().nonnegative(),
@@ -27440,7 +27493,7 @@ var mediaPlayerCapability = {
27440
27493
  mediaType: string().min(1)
27441
27494
  }), _void(), {
27442
27495
  kind: "mutation",
27443
- auth: "admin"
27496
+ auth: "protected"
27444
27497
  })
27445
27498
  },
27446
27499
  status: {
@@ -29079,27 +29132,27 @@ var petFeederCapability = {
29079
29132
  hopper2: gramsPortion.optional()
29080
29133
  }), _void(), {
29081
29134
  kind: "mutation",
29082
- auth: "admin"
29135
+ auth: "protected"
29083
29136
  }),
29084
29137
  /** Cancel an in-progress manual feed. */
29085
29138
  cancelFeed: method(object({ deviceId: number().int().nonnegative() }), _void(), {
29086
29139
  kind: "mutation",
29087
- auth: "admin"
29140
+ auth: "protected"
29088
29141
  }),
29089
29142
  /** Reset the desiccant "days remaining" counter after replacing it. */
29090
29143
  resetDesiccant: method(object({ deviceId: number().int().nonnegative() }), _void(), {
29091
29144
  kind: "mutation",
29092
- auth: "admin"
29145
+ auth: "protected"
29093
29146
  }),
29094
29147
  /** Mark a hopper as refilled (D4H/D4S/D4SH). */
29095
29148
  markFoodReplenished: method(object({ deviceId: number().int().nonnegative() }), _void(), {
29096
29149
  kind: "mutation",
29097
- auth: "admin"
29150
+ auth: "protected"
29098
29151
  }),
29099
29152
  /** Call the pet with the recorded prompt (D3). */
29100
29153
  callPet: method(object({ deviceId: number().int().nonnegative() }), _void(), {
29101
29154
  kind: "mutation",
29102
- auth: "admin"
29155
+ auth: "protected"
29103
29156
  }),
29104
29157
  /** Play a stored sound by id (D3 / D4H / D4SH). */
29105
29158
  playSound: method(object({
@@ -29107,7 +29160,7 @@ var petFeederCapability = {
29107
29160
  soundId: number().int().nonnegative()
29108
29161
  }), _void(), {
29109
29162
  kind: "mutation",
29110
- auth: "admin"
29163
+ auth: "protected"
29111
29164
  }),
29112
29165
  /** Toggle the child-lock (manual-lock) setting. */
29113
29166
  setChildLock: method(object({
@@ -29115,7 +29168,7 @@ var petFeederCapability = {
29115
29168
  on: boolean()
29116
29169
  }), _void(), {
29117
29170
  kind: "mutation",
29118
- auth: "admin"
29171
+ auth: "protected"
29119
29172
  }),
29120
29173
  /** Toggle the front indicator light. */
29121
29174
  setIndicatorLight: method(object({
@@ -29123,7 +29176,7 @@ var petFeederCapability = {
29123
29176
  on: boolean()
29124
29177
  }), _void(), {
29125
29178
  kind: "mutation",
29126
- auth: "admin"
29179
+ auth: "protected"
29127
29180
  }),
29128
29181
  /** Toggle the dispense chime. */
29129
29182
  setFeedSound: method(object({
@@ -29131,7 +29184,7 @@ var petFeederCapability = {
29131
29184
  on: boolean()
29132
29185
  }), _void(), {
29133
29186
  kind: "mutation",
29134
- auth: "admin"
29187
+ auth: "protected"
29135
29188
  }),
29136
29189
  /** Set the speaker / prompt volume level. */
29137
29190
  setVolume: method(object({
@@ -29139,7 +29192,7 @@ var petFeederCapability = {
29139
29192
  level: number().int().nonnegative()
29140
29193
  }), _void(), {
29141
29194
  kind: "mutation",
29142
- auth: "admin"
29195
+ auth: "protected"
29143
29196
  })
29144
29197
  },
29145
29198
  status: {
@@ -31720,7 +31773,7 @@ var switchCapability = {
31720
31773
  on: boolean()
31721
31774
  }), _void(), {
31722
31775
  kind: "mutation",
31723
- auth: "admin"
31776
+ auth: "protected"
31724
31777
  }) },
31725
31778
  events: { onStateChanged: { data: object({
31726
31779
  deviceId: number(),
@@ -32708,30 +32761,30 @@ var vacuumControlCapability = {
32708
32761
  methods: {
32709
32762
  start: method(object({ deviceId: number().int().nonnegative() }), _void(), {
32710
32763
  kind: "mutation",
32711
- auth: "admin"
32764
+ auth: "protected"
32712
32765
  }),
32713
32766
  pause: method(object({ deviceId: number().int().nonnegative() }), _void(), {
32714
32767
  kind: "mutation",
32715
- auth: "admin"
32768
+ auth: "protected"
32716
32769
  }),
32717
32770
  stop: method(object({ deviceId: number().int().nonnegative() }), _void(), {
32718
32771
  kind: "mutation",
32719
- auth: "admin"
32772
+ auth: "protected"
32720
32773
  }),
32721
32774
  returnToBase: method(object({ deviceId: number().int().nonnegative() }), _void(), {
32722
32775
  kind: "mutation",
32723
- auth: "admin"
32776
+ auth: "protected"
32724
32777
  }),
32725
32778
  locate: method(object({ deviceId: number().int().nonnegative() }), _void(), {
32726
32779
  kind: "mutation",
32727
- auth: "admin"
32780
+ auth: "protected"
32728
32781
  }),
32729
32782
  setFanSpeed: method(object({
32730
32783
  deviceId: number().int().nonnegative(),
32731
32784
  speed: string().min(1)
32732
32785
  }), _void(), {
32733
32786
  kind: "mutation",
32734
- auth: "admin"
32787
+ auth: "protected"
32735
32788
  })
32736
32789
  },
32737
32790
  status: {
@@ -32775,22 +32828,22 @@ var valveCapability = {
32775
32828
  methods: {
32776
32829
  open: method(object({ deviceId: number().int().nonnegative() }), _void(), {
32777
32830
  kind: "mutation",
32778
- auth: "admin"
32831
+ auth: "protected"
32779
32832
  }),
32780
32833
  close: method(object({ deviceId: number().int().nonnegative() }), _void(), {
32781
32834
  kind: "mutation",
32782
- auth: "admin"
32835
+ auth: "protected"
32783
32836
  }),
32784
32837
  stop: method(object({ deviceId: number().int().nonnegative() }), _void(), {
32785
32838
  kind: "mutation",
32786
- auth: "admin"
32839
+ auth: "protected"
32787
32840
  }),
32788
32841
  setPosition: method(object({
32789
32842
  deviceId: number().int().nonnegative(),
32790
32843
  position: number().min(0).max(100)
32791
32844
  }), _void(), {
32792
32845
  kind: "mutation",
32793
- auth: "admin"
32846
+ auth: "protected"
32794
32847
  })
32795
32848
  },
32796
32849
  status: {
@@ -32889,21 +32942,21 @@ var waterHeaterCapability = {
32889
32942
  temp: number().finite()
32890
32943
  }), _void(), {
32891
32944
  kind: "mutation",
32892
- auth: "admin"
32945
+ auth: "protected"
32893
32946
  }),
32894
32947
  setOperationMode: method(object({
32895
32948
  deviceId: number().int().nonnegative(),
32896
32949
  mode: string().min(1)
32897
32950
  }), _void(), {
32898
32951
  kind: "mutation",
32899
- auth: "admin"
32952
+ auth: "protected"
32900
32953
  }),
32901
32954
  setAway: method(object({
32902
32955
  deviceId: number().int().nonnegative(),
32903
32956
  on: boolean()
32904
32957
  }), _void(), {
32905
32958
  kind: "mutation",
32906
- auth: "admin"
32959
+ auth: "protected"
32907
32960
  })
32908
32961
  },
32909
32962
  status: {
@@ -36870,6 +36923,12 @@ Object.freeze({
36870
36923
  addonId: null,
36871
36924
  access: "create"
36872
36925
  },
36926
+ "faceGallery.auditIdentitySamples": {
36927
+ capName: "face-gallery",
36928
+ capScope: "system",
36929
+ addonId: null,
36930
+ access: "view"
36931
+ },
36873
36932
  "faceGallery.createIdentity": {
36874
36933
  capName: "face-gallery",
36875
36934
  capScope: "system",
package/dist/addon.mjs CHANGED
@@ -16416,14 +16416,14 @@ var alarmPanelCapability = {
16416
16416
  code: string().min(1).optional()
16417
16417
  }), _void(), {
16418
16418
  kind: "mutation",
16419
- auth: "admin"
16419
+ auth: "protected"
16420
16420
  }),
16421
16421
  disarm: method(object({
16422
16422
  deviceId: number().int().nonnegative(),
16423
16423
  code: string().min(1).optional()
16424
16424
  }), _void(), {
16425
16425
  kind: "mutation",
16426
- auth: "admin"
16426
+ auth: "protected"
16427
16427
  }),
16428
16428
  /**
16429
16429
  * Force the panel into the `triggered` state — used by HA
@@ -16434,7 +16434,7 @@ var alarmPanelCapability = {
16434
16434
  */
16435
16435
  trigger: method(object({ deviceId: number().int().nonnegative() }), _void(), {
16436
16436
  kind: "mutation",
16437
- auth: "admin"
16437
+ auth: "protected"
16438
16438
  })
16439
16439
  },
16440
16440
  status: {
@@ -24505,7 +24505,7 @@ var brightnessCapability = {
24505
24505
  percentage: number().min(0).max(100)
24506
24506
  }), _void(), {
24507
24507
  kind: "mutation",
24508
- auth: "admin"
24508
+ auth: "protected"
24509
24509
  }) },
24510
24510
  events: {
24511
24511
  /**
@@ -24538,7 +24538,7 @@ onBrightnessChanged: { data: object({
24538
24538
  };
24539
24539
  DeviceType.Button, method(object({ deviceId: number().int().nonnegative() }), _void(), {
24540
24540
  kind: "mutation",
24541
- auth: "admin"
24541
+ auth: "protected"
24542
24542
  });
24543
24543
  /**
24544
24544
  * camera-credentials — device-scoped cap exposing the camera's network
@@ -24730,28 +24730,28 @@ var climateControlCapability = {
24730
24730
  mode: HvacModeSchema
24731
24731
  }), _void(), {
24732
24732
  kind: "mutation",
24733
- auth: "admin"
24733
+ auth: "protected"
24734
24734
  }),
24735
24735
  setFanMode: method(object({
24736
24736
  deviceId: number().int().nonnegative(),
24737
24737
  fanMode: string().min(1)
24738
24738
  }), _void(), {
24739
24739
  kind: "mutation",
24740
- auth: "admin"
24740
+ auth: "protected"
24741
24741
  }),
24742
24742
  setPreset: method(object({
24743
24743
  deviceId: number().int().nonnegative(),
24744
24744
  preset: string().min(1)
24745
24745
  }), _void(), {
24746
24746
  kind: "mutation",
24747
- auth: "admin"
24747
+ auth: "protected"
24748
24748
  }),
24749
24749
  setTarget: method(object({
24750
24750
  deviceId: number().int().nonnegative(),
24751
24751
  target: number()
24752
24752
  }), _void(), {
24753
24753
  kind: "mutation",
24754
- auth: "admin"
24754
+ auth: "protected"
24755
24755
  }),
24756
24756
  setTargetRange: method(object({
24757
24757
  deviceId: number().int().nonnegative(),
@@ -24759,28 +24759,28 @@ var climateControlCapability = {
24759
24759
  targetHigh: number()
24760
24760
  }), _void(), {
24761
24761
  kind: "mutation",
24762
- auth: "admin"
24762
+ auth: "protected"
24763
24763
  }),
24764
24764
  setTargetHumidity: method(object({
24765
24765
  deviceId: number().int().nonnegative(),
24766
24766
  targetHumidity: number().min(0).max(100)
24767
24767
  }), _void(), {
24768
24768
  kind: "mutation",
24769
- auth: "admin"
24769
+ auth: "protected"
24770
24770
  }),
24771
24771
  setSwingVertical: method(object({
24772
24772
  deviceId: number().int().nonnegative(),
24773
24773
  on: boolean()
24774
24774
  }), _void(), {
24775
24775
  kind: "mutation",
24776
- auth: "admin"
24776
+ auth: "protected"
24777
24777
  }),
24778
24778
  setSwingHorizontal: method(object({
24779
24779
  deviceId: number().int().nonnegative(),
24780
24780
  on: boolean()
24781
24781
  }), _void(), {
24782
24782
  kind: "mutation",
24783
- auth: "admin"
24783
+ auth: "protected"
24784
24784
  })
24785
24785
  },
24786
24786
  status: {
@@ -24880,7 +24880,7 @@ var colorCapability = {
24880
24880
  color: ColorInputSchema
24881
24881
  }), _void(), {
24882
24882
  kind: "mutation",
24883
- auth: "admin"
24883
+ auth: "protected"
24884
24884
  }) },
24885
24885
  events: {
24886
24886
  /**
@@ -25209,7 +25209,7 @@ var controlCapability = {
25209
25209
  control: ControlSetValueInputSchema
25210
25210
  }), _void(), {
25211
25211
  kind: "mutation",
25212
- auth: "admin"
25212
+ auth: "protected"
25213
25213
  }) },
25214
25214
  status: {
25215
25215
  schema: ControlStatusSchema,
@@ -25255,29 +25255,29 @@ var coverCapability = {
25255
25255
  methods: {
25256
25256
  open: method(object({ deviceId: number().int().nonnegative() }), _void(), {
25257
25257
  kind: "mutation",
25258
- auth: "admin"
25258
+ auth: "protected"
25259
25259
  }),
25260
25260
  close: method(object({ deviceId: number().int().nonnegative() }), _void(), {
25261
25261
  kind: "mutation",
25262
- auth: "admin"
25262
+ auth: "protected"
25263
25263
  }),
25264
25264
  stop: method(object({ deviceId: number().int().nonnegative() }), _void(), {
25265
25265
  kind: "mutation",
25266
- auth: "admin"
25266
+ auth: "protected"
25267
25267
  }),
25268
25268
  setPosition: method(object({
25269
25269
  deviceId: number().int().nonnegative(),
25270
25270
  position: number().min(0).max(100)
25271
25271
  }), _void(), {
25272
25272
  kind: "mutation",
25273
- auth: "admin"
25273
+ auth: "protected"
25274
25274
  }),
25275
25275
  setTiltPosition: method(object({
25276
25276
  deviceId: number().int().nonnegative(),
25277
25277
  tiltPosition: number().min(0).max(100)
25278
25278
  }), _void(), {
25279
25279
  kind: "mutation",
25280
- auth: "admin"
25280
+ auth: "protected"
25281
25281
  })
25282
25282
  },
25283
25283
  status: {
@@ -25663,6 +25663,59 @@ var IdentitySampleInfoSchema = object({
25663
25663
  deviceId: number().int().optional(),
25664
25664
  base64: string().optional()
25665
25665
  });
25666
+ /**
25667
+ * One enrolled sample, judged against the gallery it lives in.
25668
+ *
25669
+ * The gallery is the one input to recognition nobody re-reads: a sample
25670
+ * enrolled from the wrong face keeps voting forever, and because the matches it
25671
+ * pulls then look confident, nobody goes back. The 2026-09-08 audit found
25672
+ * exactly one such pair on this cluster — a sample scoring 0.61 against three
25673
+ * samples of ANOTHER person, enrolled from the same camera in the same minute,
25674
+ * where every other cross-identity pair sits under 0.50.
25675
+ */
25676
+ var IdentitySampleAuditRowSchema = object({
25677
+ sampleId: string(),
25678
+ enrolledAt: number().int(),
25679
+ deviceId: number().int().optional(),
25680
+ source: _enum(["detected", "photo"]),
25681
+ /** The enrolled crop's media key, so the panel can show the evidence. */
25682
+ mediaKey: string().optional(),
25683
+ /**
25684
+ * False = the sample is stamped with a DIFFERENT face model, and a cosine
25685
+ * across feature spaces is a well-formed float with no meaning. Every number
25686
+ * below then says nothing — it must read as "cannot say", never as an
25687
+ * accusation and never as a clean bill: this list ends in a Remove button.
25688
+ */
25689
+ comparable: boolean(),
25690
+ /** Mean cosine against this person's other samples. Null when there are none
25691
+ * to compare with — never 0, which would read as "opposite". */
25692
+ selfMean: number().nullable(),
25693
+ /** The other person this sample looks most like, when it looks like one.
25694
+ * This is the half that convicts: not looking like yourself can be a hard
25695
+ * angle; looking like someone the gallery can NAME is a mis-enrolment. */
25696
+ bestForeign: object({
25697
+ identityId: string(),
25698
+ name: string(),
25699
+ score: number()
25700
+ }).optional(),
25701
+ /** 0 = nothing to say. Higher = look at this one sooner. */
25702
+ suspicion: number()
25703
+ });
25704
+ var IdentitySampleAuditSchema = object({
25705
+ identityId: string(),
25706
+ name: string(),
25707
+ /** The cluster face model every comparison was made in. */
25708
+ modelId: string(),
25709
+ totalSamples: number().int(),
25710
+ comparableSamples: number().int(),
25711
+ flagged: number().int(),
25712
+ /** The bar `flagged` counts against, so the panel states the RULE and not
25713
+ * only its current result. */
25714
+ flagThreshold: number(),
25715
+ /** Worst first. A row with nothing to say still appears, at the bottom: the
25716
+ * operator asked to see the gallery, not only its accusations. */
25717
+ rows: array(IdentitySampleAuditRowSchema).readonly()
25718
+ });
25666
25719
  var FaceInfoSchema = object({
25667
25720
  faceId: string(),
25668
25721
  deviceId: number().int(),
@@ -25814,7 +25867,7 @@ includeCrops: boolean().optional() }).optional(), array(IdentitySchema).readonly
25814
25867
  }), method(object({ id: string() }), _void(), {
25815
25868
  kind: "mutation",
25816
25869
  auth: "admin"
25817
- }), method(object({ identityId: string() }), array(IdentitySampleInfoSchema).readonly()), method(object({
25870
+ }), method(object({ identityId: string() }), array(IdentitySampleInfoSchema).readonly()), method(object({ identityId: string().min(1) }), IdentitySampleAuditSchema, { auth: "admin" }), method(object({
25818
25871
  identityId: string(),
25819
25872
  sampleId: string()
25820
25873
  }), _void(), {
@@ -26007,28 +26060,28 @@ var fanControlCapability = {
26007
26060
  percentage: number().min(0).max(100)
26008
26061
  }), _void(), {
26009
26062
  kind: "mutation",
26010
- auth: "admin"
26063
+ auth: "protected"
26011
26064
  }),
26012
26065
  setPreset: method(object({
26013
26066
  deviceId: number().int().nonnegative(),
26014
26067
  preset: string().min(1)
26015
26068
  }), _void(), {
26016
26069
  kind: "mutation",
26017
- auth: "admin"
26070
+ auth: "protected"
26018
26071
  }),
26019
26072
  setDirection: method(object({
26020
26073
  deviceId: number().int().nonnegative(),
26021
26074
  direction: FanDirectionSchema
26022
26075
  }), _void(), {
26023
26076
  kind: "mutation",
26024
- auth: "admin"
26077
+ auth: "protected"
26025
26078
  }),
26026
26079
  setOscillating: method(object({
26027
26080
  deviceId: number().int().nonnegative(),
26028
26081
  oscillating: boolean()
26029
26082
  }), _void(), {
26030
26083
  kind: "mutation",
26031
- auth: "admin"
26084
+ auth: "protected"
26032
26085
  })
26033
26086
  },
26034
26087
  status: {
@@ -26250,21 +26303,21 @@ var humidifierCapability = {
26250
26303
  on: boolean()
26251
26304
  }), _void(), {
26252
26305
  kind: "mutation",
26253
- auth: "admin"
26306
+ auth: "protected"
26254
26307
  }),
26255
26308
  setTargetHumidity: method(object({
26256
26309
  deviceId: number().int().nonnegative(),
26257
26310
  humidity: number().min(0).max(100)
26258
26311
  }), _void(), {
26259
26312
  kind: "mutation",
26260
- auth: "admin"
26313
+ auth: "protected"
26261
26314
  }),
26262
26315
  setMode: method(object({
26263
26316
  deviceId: number().int().nonnegative(),
26264
26317
  mode: string().min(1)
26265
26318
  }), _void(), {
26266
26319
  kind: "mutation",
26267
- auth: "admin"
26320
+ auth: "protected"
26268
26321
  })
26269
26322
  },
26270
26323
  status: {
@@ -26965,15 +27018,15 @@ var lawnMowerControlCapability = {
26965
27018
  methods: {
26966
27019
  startMowing: method(object({ deviceId: number().int().nonnegative() }), _void(), {
26967
27020
  kind: "mutation",
26968
- auth: "admin"
27021
+ auth: "protected"
26969
27022
  }),
26970
27023
  pause: method(object({ deviceId: number().int().nonnegative() }), _void(), {
26971
27024
  kind: "mutation",
26972
- auth: "admin"
27025
+ auth: "protected"
26973
27026
  }),
26974
27027
  dock: method(object({ deviceId: number().int().nonnegative() }), _void(), {
26975
27028
  kind: "mutation",
26976
- auth: "admin"
27029
+ auth: "protected"
26977
27030
  })
26978
27031
  },
26979
27032
  status: {
@@ -27258,18 +27311,18 @@ var lockControlCapability = {
27258
27311
  code: string().min(1).optional()
27259
27312
  }), _void(), {
27260
27313
  kind: "mutation",
27261
- auth: "admin"
27314
+ auth: "protected"
27262
27315
  }),
27263
27316
  unlock: method(object({
27264
27317
  deviceId: number().int().nonnegative(),
27265
27318
  code: string().min(1).optional()
27266
27319
  }), _void(), {
27267
27320
  kind: "mutation",
27268
- auth: "admin"
27321
+ auth: "protected"
27269
27322
  }),
27270
27323
  open: method(object({ deviceId: number().int().nonnegative() }), _void(), {
27271
27324
  kind: "mutation",
27272
- auth: "admin"
27325
+ auth: "protected"
27273
27326
  })
27274
27327
  },
27275
27328
  status: {
@@ -27372,65 +27425,65 @@ var mediaPlayerCapability = {
27372
27425
  methods: {
27373
27426
  play: method(object({ deviceId: number().int().nonnegative() }), _void(), {
27374
27427
  kind: "mutation",
27375
- auth: "admin"
27428
+ auth: "protected"
27376
27429
  }),
27377
27430
  pause: method(object({ deviceId: number().int().nonnegative() }), _void(), {
27378
27431
  kind: "mutation",
27379
- auth: "admin"
27432
+ auth: "protected"
27380
27433
  }),
27381
27434
  stop: method(object({ deviceId: number().int().nonnegative() }), _void(), {
27382
27435
  kind: "mutation",
27383
- auth: "admin"
27436
+ auth: "protected"
27384
27437
  }),
27385
27438
  next: method(object({ deviceId: number().int().nonnegative() }), _void(), {
27386
27439
  kind: "mutation",
27387
- auth: "admin"
27440
+ auth: "protected"
27388
27441
  }),
27389
27442
  previous: method(object({ deviceId: number().int().nonnegative() }), _void(), {
27390
27443
  kind: "mutation",
27391
- auth: "admin"
27444
+ auth: "protected"
27392
27445
  }),
27393
27446
  seek: method(object({
27394
27447
  deviceId: number().int().nonnegative(),
27395
27448
  positionMs: number().int().nonnegative()
27396
27449
  }), _void(), {
27397
27450
  kind: "mutation",
27398
- auth: "admin"
27451
+ auth: "protected"
27399
27452
  }),
27400
27453
  setVolume: method(object({
27401
27454
  deviceId: number().int().nonnegative(),
27402
27455
  volumeLevel: number().min(0).max(100)
27403
27456
  }), _void(), {
27404
27457
  kind: "mutation",
27405
- auth: "admin"
27458
+ auth: "protected"
27406
27459
  }),
27407
27460
  setMute: method(object({
27408
27461
  deviceId: number().int().nonnegative(),
27409
27462
  muted: boolean()
27410
27463
  }), _void(), {
27411
27464
  kind: "mutation",
27412
- auth: "admin"
27465
+ auth: "protected"
27413
27466
  }),
27414
27467
  setShuffle: method(object({
27415
27468
  deviceId: number().int().nonnegative(),
27416
27469
  shuffle: boolean()
27417
27470
  }), _void(), {
27418
27471
  kind: "mutation",
27419
- auth: "admin"
27472
+ auth: "protected"
27420
27473
  }),
27421
27474
  setRepeat: method(object({
27422
27475
  deviceId: number().int().nonnegative(),
27423
27476
  repeat: MediaPlayerRepeatSchema
27424
27477
  }), _void(), {
27425
27478
  kind: "mutation",
27426
- auth: "admin"
27479
+ auth: "protected"
27427
27480
  }),
27428
27481
  selectSource: method(object({
27429
27482
  deviceId: number().int().nonnegative(),
27430
27483
  source: string().min(1)
27431
27484
  }), _void(), {
27432
27485
  kind: "mutation",
27433
- auth: "admin"
27486
+ auth: "protected"
27434
27487
  }),
27435
27488
  playMedia: method(object({
27436
27489
  deviceId: number().int().nonnegative(),
@@ -27441,7 +27494,7 @@ var mediaPlayerCapability = {
27441
27494
  mediaType: string().min(1)
27442
27495
  }), _void(), {
27443
27496
  kind: "mutation",
27444
- auth: "admin"
27497
+ auth: "protected"
27445
27498
  })
27446
27499
  },
27447
27500
  status: {
@@ -29080,27 +29133,27 @@ var petFeederCapability = {
29080
29133
  hopper2: gramsPortion.optional()
29081
29134
  }), _void(), {
29082
29135
  kind: "mutation",
29083
- auth: "admin"
29136
+ auth: "protected"
29084
29137
  }),
29085
29138
  /** Cancel an in-progress manual feed. */
29086
29139
  cancelFeed: method(object({ deviceId: number().int().nonnegative() }), _void(), {
29087
29140
  kind: "mutation",
29088
- auth: "admin"
29141
+ auth: "protected"
29089
29142
  }),
29090
29143
  /** Reset the desiccant "days remaining" counter after replacing it. */
29091
29144
  resetDesiccant: method(object({ deviceId: number().int().nonnegative() }), _void(), {
29092
29145
  kind: "mutation",
29093
- auth: "admin"
29146
+ auth: "protected"
29094
29147
  }),
29095
29148
  /** Mark a hopper as refilled (D4H/D4S/D4SH). */
29096
29149
  markFoodReplenished: method(object({ deviceId: number().int().nonnegative() }), _void(), {
29097
29150
  kind: "mutation",
29098
- auth: "admin"
29151
+ auth: "protected"
29099
29152
  }),
29100
29153
  /** Call the pet with the recorded prompt (D3). */
29101
29154
  callPet: method(object({ deviceId: number().int().nonnegative() }), _void(), {
29102
29155
  kind: "mutation",
29103
- auth: "admin"
29156
+ auth: "protected"
29104
29157
  }),
29105
29158
  /** Play a stored sound by id (D3 / D4H / D4SH). */
29106
29159
  playSound: method(object({
@@ -29108,7 +29161,7 @@ var petFeederCapability = {
29108
29161
  soundId: number().int().nonnegative()
29109
29162
  }), _void(), {
29110
29163
  kind: "mutation",
29111
- auth: "admin"
29164
+ auth: "protected"
29112
29165
  }),
29113
29166
  /** Toggle the child-lock (manual-lock) setting. */
29114
29167
  setChildLock: method(object({
@@ -29116,7 +29169,7 @@ var petFeederCapability = {
29116
29169
  on: boolean()
29117
29170
  }), _void(), {
29118
29171
  kind: "mutation",
29119
- auth: "admin"
29172
+ auth: "protected"
29120
29173
  }),
29121
29174
  /** Toggle the front indicator light. */
29122
29175
  setIndicatorLight: method(object({
@@ -29124,7 +29177,7 @@ var petFeederCapability = {
29124
29177
  on: boolean()
29125
29178
  }), _void(), {
29126
29179
  kind: "mutation",
29127
- auth: "admin"
29180
+ auth: "protected"
29128
29181
  }),
29129
29182
  /** Toggle the dispense chime. */
29130
29183
  setFeedSound: method(object({
@@ -29132,7 +29185,7 @@ var petFeederCapability = {
29132
29185
  on: boolean()
29133
29186
  }), _void(), {
29134
29187
  kind: "mutation",
29135
- auth: "admin"
29188
+ auth: "protected"
29136
29189
  }),
29137
29190
  /** Set the speaker / prompt volume level. */
29138
29191
  setVolume: method(object({
@@ -29140,7 +29193,7 @@ var petFeederCapability = {
29140
29193
  level: number().int().nonnegative()
29141
29194
  }), _void(), {
29142
29195
  kind: "mutation",
29143
- auth: "admin"
29196
+ auth: "protected"
29144
29197
  })
29145
29198
  },
29146
29199
  status: {
@@ -31721,7 +31774,7 @@ var switchCapability = {
31721
31774
  on: boolean()
31722
31775
  }), _void(), {
31723
31776
  kind: "mutation",
31724
- auth: "admin"
31777
+ auth: "protected"
31725
31778
  }) },
31726
31779
  events: { onStateChanged: { data: object({
31727
31780
  deviceId: number(),
@@ -32709,30 +32762,30 @@ var vacuumControlCapability = {
32709
32762
  methods: {
32710
32763
  start: method(object({ deviceId: number().int().nonnegative() }), _void(), {
32711
32764
  kind: "mutation",
32712
- auth: "admin"
32765
+ auth: "protected"
32713
32766
  }),
32714
32767
  pause: method(object({ deviceId: number().int().nonnegative() }), _void(), {
32715
32768
  kind: "mutation",
32716
- auth: "admin"
32769
+ auth: "protected"
32717
32770
  }),
32718
32771
  stop: method(object({ deviceId: number().int().nonnegative() }), _void(), {
32719
32772
  kind: "mutation",
32720
- auth: "admin"
32773
+ auth: "protected"
32721
32774
  }),
32722
32775
  returnToBase: method(object({ deviceId: number().int().nonnegative() }), _void(), {
32723
32776
  kind: "mutation",
32724
- auth: "admin"
32777
+ auth: "protected"
32725
32778
  }),
32726
32779
  locate: method(object({ deviceId: number().int().nonnegative() }), _void(), {
32727
32780
  kind: "mutation",
32728
- auth: "admin"
32781
+ auth: "protected"
32729
32782
  }),
32730
32783
  setFanSpeed: method(object({
32731
32784
  deviceId: number().int().nonnegative(),
32732
32785
  speed: string().min(1)
32733
32786
  }), _void(), {
32734
32787
  kind: "mutation",
32735
- auth: "admin"
32788
+ auth: "protected"
32736
32789
  })
32737
32790
  },
32738
32791
  status: {
@@ -32776,22 +32829,22 @@ var valveCapability = {
32776
32829
  methods: {
32777
32830
  open: method(object({ deviceId: number().int().nonnegative() }), _void(), {
32778
32831
  kind: "mutation",
32779
- auth: "admin"
32832
+ auth: "protected"
32780
32833
  }),
32781
32834
  close: method(object({ deviceId: number().int().nonnegative() }), _void(), {
32782
32835
  kind: "mutation",
32783
- auth: "admin"
32836
+ auth: "protected"
32784
32837
  }),
32785
32838
  stop: method(object({ deviceId: number().int().nonnegative() }), _void(), {
32786
32839
  kind: "mutation",
32787
- auth: "admin"
32840
+ auth: "protected"
32788
32841
  }),
32789
32842
  setPosition: method(object({
32790
32843
  deviceId: number().int().nonnegative(),
32791
32844
  position: number().min(0).max(100)
32792
32845
  }), _void(), {
32793
32846
  kind: "mutation",
32794
- auth: "admin"
32847
+ auth: "protected"
32795
32848
  })
32796
32849
  },
32797
32850
  status: {
@@ -32890,21 +32943,21 @@ var waterHeaterCapability = {
32890
32943
  temp: number().finite()
32891
32944
  }), _void(), {
32892
32945
  kind: "mutation",
32893
- auth: "admin"
32946
+ auth: "protected"
32894
32947
  }),
32895
32948
  setOperationMode: method(object({
32896
32949
  deviceId: number().int().nonnegative(),
32897
32950
  mode: string().min(1)
32898
32951
  }), _void(), {
32899
32952
  kind: "mutation",
32900
- auth: "admin"
32953
+ auth: "protected"
32901
32954
  }),
32902
32955
  setAway: method(object({
32903
32956
  deviceId: number().int().nonnegative(),
32904
32957
  on: boolean()
32905
32958
  }), _void(), {
32906
32959
  kind: "mutation",
32907
- auth: "admin"
32960
+ auth: "protected"
32908
32961
  })
32909
32962
  },
32910
32963
  status: {
@@ -36871,6 +36924,12 @@ Object.freeze({
36871
36924
  addonId: null,
36872
36925
  access: "create"
36873
36926
  },
36927
+ "faceGallery.auditIdentitySamples": {
36928
+ capName: "face-gallery",
36929
+ capScope: "system",
36930
+ addonId: null,
36931
+ access: "view"
36932
+ },
36874
36933
  "faceGallery.createIdentity": {
36875
36934
  capName: "face-gallery",
36876
36935
  capScope: "system",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@camstack/addon-provider-hikvision",
3
- "version": "1.2.92",
3
+ "version": "1.2.94",
4
4
  "description": "Hikvision camera device provider addon for CamStack — ISAPI over HTTP(S) with digest auth (snapshot, alarm stream, RTSP discovery)",
5
5
  "keywords": [
6
6
  "camstack",