@camstack/addon-notifiers 1.2.89 → 1.2.91

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 +110 -70
  2. package/dist/addon.mjs +110 -70
  3. package/package.json +1 -1
package/dist/addon.js CHANGED
@@ -7760,6 +7760,35 @@ var CameraSwitchGroupSchema = object({
7760
7760
  /** Unix ms when the group was composed server-side. */
7761
7761
  fetchedAt: number()
7762
7762
  });
7763
+ /** One archived note — the operator's words plus enough context to find what
7764
+ * they were looking at, after the track itself is gone. */
7765
+ var ArchivedDebugNoteSchema = object({
7766
+ /** Archive row id. Derived from `(sourceTrackId, note)`, so re-archiving the
7767
+ * same sentence about the same track lands on the row already there. */
7768
+ id: string(),
7769
+ /** The operator's own words, verbatim. */
7770
+ note: string(),
7771
+ /** The camera. Required — every question here is asked per-camera. */
7772
+ deviceId: number().int(),
7773
+ /** The track the note was written on. PROVENANCE, not ownership: the track
7774
+ * is expected to be gone, and this row is not a reference to it. */
7775
+ sourceTrackId: string(),
7776
+ /** Epoch ms the note was moved here, i.e. when the operator reviewed it. */
7777
+ archivedAt: number().int(),
7778
+ /** The track's `firstSeen`, when the row still knew it; `null` otherwise. */
7779
+ trackStartedAt: number().int().nullable(),
7780
+ /** The track's detector class (`person`, `car`, …); `null` when unknown. */
7781
+ trackClass: string().nullable(),
7782
+ /** The track's display label at review time; `null` when it had none. */
7783
+ trackLabel: string().nullable()
7784
+ });
7785
+ /** Query input for `listArchivedDebugNotes` — newest first, one camera or all. */
7786
+ var ArchivedDebugNoteQueryInputSchema = object({
7787
+ /** Restrict to a single camera; omit for every row. */
7788
+ deviceId: number().int().optional(),
7789
+ /** Max rows returned, newest-first. */
7790
+ limit: number().int().min(1).max(1e3).optional()
7791
+ });
7763
7792
  /**
7764
7793
  * Ops-log — the durable, append-only operations audit shared by the
7765
7794
  * recordings and events management surfaces.
@@ -15999,16 +16028,16 @@ DeviceType.AlarmPanel, method(object({
15999
16028
  code: string().min(1).optional()
16000
16029
  }), _void(), {
16001
16030
  kind: "mutation",
16002
- auth: "admin"
16031
+ auth: "protected"
16003
16032
  }), method(object({
16004
16033
  deviceId: number().int().nonnegative(),
16005
16034
  code: string().min(1).optional()
16006
16035
  }), _void(), {
16007
16036
  kind: "mutation",
16008
- auth: "admin"
16037
+ auth: "protected"
16009
16038
  }), method(object({ deviceId: number().int().nonnegative() }), _void(), {
16010
16039
  kind: "mutation",
16011
- auth: "admin"
16040
+ auth: "protected"
16012
16041
  });
16013
16042
  /**
16014
16043
  * Shared geometry vocabulary for on-frame shape caps — privacy-mask,
@@ -19910,7 +19939,7 @@ DeviceType.Camera, method(object({ deviceId: number() }), array(TrackSchema).rea
19910
19939
  deviceId: number(),
19911
19940
  trackId: string(),
19912
19941
  flags: TrackFlagsPatchSchema
19913
- }), TrackFlagsSchema, { kind: "mutation" }), method(object({}), EventStoreFootprintSchema, {
19942
+ }), TrackFlagsSchema, { kind: "mutation" }), method(ArchivedDebugNoteQueryInputSchema, array(ArchivedDebugNoteSchema).readonly(), { kind: "query" }), method(object({}), EventStoreFootprintSchema, {
19914
19943
  kind: "query",
19915
19944
  auth: "admin"
19916
19945
  }), method(object({ deviceId: number().int().optional() }), EventMediaKindBreakdownSchema, {
@@ -23663,7 +23692,7 @@ DeviceType.Light, method(object({
23663
23692
  percentage: number().min(0).max(100)
23664
23693
  }), _void(), {
23665
23694
  kind: "mutation",
23666
- auth: "admin"
23695
+ auth: "protected"
23667
23696
  }), object({
23668
23697
  deviceId: number(),
23669
23698
  percentage: number().min(0).max(100),
@@ -23671,7 +23700,7 @@ DeviceType.Light, method(object({
23671
23700
  });
23672
23701
  DeviceType.Button, method(object({ deviceId: number().int().nonnegative() }), _void(), {
23673
23702
  kind: "mutation",
23674
- auth: "admin"
23703
+ auth: "protected"
23675
23704
  });
23676
23705
  /**
23677
23706
  * camera-credentials — device-scoped cap exposing the camera's network
@@ -23830,50 +23859,50 @@ DeviceType.Thermostat, DeviceType.Climate, method(object({
23830
23859
  mode: HvacModeSchema
23831
23860
  }), _void(), {
23832
23861
  kind: "mutation",
23833
- auth: "admin"
23862
+ auth: "protected"
23834
23863
  }), method(object({
23835
23864
  deviceId: number().int().nonnegative(),
23836
23865
  fanMode: string().min(1)
23837
23866
  }), _void(), {
23838
23867
  kind: "mutation",
23839
- auth: "admin"
23868
+ auth: "protected"
23840
23869
  }), method(object({
23841
23870
  deviceId: number().int().nonnegative(),
23842
23871
  preset: string().min(1)
23843
23872
  }), _void(), {
23844
23873
  kind: "mutation",
23845
- auth: "admin"
23874
+ auth: "protected"
23846
23875
  }), method(object({
23847
23876
  deviceId: number().int().nonnegative(),
23848
23877
  target: number()
23849
23878
  }), _void(), {
23850
23879
  kind: "mutation",
23851
- auth: "admin"
23880
+ auth: "protected"
23852
23881
  }), method(object({
23853
23882
  deviceId: number().int().nonnegative(),
23854
23883
  targetLow: number(),
23855
23884
  targetHigh: number()
23856
23885
  }), _void(), {
23857
23886
  kind: "mutation",
23858
- auth: "admin"
23887
+ auth: "protected"
23859
23888
  }), method(object({
23860
23889
  deviceId: number().int().nonnegative(),
23861
23890
  targetHumidity: number().min(0).max(100)
23862
23891
  }), _void(), {
23863
23892
  kind: "mutation",
23864
- auth: "admin"
23893
+ auth: "protected"
23865
23894
  }), method(object({
23866
23895
  deviceId: number().int().nonnegative(),
23867
23896
  on: boolean()
23868
23897
  }), _void(), {
23869
23898
  kind: "mutation",
23870
- auth: "admin"
23899
+ auth: "protected"
23871
23900
  }), method(object({
23872
23901
  deviceId: number().int().nonnegative(),
23873
23902
  on: boolean()
23874
23903
  }), _void(), {
23875
23904
  kind: "mutation",
23876
- auth: "admin"
23905
+ auth: "protected"
23877
23906
  });
23878
23907
  /**
23879
23908
  * Color-light cap. Coexists with `switch` (on/off) and `brightness`
@@ -23948,7 +23977,7 @@ DeviceType.Light, method(object({
23948
23977
  color: ColorInputSchema
23949
23978
  }), _void(), {
23950
23979
  kind: "mutation",
23951
- auth: "admin"
23980
+ auth: "protected"
23952
23981
  }), object({
23953
23982
  deviceId: number(),
23954
23983
  mode: _enum([
@@ -24097,7 +24126,7 @@ DeviceType.Control, method(object({
24097
24126
  control: ControlSetValueInputSchema
24098
24127
  }), _void(), {
24099
24128
  kind: "mutation",
24100
- auth: "admin"
24129
+ auth: "protected"
24101
24130
  });
24102
24131
  object({
24103
24132
  /** Lifecycle state of the cover. */
