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