@camstack/types 1.1.29 → 1.1.30

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.
@@ -3443,6 +3443,56 @@ export type AppRouter = import("@trpc/server/unstable-core-do-not-import").Route
3443
3443
  meta: object;
3444
3444
  }>;
3445
3445
  }>>;
3446
+ dayNight: import("@trpc/server").TRPCBuiltRouter<{
3447
+ ctx: TrpcContext;
3448
+ meta: object;
3449
+ errorShape: import("@camstack/types").AugmentedErrorShape;
3450
+ transformer: true;
3451
+ }, import("@trpc/server").TRPCDecorateCreateRouterOptions<{
3452
+ getStatus: import("@trpc/server").TRPCQueryProcedure<{
3453
+ input: {
3454
+ [x: string]: unknown;
3455
+ deviceId: number;
3456
+ };
3457
+ output: unknown;
3458
+ meta: object;
3459
+ }>;
3460
+ getOptions: import("@trpc/server").TRPCQueryProcedure<{
3461
+ input: {
3462
+ [x: string]: unknown;
3463
+ deviceId: number;
3464
+ };
3465
+ output: {
3466
+ modes: ("auto" | "schedule" | "night" | "day")[];
3467
+ supportsSensitivity: boolean;
3468
+ supportsSwitchDelay: boolean;
3469
+ sensitivity?: {
3470
+ min: number;
3471
+ max: number;
3472
+ step: number;
3473
+ } | undefined;
3474
+ switchDelaySec?: {
3475
+ min: number;
3476
+ max: number;
3477
+ step: number;
3478
+ } | undefined;
3479
+ };
3480
+ meta: object;
3481
+ }>;
3482
+ setSettings: import("@trpc/server").TRPCMutationProcedure<{
3483
+ input: {
3484
+ [x: string]: unknown;
3485
+ deviceId: number;
3486
+ settings: {
3487
+ mode?: "auto" | "schedule" | "night" | "day" | undefined;
3488
+ sensitivity?: number | undefined;
3489
+ switchDelaySec?: number | undefined;
3490
+ };
3491
+ };
3492
+ output: void;
3493
+ meta: object;
3494
+ }>;
3495
+ }>>;
3446
3496
  decoder: import("@trpc/server").TRPCBuiltRouter<{
3447
3497
  ctx: TrpcContext;
3448
3498
  meta: object;
@@ -3483,6 +3533,7 @@ export type AppRouter = import("@trpc/server/unstable-core-do-not-import").Route
3483
3533
  deviceId?: number | undefined;
3484
3534
  tag?: string | undefined;
3485
3535
  frameSink?: "callback" | "shm" | undefined;
3536
+ debug?: boolean | undefined;
3486
3537
  };
3487
3538
  output: {
3488
3539
  sessionId: string;
@@ -3616,6 +3667,7 @@ export type AppRouter = import("@trpc/server/unstable-core-do-not-import").Route
3616
3667
  deviceId?: number | undefined;
3617
3668
  tag?: string | undefined;
3618
3669
  frameSink?: "callback" | "shm" | undefined;
3670
+ debug?: boolean | undefined;
3619
3671
  };
3620
3672
  };
3621
3673
  output: void;
@@ -3631,6 +3683,9 @@ export type AppRouter = import("@trpc/server/unstable-core-do-not-import").Route
3631
3683
  outputFps: number;
3632
3684
  avgDecodeTimeMs: number;
3633
3685
  droppedFrames: number;
3686
+ lagMs?: number | undefined;
3687
+ effectiveFps?: number | undefined;
3688
+ adaptiveFps?: number | undefined;
3634
3689
  };
3635
3690
  meta: object;
3636
3691
  }>;
@@ -6248,6 +6303,87 @@ export type AppRouter = import("@trpc/server/unstable-core-do-not-import").Route
6248
6303
  meta: object;
6249
6304
  }>;
6250
6305
  }>>;
