@camstack/types 1.1.21 → 1.1.23

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.
@@ -590,7 +590,7 @@ export type AppRouter = import("@trpc/server/unstable-core-do-not-import").Route
590
590
  prefer?: "none" | "videotoolbox" | "cuda" | "nvdec" | "vaapi" | "qsv" | "d3d11va" | "dxva2" | "amf" | "vdpau" | "drm" | null | undefined;
591
591
  } | undefined;
592
592
  output: {
593
- preferred: readonly ("videotoolbox" | "cuda" | "nvdec" | "vaapi" | "qsv" | "d3d11va" | "dxva2" | "amf" | "vdpau" | "drm")[];
593
+ preferred: readonly string[];
594
594
  rationale: string;
595
595
  };
596
596
  meta: object;
@@ -601,7 +601,7 @@ export type AppRouter = import("@trpc/server/unstable-core-do-not-import").Route
601
601
  prefer?: "none" | "videotoolbox" | "cuda" | "nvdec" | "vaapi" | "qsv" | "d3d11va" | "dxva2" | "amf" | "vdpau" | "drm" | null | undefined;
602
602
  };
603
603
  output: {
604
- preferred: readonly ("videotoolbox" | "cuda" | "nvdec" | "vaapi" | "qsv" | "d3d11va" | "dxva2" | "amf" | "vdpau" | "drm")[];
604
+ preferred: readonly string[];
605
605
  rationale: string;
606
606
  };
607
607
  meta: object;
@@ -611,13 +611,29 @@ export type AppRouter = import("@trpc/server/unstable-core-do-not-import").Route
611
611
  output: {
612
612
  nodeId: string;
613
613
  resolution: {
614
- preferred: readonly ("videotoolbox" | "cuda" | "nvdec" | "vaapi" | "qsv" | "d3d11va" | "dxva2" | "amf" | "vdpau" | "drm")[];
614
+ preferred: readonly string[];
615
615
  rationale: string;
616
616
  };
617
617
  }[];
618
618
  meta: object;
619
619
  }>;
620
620
  }>>;
621
+ clusterNodes: import("@trpc/server").TRPCBuiltRouter<{
622
+ ctx: TrpcContext;
623
+ meta: object;
624
+ errorShape: import("@camstack/types").AugmentedErrorShape;
625
+ transformer: true;
626
+ }, import("@trpc/server").TRPCDecorateCreateRouterOptions<{
627
+ forgetNode: import("@trpc/server").TRPCMutationProcedure<{
628
+ input: {
629
+ nodeId: string;
630
+ };
631
+ output: {
632
+ success: boolean;
633
+ };
634
+ meta: object;
635
+ }>;
636
+ }>>;
621
637
  auth: import("@trpc/server").TRPCBuiltRouter<{
622
638
  ctx: TrpcContext;
623
639
  meta: object;
@@ -3510,6 +3526,7 @@ export type AppRouter = import("@trpc/server/unstable-core-do-not-import").Route
3510
3526
  [x: string]: unknown;
3511
3527
  sessionId: string;
3512
3528
  maxCount?: number | undefined;
3529
+ waitMs?: number | undefined;
3513
3530
  };
3514
3531
  output: {
3515
3532
  data: Uint8Array<ArrayBuffer>;
@@ -3525,6 +3542,7 @@ export type AppRouter = import("@trpc/server/unstable-core-do-not-import").Route
3525
3542
  [x: string]: unknown;
3526
3543
  sessionId: string;
3527
3544
  maxCount?: number | undefined;
3545
+ waitMs?: number | undefined;
3528
3546
  };
3529
3547
  output: {
3530
3548
  shmId: string;
@@ -7489,13 +7507,25 @@ export type AppRouter = import("@trpc/server/unstable-core-do-not-import").Route
7489
7507
  input: {
7490
7508
  [x: string]: unknown;
7491
7509
  deviceId: number;
7492
- frame: {
7510
+ frame?: {
7493
7511
  data: Uint8Array<ArrayBufferLike>;
7494
7512
  format: "rgb" | "jpeg" | "bgr" | "yuv420" | "gray";
7495
7513
  width: number;
7496
7514
  height: number;
7497
7515
  timestamp: number;
7498
- };
7516
+ } | undefined;
7517
+ frameHandle?: {
7518
+ shmId: string;
7519
+ slot: number;
7520
+ seq: number;
7521
+ width: number;
7522
+ height: number;
7523
+ format: "rgb" | "jpeg" | "bgr" | "yuv420" | "gray";
7524
+ pts: number;
7525
+ byteLength: number;
7526
+ nodeId: string;
7527
+ slotCount: number;
7528
+ } | undefined;
7499
7529
  };
7500
7530
  output: {
7501
7531
  detected: boolean;
@@ -8419,6 +8449,109 @@ export type AppRouter = import("@trpc/server/unstable-core-do-not-import").Route
8419
8449
  meta: object;
8420
8450
  }>;
8421
8451
  }>>;
