@camstack/addon-provider-gree 0.2.83 → 0.2.85

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
@@ -16111,14 +16111,14 @@ var alarmPanelCapability = {
16111
16111
  code: string().min(1).optional()
16112
16112
  }), _void(), {
16113
16113
  kind: "mutation",
16114
- auth: "admin"
16114
+ auth: "protected"
16115
16115
  }),
16116
16116
  disarm: method(object({
16117
16117
  deviceId: number().int().nonnegative(),
16118
16118
  code: string().min(1).optional()
16119
16119
  }), _void(), {
16120
16120
  kind: "mutation",
16121
- auth: "admin"
16121
+ auth: "protected"
16122
16122
  }),
16123
16123
  /**
16124
16124
  * Force the panel into the `triggered` state — used by HA
@@ -16129,7 +16129,7 @@ var alarmPanelCapability = {
16129
16129
  */
16130
16130
  trigger: method(object({ deviceId: number().int().nonnegative() }), _void(), {
16131
16131
  kind: "mutation",
16132
- auth: "admin"
16132
+ auth: "protected"
16133
16133
  })
16134
16134
  },
16135
16135
  status: {
@@ -24096,7 +24096,7 @@ var brightnessCapability = {
24096
24096
  percentage: number().min(0).max(100)
24097
24097
  }), _void(), {
24098
24098
  kind: "mutation",
24099
- auth: "admin"
24099
+ auth: "protected"
24100
24100
  }) },
