@camstack/addon-provider-petkit 0.2.84 → 0.2.86

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (3) hide show
  1. package/dist/addon.js +129 -70
  2. package/dist/addon.mjs +129 -70
  3. package/package.json +1 -1
package/dist/addon.js CHANGED
@@ -17227,14 +17227,14 @@ var alarmPanelCapability = {
17227
17227
  code: string().min(1).optional()
17228
17228
  }), _void(), {
17229
17229
  kind: "mutation",
17230
- auth: "admin"
17230
+ auth: "protected"
17231
17231
  }),
17232
17232
  disarm: method(object({
17233
17233
  deviceId: number().int().nonnegative(),
17234
17234
  code: string().min(1).optional()
17235
17235
  }), _void(), {
17236
17236
  kind: "mutation",
17237
- auth: "admin"
17237
+ auth: "protected"
17238
17238
  }),
17239
17239
  /**
17240
17240
  * Force the panel into the `triggered` state — used by HA
@@ -17245,7 +17245,7 @@ var alarmPanelCapability = {
17245
17245
  */
17246
17246
  trigger: method(object({ deviceId: number().int().nonnegative() }), _void(), {
17247
17247
  kind: "mutation",
17248
- auth: "admin"
17248
+ auth: "protected"
17249
17249
  })
17250
17250
  },
17251
17251
  status: {
@@ -25212,7 +25212,7 @@ var brightnessCapability = {
25212
25212
  percentage: number().min(0).max(100)
25213
25213
  }), _void(), {
25214
25214
  kind: "mutation",
25215
- auth: "admin"
25215
+ auth: "protected"
25216
25216
  }) },