@@ -24118,25 +24147,25 @@ object({
24118
24147
  });
24119
24148
  DeviceType.Cover, method(object({ deviceId: number().int().nonnegative() }), _void(), {
24120
24149
  kind: "mutation",
24121
- auth: "admin"
24150
+ auth: "protected"
24122
24151
  }), method(object({ deviceId: number().int().nonnegative() }), _void(), {
24123
24152
  kind: "mutation",
24124
- auth: "admin"
24153
+ auth: "protected"
24125
24154
  }), method(object({ deviceId: number().int().nonnegative() }), _void(), {
24126
24155
  kind: "mutation",
24127
- auth: "admin"
24156
+ auth: "protected"
24128
24157
  }), method(object({
24129
24158
  deviceId: number().int().nonnegative(),
24130
24159
  position: number().min(0).max(100)
24131
24160
  }), _void(), {
24132
24161
  kind: "mutation",
24133
- auth: "admin"
24162
+ auth: "protected"
24134
24163
  }), method(object({
24135
24164
  deviceId: number().int().nonnegative(),
24136
24165
  tiltPosition: number().min(0).max(100)
24137
24166
  }), _void(), {
24138
24167
  kind: "mutation",
24139
- auth: "admin"
24168
+ auth: "protected"
24140
24169
  });
24141
24170
  /**
24142
24171
  * Vendor-neutral day/night (IR-cut) control — the per-camera config cap
@@ -24731,25 +24760,25 @@ DeviceType.Fan, method(object({
24731
24760
  percentage: number().min(0).max(100)
24732
24761
  }), _void(), {
24733
24762
  kind: "mutation",
24734
- auth: "admin"
24763
+ auth: "protected"
24735
24764
  }), method(object({
24736
24765
  deviceId: number().int().nonnegative(),
24737
24766
  preset: string().min(1)
24738
24767
  }), _void(), {
24739
24768
  kind: "mutation",
24740
- auth: "admin"
24769
+ auth: "protected"
24741
24770
  }), method(object({
24742
24771
  deviceId: number().int().nonnegative(),
24743
24772
  direction: FanDirectionSchema
24744
24773
  }), _void(), {
24745
24774
  kind: "mutation",
24746
- auth: "admin"
24775
+ auth: "protected"
24747
24776
  }), method(object({
24748
24777
  deviceId: number().int().nonnegative(),
24749
24778
  oscillating: boolean()
24750
24779
  }), _void(), {
24751
24780
  kind: "mutation",
24752
- auth: "admin"
24781
+ auth: "protected"
24753
24782
  });
24754
24783
  /**
24755
24784
  * Per-device feature/identity probe slice. Holds the runtime-resolved
@@ -24852,19 +24881,19 @@ DeviceType.Humidifier, method(object({
24852
24881
  on: boolean()
24853
24882
  }), _void(), {
24854
24883
  kind: "mutation",
24855
- auth: "admin"
24884
+ auth: "protected"
24856
24885
  }), method(object({
24857
24886
  deviceId: number().int().nonnegative(),
24858
24887
  humidity: number().min(0).max(100)
24859
24888
  }), _void(), {
24860
24889
  kind: "mutation",
24861
- auth: "admin"
24890
+ auth: "protected"
24862
24891
  }), method(object({
24863
24892
  deviceId: number().int().nonnegative(),
24864
24893
  mode: string().min(1)
24865
24894
  }), _void(), {
24866
24895
  kind: "mutation",
24867
- auth: "admin"
24896
+ auth: "protected"
24868
24897
  });
24869
24898
  object({
24870
24899
  /** Current relative humidity, 0..100. */
@@ -25326,13 +25355,13 @@ object({
25326
25355
  });
25327
25356
  DeviceType.LawnMower, method(object({ deviceId: number().int().nonnegative() }), _void(), {
25328
25357
  kind: "mutation",
25329
- auth: "admin"
25358
+ auth: "protected"
25330
25359
  }), method(object({ deviceId: number().int().nonnegative() }), _void(), {
25331
25360
  kind: "mutation",
25332
- auth: "admin"
25361
+ auth: "protected"
25333
25362
  }), method(object({ deviceId: number().int().nonnegative() }), _void(), {
25334
25363
  kind: "mutation",
25335
- auth: "admin"
25364
+ auth: "protected"
25336
25365
  });
