@camstack/addon-provider-homeassistant 1.2.100 → 1.2.102

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.
package/dist/addon.js CHANGED
@@ -1,5 +1,5 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
- const require_dist = require("./dist-BpWL-De4.js");
2
+ const require_dist = require("./dist-DAeDXQbg.js");
3
3
  let node_crypto = require("node:crypto");
4
4
  let node_zlib = require("node:zlib");
5
5
  //#region src/ha-device-source.ts
package/dist/addon.mjs CHANGED
@@ -1,4 +1,4 @@
1
- import { $ as presenceCapability, A as controlCapability, At as EventCategory, B as humiditySensorCapability, C as buildAddonRouteProvider, Ct as number, D as colorCapability, Dt as union, E as climateControlCapability, Et as string, F as eventEmitterCapability, G as motionCapability, H as lawnMowerControlCapability, I as fanControlCapability, J as notifierCapability, K as normalizeUnit, L as floodCapability, M as deviceAdoptionCapability, O as connectivityCapability, Ot as unknown, P as enumSensorCapability, Q as prepareNotification, R as gasCapability, S as brokerCapability, St as literal, T as carbonMonoxideCapability, Tt as record, U as lockControlCapability, V as imageCapability, W as mediaPlayerCapability, Y as numericSensorCapability, Z as powerMeterCapability, _ as automationControlCapability, _t as createEvent, at as temperatureSensorCapability, b as binaryCapability, bt as array, ct as valveCapability, d as TargetSchema, dt as weatherCapability, et as pressureSensorCapability, f as accessoriesCapability, ft as errMsg, g as ambientLightSensorCapability, gt as DeviceType, h as alarmPanelCapability, ht as DeviceRole, it as tamperCapability, j as coverCapability, k as contactCapability, kt as url, lt as vibrationCapability, m as airQualitySensorCapability, mt as DeviceFeature, n as BaseDevice, nt as smokeCapability, ot as updateCapability, p as addonRoutesCapability, q as notificationOutputCapability, r as BaseDeviceProvider, rt as switchCapability, s as EnumSensorDateTimeFormatSchema, st as vacuumControlCapability, tt as scriptRunnerCapability, ut as waterHeaterCapability, v as batteryCapability, w as buttonCapability, wt as object, x as brightnessCapability, xt as discriminatedUnion, y as bestLocationMatch, yt as _enum, z as humidifierCapability } from "./dist-AOtMYWFQ.mjs";
1
+ import { $ as presenceCapability, A as controlCapability, At as EventCategory, B as humiditySensorCapability, C as buildAddonRouteProvider, Ct as number, D as colorCapability, Dt as union, E as climateControlCapability, Et as string, F as eventEmitterCapability, G as motionCapability, H as lawnMowerControlCapability, I as fanControlCapability, J as notifierCapability, K as normalizeUnit, L as floodCapability, M as deviceAdoptionCapability, O as connectivityCapability, Ot as unknown, P as enumSensorCapability, Q as prepareNotification, R as gasCapability, S as brokerCapability, St as literal, T as carbonMonoxideCapability, Tt as record, U as lockControlCapability, V as imageCapability, W as mediaPlayerCapability, Y as numericSensorCapability, Z as powerMeterCapability, _ as automationControlCapability, _t as createEvent, at as temperatureSensorCapability, b as binaryCapability, bt as array, ct as valveCapability, d as TargetSchema, dt as weatherCapability, et as pressureSensorCapability, f as accessoriesCapability, ft as errMsg, g as ambientLightSensorCapability, gt as DeviceType, h as alarmPanelCapability, ht as DeviceRole, it as tamperCapability, j as coverCapability, k as contactCapability, kt as url, lt as vibrationCapability, m as airQualitySensorCapability, mt as DeviceFeature, n as BaseDevice, nt as smokeCapability, ot as updateCapability, p as addonRoutesCapability, q as notificationOutputCapability, r as BaseDeviceProvider, rt as switchCapability, s as EnumSensorDateTimeFormatSchema, st as vacuumControlCapability, tt as scriptRunnerCapability, ut as waterHeaterCapability, v as batteryCapability, w as buttonCapability, wt as object, x as brightnessCapability, xt as discriminatedUnion, y as bestLocationMatch, yt as _enum, z as humidifierCapability } from "./dist-CCXWoJdR.mjs";
2
2
  import { randomUUID } from "node:crypto";
3
3
  import { brotliCompressSync, deflateSync, gzipSync } from "node:zlib";
4
4
  //#region src/ha-device-source.ts
@@ -16480,14 +16480,14 @@ var alarmPanelCapability = {
16480
16480
  code: string().min(1).optional()
16481
16481
  }), _void(), {
16482
16482
  kind: "mutation",
16483
- auth: "admin"
16483
+ auth: "protected"
16484
16484
  }),
16485
16485
  disarm: method(object({
16486
16486
  deviceId: number().int().nonnegative(),
16487
16487
  code: string().min(1).optional()
16488
16488
  }), _void(), {
16489
16489
  kind: "mutation",
16490
- auth: "admin"
16490
+ auth: "protected"
16491
16491
  }),
16492
16492
  /**
16493
16493
  * Force the panel into the `triggered` state — used by HA
@@ -16498,7 +16498,7 @@ var alarmPanelCapability = {
16498
16498
  */
16499
16499
  trigger: method(object({ deviceId: number().int().nonnegative() }), _void(), {
16500
16500
  kind: "mutation",
16501
- auth: "admin"
16501
+ auth: "protected"
16502
16502
  })
16503
16503
  },
16504
16504
  status: {
@@ -24553,7 +24553,7 @@ var brightnessCapability = {
24553
24553
  percentage: number().min(0).max(100)
24554
24554
  }), _void(), {
24555
24555
  kind: "mutation",
24556
- auth: "admin"
24556
+ auth: "protected"
24557
24557
  }) },