25217
25217
  events: {
25218
25218
  /**
@@ -25245,7 +25245,7 @@ onBrightnessChanged: { data: object({
25245
25245
  };
25246
25246
  DeviceType.Button, method(object({ deviceId: number().int().nonnegative() }), _void(), {
25247
25247
  kind: "mutation",
25248
- auth: "admin"
25248
+ auth: "protected"
25249
25249
  });
25250
25250
  /**
25251
25251
  * camera-credentials — device-scoped cap exposing the camera's network
@@ -25437,28 +25437,28 @@ var climateControlCapability = {
25437
25437
  mode: HvacModeSchema
25438
25438
  }), _void(), {
25439
25439
  kind: "mutation",
25440
- auth: "admin"
25440
+ auth: "protected"
25441
25441
  }),
25442
25442
  setFanMode: method(object({
25443
25443
  deviceId: number().int().nonnegative(),
25444
25444
  fanMode: string().min(1)
25445
25445
  }), _void(), {
25446
25446
  kind: "mutation",
25447
- auth: "admin"
25447
+ auth: "protected"
25448
25448
  }),
25449
25449
  setPreset: method(object({
25450
25450
  deviceId: number().int().nonnegative(),
25451
25451
  preset: string().min(1)
25452
25452
  }), _void(), {
25453
25453
  kind: "mutation",
25454
- auth: "admin"
25454
+ auth: "protected"
25455
25455
  }),
25456
25456
  setTarget: method(object({
25457
25457
  deviceId: number().int().nonnegative(),
25458
25458
  target: number()
25459
25459
  }), _void(), {
25460
25460
  kind: "mutation",
25461
- auth: "admin"
25461
+ auth: "protected"
25462
25462
  }),
25463
25463
  setTargetRange: method(object({
25464
25464
  deviceId: number().int().nonnegative(),
@@ -25466,28 +25466,28 @@ var climateControlCapability = {
25466
25466
  targetHigh: number()
25467
25467
  }), _void(), {
25468
25468
  kind: "mutation",
25469
- auth: "admin"
25469
+ auth: "protected"
25470
25470
  }),
25471
25471
  setTargetHumidity: method(object({
25472
25472
  deviceId: number().int().nonnegative(),
25473
25473
  targetHumidity: number().min(0).max(100)
25474
25474
  }), _void(), {
25475
25475
  kind: "mutation",
25476
- auth: "admin"
25476
+ auth: "protected"
25477
25477
  }),
25478
25478
  setSwingVertical: method(object({
25479
25479
  deviceId: number().int().nonnegative(),
25480
25480
  on: boolean()
25481
25481
  }), _void(), {
25482
25482
  kind: "mutation",
25483
- auth: "admin"
25483
+ auth: "protected"
25484
25484
  }),
25485
25485
  setSwingHorizontal: method(object({
25486
25486
  deviceId: number().int().nonnegative(),
25487
25487
  on: boolean()
25488
25488
  }), _void(), {
25489
25489
  kind: "mutation",
25490
- auth: "admin"
25490
+ auth: "protected"
25491
25491
  })
25492
25492
  },
25493
25493
  status: {
@@ -25587,7 +25587,7 @@ var colorCapability = {
25587
25587
  color: ColorInputSchema
25588
25588
  }), _void(), {
25589
25589
  kind: "mutation",
25590
- auth: "admin"
25590
+ auth: "protected"
25591
25591
  }) },
25592
25592
  events: {
25593
25593
  /**
@@ -25924,7 +25924,7 @@ var controlCapability = {
25924
25924
  control: ControlSetValueInputSchema
25925
25925
  }), _void(), {
25926
25926
  kind: "mutation",
25927
- auth: "admin"
25927
+ auth: "protected"
25928
25928
  }) },
25929
25929
  status: {
25930
25930
  schema: ControlStatusSchema,
@@ -25970,29 +25970,29 @@ var coverCapability = {
25970
25970
  methods: {
25971
25971
  open: method(object({ deviceId: number().int().nonnegative() }), _void(), {
25972
25972
  kind: "mutation",
25973
- auth: "admin"
25973
+ auth: "protected"
25974
25974
  }),
25975
25975
  close: method(object({ deviceId: number().int().nonnegative() }), _void(), {
25976
25976
  kind: "mutation",
25977
- auth: "admin"
25977
+ auth: "protected"
25978
25978
  }),
25979
25979
  stop: method(object({ deviceId: number().int().nonnegative() }), _void(), {
25980
25980
  kind: "mutation",
25981
- auth: "admin"
25981
+ auth: "protected"
25982
25982
  }),
25983
25983
  setPosition: method(object({
25984
25984
  deviceId: number().int().nonnegative(),
25985
25985
  position: number().min(0).max(100)
25986
25986
  }), _void(), {
25987
25987
  kind: "mutation",
25988
- auth: "admin"
25988
+ auth: "protected"
25989
25989
  }),
25990
25990
  setTiltPosition: method(object({
25991
25991
  deviceId: number().int().nonnegative(),
25992
25992
  tiltPosition: number().min(0).max(100)
25993
25993
  }), _void(), {
25994
25994
  kind: "mutation",
25995
- auth: "admin"
25995
+ auth: "protected"
25996
25996
  })
25997
25997
  },
25998
25998
  status: {
@@ -26378,6 +26378,59 @@ var IdentitySampleInfoSchema = object({
26378
26378
  deviceId: number().int().optional(),
26379
26379
  base64: string().optional()
26380
26380
  });
26381
+ /**
26382
+ * One enrolled sample, judged against the gallery it lives in.
26383
+ *
26384
+ * The gallery is the one input to recognition nobody re-reads: a sample
26385
+ * enrolled from the wrong face keeps voting forever, and because the matches it
26386
+ * pulls then look confident, nobody goes back. The 2026-09-08 audit found
26387
+ * exactly one such pair on this cluster — a sample scoring 0.61 against three
26388
+ * samples of ANOTHER person, enrolled from the same camera in the same minute,
26389
+ * where every other cross-identity pair sits under 0.50.
26390
+ */
26391
+ var IdentitySampleAuditRowSchema = object({
26392
+ sampleId: string(),
26393
+ enrolledAt: number().int(),
26394
+ deviceId: number().int().optional(),
26395
+ source: _enum(["detected", "photo"]),
26396
+ /** The enrolled crop's media key, so the panel can show the evidence. */
26397
+ mediaKey: string().optional(),
26398
+ /**
26399
+ * False = the sample is stamped with a DIFFERENT face model, and a cosine
26400
+ * across feature spaces is a well-formed float with no meaning. Every number
26401
+ * below then says nothing — it must read as "cannot say", never as an
26402
+ * accusation and never as a clean bill: this list ends in a Remove button.
26403
+ */
26404
+ comparable: boolean(),
26405
+ /** Mean cosine against this person's other samples. Null when there are none
26406
+ * to compare with — never 0, which would read as "opposite". */
26407
+ selfMean: number().nullable(),
26408
+ /** The other person this sample looks most like, when it looks like one.
26409
+ * This is the half that convicts: not looking like yourself can be a hard
26410
+ * angle; looking like someone the gallery can NAME is a mis-enrolment. */
26411
+ bestForeign: object({
26412
+ identityId: string(),
26413
+ name: string(),
26414
+ score: number()
26415
+ }).optional(),
26416
+ /** 0 = nothing to say. Higher = look at this one sooner. */
26417
+ suspicion: number()
26418
+ });
26419
+ var IdentitySampleAuditSchema = object({
26420
+ identityId: string(),
26421
+ name: string(),
26422
+ /** The cluster face model every comparison was made in. */
26423
+ modelId: string(),
26424
+ totalSamples: number().int(),
26425
+ comparableSamples: number().int(),
26426
+ flagged: number().int(),
26427
+ /** The bar `flagged` counts against, so the panel states the RULE and not
26428
+ * only its current result. */
26429
+ flagThreshold: number(),
26430
+ /** Worst first. A row with nothing to say still appears, at the bottom: the
26431
+ * operator asked to see the gallery, not only its accusations. */
26432
+ rows: array(IdentitySampleAuditRowSchema).readonly()
26433
+ });
26381
26434
  var FaceInfoSchema = object({
26382
26435
  faceId: string(),
26383
26436
  deviceId: number().int(),
@@ -26529,7 +26582,7 @@ includeCrops: boolean().optional() }).optional(), array(IdentitySchema).readonly
26529
26582
  }), method(object({ id: string() }), _void(), {
26530
26583
  kind: "mutation",
26531
26584
  auth: "admin"
26532
- }), method(object({ identityId: string() }), array(IdentitySampleInfoSchema).readonly()), method(object({
26585
+ }), method(object({ identityId: string() }), array(IdentitySampleInfoSchema).readonly()), method(object({ identityId: string().min(1) }), IdentitySampleAuditSchema, { auth: "admin" }), method(object({
26533
26586
  identityId: string(),
26534
26587
  sampleId: string()
26535
26588
  }), _void(), {
@@ -26722,28 +26775,28 @@ var fanControlCapability = {
26722
26775
  percentage: number().min(0).max(100)
26723
26776
  }), _void(), {
26724
26777
  kind: "mutation",
26725
- auth: "admin"
26778
+ auth: "protected"
26726
26779
  }),
26727
26780
  setPreset: method(object({
26728
26781
  deviceId: number().int().nonnegative(),
26729
26782
  preset: string().min(1)
26730
26783
  }), _void(), {
26731
26784
  kind: "mutation",
26732
- auth: "admin"
26785
+ auth: "protected"
26733
26786
  }),
26734
26787
  setDirection: method(object({
26735
26788
  deviceId: number().int().nonnegative(),
26736
26789
  direction: FanDirectionSchema
26737
26790
  }), _void(), {
26738
26791
  kind: "mutation",
26739
- auth: "admin"
26792
+ auth: "protected"
26740
26793
  }),
26741
26794
  setOscillating: method(object({
26742
26795
  deviceId: number().int().nonnegative(),
26743
26796
  oscillating: boolean()
26744
26797
  }), _void(), {
26745
26798
  kind: "mutation",
26746
- auth: "admin"
26799
+ auth: "protected"
26747
26800
  })
26748
26801
  },
26749
26802
  status: {
@@ -26965,21 +27018,21 @@ var humidifierCapability = {
26965
27018
  on: boolean()
26966
27019
  }), _void(), {
26967
27020
  kind: "mutation",
26968
- auth: "admin"
27021
+ auth: "protected"
26969
27022
  }),
26970
27023
  setTargetHumidity: method(object({
26971
27024
  deviceId: number().int().nonnegative(),
26972
27025
  humidity: number().min(0).max(100)
26973
27026
  }), _void(), {
26974
27027
  kind: "mutation",
26975
- auth: "admin"
27028
+ auth: "protected"
26976
27029
  }),
26977
27030
  setMode: method(object({
26978
27031
  deviceId: number().int().nonnegative(),
26979
27032
  mode: string().min(1)
26980
27033
  }), _void(), {
26981
27034
  kind: "mutation",
26982
- auth: "admin"
27035
+ auth: "protected"
26983
27036
  })
26984
27037
  },
