@camstack/types 1.1.48 → 1.1.50

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.
@@ -10014,8 +10014,8 @@ export type AppRouter = import("@trpc/server/unstable-core-do-not-import").Route
10014
10014
  kind: string;
10015
10015
  label: string;
10016
10016
  color: string;
10017
- icon: "motion" | "smoke" | "button" | "audio" | "person" | "vehicle" | "animal" | "generic" | "door" | "pir" | "water";
10018
- category: "custom" | "motion" | "audio" | "sensor" | "detection";
10017
+ icon: "motion" | "smoke" | "button" | "audio" | "person" | "vehicle" | "animal" | "package" | "generic" | "door" | "pir" | "water";
10018
+ category: "custom" | "motion" | "audio" | "package" | "sensor" | "detection";
10019
10019
  source: {
10020
10020
  capName: string;
10021
10021
  deviceId: number;
@@ -10136,6 +10136,67 @@ export type AppRouter = import("@trpc/server/unstable-core-do-not-import").Route
10136
10136
  };
10137
10137
  meta: object;
10138
10138
  }>;
10139
+ getEventStoreFootprint: import("@trpc/server").TRPCQueryProcedure<{
10140
+ input: {
10141
+ [x: string]: unknown;
10142
+ };
10143
+ output: {
10144
+ totalRows: number;
10145
+ totalBytes: number;
10146
+ devices: readonly {
10147
+ deviceId: number;
10148
+ rows: number;
10149
+ bytes: number;
10150
+ }[];
10151
+ };
10152
+ meta: object;
10153
+ }>;
10154
+ pruneEvents: import("@trpc/server").TRPCMutationProcedure<{
10155
+ input: {
10156
+ [x: string]: unknown;
10157
+ olderThanMs: number;
10158
+ reason?: "manual" | "retention" | "quota" | "operator" | undefined;
10159
+ };
10160
+ output: {
10161
+ motion: number;
10162
+ object: number;
10163
+ audio: number;
10164
+ };
10165
+ meta: object;
10166
+ }>;
10167
+ deleteDeviceEvents: import("@trpc/server").TRPCMutationProcedure<{
10168
+ input: {
10169
+ [x: string]: unknown;
10170
+ deviceId: number;
10171
+ };
10172
+ output: {
10173
+ motion: number;
10174
+ object: number;
10175
+ audio: number;
10176
+ };
10177
+ meta: object;
10178
+ }>;
10179
+ listOpsLog: import("@trpc/server").TRPCQueryProcedure<{
10180
+ input: {
10181
+ [x: string]: unknown;
10182
+ deviceId?: number | undefined;
10183
+ limit?: number | undefined;
10184
+ };
10185
+ output: readonly {
10186
+ id: string;
10187
+ at: number;
10188
+ domain: "recording" | "events";
10189
+ op: "prune" | "manual-delete" | "rescan" | "retention-run";
10190
+ reason: "manual" | "retention" | "quota" | "operator";
10191
+ deviceId: number | null;
10192
+ nodeId: string;
10193
+ itemsAffected: number;
10194
+ bytesReclaimed: number;
10195
+ detail: string | null;
10196
+ actor: string;
10197
+ }[];
10198
+ meta: object;
10199
+ }>;
10139
10200
  getEventMedia: import("@trpc/server").TRPCQueryProcedure<{
10140
10201
  input: {
10141
10202
  [x: string]: unknown;
@@ -12715,6 +12776,7 @@ export type AppRouter = import("@trpc/server/unstable-core-do-not-import").Route
12715
12776
  maxAgeDays?: number | undefined;
12716
12777
  maxSizeGb?: number | undefined;
12717
12778
  } | undefined;
12779
+ scrubThumbnails?: "high" | "max" | "low" | "standard" | "minimal" | undefined;
12718
12780
  };
12719
12781
  meta: object;
12720
12782
  }>;
@@ -12811,6 +12873,7 @@ export type AppRouter = import("@trpc/server/unstable-core-do-not-import").Route
12811
12873
  maxAgeDays?: number | undefined;
12812
12874
  maxSizeGb?: number | undefined;
12813
12875
  } | undefined;
12876
+ scrubThumbnails?: "high" | "max" | "low" | "standard" | "minimal" | undefined;
12814
12877
  };
12815
12878
  };
