@camstack/addon-export-hap 1.2.96 → 1.2.98

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.
@@ -8293,6 +8293,35 @@ var CameraSwitchGroupSchema = object({
8293
8293
  /** Unix ms when the group was composed server-side. */
8294
8294
  fetchedAt: number()
8295
8295
  });
8296
+ /** One archived note — the operator's words plus enough context to find what
8297
+ * they were looking at, after the track itself is gone. */
8298
+ var ArchivedDebugNoteSchema = object({
8299
+ /** Archive row id. Derived from `(sourceTrackId, note)`, so re-archiving the
8300
+ * same sentence about the same track lands on the row already there. */
8301
+ id: string(),
8302
+ /** The operator's own words, verbatim. */
8303
+ note: string(),
8304
+ /** The camera. Required — every question here is asked per-camera. */
8305
+ deviceId: number().int(),
8306
+ /** The track the note was written on. PROVENANCE, not ownership: the track
8307
+ * is expected to be gone, and this row is not a reference to it. */
8308
+ sourceTrackId: string(),
8309
+ /** Epoch ms the note was moved here, i.e. when the operator reviewed it. */
8310
+ archivedAt: number().int(),
8311
+ /** The track's `firstSeen`, when the row still knew it; `null` otherwise. */
8312
+ trackStartedAt: number().int().nullable(),
8313
+ /** The track's detector class (`person`, `car`, …); `null` when unknown. */
8314
+ trackClass: string().nullable(),
8315
+ /** The track's display label at review time; `null` when it had none. */
8316
+ trackLabel: string().nullable()
8317
+ });
8318
+ /** Query input for `listArchivedDebugNotes` — newest first, one camera or all. */
8319
+ var ArchivedDebugNoteQueryInputSchema = object({
8320
+ /** Restrict to a single camera; omit for every row. */
8321
+ deviceId: number().int().optional(),
8322
+ /** Max rows returned, newest-first. */
8323
+ limit: number().int().min(1).max(1e3).optional()
8324
+ });
8296
8325
  /**
8297
8326
  * Ops-log — the durable, append-only operations audit shared by the
8298
8327
  * recordings and events management surfaces.
@@ -16612,16 +16641,16 @@ DeviceType.AlarmPanel, method(object({
16612
16641
  code: string().min(1).optional()
16613
16642
  }), _void(), {
16614
16643
  kind: "mutation",
16615
- auth: "admin"
16644
+ auth: "protected"
16616
16645
  }), method(object({
16617
16646
  deviceId: number().int().nonnegative(),
16618
16647
  code: string().min(1).optional()
16619
16648
  }), _void(), {
16620
16649
  kind: "mutation",
16621
- auth: "admin"
16650
+ auth: "protected"
16622
16651
  }), method(object({ deviceId: number().int().nonnegative() }), _void(), {
16623
16652
  kind: "mutation",
16624
- auth: "admin"
16653
+ auth: "protected"
16625
16654
  });
16626
16655
  /**
16627
16656
  * Shared geometry vocabulary for on-frame shape caps — privacy-mask,
@@ -20523,7 +20552,7 @@ DeviceType.Camera, method(object({ deviceId: number() }), array(TrackSchema).rea
20523
20552
  deviceId: number(),
20524
20553
  trackId: string(),
20525
20554
  flags: TrackFlagsPatchSchema
20526
- }), TrackFlagsSchema, { kind: "mutation" }), method(object({}), EventStoreFootprintSchema, {
20555
+ }), TrackFlagsSchema, { kind: "mutation" }), method(ArchivedDebugNoteQueryInputSchema, array(ArchivedDebugNoteSchema).readonly(), { kind: "query" }), method(object({}), EventStoreFootprintSchema, {
20527
20556
  kind: "query",
20528
20557
  auth: "admin"
20529
20558
  }), method(object({ deviceId: number().int().optional() }), EventMediaKindBreakdownSchema, {
@@ -24280,7 +24309,7 @@ DeviceType.Light, method(object({
24280
24309
  percentage: number().min(0).max(100)
24281
24310
  }), _void(), {
24282
24311
  kind: "mutation",
24283
- auth: "admin"
24312
+ auth: "protected"
24284
24313
  }), object({
24285
24314
  deviceId: number(),
24286
24315
  percentage: number().min(0).max(100),
@@ -24288,7 +24317,7 @@ DeviceType.Light, method(object({
24288
24317
  });
24289
24318
  DeviceType.Button, method(object({ deviceId: number().int().nonnegative() }), _void(), {
24290
24319
  kind: "mutation",
24291
- auth: "admin"
24320
+ auth: "protected"
24292
24321
  });
24293
24322
  /**
24294
24323
  * camera-credentials — device-scoped cap exposing the camera's network
@@ -24451,50 +24480,50 @@ DeviceType.Thermostat, DeviceType.Climate, method(object({
24451
24480
  mode: HvacModeSchema
24452
24481
  }), _void(), {
24453
24482
  kind: "mutation",
24454
- auth: "admin"
24483
+ auth: "protected"
24455
24484
  }), method(object({
24456
24485
  deviceId: number().int().nonnegative(),
24457
24486
  fanMode: string().min(1)
24458
24487
  }), _void(), {
24459
24488
  kind: "mutation",
24460
- auth: "admin"
24489
+ auth: "protected"
24461
24490
  }), method(object({
24462
24491
  deviceId: number().int().nonnegative(),
24463
24492
  preset: string().min(1)
24464
24493
  }), _void(), {
24465
24494
  kind: "mutation",
24466
- auth: "admin"
24495
+ auth: "protected"
24467
24496
  }), method(object({
24468
24497
  deviceId: number().int().nonnegative(),
24469
24498
  target: number()
24470
24499
  }), _void(), {
24471
24500
  kind: "mutation",
24472
- auth: "admin"
24501
+ auth: "protected"
24473
24502
  }), method(object({
24474
24503
  deviceId: number().int().nonnegative(),
24475
24504
  targetLow: number(),
24476
24505
  targetHigh: number()
24477
24506
  }), _void(), {
24478
24507
  kind: "mutation",
24479
- auth: "admin"
24508
+ auth: "protected"
24480
24509
  }), method(object({
24481
24510
  deviceId: number().int().nonnegative(),
24482
24511
  targetHumidity: number().min(0).max(100)
24483
24512
  }), _void(), {
24484
24513
  kind: "mutation",
24485
- auth: "admin"
24514
+ auth: "protected"
24486
24515
  }), method(object({
24487
24516
  deviceId: number().int().nonnegative(),
24488
24517
  on: boolean()
24489
24518
  }), _void(), {
24490
24519
  kind: "mutation",
24491
- auth: "admin"
24520
+ auth: "protected"
24492
24521
  }), method(object({
24493
24522
  deviceId: number().int().nonnegative(),
24494
24523
  on: boolean()
24495
24524
  }), _void(), {
24496
24525
  kind: "mutation",
24497
- auth: "admin"
24526
+ auth: "protected"
24498
24527
  });
24499
24528
  /**
24500
24529
  * Color-light cap. Coexists with `switch` (on/off) and `brightness`
@@ -24569,7 +24598,7 @@ DeviceType.Light, method(object({
24569
24598
  color: ColorInputSchema
24570
24599
  }), _void(), {
24571
24600
  kind: "mutation",
24572
- auth: "admin"
24601
+ auth: "protected"
24573
24602
  }), object({
24574
24603
  deviceId: number(),
24575
24604
  mode: _enum([
@@ -24730,7 +24759,7 @@ DeviceType.Control, method(object({
24730
24759
  control: ControlSetValueInputSchema
24731
24760
  }), _void(), {
24732
24761
  kind: "mutation",
24733
- auth: "admin"
24762
+ auth: "protected"
24734
24763
  });
24735
24764
  object({
24736
24765
  /** Lifecycle state of the cover. */