24101
24101
  events: {
24102
24102
  /**
@@ -24129,7 +24129,7 @@ onBrightnessChanged: { data: object({
24129
24129
  };
24130
24130
  DeviceType.Button, method(object({ deviceId: number().int().nonnegative() }), _void(), {
24131
24131
  kind: "mutation",
24132
- auth: "admin"
24132
+ auth: "protected"
24133
24133
  });
24134
24134
  /**
24135
24135
  * camera-credentials — device-scoped cap exposing the camera's network
@@ -24321,28 +24321,28 @@ var climateControlCapability = {
24321
24321
  mode: HvacModeSchema
24322
24322
  }), _void(), {
24323
24323
  kind: "mutation",
24324
- auth: "admin"
24324
+ auth: "protected"
24325
24325
  }),
24326
24326
  setFanMode: method(object({
24327
24327
  deviceId: number().int().nonnegative(),
24328
24328
  fanMode: string().min(1)
24329
24329
  }), _void(), {
24330
24330
  kind: "mutation",
24331
- auth: "admin"
24331
+ auth: "protected"
24332
24332
  }),
24333
24333
  setPreset: method(object({
24334
24334
  deviceId: number().int().nonnegative(),
24335
24335
  preset: string().min(1)
24336
24336
  }), _void(), {
24337
24337
  kind: "mutation",
24338
- auth: "admin"
24338
+ auth: "protected"
24339
24339
  }),
24340
24340
  setTarget: method(object({
24341
24341
  deviceId: number().int().nonnegative(),
24342
24342
  target: number()
24343
24343
  }), _void(), {
24344
24344
  kind: "mutation",
24345
- auth: "admin"
24345
+ auth: "protected"
24346
24346
  }),
24347
24347
  setTargetRange: method(object({
24348
24348
  deviceId: number().int().nonnegative(),
@@ -24350,28 +24350,28 @@ var climateControlCapability = {
24350
24350
  targetHigh: number()
24351
24351
  }), _void(), {
24352
24352
  kind: "mutation",
24353
- auth: "admin"
24353
+ auth: "protected"
24354
24354
  }),
24355
24355
  setTargetHumidity: method(object({
24356
24356
  deviceId: number().int().nonnegative(),
24357
24357
  targetHumidity: number().min(0).max(100)
24358
24358
  }), _void(), {
24359
24359
  kind: "mutation",
24360
- auth: "admin"
24360
+ auth: "protected"
24361
24361
  }),
24362
24362
  setSwingVertical: method(object({
24363
24363
  deviceId: number().int().nonnegative(),
24364
24364
  on: boolean()
24365
24365
  }), _void(), {
24366
24366
  kind: "mutation",
24367
- auth: "admin"
24367
+ auth: "protected"
24368
24368
  }),
24369
24369
  setSwingHorizontal: method(object({
24370
24370
  deviceId: number().int().nonnegative(),
24371
24371
  on: boolean()
24372
24372
  }), _void(), {
24373
24373
  kind: "mutation",
24374
- auth: "admin"
24374
+ auth: "protected"
24375
24375
  })
24376
24376
  },
24377
24377
  status: {
@@ -24471,7 +24471,7 @@ var colorCapability = {
24471
24471
  color: ColorInputSchema
24472
24472
  }), _void(), {
24473
24473
  kind: "mutation",
24474
- auth: "admin"
24474
+ auth: "protected"
24475
24475
  }) },
24476
24476
  events: {
24477
24477
  /**
@@ -24800,7 +24800,7 @@ var controlCapability = {
24800
24800
  control: ControlSetValueInputSchema
24801
24801
  }), _void(), {
24802
24802
  kind: "mutation",
24803
- auth: "admin"
24803
+ auth: "protected"
24804
24804
  }) },
24805
24805
  status: {
24806
24806
  schema: ControlStatusSchema,
@@ -24846,29 +24846,29 @@ var coverCapability = {
24846
24846
  methods: {
24847
24847
  open: method(object({ deviceId: number().int().nonnegative() }), _void(), {
24848
24848
  kind: "mutation",
24849
- auth: "admin"
24849
+ auth: "protected"
24850
24850
  }),
24851
24851
  close: method(object({ deviceId: number().int().nonnegative() }), _void(), {
24852
24852
  kind: "mutation",
24853
- auth: "admin"
24853
+ auth: "protected"
24854
24854
  }),
24855
24855
  stop: method(object({ deviceId: number().int().nonnegative() }), _void(), {
24856
24856
  kind: "mutation",
24857
- auth: "admin"
24857
+ auth: "protected"
24858
24858
  }),
24859
24859
  setPosition: method(object({
24860
24860
  deviceId: number().int().nonnegative(),
24861
24861
  position: number().min(0).max(100)
24862
24862
  }), _void(), {
24863
24863
  kind: "mutation",
24864
- auth: "admin"
24864
+ auth: "protected"
24865
24865
  }),
24866
24866
  setTiltPosition: method(object({
24867
24867
  deviceId: number().int().nonnegative(),
24868
24868
  tiltPosition: number().min(0).max(100)
24869
24869
  }), _void(), {
24870
24870
  kind: "mutation",
24871
- auth: "admin"
24871
+ auth: "protected"
24872
24872
  })
24873
24873
  },
24874
24874
  status: {
@@ -25254,6 +25254,59 @@ var IdentitySampleInfoSchema = object({
25254
25254
  deviceId: number().int().optional(),
25255
25255
  base64: string().optional()
25256
25256
  });
25257
+ /**
25258
+ * One enrolled sample, judged against the gallery it lives in.
25259
+ *
25260
+ * The gallery is the one input to recognition nobody re-reads: a sample
25261
+ * enrolled from the wrong face keeps voting forever, and because the matches it
25262
+ * pulls then look confident, nobody goes back. The 2026-09-08 audit found
25263
+ * exactly one such pair on this cluster — a sample scoring 0.61 against three
25264
+ * samples of ANOTHER person, enrolled from the same camera in the same minute,
25265
+ * where every other cross-identity pair sits under 0.50.
25266
+ */
25267
+ var IdentitySampleAuditRowSchema = object({
25268
+ sampleId: string(),
25269
+ enrolledAt: number().int(),
25270
+ deviceId: number().int().optional(),
25271
+ source: _enum(["detected", "photo"]),
25272
+ /** The enrolled crop's media key, so the panel can show the evidence. */
25273
+ mediaKey: string().optional(),
25274
+ /**
25275
+ * False = the sample is stamped with a DIFFERENT face model, and a cosine
25276
+ * across feature spaces is a well-formed float with no meaning. Every number
25277
+ * below then says nothing — it must read as "cannot say", never as an
25278
+ * accusation and never as a clean bill: this list ends in a Remove button.
25279
+ */
25280
+ comparable: boolean(),
25281
+ /** Mean cosine against this person's other samples. Null when there are none
25282
+ * to compare with — never 0, which would read as "opposite". */
25283
+ selfMean: number().nullable(),
25284
+ /** The other person this sample looks most like, when it looks like one.
25285
+ * This is the half that convicts: not looking like yourself can be a hard
25286
+ * angle; looking like someone the gallery can NAME is a mis-enrolment. */
25287
+ bestForeign: object({
25288
+ identityId: string(),
25289
+ name: string(),
25290
+ score: number()
25291
+ }).optional(),
25292
+ /** 0 = nothing to say. Higher = look at this one sooner. */
25293
+ suspicion: number()
25294
+ });
25295
+ var IdentitySampleAuditSchema = object({
25296
+ identityId: string(),
25297
+ name: string(),
25298
+ /** The cluster face model every comparison was made in. */
25299
+ modelId: string(),
25300
+ totalSamples: number().int(),
25301
+ comparableSamples: number().int(),
25302
+ flagged: number().int(),
25303
+ /** The bar `flagged` counts against, so the panel states the RULE and not
25304
+ * only its current result. */
25305
+ flagThreshold: number(),
25306
+ /** Worst first. A row with nothing to say still appears, at the bottom: the
25307
+ * operator asked to see the gallery, not only its accusations. */
25308
+ rows: array(IdentitySampleAuditRowSchema).readonly()
25309
+ });
25257
25310
  var FaceInfoSchema = object({
25258
25311
  faceId: string(),
25259
25312
  deviceId: number().int(),
@@ -25405,7 +25458,7 @@ includeCrops: boolean().optional() }).optional(), array(IdentitySchema).readonly
25405
25458
  }), method(object({ id: string() }), _void(), {
25406
25459
  kind: "mutation",
25407
25460
  auth: "admin"
25408
- }), method(object({ identityId: string() }), array(IdentitySampleInfoSchema).readonly()), method(object({
25461
+ }), method(object({ identityId: string() }), array(IdentitySampleInfoSchema).readonly()), method(object({ identityId: string().min(1) }), IdentitySampleAuditSchema, { auth: "admin" }), method(object({
25409
25462
  identityId: string(),
25410
25463
  sampleId: string()
25411
25464
  }), _void(), {
@@ -25598,28 +25651,28 @@ var fanControlCapability = {
25598
25651
  percentage: number().min(0).max(100)
25599
25652
  }), _void(), {
25600
25653
  kind: "mutation",
25601
- auth: "admin"
25654
+ auth: "protected"
25602
25655
  }),
25603
25656
  setPreset: method(object({
25604
25657
  deviceId: number().int().nonnegative(),
25605
25658
  preset: string().min(1)
25606
25659
  }), _void(), {
25607
25660
  kind: "mutation",
25608
- auth: "admin"
25661
+ auth: "protected"
25609
25662
  }),
25610
25663
  setDirection: method(object({
25611
25664
  deviceId: number().int().nonnegative(),
25612
25665
  direction: FanDirectionSchema
25613
25666
  }), _void(), {
25614
25667
  kind: "mutation",
25615
- auth: "admin"
25668
+ auth: "protected"
25616
25669
  }),
25617
25670
  setOscillating: method(object({
25618
25671
  deviceId: number().int().nonnegative(),
25619
25672
  oscillating: boolean()
25620
25673
  }), _void(), {
25621
25674
  kind: "mutation",
25622
- auth: "admin"
25675
+ auth: "protected"
25623
25676
  })
25624
25677
  },
25625
25678
  status: {
@@ -25841,21 +25894,21 @@ var humidifierCapability = {
25841
25894
  on: boolean()
25842
25895
  }), _void(), {
25843
25896
  kind: "mutation",
25844
- auth: "admin"
25897
+ auth: "protected"
25845
25898
  }),
25846
25899
  setTargetHumidity: method(object({
25847
25900
  deviceId: number().int().nonnegative(),
25848
25901
  humidity: number().min(0).max(100)
25849
25902
  }), _void(), {
25850
25903
  kind: "mutation",
25851
- auth: "admin"
25904
+ auth: "protected"
25852
25905
  }),
25853
25906
  setMode: method(object({
25854
25907
  deviceId: number().int().nonnegative(),
25855
25908
  mode: string().min(1)
25856
25909
  }), _void(), {
25857
25910
  kind: "mutation",
25858
- auth: "admin"
25911
+ auth: "protected"
25859
25912
  })
25860
25913
  },