24558
24558
  events: {
24559
24559
  /**
@@ -24602,7 +24602,7 @@ var buttonCapability = {
24602
24602
  deviceTypes: [DeviceType.Button],
24603
24603
  methods: { press: method(object({ deviceId: number().int().nonnegative() }), _void(), {
24604
24604
  kind: "mutation",
24605
- auth: "admin"
24605
+ auth: "protected"
24606
24606
  }) }
24607
24607
  };
24608
24608
  /**
@@ -24795,28 +24795,28 @@ var climateControlCapability = {
24795
24795
  mode: HvacModeSchema
24796
24796
  }), _void(), {
24797
24797
  kind: "mutation",
24798
- auth: "admin"
24798
+ auth: "protected"
24799
24799
  }),
24800
24800
  setFanMode: method(object({
24801
24801
  deviceId: number().int().nonnegative(),
24802
24802
  fanMode: string().min(1)
24803
24803
  }), _void(), {
24804
24804
  kind: "mutation",
24805
- auth: "admin"
24805
+ auth: "protected"
24806
24806
  }),
24807
24807
  setPreset: method(object({
24808
24808
  deviceId: number().int().nonnegative(),
24809
24809
  preset: string().min(1)
24810
24810
  }), _void(), {
24811
24811
  kind: "mutation",
24812
- auth: "admin"
24812
+ auth: "protected"
24813
24813
  }),
24814
24814
  setTarget: method(object({
24815
24815
  deviceId: number().int().nonnegative(),
24816
24816
  target: number()
24817
24817
  }), _void(), {
24818
24818
  kind: "mutation",
24819
- auth: "admin"
24819
+ auth: "protected"
24820
24820
  }),
24821
24821
  setTargetRange: method(object({
24822
24822
  deviceId: number().int().nonnegative(),
@@ -24824,28 +24824,28 @@ var climateControlCapability = {
24824
24824
  targetHigh: number()
24825
24825
  }), _void(), {
24826
24826
  kind: "mutation",
24827
- auth: "admin"
24827
+ auth: "protected"
24828
24828
  }),
24829
24829
  setTargetHumidity: method(object({
24830
24830
  deviceId: number().int().nonnegative(),
24831
24831
  targetHumidity: number().min(0).max(100)
24832
24832
  }), _void(), {
24833
24833
  kind: "mutation",
24834
- auth: "admin"
24834
+ auth: "protected"
24835
24835
  }),
24836
24836
  setSwingVertical: method(object({
24837
24837
  deviceId: number().int().nonnegative(),
24838
24838
  on: boolean()
24839
24839
  }), _void(), {
24840
24840
  kind: "mutation",
24841
- auth: "admin"
24841
+ auth: "protected"
24842
24842
  }),
24843
24843
  setSwingHorizontal: method(object({
24844
24844
  deviceId: number().int().nonnegative(),
24845
24845
  on: boolean()
24846
24846
  }), _void(), {
24847
24847
  kind: "mutation",
24848
- auth: "admin"
24848
+ auth: "protected"
24849
24849
  })
24850
24850
  },
24851
24851
  status: {
@@ -24945,7 +24945,7 @@ var colorCapability = {
24945
24945
  color: ColorInputSchema
24946
24946
  }), _void(), {
24947
24947
  kind: "mutation",
24948
- auth: "admin"
24948
+ auth: "protected"
24949
24949
  }) },
24950
24950
  events: {
24951
24951
  /**
@@ -25274,7 +25274,7 @@ var controlCapability = {
25274
25274
  control: ControlSetValueInputSchema
25275
25275
  }), _void(), {
25276
25276
  kind: "mutation",
25277
- auth: "admin"
25277
+ auth: "protected"
25278
25278
  }) },
25279
25279
  status: {
25280
25280
  schema: ControlStatusSchema,
@@ -25320,29 +25320,29 @@ var coverCapability = {
25320
25320
  methods: {
25321
25321
  open: method(object({ deviceId: number().int().nonnegative() }), _void(), {
25322
25322
  kind: "mutation",
25323
- auth: "admin"
25323
+ auth: "protected"
25324
25324
  }),
25325
25325
  close: method(object({ deviceId: number().int().nonnegative() }), _void(), {
25326
25326
  kind: "mutation",
25327
- auth: "admin"
25327
+ auth: "protected"
25328
25328
  }),
25329
25329
  stop: method(object({ deviceId: number().int().nonnegative() }), _void(), {
25330
25330
  kind: "mutation",
25331
- auth: "admin"
25331
+ auth: "protected"
25332
25332
  }),
25333
25333
  setPosition: method(object({
25334
25334
  deviceId: number().int().nonnegative(),
25335
25335
  position: number().min(0).max(100)
25336
25336
  }), _void(), {
25337
25337
  kind: "mutation",
25338
- auth: "admin"
25338
+ auth: "protected"
25339
25339
  }),
25340
25340
  setTiltPosition: method(object({
25341
25341
  deviceId: number().int().nonnegative(),
25342
25342
  tiltPosition: number().min(0).max(100)
25343
25343
  }), _void(), {
25344
25344
  kind: "mutation",
25345
- auth: "admin"
25345
+ auth: "protected"
25346
25346
  })
25347
25347
  },
25348
25348
  status: {
@@ -25728,6 +25728,59 @@ var IdentitySampleInfoSchema = object({
25728
25728
  deviceId: number().int().optional(),
25729
25729
  base64: string().optional()
25730
25730
  });
25731
+ /**
25732
+ * One enrolled sample, judged against the gallery it lives in.
25733
+ *
25734
+ * The gallery is the one input to recognition nobody re-reads: a sample
25735
+ * enrolled from the wrong face keeps voting forever, and because the matches it
25736
+ * pulls then look confident, nobody goes back. The 2026-09-08 audit found
25737
+ * exactly one such pair on this cluster — a sample scoring 0.61 against three
25738
+ * samples of ANOTHER person, enrolled from the same camera in the same minute,
25739
+ * where every other cross-identity pair sits under 0.50.
25740
+ */
25741
+ var IdentitySampleAuditRowSchema = object({
25742
+ sampleId: string(),
25743
+ enrolledAt: number().int(),
25744
+ deviceId: number().int().optional(),
25745
+ source: _enum(["detected", "photo"]),
25746
+ /** The enrolled crop's media key, so the panel can show the evidence. */
25747
+ mediaKey: string().optional(),
25748
+ /**
25749
+ * False = the sample is stamped with a DIFFERENT face model, and a cosine
25750
+ * across feature spaces is a well-formed float with no meaning. Every number
25751
+ * below then says nothing — it must read as "cannot say", never as an
25752
+ * accusation and never as a clean bill: this list ends in a Remove button.
25753
+ */
25754
+ comparable: boolean(),
25755
+ /** Mean cosine against this person's other samples. Null when there are none
25756
+ * to compare with — never 0, which would read as "opposite". */
25757
+ selfMean: number().nullable(),
25758
+ /** The other person this sample looks most like, when it looks like one.
25759
+ * This is the half that convicts: not looking like yourself can be a hard
25760
+ * angle; looking like someone the gallery can NAME is a mis-enrolment. */
25761
+ bestForeign: object({
25762
+ identityId: string(),
25763
+ name: string(),
25764
+ score: number()
25765
+ }).optional(),
25766
+ /** 0 = nothing to say. Higher = look at this one sooner. */
25767
+ suspicion: number()
25768
+ });
25769
+ var IdentitySampleAuditSchema = object({
25770
+ identityId: string(),
25771
+ name: string(),
25772
+ /** The cluster face model every comparison was made in. */
25773
+ modelId: string(),
25774
+ totalSamples: number().int(),
25775
+ comparableSamples: number().int(),
25776
+ flagged: number().int(),
25777
+ /** The bar `flagged` counts against, so the panel states the RULE and not
25778
+ * only its current result. */
25779
+ flagThreshold: number(),
25780
+ /** Worst first. A row with nothing to say still appears, at the bottom: the
25781
+ * operator asked to see the gallery, not only its accusations. */
25782
+ rows: array(IdentitySampleAuditRowSchema).readonly()
25783
+ });
25731
25784
  var FaceInfoSchema = object({
25732
25785
  faceId: string(),
25733
25786
  deviceId: number().int(),
@@ -25879,7 +25932,7 @@ includeCrops: boolean().optional() }).optional(), array(IdentitySchema).readonly
25879
25932
  }), method(object({ id: string() }), _void(), {
25880
25933
  kind: "mutation",
25881
25934
  auth: "admin"
25882
- }), method(object({ identityId: string() }), array(IdentitySampleInfoSchema).readonly()), method(object({
25935
+ }), method(object({ identityId: string() }), array(IdentitySampleInfoSchema).readonly()), method(object({ identityId: string().min(1) }), IdentitySampleAuditSchema, { auth: "admin" }), method(object({
25883
25936
  identityId: string(),
25884
25937
  sampleId: string()
25885
25938
  }), _void(), {
@@ -26072,28 +26125,28 @@ var fanControlCapability = {
26072
26125
  percentage: number().min(0).max(100)
26073
26126
  }), _void(), {
26074
26127
  kind: "mutation",
26075
- auth: "admin"
26128
+ auth: "protected"
26076
26129
  }),
26077
26130
  setPreset: method(object({
26078
26131
  deviceId: number().int().nonnegative(),
26079
26132
  preset: string().min(1)
26080
26133
  }), _void(), {
26081
26134
  kind: "mutation",
26082
- auth: "admin"
26135
+ auth: "protected"
26083
26136
  }),
26084
26137
  setDirection: method(object({
26085
26138
  deviceId: number().int().nonnegative(),
26086
26139
  direction: FanDirectionSchema
26087
26140
  }), _void(), {
26088
26141
  kind: "mutation",
26089
- auth: "admin"
26142
+ auth: "protected"
26090
26143
  }),
26091
26144
  setOscillating: method(object({
26092
26145
  deviceId: number().int().nonnegative(),
26093
26146
  oscillating: boolean()
26094
26147
  }), _void(), {
26095
26148
  kind: "mutation",
26096
- auth: "admin"
26149
+ auth: "protected"
26097
26150
  })
26098
26151
  },