@@ -24751,25 +24780,25 @@ object({
24751
24780
  });
24752
24781
  DeviceType.Cover, method(object({ deviceId: number().int().nonnegative() }), _void(), {
24753
24782
  kind: "mutation",
24754
- auth: "admin"
24783
+ auth: "protected"
24755
24784
  }), method(object({ deviceId: number().int().nonnegative() }), _void(), {
24756
24785
  kind: "mutation",
24757
- auth: "admin"
24786
+ auth: "protected"
24758
24787
  }), method(object({ deviceId: number().int().nonnegative() }), _void(), {
24759
24788
  kind: "mutation",
24760
- auth: "admin"
24789
+ auth: "protected"
24761
24790
  }), method(object({
24762
24791
  deviceId: number().int().nonnegative(),
24763
24792
  position: number().min(0).max(100)
24764
24793
  }), _void(), {
24765
24794
  kind: "mutation",
24766
- auth: "admin"
24795
+ auth: "protected"
24767
24796
  }), method(object({
24768
24797
  deviceId: number().int().nonnegative(),
24769
24798
  tiltPosition: number().min(0).max(100)
24770
24799
  }), _void(), {
24771
24800
  kind: "mutation",
24772
- auth: "admin"
24801
+ auth: "protected"
24773
24802
  });