6306
+ imageSettings: import("@trpc/server").TRPCBuiltRouter<{
6307
+ ctx: TrpcContext;
6308
+ meta: object;
6309
+ errorShape: import("@camstack/types").AugmentedErrorShape;
6310
+ transformer: true;
6311
+ }, import("@trpc/server").TRPCDecorateCreateRouterOptions<{
6312
+ getStatus: import("@trpc/server").TRPCQueryProcedure<{
6313
+ input: {
6314
+ [x: string]: unknown;
6315
+ deviceId: number;
6316
+ };
6317
+ output: unknown;
6318
+ meta: object;
6319
+ }>;
6320
+ getOptions: import("@trpc/server").TRPCQueryProcedure<{
6321
+ input: {
6322
+ [x: string]: unknown;
6323
+ deviceId: number;
6324
+ };
6325
+ output: {
6326
+ supportsBrightness: boolean;
6327
+ supportsContrast: boolean;
6328
+ supportsSaturation: boolean;
6329
+ supportsSharpness: boolean;
6330
+ supportsMirror: boolean;
6331
+ supportsFlip: boolean;
6332
+ rotateOptions: ("0" | "90" | "180" | "270")[];
6333
+ whiteBalanceModes: ("auto" | "manual")[];
6334
+ supportsWarmth: boolean;
6335
+ exposureModes: ("auto" | "manual")[];
6336
+ backlightModes: ("off" | "blc" | "wdr" | "hlc")[];
6337
+ brightness?: {
6338
+ min: number;
6339
+ max: number;
6340
+ step: number;
6341
+ } | undefined;
6342
+ contrast?: {
6343
+ min: number;
6344
+ max: number;
6345
+ step: number;
6346
+ } | undefined;
6347
+ saturation?: {
6348
+ min: number;
6349
+ max: number;
6350
+ step: number;
6351
+ } | undefined;
6352
+ sharpness?: {
6353
+ min: number;
6354
+ max: number;
6355
+ step: number;
6356
+ } | undefined;
6357
+ warmth?: {
6358
+ min: number;
6359
+ max: number;
6360
+ step: number;
6361
+ } | undefined;
6362
+ };
6363
+ meta: object;
6364
+ }>;
6365
+ setSettings: import("@trpc/server").TRPCMutationProcedure<{
6366
+ input: {
6367
+ [x: string]: unknown;
6368
+ deviceId: number;
6369
+ settings: {
6370
+ brightness?: number | undefined;
6371
+ contrast?: number | undefined;
6372
+ saturation?: number | undefined;
6373
+ sharpness?: number | undefined;
6374
+ mirror?: boolean | undefined;
6375
+ flip?: boolean | undefined;
6376
+ rotate?: "0" | "90" | "180" | "270" | undefined;
6377
+ whiteBalance?: "auto" | "manual" | undefined;
6378
+ warmth?: number | undefined;
6379
+ exposureMode?: "auto" | "manual" | undefined;
6380
+ backlightMode?: "off" | "blc" | "wdr" | "hlc" | undefined;
6381
+ };
6382
+ };
6383
+ output: void;
6384
+ meta: object;
6385
+ }>;
6386
+ }>>;
6251
6387
  integrations: import("@trpc/server").TRPCBuiltRouter<{
6252
6388
  ctx: TrpcContext;
6253
6389
  meta: object;
@@ -10416,6 +10552,7 @@ export type AppRouter = import("@trpc/server/unstable-core-do-not-import").Route
10416
10552
  color?: string | undefined;
10417
10553
  }[] | undefined;
10418
10554
  onboardMotionDrivesAnalyzer?: boolean | undefined;
10555
+ occupancyRecheckEnabled?: boolean | undefined;
10419
10556
  occupancyRecheckSec?: number | undefined;
10420
10557
  occupancyRecheckFrames?: number | undefined;
10421
10558
  frameSource?: {
@@ -17818,6 +17955,56 @@ export type AppRouter = import("@trpc/server/unstable-core-do-not-import").Route
17818
17955
  meta: object;
17819
17956
  }>;
17820
17957
  }>>;