26099
26152
  status: {
@@ -26315,21 +26368,21 @@ var humidifierCapability = {
26315
26368
  on: boolean()
26316
26369
  }), _void(), {
26317
26370
  kind: "mutation",
26318
- auth: "admin"
26371
+ auth: "protected"
26319
26372
  }),
26320
26373
  setTargetHumidity: method(object({
26321
26374
  deviceId: number().int().nonnegative(),
26322
26375
  humidity: number().min(0).max(100)
26323
26376
  }), _void(), {
26324
26377
  kind: "mutation",
26325
- auth: "admin"
26378
+ auth: "protected"
26326
26379
  }),
26327
26380
  setMode: method(object({
26328
26381
  deviceId: number().int().nonnegative(),
26329
26382
  mode: string().min(1)
26330
26383
  }), _void(), {
26331
26384
  kind: "mutation",
26332
- auth: "admin"
26385
+ auth: "protected"
26333
26386
  })
26334
26387
  },
26335
26388
  status: {
@@ -27030,15 +27083,15 @@ var lawnMowerControlCapability = {
27030
27083
  methods: {
27031
27084
  startMowing: method(object({ deviceId: number().int().nonnegative() }), _void(), {
27032
27085
  kind: "mutation",
27033
- auth: "admin"
27086
+ auth: "protected"
27034
27087
  }),
27035
27088
  pause: method(object({ deviceId: number().int().nonnegative() }), _void(), {
27036
27089
  kind: "mutation",
27037
- auth: "admin"
27090
+ auth: "protected"
27038
27091
  }),
27039
27092
  dock: method(object({ deviceId: number().int().nonnegative() }), _void(), {
27040
27093
  kind: "mutation",
27041
- auth: "admin"
27094
+ auth: "protected"
27042
27095
  })
27043
27096
  },
27044
27097
  status: {
@@ -27323,18 +27376,18 @@ var lockControlCapability = {
27323
27376
  code: string().min(1).optional()
27324
27377
  }), _void(), {
27325
27378
  kind: "mutation",
27326
- auth: "admin"
27379
+ auth: "protected"
27327
27380
  }),
27328
27381
  unlock: method(object({
27329
27382
  deviceId: number().int().nonnegative(),
27330
27383
  code: string().min(1).optional()
27331
27384
  }), _void(), {
27332
27385
  kind: "mutation",
27333
- auth: "admin"
27386
+ auth: "protected"
27334
27387
  }),
27335
27388
  open: method(object({ deviceId: number().int().nonnegative() }), _void(), {
27336
27389
  kind: "mutation",
27337
- auth: "admin"
27390
+ auth: "protected"
27338
27391
  })
27339
27392
  },