24774
24803
  /**
24775
24804
  * Vendor-neutral day/night (IR-cut) control — the per-camera config cap
@@ -25364,25 +25393,25 @@ DeviceType.Fan, method(object({
25364
25393
  percentage: number().min(0).max(100)
25365
25394
  }), _void(), {
25366
25395
  kind: "mutation",
25367
- auth: "admin"
25396
+ auth: "protected"
25368
25397
  }), method(object({
25369
25398
  deviceId: number().int().nonnegative(),
25370
25399
  preset: string().min(1)
25371
25400
  }), _void(), {
25372
25401
  kind: "mutation",
25373
- auth: "admin"
25402
+ auth: "protected"
25374
25403
  }), method(object({
25375
25404
  deviceId: number().int().nonnegative(),
25376
25405
  direction: FanDirectionSchema
25377
25406
  }), _void(), {
25378
25407
  kind: "mutation",
25379
- auth: "admin"
25408
+ auth: "protected"
25380
25409
  }), method(object({
25381
25410
  deviceId: number().int().nonnegative(),
25382
25411
  oscillating: boolean()
25383
25412
  }), _void(), {
25384
25413
  kind: "mutation",
25385
- auth: "admin"
25414
+ auth: "protected"
25386
25415
  });
25387
25416
  /**
25388
25417
  * Per-device feature/identity probe slice. Holds the runtime-resolved
@@ -25493,19 +25522,19 @@ DeviceType.Humidifier, method(object({
25493
25522
  on: boolean()
25494
25523
  }), _void(), {
25495
25524
  kind: "mutation",
25496
- auth: "admin"
25525
+ auth: "protected"
25497
25526
  }), method(object({
25498
25527
  deviceId: number().int().nonnegative(),
25499
25528
  humidity: number().min(0).max(100)
25500
25529
  }), _void(), {
25501
25530
  kind: "mutation",
25502
- auth: "admin"
25531
+ auth: "protected"
25503
25532
  }), method(object({
25504
25533
  deviceId: number().int().nonnegative(),
25505
25534
  mode: string().min(1)
25506
25535
  }), _void(), {
25507
25536
  kind: "mutation",
25508
- auth: "admin"
25537
+ auth: "protected"
25509
25538
  });
25510
25539
  /**
25511
25540
  * Single-metric humidity reading. Drives Home Assistant `sensor`
@@ -25975,13 +26004,13 @@ object({
25975
26004
  });
25976
26005
  DeviceType.LawnMower, method(object({ deviceId: number().int().nonnegative() }), _void(), {
25977
26006
  kind: "mutation",
25978
- auth: "admin"
26007
+ auth: "protected"
25979
26008
  }), method(object({ deviceId: number().int().nonnegative() }), _void(), {
25980
26009
  kind: "mutation",
25981
- auth: "admin"
26010
+ auth: "protected"
25982
26011
  }), method(object({ deviceId: number().int().nonnegative() }), _void(), {
25983
26012
  kind: "mutation",
25984
- auth: "admin"
26013
+ auth: "protected"
25985
26014
  });
25986
26015
  /**
25987
26016
  * local-network — hub-only singleton.
@@ -26241,16 +26270,16 @@ DeviceType.Lock, method(object({
26241
26270
  code: string().min(1).optional()
26242
26271
  }), _void(), {
26243
26272
  kind: "mutation",
26244
- auth: "admin"
26273
+ auth: "protected"
26245
26274
  }), method(object({
26246
26275
  deviceId: number().int().nonnegative(),
26247
26276
  code: string().min(1).optional()
26248
26277
  }), _void(), {
26249
26278
  kind: "mutation",
26250
- auth: "admin"
26279
+ auth: "protected"
26251
26280
  }), method(object({ deviceId: number().int().nonnegative() }), _void(), {
26252
26281
  kind: "mutation",
26253
- auth: "admin"
26282
+ auth: "protected"
26254
26283
  });
26255
26284
  /**
26256
26285
  * Media-player cap. Models HA `media_player.*` (Sonos, Chromecast,
@@ -26324,55 +26353,55 @@ object({
26324
26353
  });
26325
26354
  DeviceType.MediaPlayer, method(object({ deviceId: number().int().nonnegative() }), _void(), {
26326
26355
  kind: "mutation",
26327
- auth: "admin"
26356
+ auth: "protected"
26328
26357
  }), method(object({ deviceId: number().int().nonnegative() }), _void(), {
26329
26358
  kind: "mutation",
26330
- auth: "admin"
26359
+ auth: "protected"
26331
26360
  }), method(object({ deviceId: number().int().nonnegative() }), _void(), {
26332
26361
  kind: "mutation",
26333
- auth: "admin"
26362
+ auth: "protected"
26334
26363
  }), method(object({ deviceId: number().int().nonnegative() }), _void(), {
26335
26364
  kind: "mutation",
26336
- auth: "admin"
26365
+ auth: "protected"
26337
26366
  }), method(object({ deviceId: number().int().nonnegative() }), _void(), {
26338
26367
  kind: "mutation",
26339
- auth: "admin"
26368
+ auth: "protected"
26340
26369
  }), method(object({
26341
26370
  deviceId: number().int().nonnegative(),
26342
26371
  positionMs: number().int().nonnegative()
26343
26372
  }), _void(), {
26344
26373
  kind: "mutation",
26345
- auth: "admin"
26374
+ auth: "protected"
26346
26375
  }), method(object({
26347
26376
  deviceId: number().int().nonnegative(),
26348
26377
  volumeLevel: number().min(0).max(100)
26349
26378
  }), _void(), {
26350
26379
  kind: "mutation",
26351
- auth: "admin"
26380
+ auth: "protected"
26352
26381
  }), method(object({
26353
26382
  deviceId: number().int().nonnegative(),
26354
26383
  muted: boolean()
26355
26384
  }), _void(), {
26356
26385
  kind: "mutation",
26357
- auth: "admin"
26386
+ auth: "protected"
26358
26387
  }), method(object({
26359
26388
  deviceId: number().int().nonnegative(),
26360
26389
  shuffle: boolean()
26361
26390
  }), _void(), {
26362
26391
  kind: "mutation",
26363
- auth: "admin"
26392
+ auth: "protected"
26364
26393
  }), method(object({
26365
26394
  deviceId: number().int().nonnegative(),
26366
26395
  repeat: MediaPlayerRepeatSchema
26367
26396
  }), _void(), {
26368
26397
  kind: "mutation",
26369
- auth: "admin"
26398
+ auth: "protected"
26370
26399
  }), method(object({
26371
26400
  deviceId: number().int().nonnegative(),
26372
26401
  source: string().min(1)
26373
26402
  }), _void(), {
26374
26403
  kind: "mutation",
26375
- auth: "admin"
26404
+ auth: "protected"
26376
26405
  }), method(object({
26377
26406
  deviceId: number().int().nonnegative(),
26378
26407
  /** Media identifier / URL. */
@@ -26382,7 +26411,7 @@ DeviceType.MediaPlayer, method(object({ deviceId: number().int().nonnegative() }
26382
26411
  mediaType: string().min(1)
26383
26412
  }), _void(), {
26384
26413
  kind: "mutation",
26385
- auth: "admin"
26414
+ auth: "protected"
26386
26415
  });