8452
+ petFeeder: import("@trpc/server").TRPCBuiltRouter<{
8453
+ ctx: TrpcContext;
8454
+ meta: object;
8455
+ errorShape: import("@camstack/types").AugmentedErrorShape;
8456
+ transformer: true;
8457
+ }, import("@trpc/server").TRPCDecorateCreateRouterOptions<{
8458
+ getStatus: import("@trpc/server").TRPCQueryProcedure<{
8459
+ input: {
8460
+ [x: string]: unknown;
8461
+ deviceId: number;
8462
+ };
8463
+ output: unknown;
8464
+ meta: object;
8465
+ }>;
8466
+ feed: import("@trpc/server").TRPCMutationProcedure<{
8467
+ input: {
8468
+ [x: string]: unknown;
8469
+ deviceId: number;
8470
+ grams?: number | undefined;
8471
+ hopper1?: number | undefined;
8472
+ hopper2?: number | undefined;
8473
+ };
8474
+ output: void;
8475
+ meta: object;
8476
+ }>;
8477
+ cancelFeed: import("@trpc/server").TRPCMutationProcedure<{
8478
+ input: {
8479
+ [x: string]: unknown;
8480
+ deviceId: number;
8481
+ };
8482
+ output: void;
8483
+ meta: object;
8484
+ }>;
8485
+ resetDesiccant: import("@trpc/server").TRPCMutationProcedure<{
8486
+ input: {
8487
+ [x: string]: unknown;
8488
+ deviceId: number;
8489
+ };
8490
+ output: void;
8491
+ meta: object;
8492
+ }>;
8493
+ markFoodReplenished: import("@trpc/server").TRPCMutationProcedure<{
8494
+ input: {
8495
+ [x: string]: unknown;
8496
+ deviceId: number;
8497
+ };
8498
+ output: void;
8499
+ meta: object;
8500
+ }>;
8501
+ callPet: import("@trpc/server").TRPCMutationProcedure<{
8502
+ input: {
8503
+ [x: string]: unknown;
8504
+ deviceId: number;
8505
+ };
8506
+ output: void;
8507
+ meta: object;
8508
+ }>;
8509
+ playSound: import("@trpc/server").TRPCMutationProcedure<{
8510
+ input: {
8511
+ [x: string]: unknown;
8512
+ deviceId: number;
8513
+ soundId: number;
8514
+ };
8515
+ output: void;
8516
+ meta: object;
8517
+ }>;
8518
+ setChildLock: import("@trpc/server").TRPCMutationProcedure<{
8519
+ input: {
8520
+ [x: string]: unknown;
8521
+ deviceId: number;
8522
+ on: boolean;
8523
+ };
8524
+ output: void;
8525
+ meta: object;
8526
+ }>;
8527
+ setIndicatorLight: import("@trpc/server").TRPCMutationProcedure<{
8528
+ input: {
8529
+ [x: string]: unknown;
8530
+ deviceId: number;
8531
+ on: boolean;
8532
+ };
8533
+ output: void;
8534
+ meta: object;
8535
+ }>;
8536
+ setFeedSound: import("@trpc/server").TRPCMutationProcedure<{
8537
+ input: {
8538
+ [x: string]: unknown;
8539
+ deviceId: number;
8540
+ on: boolean;
8541
+ };
8542
+ output: void;
8543
+ meta: object;
8544
+ }>;
8545
+ setVolume: import("@trpc/server").TRPCMutationProcedure<{
8546
+ input: {
8547
+ [x: string]: unknown;
8548
+ deviceId: number;
8549
+ level: number;
8550
+ };
8551
+ output: void;
8552
+ meta: object;
8553
+ }>;
8554
+ }>>;
8422
8555
  pipelineAnalytics: import("@trpc/server").TRPCBuiltRouter<{
8423
8556
  ctx: TrpcContext;
8424
8557
  meta: object;
@@ -9158,6 +9291,18 @@ export type AppRouter = import("@trpc/server/unstable-core-do-not-import").Route
9158
9291
  height: number;
9159
9292
  timestamp: number;
9160
9293
  } | undefined;