17958
+ dayNight: import("@trpc/server").TRPCBuiltRouter<{
17959
+ ctx: TrpcContext;
17960
+ meta: object;
17961
+ errorShape: import("@camstack/types").AugmentedErrorShape;
17962
+ transformer: true;
17963
+ }, import("@trpc/server").TRPCDecorateCreateRouterOptions<{
17964
+ getStatus: import("@trpc/server").TRPCQueryProcedure<{
17965
+ input: {
17966
+ [x: string]: unknown;
17967
+ deviceId: number;
17968
+ };
17969
+ output: unknown;
17970
+ meta: object;
17971
+ }>;
17972
+ getOptions: import("@trpc/server").TRPCQueryProcedure<{
17973
+ input: {
17974
+ [x: string]: unknown;
17975
+ deviceId: number;
17976
+ };
17977
+ output: {
17978
+ modes: ("auto" | "schedule" | "night" | "day")[];
17979
+ supportsSensitivity: boolean;
17980
+ supportsSwitchDelay: boolean;
17981
+ sensitivity?: {
17982
+ min: number;
17983
+ max: number;
17984
+ step: number;
17985
+ } | undefined;
17986
+ switchDelaySec?: {
17987
+ min: number;
17988
+ max: number;
17989
+ step: number;
17990
+ } | undefined;
17991
+ };
17992
+ meta: object;
17993
+ }>;
17994
+ setSettings: import("@trpc/server").TRPCMutationProcedure<{
17995
+ input: {
17996
+ [x: string]: unknown;
17997
+ deviceId: number;
17998
+ settings: {
17999
+ mode?: "auto" | "schedule" | "night" | "day" | undefined;
18000
+ sensitivity?: number | undefined;
18001
+ switchDelaySec?: number | undefined;
18002
+ };
18003
+ };
18004
+ output: void;
18005
+ meta: object;
18006
+ }>;
18007
+ }>>;
17821
18008
  decoder: import("@trpc/server").TRPCBuiltRouter<{
17822
18009
  ctx: TrpcContext;
17823
18010
  meta: object;
@@ -17858,6 +18045,7 @@ export type AppRouter = import("@trpc/server/unstable-core-do-not-import").Route
17858
18045
  deviceId?: number | undefined;
17859
18046
  tag?: string | undefined;
17860
18047
  frameSink?: "callback" | "shm" | undefined;
18048
+ debug?: boolean | undefined;
17861
18049
  };
17862
18050
  output: {
17863
18051
  sessionId: string;
@@ -17991,6 +18179,7 @@ export type AppRouter = import("@trpc/server/unstable-core-do-not-import").Route
17991
18179
  deviceId?: number | undefined;
17992
18180
  tag?: string | undefined;
17993
18181
  frameSink?: "callback" | "shm" | undefined;
18182
+ debug?: boolean | undefined;
17994
18183
  };
17995
18184
  };
17996
18185
  output: void;
@@ -18006,6 +18195,9 @@ export type AppRouter = import("@trpc/server/unstable-core-do-not-import").Route
18006
18195
  outputFps: number;
18007
18196
  avgDecodeTimeMs: number;
18008
18197
  droppedFrames: number;
18198
+ lagMs?: number | undefined;
18199
+ effectiveFps?: number | undefined;
18200
+ adaptiveFps?: number | undefined;
18009
18201
  };
18010
18202
  meta: object;
18011
18203
  }>;
@@ -20623,6 +20815,87 @@ export type AppRouter = import("@trpc/server/unstable-core-do-not-import").Route
20623
20815
  meta: object;
20624
20816
  }>;
20625
20817
  }>>;