25337
25366
  /**
25338
25367
  * local-network — hub-only singleton.
@@ -25592,16 +25621,16 @@ DeviceType.Lock, method(object({
25592
25621
  code: string().min(1).optional()
25593
25622
  }), _void(), {
25594
25623
  kind: "mutation",
25595
- auth: "admin"
25624
+ auth: "protected"
25596
25625
  }), method(object({
25597
25626
  deviceId: number().int().nonnegative(),
25598
25627
  code: string().min(1).optional()
25599
25628
  }), _void(), {
25600
25629
  kind: "mutation",
25601
- auth: "admin"
25630
+ auth: "protected"
25602
25631
  }), method(object({ deviceId: number().int().nonnegative() }), _void(), {
25603
25632
  kind: "mutation",
25604
- auth: "admin"
25633
+ auth: "protected"
25605
25634
  });
25606
25635
  /**
25607
25636
  * Media-player cap. Models HA `media_player.*` (Sonos, Chromecast,
@@ -25675,55 +25704,55 @@ object({
25675
25704
  });
25676
25705
  DeviceType.MediaPlayer, method(object({ deviceId: number().int().nonnegative() }), _void(), {
25677
25706
  kind: "mutation",
25678
- auth: "admin"
25707
+ auth: "protected"
25679
25708
  }), method(object({ deviceId: number().int().nonnegative() }), _void(), {
25680
25709
  kind: "mutation",
25681
- auth: "admin"
25710
+ auth: "protected"
25682
25711
  }), method(object({ deviceId: number().int().nonnegative() }), _void(), {
25683
25712
  kind: "mutation",
25684
- auth: "admin"
25713
+ auth: "protected"
25685
25714
  }), method(object({ deviceId: number().int().nonnegative() }), _void(), {
25686
25715
  kind: "mutation",
25687
- auth: "admin"
25716
+ auth: "protected"
25688
25717
  }), method(object({ deviceId: number().int().nonnegative() }), _void(), {
25689
25718
  kind: "mutation",
25690
- auth: "admin"
25719
+ auth: "protected"
25691
25720
  }), method(object({
25692
25721
  deviceId: number().int().nonnegative(),
25693
25722
  positionMs: number().int().nonnegative()
25694
25723
  }), _void(), {
25695
25724
  kind: "mutation",
25696
- auth: "admin"
25725
+ auth: "protected"
25697
25726
  }), method(object({
25698
25727
  deviceId: number().int().nonnegative(),
25699
25728
  volumeLevel: number().min(0).max(100)
25700
25729
  }), _void(), {
25701
25730
  kind: "mutation",
25702
- auth: "admin"
25731
+ auth: "protected"
25703
25732
  }), method(object({
25704
25733
  deviceId: number().int().nonnegative(),
25705
25734
  muted: boolean()
25706
25735
  }), _void(), {
25707
25736
  kind: "mutation",
25708
- auth: "admin"
25737
+ auth: "protected"
25709
25738
  }), method(object({
25710
25739
  deviceId: number().int().nonnegative(),
25711
25740
  shuffle: boolean()
25712
25741
  }), _void(), {
25713
25742
  kind: "mutation",
25714
- auth: "admin"
25743
+ auth: "protected"
25715
25744
  }), method(object({
25716
25745
  deviceId: number().int().nonnegative(),
25717
25746
  repeat: MediaPlayerRepeatSchema
25718
25747
  }), _void(), {
25719
25748
  kind: "mutation",
25720
- auth: "admin"
25749
+ auth: "protected"
25721
25750
  }), method(object({
25722
25751
  deviceId: number().int().nonnegative(),
25723
25752
  source: string().min(1)
25724
25753
  }), _void(), {
25725
25754
  kind: "mutation",
25726
- auth: "admin"
25755
+ auth: "protected"
25727
25756
  }), method(object({
25728
25757
  deviceId: number().int().nonnegative(),
25729
25758
  /** Media identifier / URL. */
@@ -25733,7 +25762,7 @@ DeviceType.MediaPlayer, method(object({ deviceId: number().int().nonnegative() }
25733
25762
  mediaType: string().min(1)
25734
25763
  }), _void(), {
25735
25764
  kind: "mutation",
25736
- auth: "admin"
25765
+ auth: "protected"
25737
25766
  });
