@camstack/addon-import-alexa 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
@@ -16351,14 +16351,14 @@ var alarmPanelCapability = {
16351
16351
  code: string().min(1).optional()
16352
16352
  }), _void(), {
16353
16353
  kind: "mutation",
16354
- auth: "admin"
16354
+ auth: "protected"
16355
16355
  }),
16356
16356
  disarm: method(object({
16357
16357
  deviceId: number().int().nonnegative(),
16358
16358
  code: string().min(1).optional()
16359
16359
  }), _void(), {
16360
16360
  kind: "mutation",
16361
- auth: "admin"
16361
+ auth: "protected"
16362
16362
  }),
16363
16363
  /**
16364
16364
  * Force the panel into the `triggered` state — used by HA
@@ -16369,7 +16369,7 @@ var alarmPanelCapability = {
16369
16369
  */
16370
16370
  trigger: method(object({ deviceId: number().int().nonnegative() }), _void(), {
16371
16371
  kind: "mutation",
16372
- auth: "admin"
16372
+ auth: "protected"
16373
16373
  })
16374
16374
  },
16375
16375
  status: {
@@ -24336,7 +24336,7 @@ var brightnessCapability = {
24336
24336
  percentage: number().min(0).max(100)
24337
24337
  }), _void(), {
24338
24338
  kind: "mutation",
24339
- auth: "admin"
24339
+ auth: "protected"
24340
24340
  }) },
24341
24341
  events: {
24342
24342
  /**
@@ -24385,7 +24385,7 @@ var buttonCapability = {
24385
24385
  deviceTypes: [DeviceType.Button],
24386
24386
  methods: { press: method(object({ deviceId: number().int().nonnegative() }), _void(), {
24387
24387
  kind: "mutation",
24388
- auth: "admin"
24388
+ auth: "protected"
24389
24389
  }) }
24390
24390
  };
24391
24391
  /**
@@ -24578,28 +24578,28 @@ var climateControlCapability = {
24578
24578
  mode: HvacModeSchema
24579
24579
  }), _void(), {
24580
24580
  kind: "mutation",
24581
- auth: "admin"
24581
+ auth: "protected"
24582
24582
  }),
24583
24583
  setFanMode: method(object({
24584
24584
  deviceId: number().int().nonnegative(),
24585
24585
  fanMode: string().min(1)
24586
24586
  }), _void(), {
24587
24587
  kind: "mutation",
24588
- auth: "admin"
24588
+ auth: "protected"
24589
24589
  }),
24590
24590
  setPreset: method(object({
24591
24591
  deviceId: number().int().nonnegative(),
24592
24592
  preset: string().min(1)
24593
24593
  }), _void(), {
24594
24594
  kind: "mutation",
24595
- auth: "admin"
24595
+ auth: "protected"
24596
24596
  }),
24597
24597
  setTarget: method(object({
24598
24598
  deviceId: number().int().nonnegative(),
24599
24599
  target: number()
24600
24600
  }), _void(), {
24601
24601
  kind: "mutation",
24602
- auth: "admin"
24602
+ auth: "protected"
24603
24603
  }),
24604
24604
  setTargetRange: method(object({
24605
24605
  deviceId: number().int().nonnegative(),
@@ -24607,28 +24607,28 @@ var climateControlCapability = {
24607
24607
  targetHigh: number()
24608
24608
  }), _void(), {
24609
24609
  kind: "mutation",
24610
- auth: "admin"
24610
+ auth: "protected"
24611
24611
  }),
24612
24612
  setTargetHumidity: method(object({
24613
24613
  deviceId: number().int().nonnegative(),
24614
24614
  targetHumidity: number().min(0).max(100)
24615
24615
  }), _void(), {
24616
24616
  kind: "mutation",
24617
- auth: "admin"
24617
+ auth: "protected"
24618
24618
  }),
24619
24619
  setSwingVertical: method(object({
24620
24620
  deviceId: number().int().nonnegative(),
24621
24621
  on: boolean()
24622
24622
  }), _void(), {
24623
24623
  kind: "mutation",
24624
- auth: "admin"
24624
+ auth: "protected"
24625
24625
  }),
24626
24626
  setSwingHorizontal: method(object({
24627
24627
  deviceId: number().int().nonnegative(),
24628
24628
  on: boolean()
24629
24629
  }), _void(), {
24630
24630
  kind: "mutation",
24631
- auth: "admin"
24631
+ auth: "protected"
24632
24632
  })
24633
24633
  },
24634
24634
  status: {
@@ -24728,7 +24728,7 @@ var colorCapability = {
24728
24728
  color: ColorInputSchema
24729
24729
  }), _void(), {
24730
24730
  kind: "mutation",
24731
- auth: "admin"
24731
+ auth: "protected"
24732
24732
  }) },
24733
24733
  events: {
24734
24734
  /**
@@ -25057,7 +25057,7 @@ var controlCapability = {
25057
25057
  control: ControlSetValueInputSchema
25058
25058
  }), _void(), {
25059
25059
  kind: "mutation",
25060
- auth: "admin"
25060
+ auth: "protected"
25061
25061
  }) },
25062
25062
  status: {
25063
25063
  schema: ControlStatusSchema,
@@ -25103,29 +25103,29 @@ var coverCapability = {
25103
25103
  methods: {
25104
25104
  open: method(object({ deviceId: number().int().nonnegative() }), _void(), {
25105
25105
  kind: "mutation",
25106
- auth: "admin"
25106
+ auth: "protected"
25107
25107
  }),
25108
25108
  close: method(object({ deviceId: number().int().nonnegative() }), _void(), {
25109
25109
  kind: "mutation",
25110
- auth: "admin"
25110
+ auth: "protected"
25111
25111
  }),
25112
25112
  stop: method(object({ deviceId: number().int().nonnegative() }), _void(), {
25113
25113
  kind: "mutation",
25114
- auth: "admin"
25114
+ auth: "protected"
25115
25115
  }),
25116
25116
  setPosition: method(object({
25117
25117
  deviceId: number().int().nonnegative(),
25118
25118
  position: number().min(0).max(100)
25119
25119
  }), _void(), {
25120
25120
  kind: "mutation",
25121
- auth: "admin"
25121
+ auth: "protected"
25122
25122
  }),
25123
25123
  setTiltPosition: method(object({
25124
25124
  deviceId: number().int().nonnegative(),
25125
25125
  tiltPosition: number().min(0).max(100)
25126
25126
  }), _void(), {
25127
25127
  kind: "mutation",
25128
- auth: "admin"
25128
+ auth: "protected"
25129
25129
  })
25130
25130
  },
25131
25131
  status: {
@@ -25511,6 +25511,59 @@ var IdentitySampleInfoSchema = object({
25511
25511
  deviceId: number().int().optional(),
25512
25512
  base64: string().optional()
25513
25513
  });
25514
+ /**
25515
+ * One enrolled sample, judged against the gallery it lives in.
25516
+ *
25517
+ * The gallery is the one input to recognition nobody re-reads: a sample
25518
+ * enrolled from the wrong face keeps voting forever, and because the matches it
25519
+ * pulls then look confident, nobody goes back. The 2026-09-08 audit found
25520
+ * exactly one such pair on this cluster — a sample scoring 0.61 against three
25521
+ * samples of ANOTHER person, enrolled from the same camera in the same minute,
25522
+ * where every other cross-identity pair sits under 0.50.
25523
+ */
25524
+ var IdentitySampleAuditRowSchema = object({
25525
+ sampleId: string(),
25526
+ enrolledAt: number().int(),
25527
+ deviceId: number().int().optional(),
25528
+ source: _enum(["detected", "photo"]),
25529
+ /** The enrolled crop's media key, so the panel can show the evidence. */
25530
+ mediaKey: string().optional(),
25531
+ /**
25532
+ * False = the sample is stamped with a DIFFERENT face model, and a cosine
25533
+ * across feature spaces is a well-formed float with no meaning. Every number
25534
+ * below then says nothing — it must read as "cannot say", never as an
25535
+ * accusation and never as a clean bill: this list ends in a Remove button.
25536
+ */
25537
+ comparable: boolean(),
25538
+ /** Mean cosine against this person's other samples. Null when there are none
25539
+ * to compare with — never 0, which would read as "opposite". */
25540
+ selfMean: number().nullable(),
25541
+ /** The other person this sample looks most like, when it looks like one.
25542
+ * This is the half that convicts: not looking like yourself can be a hard
25543
+ * angle; looking like someone the gallery can NAME is a mis-enrolment. */
25544
+ bestForeign: object({
25545
+ identityId: string(),
25546
+ name: string(),
25547
+ score: number()
25548
+ }).optional(),
25549
+ /** 0 = nothing to say. Higher = look at this one sooner. */
25550
+ suspicion: number()
25551
+ });
25552
+ var IdentitySampleAuditSchema = object({
25553
+ identityId: string(),
25554
+ name: string(),
25555
+ /** The cluster face model every comparison was made in. */
25556
+ modelId: string(),
25557
+ totalSamples: number().int(),
25558
+ comparableSamples: number().int(),
25559
+ flagged: number().int(),
25560
+ /** The bar `flagged` counts against, so the panel states the RULE and not
25561
+ * only its current result. */
25562
+ flagThreshold: number(),
25563
+ /** Worst first. A row with nothing to say still appears, at the bottom: the
25564
+ * operator asked to see the gallery, not only its accusations. */
25565
+ rows: array(IdentitySampleAuditRowSchema).readonly()
25566
+ });
25514
25567
  var FaceInfoSchema = object({
25515
25568
  faceId: string(),
25516
25569
  deviceId: number().int(),
@@ -25662,7 +25715,7 @@ includeCrops: boolean().optional() }).optional(), array(IdentitySchema).readonly
25662
25715
  }), method(object({ id: string() }), _void(), {
25663
25716
  kind: "mutation",
25664
25717
  auth: "admin"
25665
- }), method(object({ identityId: string() }), array(IdentitySampleInfoSchema).readonly()), method(object({
25718
+ }), method(object({ identityId: string() }), array(IdentitySampleInfoSchema).readonly()), method(object({ identityId: string().min(1) }), IdentitySampleAuditSchema, { auth: "admin" }), method(object({
25666
25719
  identityId: string(),
25667
25720
  sampleId: string()
25668
25721
  }), _void(), {
@@ -25855,28 +25908,28 @@ var fanControlCapability = {
25855
25908
  percentage: number().min(0).max(100)
25856
25909
  }), _void(), {
25857
25910
  kind: "mutation",
25858
- auth: "admin"
25911
+ auth: "protected"
25859
25912
  }),
25860
25913
  setPreset: method(object({
25861
25914
  deviceId: number().int().nonnegative(),
25862
25915
  preset: string().min(1)
25863
25916
  }), _void(), {
25864
25917
  kind: "mutation",
25865
- auth: "admin"
25918
+ auth: "protected"
25866
25919
  }),
25867
25920
  setDirection: method(object({
25868
25921
  deviceId: number().int().nonnegative(),
25869
25922
  direction: FanDirectionSchema
25870
25923
  }), _void(), {
25871
25924
  kind: "mutation",
25872
- auth: "admin"
25925
+ auth: "protected"
25873
25926
  }),
25874
25927
  setOscillating: method(object({
25875
25928
  deviceId: number().int().nonnegative(),
25876
25929
  oscillating: boolean()
25877
25930
  }), _void(), {
25878
25931
  kind: "mutation",
25879
- auth: "admin"
25932
+ auth: "protected"
25880
25933
  })
25881
25934
  },