20818
+ imageSettings: import("@trpc/server").TRPCBuiltRouter<{
20819
+ ctx: TrpcContext;
20820
+ meta: object;
20821
+ errorShape: import("@camstack/types").AugmentedErrorShape;
20822
+ transformer: true;
20823
+ }, import("@trpc/server").TRPCDecorateCreateRouterOptions<{
20824
+ getStatus: import("@trpc/server").TRPCQueryProcedure<{
20825
+ input: {
20826
+ [x: string]: unknown;
20827
+ deviceId: number;
20828
+ };
20829
+ output: unknown;
20830
+ meta: object;
20831
+ }>;
20832
+ getOptions: import("@trpc/server").TRPCQueryProcedure<{
20833
+ input: {
20834
+ [x: string]: unknown;
20835
+ deviceId: number;
20836
+ };
20837
+ output: {
20838
+ supportsBrightness: boolean;
20839
+ supportsContrast: boolean;
20840
+ supportsSaturation: boolean;
20841
+ supportsSharpness: boolean;
20842
+ supportsMirror: boolean;
20843
+ supportsFlip: boolean;
20844
+ rotateOptions: ("0" | "90" | "180" | "270")[];
20845
+ whiteBalanceModes: ("auto" | "manual")[];
20846
+ supportsWarmth: boolean;
20847
+ exposureModes: ("auto" | "manual")[];
20848
+ backlightModes: ("off" | "blc" | "wdr" | "hlc")[];
20849
+ brightness?: {
20850
+ min: number;
20851
+ max: number;
20852
+ step: number;
20853
+ } | undefined;
20854
+ contrast?: {
20855
+ min: number;
20856
+ max: number;
20857
+ step: number;
20858
+ } | undefined;
20859
+ saturation?: {
20860
+ min: number;
20861
+ max: number;
20862
+ step: number;
20863
+ } | undefined;
20864
+ sharpness?: {
20865
+ min: number;
20866
+ max: number;
20867
+ step: number;
20868
+ } | undefined;
20869
+ warmth?: {
20870
+ min: number;
20871
+ max: number;
20872
+ step: number;
20873
+ } | undefined;
20874
+ };
20875
+ meta: object;
20876
+ }>;
20877
+ setSettings: import("@trpc/server").TRPCMutationProcedure<{
20878
+ input: {
20879
+ [x: string]: unknown;
20880
+ deviceId: number;
20881
+ settings: {
20882
+ brightness?: number | undefined;
20883
+ contrast?: number | undefined;
20884
+ saturation?: number | undefined;
20885
+ sharpness?: number | undefined;
20886
+ mirror?: boolean | undefined;
20887
+ flip?: boolean | undefined;
20888
+ rotate?: "0" | "90" | "180" | "270" | undefined;
20889
+ whiteBalance?: "auto" | "manual" | undefined;
20890
+ warmth?: number | undefined;
20891
+ exposureMode?: "auto" | "manual" | undefined;
20892
+ backlightMode?: "off" | "blc" | "wdr" | "hlc" | undefined;
20893
+ };
20894
+ };
20895
+ output: void;
20896
+ meta: object;
20897
+ }>;
20898
+ }>>;
20626
20899
  integrations: import("@trpc/server").TRPCBuiltRouter<{
20627
20900
  ctx: TrpcContext;
20628
20901
  meta: object;
@@ -24791,6 +25064,7 @@ export type AppRouter = import("@trpc/server/unstable-core-do-not-import").Route
24791
25064
  color?: string | undefined;
24792
25065
  }[] | undefined;
24793
25066
  onboardMotionDrivesAnalyzer?: boolean | undefined;
25067
+ occupancyRecheckEnabled?: boolean | undefined;
24794
25068
  occupancyRecheckSec?: number | undefined;
24795
25069
  occupancyRecheckFrames?: number | undefined;