25738
25767
  /**
25739
25768
  * mesh-network — collection cap for mesh-VPN providers.
@@ -26899,49 +26928,49 @@ DeviceType.PetFeeder, method(object({
26899
26928
  hopper2: gramsPortion.optional()
26900
26929
  }), _void(), {
26901
26930
  kind: "mutation",
26902
- auth: "admin"
26931
+ auth: "protected"
26903
26932
  }), method(object({ deviceId: number().int().nonnegative() }), _void(), {
26904
26933
  kind: "mutation",
26905
- auth: "admin"
26934
+ auth: "protected"
26906
26935
  }), method(object({ deviceId: number().int().nonnegative() }), _void(), {
26907
26936
  kind: "mutation",
26908
- auth: "admin"
26937
+ auth: "protected"
26909
26938
  }), method(object({ deviceId: number().int().nonnegative() }), _void(), {
26910
26939
  kind: "mutation",
26911
- auth: "admin"
26940
+ auth: "protected"
26912
26941
  }), method(object({ deviceId: number().int().nonnegative() }), _void(), {
26913
26942
  kind: "mutation",
26914
- auth: "admin"
26943
+ auth: "protected"
26915
26944
  }), method(object({
26916
26945
  deviceId: number().int().nonnegative(),
26917
26946
  soundId: number().int().nonnegative()
26918
26947
  }), _void(), {
26919
26948
  kind: "mutation",
26920
- auth: "admin"
26949
+ auth: "protected"
26921
26950
  }), method(object({
26922
26951
  deviceId: number().int().nonnegative(),
26923
26952
  on: boolean()
26924
26953
  }), _void(), {
26925
26954
  kind: "mutation",
26926
- auth: "admin"
26955
+ auth: "protected"
26927
26956
  }), method(object({
26928
26957
  deviceId: number().int().nonnegative(),
26929
26958
  on: boolean()
26930
26959
  }), _void(), {
26931
26960
  kind: "mutation",
26932
- auth: "admin"
26961
+ auth: "protected"
26933
26962
  }), method(object({
26934
26963
  deviceId: number().int().nonnegative(),
26935
26964
  on: boolean()
26936
26965
  }), _void(), {
26937
26966
  kind: "mutation",
26938
- auth: "admin"
26967
+ auth: "protected"
26939
26968
  }), method(object({
26940
26969
  deviceId: number().int().nonnegative(),
26941
26970
  level: number().int().nonnegative()
26942
26971
  }), _void(), {
26943
26972
  kind: "mutation",
26944
- auth: "admin"
26973
+ auth: "protected"
26945
26974
  });
26946
26975
  var VehicleSchema = object({
26947
26976
  id: string(),
@@ -28728,7 +28757,7 @@ DeviceType.Switch, DeviceType.Siren, DeviceType.Light, method(object({
28728
28757
  on: boolean()
28729
28758
  }), _void(), {
28730
28759
  kind: "mutation",
28731
- auth: "admin"
28760
+ auth: "protected"
28732
28761
  }), object({
28733
28762
  deviceId: number(),
28734
28763
  on: boolean(),
@@ -29585,25 +29614,25 @@ object({
29585
29614
  });
29586
29615
  DeviceType.Vacuum, method(object({ deviceId: number().int().nonnegative() }), _void(), {
29587
29616
  kind: "mutation",
29588
- auth: "admin"
29617
+ auth: "protected"
29589
29618
  }), method(object({ deviceId: number().int().nonnegative() }), _void(), {
29590
29619
  kind: "mutation",
29591
- auth: "admin"
29620
+ auth: "protected"
29592
29621
  }), method(object({ deviceId: number().int().nonnegative() }), _void(), {
29593
29622
  kind: "mutation",
29594
- auth: "admin"
29623
+ auth: "protected"
29595
29624
  }), method(object({ deviceId: number().int().nonnegative() }), _void(), {
29596
29625
  kind: "mutation",
29597
- auth: "admin"
29626
+ auth: "protected"
29598
29627
  }), method(object({ deviceId: number().int().nonnegative() }), _void(), {
29599
29628
  kind: "mutation",
29600
- auth: "admin"
29629
+ auth: "protected"
29601
29630
  }), method(object({
29602
29631
  deviceId: number().int().nonnegative(),
29603
29632
  speed: string().min(1)
29604
29633
  }), _void(), {
29605
29634
  kind: "mutation",
29606
- auth: "admin"
29635
+ auth: "protected"
29607
29636
  });
29608
29637
  object({
29609
29638
  /** Lifecycle state of the valve. */
@@ -29622,19 +29651,19 @@ object({
29622
29651
  });
29623
29652
  DeviceType.Valve, method(object({ deviceId: number().int().nonnegative() }), _void(), {
29624
29653
  kind: "mutation",
29625
- auth: "admin"
29654
+ auth: "protected"
29626
29655
  }), method(object({ deviceId: number().int().nonnegative() }), _void(), {
29627
29656
  kind: "mutation",
29628
- auth: "admin"
29657
+ auth: "protected"
29629
29658
  }), method(object({ deviceId: number().int().nonnegative() }), _void(), {
29630
29659
  kind: "mutation",
29631
- auth: "admin"
29660
+ auth: "protected"
29632
29661
  }), method(object({
29633
29662
  deviceId: number().int().nonnegative(),
29634
29663
  position: number().min(0).max(100)
29635
29664
  }), _void(), {
29636
29665
  kind: "mutation",
29637
- auth: "admin"
29666
+ auth: "protected"
29638
29667
  });