25861
25914
  status: {
@@ -26556,15 +26609,15 @@ var lawnMowerControlCapability = {
26556
26609
  methods: {
26557
26610
  startMowing: method(object({ deviceId: number().int().nonnegative() }), _void(), {
26558
26611
  kind: "mutation",
26559
- auth: "admin"
26612
+ auth: "protected"
26560
26613
  }),
26561
26614
  pause: method(object({ deviceId: number().int().nonnegative() }), _void(), {
26562
26615
  kind: "mutation",
26563
- auth: "admin"
26616
+ auth: "protected"
26564
26617
  }),
26565
26618
  dock: method(object({ deviceId: number().int().nonnegative() }), _void(), {
26566
26619
  kind: "mutation",
26567
- auth: "admin"
26620
+ auth: "protected"
26568
26621
  })
26569
26622
  },
26570
26623
  status: {
@@ -26849,18 +26902,18 @@ var lockControlCapability = {
26849
26902
  code: string().min(1).optional()
26850
26903
  }), _void(), {
26851
26904
  kind: "mutation",
26852
- auth: "admin"
26905
+ auth: "protected"
26853
26906
  }),
26854
26907
  unlock: method(object({
26855
26908
  deviceId: number().int().nonnegative(),
26856
26909
  code: string().min(1).optional()
26857
26910
  }), _void(), {
26858
26911
  kind: "mutation",
26859
- auth: "admin"
26912
+ auth: "protected"
26860
26913
  }),
26861
26914
  open: method(object({ deviceId: number().int().nonnegative() }), _void(), {
26862
26915
  kind: "mutation",
26863
- auth: "admin"
26916
+ auth: "protected"
26864
26917
  })
26865
26918
  },
