@camstack/types 1.2.131 → 1.2.132

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.
@@ -2687,6 +2687,7 @@ export declare const pipelineAnalyticsCapability: {
2687
2687
  }, z.core.$strip>, "mutation">;
2688
2688
  readonly startStorageMigrationMove: import("./capability-definition.js").CapabilityMethodSchema<z.ZodObject<{
2689
2689
  toLocationId: z.ZodString;
2690
+ fromLocationId: z.ZodOptional<z.ZodString>;
2690
2691
  throttleMbps: z.ZodOptional<z.ZodNumber>;
2691
2692
  mode: z.ZodOptional<z.ZodEnum<{
2692
2693
  move: "move";
@@ -2736,6 +2737,7 @@ export declare const pipelineAnalyticsCapability: {
2736
2737
  */
2737
2738
  readonly relocateMedia: import("./capability-definition.js").CapabilityMethodSchema<z.ZodObject<{
2738
2739
  toLocationId: z.ZodString;
2740
+ fromLocationId: z.ZodOptional<z.ZodString>;
2739
2741
  throttleMbps: z.ZodOptional<z.ZodNumber>;
2740
2742
  mode: z.ZodOptional<z.ZodEnum<{
2741
2743
  move: "move";
@@ -2791,6 +2793,7 @@ export declare const pipelineAnalyticsCapability: {
2791
2793
  */
2792
2794
  readonly countRelocatableMedia: import("./capability-definition.js").CapabilityMethodSchema<z.ZodObject<{
2793
2795
  toLocationId: z.ZodString;
2796
+ fromLocationId: z.ZodOptional<z.ZodString>;
2794
2797
  mode: z.ZodOptional<z.ZodEnum<{
2795
2798
  move: "move";
2796
2799
  seal: "seal";
@@ -163,6 +163,42 @@ export declare const RecordingRebalanceInputSchema: z.ZodObject<{
163
163
  minMoveGb: z.ZodOptional<z.ZodNumber>;
164
164
  }, z.core.$strip>;
165
165
  export type RecordingRebalanceInput = z.infer<typeof RecordingRebalanceInputSchema>;
166
+ /**
167
+ * Operator-facing placement of one camera onto a recordings location.
168
+ *
169
+ * `pinLocationId` is the operator instruction: a location id, or `null` for
170
+ * Auto (the planner may move this camera). `locationId` is where high/mid
171
+ * currently write — the plan, which may disagree with the pin when Auto.
172
+ */
173
+ export declare const RecordingDevicePlacementSchema: z.ZodObject<{
174
+ deviceId: z.ZodNumber;
175
+ profile: z.ZodString;
176
+ locationId: z.ZodString;
177
+ }, z.core.$strip>;
178
+ export type RecordingDevicePlacement = z.infer<typeof RecordingDevicePlacementSchema>;
179
+ export declare const RecordingDevicePinSchema: z.ZodObject<{
180
+ deviceId: z.ZodNumber;
181
+ locationId: z.ZodString;
182
+ }, z.core.$strip>;
183
+ export type RecordingDevicePin = z.infer<typeof RecordingDevicePinSchema>;
184
+ export declare const RecordingPlacementViewSchema: z.ZodObject<{
185
+ assignments: z.ZodArray<z.ZodObject<{
186
+ deviceId: z.ZodNumber;
187
+ profile: z.ZodString;
188
+ locationId: z.ZodString;
189
+ }, z.core.$strip>>;
190
+ pins: z.ZodArray<z.ZodObject<{
191
+ deviceId: z.ZodNumber;
192
+ locationId: z.ZodString;
193
+ }, z.core.$strip>>;
194
+ defaultLocations: z.ZodRecord<z.ZodString, z.ZodString>;
195
+ }, z.core.$strip>;
196
+ export type RecordingPlacementView = z.infer<typeof RecordingPlacementViewSchema>;
197
+ export declare const RecordingSetDevicePlacementInputSchema: z.ZodObject<{
198
+ deviceId: z.ZodNumber;
199
+ locationId: z.ZodNullable<z.ZodString>;
200
+ }, z.core.$strip>;
201
+ export type RecordingSetDevicePlacementInput = z.infer<typeof RecordingSetDevicePlacementInputSchema>;
166
202
  /**
167
203
  * Result of locating footage at a wall-clock instant for one device/profile.
168
204
  * `segment` carries the covering segment's window; `gap` reports the forward
@@ -868,6 +904,32 @@ export declare const recordingCapability: {
868
904
  bytesToMove: z.ZodNumber;
869
905
  jobIds: z.ZodArray<z.ZodString>;
870
906
  }, z.core.$strip>, "mutation">;
907
+ /**
908
+ * The placement plan in force plus operator pins. Drives the Locations
909
+ * admin page: Auto vs a named recordings location, per camera.
910
+ */
911
+ readonly getPlacement: import("./capability-definition.js").CapabilityMethodSchema<z.ZodObject<{}, z.core.$strip>, z.ZodObject<{
912
+ assignments: z.ZodArray<z.ZodObject<{
913
+ deviceId: z.ZodNumber;
914
+ profile: z.ZodString;
915
+ locationId: z.ZodString;
916
+ }, z.core.$strip>>;
917
+ pins: z.ZodArray<z.ZodObject<{
918
+ deviceId: z.ZodNumber;
919
+ locationId: z.ZodString;
920
+ }, z.core.$strip>>;
921
+ defaultLocations: z.ZodRecord<z.ZodString, z.ZodString>;
922
+ }, z.core.$strip>, "query">;
923
+ /**
924
+ * Pin a camera to a recordings location, or clear the pin (Auto). High and
925
+ * mid follow the pin; low stays with the recordingsLow planner.
926
+ */
927
+ readonly setDevicePlacement: import("./capability-definition.js").CapabilityMethodSchema<z.ZodObject<{
928
+ deviceId: z.ZodNumber;
929
+ locationId: z.ZodNullable<z.ZodString>;
930
+ }, z.core.$strip>, z.ZodObject<{
931
+ ok: z.ZodLiteral<true>;
932
+ }, z.core.$strip>, "mutation">;
871
933
  };
872
934
  };
873
935
  export type IRecordingProvider = InferProvider<typeof recordingCapability>;
@@ -18,6 +18,13 @@ export declare const storageMigrationCapability: {
18
18
  backups: z.ZodOptional<z.ZodString>;
19
19
  galleryMedia: z.ZodOptional<z.ZodString>;
20
20
  }, z.core.$strip>;
21
+ sources: z.ZodOptional<z.ZodObject<{
22
+ recordings: z.ZodOptional<z.ZodString>;
23
+ recordingsLow: z.ZodOptional<z.ZodString>;
24
+ eventMedia: z.ZodOptional<z.ZodString>;
25
+ backups: z.ZodOptional<z.ZodString>;
26
+ galleryMedia: z.ZodOptional<z.ZodString>;
27
+ }, z.core.$strip>>;
21
28
  throttleMbps: z.ZodOptional<z.ZodNumber>;
22
29
  mode: z.ZodOptional<z.ZodEnum<{
23
30
  blocking: "blocking";
@@ -31,6 +38,13 @@ export declare const storageMigrationCapability: {
31
38
  backups: z.ZodOptional<z.ZodString>;
32
39
  galleryMedia: z.ZodOptional<z.ZodString>;
33
40
  }, z.core.$strip>;
41
+ sources: z.ZodOptional<z.ZodObject<{
42
+ recordings: z.ZodOptional<z.ZodString>;
43
+ recordingsLow: z.ZodOptional<z.ZodString>;
44
+ eventMedia: z.ZodOptional<z.ZodString>;
45
+ backups: z.ZodOptional<z.ZodString>;
46
+ galleryMedia: z.ZodOptional<z.ZodString>;
47
+ }, z.core.$strip>>;
34
48
  mode: z.ZodEnum<{
35
49
  blocking: "blocking";
36
50
  nonBlocking: "nonBlocking";
@@ -45,6 +59,7 @@ export declare const storageMigrationCapability: {
45
59
  }>;
46
60
  fromLocationId: z.ZodString;
47
61
  toLocationId: z.ZodString;
62
+ freezeSource: z.ZodOptional<z.ZodBoolean>;
48
63
  }, z.core.$strip>>;
49
64
  findings: z.ZodArray<z.ZodObject<{
50
65
  code: z.ZodEnum<{
@@ -72,6 +87,13 @@ export declare const storageMigrationCapability: {
72
87
  backups: z.ZodOptional<z.ZodString>;
73
88
  galleryMedia: z.ZodOptional<z.ZodString>;
74
89
  }, z.core.$strip>;
90
+ sources: z.ZodOptional<z.ZodObject<{
91
+ recordings: z.ZodOptional<z.ZodString>;
92
+ recordingsLow: z.ZodOptional<z.ZodString>;
93
+ eventMedia: z.ZodOptional<z.ZodString>;
94
+ backups: z.ZodOptional<z.ZodString>;
95
+ galleryMedia: z.ZodOptional<z.ZodString>;
96
+ }, z.core.$strip>>;
75
97
  throttleMbps: z.ZodOptional<z.ZodNumber>;
76
98
  mode: z.ZodOptional<z.ZodEnum<{
77
99
  blocking: "blocking";
@@ -109,6 +131,13 @@ export declare const storageMigrationCapability: {
109
131
  backups: z.ZodOptional<z.ZodString>;
110
132
  galleryMedia: z.ZodOptional<z.ZodString>;
111
133
  }, z.core.$strip>;
134
+ sources: z.ZodOptional<z.ZodObject<{
135
+ recordings: z.ZodOptional<z.ZodString>;
136
+ recordingsLow: z.ZodOptional<z.ZodString>;
137
+ eventMedia: z.ZodOptional<z.ZodString>;
138
+ backups: z.ZodOptional<z.ZodString>;
139
+ galleryMedia: z.ZodOptional<z.ZodString>;
140
+ }, z.core.$strip>>;
112
141
  throttleMbps: z.ZodNumber;
113
142
  moves: z.ZodArray<z.ZodObject<{
114
143
  storageClass: z.ZodEnum<{
@@ -120,6 +149,7 @@ export declare const storageMigrationCapability: {
120
149
  }>;
121
150
  fromLocationId: z.ZodString;
122
151
  toLocationId: z.ZodString;
152
+ freezeSource: z.ZodOptional<z.ZodBoolean>;
123
153
  moverJobId: z.ZodNullable<z.ZodString>;
124
154
  state: z.ZodNullable<z.ZodEnum<{
125
155
  failed: "failed";
@@ -234,6 +264,125 @@ export declare const storageMigrationCapability: {
234
264
  }, z.core.$strip>, z.ZodObject<{
235
265
  jobId: z.ZodString;
236
266
  }, z.core.$strip>, "mutation">;
267
+ /**
268
+ * One operator cleanup of leftover analytics (DB + blobs) and ghost
269
+ * ledger rows on frozen footage locations. Optional debug-media sweep.
270
+ * Returns immediately; poll {@link cleanupStatus}.
271
+ */
272
+ readonly cleanupStart: import("./capability-definition.js").CapabilityMethodSchema<z.ZodObject<{
273
+ includeDebugMedia: z.ZodOptional<z.ZodBoolean>;
274
+ }, z.core.$strip>, z.ZodObject<{
275
+ jobId: z.ZodString;
276
+ }, z.core.$strip>, "mutation">;
277
+ readonly cleanupStatus: import("./capability-definition.js").CapabilityMethodSchema<z.ZodObject<{
278
+ jobId: z.ZodOptional<z.ZodString>;
279
+ }, z.core.$strip>, z.ZodNullable<z.ZodObject<{
280
+ jobId: z.ZodString;
281
+ phase: z.ZodEnum<{
282
+ failed: "failed";
283
+ done: "done";
284
+ cancelled: "cancelled";
285
+ orphans: "orphans";
286
+ "debug-media": "debug-media";
287
+ "ghost-ledger": "ghost-ledger";
288
+ }>;
289
+ includeDebugMedia: z.ZodBoolean;
290
+ orphansReclaimed: z.ZodNumber;
291
+ orphanBytesReclaimed: z.ZodNumber;
292
+ debugMediaReclaimed: z.ZodNumber;
293
+ debugMediaBytesReclaimed: z.ZodNumber;
294
+ ghostsForgotten: z.ZodNumber;
295
+ ghostBytesForgotten: z.ZodNumber;
296
+ detail: z.ZodNullable<z.ZodString>;
297
+ cancelRequested: z.ZodBoolean;
298
+ startedAt: z.ZodNumber;
299
+ updatedAt: z.ZodNumber;
300
+ finishedAt: z.ZodNullable<z.ZodNumber>;
301
+ error: z.ZodNullable<z.ZodString>;
302
+ }, z.core.$strip>>, import("./capability-definition.js").CapabilityMethodKind>;
303
+ readonly cleanupCancel: import("./capability-definition.js").CapabilityMethodSchema<z.ZodObject<{
304
+ jobId: z.ZodString;
305
+ }, z.core.$strip>, z.ZodObject<{
306
+ cancelled: z.ZodBoolean;
307
+ }, z.core.$strip>, "mutation">;
308
+ /** Recent finished migration jobs, newest first. The live job is `status`. */
309
+ readonly history: import("./capability-definition.js").CapabilityMethodSchema<z.ZodObject<{}, z.core.$strip>, z.ZodReadonly<z.ZodArray<z.ZodObject<{
310
+ jobId: z.ZodString;
311
+ phase: z.ZodEnum<{
312
+ moving: "moving";
313
+ verifying: "verifying";
314
+ failed: "failed";
315
+ done: "done";
316
+ cancelled: "cancelled";
317
+ planning: "planning";
318
+ sealing: "sealing";
319
+ pausing: "pausing";
320
+ draining: "draining";
321
+ repointing: "repointing";
322
+ refreshing: "refreshing";
323
+ resuming: "resuming";
324
+ }>;
325
+ mode: z.ZodEnum<{
326
+ blocking: "blocking";
327
+ nonBlocking: "nonBlocking";
328
+ }>;
329
+ destinations: z.ZodObject<{
330
+ recordings: z.ZodOptional<z.ZodString>;
331
+ recordingsLow: z.ZodOptional<z.ZodString>;
332
+ eventMedia: z.ZodOptional<z.ZodString>;
333
+ backups: z.ZodOptional<z.ZodString>;
334
+ galleryMedia: z.ZodOptional<z.ZodString>;
335
+ }, z.core.$strip>;
336
+ sources: z.ZodOptional<z.ZodObject<{
337
+ recordings: z.ZodOptional<z.ZodString>;
338
+ recordingsLow: z.ZodOptional<z.ZodString>;
339
+ eventMedia: z.ZodOptional<z.ZodString>;
340
+ backups: z.ZodOptional<z.ZodString>;
341
+ galleryMedia: z.ZodOptional<z.ZodString>;
342
+ }, z.core.$strip>>;
343
+ throttleMbps: z.ZodNumber;
344
+ moves: z.ZodArray<z.ZodObject<{
345
+ storageClass: z.ZodEnum<{
346
+ recordings: "recordings";
347
+ recordingsLow: "recordingsLow";
348
+ eventMedia: "eventMedia";
349
+ backups: "backups";
350
+ galleryMedia: "galleryMedia";
351
+ }>;
352
+ fromLocationId: z.ZodString;
353
+ toLocationId: z.ZodString;
354
+ freezeSource: z.ZodOptional<z.ZodBoolean>;
355
+ moverJobId: z.ZodNullable<z.ZodString>;
356
+ state: z.ZodNullable<z.ZodEnum<{
357
+ failed: "failed";
358
+ running: "running";
359
+ queued: "queued";
360
+ done: "done";
361
+ cancelled: "cancelled";
362
+ }>>;
363
+ error: z.ZodNullable<z.ZodString>;
364
+ progress: z.ZodNullable<z.ZodObject<{
365
+ filesMoved: z.ZodNumber;
366
+ filesTotal: z.ZodNullable<z.ZodNumber>;
367
+ bytesMoved: z.ZodNumber;
368
+ rowsReconciled: z.ZodOptional<z.ZodNumber>;
369
+ startedAt: z.ZodNumber;
370
+ observedAt: z.ZodNumber;
371
+ }, z.core.$strip>>;
372
+ }, z.core.$strip>>;
373
+ pauseLeaseId: z.ZodNullable<z.ZodString>;
374
+ pausedParticipants: z.ZodArray<z.ZodEnum<{
375
+ pipeline: "pipeline";
376
+ recorder: "recorder";
377
+ analytics: "analytics";
378
+ }>>;
379
+ repointed: z.ZodBoolean;
380
+ cancelRequested: z.ZodBoolean;
381
+ startedAt: z.ZodNumber;
382
+ updatedAt: z.ZodNumber;
383
+ finishedAt: z.ZodNullable<z.ZodNumber>;
384
+ error: z.ZodNullable<z.ZodString>;
385
+ }, z.core.$strip>>>, import("./capability-definition.js").CapabilityMethodKind>;
237
386
  };
238
387
  };
239
388
  export type IStorageMigrationProvider = InferProvider<typeof storageMigrationCapability>;
@@ -6655,6 +6655,20 @@ export type AppRouter = TrpcCoreRouter<{
6655
6655
  output: z.infer<typeof recordingCapability.methods.startStorageRebalance.output>;
6656
6656
  meta: object;
6657
6657
  }>;
6658
+ getPlacement: TRPCQueryProcedure<{
6659
+ input: {
6660
+ [x: string]: unknown;
6661
+ } & z.input<typeof recordingCapability.methods.getPlacement.input>;
6662
+ output: z.infer<typeof recordingCapability.methods.getPlacement.output>;
6663
+ meta: object;
6664
+ }>;
6665
+ setDevicePlacement: TRPCMutationProcedure<{
6666
+ input: {
6667
+ [x: string]: unknown;
6668
+ } & z.input<typeof recordingCapability.methods.setDevicePlacement.input>;
6669
+ output: z.infer<typeof recordingCapability.methods.setDevicePlacement.output>;
6670
+ meta: object;
6671
+ }>;
6658
6672
  }>>;
6659
6673
  recordingExport: TRPCBuiltRouter<{
6660
6674
  ctx: TrpcContext;
@@ -7336,6 +7350,34 @@ export type AppRouter = TrpcCoreRouter<{
7336
7350
  output: z.infer<typeof storageMigrationCapability.methods.drain.output>;
7337
7351
  meta: object;
7338
7352
  }>;
7353
+ cleanupStart: TRPCMutationProcedure<{
7354
+ input: {
7355
+ [x: string]: unknown;
7356
+ } & z.input<typeof storageMigrationCapability.methods.cleanupStart.input>;
7357
+ output: z.infer<typeof storageMigrationCapability.methods.cleanupStart.output>;
7358
+ meta: object;
7359
+ }>;
7360
+ cleanupStatus: TRPCQueryProcedure<{
7361
+ input: {
7362
+ [x: string]: unknown;
7363
+ } & z.input<typeof storageMigrationCapability.methods.cleanupStatus.input>;
7364
+ output: z.infer<typeof storageMigrationCapability.methods.cleanupStatus.output>;
7365
+ meta: object;
7366
+ }>;
7367
+ cleanupCancel: TRPCMutationProcedure<{
7368
+ input: {
7369
+ [x: string]: unknown;
7370
+ } & z.input<typeof storageMigrationCapability.methods.cleanupCancel.input>;
7371
+ output: z.infer<typeof storageMigrationCapability.methods.cleanupCancel.output>;
7372
+ meta: object;
7373
+ }>;
7374
+ history: TRPCQueryProcedure<{
7375
+ input: {
7376
+ [x: string]: unknown;
7377
+ } & z.input<typeof storageMigrationCapability.methods.history.input>;
7378
+ output: z.infer<typeof storageMigrationCapability.methods.history.output>;
7379
+ meta: object;
7380
+ }>;
7339
7381
  }>>;
7340
7382
  storageProvider: TRPCBuiltRouter<{
7341
7383
  ctx: TrpcContext;
@@ -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: 994 method paths across 126 capabilities.
9
+ * Coverage: 1000 method paths across 126 capabilities.
10
10
  */
11
11
  import type { CapabilityMethodAccess } from '../capabilities/capability-definition.js';
12
12
  export interface MethodAccessRecord {
@@ -6,8 +6,8 @@
6
6
  * system-scope cap that takes a deviceId was previously never device-filtered
7
7
  * — see the generator header).
8
8
  *
9
- * Coverage: 352 methods carry a device reference, of which
10
- * 130 are on SYSTEM-scope caps.
9
+ * Coverage: 353 methods carry a device reference, of which
10
+ * 131 are on SYSTEM-scope caps.
11
11
  *
12
12
  * Top-level fields, number arrays, and one-level arrays of objects carrying
13
13
  * a numeric device field (targets[].deviceId) are all mapped; the matcher
@@ -87,12 +87,12 @@ export interface SystemProxy {
87
87
  readonly pipelineOrchestrator: Pick<InferProvider<typeof pipelineOrchestratorCapability>, 'pauseForStorageMigration' | 'resumeForStorageMigration' | 'rebalance' | 'getPipelineAssignments' | 'getAgentLoad' | 'getGlobalMetrics' | 'getCapabilityBindings' | 'setCapabilityBinding' | 'getIngestOwner' | 'getAudioNodeLoad' | 'getAgentSettings' | 'listAgentSettings' | 'removeAgentSettings' | 'setAgentMaxCameras' | 'setAgentDetectWeight' | 'setAgentCapabilities' | 'setAgentReachableHost' | 'setAgentInferenceDevices' | 'getNodeInferenceDevices' | 'resetNodePipelineDefaults' | 'getCameraStatuses' | 'reconcileFromDisk' | 'getReconcileFromDiskStatus' | 'listTemplates' | 'saveTemplate' | 'updateTemplate' | 'deleteTemplate'>;
88
88
  readonly pipelineRunner: Pick<InferProvider<typeof pipelineRunnerCapability>, 'attachCamera' | 'reportMotion' | 'getLocalLoad' | 'getLocalMetrics' | 'getAllCameraMetrics' | 'getLocalCameras' | 'getNativeCrop' | 'runStatelessStep'>;
89
89
  readonly plateGallery: Pick<InferProvider<typeof plateGalleryCapability>, 'getPlateMedia' | 'searchPlates' | 'suggestPlateClusters' | 'correctPlateText' | 'deletePlate' | 'listVehicles' | 'createVehicle' | 'renameVehicle' | 'deleteVehicle' | 'listVehicleSamples' | 'removeVehicleSample' | 'assignPlate' | 'unassignPlate' | 'assignPlates' | 'unassignPlates'>;
90
- readonly recording: Pick<InferProvider<typeof recordingCapability>, 'getStorageUsage' | 'listOpsLog' | 'pauseForStorageMigration' | 'resumeForStorageMigration' | 'refreshStorageLocationsForMigration' | 'startStorageMigrationMove' | 'getStorageMigrationMoveStatus' | 'cancelStorageMigrationMove' | 'relocateFootage' | 'listRelocateJobs' | 'getRelocateResidue' | 'reconcileLedgerAgainstDisk' | 'cancelRelocateJob' | 'planStorageRebalance' | 'startStorageRebalance'>;
90
+ readonly recording: Pick<InferProvider<typeof recordingCapability>, 'getStorageUsage' | 'listOpsLog' | 'pauseForStorageMigration' | 'resumeForStorageMigration' | 'refreshStorageLocationsForMigration' | 'startStorageMigrationMove' | 'getStorageMigrationMoveStatus' | 'cancelStorageMigrationMove' | 'relocateFootage' | 'listRelocateJobs' | 'getRelocateResidue' | 'reconcileLedgerAgainstDisk' | 'cancelRelocateJob' | 'planStorageRebalance' | 'startStorageRebalance' | 'getPlacement' | 'setDevicePlacement'>;
91
91
  readonly recordingExport: Pick<InferProvider<typeof recordingExportCapability>, 'createExport' | 'getExport' | 'cancelExport' | 'deleteExport' | 'getDownloadUrl' | 'readExportBytes'>;
92
92
  readonly serverManagement: Pick<InferProvider<typeof serverManagementCapability>, 'getServerPackageStatus' | 'checkServerUpdate' | 'applyServerUpdate' | 'rollbackServerUpdate' | 'restartServer'>;
93
93
  readonly settingsStore: Pick<InferProvider<typeof settingsStoreCapability>, 'get' | 'set' | 'query' | 'insert' | 'insertMany' | 'update' | 'delete' | 'deleteWhere' | 'updateWhere' | 'count' | 'aggregate' | 'histogram' | 'isEmpty' | 'declareCollection'>;
94
94
  readonly storage: Pick<InferProvider<typeof storageCapability>, 'resolve' | 'write' | 'read' | 'exists' | 'list' | 'delete' | 'getAvailableSpace' | 'beginUpload' | 'writeChunk' | 'finalizeUpload' | 'abortUpload' | 'beginDownload' | 'readChunk' | 'endDownload' | 'listLocations' | 'getDefaultLocation' | 'listLocationDeclarations' | 'upsertLocation' | 'deleteLocation' | 'testLocation' | 'listProviders' | 'testConfig'>;
95
- readonly storageMigration: Pick<InferProvider<typeof storageMigrationCapability>, 'plan' | 'start' | 'status' | 'cancel' | 'movers' | 'residue' | 'drain'>;
95
+ readonly storageMigration: Pick<InferProvider<typeof storageMigrationCapability>, 'plan' | 'start' | 'status' | 'cancel' | 'movers' | 'residue' | 'drain' | 'cleanupStart' | 'cleanupStatus' | 'cleanupCancel' | 'history'>;
96
96
  readonly streamBroker: Pick<InferProvider<typeof streamBrokerCapability>, 'fetchEventMedia' | 'listAllCameraStreams' | 'listAllProfileSlots' | 'getBrokerStats' | 'probeStream' | 'listClients' | 'killClient' | 'getStreamUrl' | 'getStreamWithCodec' | 'releaseStreamWithCodec' | 'acquireEgressTranscode' | 'releaseEgressTranscode' | 'subscribeAudioChunks' | 'pullAudioChunks' | 'unsubscribeAudioChunks' | 'subscribeFrames' | 'pullFrameHandles' | 'unsubscribeFrames' | 'setPreBufferDuration' | 'getPreBufferInfo' | 'getRtspPort' | 'getAllRtspEntries' | 'getRtspEntry' | 'regenerateRtspToken' | 'setRtspEnabled' | 'isRtspEnabled'>;
97
97
  readonly system: Pick<InferProvider<typeof systemCapability>, 'info' | 'health' | 'featureFlags' | 'networkAddresses' | 'getRetentionConfig' | 'setRetentionConfig' | 'forceRetentionCleanup' | 'getSiteLocation' | 'setSiteLocation' | 'detectSiteLocation' | 'getRequestCensus' | 'getLoadContributions' | 'getFailureContributions' | 'getLoggingSettings' | 'setLoggingSettings'>;
98
98
  readonly terminalSession: Pick<InferProvider<typeof terminalSessionCapability>, 'listProfiles' | 'listInstances' | 'createInstance' | 'updateInstance' | 'deleteInstance' | 'setInstanceEnabled' | 'listLegacyCameras' | 'adoptLegacyMonitor' | 'listSessions' | 'openSession' | 'resize' | 'pullOutput' | 'writeInput' | 'close'>;