9294
+ frameHandle?: {
9295
+ shmId: string;
9296
+ slot: number;
9297
+ seq: number;
9298
+ width: number;
9299
+ height: number;
9300
+ format: "rgb" | "jpeg" | "bgr" | "yuv420" | "gray";
9301
+ pts: number;
9302
+ byteLength: number;
9303
+ nodeId: string;
9304
+ slotCount: number;
9305
+ } | undefined;
9161
9306
  imageBase64?: string | undefined;
9162
9307
  image?: Uint8Array<ArrayBuffer> | undefined;
9163
9308
  referenceImage?: string | undefined;
@@ -10552,10 +10697,10 @@ export type AppRouter = import("@trpc/server/unstable-core-do-not-import").Route
10552
10697
  input: {
10553
10698
  [x: string]: unknown;
10554
10699
  prefer?: "none" | "coreml" | "openvino" | "tensorrt" | "videotoolbox" | "cuda" | "nvdec" | "vaapi" | "qsv" | "d3d11va" | "dxva2" | "amf" | "vdpau" | "drm" | "directml" | "webgpu" | null | undefined;
10555
- nodeId?: string | undefined;
10556
10700
  };
10557
10701
  output: {
10558
10702
  preferred: readonly string[];
10703
+ rationale: string;
10559
10704
  };
10560
10705
  meta: object;
10561
10706
  }>;
@@ -14838,7 +14983,7 @@ export type AppRouter = import("@trpc/server/unstable-core-do-not-import").Route
14838
14983
  prefer?: "none" | "videotoolbox" | "cuda" | "nvdec" | "vaapi" | "qsv" | "d3d11va" | "dxva2" | "amf" | "vdpau" | "drm" | null | undefined;
14839
14984
  } | undefined;
14840
14985
  output: {
14841
- preferred: readonly ("videotoolbox" | "cuda" | "nvdec" | "vaapi" | "qsv" | "d3d11va" | "dxva2" | "amf" | "vdpau" | "drm")[];
14986
+ preferred: readonly string[];
14842
14987
  rationale: string;
14843
14988
  };
14844
14989
  meta: object;
@@ -14849,7 +14994,7 @@ export type AppRouter = import("@trpc/server/unstable-core-do-not-import").Route
14849
14994
  prefer?: "none" | "videotoolbox" | "cuda" | "nvdec" | "vaapi" | "qsv" | "d3d11va" | "dxva2" | "amf" | "vdpau" | "drm" | null | undefined;
14850
14995
  };
14851
14996
  output: {
14852
- preferred: readonly ("videotoolbox" | "cuda" | "nvdec" | "vaapi" | "qsv" | "d3d11va" | "dxva2" | "amf" | "vdpau" | "drm")[];
14997
+ preferred: readonly string[];
14853
14998
  rationale: string;
14854
14999
  };
14855
15000
  meta: object;
@@ -14859,13 +15004,29 @@ export type AppRouter = import("@trpc/server/unstable-core-do-not-import").Route
14859
15004
  output: {
14860
15005
  nodeId: string;
14861
15006
  resolution: {
14862
- preferred: readonly ("videotoolbox" | "cuda" | "nvdec" | "vaapi" | "qsv" | "d3d11va" | "dxva2" | "amf" | "vdpau" | "drm")[];
15007
+ preferred: readonly string[];
14863
15008
  rationale: string;
14864
15009
  };
14865
15010
  }[];
14866
15011
  meta: object;
14867
15012
  }>;
14868
15013
  }>>;
15014
+ clusterNodes: import("@trpc/server").TRPCBuiltRouter<{
15015
+ ctx: TrpcContext;
15016
+ meta: object;
15017
+ errorShape: import("@camstack/types").AugmentedErrorShape;
15018
+ transformer: true;
15019
+ }, import("@trpc/server").TRPCDecorateCreateRouterOptions<{
15020
+ forgetNode: import("@trpc/server").TRPCMutationProcedure<{
15021
+ input: {
15022
+ nodeId: string;
15023
+ };
15024
+ output: {
15025
+ success: boolean;
15026
+ };
15027
+ meta: object;
15028
+ }>;
15029
+ }>>;
14869
15030
  auth: import("@trpc/server").TRPCBuiltRouter<{
14870
15031
  ctx: TrpcContext;
14871
15032
  meta: object;
@@ -17758,6 +17919,7 @@ export type AppRouter = import("@trpc/server/unstable-core-do-not-import").Route
17758
17919
  [x: string]: unknown;
17759
17920
  sessionId: string;
17760
17921
  maxCount?: number | undefined;
17922
+ waitMs?: number | undefined;
17761
17923
  };
