@camstack/addon-decoder-ffmpeg 1.2.11 → 1.2.12
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/index.js +316 -31
- package/dist/index.mjs +316 -31
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -7552,12 +7552,11 @@ var RecordingConfigSchema = object({
|
|
|
7552
7552
|
/**
|
|
7553
7553
|
* Entity-relocation job state (storage entity-routing spec, Phase 4).
|
|
7554
7554
|
*
|
|
7555
|
-
* One shape shared by the recorder
|
|
7556
|
-
*
|
|
7557
|
-
*
|
|
7558
|
-
*
|
|
7559
|
-
*
|
|
7560
|
-
* row on the owning addon's surface.
|
|
7555
|
+
* One shape shared by the recorder and pipeline-analytics internal movers.
|
|
7556
|
+
* The public admin surface is `storage-migration`; child jobs remain in RAM
|
|
7557
|
+
* because copy-if-absent, verify, delete and index/row repoint are resumable.
|
|
7558
|
+
* Each completed/failed run also lands one durable ops-log row on its owning
|
|
7559
|
+
* addon surface.
|
|
7561
7560
|
*/
|
|
7562
7561
|
var RelocateJobStateSchema = _enum([
|
|
7563
7562
|
"running",
|
|
@@ -7584,19 +7583,100 @@ var RelocateJobSchema = object({
|
|
|
7584
7583
|
finishedAt: number().nullable(),
|
|
7585
7584
|
error: string().nullable()
|
|
7586
7585
|
});
|
|
7586
|
+
/** Profile-derived footage selection used only by the migration coordinator:
|
|
7587
|
+
* `recordings` owns high+mid; `recordingsLow` owns low. */
|
|
7588
|
+
var RelocateFootageClassSchema = _enum(["recordings", "recordingsLow"]);
|
|
7587
7589
|
var RelocateFootageInputSchema = object({
|
|
7588
|
-
deviceId: number().optional(),
|
|
7589
7590
|
fromLocationId: string(),
|
|
7590
7591
|
toLocationId: string(),
|
|
7591
7592
|
entities: array(_enum(["segments"])).optional(),
|
|
7593
|
+
/** Limits relocation to the logical profile class. Omit only for the
|
|
7594
|
+
* pre-orchestration compatibility path. */
|
|
7595
|
+
footageClass: RelocateFootageClassSchema.optional(),
|
|
7592
7596
|
/** Copy throttle in MB/s (default 40) — the drain is a background chore,
|
|
7593
7597
|
* never allowed to starve live writers. */
|
|
7594
7598
|
throttleMbps: number().min(1).max(1e3).optional()
|
|
7595
7599
|
});
|
|
7596
|
-
|
|
7597
|
-
|
|
7600
|
+
/** Internal, lease-scoped participant operation. It is intentionally separate
|
|
7601
|
+
* from persistent recording settings: a migration never changes
|
|
7602
|
+
* `RecordingConfig.enabled` or camera wrapper bindings. */
|
|
7603
|
+
var StorageMigrationLeaseInputSchema = object({ leaseId: string().min(1) });
|
|
7604
|
+
var StorageMigrationFootageMoveInputSchema = RelocateFootageInputSchema.extend({ leaseId: string().min(1) });
|
|
7605
|
+
var StorageMigrationMediaMoveInputSchema = object({
|
|
7598
7606
|
toLocationId: string(),
|
|
7599
7607
|
throttleMbps: number().min(1).max(1e3).optional()
|
|
7608
|
+
}).extend({ leaseId: string().min(1) });
|
|
7609
|
+
/** The independently selectable logical storage classes. `recordings`
|
|
7610
|
+
* encompasses the high and mid segment profiles; `recordingsLow` is low
|
|
7611
|
+
* segments; `eventMedia` is post-analysis blobs. */
|
|
7612
|
+
var StorageMigrationClassSchema = _enum([
|
|
7613
|
+
"recordings",
|
|
7614
|
+
"recordingsLow",
|
|
7615
|
+
"eventMedia"
|
|
7616
|
+
]);
|
|
7617
|
+
/** A destination is always an existing, fully-qualified location id. The
|
|
7618
|
+
* migration API intentionally never changes a source location's `basePath`:
|
|
7619
|
+
* callers create a new `<type>:<slug>` location, then select it here. */
|
|
7620
|
+
var StorageMigrationDestinationsSchema = object({
|
|
7621
|
+
recordings: string().min(1).optional(),
|
|
7622
|
+
recordingsLow: string().min(1).optional(),
|
|
7623
|
+
eventMedia: string().min(1).optional()
|
|
7624
|
+
}).refine((value) => Object.keys(value).length > 0, { message: "select at least one storage class" });
|
|
7625
|
+
/** Shared input for planning and starting an orchestrated storage migration. */
|
|
7626
|
+
var StorageMigrationInputSchema = object({
|
|
7627
|
+
destinations: StorageMigrationDestinationsSchema,
|
|
7628
|
+
throttleMbps: number().min(1).max(1e3).optional()
|
|
7629
|
+
});
|
|
7630
|
+
/** The durable coordinator state machine. The only phase that changes default
|
|
7631
|
+
* locations is `repointing`, after every selected mover has completed and been
|
|
7632
|
+
* verified. */
|
|
7633
|
+
var StorageMigrationPhaseSchema = _enum([
|
|
7634
|
+
"planning",
|
|
7635
|
+
"pausing",
|
|
7636
|
+
"moving",
|
|
7637
|
+
"verifying",
|
|
7638
|
+
"repointing",
|
|
7639
|
+
"refreshing",
|
|
7640
|
+
"resuming",
|
|
7641
|
+
"done",
|
|
7642
|
+
"failed",
|
|
7643
|
+
"cancelled"
|
|
7644
|
+
]);
|
|
7645
|
+
var StorageMigrationParticipantSchema = _enum([
|
|
7646
|
+
"pipeline",
|
|
7647
|
+
"recorder",
|
|
7648
|
+
"analytics"
|
|
7649
|
+
]);
|
|
7650
|
+
var StorageMigrationMoveSchema = object({
|
|
7651
|
+
storageClass: StorageMigrationClassSchema,
|
|
7652
|
+
fromLocationId: string(),
|
|
7653
|
+
toLocationId: string(),
|
|
7654
|
+
moverJobId: string().nullable(),
|
|
7655
|
+
state: RelocateJobStateSchema.nullable(),
|
|
7656
|
+
error: string().nullable()
|
|
7657
|
+
});
|
|
7658
|
+
var StorageMigrationJobSchema = object({
|
|
7659
|
+
jobId: string(),
|
|
7660
|
+
phase: StorageMigrationPhaseSchema,
|
|
7661
|
+
destinations: StorageMigrationDestinationsSchema,
|
|
7662
|
+
throttleMbps: number(),
|
|
7663
|
+
moves: array(StorageMigrationMoveSchema),
|
|
7664
|
+
pauseLeaseId: string().nullable(),
|
|
7665
|
+
pausedParticipants: array(StorageMigrationParticipantSchema),
|
|
7666
|
+
repointed: boolean(),
|
|
7667
|
+
cancelRequested: boolean(),
|
|
7668
|
+
startedAt: number(),
|
|
7669
|
+
updatedAt: number(),
|
|
7670
|
+
finishedAt: number().nullable(),
|
|
7671
|
+
error: string().nullable()
|
|
7672
|
+
});
|
|
7673
|
+
var StorageMigrationPlanSchema = object({
|
|
7674
|
+
destinations: StorageMigrationDestinationsSchema,
|
|
7675
|
+
moves: array(object({
|
|
7676
|
+
storageClass: StorageMigrationClassSchema,
|
|
7677
|
+
fromLocationId: string(),
|
|
7678
|
+
toLocationId: string()
|
|
7679
|
+
}))
|
|
7600
7680
|
});
|
|
7601
7681
|
/**
|
|
7602
7682
|
* `StorageLocationType` — an addon-declared id that identifies the *kind* of
|
|
@@ -16102,13 +16182,19 @@ DeviceType.Camera, method(object({ deviceId: number() }), array(TrackSchema).rea
|
|
|
16102
16182
|
}), method(object({ deviceId: number() }), EventPruneCountsSchema, {
|
|
16103
16183
|
kind: "mutation",
|
|
16104
16184
|
auth: "admin"
|
|
16105
|
-
}), method(
|
|
16185
|
+
}), method(StorageMigrationLeaseInputSchema, object({ paused: literal(true) }), {
|
|
16106
16186
|
kind: "mutation",
|
|
16107
16187
|
auth: "admin"
|
|
16108
|
-
}), method(object({
|
|
16109
|
-
kind: "
|
|
16188
|
+
}), method(StorageMigrationLeaseInputSchema, object({ resumed: literal(true) }), {
|
|
16189
|
+
kind: "mutation",
|
|
16190
|
+
auth: "admin"
|
|
16191
|
+
}), method(StorageMigrationLeaseInputSchema, object({ refreshed: literal(true) }), {
|
|
16192
|
+
kind: "mutation",
|
|
16193
|
+
auth: "admin"
|
|
16194
|
+
}), method(StorageMigrationMediaMoveInputSchema, object({ jobId: string() }), {
|
|
16195
|
+
kind: "mutation",
|
|
16110
16196
|
auth: "admin"
|
|
16111
|
-
}), method(object({ jobId: string() }), object({ cancelled: boolean() }), {
|
|
16197
|
+
}), method(object({ jobId: string() }), RelocateJobSchema.nullable(), { auth: "admin" }), method(object({ jobId: string() }), object({ cancelled: boolean() }), {
|
|
16112
16198
|
kind: "mutation",
|
|
16113
16199
|
auth: "admin"
|
|
16114
16200
|
}), method(OpsLogQueryInputSchema, array(OpsLogEntrySchema).readonly(), {
|
|
@@ -17605,7 +17691,13 @@ var NodeInferenceDevicesSchema = object({
|
|
|
17605
17691
|
reachable: boolean(),
|
|
17606
17692
|
devices: array(NodeInferenceDeviceSchema).readonly()
|
|
17607
17693
|
});
|
|
17608
|
-
method(object({
|
|
17694
|
+
method(StorageMigrationLeaseInputSchema, object({ paused: literal(true) }), {
|
|
17695
|
+
kind: "mutation",
|
|
17696
|
+
auth: "admin"
|
|
17697
|
+
}), method(StorageMigrationLeaseInputSchema, object({ resumed: literal(true) }), {
|
|
17698
|
+
kind: "mutation",
|
|
17699
|
+
auth: "admin"
|
|
17700
|
+
}), method(object({
|
|
17609
17701
|
deviceId: number(),
|
|
17610
17702
|
agentNodeId: string()
|
|
17611
17703
|
}), object({ success: literal(true) }), {
|
|
@@ -18279,6 +18371,13 @@ method(object({ locationId: string() }), EvictableUsageSchema), method(object({
|
|
|
18279
18371
|
locationId: string(),
|
|
18280
18372
|
targetBytes: number().int().positive()
|
|
18281
18373
|
}), EvictResultSchema, { kind: "mutation" });
|
|
18374
|
+
method(StorageMigrationInputSchema, StorageMigrationPlanSchema, { auth: "admin" }), method(StorageMigrationInputSchema, object({ jobId: string() }), {
|
|
18375
|
+
kind: "mutation",
|
|
18376
|
+
auth: "admin"
|
|
18377
|
+
}), method(object({ jobId: string().optional() }), StorageMigrationJobSchema.nullable(), { auth: "admin" }), method(object({ jobId: string() }), object({ cancelled: boolean() }), {
|
|
18378
|
+
kind: "mutation",
|
|
18379
|
+
auth: "admin"
|
|
18380
|
+
});
|
|
18282
18381
|
var ProviderInfoSchema = discriminatedUnion("shouldSaveDiskSpace", [object({
|
|
18283
18382
|
providerId: string().min(1),
|
|
18284
18383
|
displayName: string().min(1),
|
|
@@ -18382,6 +18481,28 @@ var TerminalProfileInfoSchema = object({
|
|
|
18382
18481
|
label: string(),
|
|
18383
18482
|
description: string().optional()
|
|
18384
18483
|
});
|
|
18484
|
+
/**
|
|
18485
|
+
* A durable operator-created Terminal instance. Profiles are templates; only
|
|
18486
|
+
* an instance declares a camera.
|
|
18487
|
+
*/
|
|
18488
|
+
var TerminalInstanceInfoSchema = object({
|
|
18489
|
+
instanceId: string(),
|
|
18490
|
+
cameraStableId: string(),
|
|
18491
|
+
nodeId: string(),
|
|
18492
|
+
profileId: string(),
|
|
18493
|
+
profileLabel: string(),
|
|
18494
|
+
name: string(),
|
|
18495
|
+
enabled: boolean()
|
|
18496
|
+
});
|
|
18497
|
+
var TerminalLegacyCameraSchema = object({
|
|
18498
|
+
stableId: string(),
|
|
18499
|
+
nodeId: string(),
|
|
18500
|
+
profileId: string(),
|
|
18501
|
+
profileLabel: string(),
|
|
18502
|
+
name: string(),
|
|
18503
|
+
/** Only legacy monitor cameras can retain their historic stable identity. */
|
|
18504
|
+
adoptable: boolean()
|
|
18505
|
+
});
|
|
18385
18506
|
var TerminalOutputEventSchema = discriminatedUnion("kind", [object({
|
|
18386
18507
|
seq: number().int().positive(),
|
|
18387
18508
|
kind: literal("data"),
|
|
@@ -18398,7 +18519,29 @@ var TerminalOutputBatchSchema = object({
|
|
|
18398
18519
|
snapshot: string().optional(),
|
|
18399
18520
|
events: array(TerminalOutputEventSchema).readonly()
|
|
18400
18521
|
});
|
|
18401
|
-
method(_void(), array(TerminalProfileInfoSchema).readonly(), { auth: "admin" }), method(_void(), array(
|
|
18522
|
+
method(_void(), array(TerminalProfileInfoSchema).readonly(), { auth: "admin" }), method(_void(), array(TerminalInstanceInfoSchema).readonly(), { auth: "admin" }), method(object({
|
|
18523
|
+
targetNodeId: string().min(1),
|
|
18524
|
+
profileId: string().min(1),
|
|
18525
|
+
name: string().trim().min(1).max(160).optional()
|
|
18526
|
+
}), TerminalInstanceInfoSchema, {
|
|
18527
|
+
kind: "mutation",
|
|
18528
|
+
auth: "admin"
|
|
18529
|
+
}), method(object({ instanceId: string().min(1) }), _void(), {
|
|
18530
|
+
kind: "mutation",
|
|
18531
|
+
auth: "admin"
|
|
18532
|
+
}), method(object({
|
|
18533
|
+
instanceId: string().min(1),
|
|
18534
|
+
enabled: boolean()
|
|
18535
|
+
}), TerminalInstanceInfoSchema, {
|
|
18536
|
+
kind: "mutation",
|
|
18537
|
+
auth: "admin"
|
|
18538
|
+
}), method(_void(), array(TerminalLegacyCameraSchema).readonly(), { auth: "admin" }), method(object({
|
|
18539
|
+
stableId: string().min(1),
|
|
18540
|
+
name: string().trim().min(1).max(160).optional()
|
|
18541
|
+
}), TerminalInstanceInfoSchema, {
|
|
18542
|
+
kind: "mutation",
|
|
18543
|
+
auth: "admin"
|
|
18544
|
+
}), method(_void(), array(TerminalSessionInfoSchema).readonly(), { auth: "admin" }), method(object({
|
|
18402
18545
|
profileId: string(),
|
|
18403
18546
|
cols: number().int().positive(),
|
|
18404
18547
|
rows: number().int().positive()
|
|
@@ -18415,7 +18558,13 @@ method(_void(), array(TerminalProfileInfoSchema).readonly(), { auth: "admin" }),
|
|
|
18415
18558
|
}), method(object({
|
|
18416
18559
|
sessionId: string(),
|
|
18417
18560
|
afterSeq: number().int().nonnegative(),
|
|
18418
|
-
waitMs: number().int().min(0).max(2e3).default(0)
|
|
18561
|
+
waitMs: number().int().min(0).max(2e3).default(0),
|
|
18562
|
+
/**
|
|
18563
|
+
* Wait when a just-opened session has no output yet. Kept opt-in so a
|
|
18564
|
+
* browser's initial repaint remains immediate; the camera snapshot
|
|
18565
|
+
* relay uses it to avoid encoding a blank startup frame.
|
|
18566
|
+
*/
|
|
18567
|
+
waitForOutput: boolean().optional()
|
|
18419
18568
|
}), TerminalOutputBatchSchema, {
|
|
18420
18569
|
kind: "mutation",
|
|
18421
18570
|
auth: "admin",
|
|
@@ -20356,6 +20505,7 @@ var FaceInfoSchema = object({
|
|
|
20356
20505
|
var FaceFilterEnum = _enum([
|
|
20357
20506
|
"unassigned",
|
|
20358
20507
|
"recognized",
|
|
20508
|
+
"identified",
|
|
20359
20509
|
"all"
|
|
20360
20510
|
]);
|
|
20361
20511
|
var MediaFileLiteSchema$1 = object({
|
|
@@ -20384,6 +20534,8 @@ method(_void(), array(IdentitySchema).readonly()), method(object({ name: string(
|
|
|
20384
20534
|
kind: "mutation",
|
|
20385
20535
|
auth: "admin"
|
|
20386
20536
|
}), method(object({
|
|
20537
|
+
/** Restrict to one camera. Absent keeps the cluster-wide gallery view. */
|
|
20538
|
+
deviceId: number().int().optional(),
|
|
20387
20539
|
limit: number().int().positive().optional(),
|
|
20388
20540
|
filter: FaceFilterEnum.optional(),
|
|
20389
20541
|
/**
|
|
@@ -22149,6 +22301,10 @@ var OsdSourceSchema = discriminatedUnion("kind", [
|
|
|
22149
22301
|
capName: string().min(1).max(64),
|
|
22150
22302
|
/** Dot path inside the slice, e.g. `detected`, `value`, `mode`. */
|
|
22151
22303
|
valuePath: string().min(1).max(64)
|
|
22304
|
+
}),
|
|
22305
|
+
object({
|
|
22306
|
+
kind: literal("latest-recognition"),
|
|
22307
|
+
recognition: _enum(["person", "plate"])
|
|
22152
22308
|
})
|
|
22153
22309
|
]);
|
|
22154
22310
|
var OsdSlotBindingSchema = object({
|
|
@@ -22254,6 +22410,15 @@ method(object({ deviceId: number().int() }), object({
|
|
|
22254
22410
|
}), object({ success: literal(true) }), {
|
|
22255
22411
|
kind: "mutation",
|
|
22256
22412
|
auth: "admin"
|
|
22413
|
+
}), method(object({
|
|
22414
|
+
sourceDeviceId: number().int(),
|
|
22415
|
+
targetDeviceId: number().int()
|
|
22416
|
+
}), object({
|
|
22417
|
+
copied: number().int().nonnegative(),
|
|
22418
|
+
skipped: number().int().nonnegative()
|
|
22419
|
+
}), {
|
|
22420
|
+
kind: "mutation",
|
|
22421
|
+
auth: "admin"
|
|
22257
22422
|
}), method(object({
|
|
22258
22423
|
deviceId: number().int(),
|
|
22259
22424
|
slotId: string().min(1),
|
|
@@ -23139,13 +23304,19 @@ method(object({
|
|
|
23139
23304
|
}), {
|
|
23140
23305
|
kind: "mutation",
|
|
23141
23306
|
auth: "admin"
|
|
23142
|
-
}), method(
|
|
23307
|
+
}), method(StorageMigrationLeaseInputSchema, object({ paused: literal(true) }), {
|
|
23143
23308
|
kind: "mutation",
|
|
23144
23309
|
auth: "admin"
|
|
23145
|
-
}), method(object({
|
|
23146
|
-
kind: "
|
|
23310
|
+
}), method(StorageMigrationLeaseInputSchema, object({ resumed: literal(true) }), {
|
|
23311
|
+
kind: "mutation",
|
|
23147
23312
|
auth: "admin"
|
|
23148
|
-
}), method(
|
|
23313
|
+
}), method(StorageMigrationLeaseInputSchema, object({ refreshed: literal(true) }), {
|
|
23314
|
+
kind: "mutation",
|
|
23315
|
+
auth: "admin"
|
|
23316
|
+
}), method(StorageMigrationFootageMoveInputSchema, object({ jobId: string() }), {
|
|
23317
|
+
kind: "mutation",
|
|
23318
|
+
auth: "admin"
|
|
23319
|
+
}), method(object({ jobId: string() }), RelocateJobSchema.nullable(), { auth: "admin" }), method(object({ jobId: string() }), object({ cancelled: boolean() }), {
|
|
23149
23320
|
kind: "mutation",
|
|
23150
23321
|
auth: "admin"
|
|
23151
23322
|
});
|
|
@@ -27267,6 +27438,12 @@ Object.freeze({
|
|
|
27267
27438
|
addonId: null,
|
|
27268
27439
|
access: "delete"
|
|
27269
27440
|
},
|
|
27441
|
+
"osdManager.copyDeviceConfiguration": {
|
|
27442
|
+
capName: "osd-manager",
|
|
27443
|
+
capScope: "system",
|
|
27444
|
+
addonId: null,
|
|
27445
|
+
access: "create"
|
|
27446
|
+
},
|
|
27270
27447
|
"osdManager.getConditionSupport": {
|
|
27271
27448
|
capName: "osd-manager",
|
|
27272
27449
|
capScope: "system",
|
|
@@ -27363,7 +27540,7 @@ Object.freeze({
|
|
|
27363
27540
|
addonId: null,
|
|
27364
27541
|
access: "create"
|
|
27365
27542
|
},
|
|
27366
|
-
"pipelineAnalytics.
|
|
27543
|
+
"pipelineAnalytics.cancelStorageMigrationMove": {
|
|
27367
27544
|
capName: "pipeline-analytics",
|
|
27368
27545
|
capScope: "device",
|
|
27369
27546
|
addonId: null,
|
|
@@ -27435,12 +27612,6 @@ Object.freeze({
|
|
|
27435
27612
|
addonId: null,
|
|
27436
27613
|
access: "view"
|
|
27437
27614
|
},
|
|
27438
|
-
"pipelineAnalytics.getMediaRelocateStatus": {
|
|
27439
|
-
capName: "pipeline-analytics",
|
|
27440
|
-
capScope: "device",
|
|
27441
|
-
addonId: null,
|
|
27442
|
-
access: "view"
|
|
27443
|
-
},
|
|
27444
27615
|
"pipelineAnalytics.getMotionEvents": {
|
|
27445
27616
|
capName: "pipeline-analytics",
|
|
27446
27617
|
capScope: "device",
|
|
@@ -27477,6 +27648,12 @@ Object.freeze({
|
|
|
27477
27648
|
addonId: null,
|
|
27478
27649
|
access: "view"
|
|
27479
27650
|
},
|
|
27651
|
+
"pipelineAnalytics.getStorageMigrationMoveStatus": {
|
|
27652
|
+
capName: "pipeline-analytics",
|
|
27653
|
+
capScope: "device",
|
|
27654
|
+
addonId: null,
|
|
27655
|
+
access: "view"
|
|
27656
|
+
},
|
|
27480
27657
|
"pipelineAnalytics.getTrack": {
|
|
27481
27658
|
capName: "pipeline-analytics",
|
|
27482
27659
|
capScope: "device",
|
|
@@ -27555,6 +27732,12 @@ Object.freeze({
|
|
|
27555
27732
|
addonId: null,
|
|
27556
27733
|
access: "view"
|
|
27557
27734
|
},
|
|
27735
|
+
"pipelineAnalytics.pauseForStorageMigration": {
|
|
27736
|
+
capName: "pipeline-analytics",
|
|
27737
|
+
capScope: "device",
|
|
27738
|
+
addonId: null,
|
|
27739
|
+
access: "create"
|
|
27740
|
+
},
|
|
27558
27741
|
"pipelineAnalytics.proposeRetrainAnnotations": {
|
|
27559
27742
|
capName: "pipeline-analytics",
|
|
27560
27743
|
capScope: "device",
|
|
@@ -27585,7 +27768,7 @@ Object.freeze({
|
|
|
27585
27768
|
addonId: null,
|
|
27586
27769
|
access: "create"
|
|
27587
27770
|
},
|
|
27588
|
-
"pipelineAnalytics.
|
|
27771
|
+
"pipelineAnalytics.refreshStorageLocationsForMigration": {
|
|
27589
27772
|
capName: "pipeline-analytics",
|
|
27590
27773
|
capScope: "device",
|
|
27591
27774
|
addonId: null,
|
|
@@ -27597,6 +27780,12 @@ Object.freeze({
|
|
|
27597
27780
|
addonId: null,
|
|
27598
27781
|
access: "create"
|
|
27599
27782
|
},
|
|
27783
|
+
"pipelineAnalytics.resumeForStorageMigration": {
|
|
27784
|
+
capName: "pipeline-analytics",
|
|
27785
|
+
capScope: "device",
|
|
27786
|
+
addonId: null,
|
|
27787
|
+
access: "create"
|
|
27788
|
+
},
|
|
27600
27789
|
"pipelineAnalytics.saveRetrainAnnotations": {
|
|
27601
27790
|
capName: "pipeline-analytics",
|
|
27602
27791
|
capScope: "device",
|
|
@@ -27621,6 +27810,12 @@ Object.freeze({
|
|
|
27621
27810
|
addonId: null,
|
|
27622
27811
|
access: "create"
|
|
27623
27812
|
},
|
|
27813
|
+
"pipelineAnalytics.startStorageMigrationMove": {
|
|
27814
|
+
capName: "pipeline-analytics",
|
|
27815
|
+
capScope: "device",
|
|
27816
|
+
addonId: null,
|
|
27817
|
+
access: "create"
|
|
27818
|
+
},
|
|
27624
27819
|
"pipelineAnalytics.wipeAllAnalytics": {
|
|
27625
27820
|
capName: "pipeline-analytics",
|
|
27626
27821
|
capScope: "device",
|
|
@@ -27987,6 +28182,12 @@ Object.freeze({
|
|
|
27987
28182
|
addonId: null,
|
|
27988
28183
|
access: "view"
|
|
27989
28184
|
},
|
|
28185
|
+
"pipelineOrchestrator.pauseForStorageMigration": {
|
|
28186
|
+
capName: "pipeline-orchestrator",
|
|
28187
|
+
capScope: "system",
|
|
28188
|
+
addonId: null,
|
|
28189
|
+
access: "create"
|
|
28190
|
+
},
|
|
27990
28191
|
"pipelineOrchestrator.rebalance": {
|
|
27991
28192
|
capName: "pipeline-orchestrator",
|
|
27992
28193
|
capScope: "system",
|
|
@@ -28011,6 +28212,12 @@ Object.freeze({
|
|
|
28011
28212
|
addonId: null,
|
|
28012
28213
|
access: "view"
|
|
28013
28214
|
},
|
|
28215
|
+
"pipelineOrchestrator.resumeForStorageMigration": {
|
|
28216
|
+
capName: "pipeline-orchestrator",
|
|
28217
|
+
capScope: "system",
|
|
28218
|
+
addonId: null,
|
|
28219
|
+
access: "create"
|
|
28220
|
+
},
|
|
28014
28221
|
"pipelineOrchestrator.saveTemplate": {
|
|
28015
28222
|
capName: "pipeline-orchestrator",
|
|
28016
28223
|
capScope: "system",
|
|
@@ -28407,7 +28614,7 @@ Object.freeze({
|
|
|
28407
28614
|
addonId: null,
|
|
28408
28615
|
access: "create"
|
|
28409
28616
|
},
|
|
28410
|
-
"recording.
|
|
28617
|
+
"recording.cancelStorageMigrationMove": {
|
|
28411
28618
|
capName: "recording",
|
|
28412
28619
|
capScope: "system",
|
|
28413
28620
|
addonId: null,
|
|
@@ -28443,7 +28650,7 @@ Object.freeze({
|
|
|
28443
28650
|
addonId: null,
|
|
28444
28651
|
access: "view"
|
|
28445
28652
|
},
|
|
28446
|
-
"recording.
|
|
28653
|
+
"recording.getStorageMigrationMoveStatus": {
|
|
28447
28654
|
capName: "recording",
|
|
28448
28655
|
capScope: "system",
|
|
28449
28656
|
addonId: null,
|
|
@@ -28467,6 +28674,12 @@ Object.freeze({
|
|
|
28467
28674
|
addonId: null,
|
|
28468
28675
|
access: "view"
|
|
28469
28676
|
},
|
|
28677
|
+
"recording.pauseForStorageMigration": {
|
|
28678
|
+
capName: "recording",
|
|
28679
|
+
capScope: "system",
|
|
28680
|
+
addonId: null,
|
|
28681
|
+
access: "create"
|
|
28682
|
+
},
|
|
28470
28683
|
"recording.pruneFootage": {
|
|
28471
28684
|
capName: "recording",
|
|
28472
28685
|
capScope: "system",
|
|
@@ -28485,7 +28698,7 @@ Object.freeze({
|
|
|
28485
28698
|
addonId: null,
|
|
28486
28699
|
access: "view"
|
|
28487
28700
|
},
|
|
28488
|
-
"recording.
|
|
28701
|
+
"recording.refreshStorageLocationsForMigration": {
|
|
28489
28702
|
capName: "recording",
|
|
28490
28703
|
capScope: "system",
|
|
28491
28704
|
addonId: null,
|
|
@@ -28509,12 +28722,24 @@ Object.freeze({
|
|
|
28509
28722
|
addonId: null,
|
|
28510
28723
|
access: "create"
|
|
28511
28724
|
},
|
|
28725
|
+
"recording.resumeForStorageMigration": {
|
|
28726
|
+
capName: "recording",
|
|
28727
|
+
capScope: "system",
|
|
28728
|
+
addonId: null,
|
|
28729
|
+
access: "create"
|
|
28730
|
+
},
|
|
28512
28731
|
"recording.setDeviceConfig": {
|
|
28513
28732
|
capName: "recording",
|
|
28514
28733
|
capScope: "system",
|
|
28515
28734
|
addonId: null,
|
|
28516
28735
|
access: "create"
|
|
28517
28736
|
},
|
|
28737
|
+
"recording.startStorageMigrationMove": {
|
|
28738
|
+
capName: "recording",
|
|
28739
|
+
capScope: "system",
|
|
28740
|
+
addonId: null,
|
|
28741
|
+
access: "create"
|
|
28742
|
+
},
|
|
28518
28743
|
"recordingExport.cancelExport": {
|
|
28519
28744
|
capName: "recordingExport",
|
|
28520
28745
|
capScope: "system",
|
|
@@ -28905,6 +29130,30 @@ Object.freeze({
|
|
|
28905
29130
|
addonId: null,
|
|
28906
29131
|
access: "view"
|
|
28907
29132
|
},
|
|
29133
|
+
"storageMigration.cancel": {
|
|
29134
|
+
capName: "storage-migration",
|
|
29135
|
+
capScope: "system",
|
|
29136
|
+
addonId: null,
|
|
29137
|
+
access: "create"
|
|
29138
|
+
},
|
|
29139
|
+
"storageMigration.plan": {
|
|
29140
|
+
capName: "storage-migration",
|
|
29141
|
+
capScope: "system",
|
|
29142
|
+
addonId: null,
|
|
29143
|
+
access: "view"
|
|
29144
|
+
},
|
|
29145
|
+
"storageMigration.start": {
|
|
29146
|
+
capName: "storage-migration",
|
|
29147
|
+
capScope: "system",
|
|
29148
|
+
addonId: null,
|
|
29149
|
+
access: "create"
|
|
29150
|
+
},
|
|
29151
|
+
"storageMigration.status": {
|
|
29152
|
+
capName: "storage-migration",
|
|
29153
|
+
capScope: "system",
|
|
29154
|
+
addonId: null,
|
|
29155
|
+
access: "view"
|
|
29156
|
+
},
|
|
28908
29157
|
"storageProvider.abortUpload": {
|
|
28909
29158
|
capName: "storage-provider",
|
|
28910
29159
|
capScope: "system",
|
|
@@ -29283,12 +29532,42 @@ Object.freeze({
|
|
|
29283
29532
|
addonId: null,
|
|
29284
29533
|
access: "create"
|
|
29285
29534
|
},
|
|
29535
|
+
"terminalSession.adoptLegacyMonitor": {
|
|
29536
|
+
capName: "terminal-session",
|
|
29537
|
+
capScope: "system",
|
|
29538
|
+
addonId: null,
|
|
29539
|
+
access: "create"
|
|
29540
|
+
},
|
|
29286
29541
|
"terminalSession.close": {
|
|
29287
29542
|
capName: "terminal-session",
|
|
29288
29543
|
capScope: "system",
|
|
29289
29544
|
addonId: null,
|
|
29290
29545
|
access: "create"
|
|
29291
29546
|
},
|
|
29547
|
+
"terminalSession.createInstance": {
|
|
29548
|
+
capName: "terminal-session",
|
|
29549
|
+
capScope: "system",
|
|
29550
|
+
addonId: null,
|
|
29551
|
+
access: "create"
|
|
29552
|
+
},
|
|
29553
|
+
"terminalSession.deleteInstance": {
|
|
29554
|
+
capName: "terminal-session",
|
|
29555
|
+
capScope: "system",
|
|
29556
|
+
addonId: null,
|
|
29557
|
+
access: "delete"
|
|
29558
|
+
},
|
|
29559
|
+
"terminalSession.listInstances": {
|
|
29560
|
+
capName: "terminal-session",
|
|
29561
|
+
capScope: "system",
|
|
29562
|
+
addonId: null,
|
|
29563
|
+
access: "view"
|
|
29564
|
+
},
|
|
29565
|
+
"terminalSession.listLegacyCameras": {
|
|
29566
|
+
capName: "terminal-session",
|
|
29567
|
+
capScope: "system",
|
|
29568
|
+
addonId: null,
|
|
29569
|
+
access: "view"
|
|
29570
|
+
},
|
|
29292
29571
|
"terminalSession.listProfiles": {
|
|
29293
29572
|
capName: "terminal-session",
|
|
29294
29573
|
capScope: "system",
|
|
@@ -29319,6 +29598,12 @@ Object.freeze({
|
|
|
29319
29598
|
addonId: null,
|
|
29320
29599
|
access: "create"
|
|
29321
29600
|
},
|
|
29601
|
+
"terminalSession.setInstanceEnabled": {
|
|
29602
|
+
capName: "terminal-session",
|
|
29603
|
+
capScope: "system",
|
|
29604
|
+
addonId: null,
|
|
29605
|
+
access: "create"
|
|
29606
|
+
},
|
|
29322
29607
|
"terminalSession.writeInput": {
|
|
29323
29608
|
capName: "terminal-session",
|
|
29324
29609
|
capScope: "system",
|
package/dist/index.mjs
CHANGED
|
@@ -7548,12 +7548,11 @@ var RecordingConfigSchema = object({
|
|
|
7548
7548
|
/**
|
|
7549
7549
|
* Entity-relocation job state (storage entity-routing spec, Phase 4).
|
|
7550
7550
|
*
|
|
7551
|
-
* One shape shared by the recorder
|
|
7552
|
-
*
|
|
7553
|
-
*
|
|
7554
|
-
*
|
|
7555
|
-
*
|
|
7556
|
-
* row on the owning addon's surface.
|
|
7551
|
+
* One shape shared by the recorder and pipeline-analytics internal movers.
|
|
7552
|
+
* The public admin surface is `storage-migration`; child jobs remain in RAM
|
|
7553
|
+
* because copy-if-absent, verify, delete and index/row repoint are resumable.
|
|
7554
|
+
* Each completed/failed run also lands one durable ops-log row on its owning
|
|
7555
|
+
* addon surface.
|
|
7557
7556
|
*/
|
|
7558
7557
|
var RelocateJobStateSchema = _enum([
|
|
7559
7558
|
"running",
|
|
@@ -7580,19 +7579,100 @@ var RelocateJobSchema = object({
|
|
|
7580
7579
|
finishedAt: number().nullable(),
|
|
7581
7580
|
error: string().nullable()
|
|
7582
7581
|
});
|
|
7582
|
+
/** Profile-derived footage selection used only by the migration coordinator:
|
|
7583
|
+
* `recordings` owns high+mid; `recordingsLow` owns low. */
|
|
7584
|
+
var RelocateFootageClassSchema = _enum(["recordings", "recordingsLow"]);
|
|
7583
7585
|
var RelocateFootageInputSchema = object({
|
|
7584
|
-
deviceId: number().optional(),
|
|
7585
7586
|
fromLocationId: string(),
|
|
7586
7587
|
toLocationId: string(),
|
|
7587
7588
|
entities: array(_enum(["segments"])).optional(),
|
|
7589
|
+
/** Limits relocation to the logical profile class. Omit only for the
|
|
7590
|
+
* pre-orchestration compatibility path. */
|
|
7591
|
+
footageClass: RelocateFootageClassSchema.optional(),
|
|
7588
7592
|
/** Copy throttle in MB/s (default 40) — the drain is a background chore,
|
|
7589
7593
|
* never allowed to starve live writers. */
|
|
7590
7594
|
throttleMbps: number().min(1).max(1e3).optional()
|
|
7591
7595
|
});
|
|
7592
|
-
|
|
7593
|
-
|
|
7596
|
+
/** Internal, lease-scoped participant operation. It is intentionally separate
|
|
7597
|
+
* from persistent recording settings: a migration never changes
|
|
7598
|
+
* `RecordingConfig.enabled` or camera wrapper bindings. */
|
|
7599
|
+
var StorageMigrationLeaseInputSchema = object({ leaseId: string().min(1) });
|
|
7600
|
+
var StorageMigrationFootageMoveInputSchema = RelocateFootageInputSchema.extend({ leaseId: string().min(1) });
|
|
7601
|
+
var StorageMigrationMediaMoveInputSchema = object({
|
|
7594
7602
|
toLocationId: string(),
|
|
7595
7603
|
throttleMbps: number().min(1).max(1e3).optional()
|
|
7604
|
+
}).extend({ leaseId: string().min(1) });
|
|
7605
|
+
/** The independently selectable logical storage classes. `recordings`
|
|
7606
|
+
* encompasses the high and mid segment profiles; `recordingsLow` is low
|
|
7607
|
+
* segments; `eventMedia` is post-analysis blobs. */
|
|
7608
|
+
var StorageMigrationClassSchema = _enum([
|
|
7609
|
+
"recordings",
|
|
7610
|
+
"recordingsLow",
|
|
7611
|
+
"eventMedia"
|
|
7612
|
+
]);
|
|
7613
|
+
/** A destination is always an existing, fully-qualified location id. The
|
|
7614
|
+
* migration API intentionally never changes a source location's `basePath`:
|
|
7615
|
+
* callers create a new `<type>:<slug>` location, then select it here. */
|
|
7616
|
+
var StorageMigrationDestinationsSchema = object({
|
|
7617
|
+
recordings: string().min(1).optional(),
|
|
7618
|
+
recordingsLow: string().min(1).optional(),
|
|
7619
|
+
eventMedia: string().min(1).optional()
|
|
7620
|
+
}).refine((value) => Object.keys(value).length > 0, { message: "select at least one storage class" });
|
|
7621
|
+
/** Shared input for planning and starting an orchestrated storage migration. */
|
|
7622
|
+
var StorageMigrationInputSchema = object({
|
|
7623
|
+
destinations: StorageMigrationDestinationsSchema,
|
|
7624
|
+
throttleMbps: number().min(1).max(1e3).optional()
|
|
7625
|
+
});
|
|
7626
|
+
/** The durable coordinator state machine. The only phase that changes default
|
|
7627
|
+
* locations is `repointing`, after every selected mover has completed and been
|
|
7628
|
+
* verified. */
|
|
7629
|
+
var StorageMigrationPhaseSchema = _enum([
|
|
7630
|
+
"planning",
|
|
7631
|
+
"pausing",
|
|
7632
|
+
"moving",
|
|
7633
|
+
"verifying",
|
|
7634
|
+
"repointing",
|
|
7635
|
+
"refreshing",
|
|
7636
|
+
"resuming",
|
|
7637
|
+
"done",
|
|
7638
|
+
"failed",
|
|
7639
|
+
"cancelled"
|
|
7640
|
+
]);
|
|
7641
|
+
var StorageMigrationParticipantSchema = _enum([
|
|
7642
|
+
"pipeline",
|
|
7643
|
+
"recorder",
|
|
7644
|
+
"analytics"
|
|
7645
|
+
]);
|
|
7646
|
+
var StorageMigrationMoveSchema = object({
|
|
7647
|
+
storageClass: StorageMigrationClassSchema,
|
|
7648
|
+
fromLocationId: string(),
|
|
7649
|
+
toLocationId: string(),
|
|
7650
|
+
moverJobId: string().nullable(),
|
|
7651
|
+
state: RelocateJobStateSchema.nullable(),
|
|
7652
|
+
error: string().nullable()
|
|
7653
|
+
});
|
|
7654
|
+
var StorageMigrationJobSchema = object({
|
|
7655
|
+
jobId: string(),
|
|
7656
|
+
phase: StorageMigrationPhaseSchema,
|
|
7657
|
+
destinations: StorageMigrationDestinationsSchema,
|
|
7658
|
+
throttleMbps: number(),
|
|
7659
|
+
moves: array(StorageMigrationMoveSchema),
|
|
7660
|
+
pauseLeaseId: string().nullable(),
|
|
7661
|
+
pausedParticipants: array(StorageMigrationParticipantSchema),
|
|
7662
|
+
repointed: boolean(),
|
|
7663
|
+
cancelRequested: boolean(),
|
|
7664
|
+
startedAt: number(),
|
|
7665
|
+
updatedAt: number(),
|
|
7666
|
+
finishedAt: number().nullable(),
|
|
7667
|
+
error: string().nullable()
|
|
7668
|
+
});
|
|
7669
|
+
var StorageMigrationPlanSchema = object({
|
|
7670
|
+
destinations: StorageMigrationDestinationsSchema,
|
|
7671
|
+
moves: array(object({
|
|
7672
|
+
storageClass: StorageMigrationClassSchema,
|
|
7673
|
+
fromLocationId: string(),
|
|
7674
|
+
toLocationId: string()
|
|
7675
|
+
}))
|
|
7596
7676
|
});
|
|
7597
7677
|
/**
|
|
7598
7678
|
* `StorageLocationType` — an addon-declared id that identifies the *kind* of
|
|
@@ -16098,13 +16178,19 @@ DeviceType.Camera, method(object({ deviceId: number() }), array(TrackSchema).rea
|
|
|
16098
16178
|
}), method(object({ deviceId: number() }), EventPruneCountsSchema, {
|
|
16099
16179
|
kind: "mutation",
|
|
16100
16180
|
auth: "admin"
|
|
16101
|
-
}), method(
|
|
16181
|
+
}), method(StorageMigrationLeaseInputSchema, object({ paused: literal(true) }), {
|
|
16102
16182
|
kind: "mutation",
|
|
16103
16183
|
auth: "admin"
|
|
16104
|
-
}), method(object({
|
|
16105
|
-
kind: "
|
|
16184
|
+
}), method(StorageMigrationLeaseInputSchema, object({ resumed: literal(true) }), {
|
|
16185
|
+
kind: "mutation",
|
|
16186
|
+
auth: "admin"
|
|
16187
|
+
}), method(StorageMigrationLeaseInputSchema, object({ refreshed: literal(true) }), {
|
|
16188
|
+
kind: "mutation",
|
|
16189
|
+
auth: "admin"
|
|
16190
|
+
}), method(StorageMigrationMediaMoveInputSchema, object({ jobId: string() }), {
|
|
16191
|
+
kind: "mutation",
|
|
16106
16192
|
auth: "admin"
|
|
16107
|
-
}), method(object({ jobId: string() }), object({ cancelled: boolean() }), {
|
|
16193
|
+
}), method(object({ jobId: string() }), RelocateJobSchema.nullable(), { auth: "admin" }), method(object({ jobId: string() }), object({ cancelled: boolean() }), {
|
|
16108
16194
|
kind: "mutation",
|
|
16109
16195
|
auth: "admin"
|
|
16110
16196
|
}), method(OpsLogQueryInputSchema, array(OpsLogEntrySchema).readonly(), {
|
|
@@ -17601,7 +17687,13 @@ var NodeInferenceDevicesSchema = object({
|
|
|
17601
17687
|
reachable: boolean(),
|
|
17602
17688
|
devices: array(NodeInferenceDeviceSchema).readonly()
|
|
17603
17689
|
});
|
|
17604
|
-
method(object({
|
|
17690
|
+
method(StorageMigrationLeaseInputSchema, object({ paused: literal(true) }), {
|
|
17691
|
+
kind: "mutation",
|
|
17692
|
+
auth: "admin"
|
|
17693
|
+
}), method(StorageMigrationLeaseInputSchema, object({ resumed: literal(true) }), {
|
|
17694
|
+
kind: "mutation",
|
|
17695
|
+
auth: "admin"
|
|
17696
|
+
}), method(object({
|
|
17605
17697
|
deviceId: number(),
|
|
17606
17698
|
agentNodeId: string()
|
|
17607
17699
|
}), object({ success: literal(true) }), {
|
|
@@ -18275,6 +18367,13 @@ method(object({ locationId: string() }), EvictableUsageSchema), method(object({
|
|
|
18275
18367
|
locationId: string(),
|
|
18276
18368
|
targetBytes: number().int().positive()
|
|
18277
18369
|
}), EvictResultSchema, { kind: "mutation" });
|
|
18370
|
+
method(StorageMigrationInputSchema, StorageMigrationPlanSchema, { auth: "admin" }), method(StorageMigrationInputSchema, object({ jobId: string() }), {
|
|
18371
|
+
kind: "mutation",
|
|
18372
|
+
auth: "admin"
|
|
18373
|
+
}), method(object({ jobId: string().optional() }), StorageMigrationJobSchema.nullable(), { auth: "admin" }), method(object({ jobId: string() }), object({ cancelled: boolean() }), {
|
|
18374
|
+
kind: "mutation",
|
|
18375
|
+
auth: "admin"
|
|
18376
|
+
});
|
|
18278
18377
|
var ProviderInfoSchema = discriminatedUnion("shouldSaveDiskSpace", [object({
|
|
18279
18378
|
providerId: string().min(1),
|
|
18280
18379
|
displayName: string().min(1),
|
|
@@ -18378,6 +18477,28 @@ var TerminalProfileInfoSchema = object({
|
|
|
18378
18477
|
label: string(),
|
|
18379
18478
|
description: string().optional()
|
|
18380
18479
|
});
|
|
18480
|
+
/**
|
|
18481
|
+
* A durable operator-created Terminal instance. Profiles are templates; only
|
|
18482
|
+
* an instance declares a camera.
|
|
18483
|
+
*/
|
|
18484
|
+
var TerminalInstanceInfoSchema = object({
|
|
18485
|
+
instanceId: string(),
|
|
18486
|
+
cameraStableId: string(),
|
|
18487
|
+
nodeId: string(),
|
|
18488
|
+
profileId: string(),
|
|
18489
|
+
profileLabel: string(),
|
|
18490
|
+
name: string(),
|
|
18491
|
+
enabled: boolean()
|
|
18492
|
+
});
|
|
18493
|
+
var TerminalLegacyCameraSchema = object({
|
|
18494
|
+
stableId: string(),
|
|
18495
|
+
nodeId: string(),
|
|
18496
|
+
profileId: string(),
|
|
18497
|
+
profileLabel: string(),
|
|
18498
|
+
name: string(),
|
|
18499
|
+
/** Only legacy monitor cameras can retain their historic stable identity. */
|
|
18500
|
+
adoptable: boolean()
|
|
18501
|
+
});
|
|
18381
18502
|
var TerminalOutputEventSchema = discriminatedUnion("kind", [object({
|
|
18382
18503
|
seq: number().int().positive(),
|
|
18383
18504
|
kind: literal("data"),
|
|
@@ -18394,7 +18515,29 @@ var TerminalOutputBatchSchema = object({
|
|
|
18394
18515
|
snapshot: string().optional(),
|
|
18395
18516
|
events: array(TerminalOutputEventSchema).readonly()
|
|
18396
18517
|
});
|
|
18397
|
-
method(_void(), array(TerminalProfileInfoSchema).readonly(), { auth: "admin" }), method(_void(), array(
|
|
18518
|
+
method(_void(), array(TerminalProfileInfoSchema).readonly(), { auth: "admin" }), method(_void(), array(TerminalInstanceInfoSchema).readonly(), { auth: "admin" }), method(object({
|
|
18519
|
+
targetNodeId: string().min(1),
|
|
18520
|
+
profileId: string().min(1),
|
|
18521
|
+
name: string().trim().min(1).max(160).optional()
|
|
18522
|
+
}), TerminalInstanceInfoSchema, {
|
|
18523
|
+
kind: "mutation",
|
|
18524
|
+
auth: "admin"
|
|
18525
|
+
}), method(object({ instanceId: string().min(1) }), _void(), {
|
|
18526
|
+
kind: "mutation",
|
|
18527
|
+
auth: "admin"
|
|
18528
|
+
}), method(object({
|
|
18529
|
+
instanceId: string().min(1),
|
|
18530
|
+
enabled: boolean()
|
|
18531
|
+
}), TerminalInstanceInfoSchema, {
|
|
18532
|
+
kind: "mutation",
|
|
18533
|
+
auth: "admin"
|
|
18534
|
+
}), method(_void(), array(TerminalLegacyCameraSchema).readonly(), { auth: "admin" }), method(object({
|
|
18535
|
+
stableId: string().min(1),
|
|
18536
|
+
name: string().trim().min(1).max(160).optional()
|
|
18537
|
+
}), TerminalInstanceInfoSchema, {
|
|
18538
|
+
kind: "mutation",
|
|
18539
|
+
auth: "admin"
|
|
18540
|
+
}), method(_void(), array(TerminalSessionInfoSchema).readonly(), { auth: "admin" }), method(object({
|
|
18398
18541
|
profileId: string(),
|
|
18399
18542
|
cols: number().int().positive(),
|
|
18400
18543
|
rows: number().int().positive()
|
|
@@ -18411,7 +18554,13 @@ method(_void(), array(TerminalProfileInfoSchema).readonly(), { auth: "admin" }),
|
|
|
18411
18554
|
}), method(object({
|
|
18412
18555
|
sessionId: string(),
|
|
18413
18556
|
afterSeq: number().int().nonnegative(),
|
|
18414
|
-
waitMs: number().int().min(0).max(2e3).default(0)
|
|
18557
|
+
waitMs: number().int().min(0).max(2e3).default(0),
|
|
18558
|
+
/**
|
|
18559
|
+
* Wait when a just-opened session has no output yet. Kept opt-in so a
|
|
18560
|
+
* browser's initial repaint remains immediate; the camera snapshot
|
|
18561
|
+
* relay uses it to avoid encoding a blank startup frame.
|
|
18562
|
+
*/
|
|
18563
|
+
waitForOutput: boolean().optional()
|
|
18415
18564
|
}), TerminalOutputBatchSchema, {
|
|
18416
18565
|
kind: "mutation",
|
|
18417
18566
|
auth: "admin",
|
|
@@ -20352,6 +20501,7 @@ var FaceInfoSchema = object({
|
|
|
20352
20501
|
var FaceFilterEnum = _enum([
|
|
20353
20502
|
"unassigned",
|
|
20354
20503
|
"recognized",
|
|
20504
|
+
"identified",
|
|
20355
20505
|
"all"
|
|
20356
20506
|
]);
|
|
20357
20507
|
var MediaFileLiteSchema$1 = object({
|
|
@@ -20380,6 +20530,8 @@ method(_void(), array(IdentitySchema).readonly()), method(object({ name: string(
|
|
|
20380
20530
|
kind: "mutation",
|
|
20381
20531
|
auth: "admin"
|
|
20382
20532
|
}), method(object({
|
|
20533
|
+
/** Restrict to one camera. Absent keeps the cluster-wide gallery view. */
|
|
20534
|
+
deviceId: number().int().optional(),
|
|
20383
20535
|
limit: number().int().positive().optional(),
|
|
20384
20536
|
filter: FaceFilterEnum.optional(),
|
|
20385
20537
|
/**
|
|
@@ -22145,6 +22297,10 @@ var OsdSourceSchema = discriminatedUnion("kind", [
|
|
|
22145
22297
|
capName: string().min(1).max(64),
|
|
22146
22298
|
/** Dot path inside the slice, e.g. `detected`, `value`, `mode`. */
|
|
22147
22299
|
valuePath: string().min(1).max(64)
|
|
22300
|
+
}),
|
|
22301
|
+
object({
|
|
22302
|
+
kind: literal("latest-recognition"),
|
|
22303
|
+
recognition: _enum(["person", "plate"])
|
|
22148
22304
|
})
|
|
22149
22305
|
]);
|
|
22150
22306
|
var OsdSlotBindingSchema = object({
|
|
@@ -22250,6 +22406,15 @@ method(object({ deviceId: number().int() }), object({
|
|
|
22250
22406
|
}), object({ success: literal(true) }), {
|
|
22251
22407
|
kind: "mutation",
|
|
22252
22408
|
auth: "admin"
|
|
22409
|
+
}), method(object({
|
|
22410
|
+
sourceDeviceId: number().int(),
|
|
22411
|
+
targetDeviceId: number().int()
|
|
22412
|
+
}), object({
|
|
22413
|
+
copied: number().int().nonnegative(),
|
|
22414
|
+
skipped: number().int().nonnegative()
|
|
22415
|
+
}), {
|
|
22416
|
+
kind: "mutation",
|
|
22417
|
+
auth: "admin"
|
|
22253
22418
|
}), method(object({
|
|
22254
22419
|
deviceId: number().int(),
|
|
22255
22420
|
slotId: string().min(1),
|
|
@@ -23135,13 +23300,19 @@ method(object({
|
|
|
23135
23300
|
}), {
|
|
23136
23301
|
kind: "mutation",
|
|
23137
23302
|
auth: "admin"
|
|
23138
|
-
}), method(
|
|
23303
|
+
}), method(StorageMigrationLeaseInputSchema, object({ paused: literal(true) }), {
|
|
23139
23304
|
kind: "mutation",
|
|
23140
23305
|
auth: "admin"
|
|
23141
|
-
}), method(object({
|
|
23142
|
-
kind: "
|
|
23306
|
+
}), method(StorageMigrationLeaseInputSchema, object({ resumed: literal(true) }), {
|
|
23307
|
+
kind: "mutation",
|
|
23143
23308
|
auth: "admin"
|
|
23144
|
-
}), method(
|
|
23309
|
+
}), method(StorageMigrationLeaseInputSchema, object({ refreshed: literal(true) }), {
|
|
23310
|
+
kind: "mutation",
|
|
23311
|
+
auth: "admin"
|
|
23312
|
+
}), method(StorageMigrationFootageMoveInputSchema, object({ jobId: string() }), {
|
|
23313
|
+
kind: "mutation",
|
|
23314
|
+
auth: "admin"
|
|
23315
|
+
}), method(object({ jobId: string() }), RelocateJobSchema.nullable(), { auth: "admin" }), method(object({ jobId: string() }), object({ cancelled: boolean() }), {
|
|
23145
23316
|
kind: "mutation",
|
|
23146
23317
|
auth: "admin"
|
|
23147
23318
|
});
|
|
@@ -27263,6 +27434,12 @@ Object.freeze({
|
|
|
27263
27434
|
addonId: null,
|
|
27264
27435
|
access: "delete"
|
|
27265
27436
|
},
|
|
27437
|
+
"osdManager.copyDeviceConfiguration": {
|
|
27438
|
+
capName: "osd-manager",
|
|
27439
|
+
capScope: "system",
|
|
27440
|
+
addonId: null,
|
|
27441
|
+
access: "create"
|
|
27442
|
+
},
|
|
27266
27443
|
"osdManager.getConditionSupport": {
|
|
27267
27444
|
capName: "osd-manager",
|
|
27268
27445
|
capScope: "system",
|
|
@@ -27359,7 +27536,7 @@ Object.freeze({
|
|
|
27359
27536
|
addonId: null,
|
|
27360
27537
|
access: "create"
|
|
27361
27538
|
},
|
|
27362
|
-
"pipelineAnalytics.
|
|
27539
|
+
"pipelineAnalytics.cancelStorageMigrationMove": {
|
|
27363
27540
|
capName: "pipeline-analytics",
|
|
27364
27541
|
capScope: "device",
|
|
27365
27542
|
addonId: null,
|
|
@@ -27431,12 +27608,6 @@ Object.freeze({
|
|
|
27431
27608
|
addonId: null,
|
|
27432
27609
|
access: "view"
|
|
27433
27610
|
},
|
|
27434
|
-
"pipelineAnalytics.getMediaRelocateStatus": {
|
|
27435
|
-
capName: "pipeline-analytics",
|
|
27436
|
-
capScope: "device",
|
|
27437
|
-
addonId: null,
|
|
27438
|
-
access: "view"
|
|
27439
|
-
},
|
|
27440
27611
|
"pipelineAnalytics.getMotionEvents": {
|
|
27441
27612
|
capName: "pipeline-analytics",
|
|
27442
27613
|
capScope: "device",
|
|
@@ -27473,6 +27644,12 @@ Object.freeze({
|
|
|
27473
27644
|
addonId: null,
|
|
27474
27645
|
access: "view"
|
|
27475
27646
|
},
|
|
27647
|
+
"pipelineAnalytics.getStorageMigrationMoveStatus": {
|
|
27648
|
+
capName: "pipeline-analytics",
|
|
27649
|
+
capScope: "device",
|
|
27650
|
+
addonId: null,
|
|
27651
|
+
access: "view"
|
|
27652
|
+
},
|
|
27476
27653
|
"pipelineAnalytics.getTrack": {
|
|
27477
27654
|
capName: "pipeline-analytics",
|
|
27478
27655
|
capScope: "device",
|
|
@@ -27551,6 +27728,12 @@ Object.freeze({
|
|
|
27551
27728
|
addonId: null,
|
|
27552
27729
|
access: "view"
|
|
27553
27730
|
},
|
|
27731
|
+
"pipelineAnalytics.pauseForStorageMigration": {
|
|
27732
|
+
capName: "pipeline-analytics",
|
|
27733
|
+
capScope: "device",
|
|
27734
|
+
addonId: null,
|
|
27735
|
+
access: "create"
|
|
27736
|
+
},
|
|
27554
27737
|
"pipelineAnalytics.proposeRetrainAnnotations": {
|
|
27555
27738
|
capName: "pipeline-analytics",
|
|
27556
27739
|
capScope: "device",
|
|
@@ -27581,7 +27764,7 @@ Object.freeze({
|
|
|
27581
27764
|
addonId: null,
|
|
27582
27765
|
access: "create"
|
|
27583
27766
|
},
|
|
27584
|
-
"pipelineAnalytics.
|
|
27767
|
+
"pipelineAnalytics.refreshStorageLocationsForMigration": {
|
|
27585
27768
|
capName: "pipeline-analytics",
|
|
27586
27769
|
capScope: "device",
|
|
27587
27770
|
addonId: null,
|
|
@@ -27593,6 +27776,12 @@ Object.freeze({
|
|
|
27593
27776
|
addonId: null,
|
|
27594
27777
|
access: "create"
|
|
27595
27778
|
},
|
|
27779
|
+
"pipelineAnalytics.resumeForStorageMigration": {
|
|
27780
|
+
capName: "pipeline-analytics",
|
|
27781
|
+
capScope: "device",
|
|
27782
|
+
addonId: null,
|
|
27783
|
+
access: "create"
|
|
27784
|
+
},
|
|
27596
27785
|
"pipelineAnalytics.saveRetrainAnnotations": {
|
|
27597
27786
|
capName: "pipeline-analytics",
|
|
27598
27787
|
capScope: "device",
|
|
@@ -27617,6 +27806,12 @@ Object.freeze({
|
|
|
27617
27806
|
addonId: null,
|
|
27618
27807
|
access: "create"
|
|
27619
27808
|
},
|
|
27809
|
+
"pipelineAnalytics.startStorageMigrationMove": {
|
|
27810
|
+
capName: "pipeline-analytics",
|
|
27811
|
+
capScope: "device",
|
|
27812
|
+
addonId: null,
|
|
27813
|
+
access: "create"
|
|
27814
|
+
},
|
|
27620
27815
|
"pipelineAnalytics.wipeAllAnalytics": {
|
|
27621
27816
|
capName: "pipeline-analytics",
|
|
27622
27817
|
capScope: "device",
|
|
@@ -27983,6 +28178,12 @@ Object.freeze({
|
|
|
27983
28178
|
addonId: null,
|
|
27984
28179
|
access: "view"
|
|
27985
28180
|
},
|
|
28181
|
+
"pipelineOrchestrator.pauseForStorageMigration": {
|
|
28182
|
+
capName: "pipeline-orchestrator",
|
|
28183
|
+
capScope: "system",
|
|
28184
|
+
addonId: null,
|
|
28185
|
+
access: "create"
|
|
28186
|
+
},
|
|
27986
28187
|
"pipelineOrchestrator.rebalance": {
|
|
27987
28188
|
capName: "pipeline-orchestrator",
|
|
27988
28189
|
capScope: "system",
|
|
@@ -28007,6 +28208,12 @@ Object.freeze({
|
|
|
28007
28208
|
addonId: null,
|
|
28008
28209
|
access: "view"
|
|
28009
28210
|
},
|
|
28211
|
+
"pipelineOrchestrator.resumeForStorageMigration": {
|
|
28212
|
+
capName: "pipeline-orchestrator",
|
|
28213
|
+
capScope: "system",
|
|
28214
|
+
addonId: null,
|
|
28215
|
+
access: "create"
|
|
28216
|
+
},
|
|
28010
28217
|
"pipelineOrchestrator.saveTemplate": {
|
|
28011
28218
|
capName: "pipeline-orchestrator",
|
|
28012
28219
|
capScope: "system",
|
|
@@ -28403,7 +28610,7 @@ Object.freeze({
|
|
|
28403
28610
|
addonId: null,
|
|
28404
28611
|
access: "create"
|
|
28405
28612
|
},
|
|
28406
|
-
"recording.
|
|
28613
|
+
"recording.cancelStorageMigrationMove": {
|
|
28407
28614
|
capName: "recording",
|
|
28408
28615
|
capScope: "system",
|
|
28409
28616
|
addonId: null,
|
|
@@ -28439,7 +28646,7 @@ Object.freeze({
|
|
|
28439
28646
|
addonId: null,
|
|
28440
28647
|
access: "view"
|
|
28441
28648
|
},
|
|
28442
|
-
"recording.
|
|
28649
|
+
"recording.getStorageMigrationMoveStatus": {
|
|
28443
28650
|
capName: "recording",
|
|
28444
28651
|
capScope: "system",
|
|
28445
28652
|
addonId: null,
|
|
@@ -28463,6 +28670,12 @@ Object.freeze({
|
|
|
28463
28670
|
addonId: null,
|
|
28464
28671
|
access: "view"
|
|
28465
28672
|
},
|
|
28673
|
+
"recording.pauseForStorageMigration": {
|
|
28674
|
+
capName: "recording",
|
|
28675
|
+
capScope: "system",
|
|
28676
|
+
addonId: null,
|
|
28677
|
+
access: "create"
|
|
28678
|
+
},
|
|
28466
28679
|
"recording.pruneFootage": {
|
|
28467
28680
|
capName: "recording",
|
|
28468
28681
|
capScope: "system",
|
|
@@ -28481,7 +28694,7 @@ Object.freeze({
|
|
|
28481
28694
|
addonId: null,
|
|
28482
28695
|
access: "view"
|
|
28483
28696
|
},
|
|
28484
|
-
"recording.
|
|
28697
|
+
"recording.refreshStorageLocationsForMigration": {
|
|
28485
28698
|
capName: "recording",
|
|
28486
28699
|
capScope: "system",
|
|
28487
28700
|
addonId: null,
|
|
@@ -28505,12 +28718,24 @@ Object.freeze({
|
|
|
28505
28718
|
addonId: null,
|
|
28506
28719
|
access: "create"
|
|
28507
28720
|
},
|
|
28721
|
+
"recording.resumeForStorageMigration": {
|
|
28722
|
+
capName: "recording",
|
|
28723
|
+
capScope: "system",
|
|
28724
|
+
addonId: null,
|
|
28725
|
+
access: "create"
|
|
28726
|
+
},
|
|
28508
28727
|
"recording.setDeviceConfig": {
|
|
28509
28728
|
capName: "recording",
|
|
28510
28729
|
capScope: "system",
|
|
28511
28730
|
addonId: null,
|
|
28512
28731
|
access: "create"
|
|
28513
28732
|
},
|
|
28733
|
+
"recording.startStorageMigrationMove": {
|
|
28734
|
+
capName: "recording",
|
|
28735
|
+
capScope: "system",
|
|
28736
|
+
addonId: null,
|
|
28737
|
+
access: "create"
|
|
28738
|
+
},
|
|
28514
28739
|
"recordingExport.cancelExport": {
|
|
28515
28740
|
capName: "recordingExport",
|
|
28516
28741
|
capScope: "system",
|
|
@@ -28901,6 +29126,30 @@ Object.freeze({
|
|
|
28901
29126
|
addonId: null,
|
|
28902
29127
|
access: "view"
|
|
28903
29128
|
},
|
|
29129
|
+
"storageMigration.cancel": {
|
|
29130
|
+
capName: "storage-migration",
|
|
29131
|
+
capScope: "system",
|
|
29132
|
+
addonId: null,
|
|
29133
|
+
access: "create"
|
|
29134
|
+
},
|
|
29135
|
+
"storageMigration.plan": {
|
|
29136
|
+
capName: "storage-migration",
|
|
29137
|
+
capScope: "system",
|
|
29138
|
+
addonId: null,
|
|
29139
|
+
access: "view"
|
|
29140
|
+
},
|
|
29141
|
+
"storageMigration.start": {
|
|
29142
|
+
capName: "storage-migration",
|
|
29143
|
+
capScope: "system",
|
|
29144
|
+
addonId: null,
|
|
29145
|
+
access: "create"
|
|
29146
|
+
},
|
|
29147
|
+
"storageMigration.status": {
|
|
29148
|
+
capName: "storage-migration",
|
|
29149
|
+
capScope: "system",
|
|
29150
|
+
addonId: null,
|
|
29151
|
+
access: "view"
|
|
29152
|
+
},
|
|
28904
29153
|
"storageProvider.abortUpload": {
|
|
28905
29154
|
capName: "storage-provider",
|
|
28906
29155
|
capScope: "system",
|
|
@@ -29279,12 +29528,42 @@ Object.freeze({
|
|
|
29279
29528
|
addonId: null,
|
|
29280
29529
|
access: "create"
|
|
29281
29530
|
},
|
|
29531
|
+
"terminalSession.adoptLegacyMonitor": {
|
|
29532
|
+
capName: "terminal-session",
|
|
29533
|
+
capScope: "system",
|
|
29534
|
+
addonId: null,
|
|
29535
|
+
access: "create"
|
|
29536
|
+
},
|
|
29282
29537
|
"terminalSession.close": {
|
|
29283
29538
|
capName: "terminal-session",
|
|
29284
29539
|
capScope: "system",
|
|
29285
29540
|
addonId: null,
|
|
29286
29541
|
access: "create"
|
|
29287
29542
|
},
|
|
29543
|
+
"terminalSession.createInstance": {
|
|
29544
|
+
capName: "terminal-session",
|
|
29545
|
+
capScope: "system",
|
|
29546
|
+
addonId: null,
|
|
29547
|
+
access: "create"
|
|
29548
|
+
},
|
|
29549
|
+
"terminalSession.deleteInstance": {
|
|
29550
|
+
capName: "terminal-session",
|
|
29551
|
+
capScope: "system",
|
|
29552
|
+
addonId: null,
|
|
29553
|
+
access: "delete"
|
|
29554
|
+
},
|
|
29555
|
+
"terminalSession.listInstances": {
|
|
29556
|
+
capName: "terminal-session",
|
|
29557
|
+
capScope: "system",
|
|
29558
|
+
addonId: null,
|
|
29559
|
+
access: "view"
|
|
29560
|
+
},
|
|
29561
|
+
"terminalSession.listLegacyCameras": {
|
|
29562
|
+
capName: "terminal-session",
|
|
29563
|
+
capScope: "system",
|
|
29564
|
+
addonId: null,
|
|
29565
|
+
access: "view"
|
|
29566
|
+
},
|
|
29288
29567
|
"terminalSession.listProfiles": {
|
|
29289
29568
|
capName: "terminal-session",
|
|
29290
29569
|
capScope: "system",
|
|
@@ -29315,6 +29594,12 @@ Object.freeze({
|
|
|
29315
29594
|
addonId: null,
|
|
29316
29595
|
access: "create"
|
|
29317
29596
|
},
|
|
29597
|
+
"terminalSession.setInstanceEnabled": {
|
|
29598
|
+
capName: "terminal-session",
|
|
29599
|
+
capScope: "system",
|
|
29600
|
+
addonId: null,
|
|
29601
|
+
access: "create"
|
|
29602
|
+
},
|
|
29318
29603
|
"terminalSession.writeInput": {
|
|
29319
29604
|
capName: "terminal-session",
|
|
29320
29605
|
capScope: "system",
|