25882
25935
  status: {
@@ -26098,21 +26151,21 @@ var humidifierCapability = {
26098
26151
  on: boolean()
26099
26152
  }), _void(), {
26100
26153
  kind: "mutation",
26101
- auth: "admin"
26154
+ auth: "protected"
26102
26155
  }),
26103
26156
  setTargetHumidity: method(object({
26104
26157
  deviceId: number().int().nonnegative(),
26105
26158
  humidity: number().min(0).max(100)
26106
26159
  }), _void(), {
26107
26160
  kind: "mutation",
26108
- auth: "admin"
26161
+ auth: "protected"
26109
26162
  }),
26110
26163
  setMode: method(object({
26111
26164
  deviceId: number().int().nonnegative(),
26112
26165
  mode: string().min(1)
26113
26166
  }), _void(), {
26114
26167
  kind: "mutation",
26115
- auth: "admin"
26168
+ auth: "protected"
26116
26169
  })
26117
26170
  },
26118
26171
  status: {
@@ -26813,15 +26866,15 @@ var lawnMowerControlCapability = {
26813
26866
  methods: {
26814
26867
  startMowing: method(object({ deviceId: number().int().nonnegative() }), _void(), {
26815
26868
  kind: "mutation",
26816
- auth: "admin"
26869
+ auth: "protected"
26817
26870
  }),
26818
26871
  pause: method(object({ deviceId: number().int().nonnegative() }), _void(), {
26819
26872
  kind: "mutation",
26820
- auth: "admin"
26873
+ auth: "protected"
26821
26874
  }),
26822
26875
  dock: method(object({ deviceId: number().int().nonnegative() }), _void(), {
26823
26876
  kind: "mutation",
26824
- auth: "admin"
26877
+ auth: "protected"
26825
26878
  })
26826
26879
  },
26827
26880
  status: {
@@ -27106,18 +27159,18 @@ var lockControlCapability = {
27106
27159
  code: string().min(1).optional()
27107
27160
  }), _void(), {
27108
27161
  kind: "mutation",
27109
- auth: "admin"
27162
+ auth: "protected"
27110
27163
  }),
27111
27164
  unlock: method(object({
27112
27165
  deviceId: number().int().nonnegative(),
27113
27166
  code: string().min(1).optional()
27114
27167
  }), _void(), {
27115
27168
  kind: "mutation",
27116
- auth: "admin"
27169
+ auth: "protected"
27117
27170
  }),
27118
27171
  open: method(object({ deviceId: number().int().nonnegative() }), _void(), {
27119
27172
  kind: "mutation",
27120
- auth: "admin"
27173
+ auth: "protected"
27121
27174
  })
27122
27175
  },