17762
17924
  output: {
17763
17925
  data: Uint8Array<ArrayBuffer>;
@@ -17773,6 +17935,7 @@ export type AppRouter = import("@trpc/server/unstable-core-do-not-import").Route
17773
17935
  [x: string]: unknown;
17774
17936
  sessionId: string;
17775
17937
  maxCount?: number | undefined;
17938
+ waitMs?: number | undefined;
17776
17939
  };
17777
17940
  output: {
17778
17941
  shmId: string;
@@ -21737,13 +21900,25 @@ export type AppRouter = import("@trpc/server/unstable-core-do-not-import").Route
21737
21900
  input: {
21738
21901
  [x: string]: unknown;
21739
21902
  deviceId: number;
21740
- frame: {
21903
+ frame?: {
21741
21904
  data: Uint8Array<ArrayBufferLike>;
21742
21905
  format: "rgb" | "jpeg" | "bgr" | "yuv420" | "gray";
21743
21906
  width: number;
21744
21907
  height: number;
21745
21908
  timestamp: number;
21746
- };
21909
+ } | undefined;
21910
+ frameHandle?: {
21911
+ shmId: string;
21912
+ slot: number;
21913
+ seq: number;
21914
+ width: number;
21915
+ height: number;
21916
+ format: "rgb" | "jpeg" | "bgr" | "yuv420" | "gray";
21917
+ pts: number;
21918
+ byteLength: number;
21919
+ nodeId: string;
21920
+ slotCount: number;
21921
+ } | undefined;
21747
21922
  };
21748
21923
  output: {
21749
21924
  detected: boolean;
@@ -22667,6 +22842,109 @@ export type AppRouter = import("@trpc/server/unstable-core-do-not-import").Route
22667
22842
  meta: object;
22668
22843
  }>;
22669
22844
  }>>;
22845
+ petFeeder: import("@trpc/server").TRPCBuiltRouter<{
22846
+ ctx: TrpcContext;
22847
+ meta: object;
22848
+ errorShape: import("@camstack/types").AugmentedErrorShape;
22849
+ transformer: true;
22850
+ }, import("@trpc/server").TRPCDecorateCreateRouterOptions<{
22851
+ getStatus: import("@trpc/server").TRPCQueryProcedure<{
22852
+ input: {
22853
+ [x: string]: unknown;
22854
+ deviceId: number;
22855
+ };
22856
+ output: unknown;
22857
+ meta: object;
22858
+ }>;
22859
+ feed: import("@trpc/server").TRPCMutationProcedure<{
22860
+ input: {
22861
+ [x: string]: unknown;
22862
+ deviceId: number;
22863
+ grams?: number | undefined;
22864
+ hopper1?: number | undefined;
22865
+ hopper2?: number | undefined;
22866
+ };
22867
+ output: void;
22868
+ meta: object;
22869
+ }>;
22870
+ cancelFeed: import("@trpc/server").TRPCMutationProcedure<{
22871
+ input: {
22872
+ [x: string]: unknown;
22873
+ deviceId: number;
22874
+ };
22875
+ output: void;
22876
+ meta: object;
22877
+ }>;
22878
+ resetDesiccant: import("@trpc/server").TRPCMutationProcedure<{
22879
+ input: {
22880
+ [x: string]: unknown;
22881
+ deviceId: number;
22882
+ };
22883
+ output: void;
22884
+ meta: object;
22885
+ }>;
22886
+ markFoodReplenished: import("@trpc/server").TRPCMutationProcedure<{
22887
+ input: {
22888
+ [x: string]: unknown;
22889
+ deviceId: number;
22890
+ };
22891
+ output: void;
22892
+ meta: object;
22893
+ }>;
22894
+ callPet: import("@trpc/server").TRPCMutationProcedure<{
22895
+ input: {
22896
+ [x: string]: unknown;
22897
+ deviceId: number;
22898
+ };
22899
+ output: void;
22900
+ meta: object;
22901
+ }>;
22902
+ playSound: import("@trpc/server").TRPCMutationProcedure<{
22903
+ input: {
22904
+ [x: string]: unknown;
22905
+ deviceId: number;
22906
+ soundId: number;
22907
+ };
22908
+ output: void;
22909
+ meta: object;
22910
+ }>;
22911
+ setChildLock: import("@trpc/server").TRPCMutationProcedure<{
22912
+ input: {
22913
+ [x: string]: unknown;
22914
+ deviceId: number;
22915
+ on: boolean;
22916
+ };
22917
+ output: void;
22918
+ meta: object;
22919
+ }>;
22920
+ setIndicatorLight: import("@trpc/server").TRPCMutationProcedure<{
22921
+ input: {
22922
+ [x: string]: unknown;
22923
+ deviceId: number;
22924
+ on: boolean;
22925
+ };
22926
+ output: void;
22927
+ meta: object;
22928
+ }>;
22929
+ setFeedSound: import("@trpc/server").TRPCMutationProcedure<{
22930
+ input: {
22931
+ [x: string]: unknown;
22932
+ deviceId: number;
22933
+ on: boolean;
22934
+ };
22935
+ output: void;
22936
+ meta: object;
22937
+ }>;
22938
+ setVolume: import("@trpc/server").TRPCMutationProcedure<{
22939
+ input: {
22940
+ [x: string]: unknown;
22941
+ deviceId: number;
22942
+ level: number;
22943
+ };
22944
+ output: void;
22945
+ meta: object;
22946
+ }>;
22947
+ }>>;
22670
22948
  pipelineAnalytics: import("@trpc/server").TRPCBuiltRouter<{
22671
22949
  ctx: TrpcContext;
22672
22950
  meta: object;
@@ -23406,6 +23684,18 @@ export type AppRouter = import("@trpc/server/unstable-core-do-not-import").Route
23406
23684
  height: number;
23407
23685
  timestamp: number;
23408
23686
  } | undefined;