26387
26416
  /**
26388
26417
  * mesh-network — collection cap for mesh-VPN providers.
@@ -27560,49 +27589,49 @@ DeviceType.PetFeeder, method(object({
27560
27589
  hopper2: gramsPortion.optional()
27561
27590
  }), _void(), {
27562
27591
  kind: "mutation",
27563
- auth: "admin"
27592
+ auth: "protected"
27564
27593
  }), method(object({ deviceId: number().int().nonnegative() }), _void(), {
27565
27594
  kind: "mutation",
27566
- auth: "admin"
27595
+ auth: "protected"
27567
27596
  }), method(object({ deviceId: number().int().nonnegative() }), _void(), {
27568
27597
  kind: "mutation",
27569
- auth: "admin"
27598
+ auth: "protected"
27570
27599
  }), method(object({ deviceId: number().int().nonnegative() }), _void(), {
27571
27600
  kind: "mutation",
27572
- auth: "admin"
27601
+ auth: "protected"
27573
27602
  }), method(object({ deviceId: number().int().nonnegative() }), _void(), {
27574
27603
  kind: "mutation",
27575
- auth: "admin"
27604
+ auth: "protected"
27576
27605
  }), method(object({
27577
27606
  deviceId: number().int().nonnegative(),
27578
27607
  soundId: number().int().nonnegative()
27579
27608
  }), _void(), {
27580
27609
  kind: "mutation",
27581
- auth: "admin"
27610
+ auth: "protected"
27582
27611
  }), method(object({
27583
27612
  deviceId: number().int().nonnegative(),
27584
27613
  on: boolean()
27585
27614
  }), _void(), {
27586
27615
  kind: "mutation",
27587
- auth: "admin"
27616
+ auth: "protected"
27588
27617
  }), method(object({
27589
27618
  deviceId: number().int().nonnegative(),
27590
27619
  on: boolean()
27591
27620
  }), _void(), {
27592
27621
  kind: "mutation",
27593
- auth: "admin"
27622
+ auth: "protected"
27594
27623
  }), method(object({
27595
27624
  deviceId: number().int().nonnegative(),
27596
27625
  on: boolean()
27597
27626
  }), _void(), {
27598
27627
  kind: "mutation",
27599
- auth: "admin"
27628
+ auth: "protected"
27600
27629
  }), method(object({
27601
27630
  deviceId: number().int().nonnegative(),
27602
27631
  level: number().int().nonnegative()
27603
27632
  }), _void(), {
27604
27633
  kind: "mutation",
27605
- auth: "admin"
27634
+ auth: "protected"
27606
27635
  });
27607
27636
  var VehicleSchema = object({
27608
27637
  id: string(),
@@ -29398,7 +29427,7 @@ DeviceType.Switch, DeviceType.Siren, DeviceType.Light, method(object({
29398
29427
  on: boolean()
29399
29428
  }), _void(), {
29400
29429
  kind: "mutation",
29401
- auth: "admin"
29430
+ auth: "protected"
29402
29431
  }), object({
29403
29432
  deviceId: number(),
29404
29433
  on: boolean(),
@@ -30271,25 +30300,25 @@ object({
30271
30300
  });
30272
30301
  DeviceType.Vacuum, method(object({ deviceId: number().int().nonnegative() }), _void(), {
30273
30302
  kind: "mutation",
30274
- auth: "admin"
30303
+ auth: "protected"
30275
30304
  }), method(object({ deviceId: number().int().nonnegative() }), _void(), {
30276
30305
  kind: "mutation",
30277
- auth: "admin"
30306
+ auth: "protected"
30278
30307
  }), method(object({ deviceId: number().int().nonnegative() }), _void(), {
30279
30308
  kind: "mutation",
30280
- auth: "admin"
30309
+ auth: "protected"
30281
30310
  }), method(object({ deviceId: number().int().nonnegative() }), _void(), {
30282
30311
  kind: "mutation",
30283
- auth: "admin"
30312
+ auth: "protected"
30284
30313
  }), method(object({ deviceId: number().int().nonnegative() }), _void(), {
30285
30314
  kind: "mutation",
30286
- auth: "admin"
30315
+ auth: "protected"
30287
30316
  }), method(object({
30288
30317
  deviceId: number().int().nonnegative(),
30289
30318
  speed: string().min(1)
30290
30319
  }), _void(), {
30291
30320
  kind: "mutation",
30292
- auth: "admin"
30321
+ auth: "protected"
30293
30322
  });
30294
30323
  object({
30295
30324
  /** Lifecycle state of the valve. */
@@ -30308,19 +30337,19 @@ object({
30308
30337
  });
30309
30338
  DeviceType.Valve, method(object({ deviceId: number().int().nonnegative() }), _void(), {
30310
30339
  kind: "mutation",
30311
- auth: "admin"
30340
+ auth: "protected"
30312
30341
  }), method(object({ deviceId: number().int().nonnegative() }), _void(), {
30313
30342
  kind: "mutation",
30314
- auth: "admin"
30343
+ auth: "protected"
30315
30344
  }), method(object({ deviceId: number().int().nonnegative() }), _void(), {
30316
30345
  kind: "mutation",
30317
- auth: "admin"
30346
+ auth: "protected"
30318
30347
  }), method(object({
30319
30348
  deviceId: number().int().nonnegative(),
30320
30349
  position: number().min(0).max(100)
30321
30350
  }), _void(), {
30322
30351
  kind: "mutation",
30323
- auth: "admin"
30352
+ auth: "protected"
30324
30353
  });