24796
25070
  frameSource?: {
@@ -17,6 +17,7 @@ import type { ConsumablesStatusSchema } from '../capabilities/consumables.cap.js
17
17
  import type { ContactStatusSchema } from '../capabilities/contact.cap.js';
18
18
  import type { ControlStatusSchema } from '../capabilities/control.cap.js';
19
19
  import type { CoverStatusSchema } from '../capabilities/cover.cap.js';
20
+ import type { DayNightStatusSchema } from '../capabilities/day-night.cap.js';
20
21
  import type { deviceAdoptionCapability } from '../capabilities/device-adoption.cap.js';
21
22
  import type { DeviceDiscoveryStatusSchema } from '../capabilities/device-discovery.cap.js';
22
23
  import type { DeviceExportStatusSchema } from '../capabilities/device-export.cap.js';
@@ -31,6 +32,7 @@ import type { GasStatusSchema } from '../capabilities/gas.cap.js';
31
32
  import type { HumidifierStatusSchema } from '../capabilities/humidifier.cap.js';
32
33
  import type { HumiditySensorStatusSchema } from '../capabilities/humidity-sensor.cap.js';
33
34
  import type { ImageStatusSchema } from '../capabilities/image.cap.js';
35
+ import type { ImageSettingsStatusSchema } from '../capabilities/image-settings.cap.js';
34
36
  import type { IntercomStatusSchema } from '../capabilities/intercom.cap.js';
35
37
  import type { LawnMowerControlStatusSchema } from '../capabilities/lawn-mower-control.cap.js';
36
38
  import type { LockControlStatusSchema } from '../capabilities/lock-control.cap.js';
@@ -88,6 +90,7 @@ export type CapStatusTypeMap = {
88
90
  readonly 'contact': z.infer<typeof ContactStatusSchema>;
89
91
  readonly 'control': z.infer<typeof ControlStatusSchema>;
90
92
  readonly 'cover': z.infer<typeof CoverStatusSchema>;
93
+ readonly 'day-night': z.infer<typeof DayNightStatusSchema>;
91
94
  readonly 'device-adoption': z.infer<(typeof deviceAdoptionCapability)['status']['schema']>;
92
95
  readonly 'device-discovery': z.infer<typeof DeviceDiscoveryStatusSchema>;
93
96
  readonly 'device-export': z.infer<typeof DeviceExportStatusSchema>;
@@ -102,6 +105,7 @@ export type CapStatusTypeMap = {
102
105
  readonly 'humidifier': z.infer<typeof HumidifierStatusSchema>;
103
106
  readonly 'humidity-sensor': z.infer<typeof HumiditySensorStatusSchema>;
104
107
  readonly 'image': z.infer<typeof ImageStatusSchema>;
108
+ readonly 'image-settings': z.infer<typeof ImageSettingsStatusSchema>;
105
109
  readonly 'intercom': z.infer<typeof IntercomStatusSchema>;
106
110
  readonly 'lawn-mower-control': z.infer<typeof LawnMowerControlStatusSchema>;
107
111
  readonly 'lock-control': z.infer<typeof LockControlStatusSchema>;
@@ -143,4 +147,4 @@ export type CapNameWithStatus = keyof CapStatusTypeMap;
143
147
  * aggregator to enumerate caps whose `status` should be polled +
144
148
  * streamed via `subscribeDeviceStatusAggregate`.
145
149
  */
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"];
150
+ 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", "day-night", "device-adoption", "device-discovery", "device-export", "device-status", "doorbell", "enum-sensor", "event-emitter", "fan-control", "feature-probe", "flood", "gas", "humidifier", "humidity-sensor", "image", "image-settings", "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"];
@@ -36,6 +36,7 @@ export { contactCapability } from '../capabilities/contact.cap.js';
36
36
  export { controlCapability } from '../capabilities/control.cap.js';
37
37
  export { coverCapability } from '../capabilities/cover.cap.js';
38
38
  export { customModelRegistryCapability } from '../capabilities/custom-model-registry.cap.js';
39
+ export { dayNightCapability } from '../capabilities/day-night.cap.js';
39
40
  export { decoderCapability } from '../capabilities/decoder.cap.js';
40
41
  export { detectionPipelineCapability } from '../capabilities/detection-pipeline.cap.js';
41
42
  export { deviceAdoptionCapability } from '../capabilities/device-adoption.cap.js';
@@ -60,6 +61,7 @@ export { gasCapability } from '../capabilities/gas.cap.js';
60
61
  export { humidifierCapability } from '../capabilities/humidifier.cap.js';
61
62
  export { humiditySensorCapability } from '../capabilities/humidity-sensor.cap.js';
62
63
  export { imageCapability } from '../capabilities/image.cap.js';
64
+ export { imageSettingsCapability } from '../capabilities/image-settings.cap.js';
63
65
  export { integrationsCapability } from '../capabilities/integrations.cap.js';
64
66
  export { intercomCapability } from '../capabilities/intercom.cap.js';
65
67
  export { lawnMowerControlCapability } from '../capabilities/lawn-mower-control.cap.js';
@@ -174,6 +176,7 @@ export declare const CAPABILITY_NAMES: {
174
176
  readonly control: "control";
175
177
  readonly cover: "cover";
176
178
  readonly customModelRegistry: "custom-model-registry";
179
+ readonly dayNight: "day-night";
177
180
  readonly decoder: "decoder";
178
181
  readonly detectionPipeline: "detection-pipeline";
179
182
  readonly deviceAdoption: "device-adoption";
@@ -198,6 +201,7 @@ export declare const CAPABILITY_NAMES: {
198
201
  readonly humidifier: "humidifier";
199
202
  readonly humiditySensor: "humidity-sensor";
200
203
  readonly image: "image";
204
+ readonly imageSettings: "image-settings";
201
205
  readonly integrations: "integrations";
202
206
  readonly intercom: "intercom";
203
207
  readonly lawnMowerControl: "lawn-mower-control";
@@ -325,6 +329,7 @@ export interface CapabilityRouterMap<TRouter = unknown> {
325
329
  readonly control: TRouter;
326
330
  readonly cover: TRouter;
327
331
  readonly customModelRegistry: TRouter;
332
+ readonly dayNight: TRouter;
328
333
  readonly decoder: TRouter;
329
334
  readonly detectionPipeline: TRouter;
330
335
  readonly deviceAdoption: TRouter;
@@ -349,6 +354,7 @@ export interface CapabilityRouterMap<TRouter = unknown> {
349
354
  readonly humidifier: TRouter;
350
355
  readonly humiditySensor: TRouter;
351
356
  readonly image: TRouter;
357
+ readonly imageSettings: TRouter;
352
358
  readonly integrations: TRouter;
353
359
  readonly intercom: TRouter;
354
360
  readonly lawnMowerControl: TRouter;
@@ -425,8 +431,8 @@ export interface CapabilityRouterMap<TRouter = unknown> {
425
431
  readonly zoneRules: TRouter;
426
432
  readonly zones: TRouter;
427
433
  }
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"];
434
+ /** Capability names whose mode is `singleton` (116 caps). */
435
+ 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", "day-night", "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", "image-settings", "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"];
430
436
  /** Union of singleton capability names (literal string union). */
431
437
  export type SingletonCapabilityName = typeof SINGLETON_CAPABILITY_NAMES[number];
432
438
  /** Capability names whose mode is `collection` (23 caps). */
@@ -16,6 +16,7 @@ import { consumablesCapability } from '../capabilities/consumables.cap.js';
16
16
  import { contactCapability } from '../capabilities/contact.cap.js';
17
17
  import { controlCapability } from '../capabilities/control.cap.js';
18
18
  import { coverCapability } from '../capabilities/cover.cap.js';
19
+ import { dayNightCapability } from '../capabilities/day-night.cap.js';
19
20
  import { deviceDiscoveryCapability } from '../capabilities/device-discovery.cap.js';
20
21
  import { deviceStatusCapability } from '../capabilities/device-status.cap.js';
21
22
  import { doorbellCapability } from '../capabilities/doorbell.cap.js';
@@ -28,6 +29,7 @@ import { gasCapability } from '../capabilities/gas.cap.js';
28
29
  import { humidifierCapability } from '../capabilities/humidifier.cap.js';
29
30
  import { humiditySensorCapability } from '../capabilities/humidity-sensor.cap.js';
30
31
  import { imageCapability } from '../capabilities/image.cap.js';
32
+ import { imageSettingsCapability } from '../capabilities/image-settings.cap.js';
31
33
  import { lawnMowerControlCapability } from '../capabilities/lawn-mower-control.cap.js';
32
34
  import { lockControlCapability } from '../capabilities/lock-control.cap.js';
33
35
  import { mediaPlayerCapability } from '../capabilities/media-player.cap.js';
@@ -87,6 +89,7 @@ export interface DeviceLocalState {
87
89
  contact: InferRuntimeState<typeof contactCapability>;
88
90
  control: InferRuntimeState<typeof controlCapability>;
89
91
  cover: InferRuntimeState<typeof coverCapability>;
92
+ dayNight: InferRuntimeState<typeof dayNightCapability>;
90
93
  deviceDiscovery: InferRuntimeState<typeof deviceDiscoveryCapability>;
91
94
  deviceStatus: InferRuntimeState<typeof deviceStatusCapability>;
92
95
  doorbell: InferRuntimeState<typeof doorbellCapability>;
@@ -99,6 +102,7 @@ export interface DeviceLocalState {
99
102
  humidifier: InferRuntimeState<typeof humidifierCapability>;
100
103
  humiditySensor: InferRuntimeState<typeof humiditySensorCapability>;
101
104
  image: InferRuntimeState<typeof imageCapability>;
105
+ imageSettings: InferRuntimeState<typeof imageSettingsCapability>;
102
106
  lawnMowerControl: InferRuntimeState<typeof lawnMowerControlCapability>;
103
107
  lockControl: InferRuntimeState<typeof lockControlCapability>;
104
108
  mediaPlayer: InferRuntimeState<typeof mediaPlayerCapability>;
@@ -168,6 +172,7 @@ export interface CapNameToRuntimeStateMap {
168
172
  'contact': InferRuntimeState<typeof contactCapability>;
169
173
  'control': InferRuntimeState<typeof controlCapability>;
170
174
  'cover': InferRuntimeState<typeof coverCapability>;
175
+ 'day-night': InferRuntimeState<typeof dayNightCapability>;
171
176
  'device-discovery': InferRuntimeState<typeof deviceDiscoveryCapability>;
172
177
  'device-status': InferRuntimeState<typeof deviceStatusCapability>;
173
178
  'doorbell': InferRuntimeState<typeof doorbellCapability>;
@@ -180,6 +185,7 @@ export interface CapNameToRuntimeStateMap {
180
185
  'humidifier': InferRuntimeState<typeof humidifierCapability>;
181
186
  'humidity-sensor': InferRuntimeState<typeof humiditySensorCapability>;
182
187
  'image': InferRuntimeState<typeof imageCapability>;
188
+ 'image-settings': InferRuntimeState<typeof imageSettingsCapability>;
183
189
  'lawn-mower-control': InferRuntimeState<typeof lawnMowerControlCapability>;
184
190
  'lock-control': InferRuntimeState<typeof lockControlCapability>;
185
191
  'media-player': InferRuntimeState<typeof mediaPlayerCapability>;
@@ -23,6 +23,7 @@ import type { consumablesCapability } from '../capabilities/consumables.cap.js';
23
23
  import type { contactCapability } from '../capabilities/contact.cap.js';
24
24
  import type { controlCapability } from '../capabilities/control.cap.js';
25
25
  import type { coverCapability } from '../capabilities/cover.cap.js';
26
+ import type { dayNightCapability } from '../capabilities/day-night.cap.js';
26
27
  import type { detectionPipelineCapability } from '../capabilities/detection-pipeline.cap.js';
27
28
  import type { deviceDiscoveryCapability } from '../capabilities/device-discovery.cap.js';
28
29
  import type { deviceOpsCapability } from '../capabilities/device-ops.cap.js';
@@ -38,6 +39,7 @@ import type { gasCapability } from '../capabilities/gas.cap.js';
38
39
  import type { humidifierCapability } from '../capabilities/humidifier.cap.js';
39
40
  import type { humiditySensorCapability } from '../capabilities/humidity-sensor.cap.js';
40
41
  import type { imageCapability } from '../capabilities/image.cap.js';
42
+ import type { imageSettingsCapability } from '../capabilities/image-settings.cap.js';
41
43
  import type { intercomCapability } from '../capabilities/intercom.cap.js';
42
44
  import type { lawnMowerControlCapability } from '../capabilities/lawn-mower-control.cap.js';
43
45
  import type { lockControlCapability } from '../capabilities/lock-control.cap.js';
@@ -116,6 +118,7 @@ export interface DeviceProxyState {
116
118
  readonly contact: SliceHandle<InferRuntimeState<typeof contactCapability>>;
117
119
  readonly control: SliceHandle<InferRuntimeState<typeof controlCapability>>;
118
120
  readonly cover: SliceHandle<InferRuntimeState<typeof coverCapability>>;
121
+ readonly dayNight: SliceHandle<InferRuntimeState<typeof dayNightCapability>>;
119
122
  readonly deviceDiscovery: SliceHandle<InferRuntimeState<typeof deviceDiscoveryCapability>>;
120
123
  readonly deviceStatus: SliceHandle<InferRuntimeState<typeof deviceStatusCapability>>;
121
124
  readonly doorbell: SliceHandle<InferRuntimeState<typeof doorbellCapability>>;
@@ -128,6 +131,7 @@ export interface DeviceProxyState {
128
131
  readonly humidifier: SliceHandle<InferRuntimeState<typeof humidifierCapability>>;
129
132
  readonly humiditySensor: SliceHandle<InferRuntimeState<typeof humiditySensorCapability>>;
130
133
  readonly image: SliceHandle<InferRuntimeState<typeof imageCapability>>;
134
+ readonly imageSettings: SliceHandle<InferRuntimeState<typeof imageSettingsCapability>>;
131
135
  readonly lawnMowerControl: SliceHandle<InferRuntimeState<typeof lawnMowerControlCapability>>;
132
136
  readonly lockControl: SliceHandle<InferRuntimeState<typeof lockControlCapability>>;
133
137
  readonly mediaPlayer: SliceHandle<InferRuntimeState<typeof mediaPlayerCapability>>;
@@ -198,6 +202,7 @@ export interface DeviceProxy {
198
202
  readonly contact?: InferDeviceProxyCap<typeof contactCapability>;
199
203
  readonly control?: InferDeviceProxyCap<typeof controlCapability>;
200
204
  readonly cover?: InferDeviceProxyCap<typeof coverCapability>;
205
+ readonly dayNight?: InferDeviceProxyCap<typeof dayNightCapability>;
201
206
  readonly detectionPipeline?: InferDeviceProxyCap<typeof detectionPipelineCapability>;
202
207
  readonly deviceDiscovery?: InferDeviceProxyCap<typeof deviceDiscoveryCapability>;
203
208
  readonly deviceOps?: InferDeviceProxyCap<typeof deviceOpsCapability>;
@@ -213,6 +218,7 @@ export interface DeviceProxy {
213
218
  readonly humidifier?: InferDeviceProxyCap<typeof humidifierCapability>;
214
219
  readonly humiditySensor?: InferDeviceProxyCap<typeof humiditySensorCapability>;
215
220
  readonly image?: InferDeviceProxyCap<typeof imageCapability>;
221
+ readonly imageSettings?: InferDeviceProxyCap<typeof imageSettingsCapability>;
216
222
  readonly intercom?: InferDeviceProxyCap<typeof intercomCapability>;
217
223
  readonly lawnMowerControl?: InferDeviceProxyCap<typeof lawnMowerControlCapability>;
218
224
  readonly lockControl?: InferDeviceProxyCap<typeof lockControlCapability>;
@@ -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: 735 method paths across 111 capabilities.
9
+ * Coverage: 739 method paths across 113 capabilities.
10
10
  */
11
11
  import type { CapabilityMethodAccess } from '../capabilities/capability-definition.js';
12
12
  export interface MethodAccessRecord {