23687
+ frameHandle?: {
23688
+ shmId: string;
23689
+ slot: number;
23690
+ seq: number;
23691
+ width: number;
23692
+ height: number;
23693
+ format: "rgb" | "jpeg" | "bgr" | "yuv420" | "gray";
23694
+ pts: number;
23695
+ byteLength: number;
23696
+ nodeId: string;
23697
+ slotCount: number;
23698
+ } | undefined;
23409
23699
  imageBase64?: string | undefined;
23410
23700
  image?: Uint8Array<ArrayBuffer> | undefined;
23411
23701
  referenceImage?: string | undefined;
@@ -24800,10 +25090,10 @@ export type AppRouter = import("@trpc/server/unstable-core-do-not-import").Route
24800
25090
  input: {
24801
25091
  [x: string]: unknown;
24802
25092
  prefer?: "none" | "coreml" | "openvino" | "tensorrt" | "videotoolbox" | "cuda" | "nvdec" | "vaapi" | "qsv" | "d3d11va" | "dxva2" | "amf" | "vdpau" | "drm" | "directml" | "webgpu" | null | undefined;
24803
- nodeId?: string | undefined;
24804
25093
  };
24805
25094
  output: {
24806
25095
  preferred: readonly string[];
25096
+ rationale: string;
24807
25097
  };
24808
25098
  meta: object;
24809
25099
  }>;
@@ -43,6 +43,7 @@ import type { NativeObjectDetectionStatusSchema } from '../capabilities/native-o
43
43
  import type { NotifierStatusSchema } from '../capabilities/notifier.cap.js';
44
44
  import type { NumericSensorStatusSchema } from '../capabilities/numeric-sensor.cap.js';
45
45
  import type { OsdStatusSchema } from '../capabilities/osd.cap.js';
46
+ import type { PetFeederStatusSchema } from '../capabilities/pet-feeder.cap.js';
46
47
  import type { PowerMeterStatusSchema } from '../capabilities/power-meter.cap.js';
47
48
  import type { PresenceStatusSchema } from '../capabilities/presence.cap.js';
48
49
  import type { PressureSensorStatusSchema } from '../capabilities/pressure-sensor.cap.js';