27340
27393
  status: {
@@ -27437,65 +27490,65 @@ var mediaPlayerCapability = {
27437
27490
  methods: {
27438
27491
  play: method(object({ deviceId: number().int().nonnegative() }), _void(), {
27439
27492
  kind: "mutation",
27440
- auth: "admin"
27493
+ auth: "protected"
27441
27494
  }),
27442
27495
  pause: method(object({ deviceId: number().int().nonnegative() }), _void(), {
27443
27496
  kind: "mutation",
27444
- auth: "admin"
27497
+ auth: "protected"
27445
27498
  }),
27446
27499
  stop: method(object({ deviceId: number().int().nonnegative() }), _void(), {
27447
27500
  kind: "mutation",
27448
- auth: "admin"
27501
+ auth: "protected"
27449
27502
  }),
27450
27503
  next: method(object({ deviceId: number().int().nonnegative() }), _void(), {
27451
27504
  kind: "mutation",
27452
- auth: "admin"
27505
+ auth: "protected"
27453
27506
  }),
27454
27507
  previous: method(object({ deviceId: number().int().nonnegative() }), _void(), {
27455
27508
  kind: "mutation",
27456
- auth: "admin"
27509
+ auth: "protected"
27457
27510
  }),
27458
27511
  seek: method(object({
27459
27512
  deviceId: number().int().nonnegative(),
27460
27513
  positionMs: number().int().nonnegative()
27461
27514
  }), _void(), {
27462
27515
  kind: "mutation",
27463
- auth: "admin"
27516
+ auth: "protected"
27464
27517
  }),
27465
27518
  setVolume: method(object({
27466
27519
  deviceId: number().int().nonnegative(),
27467
27520
  volumeLevel: number().min(0).max(100)
27468
27521
  }), _void(), {
27469
27522
  kind: "mutation",
27470
- auth: "admin"
27523
+ auth: "protected"
27471
27524
  }),
27472
27525
  setMute: method(object({
27473
27526
  deviceId: number().int().nonnegative(),
27474
27527
  muted: boolean()
27475
27528
  }), _void(), {
27476
27529
  kind: "mutation",
27477
- auth: "admin"
27530
+ auth: "protected"
27478
27531
  }),
27479
27532
  setShuffle: method(object({
27480
27533
  deviceId: number().int().nonnegative(),
27481
27534
  shuffle: boolean()
27482
27535
  }), _void(), {
27483
27536
  kind: "mutation",
27484
- auth: "admin"
27537
+ auth: "protected"
27485
27538
  }),
27486
27539
  setRepeat: method(object({
27487
27540
  deviceId: number().int().nonnegative(),
27488
27541
  repeat: MediaPlayerRepeatSchema
27489
27542
  }), _void(), {
27490
27543
  kind: "mutation",
27491
- auth: "admin"
27544
+ auth: "protected"
27492
27545
  }),
27493
27546
  selectSource: method(object({
27494
27547
  deviceId: number().int().nonnegative(),
27495
27548
  source: string().min(1)
27496
27549
  }), _void(), {
27497
27550
  kind: "mutation",
27498
- auth: "admin"
27551
+ auth: "protected"
27499
27552
  }),
27500
27553
  playMedia: method(object({
27501
27554
  deviceId: number().int().nonnegative(),
@@ -27506,7 +27559,7 @@ var mediaPlayerCapability = {
27506
27559
  mediaType: string().min(1)
27507
27560
  }), _void(), {
27508
27561
  kind: "mutation",
27509
- auth: "admin"
27562
+ auth: "protected"
27510
27563
  })
27511
27564
  },
27512
27565
  status: {
@@ -29099,27 +29152,27 @@ var petFeederCapability = {
29099
29152
  hopper2: gramsPortion.optional()
29100
29153
  }), _void(), {
29101
29154
  kind: "mutation",
29102
- auth: "admin"
29155
+ auth: "protected"
29103
29156
  }),
29104
29157
  /** Cancel an in-progress manual feed. */
29105
29158
  cancelFeed: method(object({ deviceId: number().int().nonnegative() }), _void(), {
29106
29159
  kind: "mutation",
29107
- auth: "admin"
29160
+ auth: "protected"
29108
29161
  }),
29109
29162
  /** Reset the desiccant "days remaining" counter after replacing it. */
29110
29163
  resetDesiccant: method(object({ deviceId: number().int().nonnegative() }), _void(), {
29111
29164
  kind: "mutation",
29112
- auth: "admin"
29165
+ auth: "protected"
29113
29166
  }),
29114
29167
  /** Mark a hopper as refilled (D4H/D4S/D4SH). */
29115
29168
  markFoodReplenished: method(object({ deviceId: number().int().nonnegative() }), _void(), {
29116
29169
  kind: "mutation",
29117
- auth: "admin"
29170
+ auth: "protected"
29118
29171
  }),
29119
29172
  /** Call the pet with the recorded prompt (D3). */
29120
29173
  callPet: method(object({ deviceId: number().int().nonnegative() }), _void(), {
29121
29174
  kind: "mutation",
29122
- auth: "admin"
29175
+ auth: "protected"
29123
29176
  }),
29124
29177
  /** Play a stored sound by id (D3 / D4H / D4SH). */
29125
29178
  playSound: method(object({
@@ -29127,7 +29180,7 @@ var petFeederCapability = {
29127
29180
  soundId: number().int().nonnegative()
29128
29181
  }), _void(), {
29129
29182
  kind: "mutation",
29130
- auth: "admin"
29183
+ auth: "protected"
29131
29184
  }),
29132
29185
  /** Toggle the child-lock (manual-lock) setting. */
29133
29186
  setChildLock: method(object({
@@ -29135,7 +29188,7 @@ var petFeederCapability = {
29135
29188
  on: boolean()
29136
29189
  }), _void(), {
29137
29190
  kind: "mutation",
29138
- auth: "admin"
29191
+ auth: "protected"
29139
29192
  }),
29140
29193
  /** Toggle the front indicator light. */
29141
29194
  setIndicatorLight: method(object({
@@ -29143,7 +29196,7 @@ var petFeederCapability = {
29143
29196
  on: boolean()
29144
29197
  }), _void(), {
29145
29198
  kind: "mutation",
29146
- auth: "admin"
29199
+ auth: "protected"
29147
29200
  }),
29148
29201
  /** Toggle the dispense chime. */
29149
29202
  setFeedSound: method(object({
@@ -29151,7 +29204,7 @@ var petFeederCapability = {
29151
29204
  on: boolean()
29152
29205
  }), _void(), {
29153
29206
  kind: "mutation",
29154
- auth: "admin"
29207
+ auth: "protected"
29155
29208
  }),
29156
29209
  /** Set the speaker / prompt volume level. */
29157
29210
  setVolume: method(object({
@@ -29159,7 +29212,7 @@ var petFeederCapability = {
29159
29212
  level: number().int().nonnegative()
29160
29213
  }), _void(), {
29161
29214
  kind: "mutation",
29162
- auth: "admin"
29215
+ auth: "protected"
29163
29216
  })
29164
29217
  },
29165
29218
  status: {
@@ -31455,7 +31508,7 @@ var switchCapability = {
31455
31508
  on: boolean()
31456
31509
  }), _void(), {
31457
31510
  kind: "mutation",
31458
- auth: "admin"
31511
+ auth: "protected"
31459
31512
  }) },
31460
31513
  events: { onStateChanged: { data: object({
31461
31514
  deviceId: number(),
@@ -32443,30 +32496,30 @@ var vacuumControlCapability = {
32443
32496
  methods: {
32444
32497
  start: method(object({ deviceId: number().int().nonnegative() }), _void(), {
32445
32498
  kind: "mutation",
32446
- auth: "admin"
32499
+ auth: "protected"
32447
32500
  }),
32448
32501
  pause: method(object({ deviceId: number().int().nonnegative() }), _void(), {
32449
32502
  kind: "mutation",
32450
- auth: "admin"
32503
+ auth: "protected"
32451
32504
  }),
32452
32505
  stop: method(object({ deviceId: number().int().nonnegative() }), _void(), {
32453
32506
  kind: "mutation",
32454
- auth: "admin"
32507
+ auth: "protected"
32455
32508
  }),
32456
32509
  returnToBase: method(object({ deviceId: number().int().nonnegative() }), _void(), {
32457
32510
  kind: "mutation",
32458
- auth: "admin"
32511
+ auth: "protected"
32459
32512
  }),
32460
32513
  locate: method(object({ deviceId: number().int().nonnegative() }), _void(), {
32461
32514
  kind: "mutation",
32462
- auth: "admin"
32515
+ auth: "protected"
32463
32516
  }),
32464
32517
  setFanSpeed: method(object({
32465
32518
  deviceId: number().int().nonnegative(),
32466
32519
  speed: string().min(1)
32467
32520
  }), _void(), {
32468
32521
  kind: "mutation",
32469
- auth: "admin"
32522
+ auth: "protected"
32470
32523
  })
32471
32524
  },
32472
32525
  status: {
@@ -32510,22 +32563,22 @@ var valveCapability = {
32510
32563
  methods: {
32511
32564
  open: method(object({ deviceId: number().int().nonnegative() }), _void(), {
32512
32565
  kind: "mutation",
32513
- auth: "admin"
32566
+ auth: "protected"
32514
32567
  }),
32515
32568
  close: method(object({ deviceId: number().int().nonnegative() }), _void(), {
32516
32569
  kind: "mutation",
32517
- auth: "admin"
32570
+ auth: "protected"
32518
32571
  }),
32519
32572
  stop: method(object({ deviceId: number().int().nonnegative() }), _void(), {
32520
32573
  kind: "mutation",
32521
- auth: "admin"
32574
+ auth: "protected"
32522
32575
  }),
32523
32576
  setPosition: method(object({
32524
32577
  deviceId: number().int().nonnegative(),
32525
32578
  position: number().min(0).max(100)
32526
32579
  }), _void(), {
32527
32580
  kind: "mutation",
32528
- auth: "admin"
32581
+ auth: "protected"
32529
32582
  })
32530
32583
  },
32531
32584
  status: {
@@ -32624,21 +32677,21 @@ var waterHeaterCapability = {
32624
32677
  temp: number().finite()
32625
32678
  }), _void(), {
32626
32679
  kind: "mutation",
32627
- auth: "admin"
32680
+ auth: "protected"
32628
32681
  }),
32629
32682
  setOperationMode: method(object({
32630
32683
  deviceId: number().int().nonnegative(),
32631
32684
  mode: string().min(1)
32632
32685
  }), _void(), {
32633
32686
  kind: "mutation",
32634
- auth: "admin"
32687
+ auth: "protected"
32635
32688
  }),
32636
32689
  setAway: method(object({
32637
32690
  deviceId: number().int().nonnegative(),
32638
32691
  on: boolean()
32639
32692
  }), _void(), {
32640
32693
  kind: "mutation",
32641
- auth: "admin"
32694
+ auth: "protected"
32642
32695
  })
32643
32696
  },
32644
32697
  status: {
@@ -36372,6 +36425,12 @@ Object.freeze({
36372
36425
  addonId: null,
36373
36426
  access: "create"
36374
36427
  },
36428
+ "faceGallery.auditIdentitySamples": {
36429
+ capName: "face-gallery",
36430
+ capScope: "system",
36431
+ addonId: null,
36432
+ access: "view"
36433
+ },
36375
36434
  "faceGallery.createIdentity": {
36376
36435
  capName: "face-gallery",
36377
36436
  capScope: "system",
@@ -16480,14 +16480,14 @@ var alarmPanelCapability = {
16480
16480
  code: string().min(1).optional()
16481
16481
  }), _void(), {
16482
16482
  kind: "mutation",
16483
- auth: "admin"
16483
+ auth: "protected"
16484
16484
  }),
16485
16485
  disarm: method(object({
16486
16486
  deviceId: number().int().nonnegative(),
16487
16487
  code: string().min(1).optional()
16488
16488
  }), _void(), {
16489
16489
  kind: "mutation",
16490
- auth: "admin"
16490
+ auth: "protected"
16491
16491
  }),
16492
16492
  /**
16493
16493
  * Force the panel into the `triggered` state — used by HA
@@ -16498,7 +16498,7 @@ var alarmPanelCapability = {
16498
16498
  */
16499
16499
  trigger: method(object({ deviceId: number().int().nonnegative() }), _void(), {
16500
16500
  kind: "mutation",
16501
- auth: "admin"
16501
+ auth: "protected"
16502
16502
  })
16503
16503
  },
16504
16504
  status: {
@@ -24553,7 +24553,7 @@ var brightnessCapability = {
24553
24553
  percentage: number().min(0).max(100)
24554
24554
  }), _void(), {
24555
24555
  kind: "mutation",
24556
- auth: "admin"
24556
+ auth: "protected"
24557
24557
  }) },
24558
24558
  events: {
24559
24559
  /**
@@ -24602,7 +24602,7 @@ var buttonCapability = {
24602
24602
  deviceTypes: [DeviceType.Button],
24603
24603
  methods: { press: method(object({ deviceId: number().int().nonnegative() }), _void(), {
24604
24604
  kind: "mutation",
24605
- auth: "admin"
24605
+ auth: "protected"
24606
24606
  }) }
24607
24607
  };
24608
24608
  /**
@@ -24795,28 +24795,28 @@ var climateControlCapability = {
24795
24795
  mode: HvacModeSchema
24796
24796
  }), _void(), {
24797
24797
  kind: "mutation",
24798
- auth: "admin"
24798
+ auth: "protected"
24799
24799
  }),
24800
24800
  setFanMode: method(object({
24801
24801
  deviceId: number().int().nonnegative(),
24802
24802
  fanMode: string().min(1)
24803
24803
  }), _void(), {
24804
24804
  kind: "mutation",
24805
- auth: "admin"
24805
+ auth: "protected"
24806
24806
  }),
24807
24807
  setPreset: method(object({
24808
24808
  deviceId: number().int().nonnegative(),
24809
24809
  preset: string().min(1)
24810
24810
  }), _void(), {
24811
24811
  kind: "mutation",
24812
- auth: "admin"
24812
+ auth: "protected"
24813
24813
  }),
24814
24814
  setTarget: method(object({
24815
24815
  deviceId: number().int().nonnegative(),
24816
24816
  target: number()
24817
24817
  }), _void(), {
24818
24818
  kind: "mutation",
24819
- auth: "admin"
24819
+ auth: "protected"
24820
24820
  }),
24821
24821
  setTargetRange: method(object({
24822
24822
  deviceId: number().int().nonnegative(),
@@ -24824,28 +24824,28 @@ var climateControlCapability = {
24824
24824
  targetHigh: number()
24825
24825
  }), _void(), {
24826
24826
  kind: "mutation",
24827
- auth: "admin"
24827
+ auth: "protected"
24828
24828
  }),
24829
24829
  setTargetHumidity: method(object({
24830
24830
  deviceId: number().int().nonnegative(),
24831
24831
  targetHumidity: number().min(0).max(100)
24832
24832
  }), _void(), {
24833
24833
  kind: "mutation",
24834
- auth: "admin"
24834
+ auth: "protected"
24835
24835
  }),
24836
24836
  setSwingVertical: method(object({
24837
24837
  deviceId: number().int().nonnegative(),
24838
24838
  on: boolean()
24839
24839
  }), _void(), {
24840
24840
  kind: "mutation",
24841
- auth: "admin"
24841
+ auth: "protected"
24842
24842
  }),
24843
24843
  setSwingHorizontal: method(object({
24844
24844
  deviceId: number().int().nonnegative(),
24845
24845
  on: boolean()
24846
24846
  }), _void(), {
24847
24847
  kind: "mutation",
24848
- auth: "admin"
24848
+ auth: "protected"
24849
24849
  })
24850
24850
  },
24851
24851
  status: {
@@ -24945,7 +24945,7 @@ var colorCapability = {
24945
24945
  color: ColorInputSchema
24946
24946
  }), _void(), {
24947
24947
  kind: "mutation",
24948
- auth: "admin"
24948
+ auth: "protected"
24949
24949
  }) },
24950
24950
  events: {
24951
24951
  /**
@@ -25274,7 +25274,7 @@ var controlCapability = {
25274
25274
  control: ControlSetValueInputSchema
25275
25275
  }), _void(), {
25276
25276
  kind: "mutation",
25277
- auth: "admin"
25277
+ auth: "protected"
25278
25278
  }) },
25279
25279
  status: {
25280
25280
  schema: ControlStatusSchema,
@@ -25320,29 +25320,29 @@ var coverCapability = {
25320
25320
  methods: {
25321
25321
  open: method(object({ deviceId: number().int().nonnegative() }), _void(), {
25322
25322
  kind: "mutation",
25323
- auth: "admin"
25323
+ auth: "protected"
25324
25324
  }),
25325
25325
  close: method(object({ deviceId: number().int().nonnegative() }), _void(), {
25326
25326
  kind: "mutation",
25327
- auth: "admin"
25327
+ auth: "protected"
25328
25328
  }),
25329
25329
  stop: method(object({ deviceId: number().int().nonnegative() }), _void(), {
25330
25330
  kind: "mutation",
25331
- auth: "admin"
25331
+ auth: "protected"
25332
25332
  }),
25333
25333
  setPosition: method(object({
25334
25334
  deviceId: number().int().nonnegative(),
25335
25335
  position: number().min(0).max(100)
25336
25336
  }), _void(), {
25337
25337
  kind: "mutation",
25338
- auth: "admin"
25338
+ auth: "protected"
25339
25339
  }),
25340
25340
  setTiltPosition: method(object({
25341
25341
  deviceId: number().int().nonnegative(),
25342
25342
  tiltPosition: number().min(0).max(100)
25343
25343
  }), _void(), {
25344
25344
  kind: "mutation",
25345
- auth: "admin"
25345
+ auth: "protected"
25346
25346
  })
25347
25347
  },
25348
25348
  status: {
@@ -25728,6 +25728,59 @@ var IdentitySampleInfoSchema = object({
25728
25728
  deviceId: number().int().optional(),
25729
25729
  base64: string().optional()
25730
25730
  });
25731
+ /**
25732
+ * One enrolled sample, judged against the gallery it lives in.
25733
+ *
25734
+ * The gallery is the one input to recognition nobody re-reads: a sample
25735
+ * enrolled from the wrong face keeps voting forever, and because the matches it
25736
+ * pulls then look confident, nobody goes back. The 2026-09-08 audit found
25737
+ * exactly one such pair on this cluster — a sample scoring 0.61 against three
25738
+ * samples of ANOTHER person, enrolled from the same camera in the same minute,
25739
+ * where every other cross-identity pair sits under 0.50.
25740
+ */
25741
+ var IdentitySampleAuditRowSchema = object({
25742
+ sampleId: string(),
25743
+ enrolledAt: number().int(),
25744
+ deviceId: number().int().optional(),
25745
+ source: _enum(["detected", "photo"]),
25746
+ /** The enrolled crop's media key, so the panel can show the evidence. */
25747
+ mediaKey: string().optional(),
25748
+ /**
25749
+ * False = the sample is stamped with a DIFFERENT face model, and a cosine
25750
+ * across feature spaces is a well-formed float with no meaning. Every number
25751
+ * below then says nothing — it must read as "cannot say", never as an
25752
+ * accusation and never as a clean bill: this list ends in a Remove button.
25753
+ */
25754
+ comparable: boolean(),
25755
+ /** Mean cosine against this person's other samples. Null when there are none
25756
+ * to compare with — never 0, which would read as "opposite". */
25757
+ selfMean: number().nullable(),
25758
+ /** The other person this sample looks most like, when it looks like one.
25759
+ * This is the half that convicts: not looking like yourself can be a hard
25760
+ * angle; looking like someone the gallery can NAME is a mis-enrolment. */
25761
+ bestForeign: object({
25762
+ identityId: string(),
25763
+ name: string(),
25764
+ score: number()
25765
+ }).optional(),
25766
+ /** 0 = nothing to say. Higher = look at this one sooner. */
25767
+ suspicion: number()
25768
+ });
25769
+ var IdentitySampleAuditSchema = object({
25770
+ identityId: string(),
25771
+ name: string(),
25772
+ /** The cluster face model every comparison was made in. */
25773
+ modelId: string(),
25774
+ totalSamples: number().int(),
25775
+ comparableSamples: number().int(),
25776
+ flagged: number().int(),
25777
+ /** The bar `flagged` counts against, so the panel states the RULE and not
25778
+ * only its current result. */
25779
+ flagThreshold: number(),
25780
+ /** Worst first. A row with nothing to say still appears, at the bottom: the
25781
+ * operator asked to see the gallery, not only its accusations. */
25782
+ rows: array(IdentitySampleAuditRowSchema).readonly()
25783
+ });
25731
25784
  var FaceInfoSchema = object({
25732
25785
  faceId: string(),
25733
25786
  deviceId: number().int(),
@@ -25879,7 +25932,7 @@ includeCrops: boolean().optional() }).optional(), array(IdentitySchema).readonly
25879
25932
  }), method(object({ id: string() }), _void(), {
25880
25933
  kind: "mutation",
25881
25934
  auth: "admin"
25882
- }), method(object({ identityId: string() }), array(IdentitySampleInfoSchema).readonly()), method(object({
25935
+ }), method(object({ identityId: string() }), array(IdentitySampleInfoSchema).readonly()), method(object({ identityId: string().min(1) }), IdentitySampleAuditSchema, { auth: "admin" }), method(object({
25883
25936
  identityId: string(),
25884
25937
  sampleId: string()
25885
25938
  }), _void(), {
@@ -26072,28 +26125,28 @@ var fanControlCapability = {
26072
26125
  percentage: number().min(0).max(100)
26073
26126
  }), _void(), {
26074
26127
  kind: "mutation",
26075
- auth: "admin"
26128
+ auth: "protected"
26076
26129
  }),
26077
26130
  setPreset: method(object({
26078
26131
  deviceId: number().int().nonnegative(),
26079
26132
  preset: string().min(1)
26080
26133
  }), _void(), {
26081
26134
  kind: "mutation",
26082
- auth: "admin"
26135
+ auth: "protected"
26083
26136
  }),
26084
26137
  setDirection: method(object({
26085
26138
  deviceId: number().int().nonnegative(),
26086
26139
  direction: FanDirectionSchema
26087
26140
  }), _void(), {
26088
26141
  kind: "mutation",
26089
- auth: "admin"
26142
+ auth: "protected"
26090
26143
  }),
26091
26144
  setOscillating: method(object({
26092
26145
  deviceId: number().int().nonnegative(),
26093
26146
  oscillating: boolean()
26094
26147
  }), _void(), {
26095
26148
  kind: "mutation",
26096
- auth: "admin"
26149
+ auth: "protected"
26097
26150
  })
26098
26151
  },
26099
26152
  status: {
@@ -26315,21 +26368,21 @@ var humidifierCapability = {
26315
26368
  on: boolean()
26316
26369
  }), _void(), {
26317
26370
  kind: "mutation",
26318
- auth: "admin"
26371
+ auth: "protected"
26319
26372
  }),
26320
26373
  setTargetHumidity: method(object({
26321
26374
  deviceId: number().int().nonnegative(),
26322
26375
  humidity: number().min(0).max(100)
26323
26376
  }), _void(), {
26324
26377
  kind: "mutation",
26325
- auth: "admin"
26378
+ auth: "protected"
26326
26379
  }),
26327
26380
  setMode: method(object({
26328
26381
  deviceId: number().int().nonnegative(),
26329
26382
  mode: string().min(1)
26330
26383
  }), _void(), {
26331
26384
  kind: "mutation",
26332
- auth: "admin"
26385
+ auth: "protected"
26333
26386
  })
26334
26387
  },
26335
26388
  status: {
@@ -27030,15 +27083,15 @@ var lawnMowerControlCapability = {
27030
27083
  methods: {
27031
27084
  startMowing: method(object({ deviceId: number().int().nonnegative() }), _void(), {
27032
27085
  kind: "mutation",
27033
- auth: "admin"
27086
+ auth: "protected"
27034
27087
  }),
27035
27088
  pause: method(object({ deviceId: number().int().nonnegative() }), _void(), {
27036
27089
  kind: "mutation",
27037
- auth: "admin"
27090
+ auth: "protected"
27038
27091
  }),
27039
27092
  dock: method(object({ deviceId: number().int().nonnegative() }), _void(), {
27040
27093
  kind: "mutation",
27041
- auth: "admin"
27094
+ auth: "protected"
27042
27095
  })
27043
27096
  },
27044
27097
  status: {
@@ -27323,18 +27376,18 @@ var lockControlCapability = {
27323
27376
  code: string().min(1).optional()
27324
27377
  }), _void(), {
27325
27378
  kind: "mutation",
27326
- auth: "admin"
27379
+ auth: "protected"
27327
27380
  }),
27328
27381
  unlock: method(object({
27329
27382
  deviceId: number().int().nonnegative(),
27330
27383
  code: string().min(1).optional()
27331
27384
  }), _void(), {
27332
27385
  kind: "mutation",
27333
- auth: "admin"
27386
+ auth: "protected"
27334
27387
  }),
27335
27388
  open: method(object({ deviceId: number().int().nonnegative() }), _void(), {
27336
27389
  kind: "mutation",
27337
- auth: "admin"
27390
+ auth: "protected"
27338
27391
  })
27339
27392
  },
27340
27393
  status: {
@@ -27437,65 +27490,65 @@ var mediaPlayerCapability = {
27437
27490
  methods: {
27438
27491
  play: method(object({ deviceId: number().int().nonnegative() }), _void(), {
27439
27492
  kind: "mutation",
27440
- auth: "admin"
27493
+ auth: "protected"
27441
27494
  }),
27442
27495
  pause: method(object({ deviceId: number().int().nonnegative() }), _void(), {
27443
27496
  kind: "mutation",
27444
- auth: "admin"
27497
+ auth: "protected"
27445
27498
  }),
27446
27499
  stop: method(object({ deviceId: number().int().nonnegative() }), _void(), {
27447
27500
  kind: "mutation",
27448
- auth: "admin"
27501
+ auth: "protected"
27449
27502
  }),
27450
27503
  next: method(object({ deviceId: number().int().nonnegative() }), _void(), {
27451
27504
  kind: "mutation",
27452
- auth: "admin"
27505
+ auth: "protected"
27453
27506
  }),
27454
27507
  previous: method(object({ deviceId: number().int().nonnegative() }), _void(), {
27455
27508
  kind: "mutation",
27456
- auth: "admin"
27509
+ auth: "protected"
27457
27510
  }),
27458
27511
  seek: method(object({
27459
27512
  deviceId: number().int().nonnegative(),
27460
27513
  positionMs: number().int().nonnegative()
27461
27514
  }), _void(), {
27462
27515
  kind: "mutation",
27463
- auth: "admin"
27516
+ auth: "protected"
27464
27517
  }),
27465
27518
  setVolume: method(object({
27466
27519
  deviceId: number().int().nonnegative(),
27467
27520
  volumeLevel: number().min(0).max(100)
27468
27521
  }), _void(), {
27469
27522
  kind: "mutation",
27470
- auth: "admin"
27523
+ auth: "protected"
27471
27524
  }),
27472
27525
  setMute: method(object({
27473
27526
  deviceId: number().int().nonnegative(),
27474
27527
  muted: boolean()
27475
27528
  }), _void(), {
27476
27529
  kind: "mutation",
27477
- auth: "admin"
27530
+ auth: "protected"
27478
27531
  }),
27479
27532
  setShuffle: method(object({
27480
27533
  deviceId: number().int().nonnegative(),
27481
27534
  shuffle: boolean()
27482
27535
  }), _void(), {
27483
27536
  kind: "mutation",
27484
- auth: "admin"
27537
+ auth: "protected"
27485
27538
  }),
27486
27539
  setRepeat: method(object({
27487
27540
  deviceId: number().int().nonnegative(),
27488
27541
  repeat: MediaPlayerRepeatSchema
27489
27542
  }), _void(), {
27490
27543
  kind: "mutation",
27491
- auth: "admin"
27544
+ auth: "protected"
27492
27545
  }),
27493
27546
  selectSource: method(object({
27494
27547
  deviceId: number().int().nonnegative(),
27495
27548
  source: string().min(1)
27496
27549
  }), _void(), {
27497
27550
  kind: "mutation",
27498
- auth: "admin"
27551
+ auth: "protected"
27499
27552
  }),
27500
27553
  playMedia: method(object({
27501
27554
  deviceId: number().int().nonnegative(),
@@ -27506,7 +27559,7 @@ var mediaPlayerCapability = {
27506
27559
  mediaType: string().min(1)
27507
27560
  }), _void(), {
27508
27561
  kind: "mutation",
27509
- auth: "admin"
27562
+ auth: "protected"
27510
27563
  })
27511
27564
  },
27512
27565
  status: {
@@ -29099,27 +29152,27 @@ var petFeederCapability = {
29099
29152
  hopper2: gramsPortion.optional()
29100
29153
  }), _void(), {
29101
29154
  kind: "mutation",
29102
- auth: "admin"
29155
+ auth: "protected"
29103
29156
  }),
29104
29157
  /** Cancel an in-progress manual feed. */
29105
29158
  cancelFeed: method(object({ deviceId: number().int().nonnegative() }), _void(), {
29106
29159
  kind: "mutation",
29107
- auth: "admin"
29160
+ auth: "protected"
29108
29161
  }),
29109
29162
  /** Reset the desiccant "days remaining" counter after replacing it. */
29110
29163
  resetDesiccant: method(object({ deviceId: number().int().nonnegative() }), _void(), {
29111
29164
  kind: "mutation",
29112
- auth: "admin"
29165
+ auth: "protected"
29113
29166
  }),
29114
29167
  /** Mark a hopper as refilled (D4H/D4S/D4SH). */
29115
29168
  markFoodReplenished: method(object({ deviceId: number().int().nonnegative() }), _void(), {
29116
29169
  kind: "mutation",
29117
- auth: "admin"
29170
+ auth: "protected"
29118
29171
  }),
29119
29172
  /** Call the pet with the recorded prompt (D3). */
29120
29173
  callPet: method(object({ deviceId: number().int().nonnegative() }), _void(), {
29121
29174
  kind: "mutation",
29122
- auth: "admin"
29175
+ auth: "protected"
29123
29176
  }),
29124
29177
  /** Play a stored sound by id (D3 / D4H / D4SH). */
29125
29178
  playSound: method(object({
@@ -29127,7 +29180,7 @@ var petFeederCapability = {
29127
29180
  soundId: number().int().nonnegative()
29128
29181
  }), _void(), {
29129
29182
  kind: "mutation",
29130
- auth: "admin"
29183
+ auth: "protected"
29131
29184
  }),
29132
29185
  /** Toggle the child-lock (manual-lock) setting. */
29133
29186
  setChildLock: method(object({
@@ -29135,7 +29188,7 @@ var petFeederCapability = {
29135
29188
  on: boolean()
29136
29189
  }), _void(), {
29137
29190
  kind: "mutation",
29138
- auth: "admin"
29191
+ auth: "protected"
29139
29192
  }),
29140
29193
  /** Toggle the front indicator light. */
29141
29194
  setIndicatorLight: method(object({
@@ -29143,7 +29196,7 @@ var petFeederCapability = {
29143
29196
  on: boolean()
29144
29197
  }), _void(), {
29145
29198
  kind: "mutation",
29146
- auth: "admin"
29199
+ auth: "protected"
29147
29200
  }),
29148
29201
  /** Toggle the dispense chime. */
29149
29202
  setFeedSound: method(object({
@@ -29151,7 +29204,7 @@ var petFeederCapability = {
29151
29204
  on: boolean()
29152
29205
  }), _void(), {
29153
29206
  kind: "mutation",
29154
- auth: "admin"
29207
+ auth: "protected"
29155
29208
  }),
29156
29209
  /** Set the speaker / prompt volume level. */
29157
29210
  setVolume: method(object({
@@ -29159,7 +29212,7 @@ var petFeederCapability = {
29159
29212
  level: number().int().nonnegative()
29160
29213
  }), _void(), {
29161
29214
  kind: "mutation",
29162
- auth: "admin"
29215
+ auth: "protected"
29163
29216
  })
29164
29217
  },
29165
29218
  status: {
@@ -31455,7 +31508,7 @@ var switchCapability = {
31455
31508
  on: boolean()
31456
31509
  }), _void(), {
31457
31510
  kind: "mutation",
31458
- auth: "admin"
31511
+ auth: "protected"
31459
31512
  }) },
31460
31513
  events: { onStateChanged: { data: object({
31461
31514
  deviceId: number(),
@@ -32443,30 +32496,30 @@ var vacuumControlCapability = {
32443
32496
  methods: {
32444
32497
  start: method(object({ deviceId: number().int().nonnegative() }), _void(), {
32445
32498
  kind: "mutation",
32446
- auth: "admin"
32499
+ auth: "protected"
32447
32500
  }),
32448
32501
  pause: method(object({ deviceId: number().int().nonnegative() }), _void(), {
32449
32502
  kind: "mutation",
32450
- auth: "admin"
32503
+ auth: "protected"
32451
32504
  }),
32452
32505
  stop: method(object({ deviceId: number().int().nonnegative() }), _void(), {
32453
32506
  kind: "mutation",
32454
- auth: "admin"
32507
+ auth: "protected"
32455
32508
  }),
32456
32509
  returnToBase: method(object({ deviceId: number().int().nonnegative() }), _void(), {
32457
32510
  kind: "mutation",
32458
- auth: "admin"
32511
+ auth: "protected"
32459
32512
  }),
32460
32513
  locate: method(object({ deviceId: number().int().nonnegative() }), _void(), {
32461
32514
  kind: "mutation",
32462
- auth: "admin"
32515
+ auth: "protected"
32463
32516
  }),
32464
32517
  setFanSpeed: method(object({
32465
32518
  deviceId: number().int().nonnegative(),
32466
32519
  speed: string().min(1)
32467
32520
  }), _void(), {
32468
32521
  kind: "mutation",
32469
- auth: "admin"
32522
+ auth: "protected"
32470
32523
  })
32471
32524
  },
32472
32525
  status: {
@@ -32510,22 +32563,22 @@ var valveCapability = {
32510
32563
  methods: {
32511
32564
  open: method(object({ deviceId: number().int().nonnegative() }), _void(), {
32512
32565
  kind: "mutation",
32513
- auth: "admin"
32566
+ auth: "protected"
32514
32567
  }),
32515
32568
  close: method(object({ deviceId: number().int().nonnegative() }), _void(), {
32516
32569
  kind: "mutation",
32517
- auth: "admin"
32570
+ auth: "protected"
32518
32571
  }),
32519
32572
  stop: method(object({ deviceId: number().int().nonnegative() }), _void(), {
32520
32573
  kind: "mutation",
32521
- auth: "admin"
32574
+ auth: "protected"
32522
32575
  }),
32523
32576
  setPosition: method(object({
32524
32577
  deviceId: number().int().nonnegative(),
32525
32578
  position: number().min(0).max(100)
32526
32579
  }), _void(), {
32527
32580
  kind: "mutation",
32528
- auth: "admin"
32581
+ auth: "protected"
32529
32582
  })
32530
32583
  },
32531
32584
  status: {
@@ -32624,21 +32677,21 @@ var waterHeaterCapability = {
32624
32677
  temp: number().finite()
32625
32678
  }), _void(), {
32626
32679
  kind: "mutation",
32627
- auth: "admin"
32680
+ auth: "protected"
32628
32681
  }),
32629
32682
  setOperationMode: method(object({
32630
32683
  deviceId: number().int().nonnegative(),
32631
32684
  mode: string().min(1)
32632
32685
  }), _void(), {
32633
32686
  kind: "mutation",
32634
- auth: "admin"
32687
+ auth: "protected"
32635
32688
  }),
32636
32689
  setAway: method(object({
32637
32690
  deviceId: number().int().nonnegative(),
32638
32691
  on: boolean()
32639
32692
  }), _void(), {
32640
32693
  kind: "mutation",
32641
- auth: "admin"
32694
+ auth: "protected"
32642
32695
  })
32643
32696
  },
32644
32697
  status: {
@@ -36372,6 +36425,12 @@ Object.freeze({
36372
36425
  addonId: null,
36373
36426
  access: "create"
36374
36427
  },
36428
+ "faceGallery.auditIdentitySamples": {
36429
+ capName: "face-gallery",
36430
+ capScope: "system",
36431
+ addonId: null,
36432
+ access: "view"
36433
+ },
36375
36434
  "faceGallery.createIdentity": {
36376
36435
  capName: "face-gallery",
36377
36436
  capScope: "system",
@@ -3,7 +3,7 @@ Object.defineProperties(exports, {
3
3
  [Symbol.toStringTag]: { value: "Module" }
4
4
  });
5
5
  //#endregion
6
- const require_dist = require("../dist-BpWL-De4.js");
6
+ const require_dist = require("../dist-DAeDXQbg.js");
7
7
  let node_crypto = require("node:crypto");
8
8
  //#region src/ha-export/topics.ts
9
9
  /**
@@ -1,4 +1,4 @@
1
- import { At as EventCategory, C as buildAddonRouteProvider, Et as string, N as deviceExportCapability, X as oauthIntegrationCapability, a as COCO_TO_MACRO, c as FanDirectionSchema, i as CAMERA_SWITCH_ORDER, l as HvacModeSchema, o as CameraSwitchIdSchema, p as addonRoutesCapability, pt as BaseAddon, t as AlarmArmModeSchema, u as MediaPlayerRepeatSchema, vt as nodePin } from "../dist-AOtMYWFQ.mjs";
1
+ import { At as EventCategory, C as buildAddonRouteProvider, Et as string, N as deviceExportCapability, X as oauthIntegrationCapability, a as COCO_TO_MACRO, c as FanDirectionSchema, i as CAMERA_SWITCH_ORDER, l as HvacModeSchema, o as CameraSwitchIdSchema, p as addonRoutesCapability, pt as BaseAddon, t as AlarmArmModeSchema, u as MediaPlayerRepeatSchema, vt as nodePin } from "../dist-CCXWoJdR.mjs";
2
2
  import { createHmac, timingSafeEqual } from "node:crypto";
3
3
  //#region src/ha-export/topics.ts
4
4
  /**
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@camstack/addon-provider-homeassistant",
3
- "version": "1.2.100",
3
+ "version": "1.2.102",
4
4
  "description": "Home Assistant device provider addon for CamStack",
5
5
  "keywords": [
6
6
  "camstack",