12816
12879
  output: {
@@ -12871,6 +12934,7 @@ export type AppRouter = import("@trpc/server/unstable-core-do-not-import").Route
12871
12934
  maxAgeDays?: number | undefined;
12872
12935
  maxSizeGb?: number | undefined;
12873
12936
  } | undefined;
12937
+ scrubThumbnails?: "high" | "max" | "low" | "standard" | "minimal" | undefined;
12874
12938
  };
12875
12939
  meta: object;
12876
12940
  }>;
@@ -12892,6 +12956,7 @@ export type AppRouter = import("@trpc/server/unstable-core-do-not-import").Route
12892
12956
  input: {
12893
12957
  [x: string]: unknown;
12894
12958
  deviceId: number;
12959
+ reason?: "manual" | "retention" | "quota" | "operator" | undefined;
12895
12960
  };
12896
12961
  output: {
12897
12962
  floorMs: number | null;
@@ -12900,6 +12965,242 @@ export type AppRouter = import("@trpc/server/unstable-core-do-not-import").Route
12900
12965
  };
12901
12966
  meta: object;
12902
12967
  }>;
12968
+ deleteFootprint: import("@trpc/server").TRPCMutationProcedure<{
12969
+ input: {
12970
+ [x: string]: unknown;
12971
+ deviceId: number;
12972
+ fromMs?: number | undefined;
12973
+ toMs?: number | undefined;
12974
+ };
12975
+ output: {
12976
+ deletedBuckets: number;
12977
+ reclaimedBytes: number;
12978
+ };
12979
+ meta: object;
12980
+ }>;
12981
+ listOpsLog: import("@trpc/server").TRPCQueryProcedure<{
12982
+ input: {
12983
+ [x: string]: unknown;
12984
+ deviceId?: number | undefined;
12985
+ limit?: number | undefined;
12986
+ };
12987
+ output: readonly {
12988
+ id: string;
12989
+ at: number;
12990
+ domain: "recording" | "events";
12991
+ op: "prune" | "manual-delete" | "rescan" | "retention-run";
12992
+ reason: "manual" | "retention" | "quota" | "operator";
12993
+ deviceId: number | null;
12994
+ nodeId: string;
12995
+ itemsAffected: number;
12996
+ bytesReclaimed: number;
12997
+ detail: string | null;
12998
+ actor: string;
12999
+ }[];
13000
+ meta: object;
13001
+ }>;
13002
+ }>>;
13003
+ recordingExport: import("@trpc/server").TRPCBuiltRouter<{
13004
+ ctx: TrpcContext;
13005
+ meta: object;
13006
+ errorShape: import("@camstack/types").AugmentedErrorShape;
13007
+ transformer: true;
13008
+ }, import("@trpc/server").TRPCDecorateCreateRouterOptions<{
13009
+ createExport: import("@trpc/server").TRPCMutationProcedure<{
13010
+ input: {
13011
+ [x: string]: unknown;
13012
+ deviceId: number;
13013
+ profile: string;
13014
+ fromMs: number;
13015
+ toMs: number;
13016
+ options: {
13017
+ includeAudio: boolean;
13018
+ maxLifeMs: number;
13019
+ deleteAfterDownload: boolean;
13020
+ speed?: number | undefined;
13021
+ timelapse?: {
13022
+ everyMs: number;
13023
+ outputFps?: number | undefined;
13024
+ } | undefined;
13025
+ title?: string | undefined;
13026
+ };
13027
+ };
13028
+ output: {
13029
+ id: string;
13030
+ deviceId: number;
13031
+ profile: string;
13032
+ fromMs: number;
13033
+ toMs: number;
13034
+ options: {
13035
+ includeAudio: boolean;
13036
+ maxLifeMs: number;
13037
+ deleteAfterDownload: boolean;
13038
+ speed?: number | undefined;
13039
+ timelapse?: {
13040
+ everyMs: number;
13041
+ outputFps?: number | undefined;
13042
+ } | undefined;
13043
+ title?: string | undefined;
13044
+ };
13045
+ state: "failed" | "queued" | "ready" | "deleted" | "rendering" | "expired";
13046
+ progressPct: number | null;
13047
+ fileBytes: number | null;
13048
+ expiresAt: number;
13049
+ deleteAfterDownload: boolean;
13050
+ downloadedAt: number | null;
13051
+ createdAt: number;
13052
+ createdBy: string;
13053
+ error: string | null;
13054
+ };
13055
+ meta: object;
13056
+ }>;
13057
+ listExports: import("@trpc/server").TRPCQueryProcedure<{
13058
+ input: {
13059
+ [x: string]: unknown;
13060
+ deviceId?: number | undefined;
13061
+ };
13062
+ output: {
13063
+ id: string;
13064
+ deviceId: number;
13065
+ profile: string;
13066
+ fromMs: number;
13067
+ toMs: number;
13068
+ options: {
13069
+ includeAudio: boolean;
13070
+ maxLifeMs: number;
13071
+ deleteAfterDownload: boolean;
13072
+ speed?: number | undefined;
13073
+ timelapse?: {
13074
+ everyMs: number;
13075
+ outputFps?: number | undefined;
13076
+ } | undefined;
13077
+ title?: string | undefined;
13078
+ };
13079
+ state: "failed" | "queued" | "ready" | "deleted" | "rendering" | "expired";
13080
+ progressPct: number | null;
13081
+ fileBytes: number | null;
13082
+ expiresAt: number;
13083
+ deleteAfterDownload: boolean;
13084
+ downloadedAt: number | null;
13085
+ createdAt: number;
13086
+ createdBy: string;
13087
+ error: string | null;
13088
+ }[];
13089
+ meta: object;
13090
+ }>;
13091
+ getExport: import("@trpc/server").TRPCQueryProcedure<{
13092
+ input: {
13093
+ [x: string]: unknown;
13094
+ exportId: string;
13095
+ };
13096
+ output: {
13097
+ id: string;
13098
+ deviceId: number;
13099
+ profile: string;
13100
+ fromMs: number;
13101
+ toMs: number;
13102
+ options: {
13103
+ includeAudio: boolean;
13104
+ maxLifeMs: number;
13105
+ deleteAfterDownload: boolean;
13106
+ speed?: number | undefined;
13107
+ timelapse?: {
13108
+ everyMs: number;
13109
+ outputFps?: number | undefined;
13110
+ } | undefined;
13111
+ title?: string | undefined;
13112
+ };
13113
+ state: "failed" | "queued" | "ready" | "deleted" | "rendering" | "expired";
13114
+ progressPct: number | null;
13115
+ fileBytes: number | null;
13116
+ expiresAt: number;
13117
+ deleteAfterDownload: boolean;
13118
+ downloadedAt: number | null;
13119
+ createdAt: number;
13120
+ createdBy: string;
13121
+ error: string | null;
13122
+ };
13123
+ meta: object;
13124
+ }>;
13125
+ cancelExport: import("@trpc/server").TRPCMutationProcedure<{
13126
+ input: {
13127
+ [x: string]: unknown;
13128
+ exportId: string;
13129
+ };
13130
+ output: {
13131
+ id: string;
13132
+ deviceId: number;
13133
+ profile: string;
13134
+ fromMs: number;
13135
+ toMs: number;
13136
+ options: {
13137
+ includeAudio: boolean;
13138
+ maxLifeMs: number;
13139
+ deleteAfterDownload: boolean;
13140
+ speed?: number | undefined;
13141
+ timelapse?: {
13142
+ everyMs: number;
13143
+ outputFps?: number | undefined;
13144
+ } | undefined;
13145
+ title?: string | undefined;
13146
+ };
13147
+ state: "failed" | "queued" | "ready" | "deleted" | "rendering" | "expired";
13148
+ progressPct: number | null;
13149
+ fileBytes: number | null;
13150
+ expiresAt: number;
13151
+ deleteAfterDownload: boolean;
13152
+ downloadedAt: number | null;
13153
+ createdAt: number;
13154
+ createdBy: string;
13155
+ error: string | null;
13156
+ };
13157
+ meta: object;
13158
+ }>;
13159
+ deleteExport: import("@trpc/server").TRPCMutationProcedure<{
13160
+ input: {
13161
+ [x: string]: unknown;
13162
+ exportId: string;
13163
+ };
13164
+ output: {
13165
+ id: string;
13166
+ deviceId: number;
13167
+ profile: string;
13168
+ fromMs: number;
13169
+ toMs: number;
13170
+ options: {
13171
+ includeAudio: boolean;
13172
+ maxLifeMs: number;
13173
+ deleteAfterDownload: boolean;
13174
+ speed?: number | undefined;
13175
+ timelapse?: {
13176
+ everyMs: number;
13177
+ outputFps?: number | undefined;
13178
+ } | undefined;
13179
+ title?: string | undefined;
13180
+ };
13181
+ state: "failed" | "queued" | "ready" | "deleted" | "rendering" | "expired";
13182
+ progressPct: number | null;
13183
+ fileBytes: number | null;
13184
+ expiresAt: number;
13185
+ deleteAfterDownload: boolean;
13186
+ downloadedAt: number | null;
13187
+ createdAt: number;
13188
+ createdBy: string;
13189
+ error: string | null;
13190
+ };
13191
+ meta: object;
13192
+ }>;
13193
+ getDownloadUrl: import("@trpc/server").TRPCQueryProcedure<{
13194
+ input: {
13195
+ [x: string]: unknown;
13196
+ exportId: string;
13197
+ };
13198
+ output: {
13199
+ url: string;
13200
+ endpoints: string[];
13201
+ };
13202
+ meta: object;
13203
+ }>;
12903
13204
  }>>;