30325
30354
  object({
30326
30355
  detected: boolean(),
@@ -30354,19 +30383,19 @@ DeviceType.WaterHeater, method(object({
30354
30383
  temp: number().finite()
30355
30384
  }), _void(), {
30356
30385
  kind: "mutation",
30357
- auth: "admin"
30386
+ auth: "protected"
30358
30387
  }), method(object({
30359
30388
  deviceId: number().int().nonnegative(),
30360
30389
  mode: string().min(1)
30361
30390
  }), _void(), {
30362
30391
  kind: "mutation",
30363
- auth: "admin"
30392
+ auth: "protected"
30364
30393
  }), method(object({
30365
30394
  deviceId: number().int().nonnegative(),
30366
30395
  on: boolean()
30367
30396
  }), _void(), {
30368
30397
  kind: "mutation",
30369
- auth: "admin"
30398
+ auth: "protected"
30370
30399
  });
30371
30400
  object({
30372
30401
  /** Verbatim HA condition state (`sunny`, `cloudy`, `rainy`, …). Null
@@ -33994,6 +34023,12 @@ Object.freeze({
33994
34023
  addonId: null,
33995
34024
  access: "view"
33996
34025
  },
34026
+ "pipelineAnalytics.listArchivedDebugNotes": {
34027
+ capName: "pipeline-analytics",
34028
+ capScope: "device",
34029
+ addonId: null,
34030
+ access: "view"
34031
+ },
33997
34032
  "pipelineAnalytics.listEventKinds": {
33998
34033
  capName: "pipeline-analytics",
33999
34034
  capScope: "device",
@@ -37781,6 +37816,11 @@ Object.freeze({
37781
37816
  form: "array",
37782
37817
  optional: true
37783
37818
  }],
37819
+ "pipelineAnalytics.listArchivedDebugNotes": [{
37820
+ name: "deviceId",
37821
+ form: "single",
37822
+ optional: true
37823
+ }],
37784
37824
  "pipelineAnalytics.listEventKinds": [{
37785
37825
  name: "deviceId",
37786
37826
  form: "single",
@@ -8281,6 +8281,35 @@ var CameraSwitchGroupSchema = object({
8281
8281
  /** Unix ms when the group was composed server-side. */
8282
8282
  fetchedAt: number()
8283
8283
  });
8284
+ /** One archived note — the operator's words plus enough context to find what
8285
+ * they were looking at, after the track itself is gone. */
8286
+ var ArchivedDebugNoteSchema = object({
8287
+ /** Archive row id. Derived from `(sourceTrackId, note)`, so re-archiving the
8288
+ * same sentence about the same track lands on the row already there. */
8289
+ id: string(),
8290
+ /** The operator's own words, verbatim. */
8291
+ note: string(),
8292
+ /** The camera. Required — every question here is asked per-camera. */
8293
+ deviceId: number().int(),
8294
+ /** The track the note was written on. PROVENANCE, not ownership: the track
8295
+ * is expected to be gone, and this row is not a reference to it. */
8296
+ sourceTrackId: string(),
8297
+ /** Epoch ms the note was moved here, i.e. when the operator reviewed it. */
8298
+ archivedAt: number().int(),
8299
+ /** The track's `firstSeen`, when the row still knew it; `null` otherwise. */
8300
+ trackStartedAt: number().int().nullable(),
8301
+ /** The track's detector class (`person`, `car`, …); `null` when unknown. */
8302
+ trackClass: string().nullable(),
8303
+ /** The track's display label at review time; `null` when it had none. */
8304
+ trackLabel: string().nullable()
8305
+ });
8306
+ /** Query input for `listArchivedDebugNotes` — newest first, one camera or all. */
8307
+ var ArchivedDebugNoteQueryInputSchema = object({
8308
+ /** Restrict to a single camera; omit for every row. */
8309
+ deviceId: number().int().optional(),
8310
+ /** Max rows returned, newest-first. */
8311
+ limit: number().int().min(1).max(1e3).optional()
8312
+ });
8284
8313
  /**
8285
8314
  * Ops-log — the durable, append-only operations audit shared by the
8286
8315
  * recordings and events management surfaces.
@@ -16600,16 +16629,16 @@ DeviceType.AlarmPanel, method(object({
16600
16629
  code: string().min(1).optional()
16601
16630
  }), _void(), {
16602
16631
  kind: "mutation",
16603
- auth: "admin"
16632
+ auth: "protected"
16604
16633
  }), method(object({
16605
16634
  deviceId: number().int().nonnegative(),
16606
16635
  code: string().min(1).optional()
16607
16636
  }), _void(), {
16608
16637
  kind: "mutation",
16609
- auth: "admin"
16638
+ auth: "protected"
16610
16639
  }), method(object({ deviceId: number().int().nonnegative() }), _void(), {
16611
16640
  kind: "mutation",
16612
- auth: "admin"
16641
+ auth: "protected"
16613
16642
  });
16614
16643
  /**
16615
16644
  * Shared geometry vocabulary for on-frame shape caps — privacy-mask,
@@ -20511,7 +20540,7 @@ DeviceType.Camera, method(object({ deviceId: number() }), array(TrackSchema).rea
20511
20540
  deviceId: number(),
20512
20541
  trackId: string(),
20513
20542
  flags: TrackFlagsPatchSchema
20514
- }), TrackFlagsSchema, { kind: "mutation" }), method(object({}), EventStoreFootprintSchema, {
20543
+ }), TrackFlagsSchema, { kind: "mutation" }), method(ArchivedDebugNoteQueryInputSchema, array(ArchivedDebugNoteSchema).readonly(), { kind: "query" }), method(object({}), EventStoreFootprintSchema, {
20515
20544
  kind: "query",
20516
20545
  auth: "admin"
20517
20546
  }), method(object({ deviceId: number().int().optional() }), EventMediaKindBreakdownSchema, {
@@ -24268,7 +24297,7 @@ DeviceType.Light, method(object({
24268
24297
  percentage: number().min(0).max(100)
24269
24298
  }), _void(), {
24270
24299
  kind: "mutation",
24271
- auth: "admin"
24300
+ auth: "protected"
24272
24301
  }), object({
24273
24302
  deviceId: number(),
24274
24303
  percentage: number().min(0).max(100),
@@ -24276,7 +24305,7 @@ DeviceType.Light, method(object({
24276
24305
  });
24277
24306
  DeviceType.Button, method(object({ deviceId: number().int().nonnegative() }), _void(), {
24278
24307
  kind: "mutation",
24279
- auth: "admin"
24308
+ auth: "protected"
24280
24309
  });
24281
24310
  /**
24282
24311
  * camera-credentials — device-scoped cap exposing the camera's network
@@ -24439,50 +24468,50 @@ DeviceType.Thermostat, DeviceType.Climate, method(object({
24439
24468
  mode: HvacModeSchema
24440
24469
  }), _void(), {
24441
24470
  kind: "mutation",
24442
- auth: "admin"
24471
+ auth: "protected"
24443
24472
  }), method(object({
24444
24473
  deviceId: number().int().nonnegative(),
24445
24474
  fanMode: string().min(1)
24446
24475
  }), _void(), {
24447
24476
  kind: "mutation",
24448
- auth: "admin"
24477
+ auth: "protected"
24449
24478
  }), method(object({
24450
24479
  deviceId: number().int().nonnegative(),
24451
24480
  preset: string().min(1)
24452
24481
  }), _void(), {
24453
24482
  kind: "mutation",
24454
- auth: "admin"
24483
+ auth: "protected"
24455
24484
  }), method(object({
24456
24485
  deviceId: number().int().nonnegative(),
24457
24486
  target: number()
24458
24487
  }), _void(), {
24459
24488
  kind: "mutation",
24460
- auth: "admin"
24489
+ auth: "protected"
24461
24490
  }), method(object({
24462
24491
  deviceId: number().int().nonnegative(),
24463
24492
  targetLow: number(),
24464
24493
  targetHigh: number()
24465
24494
  }), _void(), {
24466
24495
  kind: "mutation",
24467
- auth: "admin"
24496
+ auth: "protected"
24468
24497
  }), method(object({
24469
24498
  deviceId: number().int().nonnegative(),
24470
24499
  targetHumidity: number().min(0).max(100)
24471
24500
  }), _void(), {
24472
24501
  kind: "mutation",
24473
- auth: "admin"
24502
+ auth: "protected"
24474
24503
  }), method(object({
24475
24504
  deviceId: number().int().nonnegative(),
24476
24505
  on: boolean()
24477
24506
  }), _void(), {
24478
24507
  kind: "mutation",
24479
- auth: "admin"
24508
+ auth: "protected"
24480
24509
  }), method(object({
24481
24510
  deviceId: number().int().nonnegative(),
24482
24511
  on: boolean()
24483
24512
  }), _void(), {
24484
24513
  kind: "mutation",
24485
- auth: "admin"
24514
+ auth: "protected"
24486
24515
  });
24487
24516
  /**
24488
24517
  * Color-light cap. Coexists with `switch` (on/off) and `brightness`
@@ -24557,7 +24586,7 @@ DeviceType.Light, method(object({
24557
24586
  color: ColorInputSchema
24558
24587
  }), _void(), {
24559
24588
  kind: "mutation",
24560
- auth: "admin"
24589
+ auth: "protected"
24561
24590
  }), object({
24562
24591
  deviceId: number(),
24563
24592
  mode: _enum([
@@ -24718,7 +24747,7 @@ DeviceType.Control, method(object({
24718
24747
  control: ControlSetValueInputSchema
24719
24748
  }), _void(), {
24720
24749
  kind: "mutation",
24721
- auth: "admin"
24750
+ auth: "protected"
24722
24751
  });
24723
24752
  object({
24724
24753
  /** Lifecycle state of the cover. */
@@ -24739,25 +24768,25 @@ object({
24739
24768
  });
24740
24769
  DeviceType.Cover, method(object({ deviceId: number().int().nonnegative() }), _void(), {
24741
24770
  kind: "mutation",
24742
- auth: "admin"
24771
+ auth: "protected"
24743
24772
  }), method(object({ deviceId: number().int().nonnegative() }), _void(), {
24744
24773
  kind: "mutation",
24745
- auth: "admin"
24774
+ auth: "protected"
24746
24775
  }), method(object({ deviceId: number().int().nonnegative() }), _void(), {
24747
24776
  kind: "mutation",
24748
- auth: "admin"
24777
+ auth: "protected"
24749
24778
  }), method(object({
24750
24779
  deviceId: number().int().nonnegative(),
24751
24780
  position: number().min(0).max(100)
24752
24781
  }), _void(), {
24753
24782
  kind: "mutation",
24754
- auth: "admin"
24783
+ auth: "protected"
24755
24784
  }), method(object({
24756
24785
  deviceId: number().int().nonnegative(),
24757
24786
  tiltPosition: number().min(0).max(100)
24758
24787
  }), _void(), {
24759
24788
  kind: "mutation",
24760
- auth: "admin"
24789
+ auth: "protected"
24761
24790
  });
24762
24791
  /**
24763
24792
  * Vendor-neutral day/night (IR-cut) control — the per-camera config cap
@@ -25352,25 +25381,25 @@ DeviceType.Fan, method(object({
25352
25381
  percentage: number().min(0).max(100)
25353
25382
  }), _void(), {
25354
25383
  kind: "mutation",
25355
- auth: "admin"
25384
+ auth: "protected"
25356
25385
  }), method(object({
25357
25386
  deviceId: number().int().nonnegative(),
25358
25387
  preset: string().min(1)
25359
25388
  }), _void(), {
25360
25389
  kind: "mutation",
25361
- auth: "admin"
25390
+ auth: "protected"
25362
25391
  }), method(object({
25363
25392
  deviceId: number().int().nonnegative(),
25364
25393
  direction: FanDirectionSchema
25365
25394
  }), _void(), {
25366
25395
  kind: "mutation",
25367
- auth: "admin"
25396
+ auth: "protected"
25368
25397
  }), method(object({
25369
25398
  deviceId: number().int().nonnegative(),
25370
25399
  oscillating: boolean()
25371
25400
  }), _void(), {
25372
25401
  kind: "mutation",
25373
- auth: "admin"
25402
+ auth: "protected"
25374
25403
  });
25375
25404
  /**
25376
25405
  * Per-device feature/identity probe slice. Holds the runtime-resolved
@@ -25481,19 +25510,19 @@ DeviceType.Humidifier, method(object({
25481
25510
  on: boolean()
25482
25511
  }), _void(), {
25483
25512
  kind: "mutation",
25484
- auth: "admin"
25513
+ auth: "protected"
25485
25514
  }), method(object({
25486
25515
  deviceId: number().int().nonnegative(),
25487
25516
  humidity: number().min(0).max(100)
25488
25517
  }), _void(), {
25489
25518
  kind: "mutation",
25490
- auth: "admin"
25519
+ auth: "protected"
25491
25520
  }), method(object({
25492
25521
  deviceId: number().int().nonnegative(),
25493
25522
  mode: string().min(1)
25494
25523
  }), _void(), {
25495
25524
  kind: "mutation",
25496
- auth: "admin"
25525
+ auth: "protected"
25497
25526
  });
25498
25527
  /**
25499
25528
  * Single-metric humidity reading. Drives Home Assistant `sensor`
@@ -25963,13 +25992,13 @@ object({
25963
25992
  });
25964
25993
  DeviceType.LawnMower, method(object({ deviceId: number().int().nonnegative() }), _void(), {
25965
25994
  kind: "mutation",
25966
- auth: "admin"
25995
+ auth: "protected"
25967
25996
  }), method(object({ deviceId: number().int().nonnegative() }), _void(), {
25968
25997
  kind: "mutation",
25969
- auth: "admin"
25998
+ auth: "protected"
25970
25999
  }), method(object({ deviceId: number().int().nonnegative() }), _void(), {
25971
26000
  kind: "mutation",
25972
- auth: "admin"
26001
+ auth: "protected"
25973
26002
  });
25974
26003
  /**
25975
26004
  * local-network — hub-only singleton.
@@ -26229,16 +26258,16 @@ DeviceType.Lock, method(object({
26229
26258
  code: string().min(1).optional()
26230
26259
  }), _void(), {
26231
26260
  kind: "mutation",
26232
- auth: "admin"
26261
+ auth: "protected"
26233
26262
  }), method(object({
26234
26263
  deviceId: number().int().nonnegative(),
26235
26264
  code: string().min(1).optional()
26236
26265
  }), _void(), {
26237
26266
  kind: "mutation",
26238
- auth: "admin"
26267
+ auth: "protected"
26239
26268
  }), method(object({ deviceId: number().int().nonnegative() }), _void(), {
26240
26269
  kind: "mutation",
26241
- auth: "admin"
26270
+ auth: "protected"
26242
26271
  });
26243
26272
  /**
26244
26273
  * Media-player cap. Models HA `media_player.*` (Sonos, Chromecast,
@@ -26312,55 +26341,55 @@ object({
26312
26341
  });
26313
26342
  DeviceType.MediaPlayer, method(object({ deviceId: number().int().nonnegative() }), _void(), {
26314
26343
  kind: "mutation",
26315
- auth: "admin"
26344
+ auth: "protected"
26316
26345
  }), method(object({ deviceId: number().int().nonnegative() }), _void(), {
26317
26346
  kind: "mutation",
26318
- auth: "admin"
26347
+ auth: "protected"
26319
26348
  }), method(object({ deviceId: number().int().nonnegative() }), _void(), {
26320
26349
  kind: "mutation",
26321
- auth: "admin"
26350
+ auth: "protected"
26322
26351
  }), method(object({ deviceId: number().int().nonnegative() }), _void(), {
26323
26352
  kind: "mutation",
26324
- auth: "admin"
26353
+ auth: "protected"
26325
26354
  }), method(object({ deviceId: number().int().nonnegative() }), _void(), {
26326
26355
  kind: "mutation",
26327
- auth: "admin"
26356
+ auth: "protected"
26328
26357
  }), method(object({
26329
26358
  deviceId: number().int().nonnegative(),
26330
26359
  positionMs: number().int().nonnegative()
26331
26360
  }), _void(), {
26332
26361
  kind: "mutation",
26333
- auth: "admin"
26362
+ auth: "protected"
26334
26363
  }), method(object({
26335
26364
  deviceId: number().int().nonnegative(),
26336
26365
  volumeLevel: number().min(0).max(100)
26337
26366
  }), _void(), {
26338
26367
  kind: "mutation",
26339
- auth: "admin"
26368
+ auth: "protected"
26340
26369
  }), method(object({
26341
26370
  deviceId: number().int().nonnegative(),
26342
26371
  muted: boolean()
26343
26372
  }), _void(), {
26344
26373
  kind: "mutation",
26345
- auth: "admin"
26374
+ auth: "protected"
26346
26375
  }), method(object({
26347
26376
  deviceId: number().int().nonnegative(),
26348
26377
  shuffle: boolean()
26349
26378
  }), _void(), {
26350
26379
  kind: "mutation",
26351
- auth: "admin"
26380
+ auth: "protected"
26352
26381
  }), method(object({
26353
26382
  deviceId: number().int().nonnegative(),
26354
26383
  repeat: MediaPlayerRepeatSchema
26355
26384
  }), _void(), {
26356
26385
  kind: "mutation",
26357
- auth: "admin"
26386
+ auth: "protected"
26358
26387
  }), method(object({
26359
26388
  deviceId: number().int().nonnegative(),
26360
26389
  source: string().min(1)
26361
26390
  }), _void(), {
26362
26391
  kind: "mutation",
26363
- auth: "admin"
26392
+ auth: "protected"
26364
26393
  }), method(object({
26365
26394
  deviceId: number().int().nonnegative(),
26366
26395
  /** Media identifier / URL. */
@@ -26370,7 +26399,7 @@ DeviceType.MediaPlayer, method(object({ deviceId: number().int().nonnegative() }
26370
26399
  mediaType: string().min(1)
26371
26400
  }), _void(), {
26372
26401
  kind: "mutation",
26373
- auth: "admin"
26402
+ auth: "protected"
26374
26403
  });
26375
26404
  /**
26376
26405
  * mesh-network — collection cap for mesh-VPN providers.
@@ -27548,49 +27577,49 @@ DeviceType.PetFeeder, method(object({
27548
27577
  hopper2: gramsPortion.optional()
27549
27578
  }), _void(), {
27550
27579
  kind: "mutation",
27551
- auth: "admin"
27580
+ auth: "protected"
27552
27581
  }), method(object({ deviceId: number().int().nonnegative() }), _void(), {
27553
27582
  kind: "mutation",
27554
- auth: "admin"
27583
+ auth: "protected"
27555
27584
  }), method(object({ deviceId: number().int().nonnegative() }), _void(), {
27556
27585
  kind: "mutation",
27557
- auth: "admin"
27586
+ auth: "protected"
27558
27587
  }), method(object({ deviceId: number().int().nonnegative() }), _void(), {
27559
27588
  kind: "mutation",
27560
- auth: "admin"
27589
+ auth: "protected"
27561
27590
  }), method(object({ deviceId: number().int().nonnegative() }), _void(), {
27562
27591
  kind: "mutation",
27563
- auth: "admin"
27592
+ auth: "protected"
27564
27593
  }), method(object({
27565
27594
  deviceId: number().int().nonnegative(),
27566
27595
  soundId: number().int().nonnegative()
27567
27596
  }), _void(), {
27568
27597
  kind: "mutation",
27569
- auth: "admin"
27598
+ auth: "protected"
27570
27599
  }), method(object({
27571
27600
  deviceId: number().int().nonnegative(),
27572
27601
  on: boolean()
27573
27602
  }), _void(), {
27574
27603
  kind: "mutation",
27575
- auth: "admin"
27604
+ auth: "protected"
27576
27605
  }), method(object({
27577
27606
  deviceId: number().int().nonnegative(),
27578
27607
  on: boolean()
27579
27608
  }), _void(), {
27580
27609
  kind: "mutation",
27581
- auth: "admin"
27610
+ auth: "protected"
27582
27611
  }), method(object({
27583
27612
  deviceId: number().int().nonnegative(),
27584
27613
  on: boolean()
27585
27614
  }), _void(), {
27586
27615
  kind: "mutation",
27587
- auth: "admin"
27616
+ auth: "protected"
27588
27617
  }), method(object({
27589
27618
  deviceId: number().int().nonnegative(),
27590
27619
  level: number().int().nonnegative()
27591
27620
  }), _void(), {
27592
27621
  kind: "mutation",
27593
- auth: "admin"
27622
+ auth: "protected"
27594
27623
  });
27595
27624
  var VehicleSchema = object({
27596
27625
  id: string(),
@@ -29386,7 +29415,7 @@ DeviceType.Switch, DeviceType.Siren, DeviceType.Light, method(object({
29386
29415
  on: boolean()
29387
29416
  }), _void(), {
29388
29417
  kind: "mutation",
29389
- auth: "admin"
29418
+ auth: "protected"
29390
29419
  }), object({
29391
29420
  deviceId: number(),
29392
29421
  on: boolean(),
@@ -30259,25 +30288,25 @@ object({
30259
30288
  });
30260
30289
  DeviceType.Vacuum, method(object({ deviceId: number().int().nonnegative() }), _void(), {
30261
30290
  kind: "mutation",
30262
- auth: "admin"
30291
+ auth: "protected"
30263
30292
  }), method(object({ deviceId: number().int().nonnegative() }), _void(), {
30264
30293
  kind: "mutation",
30265
- auth: "admin"
30294
+ auth: "protected"
30266
30295
  }), method(object({ deviceId: number().int().nonnegative() }), _void(), {
30267
30296
  kind: "mutation",
30268
- auth: "admin"
30297
+ auth: "protected"
30269
30298
  }), method(object({ deviceId: number().int().nonnegative() }), _void(), {
30270
30299
  kind: "mutation",
30271
- auth: "admin"
30300
+ auth: "protected"
30272
30301
  }), method(object({ deviceId: number().int().nonnegative() }), _void(), {
30273
30302
  kind: "mutation",
30274
- auth: "admin"
30303
+ auth: "protected"
30275
30304
  }), method(object({
30276
30305
  deviceId: number().int().nonnegative(),
30277
30306
  speed: string().min(1)
30278
30307
  }), _void(), {
30279
30308
  kind: "mutation",
30280
- auth: "admin"
30309
+ auth: "protected"
30281
30310
  });
30282
30311
  object({
30283
30312
  /** Lifecycle state of the valve. */
@@ -30296,19 +30325,19 @@ object({
30296
30325
  });
30297
30326
  DeviceType.Valve, method(object({ deviceId: number().int().nonnegative() }), _void(), {
30298
30327
  kind: "mutation",
30299
- auth: "admin"
30328
+ auth: "protected"
30300
30329
  }), method(object({ deviceId: number().int().nonnegative() }), _void(), {
30301
30330
  kind: "mutation",
30302
- auth: "admin"
30331
+ auth: "protected"
30303
30332
  }), method(object({ deviceId: number().int().nonnegative() }), _void(), {
30304
30333
  kind: "mutation",
30305
- auth: "admin"
30334
+ auth: "protected"
30306
30335
  }), method(object({
30307
30336
  deviceId: number().int().nonnegative(),
30308
30337
  position: number().min(0).max(100)
30309
30338
  }), _void(), {
30310
30339
  kind: "mutation",
30311
- auth: "admin"
30340
+ auth: "protected"
30312
30341
  });
30313
30342
  object({
30314
30343
  detected: boolean(),
@@ -30342,19 +30371,19 @@ DeviceType.WaterHeater, method(object({
30342
30371
  temp: number().finite()
30343
30372
  }), _void(), {
30344
30373
  kind: "mutation",
30345
- auth: "admin"
30374
+ auth: "protected"
30346
30375
  }), method(object({
30347
30376
  deviceId: number().int().nonnegative(),
30348
30377
  mode: string().min(1)
30349
30378
  }), _void(), {
30350
30379
  kind: "mutation",
30351
- auth: "admin"
30380
+ auth: "protected"
30352
30381
  }), method(object({
30353
30382
  deviceId: number().int().nonnegative(),
30354
30383
  on: boolean()
30355
30384
  }), _void(), {
30356
30385
  kind: "mutation",
30357
- auth: "admin"
30386
+ auth: "protected"
30358
30387
  });
30359
30388
  object({
30360
30389
  /** Verbatim HA condition state (`sunny`, `cloudy`, `rainy`, …). Null
@@ -33982,6 +34011,12 @@ Object.freeze({
33982
34011
  addonId: null,
33983
34012
  access: "view"
33984
34013
  },
34014
+ "pipelineAnalytics.listArchivedDebugNotes": {
34015
+ capName: "pipeline-analytics",
34016
+ capScope: "device",
34017
+ addonId: null,
34018
+ access: "view"
34019
+ },
33985
34020
  "pipelineAnalytics.listEventKinds": {
33986
34021
  capName: "pipeline-analytics",
33987
34022
  capScope: "device",
@@ -37769,6 +37804,11 @@ Object.freeze({
37769
37804
  form: "array",
37770
37805
  optional: true
37771
37806
  }],
37807
+ "pipelineAnalytics.listArchivedDebugNotes": [{
37808
+ name: "deviceId",
37809
+ form: "single",
37810
+ optional: true
37811
+ }],
37772
37812
  "pipelineAnalytics.listEventKinds": [{
37773
37813
  name: "deviceId",
37774
37814
  form: "single",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@camstack/addon-export-hap",
3
- "version": "1.2.96",
3
+ "version": "1.2.98",
4
4
  "description": "HomeKit (HAP) exporter for CamStack devices. Publishes each exposed device as its own HomeKit accessory: cameras and doorbells with SRTP streaming, HomeKit Secure Video, motion, two-way audio, PTZ and battery; switches, lights, locks and sensors through a capability→service table.",
5
5
  "keywords": [
6
6
  "camstack",