@camstack/addon-pipeline-orchestrator 1.2.129 → 1.2.131
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/_stub.js +2 -2
- package/dist/{_virtual_mf-localSharedImportMap___mfe_internal__addon_pipeline_orchestrator_widgets-ChSa_Eh-.mjs → _virtual_mf-localSharedImportMap___mfe_internal__addon_pipeline_orchestrator_widgets-BtVE5X1U.mjs} +3 -3
- package/dist/_virtual_mf___mfe_internal__addon_pipeline_orchestrator_widgets__loadShare___mf_0_camstack_mf_1_types__loadShare__.js-BKsbMbW-.mjs +26 -0
- package/dist/_virtual_mf___mfe_internal__addon_pipeline_orchestrator_widgets__loadShare___mf_0_camstack_mf_1_ui_mf_2_library__loadShare__.js-5zaVvfn4.mjs +26 -0
- package/dist/{hostInit-DomAMTeV.mjs → hostInit-PaEbtfzN.mjs} +3 -3
- package/dist/index.js +234 -73
- package/dist/index.mjs +234 -73
- package/dist/remoteEntry.js +1 -1
- package/package.json +1 -1
- package/dist/_virtual_mf___mfe_internal__addon_pipeline_orchestrator_widgets__loadShare___mf_0_camstack_mf_1_types__loadShare__.js-BlzMZjfz.mjs +0 -26
- package/dist/_virtual_mf___mfe_internal__addon_pipeline_orchestrator_widgets__loadShare___mf_0_camstack_mf_1_ui_mf_2_library__loadShare__.js-DHxtMqJ3.mjs +0 -26
package/dist/index.js
CHANGED
|
@@ -8972,6 +8972,13 @@ var MediaRelocateModeSchema = _enum([
|
|
|
8972
8972
|
]);
|
|
8973
8973
|
var RelocateMediaInputSchema = object({
|
|
8974
8974
|
toLocationId: string(),
|
|
8975
|
+
/**
|
|
8976
|
+
* Restrict the pass to rows currently on this location. Omitted / `'*'` =
|
|
8977
|
+
* every row that is not already on `toLocationId` (the historical
|
|
8978
|
+
* behaviour). A named source is what a from→to migration needs: without it
|
|
8979
|
+
* "move events off disk 2" also emptied disk 1.
|
|
8980
|
+
*/
|
|
8981
|
+
fromLocationId: string().optional(),
|
|
8975
8982
|
throttleMbps: number().min(1).max(1e3).optional(),
|
|
8976
8983
|
/** Omitted = `move`, the pre-existing behaviour. */
|
|
8977
8984
|
mode: MediaRelocateModeSchema.optional()
|
|
@@ -9039,6 +9046,19 @@ var StorageMigrationDestinationsSchema = object({
|
|
|
9039
9046
|
galleryMedia: string().min(1).optional()
|
|
9040
9047
|
}).refine((value) => Object.keys(value).length > 0, { message: "select at least one storage class" });
|
|
9041
9048
|
/**
|
|
9049
|
+
* Optional named source per class. Omitted = the class's current default
|
|
9050
|
+
* (the historical behaviour). A named source that is NOT the default is a
|
|
9051
|
+
* drain of that disk: bytes move, the default stays, and the source is
|
|
9052
|
+
* disabled when the move finishes.
|
|
9053
|
+
*/
|
|
9054
|
+
var StorageMigrationSourcesSchema = object({
|
|
9055
|
+
recordings: string().min(1).optional(),
|
|
9056
|
+
recordingsLow: string().min(1).optional(),
|
|
9057
|
+
eventMedia: string().min(1).optional(),
|
|
9058
|
+
backups: string().min(1).optional(),
|
|
9059
|
+
galleryMedia: string().min(1).optional()
|
|
9060
|
+
}).optional();
|
|
9061
|
+
/**
|
|
9042
9062
|
* How a migration sequences the cutover against the byte move.
|
|
9043
9063
|
*
|
|
9044
9064
|
* - `blocking` — the historical order: pause, move every byte, repoint,
|
|
@@ -9060,6 +9080,8 @@ var StorageMigrationModeSchema = _enum(["blocking", "nonBlocking"]);
|
|
|
9060
9080
|
/** Shared input for planning and starting an orchestrated storage migration. */
|
|
9061
9081
|
var StorageMigrationInputSchema = object({
|
|
9062
9082
|
destinations: StorageMigrationDestinationsSchema,
|
|
9083
|
+
/** Omitted = each class's current default. */
|
|
9084
|
+
sources: StorageMigrationSourcesSchema,
|
|
9063
9085
|
throttleMbps: number().min(1).max(1e3).optional(),
|
|
9064
9086
|
/** Omitted = `blocking`, which stays the default. */
|
|
9065
9087
|
mode: StorageMigrationModeSchema.optional()
|
|
@@ -9139,6 +9161,13 @@ var StorageMigrationMoveSchema = object({
|
|
|
9139
9161
|
storageClass: StorageMigrationClassSchema,
|
|
9140
9162
|
fromLocationId: string(),
|
|
9141
9163
|
toLocationId: string(),
|
|
9164
|
+
/**
|
|
9165
|
+
* True when `from` was NOT the class default at plan time. The move still
|
|
9166
|
+
* copies bytes, but the default is left alone and the source is disabled
|
|
9167
|
+
* once the copy verifies. Absent on jobs planned before this field existed
|
|
9168
|
+
* — those jobs always repointed, which is `false`.
|
|
9169
|
+
*/
|
|
9170
|
+
freezeSource: boolean().optional(),
|
|
9142
9171
|
moverJobId: string().nullable(),
|
|
9143
9172
|
state: RelocateJobStateSchema.nullable(),
|
|
9144
9173
|
error: string().nullable(),
|
|
@@ -9152,6 +9181,7 @@ var StorageMigrationJobSchema = object({
|
|
|
9152
9181
|
* can tell a seconds-long cutover from a thirty-hour one. */
|
|
9153
9182
|
mode: StorageMigrationModeSchema,
|
|
9154
9183
|
destinations: StorageMigrationDestinationsSchema,
|
|
9184
|
+
sources: StorageMigrationSourcesSchema,
|
|
9155
9185
|
throttleMbps: number(),
|
|
9156
9186
|
moves: array(StorageMigrationMoveSchema),
|
|
9157
9187
|
pauseLeaseId: string().nullable(),
|
|
@@ -9177,6 +9207,7 @@ var StorageMigrationFindingSchema = object({
|
|
|
9177
9207
|
});
|
|
9178
9208
|
var StorageMigrationPlanSchema = object({
|
|
9179
9209
|
destinations: StorageMigrationDestinationsSchema,
|
|
9210
|
+
sources: StorageMigrationSourcesSchema,
|
|
9180
9211
|
/** The mode this plan was built for. A plan is only valid for its mode: the
|
|
9181
9212
|
* `eventMedia` seal gate and the single-cardinality refusal both depend on
|
|
9182
9213
|
* it. */
|
|
@@ -9184,7 +9215,8 @@ var StorageMigrationPlanSchema = object({
|
|
|
9184
9215
|
moves: array(object({
|
|
9185
9216
|
storageClass: StorageMigrationClassSchema,
|
|
9186
9217
|
fromLocationId: string(),
|
|
9187
|
-
toLocationId: string()
|
|
9218
|
+
toLocationId: string(),
|
|
9219
|
+
freezeSource: boolean().optional()
|
|
9188
9220
|
})),
|
|
9189
9221
|
findings: array(StorageMigrationFindingSchema)
|
|
9190
9222
|
});
|
|
@@ -9362,10 +9394,51 @@ var LedgerWalkReportSchema = object({
|
|
|
9362
9394
|
var RelocatableMediaCountSchema = object({ rows: number().int().nonnegative() }).nullable();
|
|
9363
9395
|
var RelocatableMediaCountInputSchema = object({
|
|
9364
9396
|
toLocationId: string().min(1),
|
|
9397
|
+
/** Restrict the count to one source; omitted / `'*'` = every non-target row. */
|
|
9398
|
+
fromLocationId: string().optional(),
|
|
9365
9399
|
/** Omitted = `move`. */
|
|
9366
9400
|
mode: MediaRelocateModeSchema.optional()
|
|
9367
9401
|
});
|
|
9368
9402
|
/**
|
|
9403
|
+
* Operator cleanup of leftover analytics rows, optional debug media, and
|
|
9404
|
+
* ghost ledger entries on frozen footage locations.
|
|
9405
|
+
*
|
|
9406
|
+
* A pass is tens of minutes on a standing backlog. The hub method RETURNS
|
|
9407
|
+
* `{ jobId }` immediately; progress is `cleanupStatus`. Awaiting the work
|
|
9408
|
+
* is how `addons.custom` hit the 60 s UDS deadline while reclaim continued
|
|
9409
|
+
* with no operator-visible status.
|
|
9410
|
+
*/
|
|
9411
|
+
var StorageCleanupPhaseSchema = _enum([
|
|
9412
|
+
"orphans",
|
|
9413
|
+
"debug-media",
|
|
9414
|
+
"ghost-ledger",
|
|
9415
|
+
"done",
|
|
9416
|
+
"failed",
|
|
9417
|
+
"cancelled"
|
|
9418
|
+
]);
|
|
9419
|
+
var StorageCleanupInputSchema = object({
|
|
9420
|
+
/** Also walk motion stills / track filmstrips. Off by default. */
|
|
9421
|
+
includeDebugMedia: boolean().optional() });
|
|
9422
|
+
var StorageCleanupJobSchema = object({
|
|
9423
|
+
jobId: string(),
|
|
9424
|
+
phase: StorageCleanupPhaseSchema,
|
|
9425
|
+
includeDebugMedia: boolean(),
|
|
9426
|
+
orphansReclaimed: number().int().nonnegative(),
|
|
9427
|
+
orphanBytesReclaimed: number().int().nonnegative(),
|
|
9428
|
+
debugMediaReclaimed: number().int().nonnegative(),
|
|
9429
|
+
debugMediaBytesReclaimed: number().int().nonnegative(),
|
|
9430
|
+
ghostsForgotten: number().int().nonnegative(),
|
|
9431
|
+
ghostBytesForgotten: number().int().nonnegative(),
|
|
9432
|
+
/** Short operator-facing line: current collection, pass, or location. */
|
|
9433
|
+
detail: string().nullable(),
|
|
9434
|
+
cancelRequested: boolean(),
|
|
9435
|
+
startedAt: number(),
|
|
9436
|
+
updatedAt: number(),
|
|
9437
|
+
finishedAt: number().nullable(),
|
|
9438
|
+
error: string().nullable()
|
|
9439
|
+
});
|
|
9440
|
+
var StorageCleanupStatusInputSchema = object({ jobId: string().optional() });
|
|
9441
|
+
/**
|
|
9369
9442
|
* `StorageLocationType` — an addon-declared id that identifies the *kind* of
|
|
9370
9443
|
* storage a location serves. Defined here (not in `capabilities/storage.cap.ts`)
|
|
9371
9444
|
* so the persisted record schema and the consumer-facing cap can both consume it
|
|
@@ -9393,11 +9466,10 @@ var StorageLocationTypeSchema = string().regex(/^[a-z][a-zA-Z0-9-]*$/);
|
|
|
9393
9466
|
* The default location for a type uses `id === <type>:default` by
|
|
9394
9467
|
* convention (the bare type ref like `'backups'` resolves to it).
|
|
9395
9468
|
*
|
|
9396
|
-
* `isSystem
|
|
9397
|
-
*
|
|
9398
|
-
*
|
|
9399
|
-
*
|
|
9400
|
-
* deleting it is rejected at the cap level.
|
|
9469
|
+
* `isSystem` is a legacy persisted flag. Seed still creates the initial
|
|
9470
|
+
* `<type>:default` locations; the flag is no longer a lock, a badge, or a
|
|
9471
|
+
* prune selector. New writes leave it false. Deletion is gated on uniqueness
|
|
9472
|
+
* / last-enabled, not on this bit.
|
|
9401
9473
|
*/
|
|
9402
9474
|
var StorageLocationSchema = object({
|
|
9403
9475
|
id: string().regex(/^[a-z][a-zA-Z0-9-]*:[a-zA-Z0-9-]+$/),
|
|
@@ -13738,6 +13810,12 @@ method(object({
|
|
|
13738
13810
|
}), _void(), {
|
|
13739
13811
|
kind: "mutation",
|
|
13740
13812
|
auth: "admin"
|
|
13813
|
+
}), method(object({
|
|
13814
|
+
from: string(),
|
|
13815
|
+
to: string()
|
|
13816
|
+
}), object({ moved: number() }), {
|
|
13817
|
+
kind: "mutation",
|
|
13818
|
+
auth: "admin"
|
|
13741
13819
|
}), method(object({
|
|
13742
13820
|
deviceId: number(),
|
|
13743
13821
|
disabled: boolean()
|
|
@@ -19892,46 +19970,6 @@ var RecentTracksPageSchema = object({
|
|
|
19892
19970
|
/** Cursor for the next page, or null when this page is the last. */
|
|
19893
19971
|
nextCursor: string().nullable()
|
|
19894
19972
|
});
|
|
19895
|
-
var LIST_GROUPS_DEFAULT_LIMIT = 40;
|
|
19896
|
-
var LIST_GROUPS_MAX_LIMIT = 100;
|
|
19897
|
-
var AnalyticsGroupRecordSchema = object({
|
|
19898
|
-
id: string(),
|
|
19899
|
-
deviceId: number().int(),
|
|
19900
|
-
openedAt: number().int(),
|
|
19901
|
-
closedAt: number().int(),
|
|
19902
|
-
timestamp: number().int(),
|
|
19903
|
-
memberCount: number().int(),
|
|
19904
|
-
memberTrackIds: array(string()).readonly(),
|
|
19905
|
-
className: string(),
|
|
19906
|
-
classes: array(string()).readonly(),
|
|
19907
|
-
/** Relative event-media path, or null when the group has no picture yet. */
|
|
19908
|
-
mediaUrl: string().nullable(),
|
|
19909
|
-
singleton: boolean()
|
|
19910
|
-
});
|
|
19911
|
-
var AnalyticsGroupMemberSchema = object({
|
|
19912
|
-
trackId: string(),
|
|
19913
|
-
deviceId: number().int(),
|
|
19914
|
-
className: string(),
|
|
19915
|
-
firstSeen: number().int(),
|
|
19916
|
-
lastSeen: number().int(),
|
|
19917
|
-
mediaUrl: string().nullable()
|
|
19918
|
-
});
|
|
19919
|
-
var AnalyticsGroupDetailSchema = AnalyticsGroupRecordSchema.extend({ members: array(AnalyticsGroupMemberSchema).readonly() });
|
|
19920
|
-
var ListGroupsQueryInput = object({
|
|
19921
|
-
/** Devices to merge. An empty array yields `{ groups: [], nextCursor: null }`. */
|
|
19922
|
-
deviceIds: array(number()),
|
|
19923
|
-
/** Window lower bound on `closedAt` (inclusive). */
|
|
19924
|
-
since: number().optional(),
|
|
19925
|
-
/** Window upper bound on `openedAt` (inclusive). */
|
|
19926
|
-
until: number().optional(),
|
|
19927
|
-
limit: number().int().min(1).max(LIST_GROUPS_MAX_LIMIT).default(LIST_GROUPS_DEFAULT_LIMIT),
|
|
19928
|
-
/** Opaque continuation cursor from a previous page's `nextCursor`. */
|
|
19929
|
-
cursor: string().optional()
|
|
19930
|
-
});
|
|
19931
|
-
var ListGroupsPageSchema = object({
|
|
19932
|
-
groups: array(AnalyticsGroupRecordSchema).readonly(),
|
|
19933
|
-
nextCursor: string().nullable()
|
|
19934
|
-
});
|
|
19935
19973
|
var KEY_EVENTS_DEFAULT_LIMIT = 50;
|
|
19936
19974
|
var KEY_EVENTS_MAX_LIMIT = 200;
|
|
19937
19975
|
var KeyEventQueryInput = object({
|
|
@@ -20035,9 +20073,7 @@ var TrackCascadeCountsSchema = object({
|
|
|
20035
20073
|
/** Unassigned plate reads removed (best-effort; plate leg deferred to plate-intelligence). */
|
|
20036
20074
|
plates: number().int(),
|
|
20037
20075
|
/** Per-track CLIP search vectors removed (best-effort). */
|
|
20038
|
-
embeddings: number().int()
|
|
20039
|
-
/** Group membership + group rows removed with their last member (best-effort). */
|
|
20040
|
-
groups: number().int()
|
|
20076
|
+
embeddings: number().int()
|
|
20041
20077
|
});
|
|
20042
20078
|
/** Disk-wins reconcile: media rows whose blobs are gone, then empty tracks. */
|
|
20043
20079
|
var DiskReconcileCountsSchema = object({
|
|
@@ -20207,6 +20243,47 @@ var RebuildStatusSchema = object({
|
|
|
20207
20243
|
/** Present when the pass ended by throwing. */
|
|
20208
20244
|
error: string().nullable()
|
|
20209
20245
|
});
|
|
20246
|
+
/**
|
|
20247
|
+
* Acknowledgement that a debug-media reclaim STARTED.
|
|
20248
|
+
*
|
|
20249
|
+
* The pass is paced at ~2 MB/s over a standing 100 GB — tens of minutes — so
|
|
20250
|
+
* it runs detached and this returns immediately. Awaiting it is how the
|
|
20251
|
+
* `addons.custom` door hit the 60 s UDS deadline while the walk carried on
|
|
20252
|
+
* with no status. Poll {@link pipelineAnalyticsCapability.methods.getMediaReclaimStatus}.
|
|
20253
|
+
*/
|
|
20254
|
+
var MediaReclaimStartResultSchema = object({
|
|
20255
|
+
started: boolean(),
|
|
20256
|
+
/** True when a pass was already running; the new request is ignored. */
|
|
20257
|
+
alreadyRunning: boolean()
|
|
20258
|
+
});
|
|
20259
|
+
var MediaReclaimInputSchema = object({
|
|
20260
|
+
mode: _enum(["report", "reclaim"]).default("report"),
|
|
20261
|
+
scopes: array(_enum(["motion-still", "track-filmstrip"])).min(1).optional(),
|
|
20262
|
+
deviceIds: array(number().int()).min(1).optional(),
|
|
20263
|
+
restart: boolean().optional(),
|
|
20264
|
+
pageSize: number().int().min(50).max(5e3).optional(),
|
|
20265
|
+
maxRowsPerDevice: number().int().min(1).max(5e5).optional(),
|
|
20266
|
+
maxReclaimPerDevice: number().int().min(1).max(5e5).optional(),
|
|
20267
|
+
maxBytesPerRun: number().int().min(1).optional(),
|
|
20268
|
+
budgetMinutes: number().int().min(1).max(720).optional(),
|
|
20269
|
+
throttleBytesPerSec: number().int().min(64 * 1024).optional(),
|
|
20270
|
+
graceMinutes: number().int().min(1).max(10080).optional()
|
|
20271
|
+
});
|
|
20272
|
+
var MediaReclaimStatusSchema = object({
|
|
20273
|
+
running: boolean(),
|
|
20274
|
+
mode: _enum(["report", "reclaim"]).nullable(),
|
|
20275
|
+
totalExamined: number(),
|
|
20276
|
+
totalEligible: number(),
|
|
20277
|
+
totalReclaimed: number(),
|
|
20278
|
+
totalBytesReclaimed: number(),
|
|
20279
|
+
totalRefused: number(),
|
|
20280
|
+
/** Device+scope windows finished in this pass. */
|
|
20281
|
+
devicesDone: number(),
|
|
20282
|
+
complete: boolean().nullable(),
|
|
20283
|
+
startedAtMs: number().nullable(),
|
|
20284
|
+
finishedAtMs: number().nullable(),
|
|
20285
|
+
error: string().nullable()
|
|
20286
|
+
});
|
|
20210
20287
|
var ReplayFrameInputSchema = object({
|
|
20211
20288
|
timestamp: number(),
|
|
20212
20289
|
frame: PipelineRunResultBridge
|
|
@@ -20245,10 +20322,7 @@ DeviceType.Camera, method(object({ deviceId: number() }), array(TrackSchema).rea
|
|
|
20245
20322
|
* stationary registry). Default false: the timeline lists passages,
|
|
20246
20323
|
* not parking records (operator decision, 2026-08-15). */
|
|
20247
20324
|
includeStationary: boolean().optional()
|
|
20248
|
-
}), array(TrackSchema).readonly()), method(RecentTracksQueryInput, RecentTracksPageSchema), method(
|
|
20249
|
-
deviceId: number(),
|
|
20250
|
-
groupId: string().min(1)
|
|
20251
|
-
}), AnalyticsGroupDetailSchema.nullable()), method(object({ deviceId: number() }), _void(), {
|
|
20325
|
+
}), array(TrackSchema).readonly()), method(RecentTracksQueryInput, RecentTracksPageSchema), method(object({ deviceId: number() }), _void(), {
|
|
20252
20326
|
kind: "mutation",
|
|
20253
20327
|
auth: "admin"
|
|
20254
20328
|
}), method(DeviceEventQueryInput, array(MotionEventSchema).readonly()), method(ObjectEventQueryInput, array(ObjectEventSchema).readonly()), method(DeviceEventQueryInput, array(AudioEventSchema).readonly()), method(object({ deviceId: number() }), array(EventKindDescriptorSchema).readonly()), method(object({ deviceIds: array(number()).min(1).max(200) }), array(EventKindsForDeviceSchema).readonly()), method(object({
|
|
@@ -20348,6 +20422,12 @@ DeviceType.Camera, method(object({ deviceId: number() }), array(TrackSchema).rea
|
|
|
20348
20422
|
}), method(OpsLogQueryInputSchema, array(OpsLogEntrySchema).readonly(), {
|
|
20349
20423
|
kind: "query",
|
|
20350
20424
|
auth: "admin"
|
|
20425
|
+
}), method(MediaReclaimInputSchema, MediaReclaimStartResultSchema, {
|
|
20426
|
+
kind: "mutation",
|
|
20427
|
+
auth: "admin"
|
|
20428
|
+
}), method(object({}), MediaReclaimStatusSchema, {
|
|
20429
|
+
kind: "query",
|
|
20430
|
+
auth: "admin"
|
|
20351
20431
|
}), method(object({ deviceIds: array(number()).optional() }), TrainingExportSummarySchema, {
|
|
20352
20432
|
kind: "query",
|
|
20353
20433
|
auth: "admin"
|
|
@@ -22799,7 +22879,13 @@ method(StorageMigrationInputSchema, StorageMigrationPlanSchema, { auth: "admin"
|
|
|
22799
22879
|
}), method(object({}), array(StorageMigrationMoverSchema).readonly(), { auth: "admin" }), method(object({}), array(StorageMigrationResidueSchema).readonly(), { auth: "admin" }), method(StorageMigrationDrainInputSchema, object({ jobId: string() }), {
|
|
22800
22880
|
kind: "mutation",
|
|
22801
22881
|
auth: "admin"
|
|
22802
|
-
})
|
|
22882
|
+
}), method(StorageCleanupInputSchema, object({ jobId: string() }), {
|
|
22883
|
+
kind: "mutation",
|
|
22884
|
+
auth: "admin"
|
|
22885
|
+
}), method(StorageCleanupStatusInputSchema, StorageCleanupJobSchema.nullable(), { auth: "admin" }), method(object({ jobId: string() }), object({ cancelled: boolean() }), {
|
|
22886
|
+
kind: "mutation",
|
|
22887
|
+
auth: "admin"
|
|
22888
|
+
}), method(object({}), array(StorageMigrationJobSchema).readonly(), { auth: "admin" });
|
|
22803
22889
|
var ProviderInfoSchema = discriminatedUnion("shouldSaveDiskSpace", [object({
|
|
22804
22890
|
providerId: string().min(1),
|
|
22805
22891
|
displayName: string().min(1),
|
|
@@ -28177,6 +28263,33 @@ var RecordingRebalanceInputSchema = object({
|
|
|
28177
28263
|
minMoveGb: number().min(0).optional()
|
|
28178
28264
|
});
|
|
28179
28265
|
/**
|
|
28266
|
+
* Operator-facing placement of one camera onto a recordings location.
|
|
28267
|
+
*
|
|
28268
|
+
* `pinLocationId` is the operator instruction: a location id, or `null` for
|
|
28269
|
+
* Auto (the planner may move this camera). `locationId` is where high/mid
|
|
28270
|
+
* currently write — the plan, which may disagree with the pin when Auto.
|
|
28271
|
+
*/
|
|
28272
|
+
var RecordingDevicePlacementSchema = object({
|
|
28273
|
+
deviceId: number().int(),
|
|
28274
|
+
profile: string(),
|
|
28275
|
+
locationId: string()
|
|
28276
|
+
});
|
|
28277
|
+
var RecordingDevicePinSchema = object({
|
|
28278
|
+
deviceId: number().int(),
|
|
28279
|
+
/** Recordings-class location this camera is pinned to. */
|
|
28280
|
+
locationId: string()
|
|
28281
|
+
});
|
|
28282
|
+
var RecordingPlacementViewSchema = object({
|
|
28283
|
+
assignments: array(RecordingDevicePlacementSchema),
|
|
28284
|
+
pins: array(RecordingDevicePinSchema),
|
|
28285
|
+
defaultLocations: record(string(), string())
|
|
28286
|
+
});
|
|
28287
|
+
var RecordingSetDevicePlacementInputSchema = object({
|
|
28288
|
+
deviceId: number().int(),
|
|
28289
|
+
/** `null` = Auto. Otherwise a `recordings:*` location id. */
|
|
28290
|
+
locationId: string().nullable()
|
|
28291
|
+
});
|
|
28292
|
+
/**
|
|
28180
28293
|
* Result of locating footage at a wall-clock instant for one device/profile.
|
|
28181
28294
|
* `segment` carries the covering segment's window; `gap` reports the forward
|
|
28182
28295
|
* nearest covered edge (`null` past the end of footage / when none exists)
|
|
@@ -28402,6 +28515,12 @@ method(object({
|
|
|
28402
28515
|
}), method(RecordingRebalanceInputSchema, RecordingRebalancePlanSchema, {
|
|
28403
28516
|
kind: "mutation",
|
|
28404
28517
|
auth: "admin"
|
|
28518
|
+
}), method(object({}), RecordingPlacementViewSchema, {
|
|
28519
|
+
kind: "query",
|
|
28520
|
+
auth: "admin"
|
|
28521
|
+
}), method(RecordingSetDevicePlacementInputSchema, object({ ok: literal(true) }), {
|
|
28522
|
+
kind: "mutation",
|
|
28523
|
+
auth: "admin"
|
|
28405
28524
|
});
|
|
28406
28525
|
/**
|
|
28407
28526
|
* `recording-export` cap — render a footage time range into a single downloadable
|
|
@@ -31856,6 +31975,12 @@ Object.freeze({
|
|
|
31856
31975
|
addonId: null,
|
|
31857
31976
|
access: "delete"
|
|
31858
31977
|
},
|
|
31978
|
+
"deviceManager.renameLocation": {
|
|
31979
|
+
capName: "device-manager",
|
|
31980
|
+
capScope: "system",
|
|
31981
|
+
addonId: null,
|
|
31982
|
+
access: "create"
|
|
31983
|
+
},
|
|
31859
31984
|
"deviceManager.runDeviceAction": {
|
|
31860
31985
|
capName: "device-manager",
|
|
31861
31986
|
capScope: "system",
|
|
@@ -33548,19 +33673,19 @@ Object.freeze({
|
|
|
33548
33673
|
addonId: null,
|
|
33549
33674
|
access: "view"
|
|
33550
33675
|
},
|
|
33551
|
-
"pipelineAnalytics.
|
|
33676
|
+
"pipelineAnalytics.getKeyEvents": {
|
|
33552
33677
|
capName: "pipeline-analytics",
|
|
33553
33678
|
capScope: "device",
|
|
33554
33679
|
addonId: null,
|
|
33555
33680
|
access: "view"
|
|
33556
33681
|
},
|
|
33557
|
-
"pipelineAnalytics.
|
|
33682
|
+
"pipelineAnalytics.getKeyEventsBatch": {
|
|
33558
33683
|
capName: "pipeline-analytics",
|
|
33559
33684
|
capScope: "device",
|
|
33560
33685
|
addonId: null,
|
|
33561
33686
|
access: "view"
|
|
33562
33687
|
},
|
|
33563
|
-
"pipelineAnalytics.
|
|
33688
|
+
"pipelineAnalytics.getMediaReclaimStatus": {
|
|
33564
33689
|
capName: "pipeline-analytics",
|
|
33565
33690
|
capScope: "device",
|
|
33566
33691
|
addonId: null,
|
|
@@ -33650,12 +33775,6 @@ Object.freeze({
|
|
|
33650
33775
|
addonId: null,
|
|
33651
33776
|
access: "view"
|
|
33652
33777
|
},
|
|
33653
|
-
"pipelineAnalytics.listGroups": {
|
|
33654
|
-
capName: "pipeline-analytics",
|
|
33655
|
-
capScope: "device",
|
|
33656
|
-
addonId: null,
|
|
33657
|
-
access: "view"
|
|
33658
|
-
},
|
|
33659
33778
|
"pipelineAnalytics.listOpsLog": {
|
|
33660
33779
|
capName: "pipeline-analytics",
|
|
33661
33780
|
capScope: "device",
|
|
@@ -33740,6 +33859,12 @@ Object.freeze({
|
|
|
33740
33859
|
addonId: null,
|
|
33741
33860
|
access: "create"
|
|
33742
33861
|
},
|
|
33862
|
+
"pipelineAnalytics.reclaimDebugMedia": {
|
|
33863
|
+
capName: "pipeline-analytics",
|
|
33864
|
+
capScope: "device",
|
|
33865
|
+
addonId: null,
|
|
33866
|
+
access: "create"
|
|
33867
|
+
},
|
|
33743
33868
|
"pipelineAnalytics.reconcileFromDisk": {
|
|
33744
33869
|
capName: "pipeline-analytics",
|
|
33745
33870
|
capScope: "device",
|
|
@@ -34664,6 +34789,12 @@ Object.freeze({
|
|
|
34664
34789
|
addonId: null,
|
|
34665
34790
|
access: "view"
|
|
34666
34791
|
},
|
|
34792
|
+
"recording.getPlacement": {
|
|
34793
|
+
capName: "recording",
|
|
34794
|
+
capScope: "system",
|
|
34795
|
+
addonId: null,
|
|
34796
|
+
access: "view"
|
|
34797
|
+
},
|
|
34667
34798
|
"recording.getPlaybackManifest": {
|
|
34668
34799
|
capName: "recording",
|
|
34669
34800
|
capScope: "system",
|
|
@@ -34790,6 +34921,12 @@ Object.freeze({
|
|
|
34790
34921
|
addonId: null,
|
|
34791
34922
|
access: "create"
|
|
34792
34923
|
},
|
|
34924
|
+
"recording.setDevicePlacement": {
|
|
34925
|
+
capName: "recording",
|
|
34926
|
+
capScope: "system",
|
|
34927
|
+
addonId: null,
|
|
34928
|
+
access: "create"
|
|
34929
|
+
},
|
|
34793
34930
|
"recording.startStorageMigrationMove": {
|
|
34794
34931
|
capName: "recording",
|
|
34795
34932
|
capScope: "system",
|
|
@@ -35234,12 +35371,36 @@ Object.freeze({
|
|
|
35234
35371
|
addonId: null,
|
|
35235
35372
|
access: "create"
|
|
35236
35373
|
},
|
|
35374
|
+
"storageMigration.cleanupCancel": {
|
|
35375
|
+
capName: "storage-migration",
|
|
35376
|
+
capScope: "system",
|
|
35377
|
+
addonId: null,
|
|
35378
|
+
access: "create"
|
|
35379
|
+
},
|
|
35380
|
+
"storageMigration.cleanupStart": {
|
|
35381
|
+
capName: "storage-migration",
|
|
35382
|
+
capScope: "system",
|
|
35383
|
+
addonId: null,
|
|
35384
|
+
access: "create"
|
|
35385
|
+
},
|
|
35386
|
+
"storageMigration.cleanupStatus": {
|
|
35387
|
+
capName: "storage-migration",
|
|
35388
|
+
capScope: "system",
|
|
35389
|
+
addonId: null,
|
|
35390
|
+
access: "view"
|
|
35391
|
+
},
|
|
35237
35392
|
"storageMigration.drain": {
|
|
35238
35393
|
capName: "storage-migration",
|
|
35239
35394
|
capScope: "system",
|
|
35240
35395
|
addonId: null,
|
|
35241
35396
|
access: "create"
|
|
35242
35397
|
},
|
|
35398
|
+
"storageMigration.history": {
|
|
35399
|
+
capName: "storage-migration",
|
|
35400
|
+
capScope: "system",
|
|
35401
|
+
addonId: null,
|
|
35402
|
+
access: "view"
|
|
35403
|
+
},
|
|
35243
35404
|
"storageMigration.movers": {
|
|
35244
35405
|
capName: "storage-migration",
|
|
35245
35406
|
capScope: "system",
|
|
@@ -37236,11 +37397,6 @@ Object.freeze({
|
|
|
37236
37397
|
form: "single",
|
|
37237
37398
|
optional: true
|
|
37238
37399
|
}],
|
|
37239
|
-
"pipelineAnalytics.getGroup": [{
|
|
37240
|
-
name: "deviceId",
|
|
37241
|
-
form: "single",
|
|
37242
|
-
optional: false
|
|
37243
|
-
}],
|
|
37244
37400
|
"pipelineAnalytics.getKeyEvents": [{
|
|
37245
37401
|
name: "deviceId",
|
|
37246
37402
|
form: "single",
|
|
@@ -37306,11 +37462,6 @@ Object.freeze({
|
|
|
37306
37462
|
form: "single",
|
|
37307
37463
|
optional: false
|
|
37308
37464
|
}],
|
|
37309
|
-
"pipelineAnalytics.listGroups": [{
|
|
37310
|
-
name: "deviceIds",
|
|
37311
|
-
form: "array",
|
|
37312
|
-
optional: false
|
|
37313
|
-
}],
|
|
37314
37465
|
"pipelineAnalytics.listOpsLog": [{
|
|
37315
37466
|
name: "deviceId",
|
|
37316
37467
|
form: "single",
|
|
@@ -37356,6 +37507,11 @@ Object.freeze({
|
|
|
37356
37507
|
form: "single",
|
|
37357
37508
|
optional: true
|
|
37358
37509
|
}],
|
|
37510
|
+
"pipelineAnalytics.reclaimDebugMedia": [{
|
|
37511
|
+
name: "deviceIds",
|
|
37512
|
+
form: "array",
|
|
37513
|
+
optional: true
|
|
37514
|
+
}],
|
|
37359
37515
|
"pipelineAnalytics.reconcileFromDisk": [{
|
|
37360
37516
|
name: "deviceId",
|
|
37361
37517
|
form: "single",
|
|
@@ -37721,6 +37877,11 @@ Object.freeze({
|
|
|
37721
37877
|
form: "single",
|
|
37722
37878
|
optional: false
|
|
37723
37879
|
}],
|
|
37880
|
+
"recording.setDevicePlacement": [{
|
|
37881
|
+
name: "deviceId",
|
|
37882
|
+
form: "single",
|
|
37883
|
+
optional: false
|
|
37884
|
+
}],
|
|
37724
37885
|
"recording.startStorageMigrationMove": [{
|
|
37725
37886
|
name: "deviceId",
|
|
37726
37887
|
form: "single",
|