12904
13205
  sceneMonitor: import("@trpc/server").TRPCBuiltRouter<{
12905
13206
  ctx: TrpcContext;
@@ -16337,7 +16638,7 @@ export type AppRouter = import("@trpc/server/unstable-core-do-not-import").Route
16337
16638
  input: {
16338
16639
  [x: string]: unknown;
16339
16640
  deviceId: number;
16340
- stage: "motion" | "detection";
16641
+ stage: "motion" | "package" | "detection";
16341
16642
  };
16342
16643
  output: readonly {
16343
16644
  id: string;
@@ -16356,7 +16657,7 @@ export type AppRouter = import("@trpc/server/unstable-core-do-not-import").Route
16356
16657
  input: {
16357
16658
  [x: string]: unknown;
16358
16659
  deviceId: number;
16359
- stage: "motion" | "detection";
16660
+ stage: "motion" | "package" | "detection";
16360
16661
  rules: readonly {
16361
16662
  id: string;
16362
16663
  zoneIds: readonly string[];
@@ -26451,8 +26752,8 @@ export type AppRouter = import("@trpc/server/unstable-core-do-not-import").Route
26451
26752
  kind: string;
26452
26753
  label: string;
26453
26754
  color: string;
26454
- icon: "motion" | "smoke" | "button" | "audio" | "person" | "vehicle" | "animal" | "generic" | "door" | "pir" | "water";
26455
- category: "custom" | "motion" | "audio" | "sensor" | "detection";
26755
+ icon: "motion" | "smoke" | "button" | "audio" | "person" | "vehicle" | "animal" | "package" | "generic" | "door" | "pir" | "water";
26756
+ category: "custom" | "motion" | "audio" | "package" | "sensor" | "detection";
26456
26757
  source: {
26457
26758
  capName: string;
26458
26759
  deviceId: number;
@@ -26573,6 +26874,67 @@ export type AppRouter = import("@trpc/server/unstable-core-do-not-import").Route
26573
26874
  };
26574
26875
  meta: object;
26575
26876
  }>;
26877
+ getEventStoreFootprint: import("@trpc/server").TRPCQueryProcedure<{
26878
+ input: {
26879
+ [x: string]: unknown;
26880
+ };
26881
+ output: {
26882
+ totalRows: number;
26883
+ totalBytes: number;
26884
+ devices: readonly {
26885
+ deviceId: number;
26886
+ rows: number;
26887
+ bytes: number;
26888
+ }[];
26889
+ };
26890
+ meta: object;
26891
+ }>;
26892
+ pruneEvents: import("@trpc/server").TRPCMutationProcedure<{
26893
+ input: {
26894
+ [x: string]: unknown;
26895
+ olderThanMs: number;
26896
+ reason?: "manual" | "retention" | "quota" | "operator" | undefined;
26897
+ };
26898
+ output: {
26899
+ motion: number;
26900
+ object: number;
26901
+ audio: number;
26902
+ };
26903
+ meta: object;
26904
+ }>;
26905
+ deleteDeviceEvents: import("@trpc/server").TRPCMutationProcedure<{
26906
+ input: {
26907
+ [x: string]: unknown;
26908
+ deviceId: number;
26909
+ };
26910
+ output: {
26911
+ motion: number;
26912
+ object: number;
26913
+ audio: number;
26914
+ };
26915
+ meta: object;
26916
+ }>;
26917
+ listOpsLog: import("@trpc/server").TRPCQueryProcedure<{
26918
+ input: {
26919
+ [x: string]: unknown;
26920
+ deviceId?: number | undefined;
26921
+ limit?: number | undefined;
26922
+ };
26923
+ output: readonly {
26924
+ id: string;
26925
+ at: number;
26926
+ domain: "recording" | "events";
26927
+ op: "prune" | "manual-delete" | "rescan" | "retention-run";
26928
+ reason: "manual" | "retention" | "quota" | "operator";
26929
+ deviceId: number | null;
26930
+ nodeId: string;
26931
+ itemsAffected: number;
26932
+ bytesReclaimed: number;
26933
+ detail: string | null;
26934
+ actor: string;
26935
+ }[];
26936
+ meta: object;
26937
+ }>;
26576
26938
  getEventMedia: import("@trpc/server").TRPCQueryProcedure<{
26577
26939
  input: {
26578
26940
  [x: string]: unknown;
@@ -29152,6 +29514,7 @@ export type AppRouter = import("@trpc/server/unstable-core-do-not-import").Route
29152
29514
  maxAgeDays?: number | undefined;
29153
29515
  maxSizeGb?: number | undefined;
29154
29516
  } | undefined;
29517
+ scrubThumbnails?: "high" | "max" | "low" | "standard" | "minimal" | undefined;
29155
29518
  };
29156
29519
  meta: object;
29157
29520
  }>;
@@ -29248,6 +29611,7 @@ export type AppRouter = import("@trpc/server/unstable-core-do-not-import").Route
29248
29611
  maxAgeDays?: number | undefined;
29249
29612
  maxSizeGb?: number | undefined;
29250
29613
  } | undefined;
29614
+ scrubThumbnails?: "high" | "max" | "low" | "standard" | "minimal" | undefined;
29251
29615
  };