27123
27176
  status: {
@@ -27220,65 +27273,65 @@ var mediaPlayerCapability = {
27220
27273
  methods: {
27221
27274
  play: method(object({ deviceId: number().int().nonnegative() }), _void(), {
27222
27275
  kind: "mutation",
27223
- auth: "admin"
27276
+ auth: "protected"
27224
27277
  }),
27225
27278
  pause: method(object({ deviceId: number().int().nonnegative() }), _void(), {
27226
27279
  kind: "mutation",
27227
- auth: "admin"
27280
+ auth: "protected"
27228
27281
  }),
27229
27282
  stop: method(object({ deviceId: number().int().nonnegative() }), _void(), {
27230
27283
  kind: "mutation",
27231
- auth: "admin"
27284
+ auth: "protected"
27232
27285
  }),
27233
27286
  next: method(object({ deviceId: number().int().nonnegative() }), _void(), {
27234
27287
  kind: "mutation",
27235
- auth: "admin"
27288
+ auth: "protected"
27236
27289
  }),
27237
27290
  previous: method(object({ deviceId: number().int().nonnegative() }), _void(), {
27238
27291
  kind: "mutation",
27239
- auth: "admin"
27292
+ auth: "protected"
27240
27293
  }),
27241
27294
  seek: method(object({
27242
27295
  deviceId: number().int().nonnegative(),
27243
27296
  positionMs: number().int().nonnegative()
27244
27297
  }), _void(), {
27245
27298
  kind: "mutation",
27246
- auth: "admin"
27299
+ auth: "protected"
27247
27300
  }),
27248
27301
  setVolume: method(object({
27249
27302
  deviceId: number().int().nonnegative(),
27250
27303
  volumeLevel: number().min(0).max(100)
27251
27304
  }), _void(), {
27252
27305
  kind: "mutation",
27253
- auth: "admin"
27306
+ auth: "protected"
27254
27307
  }),
27255
27308
  setMute: method(object({
27256
27309
  deviceId: number().int().nonnegative(),
27257
27310
  muted: boolean()
27258
27311
  }), _void(), {
27259
27312
  kind: "mutation",
27260
- auth: "admin"
27313
+ auth: "protected"
27261
27314
  }),
27262
27315
  setShuffle: method(object({
27263
27316
  deviceId: number().int().nonnegative(),
27264
27317
  shuffle: boolean()
27265
27318
  }), _void(), {
27266
27319
  kind: "mutation",
27267
- auth: "admin"
27320
+ auth: "protected"
27268
27321
  }),
27269
27322
  setRepeat: method(object({
27270
27323
  deviceId: number().int().nonnegative(),
27271
27324
  repeat: MediaPlayerRepeatSchema
27272
27325
  }), _void(), {
27273
27326
  kind: "mutation",
27274
- auth: "admin"
27327
+ auth: "protected"
27275
27328
  }),
27276
27329
  selectSource: method(object({
27277
27330
  deviceId: number().int().nonnegative(),
27278
27331
  source: string().min(1)
27279
27332
  }), _void(), {
27280
27333
  kind: "mutation",
27281
- auth: "admin"
27334
+ auth: "protected"
27282
27335
  }),
27283
27336
  playMedia: method(object({
27284
27337
  deviceId: number().int().nonnegative(),
@@ -27289,7 +27342,7 @@ var mediaPlayerCapability = {
27289
27342
  mediaType: string().min(1)
27290
27343
  }), _void(), {
27291
27344
  kind: "mutation",
27292
- auth: "admin"
27345
+ auth: "protected"
27293
27346
  })
27294
27347
  },
27295
27348
  status: {
@@ -28882,27 +28935,27 @@ var petFeederCapability = {
28882
28935
  hopper2: gramsPortion.optional()
28883
28936
  }), _void(), {
28884
28937
  kind: "mutation",
28885
- auth: "admin"
28938
+ auth: "protected"
28886
28939
  }),
28887
28940
  /** Cancel an in-progress manual feed. */
28888
28941
  cancelFeed: method(object({ deviceId: number().int().nonnegative() }), _void(), {
28889
28942
  kind: "mutation",
28890
- auth: "admin"
28943
+ auth: "protected"
28891
28944
  }),
28892
28945
  /** Reset the desiccant "days remaining" counter after replacing it. */
28893
28946
  resetDesiccant: method(object({ deviceId: number().int().nonnegative() }), _void(), {
28894
28947
  kind: "mutation",
28895
- auth: "admin"
28948
+ auth: "protected"
28896
28949
  }),
28897
28950
  /** Mark a hopper as refilled (D4H/D4S/D4SH). */
28898
28951
  markFoodReplenished: method(object({ deviceId: number().int().nonnegative() }), _void(), {
28899
28952
  kind: "mutation",
28900
- auth: "admin"
28953
+ auth: "protected"
28901
28954
  }),
28902
28955
  /** Call the pet with the recorded prompt (D3). */
28903
28956
  callPet: method(object({ deviceId: number().int().nonnegative() }), _void(), {
28904
28957
  kind: "mutation",
28905
- auth: "admin"
28958
+ auth: "protected"
28906
28959
  }),
28907
28960
  /** Play a stored sound by id (D3 / D4H / D4SH). */
28908
28961
  playSound: method(object({
@@ -28910,7 +28963,7 @@ var petFeederCapability = {
28910
28963
  soundId: number().int().nonnegative()
28911
28964
  }), _void(), {
28912
28965
  kind: "mutation",
28913
- auth: "admin"
28966
+ auth: "protected"
28914
28967
  }),
28915
28968
  /** Toggle the child-lock (manual-lock) setting. */
28916
28969
  setChildLock: method(object({
@@ -28918,7 +28971,7 @@ var petFeederCapability = {
28918
28971
  on: boolean()
28919
28972
  }), _void(), {
28920
28973
  kind: "mutation",
28921
- auth: "admin"
28974
+ auth: "protected"
28922
28975
  }),
28923
28976
  /** Toggle the front indicator light. */
28924
28977
  setIndicatorLight: method(object({
@@ -28926,7 +28979,7 @@ var petFeederCapability = {
28926
28979
  on: boolean()
28927
28980
  }), _void(), {
28928
28981
  kind: "mutation",
28929
- auth: "admin"
28982
+ auth: "protected"
28930
28983
  }),
28931
28984
  /** Toggle the dispense chime. */
28932
28985
  setFeedSound: method(object({
@@ -28934,7 +28987,7 @@ var petFeederCapability = {
28934
28987
  on: boolean()
28935
28988
  }), _void(), {
28936
28989
  kind: "mutation",
28937
- auth: "admin"
28990
+ auth: "protected"
28938
28991
  }),
28939
28992
  /** Set the speaker / prompt volume level. */
28940
28993
  setVolume: method(object({
@@ -28942,7 +28995,7 @@ var petFeederCapability = {
28942
28995
  level: number().int().nonnegative()
28943
28996
  }), _void(), {
28944
28997
  kind: "mutation",
28945
- auth: "admin"
28998
+ auth: "protected"
28946
28999
  })
28947
29000
  },
28948
29001
  status: {
@@ -31238,7 +31291,7 @@ var switchCapability = {
31238
31291
  on: boolean()
31239
31292
  }), _void(), {
31240
31293
  kind: "mutation",
31241
- auth: "admin"
31294
+ auth: "protected"
31242
31295
  }) },
31243
31296
  events: { onStateChanged: { data: object({
31244
31297
  deviceId: number(),
@@ -32226,30 +32279,30 @@ var vacuumControlCapability = {
32226
32279
  methods: {
32227
32280
  start: method(object({ deviceId: number().int().nonnegative() }), _void(), {
32228
32281
  kind: "mutation",
32229
- auth: "admin"
32282
+ auth: "protected"
32230
32283
  }),
32231
32284
  pause: method(object({ deviceId: number().int().nonnegative() }), _void(), {
32232
32285
  kind: "mutation",
32233
- auth: "admin"
32286
+ auth: "protected"
32234
32287
  }),
32235
32288
  stop: method(object({ deviceId: number().int().nonnegative() }), _void(), {
32236
32289
  kind: "mutation",
32237
- auth: "admin"
32290
+ auth: "protected"
32238
32291
  }),
32239
32292
  returnToBase: method(object({ deviceId: number().int().nonnegative() }), _void(), {
32240
32293
  kind: "mutation",
32241
- auth: "admin"
32294
+ auth: "protected"
32242
32295
  }),
32243
32296
  locate: method(object({ deviceId: number().int().nonnegative() }), _void(), {
32244
32297
  kind: "mutation",
32245
- auth: "admin"
32298
+ auth: "protected"
32246
32299
  }),
32247
32300
  setFanSpeed: method(object({
32248
32301
  deviceId: number().int().nonnegative(),
32249
32302
  speed: string().min(1)
32250
32303
  }), _void(), {
32251
32304
  kind: "mutation",
32252
- auth: "admin"
32305
+ auth: "protected"
32253
32306
  })
32254
32307
  },
32255
32308
  status: {
@@ -32293,22 +32346,22 @@ var valveCapability = {
32293
32346
  methods: {
32294
32347
  open: method(object({ deviceId: number().int().nonnegative() }), _void(), {
32295
32348
  kind: "mutation",
32296
- auth: "admin"
32349
+ auth: "protected"
32297
32350
  }),
32298
32351
  close: method(object({ deviceId: number().int().nonnegative() }), _void(), {
32299
32352
  kind: "mutation",
32300
- auth: "admin"
32353
+ auth: "protected"
32301
32354
  }),
32302
32355
  stop: method(object({ deviceId: number().int().nonnegative() }), _void(), {
32303
32356
  kind: "mutation",
32304
- auth: "admin"
32357
+ auth: "protected"
32305
32358
  }),
32306
32359
  setPosition: method(object({
32307
32360
  deviceId: number().int().nonnegative(),
32308
32361
  position: number().min(0).max(100)
32309
32362
  }), _void(), {
32310
32363
  kind: "mutation",
32311
- auth: "admin"
32364
+ auth: "protected"
32312
32365
  })
32313
32366
  },
32314
32367
  status: {
@@ -32407,21 +32460,21 @@ var waterHeaterCapability = {
32407
32460
  temp: number().finite()
32408
32461
  }), _void(), {
32409
32462
  kind: "mutation",
32410
- auth: "admin"
32463
+ auth: "protected"
32411
32464
  }),
32412
32465
  setOperationMode: method(object({
32413
32466
  deviceId: number().int().nonnegative(),
32414
32467
  mode: string().min(1)
32415
32468
  }), _void(), {
32416
32469
  kind: "mutation",
32417
- auth: "admin"
32470
+ auth: "protected"
32418
32471
  }),
32419
32472
  setAway: method(object({
32420
32473
  deviceId: number().int().nonnegative(),
32421
32474
  on: boolean()
32422
32475
  }), _void(), {
32423
32476
  kind: "mutation",
32424
- auth: "admin"
32477
+ auth: "protected"
32425
32478
  })
32426
32479
  },
32427
32480
  status: {
@@ -36155,6 +36208,12 @@ Object.freeze({
36155
36208
  addonId: null,
36156
36209
  access: "create"
36157
36210
  },
36211
+ "faceGallery.auditIdentitySamples": {
36212
+ capName: "face-gallery",
36213
+ capScope: "system",
36214
+ addonId: null,
36215
+ access: "view"
36216
+ },
36158
36217
  "faceGallery.createIdentity": {
36159
36218
  capName: "face-gallery",
36160
36219
  capScope: "system",
package/dist/addon.mjs CHANGED
@@ -16351,14 +16351,14 @@ var alarmPanelCapability = {
16351
16351
  code: string().min(1).optional()
16352
16352
  }), _void(), {
16353
16353
  kind: "mutation",
16354
- auth: "admin"
16354
+ auth: "protected"
16355
16355
  }),
16356
16356
  disarm: method(object({
16357
16357
  deviceId: number().int().nonnegative(),
16358
16358
  code: string().min(1).optional()
16359
16359
  }), _void(), {
16360
16360
  kind: "mutation",
16361
- auth: "admin"
16361
+ auth: "protected"
16362
16362
  }),
16363
16363
  /**
16364
16364
  * Force the panel into the `triggered` state — used by HA
@@ -16369,7 +16369,7 @@ var alarmPanelCapability = {
16369
16369
  */
16370
16370
  trigger: method(object({ deviceId: number().int().nonnegative() }), _void(), {
16371
16371
  kind: "mutation",
16372
- auth: "admin"
16372
+ auth: "protected"
16373
16373
  })
16374
16374
  },
16375
16375
  status: {
@@ -24336,7 +24336,7 @@ var brightnessCapability = {
24336
24336
  percentage: number().min(0).max(100)
24337
24337
  }), _void(), {
24338
24338
  kind: "mutation",
24339
- auth: "admin"
24339
+ auth: "protected"
24340
24340
  }) },
24341
24341
  events: {
24342
24342
  /**
@@ -24385,7 +24385,7 @@ var buttonCapability = {
24385
24385
  deviceTypes: [DeviceType.Button],
24386
24386
  methods: { press: method(object({ deviceId: number().int().nonnegative() }), _void(), {
24387
24387
  kind: "mutation",
24388
- auth: "admin"
24388
+ auth: "protected"
24389
24389
  }) }
24390
24390
  };
24391
24391
  /**
@@ -24578,28 +24578,28 @@ var climateControlCapability = {
24578
24578
  mode: HvacModeSchema
24579
24579
  }), _void(), {
24580
24580
  kind: "mutation",
24581
- auth: "admin"
24581
+ auth: "protected"
24582
24582
  }),
24583
24583
  setFanMode: method(object({
24584
24584
  deviceId: number().int().nonnegative(),
24585
24585
  fanMode: string().min(1)
24586
24586
  }), _void(), {
24587
24587
  kind: "mutation",
24588
- auth: "admin"
24588
+ auth: "protected"
24589
24589
  }),
24590
24590
  setPreset: method(object({
24591
24591
  deviceId: number().int().nonnegative(),
24592
24592
  preset: string().min(1)
24593
24593
  }), _void(), {
24594
24594
  kind: "mutation",
24595
- auth: "admin"
24595
+ auth: "protected"
24596
24596
  }),
24597
24597
  setTarget: method(object({
24598
24598
  deviceId: number().int().nonnegative(),
24599
24599
  target: number()
24600
24600
  }), _void(), {
24601
24601
  kind: "mutation",
24602
- auth: "admin"
24602
+ auth: "protected"
24603
24603
  }),
24604
24604
  setTargetRange: method(object({
24605
24605
  deviceId: number().int().nonnegative(),
@@ -24607,28 +24607,28 @@ var climateControlCapability = {
24607
24607
  targetHigh: number()
24608
24608
  }), _void(), {
24609
24609
  kind: "mutation",
24610
- auth: "admin"
24610
+ auth: "protected"
24611
24611
  }),
24612
24612
  setTargetHumidity: method(object({
24613
24613
  deviceId: number().int().nonnegative(),
24614
24614
  targetHumidity: number().min(0).max(100)
24615
24615
  }), _void(), {
24616
24616
  kind: "mutation",
24617
- auth: "admin"
24617
+ auth: "protected"
24618
24618
  }),
24619
24619
  setSwingVertical: method(object({
24620
24620
  deviceId: number().int().nonnegative(),
24621
24621
  on: boolean()
24622
24622
  }), _void(), {
24623
24623
  kind: "mutation",
24624
- auth: "admin"
24624
+ auth: "protected"
24625
24625
  }),
24626
24626
  setSwingHorizontal: method(object({
24627
24627
  deviceId: number().int().nonnegative(),
24628
24628
  on: boolean()
24629
24629
  }), _void(), {
24630
24630
  kind: "mutation",
24631
- auth: "admin"
24631
+ auth: "protected"
24632
24632
  })
24633
24633
  },
24634
24634
  status: {
@@ -24728,7 +24728,7 @@ var colorCapability = {
24728
24728
  color: ColorInputSchema
24729
24729
  }), _void(), {
24730
24730
  kind: "mutation",
24731
- auth: "admin"
24731
+ auth: "protected"
24732
24732
  }) },
24733
24733
  events: {
24734
24734
  /**
@@ -25057,7 +25057,7 @@ var controlCapability = {
25057
25057
  control: ControlSetValueInputSchema
25058
25058
  }), _void(), {
25059
25059
  kind: "mutation",
25060
- auth: "admin"
25060
+ auth: "protected"
25061
25061
  }) },
25062
25062
  status: {
25063
25063
  schema: ControlStatusSchema,
@@ -25103,29 +25103,29 @@ var coverCapability = {
25103
25103
  methods: {
25104
25104
  open: method(object({ deviceId: number().int().nonnegative() }), _void(), {
25105
25105
  kind: "mutation",
25106
- auth: "admin"
25106
+ auth: "protected"
25107
25107
  }),
25108
25108
  close: method(object({ deviceId: number().int().nonnegative() }), _void(), {
25109
25109
  kind: "mutation",
25110
- auth: "admin"
25110
+ auth: "protected"
25111
25111
  }),
25112
25112
  stop: method(object({ deviceId: number().int().nonnegative() }), _void(), {
25113
25113
  kind: "mutation",
25114
- auth: "admin"
25114
+ auth: "protected"
25115
25115
  }),
25116
25116
  setPosition: method(object({
25117
25117
  deviceId: number().int().nonnegative(),
25118
25118
  position: number().min(0).max(100)
25119
25119
  }), _void(), {
25120
25120
  kind: "mutation",
25121
- auth: "admin"
25121
+ auth: "protected"
25122
25122
  }),
25123
25123
  setTiltPosition: method(object({
25124
25124
  deviceId: number().int().nonnegative(),
25125
25125
  tiltPosition: number().min(0).max(100)
25126
25126
  }), _void(), {
25127
25127
  kind: "mutation",
25128
- auth: "admin"
25128
+ auth: "protected"
25129
25129
  })
25130
25130
  },
25131
25131
  status: {
@@ -25511,6 +25511,59 @@ var IdentitySampleInfoSchema = object({
25511
25511
  deviceId: number().int().optional(),
25512
25512
  base64: string().optional()
25513
25513
  });
25514
+ /**
25515
+ * One enrolled sample, judged against the gallery it lives in.
25516
+ *
25517
+ * The gallery is the one input to recognition nobody re-reads: a sample
25518
+ * enrolled from the wrong face keeps voting forever, and because the matches it
25519
+ * pulls then look confident, nobody goes back. The 2026-09-08 audit found
25520
+ * exactly one such pair on this cluster — a sample scoring 0.61 against three
25521
+ * samples of ANOTHER person, enrolled from the same camera in the same minute,
25522
+ * where every other cross-identity pair sits under 0.50.
25523
+ */
25524
+ var IdentitySampleAuditRowSchema = object({
25525
+ sampleId: string(),
25526
+ enrolledAt: number().int(),
25527
+ deviceId: number().int().optional(),
25528
+ source: _enum(["detected", "photo"]),
25529
+ /** The enrolled crop's media key, so the panel can show the evidence. */
25530
+ mediaKey: string().optional(),
25531
+ /**
25532
+ * False = the sample is stamped with a DIFFERENT face model, and a cosine
25533
+ * across feature spaces is a well-formed float with no meaning. Every number
25534
+ * below then says nothing — it must read as "cannot say", never as an
25535
+ * accusation and never as a clean bill: this list ends in a Remove button.
25536
+ */
25537
+ comparable: boolean(),
25538
+ /** Mean cosine against this person's other samples. Null when there are none
25539
+ * to compare with — never 0, which would read as "opposite". */
25540
+ selfMean: number().nullable(),
25541
+ /** The other person this sample looks most like, when it looks like one.
25542
+ * This is the half that convicts: not looking like yourself can be a hard
25543
+ * angle; looking like someone the gallery can NAME is a mis-enrolment. */
25544
+ bestForeign: object({
25545
+ identityId: string(),
25546
+ name: string(),
25547
+ score: number()
25548
+ }).optional(),
25549
+ /** 0 = nothing to say. Higher = look at this one sooner. */
25550
+ suspicion: number()
25551
+ });
25552
+ var IdentitySampleAuditSchema = object({
25553
+ identityId: string(),
25554
+ name: string(),
25555
+ /** The cluster face model every comparison was made in. */
25556
+ modelId: string(),
25557
+ totalSamples: number().int(),
25558
+ comparableSamples: number().int(),
25559
+ flagged: number().int(),
25560
+ /** The bar `flagged` counts against, so the panel states the RULE and not
25561
+ * only its current result. */
25562
+ flagThreshold: number(),
25563
+ /** Worst first. A row with nothing to say still appears, at the bottom: the
25564
+ * operator asked to see the gallery, not only its accusations. */
25565
+ rows: array(IdentitySampleAuditRowSchema).readonly()
25566
+ });
25514
25567
  var FaceInfoSchema = object({
25515
25568
  faceId: string(),
25516
25569
  deviceId: number().int(),
@@ -25662,7 +25715,7 @@ includeCrops: boolean().optional() }).optional(), array(IdentitySchema).readonly
25662
25715
  }), method(object({ id: string() }), _void(), {
25663
25716
  kind: "mutation",
25664
25717
  auth: "admin"
25665
- }), method(object({ identityId: string() }), array(IdentitySampleInfoSchema).readonly()), method(object({
25718
+ }), method(object({ identityId: string() }), array(IdentitySampleInfoSchema).readonly()), method(object({ identityId: string().min(1) }), IdentitySampleAuditSchema, { auth: "admin" }), method(object({
25666
25719
  identityId: string(),
25667
25720
  sampleId: string()
25668
25721
  }), _void(), {
@@ -25855,28 +25908,28 @@ var fanControlCapability = {
25855
25908
  percentage: number().min(0).max(100)
25856
25909
  }), _void(), {
25857
25910
  kind: "mutation",
25858
- auth: "admin"
25911
+ auth: "protected"
25859
25912
  }),
25860
25913
  setPreset: method(object({
25861
25914
  deviceId: number().int().nonnegative(),
25862
25915
  preset: string().min(1)
25863
25916
  }), _void(), {
25864
25917
  kind: "mutation",
25865
- auth: "admin"
25918
+ auth: "protected"
25866
25919
  }),
25867
25920
  setDirection: method(object({
25868
25921
  deviceId: number().int().nonnegative(),
25869
25922
  direction: FanDirectionSchema
25870
25923
  }), _void(), {
25871
25924
  kind: "mutation",
25872
- auth: "admin"
25925
+ auth: "protected"
25873
25926
  }),
25874
25927
  setOscillating: method(object({
25875
25928
  deviceId: number().int().nonnegative(),
25876
25929
  oscillating: boolean()
25877
25930
  }), _void(), {
25878
25931
  kind: "mutation",
25879
- auth: "admin"
25932
+ auth: "protected"
25880
25933
  })
25881
25934
  },
25882
25935
  status: {
@@ -26098,21 +26151,21 @@ var humidifierCapability = {
26098
26151
  on: boolean()
26099
26152
  }), _void(), {
26100
26153
  kind: "mutation",
26101
- auth: "admin"
26154
+ auth: "protected"
26102
26155
  }),
26103
26156
  setTargetHumidity: method(object({
26104
26157
  deviceId: number().int().nonnegative(),
26105
26158
  humidity: number().min(0).max(100)
26106
26159
  }), _void(), {
26107
26160
  kind: "mutation",
26108
- auth: "admin"
26161
+ auth: "protected"
26109
26162
  }),
26110
26163
  setMode: method(object({
26111
26164
  deviceId: number().int().nonnegative(),
26112
26165
  mode: string().min(1)
26113
26166
  }), _void(), {
26114
26167
  kind: "mutation",
26115
- auth: "admin"
26168
+ auth: "protected"
26116
26169
  })
26117
26170
  },
26118
26171
  status: {
@@ -26813,15 +26866,15 @@ var lawnMowerControlCapability = {
26813
26866
  methods: {
26814
26867
  startMowing: method(object({ deviceId: number().int().nonnegative() }), _void(), {
26815
26868
  kind: "mutation",
26816
- auth: "admin"
26869
+ auth: "protected"
26817
26870
  }),
26818
26871
  pause: method(object({ deviceId: number().int().nonnegative() }), _void(), {
26819
26872
  kind: "mutation",
26820
- auth: "admin"
26873
+ auth: "protected"
26821
26874
  }),
26822
26875
  dock: method(object({ deviceId: number().int().nonnegative() }), _void(), {
26823
26876
  kind: "mutation",
26824
- auth: "admin"
26877
+ auth: "protected"
26825
26878
  })
26826
26879
  },
26827
26880
  status: {
@@ -27106,18 +27159,18 @@ var lockControlCapability = {
27106
27159
  code: string().min(1).optional()
27107
27160
  }), _void(), {
27108
27161
  kind: "mutation",
27109
- auth: "admin"
27162
+ auth: "protected"
27110
27163
  }),
27111
27164
  unlock: method(object({
27112
27165
  deviceId: number().int().nonnegative(),
27113
27166
  code: string().min(1).optional()
27114
27167
  }), _void(), {
27115
27168
  kind: "mutation",
27116
- auth: "admin"
27169
+ auth: "protected"
27117
27170
  }),
27118
27171
  open: method(object({ deviceId: number().int().nonnegative() }), _void(), {
27119
27172
  kind: "mutation",
27120
- auth: "admin"
27173
+ auth: "protected"
27121
27174
  })
27122
27175
  },
27123
27176
  status: {
@@ -27220,65 +27273,65 @@ var mediaPlayerCapability = {
27220
27273
  methods: {
27221
27274
  play: method(object({ deviceId: number().int().nonnegative() }), _void(), {
27222
27275
  kind: "mutation",
27223
- auth: "admin"
27276
+ auth: "protected"
27224
27277
  }),
27225
27278
  pause: method(object({ deviceId: number().int().nonnegative() }), _void(), {
27226
27279
  kind: "mutation",
27227
- auth: "admin"
27280
+ auth: "protected"
27228
27281
  }),
27229
27282
  stop: method(object({ deviceId: number().int().nonnegative() }), _void(), {
27230
27283
  kind: "mutation",
27231
- auth: "admin"
27284
+ auth: "protected"
27232
27285
  }),
27233
27286
  next: method(object({ deviceId: number().int().nonnegative() }), _void(), {
27234
27287
  kind: "mutation",
27235
- auth: "admin"
27288
+ auth: "protected"
27236
27289
  }),
27237
27290
  previous: method(object({ deviceId: number().int().nonnegative() }), _void(), {
27238
27291
  kind: "mutation",
27239
- auth: "admin"
27292
+ auth: "protected"
27240
27293
  }),
27241
27294
  seek: method(object({
27242
27295
  deviceId: number().int().nonnegative(),
27243
27296
  positionMs: number().int().nonnegative()
27244
27297
  }), _void(), {
27245
27298
  kind: "mutation",
27246
- auth: "admin"
27299
+ auth: "protected"
27247
27300
  }),
27248
27301
  setVolume: method(object({
27249
27302
  deviceId: number().int().nonnegative(),
27250
27303
  volumeLevel: number().min(0).max(100)
27251
27304
  }), _void(), {
27252
27305
  kind: "mutation",
27253
- auth: "admin"
27306
+ auth: "protected"
27254
27307
  }),
27255
27308
  setMute: method(object({
27256
27309
  deviceId: number().int().nonnegative(),
27257
27310
  muted: boolean()
27258
27311
  }), _void(), {
27259
27312
  kind: "mutation",
27260
- auth: "admin"
27313
+ auth: "protected"
27261
27314
  }),
27262
27315
  setShuffle: method(object({
27263
27316
  deviceId: number().int().nonnegative(),
27264
27317
  shuffle: boolean()
27265
27318
  }), _void(), {
27266
27319
  kind: "mutation",
27267
- auth: "admin"
27320
+ auth: "protected"
27268
27321
  }),
27269
27322
  setRepeat: method(object({
27270
27323
  deviceId: number().int().nonnegative(),
27271
27324
  repeat: MediaPlayerRepeatSchema
27272
27325
  }), _void(), {
27273
27326
  kind: "mutation",
27274
- auth: "admin"
27327
+ auth: "protected"
27275
27328
  }),
27276
27329
  selectSource: method(object({
27277
27330
  deviceId: number().int().nonnegative(),
27278
27331
  source: string().min(1)
27279
27332
  }), _void(), {
27280
27333
  kind: "mutation",
27281
- auth: "admin"
27334
+ auth: "protected"
27282
27335
  }),
27283
27336
  playMedia: method(object({
27284
27337
  deviceId: number().int().nonnegative(),
@@ -27289,7 +27342,7 @@ var mediaPlayerCapability = {
27289
27342
  mediaType: string().min(1)
27290
27343
  }), _void(), {
27291
27344
  kind: "mutation",
27292
- auth: "admin"
27345
+ auth: "protected"
27293
27346
  })
27294
27347
  },
27295
27348
  status: {
@@ -28882,27 +28935,27 @@ var petFeederCapability = {
28882
28935
  hopper2: gramsPortion.optional()
28883
28936
  }), _void(), {
28884
28937
  kind: "mutation",
28885
- auth: "admin"
28938
+ auth: "protected"
28886
28939
  }),
28887
28940
  /** Cancel an in-progress manual feed. */
28888
28941
  cancelFeed: method(object({ deviceId: number().int().nonnegative() }), _void(), {
28889
28942
  kind: "mutation",
28890
- auth: "admin"
28943
+ auth: "protected"
28891
28944
  }),
28892
28945
  /** Reset the desiccant "days remaining" counter after replacing it. */
28893
28946
  resetDesiccant: method(object({ deviceId: number().int().nonnegative() }), _void(), {
28894
28947
  kind: "mutation",
28895
- auth: "admin"
28948
+ auth: "protected"
28896
28949
  }),
28897
28950
  /** Mark a hopper as refilled (D4H/D4S/D4SH). */
28898
28951
  markFoodReplenished: method(object({ deviceId: number().int().nonnegative() }), _void(), {
28899
28952
  kind: "mutation",
28900
- auth: "admin"
28953
+ auth: "protected"
28901
28954
  }),
28902
28955
  /** Call the pet with the recorded prompt (D3). */
28903
28956
  callPet: method(object({ deviceId: number().int().nonnegative() }), _void(), {
28904
28957
  kind: "mutation",
28905
- auth: "admin"
28958
+ auth: "protected"
28906
28959
  }),
28907
28960
  /** Play a stored sound by id (D3 / D4H / D4SH). */
28908
28961
  playSound: method(object({
@@ -28910,7 +28963,7 @@ var petFeederCapability = {
28910
28963
  soundId: number().int().nonnegative()
28911
28964
  }), _void(), {
28912
28965
  kind: "mutation",
28913
- auth: "admin"
28966
+ auth: "protected"
28914
28967
  }),
28915
28968
  /** Toggle the child-lock (manual-lock) setting. */
28916
28969
  setChildLock: method(object({
@@ -28918,7 +28971,7 @@ var petFeederCapability = {
28918
28971
  on: boolean()
28919
28972
  }), _void(), {
28920
28973
  kind: "mutation",
28921
- auth: "admin"
28974
+ auth: "protected"
28922
28975
  }),
28923
28976
  /** Toggle the front indicator light. */
28924
28977
  setIndicatorLight: method(object({
@@ -28926,7 +28979,7 @@ var petFeederCapability = {
28926
28979
  on: boolean()
28927
28980
  }), _void(), {
28928
28981
  kind: "mutation",
28929
- auth: "admin"
28982
+ auth: "protected"
28930
28983
  }),
28931
28984
  /** Toggle the dispense chime. */
28932
28985
  setFeedSound: method(object({
@@ -28934,7 +28987,7 @@ var petFeederCapability = {
28934
28987
  on: boolean()
28935
28988
  }), _void(), {
28936
28989
  kind: "mutation",
28937
- auth: "admin"
28990
+ auth: "protected"
28938
28991
  }),
28939
28992
  /** Set the speaker / prompt volume level. */
28940
28993
  setVolume: method(object({
@@ -28942,7 +28995,7 @@ var petFeederCapability = {
28942
28995
  level: number().int().nonnegative()
28943
28996
  }), _void(), {
28944
28997
  kind: "mutation",
28945
- auth: "admin"
28998
+ auth: "protected"
28946
28999
  })
28947
29000
  },
28948
29001
  status: {
@@ -31238,7 +31291,7 @@ var switchCapability = {
31238
31291
  on: boolean()
31239
31292
  }), _void(), {
31240
31293
  kind: "mutation",
31241
- auth: "admin"
31294
+ auth: "protected"
31242
31295
  }) },
31243
31296
  events: { onStateChanged: { data: object({
31244
31297
  deviceId: number(),
@@ -32226,30 +32279,30 @@ var vacuumControlCapability = {
32226
32279
  methods: {
32227
32280
  start: method(object({ deviceId: number().int().nonnegative() }), _void(), {
32228
32281
  kind: "mutation",
32229
- auth: "admin"
32282
+ auth: "protected"
32230
32283
  }),
32231
32284
  pause: method(object({ deviceId: number().int().nonnegative() }), _void(), {
32232
32285
  kind: "mutation",
32233
- auth: "admin"
32286
+ auth: "protected"
32234
32287
  }),
32235
32288
  stop: method(object({ deviceId: number().int().nonnegative() }), _void(), {
32236
32289
  kind: "mutation",
32237
- auth: "admin"
32290
+ auth: "protected"
32238
32291
  }),
32239
32292
  returnToBase: method(object({ deviceId: number().int().nonnegative() }), _void(), {
32240
32293
  kind: "mutation",
32241
- auth: "admin"
32294
+ auth: "protected"
32242
32295
  }),
32243
32296
  locate: method(object({ deviceId: number().int().nonnegative() }), _void(), {
32244
32297
  kind: "mutation",
32245
- auth: "admin"
32298
+ auth: "protected"
32246
32299
  }),
32247
32300
  setFanSpeed: method(object({
32248
32301
  deviceId: number().int().nonnegative(),
32249
32302
  speed: string().min(1)
32250
32303
  }), _void(), {
32251
32304
  kind: "mutation",
32252
- auth: "admin"
32305
+ auth: "protected"
32253
32306
  })
32254
32307
  },
32255
32308
  status: {
@@ -32293,22 +32346,22 @@ var valveCapability = {
32293
32346
  methods: {
32294
32347
  open: method(object({ deviceId: number().int().nonnegative() }), _void(), {
32295
32348
  kind: "mutation",
32296
- auth: "admin"
32349
+ auth: "protected"
32297
32350
  }),
32298
32351
  close: method(object({ deviceId: number().int().nonnegative() }), _void(), {
32299
32352
  kind: "mutation",
32300
- auth: "admin"
32353
+ auth: "protected"
32301
32354
  }),
32302
32355
  stop: method(object({ deviceId: number().int().nonnegative() }), _void(), {
32303
32356
  kind: "mutation",
32304
- auth: "admin"
32357
+ auth: "protected"
32305
32358
  }),
32306
32359
  setPosition: method(object({
32307
32360
  deviceId: number().int().nonnegative(),
32308
32361
  position: number().min(0).max(100)
32309
32362
  }), _void(), {
32310
32363
  kind: "mutation",
32311
- auth: "admin"
32364
+ auth: "protected"
32312
32365
  })
32313
32366
  },
32314
32367
  status: {
@@ -32407,21 +32460,21 @@ var waterHeaterCapability = {
32407
32460
  temp: number().finite()
32408
32461
  }), _void(), {
32409
32462
  kind: "mutation",
32410
- auth: "admin"
32463
+ auth: "protected"
32411
32464
  }),
32412
32465
  setOperationMode: method(object({
32413
32466
  deviceId: number().int().nonnegative(),
32414
32467
  mode: string().min(1)
32415
32468
  }), _void(), {
32416
32469
  kind: "mutation",
32417
- auth: "admin"
32470
+ auth: "protected"
32418
32471
  }),
32419
32472
  setAway: method(object({
32420
32473
  deviceId: number().int().nonnegative(),
32421
32474
  on: boolean()
32422
32475
  }), _void(), {
32423
32476
  kind: "mutation",
32424
- auth: "admin"
32477
+ auth: "protected"
32425
32478
  })
32426
32479
  },
32427
32480
  status: {
@@ -36155,6 +36208,12 @@ Object.freeze({
36155
36208
  addonId: null,
36156
36209
  access: "create"
36157
36210
  },
36211
+ "faceGallery.auditIdentitySamples": {
36212
+ capName: "face-gallery",
36213
+ capScope: "system",
36214
+ addonId: null,
36215
+ access: "view"
36216
+ },
36158
36217
  "faceGallery.createIdentity": {
36159
36218
  capName: "face-gallery",
36160
36219
  capScope: "system",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@camstack/addon-import-alexa",
3
- "version": "0.2.83",
3
+ "version": "0.2.85",
4
4
  "description": "Alexa device-import provider for CamStack — imports the smart-home devices in a user's Alexa account via the unofficial alexa-remote2 cookie/token client (the inverse of the Alexa exporter)",
5
5
  "keywords": [
6
6
  "camstack",