26985
27038
  status: {
@@ -27680,15 +27733,15 @@ var lawnMowerControlCapability = {
27680
27733
  methods: {
27681
27734
  startMowing: method(object({ deviceId: number().int().nonnegative() }), _void(), {
27682
27735
  kind: "mutation",
27683
- auth: "admin"
27736
+ auth: "protected"
27684
27737
  }),
27685
27738
  pause: method(object({ deviceId: number().int().nonnegative() }), _void(), {
27686
27739
  kind: "mutation",
27687
- auth: "admin"
27740
+ auth: "protected"
27688
27741
  }),
27689
27742
  dock: method(object({ deviceId: number().int().nonnegative() }), _void(), {
27690
27743
  kind: "mutation",
27691
- auth: "admin"
27744
+ auth: "protected"
27692
27745
  })
27693
27746
  },
27694
27747
  status: {
@@ -27973,18 +28026,18 @@ var lockControlCapability = {
27973
28026
  code: string().min(1).optional()
27974
28027
  }), _void(), {
27975
28028
  kind: "mutation",
27976
- auth: "admin"
28029
+ auth: "protected"
27977
28030
  }),
27978
28031
  unlock: method(object({
27979
28032
  deviceId: number().int().nonnegative(),
27980
28033
  code: string().min(1).optional()
27981
28034
  }), _void(), {
27982
28035
  kind: "mutation",
27983
- auth: "admin"
28036
+ auth: "protected"
27984
28037
  }),
27985
28038
  open: method(object({ deviceId: number().int().nonnegative() }), _void(), {
27986
28039
  kind: "mutation",
27987
- auth: "admin"
28040
+ auth: "protected"
27988
28041
  })
27989
28042
  },