29252
29616
  };
29253
29617
  output: {
@@ -29308,6 +29672,7 @@ export type AppRouter = import("@trpc/server/unstable-core-do-not-import").Route
29308
29672
  maxAgeDays?: number | undefined;
29309
29673
  maxSizeGb?: number | undefined;
29310
29674
  } | undefined;
29675
+ scrubThumbnails?: "high" | "max" | "low" | "standard" | "minimal" | undefined;
29311
29676
  };
29312
29677
  meta: object;
29313
29678
  }>;
@@ -29329,6 +29694,7 @@ export type AppRouter = import("@trpc/server/unstable-core-do-not-import").Route
29329
29694
  input: {
29330
29695
  [x: string]: unknown;
29331
29696
  deviceId: number;
29697
+ reason?: "manual" | "retention" | "quota" | "operator" | undefined;
29332
29698
  };
29333
29699
  output: {
29334
29700
  floorMs: number | null;
@@ -29337,6 +29703,242 @@ export type AppRouter = import("@trpc/server/unstable-core-do-not-import").Route
29337
29703
  };
29338
29704
  meta: object;
29339
29705
  }>;
29706
+ deleteFootprint: import("@trpc/server").TRPCMutationProcedure<{
29707
+ input: {
29708
+ [x: string]: unknown;
29709
+ deviceId: number;
29710
+ fromMs?: number | undefined;
29711
+ toMs?: number | undefined;
29712
+ };
29713
+ output: {
29714
+ deletedBuckets: number;
29715
+ reclaimedBytes: number;
29716
+ };
29717
+ meta: object;
29718
+ }>;
29719
+ listOpsLog: import("@trpc/server").TRPCQueryProcedure<{
29720
+ input: {
29721
+ [x: string]: unknown;
29722
+ deviceId?: number | undefined;
29723
+ limit?: number | undefined;
29724
+ };
29725
+ output: readonly {
29726
+ id: string;
29727
+ at: number;
29728
+ domain: "recording" | "events";
29729
+ op: "prune" | "manual-delete" | "rescan" | "retention-run";
29730
+ reason: "manual" | "retention" | "quota" | "operator";
29731
+ deviceId: number | null;
29732
+ nodeId: string;
29733
+ itemsAffected: number;
29734
+ bytesReclaimed: number;
29735
+ detail: string | null;
29736
+ actor: string;
29737
+ }[];
29738
+ meta: object;
29739
+ }>;
29740
+ }>>;
29741
+ recordingExport: import("@trpc/server").TRPCBuiltRouter<{
29742
+ ctx: TrpcContext;
29743
+ meta: object;
29744
+ errorShape: import("@camstack/types").AugmentedErrorShape;
29745
+ transformer: true;
29746
+ }, import("@trpc/server").TRPCDecorateCreateRouterOptions<{
29747
+ createExport: import("@trpc/server").TRPCMutationProcedure<{
29748
+ input: {
29749
+ [x: string]: unknown;
29750
+ deviceId: number;
29751
+ profile: string;
29752
+ fromMs: number;
29753
+ toMs: number;
29754
+ options: {
29755
+ includeAudio: boolean;
29756
+ maxLifeMs: number;
29757
+ deleteAfterDownload: boolean;
29758
+ speed?: number | undefined;
29759
+ timelapse?: {
29760
+ everyMs: number;
29761
+ outputFps?: number | undefined;
29762
+ } | undefined;
29763
+ title?: string | undefined;
29764
+ };
29765
+ };
29766
+ output: {
29767
+ id: string;
29768
+ deviceId: number;
29769
+ profile: string;
29770
+ fromMs: number;
29771
+ toMs: number;
29772
+ options: {
29773
+ includeAudio: boolean;
29774
+ maxLifeMs: number;
29775
+ deleteAfterDownload: boolean;
29776
+ speed?: number | undefined;
29777
+ timelapse?: {
29778
+ everyMs: number;
29779
+ outputFps?: number | undefined;
29780
+ } | undefined;
29781
+ title?: string | undefined;
29782
+ };
29783
+ state: "failed" | "queued" | "ready" | "deleted" | "rendering" | "expired";
29784
+ progressPct: number | null;
29785
+ fileBytes: number | null;
29786
+ expiresAt: number;
29787
+ deleteAfterDownload: boolean;
29788
+ downloadedAt: number | null;
29789
+ createdAt: number;
29790
+ createdBy: string;
29791
+ error: string | null;
29792
+ };
29793
+ meta: object;
29794
+ }>;
29795
+ listExports: import("@trpc/server").TRPCQueryProcedure<{
29796
+ input: {
29797
+ [x: string]: unknown;
29798
+ deviceId?: number | undefined;
29799
+ };
29800
+ output: {
29801
+ id: string;
29802
+ deviceId: number;
29803
+ profile: string;
29804
+ fromMs: number;
29805
+ toMs: number;
29806
+ options: {
29807
+ includeAudio: boolean;
29808
+ maxLifeMs: number;
29809
+ deleteAfterDownload: boolean;
29810
+ speed?: number | undefined;
29811
+ timelapse?: {
29812
+ everyMs: number;
29813
+ outputFps?: number | undefined;
29814
+ } | undefined;
29815
+ title?: string | undefined;
29816
+ };
29817
+ state: "failed" | "queued" | "ready" | "deleted" | "rendering" | "expired";
29818
+ progressPct: number | null;
29819
+ fileBytes: number | null;
29820
+ expiresAt: number;
29821
+ deleteAfterDownload: boolean;
29822
+ downloadedAt: number | null;
29823
+ createdAt: number;
29824
+ createdBy: string;
29825
+ error: string | null;
29826
+ }[];
29827
+ meta: object;
29828
+ }>;
29829
+ getExport: import("@trpc/server").TRPCQueryProcedure<{
29830
+ input: {
29831
+ [x: string]: unknown;
29832
+ exportId: string;
29833
+ };
29834
+ output: {
29835
+ id: string;
29836
+ deviceId: number;
29837
+ profile: string;
29838
+ fromMs: number;
29839
+ toMs: number;
29840
+ options: {
29841
+ includeAudio: boolean;
29842
+ maxLifeMs: number;
29843
+ deleteAfterDownload: boolean;
29844
+ speed?: number | undefined;
29845
+ timelapse?: {
29846
+ everyMs: number;
29847
+ outputFps?: number | undefined;
29848
+ } | undefined;
29849
+ title?: string | undefined;
29850
+ };
29851
+ state: "failed" | "queued" | "ready" | "deleted" | "rendering" | "expired";
29852
+ progressPct: number | null;
29853
+ fileBytes: number | null;
29854
+ expiresAt: number;
29855
+ deleteAfterDownload: boolean;
29856
+ downloadedAt: number | null;
29857
+ createdAt: number;
29858
+ createdBy: string;
29859
+ error: string | null;
29860
+ };
29861
+ meta: object;
29862
+ }>;
29863
+ cancelExport: import("@trpc/server").TRPCMutationProcedure<{
29864
+ input: {
29865
+ [x: string]: unknown;
29866
+ exportId: string;
29867
+ };
29868
+ output: {
29869
+ id: string;
29870
+ deviceId: number;
29871
+ profile: string;
29872
+ fromMs: number;
29873
+ toMs: number;
29874
+ options: {
29875
+ includeAudio: boolean;
29876
+ maxLifeMs: number;
29877
+ deleteAfterDownload: boolean;
29878
+ speed?: number | undefined;
29879
+ timelapse?: {
29880
+ everyMs: number;
29881
+ outputFps?: number | undefined;
29882
+ } | undefined;
29883
+ title?: string | undefined;
29884
+ };
29885
+ state: "failed" | "queued" | "ready" | "deleted" | "rendering" | "expired";
29886
+ progressPct: number | null;
29887
+ fileBytes: number | null;
29888
+ expiresAt: number;
29889
+ deleteAfterDownload: boolean;
29890
+ downloadedAt: number | null;
29891
+ createdAt: number;
29892
+ createdBy: string;
29893
+ error: string | null;
29894
+ };
29895
+ meta: object;
29896
+ }>;
29897
+ deleteExport: import("@trpc/server").TRPCMutationProcedure<{
29898
+ input: {
29899
+ [x: string]: unknown;
29900
+ exportId: string;
29901
+ };
29902
+ output: {
29903
+ id: string;
29904
+ deviceId: number;
29905
+ profile: string;
29906
+ fromMs: number;
29907
+ toMs: number;
29908
+ options: {
29909
+ includeAudio: boolean;
29910
+ maxLifeMs: number;
29911
+ deleteAfterDownload: boolean;
29912
+ speed?: number | undefined;
29913
+ timelapse?: {
29914
+ everyMs: number;
29915
+ outputFps?: number | undefined;
29916
+ } | undefined;
29917
+ title?: string | undefined;
29918
+ };
29919
+ state: "failed" | "queued" | "ready" | "deleted" | "rendering" | "expired";
29920
+ progressPct: number | null;
29921
+ fileBytes: number | null;
29922
+ expiresAt: number;
29923
+ deleteAfterDownload: boolean;
29924
+ downloadedAt: number | null;
29925
+ createdAt: number;
29926
+ createdBy: string;
29927
+ error: string | null;
29928
+ };
29929
+ meta: object;
29930
+ }>;
29931
+ getDownloadUrl: import("@trpc/server").TRPCQueryProcedure<{
29932
+ input: {
29933
+ [x: string]: unknown;
29934
+ exportId: string;
29935
+ };
29936
+ output: {
29937
+ url: string;
29938
+ endpoints: string[];
29939
+ };
29940
+ meta: object;
29941
+ }>;
29340
29942
  }>>;
29341
29943
  sceneMonitor: import("@trpc/server").TRPCBuiltRouter<{
29342
29944
  ctx: TrpcContext;
@@ -32774,7 +33376,7 @@ export type AppRouter = import("@trpc/server/unstable-core-do-not-import").Route
32774
33376
  input: {
32775
33377
  [x: string]: unknown;
32776
33378
  deviceId: number;
32777
- stage: "motion" | "detection";
33379
+ stage: "motion" | "package" | "detection";
32778
33380
  };
32779
33381
  output: readonly {
32780
33382
  id: string;
@@ -32793,7 +33395,7 @@ export type AppRouter = import("@trpc/server/unstable-core-do-not-import").Route
32793
33395
  input: {
32794
33396
  [x: string]: unknown;
32795
33397
  deviceId: number;
32796
- stage: "motion" | "detection";
33398
+ stage: "motion" | "package" | "detection";
32797
33399
  rules: readonly {
32798
33400
  id: string;
32799
33401
  zoneIds: readonly string[];