29639
29668
  object({
29640
29669
  detected: boolean(),
@@ -29668,19 +29697,19 @@ DeviceType.WaterHeater, method(object({
29668
29697
  temp: number().finite()
29669
29698
  }), _void(), {
29670
29699
  kind: "mutation",
29671
- auth: "admin"
29700
+ auth: "protected"
29672
29701
  }), method(object({
29673
29702
  deviceId: number().int().nonnegative(),
29674
29703
  mode: string().min(1)
29675
29704
  }), _void(), {
29676
29705
  kind: "mutation",
29677
- auth: "admin"
29706
+ auth: "protected"
29678
29707
  }), method(object({
29679
29708
  deviceId: number().int().nonnegative(),
29680
29709
  on: boolean()
29681
29710
  }), _void(), {
29682
29711
  kind: "mutation",
29683
- auth: "admin"
29712
+ auth: "protected"
29684
29713
  });
29685
29714
  object({
29686
29715
  /** Verbatim HA condition state (`sunny`, `cloudy`, `rainy`, …). Null
@@ -33308,6 +33337,12 @@ Object.freeze({
33308
33337
  addonId: null,
33309
33338
  access: "view"
33310
33339
  },
33340
+ "pipelineAnalytics.listArchivedDebugNotes": {
33341
+ capName: "pipeline-analytics",
33342
+ capScope: "device",
33343
+ addonId: null,
33344
+ access: "view"
33345
+ },
33311
33346
  "pipelineAnalytics.listEventKinds": {
33312
33347
  capName: "pipeline-analytics",
33313
33348
  capScope: "device",
@@ -37095,6 +37130,11 @@ Object.freeze({
37095
37130
  form: "array",
37096
37131
  optional: true
37097
37132
  }],
37133
+ "pipelineAnalytics.listArchivedDebugNotes": [{
37134
+ name: "deviceId",
37135
+ form: "single",
37136
+ optional: true
37137
+ }],
37098
37138
  "pipelineAnalytics.listEventKinds": [{
37099
37139
  name: "deviceId",
37100
37140
  form: "single",
package/dist/addon.mjs CHANGED
@@ -7733,6 +7733,35 @@ var CameraSwitchGroupSchema = object({
7733
7733
  /** Unix ms when the group was composed server-side. */
7734
7734
  fetchedAt: number()
7735
7735
  });
7736
+ /** One archived note — the operator's words plus enough context to find what
7737
+ * they were looking at, after the track itself is gone. */
7738
+ var ArchivedDebugNoteSchema = object({
7739
+ /** Archive row id. Derived from `(sourceTrackId, note)`, so re-archiving the
7740
+ * same sentence about the same track lands on the row already there. */
7741
+ id: string(),
7742
+ /** The operator's own words, verbatim. */
7743
+ note: string(),
7744
+ /** The camera. Required — every question here is asked per-camera. */
7745
+ deviceId: number().int(),
7746
+ /** The track the note was written on. PROVENANCE, not ownership: the track
7747
+ * is expected to be gone, and this row is not a reference to it. */
7748
+ sourceTrackId: string(),
7749
+ /** Epoch ms the note was moved here, i.e. when the operator reviewed it. */
7750
+ archivedAt: number().int(),
7751
+ /** The track's `firstSeen`, when the row still knew it; `null` otherwise. */
7752
+ trackStartedAt: number().int().nullable(),
7753
+ /** The track's detector class (`person`, `car`, …); `null` when unknown. */
7754
+ trackClass: string().nullable(),
7755
+ /** The track's display label at review time; `null` when it had none. */
7756
+ trackLabel: string().nullable()
7757
+ });
7758
+ /** Query input for `listArchivedDebugNotes` — newest first, one camera or all. */
7759
+ var ArchivedDebugNoteQueryInputSchema = object({
7760
+ /** Restrict to a single camera; omit for every row. */
7761
+ deviceId: number().int().optional(),
7762
+ /** Max rows returned, newest-first. */
7763
+ limit: number().int().min(1).max(1e3).optional()
7764
+ });
7736
7765
  /**
7737
7766
  * Ops-log — the durable, append-only operations audit shared by the
7738
7767
  * recordings and events management surfaces.
@@ -15972,16 +16001,16 @@ DeviceType.AlarmPanel, method(object({
15972
16001
  code: string().min(1).optional()
15973
16002
  }), _void(), {
15974
16003
  kind: "mutation",
15975
- auth: "admin"
16004
+ auth: "protected"
15976
16005
  }), method(object({
15977
16006
  deviceId: number().int().nonnegative(),
15978
16007
  code: string().min(1).optional()
15979
16008
  }), _void(), {
15980
16009
  kind: "mutation",
15981
- auth: "admin"
16010
+ auth: "protected"
15982
16011
  }), method(object({ deviceId: number().int().nonnegative() }), _void(), {
15983
16012
  kind: "mutation",
15984
- auth: "admin"
16013
+ auth: "protected"
15985
16014
  });
15986
16015
  /**
15987
16016
  * Shared geometry vocabulary for on-frame shape caps — privacy-mask,
@@ -19883,7 +19912,7 @@ DeviceType.Camera, method(object({ deviceId: number() }), array(TrackSchema).rea
19883
19912
  deviceId: number(),
19884
19913
  trackId: string(),
19885
19914
  flags: TrackFlagsPatchSchema
19886
- }), TrackFlagsSchema, { kind: "mutation" }), method(object({}), EventStoreFootprintSchema, {
19915
+ }), TrackFlagsSchema, { kind: "mutation" }), method(ArchivedDebugNoteQueryInputSchema, array(ArchivedDebugNoteSchema).readonly(), { kind: "query" }), method(object({}), EventStoreFootprintSchema, {
19887
19916
  kind: "query",
19888
19917
  auth: "admin"
19889
19918
  }), method(object({ deviceId: number().int().optional() }), EventMediaKindBreakdownSchema, {
@@ -23636,7 +23665,7 @@ DeviceType.Light, method(object({
23636
23665
  percentage: number().min(0).max(100)
23637
23666
  }), _void(), {
23638
23667
  kind: "mutation",
23639
- auth: "admin"
23668
+ auth: "protected"
23640
23669
  }), object({
23641
23670
  deviceId: number(),
23642
23671
  percentage: number().min(0).max(100),
@@ -23644,7 +23673,7 @@ DeviceType.Light, method(object({
23644
23673
  });
23645
23674
  DeviceType.Button, method(object({ deviceId: number().int().nonnegative() }), _void(), {
23646
23675
  kind: "mutation",
23647
- auth: "admin"
23676
+ auth: "protected"
23648
23677
  });
23649
23678
  /**
23650
23679
  * camera-credentials — device-scoped cap exposing the camera's network
@@ -23803,50 +23832,50 @@ DeviceType.Thermostat, DeviceType.Climate, method(object({
23803
23832
  mode: HvacModeSchema
23804
23833
  }), _void(), {
23805
23834
  kind: "mutation",
23806
- auth: "admin"
23835
+ auth: "protected"
23807
23836
  }), method(object({
23808
23837
  deviceId: number().int().nonnegative(),
23809
23838
  fanMode: string().min(1)
23810
23839
  }), _void(), {
23811
23840
  kind: "mutation",
23812
- auth: "admin"
23841
+ auth: "protected"
23813
23842
  }), method(object({
23814
23843
  deviceId: number().int().nonnegative(),
23815
23844
  preset: string().min(1)
23816
23845
  }), _void(), {
23817
23846
  kind: "mutation",
23818
- auth: "admin"
23847
+ auth: "protected"
23819
23848
  }), method(object({
23820
23849
  deviceId: number().int().nonnegative(),
23821
23850
  target: number()
23822
23851
  }), _void(), {
23823
23852
  kind: "mutation",
23824
- auth: "admin"
23853
+ auth: "protected"
23825
23854
  }), method(object({
23826
23855
  deviceId: number().int().nonnegative(),
23827
23856
  targetLow: number(),
23828
23857
  targetHigh: number()
23829
23858
  }), _void(), {
23830
23859
  kind: "mutation",
23831
- auth: "admin"
23860
+ auth: "protected"
23832
23861
  }), method(object({
23833
23862
  deviceId: number().int().nonnegative(),
23834
23863
  targetHumidity: number().min(0).max(100)
23835
23864
  }), _void(), {
23836
23865
  kind: "mutation",
23837
- auth: "admin"
23866
+ auth: "protected"
23838
23867
  }), method(object({
23839
23868
  deviceId: number().int().nonnegative(),
23840
23869
  on: boolean()
23841
23870
  }), _void(), {
23842
23871
  kind: "mutation",
23843
- auth: "admin"
23872
+ auth: "protected"
23844
23873
  }), method(object({
23845
23874
  deviceId: number().int().nonnegative(),
23846
23875
  on: boolean()
23847
23876
  }), _void(), {
23848
23877
  kind: "mutation",
23849
- auth: "admin"
23878
+ auth: "protected"
23850
23879
  });
23851
23880
  /**
23852
23881
  * Color-light cap. Coexists with `switch` (on/off) and `brightness`
@@ -23921,7 +23950,7 @@ DeviceType.Light, method(object({
23921
23950
  color: ColorInputSchema
23922
23951
  }), _void(), {
23923
23952
  kind: "mutation",
23924
- auth: "admin"
23953
+ auth: "protected"
23925
23954
  }), object({
23926
23955
  deviceId: number(),
23927
23956
  mode: _enum([
@@ -24070,7 +24099,7 @@ DeviceType.Control, method(object({
24070
24099
  control: ControlSetValueInputSchema
24071
24100
  }), _void(), {
24072
24101
  kind: "mutation",
24073
- auth: "admin"
24102
+ auth: "protected"
24074
24103
  });
24075
24104
  object({
24076
24105
  /** Lifecycle state of the cover. */
@@ -24091,25 +24120,25 @@ object({
24091
24120
  });
24092
24121
  DeviceType.Cover, method(object({ deviceId: number().int().nonnegative() }), _void(), {
24093
24122
  kind: "mutation",
24094
- auth: "admin"
24123
+ auth: "protected"
24095
24124
  }), method(object({ deviceId: number().int().nonnegative() }), _void(), {
24096
24125
  kind: "mutation",
24097
- auth: "admin"
24126
+ auth: "protected"
24098
24127
  }), method(object({ deviceId: number().int().nonnegative() }), _void(), {
24099
24128
  kind: "mutation",
24100
- auth: "admin"
24129
+ auth: "protected"
24101
24130
  }), method(object({
24102
24131
  deviceId: number().int().nonnegative(),
24103
24132
  position: number().min(0).max(100)
24104
24133
  }), _void(), {
24105
24134
  kind: "mutation",
24106
- auth: "admin"
24135
+ auth: "protected"
24107
24136
  }), method(object({
24108
24137
  deviceId: number().int().nonnegative(),
24109
24138
  tiltPosition: number().min(0).max(100)
24110
24139
  }), _void(), {
24111
24140
  kind: "mutation",
24112
- auth: "admin"
24141
+ auth: "protected"
24113
24142
  });
24114
24143
  /**
24115
24144
  * Vendor-neutral day/night (IR-cut) control — the per-camera config cap
@@ -24704,25 +24733,25 @@ DeviceType.Fan, method(object({
24704
24733
  percentage: number().min(0).max(100)
24705
24734
  }), _void(), {
24706
24735
  kind: "mutation",
24707
- auth: "admin"
24736
+ auth: "protected"
24708
24737
  }), method(object({
24709
24738
  deviceId: number().int().nonnegative(),
24710
24739
  preset: string().min(1)
24711
24740
  }), _void(), {
24712
24741
  kind: "mutation",
24713
- auth: "admin"
24742
+ auth: "protected"
24714
24743
  }), method(object({
24715
24744
  deviceId: number().int().nonnegative(),
24716
24745
  direction: FanDirectionSchema
24717
24746
  }), _void(), {
24718
24747
  kind: "mutation",
24719
- auth: "admin"
24748
+ auth: "protected"
24720
24749
  }), method(object({
24721
24750
  deviceId: number().int().nonnegative(),
24722
24751
  oscillating: boolean()
24723
24752
  }), _void(), {
24724
24753
  kind: "mutation",
24725
- auth: "admin"
24754
+ auth: "protected"
24726
24755
  });
24727
24756
  /**
24728
24757
  * Per-device feature/identity probe slice. Holds the runtime-resolved
@@ -24825,19 +24854,19 @@ DeviceType.Humidifier, method(object({
24825
24854
  on: boolean()
24826
24855
  }), _void(), {
24827
24856
  kind: "mutation",
24828
- auth: "admin"
24857
+ auth: "protected"
24829
24858
  }), method(object({
24830
24859
  deviceId: number().int().nonnegative(),
24831
24860
  humidity: number().min(0).max(100)
24832
24861
  }), _void(), {
24833
24862
  kind: "mutation",
24834
- auth: "admin"
24863
+ auth: "protected"
24835
24864
  }), method(object({
24836
24865
  deviceId: number().int().nonnegative(),
24837
24866
  mode: string().min(1)
24838
24867
  }), _void(), {
24839
24868
  kind: "mutation",
24840
- auth: "admin"
24869
+ auth: "protected"
24841
24870
  });
24842
24871
  object({
24843
24872
  /** Current relative humidity, 0..100. */
@@ -25299,13 +25328,13 @@ object({
25299
25328
  });
25300
25329
  DeviceType.LawnMower, method(object({ deviceId: number().int().nonnegative() }), _void(), {
25301
25330
  kind: "mutation",
25302
- auth: "admin"
25331
+ auth: "protected"
25303
25332
  }), method(object({ deviceId: number().int().nonnegative() }), _void(), {
25304
25333
  kind: "mutation",
25305
- auth: "admin"
25334
+ auth: "protected"
25306
25335
  }), method(object({ deviceId: number().int().nonnegative() }), _void(), {
25307
25336
  kind: "mutation",
25308
- auth: "admin"
25337
+ auth: "protected"
25309
25338
  });
25310
25339
  /**
25311
25340
  * local-network — hub-only singleton.
@@ -25565,16 +25594,16 @@ DeviceType.Lock, method(object({
25565
25594
  code: string().min(1).optional()
25566
25595
  }), _void(), {
25567
25596
  kind: "mutation",
25568
- auth: "admin"
25597
+ auth: "protected"
25569
25598
  }), method(object({
25570
25599
  deviceId: number().int().nonnegative(),
25571
25600
  code: string().min(1).optional()
25572
25601
  }), _void(), {
25573
25602
  kind: "mutation",
25574
- auth: "admin"
25603
+ auth: "protected"
25575
25604
  }), method(object({ deviceId: number().int().nonnegative() }), _void(), {
25576
25605
  kind: "mutation",
25577
- auth: "admin"
25606
+ auth: "protected"
25578
25607
  });
25579
25608
  /**
25580
25609
  * Media-player cap. Models HA `media_player.*` (Sonos, Chromecast,
@@ -25648,55 +25677,55 @@ object({
25648
25677
  });
25649
25678
  DeviceType.MediaPlayer, method(object({ deviceId: number().int().nonnegative() }), _void(), {
25650
25679
  kind: "mutation",
25651
- auth: "admin"
25680
+ auth: "protected"
25652
25681
  }), method(object({ deviceId: number().int().nonnegative() }), _void(), {
25653
25682
  kind: "mutation",
25654
- auth: "admin"
25683
+ auth: "protected"
25655
25684
  }), method(object({ deviceId: number().int().nonnegative() }), _void(), {
25656
25685
  kind: "mutation",
25657
- auth: "admin"
25686
+ auth: "protected"
25658
25687
  }), method(object({ deviceId: number().int().nonnegative() }), _void(), {
25659
25688
  kind: "mutation",
25660
- auth: "admin"
25689
+ auth: "protected"
25661
25690
  }), method(object({ deviceId: number().int().nonnegative() }), _void(), {
25662
25691
  kind: "mutation",
25663
- auth: "admin"
25692
+ auth: "protected"
25664
25693
  }), method(object({
25665
25694
  deviceId: number().int().nonnegative(),
25666
25695
  positionMs: number().int().nonnegative()
25667
25696
  }), _void(), {
25668
25697
  kind: "mutation",
25669
- auth: "admin"
25698
+ auth: "protected"
25670
25699
  }), method(object({
25671
25700
  deviceId: number().int().nonnegative(),
25672
25701
  volumeLevel: number().min(0).max(100)
25673
25702
  }), _void(), {
25674
25703
  kind: "mutation",
25675
- auth: "admin"
25704
+ auth: "protected"
25676
25705
  }), method(object({
25677
25706
  deviceId: number().int().nonnegative(),
25678
25707
  muted: boolean()
25679
25708
  }), _void(), {
25680
25709
  kind: "mutation",
25681
- auth: "admin"
25710
+ auth: "protected"
25682
25711
  }), method(object({
25683
25712
  deviceId: number().int().nonnegative(),
25684
25713
  shuffle: boolean()
25685
25714
  }), _void(), {
25686
25715
  kind: "mutation",
25687
- auth: "admin"
25716
+ auth: "protected"
25688
25717
  }), method(object({
25689
25718
  deviceId: number().int().nonnegative(),
25690
25719
  repeat: MediaPlayerRepeatSchema
25691
25720
  }), _void(), {
25692
25721
  kind: "mutation",
25693
- auth: "admin"
25722
+ auth: "protected"
25694
25723
  }), method(object({
25695
25724
  deviceId: number().int().nonnegative(),
25696
25725
  source: string().min(1)
25697
25726
  }), _void(), {
25698
25727
  kind: "mutation",
25699
- auth: "admin"
25728
+ auth: "protected"
25700
25729
  }), method(object({
25701
25730
  deviceId: number().int().nonnegative(),
25702
25731
  /** Media identifier / URL. */
@@ -25706,7 +25735,7 @@ DeviceType.MediaPlayer, method(object({ deviceId: number().int().nonnegative() }
25706
25735
  mediaType: string().min(1)
25707
25736
  }), _void(), {
25708
25737
  kind: "mutation",
25709
- auth: "admin"
25738
+ auth: "protected"
25710
25739
  });
25711
25740
  /**
25712
25741
  * mesh-network — collection cap for mesh-VPN providers.
@@ -26872,49 +26901,49 @@ DeviceType.PetFeeder, method(object({
26872
26901
  hopper2: gramsPortion.optional()
26873
26902
  }), _void(), {
26874
26903
  kind: "mutation",
26875
- auth: "admin"
26904
+ auth: "protected"
26876
26905
  }), method(object({ deviceId: number().int().nonnegative() }), _void(), {
26877
26906
  kind: "mutation",
26878
- auth: "admin"
26907
+ auth: "protected"
26879
26908
  }), method(object({ deviceId: number().int().nonnegative() }), _void(), {
26880
26909
  kind: "mutation",
26881
- auth: "admin"
26910
+ auth: "protected"
26882
26911
  }), method(object({ deviceId: number().int().nonnegative() }), _void(), {
26883
26912
  kind: "mutation",
26884
- auth: "admin"
26913
+ auth: "protected"
26885
26914
  }), method(object({ deviceId: number().int().nonnegative() }), _void(), {
26886
26915
  kind: "mutation",
26887
- auth: "admin"
26916
+ auth: "protected"
26888
26917
  }), method(object({
26889
26918
  deviceId: number().int().nonnegative(),
26890
26919
  soundId: number().int().nonnegative()
26891
26920
  }), _void(), {
26892
26921
  kind: "mutation",
26893
- auth: "admin"
26922
+ auth: "protected"
26894
26923
  }), method(object({
26895
26924
  deviceId: number().int().nonnegative(),
26896
26925
  on: boolean()
26897
26926
  }), _void(), {
26898
26927
  kind: "mutation",
26899
- auth: "admin"
26928
+ auth: "protected"
26900
26929
  }), method(object({
26901
26930
  deviceId: number().int().nonnegative(),
26902
26931
  on: boolean()
26903
26932
  }), _void(), {
26904
26933
  kind: "mutation",
26905
- auth: "admin"
26934
+ auth: "protected"
26906
26935
  }), method(object({
26907
26936
  deviceId: number().int().nonnegative(),
26908
26937
  on: boolean()
26909
26938
  }), _void(), {
26910
26939
  kind: "mutation",
26911
- auth: "admin"
26940
+ auth: "protected"
26912
26941
  }), method(object({
26913
26942
  deviceId: number().int().nonnegative(),
26914
26943
  level: number().int().nonnegative()
26915
26944
  }), _void(), {
26916
26945
  kind: "mutation",
26917
- auth: "admin"
26946
+ auth: "protected"
26918
26947
  });
26919
26948
  var VehicleSchema = object({
26920
26949
  id: string(),
@@ -28701,7 +28730,7 @@ DeviceType.Switch, DeviceType.Siren, DeviceType.Light, method(object({
28701
28730
  on: boolean()
28702
28731
  }), _void(), {
28703
28732
  kind: "mutation",
28704
- auth: "admin"
28733
+ auth: "protected"
28705
28734
  }), object({
28706
28735
  deviceId: number(),
28707
28736
  on: boolean(),
@@ -29558,25 +29587,25 @@ object({
29558
29587
  });
29559
29588
  DeviceType.Vacuum, method(object({ deviceId: number().int().nonnegative() }), _void(), {
29560
29589
  kind: "mutation",
29561
- auth: "admin"
29590
+ auth: "protected"
29562
29591
  }), method(object({ deviceId: number().int().nonnegative() }), _void(), {
29563
29592
  kind: "mutation",
29564
- auth: "admin"
29593
+ auth: "protected"
29565
29594
  }), method(object({ deviceId: number().int().nonnegative() }), _void(), {
29566
29595
  kind: "mutation",
29567
- auth: "admin"
29596
+ auth: "protected"
29568
29597
  }), method(object({ deviceId: number().int().nonnegative() }), _void(), {
29569
29598
  kind: "mutation",
29570
- auth: "admin"
29599
+ auth: "protected"
29571
29600
  }), method(object({ deviceId: number().int().nonnegative() }), _void(), {
29572
29601
  kind: "mutation",
29573
- auth: "admin"
29602
+ auth: "protected"
29574
29603
  }), method(object({
29575
29604
  deviceId: number().int().nonnegative(),
29576
29605
  speed: string().min(1)
29577
29606
  }), _void(), {
29578
29607
  kind: "mutation",
29579
- auth: "admin"
29608
+ auth: "protected"
29580
29609
  });
29581
29610
  object({
29582
29611
  /** Lifecycle state of the valve. */
@@ -29595,19 +29624,19 @@ object({
29595
29624
  });
29596
29625
  DeviceType.Valve, method(object({ deviceId: number().int().nonnegative() }), _void(), {
29597
29626
  kind: "mutation",
29598
- auth: "admin"
29627
+ auth: "protected"
29599
29628
  }), method(object({ deviceId: number().int().nonnegative() }), _void(), {
29600
29629
  kind: "mutation",
29601
- auth: "admin"
29630
+ auth: "protected"
29602
29631
  }), method(object({ deviceId: number().int().nonnegative() }), _void(), {
29603
29632
  kind: "mutation",
29604
- auth: "admin"
29633
+ auth: "protected"
29605
29634
  }), method(object({
29606
29635
  deviceId: number().int().nonnegative(),
29607
29636
  position: number().min(0).max(100)
29608
29637
  }), _void(), {
29609
29638
  kind: "mutation",
29610
- auth: "admin"
29639
+ auth: "protected"
29611
29640
  });
29612
29641
  object({
29613
29642
  detected: boolean(),
@@ -29641,19 +29670,19 @@ DeviceType.WaterHeater, method(object({
29641
29670
  temp: number().finite()
29642
29671
  }), _void(), {
29643
29672
  kind: "mutation",
29644
- auth: "admin"
29673
+ auth: "protected"
29645
29674
  }), method(object({
29646
29675
  deviceId: number().int().nonnegative(),
29647
29676
  mode: string().min(1)
29648
29677
  }), _void(), {
29649
29678
  kind: "mutation",
29650
- auth: "admin"
29679
+ auth: "protected"
29651
29680
  }), method(object({
29652
29681
  deviceId: number().int().nonnegative(),
29653
29682
  on: boolean()
29654
29683
  }), _void(), {
29655
29684
  kind: "mutation",
29656
- auth: "admin"
29685
+ auth: "protected"
29657
29686
  });
29658
29687
  object({
29659
29688
  /** Verbatim HA condition state (`sunny`, `cloudy`, `rainy`, …). Null
@@ -33281,6 +33310,12 @@ Object.freeze({
33281
33310
  addonId: null,
33282
33311
  access: "view"
33283
33312
  },
33313
+ "pipelineAnalytics.listArchivedDebugNotes": {
33314
+ capName: "pipeline-analytics",
33315
+ capScope: "device",
33316
+ addonId: null,
33317
+ access: "view"
33318
+ },
33284
33319
  "pipelineAnalytics.listEventKinds": {
33285
33320
  capName: "pipeline-analytics",
33286
33321
  capScope: "device",
@@ -37068,6 +37103,11 @@ Object.freeze({
37068
37103
  form: "array",
37069
37104
  optional: true
37070
37105
  }],
37106
+ "pipelineAnalytics.listArchivedDebugNotes": [{
37107
+ name: "deviceId",
37108
+ form: "single",
37109
+ optional: true
37110
+ }],
37071
37111
  "pipelineAnalytics.listEventKinds": [{
37072
37112
  name: "deviceId",
37073
37113
  form: "single",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@camstack/addon-notifiers",
3
- "version": "1.2.89",
3
+ "version": "1.2.91",
4
4
  "description": "System notifiers addon for CamStack — a `notification-output` collection provider hosting per-kind notifier adapters (ntfy, pushover, gotify, telegram, discord, webhook, zentik).",
5
5
  "keywords": [
6
6
  "camstack",