27990
28043
  status: {
@@ -28087,65 +28140,65 @@ var mediaPlayerCapability = {
28087
28140
  methods: {
28088
28141
  play: method(object({ deviceId: number().int().nonnegative() }), _void(), {
28089
28142
  kind: "mutation",
28090
- auth: "admin"
28143
+ auth: "protected"
28091
28144
  }),
28092
28145
  pause: method(object({ deviceId: number().int().nonnegative() }), _void(), {
28093
28146
  kind: "mutation",
28094
- auth: "admin"
28147
+ auth: "protected"
28095
28148
  }),
28096
28149
  stop: method(object({ deviceId: number().int().nonnegative() }), _void(), {
28097
28150
  kind: "mutation",
28098
- auth: "admin"
28151
+ auth: "protected"
28099
28152
  }),
28100
28153
  next: method(object({ deviceId: number().int().nonnegative() }), _void(), {
28101
28154
  kind: "mutation",
28102
- auth: "admin"
28155
+ auth: "protected"
28103
28156
  }),
28104
28157
  previous: method(object({ deviceId: number().int().nonnegative() }), _void(), {
28105
28158
  kind: "mutation",
28106
- auth: "admin"
28159
+ auth: "protected"
28107
28160
  }),
28108
28161
  seek: method(object({
28109
28162
  deviceId: number().int().nonnegative(),
28110
28163
  positionMs: number().int().nonnegative()
28111
28164
  }), _void(), {
28112
28165
  kind: "mutation",
28113
- auth: "admin"
28166
+ auth: "protected"
28114
28167
  }),
28115
28168
  setVolume: method(object({
28116
28169
  deviceId: number().int().nonnegative(),
28117
28170
  volumeLevel: number().min(0).max(100)
28118
28171
  }), _void(), {
28119
28172
  kind: "mutation",
28120
- auth: "admin"
28173
+ auth: "protected"
28121
28174
  }),
28122
28175
  setMute: method(object({
28123
28176
  deviceId: number().int().nonnegative(),
28124
28177
  muted: boolean()
28125
28178
  }), _void(), {
28126
28179
  kind: "mutation",
28127
- auth: "admin"
28180
+ auth: "protected"
28128
28181
  }),
28129
28182
  setShuffle: method(object({
28130
28183
  deviceId: number().int().nonnegative(),
28131
28184
  shuffle: boolean()
28132
28185
  }), _void(), {
28133
28186
  kind: "mutation",
28134
- auth: "admin"
28187
+ auth: "protected"
28135
28188
  }),
28136
28189
  setRepeat: method(object({
28137
28190
  deviceId: number().int().nonnegative(),
28138
28191
  repeat: MediaPlayerRepeatSchema
28139
28192
  }), _void(), {
28140
28193
  kind: "mutation",
28141
- auth: "admin"
28194
+ auth: "protected"
28142
28195
  }),
28143
28196
  selectSource: method(object({
28144
28197
  deviceId: number().int().nonnegative(),
28145
28198
  source: string().min(1)
28146
28199
  }), _void(), {
28147
28200
  kind: "mutation",
28148
- auth: "admin"
28201
+ auth: "protected"
28149
28202
  }),
28150
28203
  playMedia: method(object({
28151
28204
  deviceId: number().int().nonnegative(),
@@ -28156,7 +28209,7 @@ var mediaPlayerCapability = {
28156
28209
  mediaType: string().min(1)
28157
28210
  }), _void(), {
28158
28211
  kind: "mutation",
28159
- auth: "admin"
28212
+ auth: "protected"
28160
28213
  })
28161
28214
  },
28162
28215
  status: {
@@ -29749,27 +29802,27 @@ var petFeederCapability = {
29749
29802
  hopper2: gramsPortion.optional()
29750
29803
  }), _void(), {
29751
29804
  kind: "mutation",
29752
- auth: "admin"
29805
+ auth: "protected"
29753
29806
  }),
29754
29807
  /** Cancel an in-progress manual feed. */
29755
29808
  cancelFeed: method(object({ deviceId: number().int().nonnegative() }), _void(), {
29756
29809
  kind: "mutation",
29757
- auth: "admin"
29810
+ auth: "protected"
29758
29811
  }),
29759
29812
  /** Reset the desiccant "days remaining" counter after replacing it. */
29760
29813
  resetDesiccant: method(object({ deviceId: number().int().nonnegative() }), _void(), {
29761
29814
  kind: "mutation",
29762
- auth: "admin"
29815
+ auth: "protected"
29763
29816
  }),
29764
29817
  /** Mark a hopper as refilled (D4H/D4S/D4SH). */
29765
29818
  markFoodReplenished: method(object({ deviceId: number().int().nonnegative() }), _void(), {
29766
29819
  kind: "mutation",
29767
- auth: "admin"
29820
+ auth: "protected"
29768
29821
  }),
29769
29822
  /** Call the pet with the recorded prompt (D3). */
29770
29823
  callPet: method(object({ deviceId: number().int().nonnegative() }), _void(), {
29771
29824
  kind: "mutation",
29772
- auth: "admin"
29825
+ auth: "protected"
29773
29826
  }),
29774
29827
  /** Play a stored sound by id (D3 / D4H / D4SH). */
29775
29828
  playSound: method(object({
@@ -29777,7 +29830,7 @@ var petFeederCapability = {
29777
29830
  soundId: number().int().nonnegative()
29778
29831
  }), _void(), {
29779
29832
  kind: "mutation",
29780
- auth: "admin"
29833
+ auth: "protected"
29781
29834
  }),
29782
29835
  /** Toggle the child-lock (manual-lock) setting. */
29783
29836
  setChildLock: method(object({
@@ -29785,7 +29838,7 @@ var petFeederCapability = {
29785
29838
  on: boolean()
29786
29839
  }), _void(), {
29787
29840
  kind: "mutation",
29788
- auth: "admin"
29841
+ auth: "protected"
29789
29842
  }),
29790
29843
  /** Toggle the front indicator light. */
29791
29844
  setIndicatorLight: method(object({
@@ -29793,7 +29846,7 @@ var petFeederCapability = {
29793
29846
  on: boolean()
29794
29847
  }), _void(), {
29795
29848
  kind: "mutation",
29796
- auth: "admin"
29849
+ auth: "protected"
29797
29850
  }),
29798
29851
  /** Toggle the dispense chime. */
29799
29852
  setFeedSound: method(object({
@@ -29801,7 +29854,7 @@ var petFeederCapability = {
29801
29854
  on: boolean()
29802
29855
  }), _void(), {
29803
29856
  kind: "mutation",
29804
- auth: "admin"
29857
+ auth: "protected"
29805
29858
  }),
29806
29859
  /** Set the speaker / prompt volume level. */
29807
29860
  setVolume: method(object({
@@ -29809,7 +29862,7 @@ var petFeederCapability = {
29809
29862
  level: number().int().nonnegative()
29810
29863
  }), _void(), {
29811
29864
  kind: "mutation",
29812
- auth: "admin"
29865
+ auth: "protected"
29813
29866
  })
29814
29867
  },
29815
29868
  status: {
@@ -32105,7 +32158,7 @@ var switchCapability = {
32105
32158
  on: boolean()
32106
32159
  }), _void(), {
32107
32160
  kind: "mutation",
32108
- auth: "admin"
32161
+ auth: "protected"
32109
32162
  }) },
32110
32163
  events: { onStateChanged: { data: object({
32111
32164
  deviceId: number(),
@@ -33093,30 +33146,30 @@ var vacuumControlCapability = {
33093
33146
  methods: {
33094
33147
  start: method(object({ deviceId: number().int().nonnegative() }), _void(), {
33095
33148
  kind: "mutation",
33096
- auth: "admin"
33149
+ auth: "protected"
33097
33150
  }),
33098
33151
  pause: method(object({ deviceId: number().int().nonnegative() }), _void(), {
33099
33152
  kind: "mutation",
33100
- auth: "admin"
33153
+ auth: "protected"
33101
33154
  }),
33102
33155
  stop: method(object({ deviceId: number().int().nonnegative() }), _void(), {
33103
33156
  kind: "mutation",
33104
- auth: "admin"
33157
+ auth: "protected"
33105
33158
  }),
33106
33159
  returnToBase: method(object({ deviceId: number().int().nonnegative() }), _void(), {
33107
33160
  kind: "mutation",
33108
- auth: "admin"
33161
+ auth: "protected"
33109
33162
  }),
33110
33163
  locate: method(object({ deviceId: number().int().nonnegative() }), _void(), {
33111
33164
  kind: "mutation",
33112
- auth: "admin"
33165
+ auth: "protected"
33113
33166
  }),
33114
33167
  setFanSpeed: method(object({
33115
33168
  deviceId: number().int().nonnegative(),
33116
33169
  speed: string().min(1)
33117
33170
  }), _void(), {
33118
33171
  kind: "mutation",
33119
- auth: "admin"
33172
+ auth: "protected"
33120
33173
  })
33121
33174
  },
33122
33175
  status: {
@@ -33160,22 +33213,22 @@ var valveCapability = {
33160
33213
  methods: {
33161
33214
  open: method(object({ deviceId: number().int().nonnegative() }), _void(), {
33162
33215
  kind: "mutation",
33163
- auth: "admin"
33216
+ auth: "protected"
33164
33217
  }),
33165
33218
  close: method(object({ deviceId: number().int().nonnegative() }), _void(), {
33166
33219
  kind: "mutation",
33167
- auth: "admin"
33220
+ auth: "protected"
33168
33221
  }),
33169
33222
  stop: method(object({ deviceId: number().int().nonnegative() }), _void(), {
33170
33223
  kind: "mutation",
33171
- auth: "admin"
33224
+ auth: "protected"
33172
33225
  }),
33173
33226
  setPosition: method(object({
33174
33227
  deviceId: number().int().nonnegative(),
33175
33228
  position: number().min(0).max(100)
33176
33229
  }), _void(), {
33177
33230
  kind: "mutation",
33178
- auth: "admin"
33231
+ auth: "protected"
33179
33232
  })
33180
33233
  },
33181
33234
  status: {
@@ -33274,21 +33327,21 @@ var waterHeaterCapability = {
33274
33327
  temp: number().finite()
33275
33328
  }), _void(), {
33276
33329
  kind: "mutation",
33277
- auth: "admin"
33330
+ auth: "protected"
33278
33331
  }),
33279
33332
  setOperationMode: method(object({
33280
33333
  deviceId: number().int().nonnegative(),
33281
33334
  mode: string().min(1)
33282
33335
  }), _void(), {
33283
33336
  kind: "mutation",
33284
- auth: "admin"
33337
+ auth: "protected"
33285
33338
  }),
33286
33339
  setAway: method(object({
33287
33340
  deviceId: number().int().nonnegative(),
33288
33341
  on: boolean()
33289
33342
  }), _void(), {
33290
33343
  kind: "mutation",
33291
- auth: "admin"
33344
+ auth: "protected"
33292
33345
  })
33293
33346
  },
33294
33347
  status: {
@@ -37022,6 +37075,12 @@ Object.freeze({
37022
37075
  addonId: null,
37023
37076
  access: "create"
37024
37077
  },
37078
+ "faceGallery.auditIdentitySamples": {
37079
+ capName: "face-gallery",
37080
+ capScope: "system",
37081
+ addonId: null,
37082
+ access: "view"
37083
+ },
37025
37084
  "faceGallery.createIdentity": {
37026
37085
  capName: "face-gallery",
37027
37086
  capScope: "system",
package/dist/addon.mjs CHANGED
@@ -17226,14 +17226,14 @@ var alarmPanelCapability = {
17226
17226
  code: string().min(1).optional()
17227
17227
  }), _void(), {
17228
17228
  kind: "mutation",
17229
- auth: "admin"
17229
+ auth: "protected"
17230
17230
  }),
17231
17231
  disarm: method(object({
17232
17232
  deviceId: number().int().nonnegative(),
17233
17233
  code: string().min(1).optional()
17234
17234
  }), _void(), {
17235
17235
  kind: "mutation",
17236
- auth: "admin"
17236
+ auth: "protected"
17237
17237
  }),
17238
17238
  /**
17239
17239
  * Force the panel into the `triggered` state — used by HA
@@ -17244,7 +17244,7 @@ var alarmPanelCapability = {
17244
17244
  */
17245
17245
  trigger: method(object({ deviceId: number().int().nonnegative() }), _void(), {
17246
17246
  kind: "mutation",
17247
- auth: "admin"
17247
+ auth: "protected"
17248
17248
  })
17249
17249
  },
17250
17250
  status: {
@@ -25211,7 +25211,7 @@ var brightnessCapability = {
25211
25211
  percentage: number().min(0).max(100)
25212
25212
  }), _void(), {
25213
25213
  kind: "mutation",
25214
- auth: "admin"
25214
+ auth: "protected"
25215
25215
  }) },
25216
25216
  events: {
25217
25217
  /**
@@ -25244,7 +25244,7 @@ onBrightnessChanged: { data: object({
25244
25244
  };
25245
25245
  DeviceType.Button, method(object({ deviceId: number().int().nonnegative() }), _void(), {
25246
25246
  kind: "mutation",
25247
- auth: "admin"
25247
+ auth: "protected"
25248
25248
  });
25249
25249
  /**
25250
25250
  * camera-credentials — device-scoped cap exposing the camera's network
@@ -25436,28 +25436,28 @@ var climateControlCapability = {
25436
25436
  mode: HvacModeSchema
25437
25437
  }), _void(), {
25438
25438
  kind: "mutation",
25439
- auth: "admin"
25439
+ auth: "protected"
25440
25440
  }),
25441
25441
  setFanMode: method(object({
25442
25442
  deviceId: number().int().nonnegative(),
25443
25443
  fanMode: string().min(1)
25444
25444
  }), _void(), {
25445
25445
  kind: "mutation",
25446
- auth: "admin"
25446
+ auth: "protected"
25447
25447
  }),
25448
25448
  setPreset: method(object({
25449
25449
  deviceId: number().int().nonnegative(),
25450
25450
  preset: string().min(1)
25451
25451
  }), _void(), {
25452
25452
  kind: "mutation",
25453
- auth: "admin"
25453
+ auth: "protected"
25454
25454
  }),
25455
25455
  setTarget: method(object({
25456
25456
  deviceId: number().int().nonnegative(),
25457
25457
  target: number()
25458
25458
  }), _void(), {
25459
25459
  kind: "mutation",
25460
- auth: "admin"
25460
+ auth: "protected"
25461
25461
  }),
25462
25462
  setTargetRange: method(object({
25463
25463
  deviceId: number().int().nonnegative(),
@@ -25465,28 +25465,28 @@ var climateControlCapability = {
25465
25465
  targetHigh: number()
25466
25466
  }), _void(), {
25467
25467
  kind: "mutation",
25468
- auth: "admin"
25468
+ auth: "protected"
25469
25469
  }),
25470
25470
  setTargetHumidity: method(object({
25471
25471
  deviceId: number().int().nonnegative(),
25472
25472
  targetHumidity: number().min(0).max(100)
25473
25473
  }), _void(), {
25474
25474
  kind: "mutation",
25475
- auth: "admin"
25475
+ auth: "protected"
25476
25476
  }),
25477
25477
  setSwingVertical: method(object({
25478
25478
  deviceId: number().int().nonnegative(),
25479
25479
  on: boolean()
25480
25480
  }), _void(), {
25481
25481
  kind: "mutation",
25482
- auth: "admin"
25482
+ auth: "protected"
25483
25483
  }),
25484
25484
  setSwingHorizontal: method(object({
25485
25485
  deviceId: number().int().nonnegative(),
25486
25486
  on: boolean()
25487
25487
  }), _void(), {
25488
25488
  kind: "mutation",
25489
- auth: "admin"
25489
+ auth: "protected"
25490
25490
  })
25491
25491
  },
25492
25492
  status: {
@@ -25586,7 +25586,7 @@ var colorCapability = {
25586
25586
  color: ColorInputSchema
25587
25587
  }), _void(), {
25588
25588
  kind: "mutation",
25589
- auth: "admin"
25589
+ auth: "protected"
25590
25590
  }) },
25591
25591
  events: {
25592
25592
  /**
@@ -25923,7 +25923,7 @@ var controlCapability = {
25923
25923
  control: ControlSetValueInputSchema
25924
25924
  }), _void(), {
25925
25925
  kind: "mutation",
25926
- auth: "admin"
25926
+ auth: "protected"
25927
25927
  }) },
25928
25928
  status: {
25929
25929
  schema: ControlStatusSchema,
@@ -25969,29 +25969,29 @@ var coverCapability = {
25969
25969
  methods: {
25970
25970
  open: method(object({ deviceId: number().int().nonnegative() }), _void(), {
25971
25971
  kind: "mutation",
25972
- auth: "admin"
25972
+ auth: "protected"
25973
25973
  }),
25974
25974
  close: method(object({ deviceId: number().int().nonnegative() }), _void(), {
25975
25975
  kind: "mutation",
25976
- auth: "admin"
25976
+ auth: "protected"
25977
25977
  }),
25978
25978
  stop: method(object({ deviceId: number().int().nonnegative() }), _void(), {
25979
25979
  kind: "mutation",
25980
- auth: "admin"
25980
+ auth: "protected"
25981
25981
  }),
25982
25982
  setPosition: method(object({
25983
25983
  deviceId: number().int().nonnegative(),
25984
25984
  position: number().min(0).max(100)
25985
25985
  }), _void(), {
25986
25986
  kind: "mutation",
25987
- auth: "admin"
25987
+ auth: "protected"
25988
25988
  }),
25989
25989
  setTiltPosition: method(object({
25990
25990
  deviceId: number().int().nonnegative(),
25991
25991
  tiltPosition: number().min(0).max(100)
25992
25992
  }), _void(), {
25993
25993
  kind: "mutation",
25994
- auth: "admin"
25994
+ auth: "protected"
25995
25995
  })
25996
25996
  },
25997
25997
  status: {
@@ -26377,6 +26377,59 @@ var IdentitySampleInfoSchema = object({
26377
26377
  deviceId: number().int().optional(),
26378
26378
  base64: string().optional()
26379
26379
  });
26380
+ /**
26381
+ * One enrolled sample, judged against the gallery it lives in.
26382
+ *
26383
+ * The gallery is the one input to recognition nobody re-reads: a sample
26384
+ * enrolled from the wrong face keeps voting forever, and because the matches it
26385
+ * pulls then look confident, nobody goes back. The 2026-09-08 audit found
26386
+ * exactly one such pair on this cluster — a sample scoring 0.61 against three
26387
+ * samples of ANOTHER person, enrolled from the same camera in the same minute,
26388
+ * where every other cross-identity pair sits under 0.50.
26389
+ */
26390
+ var IdentitySampleAuditRowSchema = object({
26391
+ sampleId: string(),
26392
+ enrolledAt: number().int(),
26393
+ deviceId: number().int().optional(),
26394
+ source: _enum(["detected", "photo"]),
26395
+ /** The enrolled crop's media key, so the panel can show the evidence. */
26396
+ mediaKey: string().optional(),
26397
+ /**
26398
+ * False = the sample is stamped with a DIFFERENT face model, and a cosine
26399
+ * across feature spaces is a well-formed float with no meaning. Every number
26400
+ * below then says nothing — it must read as "cannot say", never as an
26401
+ * accusation and never as a clean bill: this list ends in a Remove button.
26402
+ */
26403
+ comparable: boolean(),
26404
+ /** Mean cosine against this person's other samples. Null when there are none
26405
+ * to compare with — never 0, which would read as "opposite". */
26406
+ selfMean: number().nullable(),
26407
+ /** The other person this sample looks most like, when it looks like one.
26408
+ * This is the half that convicts: not looking like yourself can be a hard
26409
+ * angle; looking like someone the gallery can NAME is a mis-enrolment. */
26410
+ bestForeign: object({
26411
+ identityId: string(),
26412
+ name: string(),
26413
+ score: number()
26414
+ }).optional(),
26415
+ /** 0 = nothing to say. Higher = look at this one sooner. */
26416
+ suspicion: number()
26417
+ });
26418
+ var IdentitySampleAuditSchema = object({
26419
+ identityId: string(),
26420
+ name: string(),
26421
+ /** The cluster face model every comparison was made in. */
26422
+ modelId: string(),
26423
+ totalSamples: number().int(),
26424
+ comparableSamples: number().int(),
26425
+ flagged: number().int(),
26426
+ /** The bar `flagged` counts against, so the panel states the RULE and not
26427
+ * only its current result. */
26428
+ flagThreshold: number(),
26429
+ /** Worst first. A row with nothing to say still appears, at the bottom: the
26430
+ * operator asked to see the gallery, not only its accusations. */
26431
+ rows: array(IdentitySampleAuditRowSchema).readonly()
26432
+ });
26380
26433
  var FaceInfoSchema = object({
26381
26434
  faceId: string(),
26382
26435
  deviceId: number().int(),
@@ -26528,7 +26581,7 @@ includeCrops: boolean().optional() }).optional(), array(IdentitySchema).readonly
26528
26581
  }), method(object({ id: string() }), _void(), {
26529
26582
  kind: "mutation",
26530
26583
  auth: "admin"
26531
- }), method(object({ identityId: string() }), array(IdentitySampleInfoSchema).readonly()), method(object({
26584
+ }), method(object({ identityId: string() }), array(IdentitySampleInfoSchema).readonly()), method(object({ identityId: string().min(1) }), IdentitySampleAuditSchema, { auth: "admin" }), method(object({
26532
26585
  identityId: string(),
26533
26586
  sampleId: string()
26534
26587
  }), _void(), {
@@ -26721,28 +26774,28 @@ var fanControlCapability = {
26721
26774
  percentage: number().min(0).max(100)
26722
26775
  }), _void(), {
26723
26776
  kind: "mutation",
26724
- auth: "admin"
26777
+ auth: "protected"
26725
26778
  }),
26726
26779
  setPreset: method(object({
26727
26780
  deviceId: number().int().nonnegative(),
26728
26781
  preset: string().min(1)
26729
26782
  }), _void(), {
26730
26783
  kind: "mutation",
26731
- auth: "admin"
26784
+ auth: "protected"
26732
26785
  }),
26733
26786
  setDirection: method(object({
26734
26787
  deviceId: number().int().nonnegative(),
26735
26788
  direction: FanDirectionSchema
26736
26789
  }), _void(), {
26737
26790
  kind: "mutation",
26738
- auth: "admin"
26791
+ auth: "protected"
26739
26792
  }),
26740
26793
  setOscillating: method(object({
26741
26794
  deviceId: number().int().nonnegative(),
26742
26795
  oscillating: boolean()
26743
26796
  }), _void(), {
26744
26797
  kind: "mutation",
26745
- auth: "admin"
26798
+ auth: "protected"
26746
26799
  })
26747
26800
  },
26748
26801
  status: {
@@ -26964,21 +27017,21 @@ var humidifierCapability = {
26964
27017
  on: boolean()
26965
27018
  }), _void(), {
26966
27019
  kind: "mutation",
26967
- auth: "admin"
27020
+ auth: "protected"
26968
27021
  }),
26969
27022
  setTargetHumidity: method(object({
26970
27023
  deviceId: number().int().nonnegative(),
26971
27024
  humidity: number().min(0).max(100)
26972
27025
  }), _void(), {
26973
27026
  kind: "mutation",
26974
- auth: "admin"
27027
+ auth: "protected"
26975
27028
  }),
26976
27029
  setMode: method(object({
26977
27030
  deviceId: number().int().nonnegative(),
26978
27031
  mode: string().min(1)
26979
27032
  }), _void(), {
26980
27033
  kind: "mutation",
26981
- auth: "admin"
27034
+ auth: "protected"
26982
27035
  })
26983
27036
  },
26984
27037
  status: {
@@ -27679,15 +27732,15 @@ var lawnMowerControlCapability = {
27679
27732
  methods: {
27680
27733
  startMowing: method(object({ deviceId: number().int().nonnegative() }), _void(), {
27681
27734
  kind: "mutation",
27682
- auth: "admin"
27735
+ auth: "protected"
27683
27736
  }),
27684
27737
  pause: method(object({ deviceId: number().int().nonnegative() }), _void(), {
27685
27738
  kind: "mutation",
27686
- auth: "admin"
27739
+ auth: "protected"
27687
27740
  }),
27688
27741
  dock: method(object({ deviceId: number().int().nonnegative() }), _void(), {
27689
27742
  kind: "mutation",
27690
- auth: "admin"
27743
+ auth: "protected"
27691
27744
  })
27692
27745
  },
27693
27746
  status: {
@@ -27972,18 +28025,18 @@ var lockControlCapability = {
27972
28025
  code: string().min(1).optional()
27973
28026
  }), _void(), {
27974
28027
  kind: "mutation",
27975
- auth: "admin"
28028
+ auth: "protected"
27976
28029
  }),
27977
28030
  unlock: method(object({
27978
28031
  deviceId: number().int().nonnegative(),
27979
28032
  code: string().min(1).optional()
27980
28033
  }), _void(), {
27981
28034
  kind: "mutation",
27982
- auth: "admin"
28035
+ auth: "protected"
27983
28036
  }),
27984
28037
  open: method(object({ deviceId: number().int().nonnegative() }), _void(), {
27985
28038
  kind: "mutation",
27986
- auth: "admin"
28039
+ auth: "protected"
27987
28040
  })
27988
28041
  },
27989
28042
  status: {
@@ -28086,65 +28139,65 @@ var mediaPlayerCapability = {
28086
28139
  methods: {
28087
28140
  play: method(object({ deviceId: number().int().nonnegative() }), _void(), {
28088
28141
  kind: "mutation",
28089
- auth: "admin"
28142
+ auth: "protected"
28090
28143
  }),
28091
28144
  pause: method(object({ deviceId: number().int().nonnegative() }), _void(), {
28092
28145
  kind: "mutation",
28093
- auth: "admin"
28146
+ auth: "protected"
28094
28147
  }),
28095
28148
  stop: method(object({ deviceId: number().int().nonnegative() }), _void(), {
28096
28149
  kind: "mutation",
28097
- auth: "admin"
28150
+ auth: "protected"
28098
28151
  }),
28099
28152
  next: method(object({ deviceId: number().int().nonnegative() }), _void(), {
28100
28153
  kind: "mutation",
28101
- auth: "admin"
28154
+ auth: "protected"
28102
28155
  }),
28103
28156
  previous: method(object({ deviceId: number().int().nonnegative() }), _void(), {
28104
28157
  kind: "mutation",
28105
- auth: "admin"
28158
+ auth: "protected"
28106
28159
  }),
28107
28160
  seek: method(object({
28108
28161
  deviceId: number().int().nonnegative(),
28109
28162
  positionMs: number().int().nonnegative()
28110
28163
  }), _void(), {
28111
28164
  kind: "mutation",
28112
- auth: "admin"
28165
+ auth: "protected"
28113
28166
  }),
28114
28167
  setVolume: method(object({
28115
28168
  deviceId: number().int().nonnegative(),
28116
28169
  volumeLevel: number().min(0).max(100)
28117
28170
  }), _void(), {
28118
28171
  kind: "mutation",
28119
- auth: "admin"
28172
+ auth: "protected"
28120
28173
  }),
28121
28174
  setMute: method(object({
28122
28175
  deviceId: number().int().nonnegative(),
28123
28176
  muted: boolean()
28124
28177
  }), _void(), {
28125
28178
  kind: "mutation",
28126
- auth: "admin"
28179
+ auth: "protected"
28127
28180
  }),
28128
28181
  setShuffle: method(object({
28129
28182
  deviceId: number().int().nonnegative(),
28130
28183
  shuffle: boolean()
28131
28184
  }), _void(), {
28132
28185
  kind: "mutation",
28133
- auth: "admin"
28186
+ auth: "protected"
28134
28187
  }),
28135
28188
  setRepeat: method(object({
28136
28189
  deviceId: number().int().nonnegative(),
28137
28190
  repeat: MediaPlayerRepeatSchema
28138
28191
  }), _void(), {
28139
28192
  kind: "mutation",
28140
- auth: "admin"
28193
+ auth: "protected"
28141
28194
  }),
28142
28195
  selectSource: method(object({
28143
28196
  deviceId: number().int().nonnegative(),
28144
28197
  source: string().min(1)
28145
28198
  }), _void(), {
28146
28199
  kind: "mutation",
28147
- auth: "admin"
28200
+ auth: "protected"
28148
28201
  }),
28149
28202
  playMedia: method(object({
28150
28203
  deviceId: number().int().nonnegative(),
@@ -28155,7 +28208,7 @@ var mediaPlayerCapability = {
28155
28208
  mediaType: string().min(1)
28156
28209
  }), _void(), {
28157
28210
  kind: "mutation",
28158
- auth: "admin"
28211
+ auth: "protected"
28159
28212
  })
28160
28213
  },
28161
28214
  status: {
@@ -29748,27 +29801,27 @@ var petFeederCapability = {
29748
29801
  hopper2: gramsPortion.optional()
29749
29802
  }), _void(), {
29750
29803
  kind: "mutation",
29751
- auth: "admin"
29804
+ auth: "protected"
29752
29805
  }),
29753
29806
  /** Cancel an in-progress manual feed. */
29754
29807
  cancelFeed: method(object({ deviceId: number().int().nonnegative() }), _void(), {
29755
29808
  kind: "mutation",
29756
- auth: "admin"
29809
+ auth: "protected"
29757
29810
  }),
29758
29811
  /** Reset the desiccant "days remaining" counter after replacing it. */
29759
29812
  resetDesiccant: method(object({ deviceId: number().int().nonnegative() }), _void(), {
29760
29813
  kind: "mutation",
29761
- auth: "admin"
29814
+ auth: "protected"
29762
29815
  }),
29763
29816
  /** Mark a hopper as refilled (D4H/D4S/D4SH). */
29764
29817
  markFoodReplenished: method(object({ deviceId: number().int().nonnegative() }), _void(), {
29765
29818
  kind: "mutation",
29766
- auth: "admin"
29819
+ auth: "protected"
29767
29820
  }),
29768
29821
  /** Call the pet with the recorded prompt (D3). */
29769
29822
  callPet: method(object({ deviceId: number().int().nonnegative() }), _void(), {
29770
29823
  kind: "mutation",
29771
- auth: "admin"
29824
+ auth: "protected"
29772
29825
  }),
29773
29826
  /** Play a stored sound by id (D3 / D4H / D4SH). */
29774
29827
  playSound: method(object({
@@ -29776,7 +29829,7 @@ var petFeederCapability = {
29776
29829
  soundId: number().int().nonnegative()
29777
29830
  }), _void(), {
29778
29831
  kind: "mutation",
29779
- auth: "admin"
29832
+ auth: "protected"
29780
29833
  }),
29781
29834
  /** Toggle the child-lock (manual-lock) setting. */
29782
29835
  setChildLock: method(object({
@@ -29784,7 +29837,7 @@ var petFeederCapability = {
29784
29837
  on: boolean()
29785
29838
  }), _void(), {
29786
29839
  kind: "mutation",
29787
- auth: "admin"
29840
+ auth: "protected"
29788
29841
  }),
29789
29842
  /** Toggle the front indicator light. */
29790
29843
  setIndicatorLight: method(object({
@@ -29792,7 +29845,7 @@ var petFeederCapability = {
29792
29845
  on: boolean()
29793
29846
  }), _void(), {
29794
29847
  kind: "mutation",
29795
- auth: "admin"
29848
+ auth: "protected"
29796
29849
  }),
29797
29850
  /** Toggle the dispense chime. */
29798
29851
  setFeedSound: method(object({
@@ -29800,7 +29853,7 @@ var petFeederCapability = {
29800
29853
  on: boolean()
29801
29854
  }), _void(), {
29802
29855
  kind: "mutation",
29803
- auth: "admin"
29856
+ auth: "protected"
29804
29857
  }),
29805
29858
  /** Set the speaker / prompt volume level. */
29806
29859
  setVolume: method(object({
@@ -29808,7 +29861,7 @@ var petFeederCapability = {
29808
29861
  level: number().int().nonnegative()
29809
29862
  }), _void(), {
29810
29863
  kind: "mutation",
29811
- auth: "admin"
29864
+ auth: "protected"
29812
29865
  })
29813
29866
  },
29814
29867
  status: {
@@ -32104,7 +32157,7 @@ var switchCapability = {
32104
32157
  on: boolean()
32105
32158
  }), _void(), {
32106
32159
  kind: "mutation",
32107
- auth: "admin"
32160
+ auth: "protected"
32108
32161
  }) },
32109
32162
  events: { onStateChanged: { data: object({
32110
32163
  deviceId: number(),
@@ -33092,30 +33145,30 @@ var vacuumControlCapability = {
33092
33145
  methods: {
33093
33146
  start: method(object({ deviceId: number().int().nonnegative() }), _void(), {
33094
33147
  kind: "mutation",
33095
- auth: "admin"
33148
+ auth: "protected"
33096
33149
  }),
33097
33150
  pause: method(object({ deviceId: number().int().nonnegative() }), _void(), {
33098
33151
  kind: "mutation",
33099
- auth: "admin"
33152
+ auth: "protected"
33100
33153
  }),
33101
33154
  stop: method(object({ deviceId: number().int().nonnegative() }), _void(), {
33102
33155
  kind: "mutation",
33103
- auth: "admin"
33156
+ auth: "protected"
33104
33157
  }),
33105
33158
  returnToBase: method(object({ deviceId: number().int().nonnegative() }), _void(), {
33106
33159
  kind: "mutation",
33107
- auth: "admin"
33160
+ auth: "protected"
33108
33161
  }),
33109
33162
  locate: method(object({ deviceId: number().int().nonnegative() }), _void(), {
33110
33163
  kind: "mutation",
33111
- auth: "admin"
33164
+ auth: "protected"
33112
33165
  }),
33113
33166
  setFanSpeed: method(object({
33114
33167
  deviceId: number().int().nonnegative(),
33115
33168
  speed: string().min(1)
33116
33169
  }), _void(), {
33117
33170
  kind: "mutation",
33118
- auth: "admin"
33171
+ auth: "protected"
33119
33172
  })
33120
33173
  },
33121
33174
  status: {
@@ -33159,22 +33212,22 @@ var valveCapability = {
33159
33212
  methods: {
33160
33213
  open: method(object({ deviceId: number().int().nonnegative() }), _void(), {
33161
33214
  kind: "mutation",
33162
- auth: "admin"
33215
+ auth: "protected"
33163
33216
  }),
33164
33217
  close: method(object({ deviceId: number().int().nonnegative() }), _void(), {
33165
33218
  kind: "mutation",
33166
- auth: "admin"
33219
+ auth: "protected"
33167
33220
  }),
33168
33221
  stop: method(object({ deviceId: number().int().nonnegative() }), _void(), {
33169
33222
  kind: "mutation",
33170
- auth: "admin"
33223
+ auth: "protected"
33171
33224
  }),
33172
33225
  setPosition: method(object({
33173
33226
  deviceId: number().int().nonnegative(),
33174
33227
  position: number().min(0).max(100)
33175
33228
  }), _void(), {
33176
33229
  kind: "mutation",
33177
- auth: "admin"
33230
+ auth: "protected"
33178
33231
  })
33179
33232
  },
33180
33233
  status: {
@@ -33273,21 +33326,21 @@ var waterHeaterCapability = {
33273
33326
  temp: number().finite()
33274
33327
  }), _void(), {
33275
33328
  kind: "mutation",
33276
- auth: "admin"
33329
+ auth: "protected"
33277
33330
  }),
33278
33331
  setOperationMode: method(object({
33279
33332
  deviceId: number().int().nonnegative(),
33280
33333
  mode: string().min(1)
33281
33334
  }), _void(), {
33282
33335
  kind: "mutation",
33283
- auth: "admin"
33336
+ auth: "protected"
33284
33337
  }),
33285
33338
  setAway: method(object({
33286
33339
  deviceId: number().int().nonnegative(),
33287
33340
  on: boolean()
33288
33341
  }), _void(), {
33289
33342
  kind: "mutation",
33290
- auth: "admin"
33343
+ auth: "protected"
33291
33344
  })
33292
33345
  },
33293
33346
  status: {
@@ -37021,6 +37074,12 @@ Object.freeze({
37021
37074
  addonId: null,
37022
37075
  access: "create"
37023
37076
  },
37077
+ "faceGallery.auditIdentitySamples": {
37078
+ capName: "face-gallery",
37079
+ capScope: "system",
37080
+ addonId: null,
37081
+ access: "view"
37082
+ },
37024
37083
  "faceGallery.createIdentity": {
37025
37084
  capName: "face-gallery",
37026
37085
  capScope: "system",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@camstack/addon-provider-petkit",
3
- "version": "0.2.84",
3
+ "version": "0.2.86",
4
4
  "description": "PetKit smart-feeder device-provider addon for CamStack — wraps the @apocaliss92/nodepetkit PetKit cloud client",
5
5
  "keywords": [
6
6
  "camstack",