@camstack/types 1.2.131 → 1.2.133
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.
- package/dist/addon.js +2 -3
- package/dist/addon.mjs +2 -3
- package/dist/capabilities/device-manager.cap.d.ts +20 -0
- package/dist/capabilities/index.d.ts +1 -1
- package/dist/capabilities/pipeline-analytics.cap.d.ts +3 -124
- package/dist/capabilities/recording.cap.d.ts +62 -0
- package/dist/capabilities/storage-migration.cap.d.ts +149 -0
- package/dist/generated/addon-api.d.ts +49 -14
- package/dist/generated/cap-input-defaults.d.ts +1 -1
- package/dist/generated/method-access-map.d.ts +1 -1
- package/dist/generated/method-device-selectors.d.ts +2 -2
- package/dist/generated/system-proxy.d.ts +3 -3
- package/dist/index.js +223 -90
- package/dist/index.mjs +219 -86
- package/dist/interfaces/relocate.d.ts +92 -0
- package/dist/interfaces/storage-location.d.ts +4 -5
- package/dist/{sleep-BBI0PDUc.mjs → sleep-DAxSW8cv.mjs} +0 -2
- package/dist/{sleep-CqVyhcl-.js → sleep-DkBAyPva.js} +0 -2
- package/package.json +1 -1
|
@@ -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:
|
|
9
|
+
* Coverage: 999 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:
|
|
10
|
-
*
|
|
9
|
+
* Coverage: 351 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
|
|
@@ -68,7 +68,7 @@ export interface SystemProxy {
|
|
|
68
68
|
readonly decoder: Pick<InferProvider<typeof decoderCapability>, 'supportsCodec' | 'getInfo' | 'createSession' | 'destroySession' | 'pushPacket' | 'openStream' | 'pullFrames' | 'pullHandles' | 'getFrame' | 'getShmStats' | 'updateConfig' | 'getStats' | 'listActiveSessions' | 'reprobeHwaccel'>;
|
|
69
69
|
readonly deviceAdoption: Pick<InferProvider<typeof deviceAdoptionCapability>, 'listCandidateFilters' | 'listCandidates' | 'getCandidate' | 'refresh' | 'adopt' | 'release' | 'resync'>;
|
|
70
70
|
readonly deviceExport: Pick<InferProvider<typeof deviceExportCapability>, 'getStatus' | 'listSupportedDeviceKinds' | 'listExposedDevices' | 'exposeDevice' | 'unexposeDevice'>;
|
|
71
|
-
readonly deviceManager: Pick<InferProvider<typeof deviceManagerCapability>, 'allocateDeviceId' | 'registerDevice' | 'removeDevice' | 'persistConfig' | 'getRoleDisplayDefaults' | 'setRoleDisplayDefaults' | 'listLocations' | 'addLocation' | 'removeLocation' | 'listPersistedByAddon' | 'listAll' | 'getChildren' | 'getChildrenBatch' | 'getLinkedDevicesBatch' | 'removeByIntegration' | 'getBindingsBatch' | 'getAllBindings' | 'listWrappersForCap' | 'listBindableCapsForDeviceType' | 'discoverDevices' | 'adoptDevice' | 'getCreationSchema' | 'createDevice' | 'testCreationField' | 'adoptionListCandidateFilters' | 'adoptionListCandidates' | 'adoptionRefresh' | 'adoptionAdopt' | 'adoptionRelease' | 'adoptionStartJob' | 'adoptionListJobs' | 'adoptionCancelJob' | 'adoptionResync' | 'discoveryProviders' | 'discoverAllProviders' | 'discoverProvider' | 'providerCreationType' | 'providerDiscoveryParamsSchema' | 'getDeviceStatusAggregateBatch'>;
|
|
71
|
+
readonly deviceManager: Pick<InferProvider<typeof deviceManagerCapability>, 'allocateDeviceId' | 'registerDevice' | 'removeDevice' | 'persistConfig' | 'getRoleDisplayDefaults' | 'setRoleDisplayDefaults' | 'listLocations' | 'addLocation' | 'removeLocation' | 'renameLocation' | 'listPersistedByAddon' | 'listAll' | 'getChildren' | 'getChildrenBatch' | 'getLinkedDevicesBatch' | 'removeByIntegration' | 'getBindingsBatch' | 'getAllBindings' | 'listWrappersForCap' | 'listBindableCapsForDeviceType' | 'discoverDevices' | 'adoptDevice' | 'getCreationSchema' | 'createDevice' | 'testCreationField' | 'adoptionListCandidateFilters' | 'adoptionListCandidates' | 'adoptionRefresh' | 'adoptionAdopt' | 'adoptionRelease' | 'adoptionStartJob' | 'adoptionListJobs' | 'adoptionCancelJob' | 'adoptionResync' | 'discoveryProviders' | 'discoverAllProviders' | 'discoverProvider' | 'providerCreationType' | 'providerDiscoveryParamsSchema' | 'getDeviceStatusAggregateBatch'>;
|
|
72
72
|
readonly deviceProvider: Pick<InferProvider<typeof deviceProviderCapability>, 'start' | 'stop' | 'getStatus' | 'getDevices' | 'supportsDiscovery' | 'discoverDevices' | 'getDiscoveryParamsSchema' | 'getManualCreationType' | 'adoptDiscoveredDevice' | 'supportsManualCreation' | 'getChildCreationSchema' | 'createDevice' | 'testCreationField'>;
|
|
73
73
|
readonly deviceState: Pick<InferProvider<typeof deviceStateCapability>, 'getAllSnapshots'>;
|
|
74
74
|
readonly faceGallery: Pick<InferProvider<typeof faceGalleryCapability>, 'listIdentities' | 'createIdentity' | 'renameIdentity' | 'deleteIdentity' | 'listIdentitySamples' | 'removeSample' | 'getFaceMedia' | 'assignFace' | 'unassignFace' | 'deleteFace' | 'assignFaces' | 'unassignFaces' | 'suggestFaceClusters'>;
|
|
@@ -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'>;
|
package/dist/index.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
2
2
|
const require_event_category = require("./event-category-BaEgqJNv.js");
|
|
3
|
-
const require_sleep = require("./sleep-
|
|
3
|
+
const require_sleep = require("./sleep-DkBAyPva.js");
|
|
4
4
|
const require_canonical_hash = require("./canonical-hash-DNV8S5ET.js");
|
|
5
5
|
const require_enums = require("./enums.js");
|
|
6
6
|
const require_err_msg = require("./err-msg-COpsHMw2.js");
|
|
@@ -2345,6 +2345,13 @@ var MediaRelocateModeSchema = zod.z.enum([
|
|
|
2345
2345
|
]);
|
|
2346
2346
|
var RelocateMediaInputSchema = zod.z.object({
|
|
2347
2347
|
toLocationId: zod.z.string(),
|
|
2348
|
+
/**
|
|
2349
|
+
* Restrict the pass to rows currently on this location. Omitted / `'*'` =
|
|
2350
|
+
* every row that is not already on `toLocationId` (the historical
|
|
2351
|
+
* behaviour). A named source is what a from→to migration needs: without it
|
|
2352
|
+
* "move events off disk 2" also emptied disk 1.
|
|
2353
|
+
*/
|
|
2354
|
+
fromLocationId: zod.z.string().optional(),
|
|
2348
2355
|
throttleMbps: zod.z.number().min(1).max(1e3).optional(),
|
|
2349
2356
|
/** Omitted = `move`, the pre-existing behaviour. */
|
|
2350
2357
|
mode: MediaRelocateModeSchema.optional()
|
|
@@ -2412,6 +2419,19 @@ var StorageMigrationDestinationsSchema = zod.z.object({
|
|
|
2412
2419
|
galleryMedia: zod.z.string().min(1).optional()
|
|
2413
2420
|
}).refine((value) => Object.keys(value).length > 0, { message: "select at least one storage class" });
|
|
2414
2421
|
/**
|
|
2422
|
+
* Optional named source per class. Omitted = the class's current default
|
|
2423
|
+
* (the historical behaviour). A named source that is NOT the default is a
|
|
2424
|
+
* drain of that disk: bytes move, the default stays, and the source is
|
|
2425
|
+
* disabled when the move finishes.
|
|
2426
|
+
*/
|
|
2427
|
+
var StorageMigrationSourcesSchema = zod.z.object({
|
|
2428
|
+
recordings: zod.z.string().min(1).optional(),
|
|
2429
|
+
recordingsLow: zod.z.string().min(1).optional(),
|
|
2430
|
+
eventMedia: zod.z.string().min(1).optional(),
|
|
2431
|
+
backups: zod.z.string().min(1).optional(),
|
|
2432
|
+
galleryMedia: zod.z.string().min(1).optional()
|
|
2433
|
+
}).optional();
|
|
2434
|
+
/**
|
|
2415
2435
|
* How a migration sequences the cutover against the byte move.
|
|
2416
2436
|
*
|
|
2417
2437
|
* - `blocking` — the historical order: pause, move every byte, repoint,
|
|
@@ -2433,6 +2453,8 @@ var StorageMigrationModeSchema = zod.z.enum(["blocking", "nonBlocking"]);
|
|
|
2433
2453
|
/** Shared input for planning and starting an orchestrated storage migration. */
|
|
2434
2454
|
var StorageMigrationInputSchema = zod.z.object({
|
|
2435
2455
|
destinations: StorageMigrationDestinationsSchema,
|
|
2456
|
+
/** Omitted = each class's current default. */
|
|
2457
|
+
sources: StorageMigrationSourcesSchema,
|
|
2436
2458
|
throttleMbps: zod.z.number().min(1).max(1e3).optional(),
|
|
2437
2459
|
/** Omitted = `blocking`, which stays the default. */
|
|
2438
2460
|
mode: StorageMigrationModeSchema.optional()
|
|
@@ -2512,6 +2534,13 @@ var StorageMigrationMoveSchema = zod.z.object({
|
|
|
2512
2534
|
storageClass: StorageMigrationClassSchema,
|
|
2513
2535
|
fromLocationId: zod.z.string(),
|
|
2514
2536
|
toLocationId: zod.z.string(),
|
|
2537
|
+
/**
|
|
2538
|
+
* True when `from` was NOT the class default at plan time. The move still
|
|
2539
|
+
* copies bytes, but the default is left alone and the source is disabled
|
|
2540
|
+
* once the copy verifies. Absent on jobs planned before this field existed
|
|
2541
|
+
* — those jobs always repointed, which is `false`.
|
|
2542
|
+
*/
|
|
2543
|
+
freezeSource: zod.z.boolean().optional(),
|
|
2515
2544
|
moverJobId: zod.z.string().nullable(),
|
|
2516
2545
|
state: RelocateJobStateSchema.nullable(),
|
|
2517
2546
|
error: zod.z.string().nullable(),
|
|
@@ -2525,6 +2554,7 @@ var StorageMigrationJobSchema = zod.z.object({
|
|
|
2525
2554
|
* can tell a seconds-long cutover from a thirty-hour one. */
|
|
2526
2555
|
mode: StorageMigrationModeSchema,
|
|
2527
2556
|
destinations: StorageMigrationDestinationsSchema,
|
|
2557
|
+
sources: StorageMigrationSourcesSchema,
|
|
2528
2558
|
throttleMbps: zod.z.number(),
|
|
2529
2559
|
moves: zod.z.array(StorageMigrationMoveSchema),
|
|
2530
2560
|
pauseLeaseId: zod.z.string().nullable(),
|
|
@@ -2574,6 +2604,7 @@ var StorageMigrationFindingSchema = zod.z.object({
|
|
|
2574
2604
|
});
|
|
2575
2605
|
var StorageMigrationPlanSchema = zod.z.object({
|
|
2576
2606
|
destinations: StorageMigrationDestinationsSchema,
|
|
2607
|
+
sources: StorageMigrationSourcesSchema,
|
|
2577
2608
|
/** The mode this plan was built for. A plan is only valid for its mode: the
|
|
2578
2609
|
* `eventMedia` seal gate and the single-cardinality refusal both depend on
|
|
2579
2610
|
* it. */
|
|
@@ -2581,7 +2612,8 @@ var StorageMigrationPlanSchema = zod.z.object({
|
|
|
2581
2612
|
moves: zod.z.array(zod.z.object({
|
|
2582
2613
|
storageClass: StorageMigrationClassSchema,
|
|
2583
2614
|
fromLocationId: zod.z.string(),
|
|
2584
|
-
toLocationId: zod.z.string()
|
|
2615
|
+
toLocationId: zod.z.string(),
|
|
2616
|
+
freezeSource: zod.z.boolean().optional()
|
|
2585
2617
|
})),
|
|
2586
2618
|
findings: zod.z.array(StorageMigrationFindingSchema)
|
|
2587
2619
|
});
|
|
@@ -2768,9 +2800,50 @@ var LedgerWalkReportSchema = zod.z.object({
|
|
|
2768
2800
|
var RelocatableMediaCountSchema = zod.z.object({ rows: zod.z.number().int().nonnegative() }).nullable();
|
|
2769
2801
|
var RelocatableMediaCountInputSchema = zod.z.object({
|
|
2770
2802
|
toLocationId: zod.z.string().min(1),
|
|
2803
|
+
/** Restrict the count to one source; omitted / `'*'` = every non-target row. */
|
|
2804
|
+
fromLocationId: zod.z.string().optional(),
|
|
2771
2805
|
/** Omitted = `move`. */
|
|
2772
2806
|
mode: MediaRelocateModeSchema.optional()
|
|
2773
2807
|
});
|
|
2808
|
+
/**
|
|
2809
|
+
* Operator cleanup of leftover analytics rows, optional debug media, and
|
|
2810
|
+
* ghost ledger entries on frozen footage locations.
|
|
2811
|
+
*
|
|
2812
|
+
* A pass is tens of minutes on a standing backlog. The hub method RETURNS
|
|
2813
|
+
* `{ jobId }` immediately; progress is `cleanupStatus`. Awaiting the work
|
|
2814
|
+
* is how `addons.custom` hit the 60 s UDS deadline while reclaim continued
|
|
2815
|
+
* with no operator-visible status.
|
|
2816
|
+
*/
|
|
2817
|
+
var StorageCleanupPhaseSchema = zod.z.enum([
|
|
2818
|
+
"orphans",
|
|
2819
|
+
"debug-media",
|
|
2820
|
+
"ghost-ledger",
|
|
2821
|
+
"done",
|
|
2822
|
+
"failed",
|
|
2823
|
+
"cancelled"
|
|
2824
|
+
]);
|
|
2825
|
+
var StorageCleanupInputSchema = zod.z.object({
|
|
2826
|
+
/** Also walk motion stills / track filmstrips. Off by default. */
|
|
2827
|
+
includeDebugMedia: zod.z.boolean().optional() });
|
|
2828
|
+
var StorageCleanupJobSchema = zod.z.object({
|
|
2829
|
+
jobId: zod.z.string(),
|
|
2830
|
+
phase: StorageCleanupPhaseSchema,
|
|
2831
|
+
includeDebugMedia: zod.z.boolean(),
|
|
2832
|
+
orphansReclaimed: zod.z.number().int().nonnegative(),
|
|
2833
|
+
orphanBytesReclaimed: zod.z.number().int().nonnegative(),
|
|
2834
|
+
debugMediaReclaimed: zod.z.number().int().nonnegative(),
|
|
2835
|
+
debugMediaBytesReclaimed: zod.z.number().int().nonnegative(),
|
|
2836
|
+
ghostsForgotten: zod.z.number().int().nonnegative(),
|
|
2837
|
+
ghostBytesForgotten: zod.z.number().int().nonnegative(),
|
|
2838
|
+
/** Short operator-facing line: current collection, pass, or location. */
|
|
2839
|
+
detail: zod.z.string().nullable(),
|
|
2840
|
+
cancelRequested: zod.z.boolean(),
|
|
2841
|
+
startedAt: zod.z.number(),
|
|
2842
|
+
updatedAt: zod.z.number(),
|
|
2843
|
+
finishedAt: zod.z.number().nullable(),
|
|
2844
|
+
error: zod.z.string().nullable()
|
|
2845
|
+
});
|
|
2846
|
+
var StorageCleanupStatusInputSchema = zod.z.object({ jobId: zod.z.string().optional() });
|
|
2774
2847
|
//#endregion
|
|
2775
2848
|
//#region src/interfaces/server-analysis.ts
|
|
2776
2849
|
var SUB_DETECTION_TYPES = ["face", "plate"];
|
|
@@ -2810,11 +2883,10 @@ var StorageLocationTypeSchema = zod.z.string().regex(/^[a-z][a-zA-Z0-9-]*$/);
|
|
|
2810
2883
|
* The default location for a type uses `id === <type>:default` by
|
|
2811
2884
|
* convention (the bare type ref like `'backups'` resolves to it).
|
|
2812
2885
|
*
|
|
2813
|
-
* `isSystem
|
|
2814
|
-
*
|
|
2815
|
-
*
|
|
2816
|
-
*
|
|
2817
|
-
* deleting it is rejected at the cap level.
|
|
2886
|
+
* `isSystem` is a legacy persisted flag. Seed still creates the initial
|
|
2887
|
+
* `<type>:default` locations; the flag is no longer a lock, a badge, or a
|
|
2888
|
+
* prune selector. New writes leave it false. Deletion is gated on uniqueness
|
|
2889
|
+
* / last-enabled, not on this bit.
|
|
2818
2890
|
*/
|
|
2819
2891
|
var StorageLocationSchema = zod.z.object({
|
|
2820
2892
|
id: zod.z.string().regex(/^[a-z][a-zA-Z0-9-]*:[a-zA-Z0-9-]+$/),
|
|
@@ -10467,6 +10539,27 @@ var deviceManagerCapability = {
|
|
|
10467
10539
|
kind: "mutation",
|
|
10468
10540
|
auth: "admin"
|
|
10469
10541
|
}),
|
|
10542
|
+
/** Rename a room: replace the label in the registry IN PLACE and move
|
|
10543
|
+
* every device that carried it, as ONE server operation.
|
|
10544
|
+
*
|
|
10545
|
+
* The admin UI used to do this as `addLocation(to)` → N ×
|
|
10546
|
+
* `setLocation(device, to)` → `removeLocation(from)` from the browser.
|
|
10547
|
+
* Nothing bound those three together, so a closed tab left the fleet
|
|
10548
|
+
* split across two rooms — one of which the operator believed was gone.
|
|
10549
|
+
*
|
|
10550
|
+
* `from` is matched the way the registry matches everywhere else
|
|
10551
|
+
* (trimmed, case-insensitive) and need NOT be registered: the registry is
|
|
10552
|
+
* a suggestion list, and the devices that most need a rename are exactly
|
|
10553
|
+
* the ones carrying a label nobody registered. `to` renames onto an
|
|
10554
|
+
* existing room by MERGING into it, leaving no duplicate label. An empty
|
|
10555
|
+
* `to` throws before anything is written. */
|
|
10556
|
+
renameLocation: require_sleep.method(zod.z.object({
|
|
10557
|
+
from: zod.z.string(),
|
|
10558
|
+
to: zod.z.string()
|
|
10559
|
+
}), zod.z.object({ moved: zod.z.number() }), {
|
|
10560
|
+
kind: "mutation",
|
|
10561
|
+
auth: "admin"
|
|
10562
|
+
}),
|
|
10470
10563
|
/** Soft-disable / re-enable the device. Drivers consult
|
|
10471
10564
|
* `BaseDevice.disabled` to gate lifecycle hooks. */
|
|
10472
10565
|
setDisabled: require_sleep.method(zod.z.object({
|
|
@@ -18626,46 +18719,6 @@ var RecentTracksPageSchema = zod.z.object({
|
|
|
18626
18719
|
/** Cursor for the next page, or null when this page is the last. */
|
|
18627
18720
|
nextCursor: zod.z.string().nullable()
|
|
18628
18721
|
});
|
|
18629
|
-
var LIST_GROUPS_DEFAULT_LIMIT = 40;
|
|
18630
|
-
var LIST_GROUPS_MAX_LIMIT = 100;
|
|
18631
|
-
var AnalyticsGroupRecordSchema = zod.z.object({
|
|
18632
|
-
id: zod.z.string(),
|
|
18633
|
-
deviceId: zod.z.number().int(),
|
|
18634
|
-
openedAt: zod.z.number().int(),
|
|
18635
|
-
closedAt: zod.z.number().int(),
|
|
18636
|
-
timestamp: zod.z.number().int(),
|
|
18637
|
-
memberCount: zod.z.number().int(),
|
|
18638
|
-
memberTrackIds: zod.z.array(zod.z.string()).readonly(),
|
|
18639
|
-
className: zod.z.string(),
|
|
18640
|
-
classes: zod.z.array(zod.z.string()).readonly(),
|
|
18641
|
-
/** Relative event-media path, or null when the group has no picture yet. */
|
|
18642
|
-
mediaUrl: zod.z.string().nullable(),
|
|
18643
|
-
singleton: zod.z.boolean()
|
|
18644
|
-
});
|
|
18645
|
-
var AnalyticsGroupMemberSchema = zod.z.object({
|
|
18646
|
-
trackId: zod.z.string(),
|
|
18647
|
-
deviceId: zod.z.number().int(),
|
|
18648
|
-
className: zod.z.string(),
|
|
18649
|
-
firstSeen: zod.z.number().int(),
|
|
18650
|
-
lastSeen: zod.z.number().int(),
|
|
18651
|
-
mediaUrl: zod.z.string().nullable()
|
|
18652
|
-
});
|
|
18653
|
-
var AnalyticsGroupDetailSchema = AnalyticsGroupRecordSchema.extend({ members: zod.z.array(AnalyticsGroupMemberSchema).readonly() });
|
|
18654
|
-
var ListGroupsQueryInput = zod.z.object({
|
|
18655
|
-
/** Devices to merge. An empty array yields `{ groups: [], nextCursor: null }`. */
|
|
18656
|
-
deviceIds: zod.z.array(zod.z.number()),
|
|
18657
|
-
/** Window lower bound on `closedAt` (inclusive). */
|
|
18658
|
-
since: zod.z.number().optional(),
|
|
18659
|
-
/** Window upper bound on `openedAt` (inclusive). */
|
|
18660
|
-
until: zod.z.number().optional(),
|
|
18661
|
-
limit: zod.z.number().int().min(1).max(LIST_GROUPS_MAX_LIMIT).default(LIST_GROUPS_DEFAULT_LIMIT),
|
|
18662
|
-
/** Opaque continuation cursor from a previous page's `nextCursor`. */
|
|
18663
|
-
cursor: zod.z.string().optional()
|
|
18664
|
-
});
|
|
18665
|
-
var ListGroupsPageSchema = zod.z.object({
|
|
18666
|
-
groups: zod.z.array(AnalyticsGroupRecordSchema).readonly(),
|
|
18667
|
-
nextCursor: zod.z.string().nullable()
|
|
18668
|
-
});
|
|
18669
18722
|
var KEY_EVENTS_DEFAULT_LIMIT = 50;
|
|
18670
18723
|
var KEY_EVENTS_MAX_LIMIT = 200;
|
|
18671
18724
|
var KeyEventQueryInput = zod.z.object({
|
|
@@ -18769,9 +18822,7 @@ var TrackCascadeCountsSchema = zod.z.object({
|
|
|
18769
18822
|
/** Unassigned plate reads removed (best-effort; plate leg deferred to plate-intelligence). */
|
|
18770
18823
|
plates: zod.z.number().int(),
|
|
18771
18824
|
/** Per-track CLIP search vectors removed (best-effort). */
|
|
18772
|
-
embeddings: zod.z.number().int()
|
|
18773
|
-
/** Group membership + group rows removed with their last member (best-effort). */
|
|
18774
|
-
groups: zod.z.number().int()
|
|
18825
|
+
embeddings: zod.z.number().int()
|
|
18775
18826
|
});
|
|
18776
18827
|
/** Disk-wins reconcile: media rows whose blobs are gone, then empty tracks. */
|
|
18777
18828
|
var DiskReconcileCountsSchema = zod.z.object({
|
|
@@ -19047,16 +19098,6 @@ var pipelineAnalyticsCapability = {
|
|
|
19047
19098
|
* are not included (same contract as `listTracks`).
|
|
19048
19099
|
*/
|
|
19049
19100
|
listRecentTracks: require_sleep.method(RecentTracksQueryInput, RecentTracksPageSchema),
|
|
19050
|
-
/**
|
|
19051
|
-
* Batched co-moving group listing — the Groups feed. Same merge/cursor
|
|
19052
|
-
* contract as {@link listRecentTracks}. A group is a sealed partition of
|
|
19053
|
-
* one session; `getGroup` is the detail with members.
|
|
19054
|
-
*/
|
|
19055
|
-
listGroups: require_sleep.method(ListGroupsQueryInput, ListGroupsPageSchema),
|
|
19056
|
-
getGroup: require_sleep.method(zod.z.object({
|
|
19057
|
-
deviceId: zod.z.number(),
|
|
19058
|
-
groupId: zod.z.string().min(1)
|
|
19059
|
-
}), AnalyticsGroupDetailSchema.nullable()),
|
|
19060
19101
|
clearTracks: require_sleep.method(zod.z.object({ deviceId: zod.z.number() }), zod.z.void(), {
|
|
19061
19102
|
kind: "mutation",
|
|
19062
19103
|
auth: "admin"
|
|
@@ -22648,7 +22689,23 @@ var storageMigrationCapability = {
|
|
|
22648
22689
|
drain: require_sleep.method(StorageMigrationDrainInputSchema, zod.z.object({ jobId: zod.z.string() }), {
|
|
22649
22690
|
kind: "mutation",
|
|
22650
22691
|
auth: "admin"
|
|
22651
|
-
})
|
|
22692
|
+
}),
|
|
22693
|
+
/**
|
|
22694
|
+
* One operator cleanup of leftover analytics (DB + blobs) and ghost
|
|
22695
|
+
* ledger rows on frozen footage locations. Optional debug-media sweep.
|
|
22696
|
+
* Returns immediately; poll {@link cleanupStatus}.
|
|
22697
|
+
*/
|
|
22698
|
+
cleanupStart: require_sleep.method(StorageCleanupInputSchema, zod.z.object({ jobId: zod.z.string() }), {
|
|
22699
|
+
kind: "mutation",
|
|
22700
|
+
auth: "admin"
|
|
22701
|
+
}),
|
|
22702
|
+
cleanupStatus: require_sleep.method(StorageCleanupStatusInputSchema, StorageCleanupJobSchema.nullable(), { auth: "admin" }),
|
|
22703
|
+
cleanupCancel: require_sleep.method(zod.z.object({ jobId: zod.z.string() }), zod.z.object({ cancelled: zod.z.boolean() }), {
|
|
22704
|
+
kind: "mutation",
|
|
22705
|
+
auth: "admin"
|
|
22706
|
+
}),
|
|
22707
|
+
/** Recent finished migration jobs, newest first. The live job is `status`. */
|
|
22708
|
+
history: require_sleep.method(zod.z.object({}), zod.z.array(StorageMigrationJobSchema).readonly(), { auth: "admin" })
|
|
22652
22709
|
}
|
|
22653
22710
|
};
|
|
22654
22711
|
//#endregion
|
|
@@ -31185,6 +31242,33 @@ var RecordingRebalanceInputSchema = zod.z.object({
|
|
|
31185
31242
|
minMoveGb: zod.z.number().min(0).optional()
|
|
31186
31243
|
});
|
|
31187
31244
|
/**
|
|
31245
|
+
* Operator-facing placement of one camera onto a recordings location.
|
|
31246
|
+
*
|
|
31247
|
+
* `pinLocationId` is the operator instruction: a location id, or `null` for
|
|
31248
|
+
* Auto (the planner may move this camera). `locationId` is where high/mid
|
|
31249
|
+
* currently write — the plan, which may disagree with the pin when Auto.
|
|
31250
|
+
*/
|
|
31251
|
+
var RecordingDevicePlacementSchema = zod.z.object({
|
|
31252
|
+
deviceId: zod.z.number().int(),
|
|
31253
|
+
profile: zod.z.string(),
|
|
31254
|
+
locationId: zod.z.string()
|
|
31255
|
+
});
|
|
31256
|
+
var RecordingDevicePinSchema = zod.z.object({
|
|
31257
|
+
deviceId: zod.z.number().int(),
|
|
31258
|
+
/** Recordings-class location this camera is pinned to. */
|
|
31259
|
+
locationId: zod.z.string()
|
|
31260
|
+
});
|
|
31261
|
+
var RecordingPlacementViewSchema = zod.z.object({
|
|
31262
|
+
assignments: zod.z.array(RecordingDevicePlacementSchema),
|
|
31263
|
+
pins: zod.z.array(RecordingDevicePinSchema),
|
|
31264
|
+
defaultLocations: zod.z.record(zod.z.string(), zod.z.string())
|
|
31265
|
+
});
|
|
31266
|
+
var RecordingSetDevicePlacementInputSchema = zod.z.object({
|
|
31267
|
+
deviceId: zod.z.number().int(),
|
|
31268
|
+
/** `null` = Auto. Otherwise a `recordings:*` location id. */
|
|
31269
|
+
locationId: zod.z.string().nullable()
|
|
31270
|
+
});
|
|
31271
|
+
/**
|
|
31188
31272
|
* Result of locating footage at a wall-clock instant for one device/profile.
|
|
31189
31273
|
* `segment` carries the covering segment's window; `gap` reports the forward
|
|
31190
31274
|
* nearest covered edge (`null` past the end of footage / when none exists)
|
|
@@ -31537,6 +31621,22 @@ var recordingCapability = {
|
|
|
31537
31621
|
startStorageRebalance: require_sleep.method(RecordingRebalanceInputSchema, RecordingRebalancePlanSchema, {
|
|
31538
31622
|
kind: "mutation",
|
|
31539
31623
|
auth: "admin"
|
|
31624
|
+
}),
|
|
31625
|
+
/**
|
|
31626
|
+
* The placement plan in force plus operator pins. Drives the Locations
|
|
31627
|
+
* admin page: Auto vs a named recordings location, per camera.
|
|
31628
|
+
*/
|
|
31629
|
+
getPlacement: require_sleep.method(zod.z.object({}), RecordingPlacementViewSchema, {
|
|
31630
|
+
kind: "query",
|
|
31631
|
+
auth: "admin"
|
|
31632
|
+
}),
|
|
31633
|
+
/**
|
|
31634
|
+
* Pin a camera to a recordings location, or clear the pin (Auto). High and
|
|
31635
|
+
* mid follow the pin; low stays with the recordingsLow planner.
|
|
31636
|
+
*/
|
|
31637
|
+
setDevicePlacement: require_sleep.method(RecordingSetDevicePlacementInputSchema, zod.z.object({ ok: zod.z.literal(true) }), {
|
|
31638
|
+
kind: "mutation",
|
|
31639
|
+
auth: "admin"
|
|
31540
31640
|
})
|
|
31541
31641
|
}
|
|
31542
31642
|
};
|
|
@@ -40200,6 +40300,12 @@ var METHOD_ACCESS_MAP = Object.freeze({
|
|
|
40200
40300
|
addonId: null,
|
|
40201
40301
|
access: "delete"
|
|
40202
40302
|
},
|
|
40303
|
+
"deviceManager.renameLocation": {
|
|
40304
|
+
capName: "device-manager",
|
|
40305
|
+
capScope: "system",
|
|
40306
|
+
addonId: null,
|
|
40307
|
+
access: "create"
|
|
40308
|
+
},
|
|
40203
40309
|
"deviceManager.runDeviceAction": {
|
|
40204
40310
|
capName: "device-manager",
|
|
40205
40311
|
capScope: "system",
|
|
@@ -41892,12 +41998,6 @@ var METHOD_ACCESS_MAP = Object.freeze({
|
|
|
41892
41998
|
addonId: null,
|
|
41893
41999
|
access: "view"
|
|
41894
42000
|
},
|
|
41895
|
-
"pipelineAnalytics.getGroup": {
|
|
41896
|
-
capName: "pipeline-analytics",
|
|
41897
|
-
capScope: "device",
|
|
41898
|
-
addonId: null,
|
|
41899
|
-
access: "view"
|
|
41900
|
-
},
|
|
41901
42001
|
"pipelineAnalytics.getKeyEvents": {
|
|
41902
42002
|
capName: "pipeline-analytics",
|
|
41903
42003
|
capScope: "device",
|
|
@@ -42000,12 +42100,6 @@ var METHOD_ACCESS_MAP = Object.freeze({
|
|
|
42000
42100
|
addonId: null,
|
|
42001
42101
|
access: "view"
|
|
42002
42102
|
},
|
|
42003
|
-
"pipelineAnalytics.listGroups": {
|
|
42004
|
-
capName: "pipeline-analytics",
|
|
42005
|
-
capScope: "device",
|
|
42006
|
-
addonId: null,
|
|
42007
|
-
access: "view"
|
|
42008
|
-
},
|
|
42009
42103
|
"pipelineAnalytics.listOpsLog": {
|
|
42010
42104
|
capName: "pipeline-analytics",
|
|
42011
42105
|
capScope: "device",
|
|
@@ -43020,6 +43114,12 @@ var METHOD_ACCESS_MAP = Object.freeze({
|
|
|
43020
43114
|
addonId: null,
|
|
43021
43115
|
access: "view"
|
|
43022
43116
|
},
|
|
43117
|
+
"recording.getPlacement": {
|
|
43118
|
+
capName: "recording",
|
|
43119
|
+
capScope: "system",
|
|
43120
|
+
addonId: null,
|
|
43121
|
+
access: "view"
|
|
43122
|
+
},
|
|
43023
43123
|
"recording.getPlaybackManifest": {
|
|
43024
43124
|
capName: "recording",
|
|
43025
43125
|
capScope: "system",
|
|
@@ -43146,6 +43246,12 @@ var METHOD_ACCESS_MAP = Object.freeze({
|
|
|
43146
43246
|
addonId: null,
|
|
43147
43247
|
access: "create"
|
|
43148
43248
|
},
|
|
43249
|
+
"recording.setDevicePlacement": {
|
|
43250
|
+
capName: "recording",
|
|
43251
|
+
capScope: "system",
|
|
43252
|
+
addonId: null,
|
|
43253
|
+
access: "create"
|
|
43254
|
+
},
|
|
43149
43255
|
"recording.startStorageMigrationMove": {
|
|
43150
43256
|
capName: "recording",
|
|
43151
43257
|
capScope: "system",
|
|
@@ -43590,12 +43696,36 @@ var METHOD_ACCESS_MAP = Object.freeze({
|
|
|
43590
43696
|
addonId: null,
|
|
43591
43697
|
access: "create"
|
|
43592
43698
|
},
|
|
43699
|
+
"storageMigration.cleanupCancel": {
|
|
43700
|
+
capName: "storage-migration",
|
|
43701
|
+
capScope: "system",
|
|
43702
|
+
addonId: null,
|
|
43703
|
+
access: "create"
|
|
43704
|
+
},
|
|
43705
|
+
"storageMigration.cleanupStart": {
|
|
43706
|
+
capName: "storage-migration",
|
|
43707
|
+
capScope: "system",
|
|
43708
|
+
addonId: null,
|
|
43709
|
+
access: "create"
|
|
43710
|
+
},
|
|
43711
|
+
"storageMigration.cleanupStatus": {
|
|
43712
|
+
capName: "storage-migration",
|
|
43713
|
+
capScope: "system",
|
|
43714
|
+
addonId: null,
|
|
43715
|
+
access: "view"
|
|
43716
|
+
},
|
|
43593
43717
|
"storageMigration.drain": {
|
|
43594
43718
|
capName: "storage-migration",
|
|
43595
43719
|
capScope: "system",
|
|
43596
43720
|
addonId: null,
|
|
43597
43721
|
access: "create"
|
|
43598
43722
|
},
|
|
43723
|
+
"storageMigration.history": {
|
|
43724
|
+
capName: "storage-migration",
|
|
43725
|
+
capScope: "system",
|
|
43726
|
+
addonId: null,
|
|
43727
|
+
access: "view"
|
|
43728
|
+
},
|
|
43599
43729
|
"storageMigration.movers": {
|
|
43600
43730
|
capName: "storage-migration",
|
|
43601
43731
|
capScope: "system",
|
|
@@ -45855,11 +45985,6 @@ var METHOD_DEVICE_SELECTORS = Object.freeze({
|
|
|
45855
45985
|
form: "single",
|
|
45856
45986
|
optional: true
|
|
45857
45987
|
}],
|
|
45858
|
-
"pipelineAnalytics.getGroup": [{
|
|
45859
|
-
name: "deviceId",
|
|
45860
|
-
form: "single",
|
|
45861
|
-
optional: false
|
|
45862
|
-
}],
|
|
45863
45988
|
"pipelineAnalytics.getKeyEvents": [{
|
|
45864
45989
|
name: "deviceId",
|
|
45865
45990
|
form: "single",
|
|
@@ -45925,11 +46050,6 @@ var METHOD_DEVICE_SELECTORS = Object.freeze({
|
|
|
45925
46050
|
form: "single",
|
|
45926
46051
|
optional: false
|
|
45927
46052
|
}],
|
|
45928
|
-
"pipelineAnalytics.listGroups": [{
|
|
45929
|
-
name: "deviceIds",
|
|
45930
|
-
form: "array",
|
|
45931
|
-
optional: false
|
|
45932
|
-
}],
|
|
45933
46053
|
"pipelineAnalytics.listOpsLog": [{
|
|
45934
46054
|
name: "deviceId",
|
|
45935
46055
|
form: "single",
|
|
@@ -46345,6 +46465,11 @@ var METHOD_DEVICE_SELECTORS = Object.freeze({
|
|
|
46345
46465
|
form: "single",
|
|
46346
46466
|
optional: false
|
|
46347
46467
|
}],
|
|
46468
|
+
"recording.setDevicePlacement": [{
|
|
46469
|
+
name: "deviceId",
|
|
46470
|
+
form: "single",
|
|
46471
|
+
optional: false
|
|
46472
|
+
}],
|
|
46348
46473
|
"recording.startStorageMigrationMove": [{
|
|
46349
46474
|
name: "deviceId",
|
|
46350
46475
|
form: "single",
|
|
@@ -46816,6 +46941,7 @@ var SYSTEM_SCOPE_DEVICE_METHODS = [
|
|
|
46816
46941
|
"recording.renderGif",
|
|
46817
46942
|
"recording.rescanStorage",
|
|
46818
46943
|
"recording.setDeviceConfig",
|
|
46944
|
+
"recording.setDevicePlacement",
|
|
46819
46945
|
"recording.startStorageMigrationMove",
|
|
46820
46946
|
"recordingExport.createExport",
|
|
46821
46947
|
"recordingExport.listExports",
|
|
@@ -47451,6 +47577,7 @@ function createSystemProxy(api) {
|
|
|
47451
47577
|
listLocations: (input) => dispatch("deviceManager", "listLocations", "query", input),
|
|
47452
47578
|
addLocation: (input) => dispatch("deviceManager", "addLocation", "mutation", input),
|
|
47453
47579
|
removeLocation: (input) => dispatch("deviceManager", "removeLocation", "mutation", input),
|
|
47580
|
+
renameLocation: (input) => dispatch("deviceManager", "renameLocation", "mutation", input),
|
|
47454
47581
|
listPersistedByAddon: (input) => dispatch("deviceManager", "listPersistedByAddon", "query", input),
|
|
47455
47582
|
listAll: (input) => dispatch("deviceManager", "listAll", "query", input),
|
|
47456
47583
|
getChildren: (input) => dispatch("deviceManager", "getChildren", "query", input),
|
|
@@ -47744,7 +47871,9 @@ function createSystemProxy(api) {
|
|
|
47744
47871
|
reconcileLedgerAgainstDisk: (input) => dispatch("recording", "reconcileLedgerAgainstDisk", "mutation", input),
|
|
47745
47872
|
cancelRelocateJob: (input) => dispatch("recording", "cancelRelocateJob", "mutation", input),
|
|
47746
47873
|
planStorageRebalance: (input) => dispatch("recording", "planStorageRebalance", "query", input),
|
|
47747
|
-
startStorageRebalance: (input) => dispatch("recording", "startStorageRebalance", "mutation", input)
|
|
47874
|
+
startStorageRebalance: (input) => dispatch("recording", "startStorageRebalance", "mutation", input),
|
|
47875
|
+
getPlacement: (input) => dispatch("recording", "getPlacement", "query", input),
|
|
47876
|
+
setDevicePlacement: (input) => dispatch("recording", "setDevicePlacement", "mutation", input)
|
|
47748
47877
|
},
|
|
47749
47878
|
recordingExport: {
|
|
47750
47879
|
createExport: (input) => dispatch("recordingExport", "createExport", "mutation", input),
|
|
@@ -47808,7 +47937,11 @@ function createSystemProxy(api) {
|
|
|
47808
47937
|
cancel: (input) => dispatch("storageMigration", "cancel", "mutation", input),
|
|
47809
47938
|
movers: (input) => dispatch("storageMigration", "movers", "query", input),
|
|
47810
47939
|
residue: (input) => dispatch("storageMigration", "residue", "query", input),
|
|
47811
|
-
drain: (input) => dispatch("storageMigration", "drain", "mutation", input)
|
|
47940
|
+
drain: (input) => dispatch("storageMigration", "drain", "mutation", input),
|
|
47941
|
+
cleanupStart: (input) => dispatch("storageMigration", "cleanupStart", "mutation", input),
|
|
47942
|
+
cleanupStatus: (input) => dispatch("storageMigration", "cleanupStatus", "query", input),
|
|
47943
|
+
cleanupCancel: (input) => dispatch("storageMigration", "cleanupCancel", "mutation", input),
|
|
47944
|
+
history: (input) => dispatch("storageMigration", "history", "query", input)
|
|
47812
47945
|
},
|
|
47813
47946
|
streamBroker: {
|
|
47814
47947
|
fetchEventMedia: (input) => dispatch("streamBroker", "fetchEventMedia", "mutation", input),
|
|
@@ -51884,9 +52017,6 @@ exports.AlertSeveritySchema = AlertSeveritySchema;
|
|
|
51884
52017
|
exports.AlertSourceSchema = AlertSourceSchema;
|
|
51885
52018
|
exports.AlertStatusSchema = AlertStatusSchema;
|
|
51886
52019
|
exports.AmbientLightSensorStatusSchema = AmbientLightSensorStatusSchema;
|
|
51887
|
-
exports.AnalyticsGroupDetailSchema = AnalyticsGroupDetailSchema;
|
|
51888
|
-
exports.AnalyticsGroupMemberSchema = AnalyticsGroupMemberSchema;
|
|
51889
|
-
exports.AnalyticsGroupRecordSchema = AnalyticsGroupRecordSchema;
|
|
51890
52020
|
exports.ApiKeyRecordSchema = ApiKeyRecordSchema;
|
|
51891
52021
|
exports.ApiKeySummarySchema = ApiKeySummarySchema;
|
|
51892
52022
|
exports.ArchiveEntrySchema = ArchiveEntrySchema;
|
|
@@ -52251,8 +52381,6 @@ exports.LedgerWalkSkipCountsSchema = LedgerWalkSkipCountsSchema;
|
|
|
52251
52381
|
exports.LedgerWalkSkipReasonSchema = LedgerWalkSkipReasonSchema;
|
|
52252
52382
|
exports.LinkedDeviceSchema = LinkedDeviceSchema;
|
|
52253
52383
|
exports.LinkedDevicesModeSchema = LinkedDevicesModeSchema;
|
|
52254
|
-
exports.ListGroupsPageSchema = ListGroupsPageSchema;
|
|
52255
|
-
exports.ListGroupsQueryInput = ListGroupsQueryInput;
|
|
52256
52384
|
exports.LlmDefaultSchema = LlmDefaultSchema;
|
|
52257
52385
|
exports.LlmDefaultSelectorSchema = LlmDefaultSelectorSchema;
|
|
52258
52386
|
exports.LlmDownloadProgressSchema = LlmDownloadProgressSchema;
|
|
@@ -52715,6 +52843,10 @@ exports.StorageBeginDownloadInputSchema = BeginDownloadInputSchema;
|
|
|
52715
52843
|
exports.StorageBeginDownloadResultSchema = BeginDownloadResultSchema;
|
|
52716
52844
|
exports.StorageBeginUploadInputSchema = BeginUploadInputSchema;
|
|
52717
52845
|
exports.StorageBeginUploadResultSchema = BeginUploadResultSchema;
|
|
52846
|
+
exports.StorageCleanupInputSchema = StorageCleanupInputSchema;
|
|
52847
|
+
exports.StorageCleanupJobSchema = StorageCleanupJobSchema;
|
|
52848
|
+
exports.StorageCleanupPhaseSchema = StorageCleanupPhaseSchema;
|
|
52849
|
+
exports.StorageCleanupStatusInputSchema = StorageCleanupStatusInputSchema;
|
|
52718
52850
|
exports.StorageEndDownloadInputSchema = EndDownloadInputSchema;
|
|
52719
52851
|
exports.StorageFinalizeUploadInputSchema = FinalizeUploadInputSchema;
|
|
52720
52852
|
exports.StorageLocationDeclarationSchema = StorageLocationDeclarationSchema;
|
|
@@ -52740,6 +52872,7 @@ exports.StorageMigrationParticipantSchema = StorageMigrationParticipantSchema;
|
|
|
52740
52872
|
exports.StorageMigrationPhaseSchema = StorageMigrationPhaseSchema;
|
|
52741
52873
|
exports.StorageMigrationPlanSchema = StorageMigrationPlanSchema;
|
|
52742
52874
|
exports.StorageMigrationResidueSchema = StorageMigrationResidueSchema;
|
|
52875
|
+
exports.StorageMigrationSourcesSchema = StorageMigrationSourcesSchema;
|
|
52743
52876
|
exports.StorageProviderInfoSchema = ProviderInfoSchema;
|
|
52744
52877
|
exports.StorageReadChunkInputSchema = ReadChunkInputSchema;
|
|
52745
52878
|
exports.StorageTestLocationResultSchema = TestLocationResultSchema;
|