@@ -113,6 +114,7 @@ export type CapStatusTypeMap = {
113
114
  readonly 'notifier': z.infer<typeof NotifierStatusSchema>;
114
115
  readonly 'numeric-sensor': z.infer<typeof NumericSensorStatusSchema>;
115
116
  readonly 'osd': z.infer<typeof OsdStatusSchema>;
117
+ readonly 'pet-feeder': z.infer<typeof PetFeederStatusSchema>;
116
118
  readonly 'power-meter': z.infer<typeof PowerMeterStatusSchema>;
117
119
  readonly 'presence': z.infer<typeof PresenceStatusSchema>;
118
120
  readonly 'pressure-sensor': z.infer<typeof PressureSensorStatusSchema>;
@@ -141,4 +143,4 @@ export type CapNameWithStatus = keyof CapStatusTypeMap;
141
143
  * aggregator to enumerate caps whose `status` should be polled +
142
144
  * streamed via `subscribeDeviceStatusAggregate`.
143
145
  */
144
- export declare const CAP_NAMES_WITH_STATUS: readonly ["accessories", "air-quality-sensor", "alarm-panel", "ambient-light-sensor", "automation-control", "battery", "binary", "brightness", "broker", "camera-credentials", "carbon-monoxide", "climate-control", "color", "connectivity", "consumables", "contact", "control", "cover", "device-adoption", "device-discovery", "device-export", "device-status", "doorbell", "enum-sensor", "event-emitter", "fan-control", "feature-probe", "flood", "gas", "humidifier", "humidity-sensor", "image", "intercom", "lawn-mower-control", "lock-control", "media-player", "motion", "motion-trigger", "motion-zones", "mqtt-broker", "native-object-detection", "notifier", "numeric-sensor", "osd", "power-meter", "presence", "pressure-sensor", "privacy-mask", "ptz", "ptz-autotrack", "recording", "script-runner", "smoke", "snapshot", "stream-params", "switch", "tamper", "temperature-sensor", "update", "vacuum-control", "valve", "vibration", "water-heater", "weather"];
146
+ export declare const CAP_NAMES_WITH_STATUS: readonly ["accessories", "air-quality-sensor", "alarm-panel", "ambient-light-sensor", "automation-control", "battery", "binary", "brightness", "broker", "camera-credentials", "carbon-monoxide", "climate-control", "color", "connectivity", "consumables", "contact", "control", "cover", "device-adoption", "device-discovery", "device-export", "device-status", "doorbell", "enum-sensor", "event-emitter", "fan-control", "feature-probe", "flood", "gas", "humidifier", "humidity-sensor", "image", "intercom", "lawn-mower-control", "lock-control", "media-player", "motion", "motion-trigger", "motion-zones", "mqtt-broker", "native-object-detection", "notifier", "numeric-sensor", "osd", "pet-feeder", "power-meter", "presence", "pressure-sensor", "privacy-mask", "ptz", "ptz-autotrack", "recording", "script-runner", "smoke", "snapshot", "stream-params", "switch", "tamper", "temperature-sensor", "update", "vacuum-control", "valve", "vibration", "water-heater", "weather"];
@@ -85,6 +85,7 @@ export { notifierCapability } from '../capabilities/notifier.cap.js';
85
85
  export { numericSensorCapability } from '../capabilities/numeric-sensor.cap.js';
86
86
  export { oauthIntegrationCapability } from '../capabilities/oauth-integration.cap.js';
87
87
  export { osdCapability } from '../capabilities/osd.cap.js';
88
+ export { petFeederCapability } from '../capabilities/pet-feeder.cap.js';
88
89
  export { pipelineAnalyticsCapability } from '../capabilities/pipeline-analytics.cap.js';
89
90
  export { pipelineExecutorCapability } from '../capabilities/pipeline-executor.cap.js';
90
91
  export { pipelineOrchestratorCapability } from '../capabilities/pipeline-orchestrator.cap.js';
@@ -222,6 +223,7 @@ export declare const CAPABILITY_NAMES: {
222
223
  readonly numericSensor: "numeric-sensor";
223
224
  readonly oauthIntegration: "oauth-integration";
224
225
  readonly osd: "osd";
226
+ readonly petFeeder: "pet-feeder";
225
227
  readonly pipelineAnalytics: "pipeline-analytics";
226
228
  readonly pipelineExecutor: "pipeline-executor";
227
229
  readonly pipelineOrchestrator: "pipeline-orchestrator";
@@ -372,6 +374,7 @@ export interface CapabilityRouterMap<TRouter = unknown> {
372
374
  readonly numericSensor: TRouter;
373
375
  readonly oauthIntegration: TRouter;
374
376
  readonly osd: TRouter;
377
+ readonly petFeeder: TRouter;
375
378
  readonly pipelineAnalytics: TRouter;
376
379
  readonly pipelineExecutor: TRouter;
377
380
  readonly pipelineOrchestrator: TRouter;
@@ -422,8 +425,8 @@ export interface CapabilityRouterMap<TRouter = unknown> {
422
425
  readonly zoneRules: TRouter;
423
426
  readonly zones: TRouter;
424
427
  }
425
- /** Capability names whose mode is `singleton` (113 caps). */
426
- export declare const SINGLETON_CAPABILITY_NAMES: readonly ["accessories", "addon-pages", "addon-settings", "addon-widgets", "addons", "admin-ui", "advanced-notifier", "air-quality-sensor", "alarm-panel", "alerts", "ambient-light-sensor", "audio-analysis", "audio-analyzer", "audio-codec", "audio-metrics", "automation-control", "backup", "battery", "binary", "brightness", "button", "camera-credentials", "camera-pipeline-config", "camera-streams", "carbon-monoxide", "climate-control", "color", "connectivity", "consumables", "contact", "control", "cover", "decoder", "detection-pipeline", "device-adoption", "device-discovery", "device-manager", "device-ops", "device-state", "device-status", "doorbell", "enum-sensor", "event-emitter", "events", "face-gallery", "fan-control", "feature-probe", "filesystem-browse", "flood", "gas", "humidifier", "humidity-sensor", "image", "integrations", "intercom", "lawn-mower-control", "local-network", "lock-control", "media-player", "metrics-provider", "model-convert", "model-distributor", "motion", "motion-detection", "motion-trigger", "motion-zones", "native-object-detection", "network-quality", "nodes", "notifier", "numeric-sensor", "osd", "pipeline-analytics", "pipeline-executor", "pipeline-orchestrator", "pipeline-runner", "plate-gallery", "platform-probe", "power-meter", "presence", "pressure-sensor", "privacy-mask", "ptz", "ptz-autotrack", "reboot", "recording", "script-runner", "settings-store", "smoke", "snapshot", "sso-bridge", "storage", "stream-broker", "stream-catalog", "stream-params", "streaming-engine", "switch", "system", "tamper", "temperature-sensor", "toast", "update", "user-management", "vacuum-control", "valve", "vibration", "videoclips", "water-heater", "weather", "webrtc-session", "zone-analytics", "zone-rules", "zones"];
428
+ /** Capability names whose mode is `singleton` (114 caps). */
429
+ export declare const SINGLETON_CAPABILITY_NAMES: readonly ["accessories", "addon-pages", "addon-settings", "addon-widgets", "addons", "admin-ui", "advanced-notifier", "air-quality-sensor", "alarm-panel", "alerts", "ambient-light-sensor", "audio-analysis", "audio-analyzer", "audio-codec", "audio-metrics", "automation-control", "backup", "battery", "binary", "brightness", "button", "camera-credentials", "camera-pipeline-config", "camera-streams", "carbon-monoxide", "climate-control", "color", "connectivity", "consumables", "contact", "control", "cover", "decoder", "detection-pipeline", "device-adoption", "device-discovery", "device-manager", "device-ops", "device-state", "device-status", "doorbell", "enum-sensor", "event-emitter", "events", "face-gallery", "fan-control", "feature-probe", "filesystem-browse", "flood", "gas", "humidifier", "humidity-sensor", "image", "integrations", "intercom", "lawn-mower-control", "local-network", "lock-control", "media-player", "metrics-provider", "model-convert", "model-distributor", "motion", "motion-detection", "motion-trigger", "motion-zones", "native-object-detection", "network-quality", "nodes", "notifier", "numeric-sensor", "osd", "pet-feeder", "pipeline-analytics", "pipeline-executor", "pipeline-orchestrator", "pipeline-runner", "plate-gallery", "platform-probe", "power-meter", "presence", "pressure-sensor", "privacy-mask", "ptz", "ptz-autotrack", "reboot", "recording", "script-runner", "settings-store", "smoke", "snapshot", "sso-bridge", "storage", "stream-broker", "stream-catalog", "stream-params", "streaming-engine", "switch", "system", "tamper", "temperature-sensor", "toast", "update", "user-management", "vacuum-control", "valve", "vibration", "videoclips", "water-heater", "weather", "webrtc-session", "zone-analytics", "zone-rules", "zones"];
427
430
  /** Union of singleton capability names (literal string union). */
428
431
  export type SingletonCapabilityName = typeof SINGLETON_CAPABILITY_NAMES[number];
429
432
  /** Capability names whose mode is `collection` (23 caps). */
@@ -37,6 +37,7 @@ import { motionZonesCapability } from '../capabilities/motion-zones.cap.js';
37
37
  import { nativeObjectDetectionCapability } from '../capabilities/native-object-detection.cap.js';
38
38
  import { notifierCapability } from '../capabilities/notifier.cap.js';
39
39
  import { numericSensorCapability } from '../capabilities/numeric-sensor.cap.js';
40
+ import { petFeederCapability } from '../capabilities/pet-feeder.cap.js';
40
41
  import { powerMeterCapability } from '../capabilities/power-meter.cap.js';
41
42
  import { presenceCapability } from '../capabilities/presence.cap.js';
42
43
  import { pressureSensorCapability } from '../capabilities/pressure-sensor.cap.js';
@@ -107,6 +108,7 @@ export interface DeviceLocalState {
107
108
  nativeObjectDetection: InferRuntimeState<typeof nativeObjectDetectionCapability>;
108
109
  notifier: InferRuntimeState<typeof notifierCapability>;
109
110
  numericSensor: InferRuntimeState<typeof numericSensorCapability>;
111
+ petFeeder: InferRuntimeState<typeof petFeederCapability>;
110
112
  powerMeter: InferRuntimeState<typeof powerMeterCapability>;
111
113
  presence: InferRuntimeState<typeof presenceCapability>;
112
114
  pressureSensor: InferRuntimeState<typeof pressureSensorCapability>;
@@ -187,6 +189,7 @@ export interface CapNameToRuntimeStateMap {
187
189
  'native-object-detection': InferRuntimeState<typeof nativeObjectDetectionCapability>;
188
190
  'notifier': InferRuntimeState<typeof notifierCapability>;
189
191
  'numeric-sensor': InferRuntimeState<typeof numericSensorCapability>;
192
+ 'pet-feeder': InferRuntimeState<typeof petFeederCapability>;
190
193
  'power-meter': InferRuntimeState<typeof powerMeterCapability>;
191
194
  'presence': InferRuntimeState<typeof presenceCapability>;
192
195
  'pressure-sensor': InferRuntimeState<typeof pressureSensorCapability>;
@@ -50,6 +50,7 @@ import type { nativeObjectDetectionCapability } from '../capabilities/native-obj
50
50
  import type { notifierCapability } from '../capabilities/notifier.cap.js';
51
51
  import type { numericSensorCapability } from '../capabilities/numeric-sensor.cap.js';
52
52
  import type { osdCapability } from '../capabilities/osd.cap.js';
53
+ import type { petFeederCapability } from '../capabilities/pet-feeder.cap.js';
53
54
  import type { pipelineAnalyticsCapability } from '../capabilities/pipeline-analytics.cap.js';
54
55
  import type { powerMeterCapability } from '../capabilities/power-meter.cap.js';
55
56
  import type { presenceCapability } from '../capabilities/presence.cap.js';
@@ -136,6 +137,7 @@ export interface DeviceProxyState {
136
137
  readonly nativeObjectDetection: SliceHandle<InferRuntimeState<typeof nativeObjectDetectionCapability>>;
137
138
  readonly notifier: SliceHandle<InferRuntimeState<typeof notifierCapability>>;
138
139
  readonly numericSensor: SliceHandle<InferRuntimeState<typeof numericSensorCapability>>;
140
+ readonly petFeeder: SliceHandle<InferRuntimeState<typeof petFeederCapability>>;
139
141
  readonly powerMeter: SliceHandle<InferRuntimeState<typeof powerMeterCapability>>;
140
142
  readonly presence: SliceHandle<InferRuntimeState<typeof presenceCapability>>;
141
143
  readonly pressureSensor: SliceHandle<InferRuntimeState<typeof pressureSensorCapability>>;
@@ -223,6 +225,7 @@ export interface DeviceProxy {
223
225
  readonly notifier?: InferDeviceProxyCap<typeof notifierCapability>;
224
226
  readonly numericSensor?: InferDeviceProxyCap<typeof numericSensorCapability>;
225
227
  readonly osd?: InferDeviceProxyCap<typeof osdCapability>;
228
+ readonly petFeeder?: InferDeviceProxyCap<typeof petFeederCapability>;
226
229
  readonly pipelineAnalytics?: InferDeviceProxyCap<typeof pipelineAnalyticsCapability>;
227
230
  readonly powerMeter?: InferDeviceProxyCap<typeof powerMeterCapability>;
228
231
  readonly presence?: InferDeviceProxyCap<typeof presenceCapability>;
@@ -6,7 +6,7 @@
6
6
  * scope+access check inside `protectedProcedure` (see
7
7
  * `server/backend/src/api/trpc/trpc.middleware.ts`).
8
8
  *
9
- * Coverage: 727 method paths across 110 capabilities.
9
+ * Coverage: 737 method paths across 111 capabilities.
10
10
  */
11
11
  import type { CapabilityMethodAccess } from '../capabilities/capability-definition.js';
12
12
  export interface MethodAccessRecord {