26866
26919
  status: {
@@ -26963,65 +27016,65 @@ var mediaPlayerCapability = {
26963
27016
  methods: {
26964
27017
  play: method(object({ deviceId: number().int().nonnegative() }), _void(), {
26965
27018
  kind: "mutation",
26966
- auth: "admin"
27019
+ auth: "protected"
26967
27020
  }),
26968
27021
  pause: method(object({ deviceId: number().int().nonnegative() }), _void(), {
26969
27022
  kind: "mutation",
26970
- auth: "admin"
27023
+ auth: "protected"
26971
27024
  }),
26972
27025
  stop: method(object({ deviceId: number().int().nonnegative() }), _void(), {
26973
27026
  kind: "mutation",
26974
- auth: "admin"
27027
+ auth: "protected"
26975
27028
  }),
26976
27029
  next: method(object({ deviceId: number().int().nonnegative() }), _void(), {
26977
27030
  kind: "mutation",
26978
- auth: "admin"
27031
+ auth: "protected"
26979
27032
  }),
26980
27033
  previous: method(object({ deviceId: number().int().nonnegative() }), _void(), {
26981
27034
  kind: "mutation",
26982
- auth: "admin"
27035
+ auth: "protected"
26983
27036
  }),
26984
27037
  seek: method(object({
26985
27038
  deviceId: number().int().nonnegative(),
26986
27039
  positionMs: number().int().nonnegative()
26987
27040
  }), _void(), {
26988
27041
  kind: "mutation",
26989
- auth: "admin"
27042
+ auth: "protected"
26990
27043
  }),
26991
27044
  setVolume: method(object({
26992
27045
  deviceId: number().int().nonnegative(),
26993
27046
  volumeLevel: number().min(0).max(100)
26994
27047
  }), _void(), {
26995
27048
  kind: "mutation",
26996
- auth: "admin"
27049
+ auth: "protected"
26997
27050
  }),
26998
27051
  setMute: method(object({
26999
27052
  deviceId: number().int().nonnegative(),
27000
27053
  muted: boolean()
27001
27054
  }), _void(), {
27002
27055
  kind: "mutation",
27003
- auth: "admin"
27056
+ auth: "protected"
27004
27057
  }),
27005
27058
  setShuffle: method(object({
27006
27059
  deviceId: number().int().nonnegative(),
27007
27060
  shuffle: boolean()
27008
27061
  }), _void(), {
27009
27062
  kind: "mutation",
27010
- auth: "admin"
27063
+ auth: "protected"
27011
27064
  }),
27012
27065
  setRepeat: method(object({
27013
27066
  deviceId: number().int().nonnegative(),
27014
27067
  repeat: MediaPlayerRepeatSchema
27015
27068
  }), _void(), {
27016
27069
  kind: "mutation",
27017
- auth: "admin"
27070
+ auth: "protected"
27018
27071
  }),
27019
27072
  selectSource: method(object({
27020
27073
  deviceId: number().int().nonnegative(),
27021
27074
  source: string().min(1)
27022
27075
  }), _void(), {
27023
27076
  kind: "mutation",
27024
- auth: "admin"
27077
+ auth: "protected"
27025
27078
  }),
27026
27079
  playMedia: method(object({
27027
27080
  deviceId: number().int().nonnegative(),
@@ -27032,7 +27085,7 @@ var mediaPlayerCapability = {
27032
27085
  mediaType: string().min(1)
27033
27086
  }), _void(), {
27034
27087
  kind: "mutation",
27035
- auth: "admin"
27088
+ auth: "protected"
27036
27089
  })
27037
27090
  },
27038
27091
  status: {
@@ -28625,27 +28678,27 @@ var petFeederCapability = {
28625
28678
  hopper2: gramsPortion.optional()
28626
28679
  }), _void(), {
28627
28680
  kind: "mutation",
28628
- auth: "admin"
28681
+ auth: "protected"
28629
28682
  }),
28630
28683
  /** Cancel an in-progress manual feed. */
28631
28684
  cancelFeed: method(object({ deviceId: number().int().nonnegative() }), _void(), {
28632
28685
  kind: "mutation",
28633
- auth: "admin"
28686
+ auth: "protected"
28634
28687
  }),
28635
28688
  /** Reset the desiccant "days remaining" counter after replacing it. */
28636
28689
  resetDesiccant: method(object({ deviceId: number().int().nonnegative() }), _void(), {
28637
28690
  kind: "mutation",
28638
- auth: "admin"
28691
+ auth: "protected"
28639
28692
  }),
28640
28693
  /** Mark a hopper as refilled (D4H/D4S/D4SH). */
28641
28694
  markFoodReplenished: method(object({ deviceId: number().int().nonnegative() }), _void(), {
28642
28695
  kind: "mutation",
28643
- auth: "admin"
28696
+ auth: "protected"
28644
28697
  }),
28645
28698
  /** Call the pet with the recorded prompt (D3). */
28646
28699
  callPet: method(object({ deviceId: number().int().nonnegative() }), _void(), {
28647
28700
  kind: "mutation",
28648
- auth: "admin"
28701
+ auth: "protected"
28649
28702
  }),
28650
28703
  /** Play a stored sound by id (D3 / D4H / D4SH). */
28651
28704
  playSound: method(object({
@@ -28653,7 +28706,7 @@ var petFeederCapability = {
28653
28706
  soundId: number().int().nonnegative()
28654
28707
  }), _void(), {
28655
28708
  kind: "mutation",
28656
- auth: "admin"
28709
+ auth: "protected"
28657
28710
  }),
28658
28711
  /** Toggle the child-lock (manual-lock) setting. */
28659
28712
  setChildLock: method(object({
@@ -28661,7 +28714,7 @@ var petFeederCapability = {
28661
28714
  on: boolean()
28662
28715
  }), _void(), {
28663
28716
  kind: "mutation",
28664
- auth: "admin"
28717
+ auth: "protected"
28665
28718
  }),
28666
28719
  /** Toggle the front indicator light. */
28667
28720
  setIndicatorLight: method(object({
@@ -28669,7 +28722,7 @@ var petFeederCapability = {
28669
28722
  on: boolean()
28670
28723
  }), _void(), {
28671
28724
  kind: "mutation",
28672
- auth: "admin"
28725
+ auth: "protected"
28673
28726
  }),
28674
28727
  /** Toggle the dispense chime. */
28675
28728
  setFeedSound: method(object({
@@ -28677,7 +28730,7 @@ var petFeederCapability = {
28677
28730
  on: boolean()
28678
28731
  }), _void(), {
28679
28732
  kind: "mutation",
28680
- auth: "admin"
28733
+ auth: "protected"
28681
28734
  }),
28682
28735
  /** Set the speaker / prompt volume level. */
28683
28736
  setVolume: method(object({
@@ -28685,7 +28738,7 @@ var petFeederCapability = {
28685
28738
  level: number().int().nonnegative()
28686
28739
  }), _void(), {
28687
28740
  kind: "mutation",
28688
- auth: "admin"
28741
+ auth: "protected"
28689
28742
  })
28690
28743
  },
28691
28744
  status: {
@@ -30981,7 +31034,7 @@ var switchCapability = {
30981
31034
  on: boolean()
30982
31035
  }), _void(), {
30983
31036
  kind: "mutation",
30984
- auth: "admin"
31037
+ auth: "protected"
30985
31038
  }) },
30986
31039
  events: { onStateChanged: { data: object({
30987
31040
  deviceId: number(),
@@ -31969,30 +32022,30 @@ var vacuumControlCapability = {
31969
32022
  methods: {
31970
32023
  start: method(object({ deviceId: number().int().nonnegative() }), _void(), {
31971
32024
  kind: "mutation",
31972
- auth: "admin"
32025
+ auth: "protected"
31973
32026
  }),
31974
32027
  pause: method(object({ deviceId: number().int().nonnegative() }), _void(), {
31975
32028
  kind: "mutation",
31976
- auth: "admin"
32029
+ auth: "protected"
31977
32030
  }),
31978
32031
  stop: method(object({ deviceId: number().int().nonnegative() }), _void(), {
31979
32032
  kind: "mutation",
31980
- auth: "admin"
32033
+ auth: "protected"
31981
32034
  }),
31982
32035
  returnToBase: method(object({ deviceId: number().int().nonnegative() }), _void(), {
31983
32036
  kind: "mutation",
31984
- auth: "admin"
32037
+ auth: "protected"
31985
32038
  }),
31986
32039
  locate: method(object({ deviceId: number().int().nonnegative() }), _void(), {
31987
32040
  kind: "mutation",
31988
- auth: "admin"
32041
+ auth: "protected"
31989
32042
  }),
31990
32043
  setFanSpeed: method(object({
31991
32044
  deviceId: number().int().nonnegative(),
31992
32045
  speed: string().min(1)
31993
32046
  }), _void(), {
31994
32047
  kind: "mutation",
31995
- auth: "admin"
32048
+ auth: "protected"
31996
32049
  })
31997
32050
  },
31998
32051
  status: {
@@ -32036,22 +32089,22 @@ var valveCapability = {
32036
32089
  methods: {
32037
32090
  open: method(object({ deviceId: number().int().nonnegative() }), _void(), {
32038
32091
  kind: "mutation",
32039
- auth: "admin"
32092
+ auth: "protected"
32040
32093
  }),
32041
32094
  close: method(object({ deviceId: number().int().nonnegative() }), _void(), {
32042
32095
  kind: "mutation",
32043
- auth: "admin"
32096
+ auth: "protected"
32044
32097
  }),
32045
32098
  stop: method(object({ deviceId: number().int().nonnegative() }), _void(), {
32046
32099
  kind: "mutation",
32047
- auth: "admin"
32100
+ auth: "protected"
32048
32101
  }),
32049
32102
  setPosition: method(object({
32050
32103
  deviceId: number().int().nonnegative(),
32051
32104
  position: number().min(0).max(100)
32052
32105
  }), _void(), {
32053
32106
  kind: "mutation",
32054
- auth: "admin"
32107
+ auth: "protected"
32055
32108
  })
32056
32109
  },
32057
32110
  status: {
@@ -32150,21 +32203,21 @@ var waterHeaterCapability = {
32150
32203
  temp: number().finite()
32151
32204
  }), _void(), {
32152
32205
  kind: "mutation",
32153
- auth: "admin"
32206
+ auth: "protected"
32154
32207
  }),
32155
32208
  setOperationMode: method(object({
32156
32209
  deviceId: number().int().nonnegative(),
32157
32210
  mode: string().min(1)
32158
32211
  }), _void(), {
32159
32212
  kind: "mutation",
32160
- auth: "admin"
32213
+ auth: "protected"
32161
32214
  }),
32162
32215
  setAway: method(object({
32163
32216
  deviceId: number().int().nonnegative(),
32164
32217
  on: boolean()
32165
32218
  }), _void(), {
32166
32219
  kind: "mutation",
32167
- auth: "admin"
32220
+ auth: "protected"
32168
32221
  })
32169
32222
  },
32170
32223
  status: {
@@ -35898,6 +35951,12 @@ Object.freeze({
35898
35951
  addonId: null,
35899
35952
  access: "create"
35900
35953
  },
35954
+ "faceGallery.auditIdentitySamples": {
35955
+ capName: "face-gallery",
35956
+ capScope: "system",
35957
+ addonId: null,
35958
+ access: "view"
35959
+ },
35901
35960
  "faceGallery.createIdentity": {
35902
35961
  capName: "face-gallery",
35903
35962
  capScope: "system",
package/dist/addon.mjs CHANGED
@@ -16110,14 +16110,14 @@ var alarmPanelCapability = {
16110
16110
  code: string().min(1).optional()
16111
16111
  }), _void(), {
16112
16112
  kind: "mutation",
16113
- auth: "admin"
16113
+ auth: "protected"
16114
16114
  }),
16115
16115
  disarm: method(object({
16116
16116
  deviceId: number().int().nonnegative(),
16117
16117
  code: string().min(1).optional()
16118
16118
  }), _void(), {
16119
16119
  kind: "mutation",
16120
- auth: "admin"
16120
+ auth: "protected"
16121
16121
  }),
16122
16122
  /**
16123
16123
  * Force the panel into the `triggered` state — used by HA
@@ -16128,7 +16128,7 @@ var alarmPanelCapability = {
16128
16128
  */
16129
16129
  trigger: method(object({ deviceId: number().int().nonnegative() }), _void(), {
16130
16130
  kind: "mutation",
16131
- auth: "admin"
16131
+ auth: "protected"
16132
16132
  })
16133
16133
  },
16134
16134
  status: {
@@ -24095,7 +24095,7 @@ var brightnessCapability = {
24095
24095
  percentage: number().min(0).max(100)
24096
24096
  }), _void(), {
24097
24097
  kind: "mutation",
24098
- auth: "admin"
24098
+ auth: "protected"
24099
24099
  }) },
24100
24100
  events: {
24101
24101
  /**
@@ -24128,7 +24128,7 @@ onBrightnessChanged: { data: object({
24128
24128
  };
24129
24129
  DeviceType.Button, method(object({ deviceId: number().int().nonnegative() }), _void(), {
24130
24130
  kind: "mutation",
24131
- auth: "admin"
24131
+ auth: "protected"
24132
24132
  });
24133
24133
  /**
24134
24134
  * camera-credentials — device-scoped cap exposing the camera's network
@@ -24320,28 +24320,28 @@ var climateControlCapability = {
24320
24320
  mode: HvacModeSchema
24321
24321
  }), _void(), {
24322
24322
  kind: "mutation",
24323
- auth: "admin"
24323
+ auth: "protected"
24324
24324
  }),
24325
24325
  setFanMode: method(object({
24326
24326
  deviceId: number().int().nonnegative(),
24327
24327
  fanMode: string().min(1)
24328
24328
  }), _void(), {
24329
24329
  kind: "mutation",
24330
- auth: "admin"
24330
+ auth: "protected"
24331
24331
  }),
24332
24332
  setPreset: method(object({
24333
24333
  deviceId: number().int().nonnegative(),
24334
24334
  preset: string().min(1)
24335
24335
  }), _void(), {
24336
24336
  kind: "mutation",
24337
- auth: "admin"
24337
+ auth: "protected"
24338
24338
  }),
24339
24339
  setTarget: method(object({
24340
24340
  deviceId: number().int().nonnegative(),
24341
24341
  target: number()
24342
24342
  }), _void(), {
24343
24343
  kind: "mutation",
24344
- auth: "admin"
24344
+ auth: "protected"
24345
24345
  }),
24346
24346
  setTargetRange: method(object({
24347
24347
  deviceId: number().int().nonnegative(),
@@ -24349,28 +24349,28 @@ var climateControlCapability = {
24349
24349
  targetHigh: number()
24350
24350
  }), _void(), {
24351
24351
  kind: "mutation",
24352
- auth: "admin"
24352
+ auth: "protected"
24353
24353
  }),
24354
24354
  setTargetHumidity: method(object({
24355
24355
  deviceId: number().int().nonnegative(),
24356
24356
  targetHumidity: number().min(0).max(100)
24357
24357
  }), _void(), {
24358
24358
  kind: "mutation",
24359
- auth: "admin"
24359
+ auth: "protected"
24360
24360
  }),
24361
24361
  setSwingVertical: method(object({
24362
24362
  deviceId: number().int().nonnegative(),
24363
24363
  on: boolean()
24364
24364
  }), _void(), {
24365
24365
  kind: "mutation",
24366
- auth: "admin"
24366
+ auth: "protected"
24367
24367
  }),
24368
24368
  setSwingHorizontal: method(object({
24369
24369
  deviceId: number().int().nonnegative(),
24370
24370
  on: boolean()
24371
24371
  }), _void(), {
24372
24372
  kind: "mutation",
24373
- auth: "admin"
24373
+ auth: "protected"
24374
24374
  })
24375
24375
  },
24376
24376
  status: {
@@ -24470,7 +24470,7 @@ var colorCapability = {
24470
24470
  color: ColorInputSchema
24471
24471
  }), _void(), {
24472
24472
  kind: "mutation",
24473
- auth: "admin"
24473
+ auth: "protected"
24474
24474
  }) },
24475
24475
  events: {
24476
24476
  /**
@@ -24799,7 +24799,7 @@ var controlCapability = {
24799
24799
  control: ControlSetValueInputSchema
24800
24800
  }), _void(), {
24801
24801
  kind: "mutation",
24802
- auth: "admin"
24802
+ auth: "protected"
24803
24803
  }) },
24804
24804
  status: {
24805
24805
  schema: ControlStatusSchema,
@@ -24845,29 +24845,29 @@ var coverCapability = {
24845
24845
  methods: {
24846
24846
  open: method(object({ deviceId: number().int().nonnegative() }), _void(), {
24847
24847
  kind: "mutation",
24848
- auth: "admin"
24848
+ auth: "protected"
24849
24849
  }),
24850
24850
  close: method(object({ deviceId: number().int().nonnegative() }), _void(), {
24851
24851
  kind: "mutation",
24852
- auth: "admin"
24852
+ auth: "protected"
24853
24853
  }),
24854
24854
  stop: method(object({ deviceId: number().int().nonnegative() }), _void(), {
24855
24855
  kind: "mutation",
24856
- auth: "admin"
24856
+ auth: "protected"
24857
24857
  }),
24858
24858
  setPosition: method(object({
24859
24859
  deviceId: number().int().nonnegative(),
24860
24860
  position: number().min(0).max(100)
24861
24861
  }), _void(), {
24862
24862
  kind: "mutation",
24863
- auth: "admin"
24863
+ auth: "protected"
24864
24864
  }),
24865
24865
  setTiltPosition: method(object({
24866
24866
  deviceId: number().int().nonnegative(),
24867
24867
  tiltPosition: number().min(0).max(100)
24868
24868
  }), _void(), {
24869
24869
  kind: "mutation",
24870
- auth: "admin"
24870
+ auth: "protected"
24871
24871
  })
24872
24872
  },
24873
24873
  status: {
@@ -25253,6 +25253,59 @@ var IdentitySampleInfoSchema = object({
25253
25253
  deviceId: number().int().optional(),
25254
25254
  base64: string().optional()
25255
25255
  });
25256
+ /**
25257
+ * One enrolled sample, judged against the gallery it lives in.
25258
+ *
25259
+ * The gallery is the one input to recognition nobody re-reads: a sample
25260
+ * enrolled from the wrong face keeps voting forever, and because the matches it
25261
+ * pulls then look confident, nobody goes back. The 2026-09-08 audit found
25262
+ * exactly one such pair on this cluster — a sample scoring 0.61 against three
25263
+ * samples of ANOTHER person, enrolled from the same camera in the same minute,
25264
+ * where every other cross-identity pair sits under 0.50.
25265
+ */
25266
+ var IdentitySampleAuditRowSchema = object({
25267
+ sampleId: string(),
25268
+ enrolledAt: number().int(),
25269
+ deviceId: number().int().optional(),
25270
+ source: _enum(["detected", "photo"]),
25271
+ /** The enrolled crop's media key, so the panel can show the evidence. */
25272
+ mediaKey: string().optional(),
25273
+ /**
25274
+ * False = the sample is stamped with a DIFFERENT face model, and a cosine
25275
+ * across feature spaces is a well-formed float with no meaning. Every number
25276
+ * below then says nothing — it must read as "cannot say", never as an
25277
+ * accusation and never as a clean bill: this list ends in a Remove button.
25278
+ */
25279
+ comparable: boolean(),
25280
+ /** Mean cosine against this person's other samples. Null when there are none
25281
+ * to compare with — never 0, which would read as "opposite". */
25282
+ selfMean: number().nullable(),
25283
+ /** The other person this sample looks most like, when it looks like one.
25284
+ * This is the half that convicts: not looking like yourself can be a hard
25285
+ * angle; looking like someone the gallery can NAME is a mis-enrolment. */
25286
+ bestForeign: object({
25287
+ identityId: string(),
25288
+ name: string(),
25289
+ score: number()
25290
+ }).optional(),
25291
+ /** 0 = nothing to say. Higher = look at this one sooner. */
25292
+ suspicion: number()
25293
+ });
25294
+ var IdentitySampleAuditSchema = object({
25295
+ identityId: string(),
25296
+ name: string(),
25297
+ /** The cluster face model every comparison was made in. */
25298
+ modelId: string(),
25299
+ totalSamples: number().int(),
25300
+ comparableSamples: number().int(),
25301
+ flagged: number().int(),
25302
+ /** The bar `flagged` counts against, so the panel states the RULE and not
25303
+ * only its current result. */
25304
+ flagThreshold: number(),
25305
+ /** Worst first. A row with nothing to say still appears, at the bottom: the
25306
+ * operator asked to see the gallery, not only its accusations. */
25307
+ rows: array(IdentitySampleAuditRowSchema).readonly()
25308
+ });
25256
25309
  var FaceInfoSchema = object({
25257
25310
  faceId: string(),
25258
25311
  deviceId: number().int(),
@@ -25404,7 +25457,7 @@ includeCrops: boolean().optional() }).optional(), array(IdentitySchema).readonly
25404
25457
  }), method(object({ id: string() }), _void(), {
25405
25458
  kind: "mutation",
25406
25459
  auth: "admin"
25407
- }), method(object({ identityId: string() }), array(IdentitySampleInfoSchema).readonly()), method(object({
25460
+ }), method(object({ identityId: string() }), array(IdentitySampleInfoSchema).readonly()), method(object({ identityId: string().min(1) }), IdentitySampleAuditSchema, { auth: "admin" }), method(object({
25408
25461
  identityId: string(),
25409
25462
  sampleId: string()
25410
25463
  }), _void(), {
@@ -25597,28 +25650,28 @@ var fanControlCapability = {
25597
25650
  percentage: number().min(0).max(100)
25598
25651
  }), _void(), {
25599
25652
  kind: "mutation",
25600
- auth: "admin"
25653
+ auth: "protected"
25601
25654
  }),
25602
25655
  setPreset: method(object({
25603
25656
  deviceId: number().int().nonnegative(),
25604
25657
  preset: string().min(1)
25605
25658
  }), _void(), {
25606
25659
  kind: "mutation",
25607
- auth: "admin"
25660
+ auth: "protected"
25608
25661
  }),
25609
25662
  setDirection: method(object({
25610
25663
  deviceId: number().int().nonnegative(),
25611
25664
  direction: FanDirectionSchema
25612
25665
  }), _void(), {
25613
25666
  kind: "mutation",
25614
- auth: "admin"
25667
+ auth: "protected"
25615
25668
  }),
25616
25669
  setOscillating: method(object({
25617
25670
  deviceId: number().int().nonnegative(),
25618
25671
  oscillating: boolean()
25619
25672
  }), _void(), {
25620
25673
  kind: "mutation",
25621
- auth: "admin"
25674
+ auth: "protected"
25622
25675
  })
25623
25676
  },
25624
25677
  status: {
@@ -25840,21 +25893,21 @@ var humidifierCapability = {
25840
25893
  on: boolean()
25841
25894
  }), _void(), {
25842
25895
  kind: "mutation",
25843
- auth: "admin"
25896
+ auth: "protected"
25844
25897
  }),
25845
25898
  setTargetHumidity: method(object({
25846
25899
  deviceId: number().int().nonnegative(),
25847
25900
  humidity: number().min(0).max(100)
25848
25901
  }), _void(), {
25849
25902
  kind: "mutation",
25850
- auth: "admin"
25903
+ auth: "protected"
25851
25904
  }),
25852
25905
  setMode: method(object({
25853
25906
  deviceId: number().int().nonnegative(),
25854
25907
  mode: string().min(1)
25855
25908
  }), _void(), {
25856
25909
  kind: "mutation",
25857
- auth: "admin"
25910
+ auth: "protected"
25858
25911
  })
25859
25912
  },
25860
25913
  status: {
@@ -26555,15 +26608,15 @@ var lawnMowerControlCapability = {
26555
26608
  methods: {
26556
26609
  startMowing: method(object({ deviceId: number().int().nonnegative() }), _void(), {
26557
26610
  kind: "mutation",
26558
- auth: "admin"
26611
+ auth: "protected"
26559
26612
  }),
26560
26613
  pause: method(object({ deviceId: number().int().nonnegative() }), _void(), {
26561
26614
  kind: "mutation",
26562
- auth: "admin"
26615
+ auth: "protected"
26563
26616
  }),
26564
26617
  dock: method(object({ deviceId: number().int().nonnegative() }), _void(), {
26565
26618
  kind: "mutation",
26566
- auth: "admin"
26619
+ auth: "protected"
26567
26620
  })
26568
26621
  },
26569
26622
  status: {
@@ -26848,18 +26901,18 @@ var lockControlCapability = {
26848
26901
  code: string().min(1).optional()
26849
26902
  }), _void(), {
26850
26903
  kind: "mutation",
26851
- auth: "admin"
26904
+ auth: "protected"
26852
26905
  }),
26853
26906
  unlock: method(object({
26854
26907
  deviceId: number().int().nonnegative(),
26855
26908
  code: string().min(1).optional()
26856
26909
  }), _void(), {
26857
26910
  kind: "mutation",
26858
- auth: "admin"
26911
+ auth: "protected"
26859
26912
  }),
26860
26913
  open: method(object({ deviceId: number().int().nonnegative() }), _void(), {
26861
26914
  kind: "mutation",
26862
- auth: "admin"
26915
+ auth: "protected"
26863
26916
  })
26864
26917
  },
26865
26918
  status: {
@@ -26962,65 +27015,65 @@ var mediaPlayerCapability = {
26962
27015
  methods: {
26963
27016
  play: method(object({ deviceId: number().int().nonnegative() }), _void(), {
26964
27017
  kind: "mutation",
26965
- auth: "admin"
27018
+ auth: "protected"
26966
27019
  }),
26967
27020
  pause: method(object({ deviceId: number().int().nonnegative() }), _void(), {
26968
27021
  kind: "mutation",
26969
- auth: "admin"
27022
+ auth: "protected"
26970
27023
  }),
26971
27024
  stop: method(object({ deviceId: number().int().nonnegative() }), _void(), {
26972
27025
  kind: "mutation",
26973
- auth: "admin"
27026
+ auth: "protected"
26974
27027
  }),
26975
27028
  next: method(object({ deviceId: number().int().nonnegative() }), _void(), {
26976
27029
  kind: "mutation",
26977
- auth: "admin"
27030
+ auth: "protected"
26978
27031
  }),
26979
27032
  previous: method(object({ deviceId: number().int().nonnegative() }), _void(), {
26980
27033
  kind: "mutation",
26981
- auth: "admin"
27034
+ auth: "protected"
26982
27035
  }),
26983
27036
  seek: method(object({
26984
27037
  deviceId: number().int().nonnegative(),
26985
27038
  positionMs: number().int().nonnegative()
26986
27039
  }), _void(), {
26987
27040
  kind: "mutation",
26988
- auth: "admin"
27041
+ auth: "protected"
26989
27042
  }),
26990
27043
  setVolume: method(object({
26991
27044
  deviceId: number().int().nonnegative(),
26992
27045
  volumeLevel: number().min(0).max(100)
26993
27046
  }), _void(), {
26994
27047
  kind: "mutation",
26995
- auth: "admin"
27048
+ auth: "protected"
26996
27049
  }),
26997
27050
  setMute: method(object({
26998
27051
  deviceId: number().int().nonnegative(),
26999
27052
  muted: boolean()
27000
27053
  }), _void(), {
27001
27054
  kind: "mutation",
27002
- auth: "admin"
27055
+ auth: "protected"
27003
27056
  }),
27004
27057
  setShuffle: method(object({
27005
27058
  deviceId: number().int().nonnegative(),
27006
27059
  shuffle: boolean()
27007
27060
  }), _void(), {
27008
27061
  kind: "mutation",
27009
- auth: "admin"
27062
+ auth: "protected"
27010
27063
  }),
27011
27064
  setRepeat: method(object({
27012
27065
  deviceId: number().int().nonnegative(),
27013
27066
  repeat: MediaPlayerRepeatSchema
27014
27067
  }), _void(), {
27015
27068
  kind: "mutation",
27016
- auth: "admin"
27069
+ auth: "protected"
27017
27070
  }),
27018
27071
  selectSource: method(object({
27019
27072
  deviceId: number().int().nonnegative(),
27020
27073
  source: string().min(1)
27021
27074
  }), _void(), {
27022
27075
  kind: "mutation",
27023
- auth: "admin"
27076
+ auth: "protected"
27024
27077
  }),
27025
27078
  playMedia: method(object({
27026
27079
  deviceId: number().int().nonnegative(),
@@ -27031,7 +27084,7 @@ var mediaPlayerCapability = {
27031
27084
  mediaType: string().min(1)
27032
27085
  }), _void(), {
27033
27086
  kind: "mutation",
27034
- auth: "admin"
27087
+ auth: "protected"
27035
27088
  })
27036
27089
  },
27037
27090
  status: {
@@ -28624,27 +28677,27 @@ var petFeederCapability = {
28624
28677
  hopper2: gramsPortion.optional()
28625
28678
  }), _void(), {
28626
28679
  kind: "mutation",
28627
- auth: "admin"
28680
+ auth: "protected"
28628
28681
  }),
28629
28682
  /** Cancel an in-progress manual feed. */
28630
28683
  cancelFeed: method(object({ deviceId: number().int().nonnegative() }), _void(), {
28631
28684
  kind: "mutation",
28632
- auth: "admin"
28685
+ auth: "protected"
28633
28686
  }),
28634
28687
  /** Reset the desiccant "days remaining" counter after replacing it. */
28635
28688
  resetDesiccant: method(object({ deviceId: number().int().nonnegative() }), _void(), {
28636
28689
  kind: "mutation",
28637
- auth: "admin"
28690
+ auth: "protected"
28638
28691
  }),
28639
28692
  /** Mark a hopper as refilled (D4H/D4S/D4SH). */
28640
28693
  markFoodReplenished: method(object({ deviceId: number().int().nonnegative() }), _void(), {
28641
28694
  kind: "mutation",
28642
- auth: "admin"
28695
+ auth: "protected"
28643
28696
  }),
28644
28697
  /** Call the pet with the recorded prompt (D3). */
28645
28698
  callPet: method(object({ deviceId: number().int().nonnegative() }), _void(), {
28646
28699
  kind: "mutation",
28647
- auth: "admin"
28700
+ auth: "protected"
28648
28701
  }),
28649
28702
  /** Play a stored sound by id (D3 / D4H / D4SH). */
28650
28703
  playSound: method(object({
@@ -28652,7 +28705,7 @@ var petFeederCapability = {
28652
28705
  soundId: number().int().nonnegative()
28653
28706
  }), _void(), {
28654
28707
  kind: "mutation",
28655
- auth: "admin"
28708
+ auth: "protected"
28656
28709
  }),
28657
28710
  /** Toggle the child-lock (manual-lock) setting. */
28658
28711
  setChildLock: method(object({
@@ -28660,7 +28713,7 @@ var petFeederCapability = {
28660
28713
  on: boolean()
28661
28714
  }), _void(), {
28662
28715
  kind: "mutation",
28663
- auth: "admin"
28716
+ auth: "protected"
28664
28717
  }),
28665
28718
  /** Toggle the front indicator light. */
28666
28719
  setIndicatorLight: method(object({
@@ -28668,7 +28721,7 @@ var petFeederCapability = {
28668
28721
  on: boolean()
28669
28722
  }), _void(), {
28670
28723
  kind: "mutation",
28671
- auth: "admin"
28724
+ auth: "protected"
28672
28725
  }),
28673
28726
  /** Toggle the dispense chime. */
28674
28727
  setFeedSound: method(object({
@@ -28676,7 +28729,7 @@ var petFeederCapability = {
28676
28729
  on: boolean()
28677
28730
  }), _void(), {
28678
28731
  kind: "mutation",
28679
- auth: "admin"
28732
+ auth: "protected"
28680
28733
  }),
28681
28734
  /** Set the speaker / prompt volume level. */
28682
28735
  setVolume: method(object({
@@ -28684,7 +28737,7 @@ var petFeederCapability = {
28684
28737
  level: number().int().nonnegative()
28685
28738
  }), _void(), {
28686
28739
  kind: "mutation",
28687
- auth: "admin"
28740
+ auth: "protected"
28688
28741
  })
28689
28742
  },
28690
28743
  status: {
@@ -30980,7 +31033,7 @@ var switchCapability = {
30980
31033
  on: boolean()
30981
31034
  }), _void(), {
30982
31035
  kind: "mutation",
30983
- auth: "admin"
31036
+ auth: "protected"
30984
31037
  }) },
30985
31038
  events: { onStateChanged: { data: object({
30986
31039
  deviceId: number(),
@@ -31968,30 +32021,30 @@ var vacuumControlCapability = {
31968
32021
  methods: {
31969
32022
  start: method(object({ deviceId: number().int().nonnegative() }), _void(), {
31970
32023
  kind: "mutation",
31971
- auth: "admin"
32024
+ auth: "protected"
31972
32025
  }),
31973
32026
  pause: method(object({ deviceId: number().int().nonnegative() }), _void(), {
31974
32027
  kind: "mutation",
31975
- auth: "admin"
32028
+ auth: "protected"
31976
32029
  }),
31977
32030
  stop: method(object({ deviceId: number().int().nonnegative() }), _void(), {
31978
32031
  kind: "mutation",
31979
- auth: "admin"
32032
+ auth: "protected"
31980
32033
  }),
31981
32034
  returnToBase: method(object({ deviceId: number().int().nonnegative() }), _void(), {
31982
32035
  kind: "mutation",
31983
- auth: "admin"
32036
+ auth: "protected"
31984
32037
  }),
31985
32038
  locate: method(object({ deviceId: number().int().nonnegative() }), _void(), {
31986
32039
  kind: "mutation",
31987
- auth: "admin"
32040
+ auth: "protected"
31988
32041
  }),
31989
32042
  setFanSpeed: method(object({
31990
32043
  deviceId: number().int().nonnegative(),
31991
32044
  speed: string().min(1)
31992
32045
  }), _void(), {
31993
32046
  kind: "mutation",
31994
- auth: "admin"
32047
+ auth: "protected"
31995
32048
  })
31996
32049
  },
31997
32050
  status: {
@@ -32035,22 +32088,22 @@ var valveCapability = {
32035
32088
  methods: {
32036
32089
  open: method(object({ deviceId: number().int().nonnegative() }), _void(), {
32037
32090
  kind: "mutation",
32038
- auth: "admin"
32091
+ auth: "protected"
32039
32092
  }),
32040
32093
  close: method(object({ deviceId: number().int().nonnegative() }), _void(), {
32041
32094
  kind: "mutation",
32042
- auth: "admin"
32095
+ auth: "protected"
32043
32096
  }),
32044
32097
  stop: method(object({ deviceId: number().int().nonnegative() }), _void(), {
32045
32098
  kind: "mutation",
32046
- auth: "admin"
32099
+ auth: "protected"
32047
32100
  }),
32048
32101
  setPosition: method(object({
32049
32102
  deviceId: number().int().nonnegative(),
32050
32103
  position: number().min(0).max(100)
32051
32104
  }), _void(), {
32052
32105
  kind: "mutation",
32053
- auth: "admin"
32106
+ auth: "protected"
32054
32107
  })
32055
32108
  },
32056
32109
  status: {
@@ -32149,21 +32202,21 @@ var waterHeaterCapability = {
32149
32202
  temp: number().finite()
32150
32203
  }), _void(), {
32151
32204
  kind: "mutation",
32152
- auth: "admin"
32205
+ auth: "protected"
32153
32206
  }),
32154
32207
  setOperationMode: method(object({
32155
32208
  deviceId: number().int().nonnegative(),
32156
32209
  mode: string().min(1)
32157
32210
  }), _void(), {
32158
32211
  kind: "mutation",
32159
- auth: "admin"
32212
+ auth: "protected"
32160
32213
  }),
32161
32214
  setAway: method(object({
32162
32215
  deviceId: number().int().nonnegative(),
32163
32216
  on: boolean()
32164
32217
  }), _void(), {
32165
32218
  kind: "mutation",
32166
- auth: "admin"
32219
+ auth: "protected"
32167
32220
  })
32168
32221
  },
32169
32222
  status: {
@@ -35897,6 +35950,12 @@ Object.freeze({
35897
35950
  addonId: null,
35898
35951
  access: "create"
35899
35952
  },
35953
+ "faceGallery.auditIdentitySamples": {
35954
+ capName: "face-gallery",
35955
+ capScope: "system",
35956
+ addonId: null,
35957
+ access: "view"
35958
+ },
35900
35959
  "faceGallery.createIdentity": {
35901
35960
  capName: "face-gallery",
35902
35961
  capScope: "system",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@camstack/addon-provider-gree",
3
- "version": "0.2.83",
3
+ "version": "0.2.85",
4
4
  "description": "Gree air-conditioner device-provider addon for CamStack — wraps the @apocaliss92/nodegree local-UDP client (LAN discovery + AES control), exposing climate-control and fan-control",
5
5
  "keywords": [
6
6
  "camstack",