@camstack/addon-provider-onvif 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/addon.js +316 -31
- package/dist/addon.mjs +316 -31
- package/package.json +1 -1
package/dist/addon.js
CHANGED
|
@@ -7550,12 +7550,11 @@ var RecordingConfigSchema = object({
|
|
|
7550
7550
|
/**
|
|
7551
7551
|
* Entity-relocation job state (storage entity-routing spec, Phase 4).
|
|
7552
7552
|
*
|
|
7553
|
-
* One shape shared by the recorder
|
|
7554
|
-
*
|
|
7555
|
-
*
|
|
7556
|
-
*
|
|
7557
|
-
*
|
|
7558
|
-
* row on the owning addon's surface.
|
|
7553
|
+
* One shape shared by the recorder and pipeline-analytics internal movers.
|
|
7554
|
+
* The public admin surface is `storage-migration`; child jobs remain in RAM
|
|
7555
|
+
* because copy-if-absent, verify, delete and index/row repoint are resumable.
|
|
7556
|
+
* Each completed/failed run also lands one durable ops-log row on its owning
|
|
7557
|
+
* addon surface.
|
|
7559
7558
|
*/
|
|
7560
7559
|
var RelocateJobStateSchema = _enum([
|
|
7561
7560
|
"running",
|
|
@@ -7582,19 +7581,100 @@ var RelocateJobSchema = object({
|
|
|
7582
7581
|
finishedAt: number().nullable(),
|
|
7583
7582
|
error: string().nullable()
|
|
7584
7583
|
});
|
|
7584
|
+
/** Profile-derived footage selection used only by the migration coordinator:
|
|
7585
|
+
* `recordings` owns high+mid; `recordingsLow` owns low. */
|
|
7586
|
+
var RelocateFootageClassSchema = _enum(["recordings", "recordingsLow"]);
|
|
7585
7587
|
var RelocateFootageInputSchema = object({
|
|
7586
|
-
deviceId: number().optional(),
|
|
7587
7588
|
fromLocationId: string(),
|
|
7588
7589
|
toLocationId: string(),
|
|
7589
7590
|
entities: array(_enum(["segments"])).optional(),
|
|
7591
|
+
/** Limits relocation to the logical profile class. Omit only for the
|
|
7592
|
+
* pre-orchestration compatibility path. */
|
|
7593
|
+
footageClass: RelocateFootageClassSchema.optional(),
|
|
7590
7594
|
/** Copy throttle in MB/s (default 40) — the drain is a background chore,
|
|
7591
7595
|
* never allowed to starve live writers. */
|
|
7592
7596
|
throttleMbps: number().min(1).max(1e3).optional()
|
|
7593
7597
|
});
|
|
7594
|
-
|
|
7595
|
-
|
|
7598
|
+
/** Internal, lease-scoped participant operation. It is intentionally separate
|
|
7599
|
+
* from persistent recording settings: a migration never changes
|
|
7600
|
+
* `RecordingConfig.enabled` or camera wrapper bindings. */
|
|
7601
|
+
var StorageMigrationLeaseInputSchema = object({ leaseId: string().min(1) });
|
|
7602
|
+
var StorageMigrationFootageMoveInputSchema = RelocateFootageInputSchema.extend({ leaseId: string().min(1) });
|
|
7603
|
+
var StorageMigrationMediaMoveInputSchema = object({
|
|
7596
7604
|
toLocationId: string(),
|
|
7597
7605
|
throttleMbps: number().min(1).max(1e3).optional()
|
|
7606
|
+
}).extend({ leaseId: string().min(1) });
|
|
7607
|
+
/** The independently selectable logical storage classes. `recordings`
|
|
7608
|
+
* encompasses the high and mid segment profiles; `recordingsLow` is low
|
|
7609
|
+
* segments; `eventMedia` is post-analysis blobs. */
|
|
7610
|
+
var StorageMigrationClassSchema = _enum([
|
|
7611
|
+
"recordings",
|
|
7612
|
+
"recordingsLow",
|
|
7613
|
+
"eventMedia"
|
|
7614
|
+
]);
|
|
7615
|
+
/** A destination is always an existing, fully-qualified location id. The
|
|
7616
|
+
* migration API intentionally never changes a source location's `basePath`:
|
|
7617
|
+
* callers create a new `<type>:<slug>` location, then select it here. */
|
|
7618
|
+
var StorageMigrationDestinationsSchema = object({
|
|
7619
|
+
recordings: string().min(1).optional(),
|
|
7620
|
+
recordingsLow: string().min(1).optional(),
|
|
7621
|
+
eventMedia: string().min(1).optional()
|
|
7622
|
+
}).refine((value) => Object.keys(value).length > 0, { message: "select at least one storage class" });
|
|
7623
|
+
/** Shared input for planning and starting an orchestrated storage migration. */
|
|
7624
|
+
var StorageMigrationInputSchema = object({
|
|
7625
|
+
destinations: StorageMigrationDestinationsSchema,
|
|
7626
|
+
throttleMbps: number().min(1).max(1e3).optional()
|
|
7627
|
+
});
|
|
7628
|
+
/** The durable coordinator state machine. The only phase that changes default
|
|
7629
|
+
* locations is `repointing`, after every selected mover has completed and been
|
|
7630
|
+
* verified. */
|
|
7631
|
+
var StorageMigrationPhaseSchema = _enum([
|
|
7632
|
+
"planning",
|
|
7633
|
+
"pausing",
|
|
7634
|
+
"moving",
|
|
7635
|
+
"verifying",
|
|
7636
|
+
"repointing",
|
|
7637
|
+
"refreshing",
|
|
7638
|
+
"resuming",
|
|
7639
|
+
"done",
|
|
7640
|
+
"failed",
|
|
7641
|
+
"cancelled"
|
|
7642
|
+
]);
|
|
7643
|
+
var StorageMigrationParticipantSchema = _enum([
|
|
7644
|
+
"pipeline",
|
|
7645
|
+
"recorder",
|
|
7646
|
+
"analytics"
|
|
7647
|
+
]);
|
|
7648
|
+
var StorageMigrationMoveSchema = object({
|
|
7649
|
+
storageClass: StorageMigrationClassSchema,
|
|
7650
|
+
fromLocationId: string(),
|
|
7651
|
+
toLocationId: string(),
|
|
7652
|
+
moverJobId: string().nullable(),
|
|
7653
|
+
state: RelocateJobStateSchema.nullable(),
|
|
7654
|
+
error: string().nullable()
|
|
7655
|
+
});
|
|
7656
|
+
var StorageMigrationJobSchema = object({
|
|
7657
|
+
jobId: string(),
|
|
7658
|
+
phase: StorageMigrationPhaseSchema,
|
|
7659
|
+
destinations: StorageMigrationDestinationsSchema,
|
|
7660
|
+
throttleMbps: number(),
|
|
7661
|
+
moves: array(StorageMigrationMoveSchema),
|
|
7662
|
+
pauseLeaseId: string().nullable(),
|
|
7663
|
+
pausedParticipants: array(StorageMigrationParticipantSchema),
|
|
7664
|
+
repointed: boolean(),
|
|
7665
|
+
cancelRequested: boolean(),
|
|
7666
|
+
startedAt: number(),
|
|
7667
|
+
updatedAt: number(),
|
|
7668
|
+
finishedAt: number().nullable(),
|
|
7669
|
+
error: string().nullable()
|
|
7670
|
+
});
|
|
7671
|
+
var StorageMigrationPlanSchema = object({
|
|
7672
|
+
destinations: StorageMigrationDestinationsSchema,
|
|
7673
|
+
moves: array(object({
|
|
7674
|
+
storageClass: StorageMigrationClassSchema,
|
|
7675
|
+
fromLocationId: string(),
|
|
7676
|
+
toLocationId: string()
|
|
7677
|
+
}))
|
|
7598
7678
|
});
|
|
7599
7679
|
/**
|
|
7600
7680
|
* `StorageLocationType` — an addon-declared id that identifies the *kind* of
|
|
@@ -16025,13 +16105,19 @@ DeviceType.Camera, method(object({ deviceId: number() }), array(TrackSchema).rea
|
|
|
16025
16105
|
}), method(object({ deviceId: number() }), EventPruneCountsSchema, {
|
|
16026
16106
|
kind: "mutation",
|
|
16027
16107
|
auth: "admin"
|
|
16028
|
-
}), method(
|
|
16108
|
+
}), method(StorageMigrationLeaseInputSchema, object({ paused: literal(true) }), {
|
|
16029
16109
|
kind: "mutation",
|
|
16030
16110
|
auth: "admin"
|
|
16031
|
-
}), method(object({
|
|
16032
|
-
kind: "
|
|
16111
|
+
}), method(StorageMigrationLeaseInputSchema, object({ resumed: literal(true) }), {
|
|
16112
|
+
kind: "mutation",
|
|
16113
|
+
auth: "admin"
|
|
16114
|
+
}), method(StorageMigrationLeaseInputSchema, object({ refreshed: literal(true) }), {
|
|
16115
|
+
kind: "mutation",
|
|
16116
|
+
auth: "admin"
|
|
16117
|
+
}), method(StorageMigrationMediaMoveInputSchema, object({ jobId: string() }), {
|
|
16118
|
+
kind: "mutation",
|
|
16033
16119
|
auth: "admin"
|
|
16034
|
-
}), method(object({ jobId: string() }), object({ cancelled: boolean() }), {
|
|
16120
|
+
}), method(object({ jobId: string() }), RelocateJobSchema.nullable(), { auth: "admin" }), method(object({ jobId: string() }), object({ cancelled: boolean() }), {
|
|
16035
16121
|
kind: "mutation",
|
|
16036
16122
|
auth: "admin"
|
|
16037
16123
|
}), method(OpsLogQueryInputSchema, array(OpsLogEntrySchema).readonly(), {
|
|
@@ -17528,7 +17614,13 @@ var NodeInferenceDevicesSchema = object({
|
|
|
17528
17614
|
reachable: boolean(),
|
|
17529
17615
|
devices: array(NodeInferenceDeviceSchema).readonly()
|
|
17530
17616
|
});
|
|
17531
|
-
method(object({
|
|
17617
|
+
method(StorageMigrationLeaseInputSchema, object({ paused: literal(true) }), {
|
|
17618
|
+
kind: "mutation",
|
|
17619
|
+
auth: "admin"
|
|
17620
|
+
}), method(StorageMigrationLeaseInputSchema, object({ resumed: literal(true) }), {
|
|
17621
|
+
kind: "mutation",
|
|
17622
|
+
auth: "admin"
|
|
17623
|
+
}), method(object({
|
|
17532
17624
|
deviceId: number(),
|
|
17533
17625
|
agentNodeId: string()
|
|
17534
17626
|
}), object({ success: literal(true) }), {
|
|
@@ -18293,6 +18385,13 @@ method(object({ locationId: string() }), EvictableUsageSchema), method(object({
|
|
|
18293
18385
|
locationId: string(),
|
|
18294
18386
|
targetBytes: number().int().positive()
|
|
18295
18387
|
}), EvictResultSchema, { kind: "mutation" });
|
|
18388
|
+
method(StorageMigrationInputSchema, StorageMigrationPlanSchema, { auth: "admin" }), method(StorageMigrationInputSchema, object({ jobId: string() }), {
|
|
18389
|
+
kind: "mutation",
|
|
18390
|
+
auth: "admin"
|
|
18391
|
+
}), method(object({ jobId: string().optional() }), StorageMigrationJobSchema.nullable(), { auth: "admin" }), method(object({ jobId: string() }), object({ cancelled: boolean() }), {
|
|
18392
|
+
kind: "mutation",
|
|
18393
|
+
auth: "admin"
|
|
18394
|
+
});
|
|
18296
18395
|
var ProviderInfoSchema = discriminatedUnion("shouldSaveDiskSpace", [object({
|
|
18297
18396
|
providerId: string().min(1),
|
|
18298
18397
|
displayName: string().min(1),
|
|
@@ -18396,6 +18495,28 @@ var TerminalProfileInfoSchema = object({
|
|
|
18396
18495
|
label: string(),
|
|
18397
18496
|
description: string().optional()
|
|
18398
18497
|
});
|
|
18498
|
+
/**
|
|
18499
|
+
* A durable operator-created Terminal instance. Profiles are templates; only
|
|
18500
|
+
* an instance declares a camera.
|
|
18501
|
+
*/
|
|
18502
|
+
var TerminalInstanceInfoSchema = object({
|
|
18503
|
+
instanceId: string(),
|
|
18504
|
+
cameraStableId: string(),
|
|
18505
|
+
nodeId: string(),
|
|
18506
|
+
profileId: string(),
|
|
18507
|
+
profileLabel: string(),
|
|
18508
|
+
name: string(),
|
|
18509
|
+
enabled: boolean()
|
|
18510
|
+
});
|
|
18511
|
+
var TerminalLegacyCameraSchema = object({
|
|
18512
|
+
stableId: string(),
|
|
18513
|
+
nodeId: string(),
|
|
18514
|
+
profileId: string(),
|
|
18515
|
+
profileLabel: string(),
|
|
18516
|
+
name: string(),
|
|
18517
|
+
/** Only legacy monitor cameras can retain their historic stable identity. */
|
|
18518
|
+
adoptable: boolean()
|
|
18519
|
+
});
|
|
18399
18520
|
var TerminalOutputEventSchema = discriminatedUnion("kind", [object({
|
|
18400
18521
|
seq: number().int().positive(),
|
|
18401
18522
|
kind: literal("data"),
|
|
@@ -18412,7 +18533,29 @@ var TerminalOutputBatchSchema = object({
|
|
|
18412
18533
|
snapshot: string().optional(),
|
|
18413
18534
|
events: array(TerminalOutputEventSchema).readonly()
|
|
18414
18535
|
});
|
|
18415
|
-
method(_void(), array(TerminalProfileInfoSchema).readonly(), { auth: "admin" }), method(_void(), array(
|
|
18536
|
+
method(_void(), array(TerminalProfileInfoSchema).readonly(), { auth: "admin" }), method(_void(), array(TerminalInstanceInfoSchema).readonly(), { auth: "admin" }), method(object({
|
|
18537
|
+
targetNodeId: string().min(1),
|
|
18538
|
+
profileId: string().min(1),
|
|
18539
|
+
name: string().trim().min(1).max(160).optional()
|
|
18540
|
+
}), TerminalInstanceInfoSchema, {
|
|
18541
|
+
kind: "mutation",
|
|
18542
|
+
auth: "admin"
|
|
18543
|
+
}), method(object({ instanceId: string().min(1) }), _void(), {
|
|
18544
|
+
kind: "mutation",
|
|
18545
|
+
auth: "admin"
|
|
18546
|
+
}), method(object({
|
|
18547
|
+
instanceId: string().min(1),
|
|
18548
|
+
enabled: boolean()
|
|
18549
|
+
}), TerminalInstanceInfoSchema, {
|
|
18550
|
+
kind: "mutation",
|
|
18551
|
+
auth: "admin"
|
|
18552
|
+
}), method(_void(), array(TerminalLegacyCameraSchema).readonly(), { auth: "admin" }), method(object({
|
|
18553
|
+
stableId: string().min(1),
|
|
18554
|
+
name: string().trim().min(1).max(160).optional()
|
|
18555
|
+
}), TerminalInstanceInfoSchema, {
|
|
18556
|
+
kind: "mutation",
|
|
18557
|
+
auth: "admin"
|
|
18558
|
+
}), method(_void(), array(TerminalSessionInfoSchema).readonly(), { auth: "admin" }), method(object({
|
|
18416
18559
|
profileId: string(),
|
|
18417
18560
|
cols: number().int().positive(),
|
|
18418
18561
|
rows: number().int().positive()
|
|
@@ -18429,7 +18572,13 @@ method(_void(), array(TerminalProfileInfoSchema).readonly(), { auth: "admin" }),
|
|
|
18429
18572
|
}), method(object({
|
|
18430
18573
|
sessionId: string(),
|
|
18431
18574
|
afterSeq: number().int().nonnegative(),
|
|
18432
|
-
waitMs: number().int().min(0).max(2e3).default(0)
|
|
18575
|
+
waitMs: number().int().min(0).max(2e3).default(0),
|
|
18576
|
+
/**
|
|
18577
|
+
* Wait when a just-opened session has no output yet. Kept opt-in so a
|
|
18578
|
+
* browser's initial repaint remains immediate; the camera snapshot
|
|
18579
|
+
* relay uses it to avoid encoding a blank startup frame.
|
|
18580
|
+
*/
|
|
18581
|
+
waitForOutput: boolean().optional()
|
|
18433
18582
|
}), TerminalOutputBatchSchema, {
|
|
18434
18583
|
kind: "mutation",
|
|
18435
18584
|
auth: "admin",
|
|
@@ -20370,6 +20519,7 @@ var FaceInfoSchema = object({
|
|
|
20370
20519
|
var FaceFilterEnum = _enum([
|
|
20371
20520
|
"unassigned",
|
|
20372
20521
|
"recognized",
|
|
20522
|
+
"identified",
|
|
20373
20523
|
"all"
|
|
20374
20524
|
]);
|
|
20375
20525
|
var MediaFileLiteSchema$1 = object({
|
|
@@ -20398,6 +20548,8 @@ method(_void(), array(IdentitySchema).readonly()), method(object({ name: string(
|
|
|
20398
20548
|
kind: "mutation",
|
|
20399
20549
|
auth: "admin"
|
|
20400
20550
|
}), method(object({
|
|
20551
|
+
/** Restrict to one camera. Absent keeps the cluster-wide gallery view. */
|
|
20552
|
+
deviceId: number().int().optional(),
|
|
20401
20553
|
limit: number().int().positive().optional(),
|
|
20402
20554
|
filter: FaceFilterEnum.optional(),
|
|
20403
20555
|
/**
|
|
@@ -22163,6 +22315,10 @@ var OsdSourceSchema = discriminatedUnion("kind", [
|
|
|
22163
22315
|
capName: string().min(1).max(64),
|
|
22164
22316
|
/** Dot path inside the slice, e.g. `detected`, `value`, `mode`. */
|
|
22165
22317
|
valuePath: string().min(1).max(64)
|
|
22318
|
+
}),
|
|
22319
|
+
object({
|
|
22320
|
+
kind: literal("latest-recognition"),
|
|
22321
|
+
recognition: _enum(["person", "plate"])
|
|
22166
22322
|
})
|
|
22167
22323
|
]);
|
|
22168
22324
|
var OsdSlotBindingSchema = object({
|
|
@@ -22268,6 +22424,15 @@ method(object({ deviceId: number().int() }), object({
|
|
|
22268
22424
|
}), object({ success: literal(true) }), {
|
|
22269
22425
|
kind: "mutation",
|
|
22270
22426
|
auth: "admin"
|
|
22427
|
+
}), method(object({
|
|
22428
|
+
sourceDeviceId: number().int(),
|
|
22429
|
+
targetDeviceId: number().int()
|
|
22430
|
+
}), object({
|
|
22431
|
+
copied: number().int().nonnegative(),
|
|
22432
|
+
skipped: number().int().nonnegative()
|
|
22433
|
+
}), {
|
|
22434
|
+
kind: "mutation",
|
|
22435
|
+
auth: "admin"
|
|
22271
22436
|
}), method(object({
|
|
22272
22437
|
deviceId: number().int(),
|
|
22273
22438
|
slotId: string().min(1),
|
|
@@ -23195,13 +23360,19 @@ method(object({
|
|
|
23195
23360
|
}), {
|
|
23196
23361
|
kind: "mutation",
|
|
23197
23362
|
auth: "admin"
|
|
23198
|
-
}), method(
|
|
23363
|
+
}), method(StorageMigrationLeaseInputSchema, object({ paused: literal(true) }), {
|
|
23199
23364
|
kind: "mutation",
|
|
23200
23365
|
auth: "admin"
|
|
23201
|
-
}), method(object({
|
|
23202
|
-
kind: "
|
|
23366
|
+
}), method(StorageMigrationLeaseInputSchema, object({ resumed: literal(true) }), {
|
|
23367
|
+
kind: "mutation",
|
|
23203
23368
|
auth: "admin"
|
|
23204
|
-
}), method(
|
|
23369
|
+
}), method(StorageMigrationLeaseInputSchema, object({ refreshed: literal(true) }), {
|
|
23370
|
+
kind: "mutation",
|
|
23371
|
+
auth: "admin"
|
|
23372
|
+
}), method(StorageMigrationFootageMoveInputSchema, object({ jobId: string() }), {
|
|
23373
|
+
kind: "mutation",
|
|
23374
|
+
auth: "admin"
|
|
23375
|
+
}), method(object({ jobId: string() }), RelocateJobSchema.nullable(), { auth: "admin" }), method(object({ jobId: string() }), object({ cancelled: boolean() }), {
|
|
23205
23376
|
kind: "mutation",
|
|
23206
23377
|
auth: "admin"
|
|
23207
23378
|
});
|
|
@@ -27732,6 +27903,12 @@ Object.freeze({
|
|
|
27732
27903
|
addonId: null,
|
|
27733
27904
|
access: "delete"
|
|
27734
27905
|
},
|
|
27906
|
+
"osdManager.copyDeviceConfiguration": {
|
|
27907
|
+
capName: "osd-manager",
|
|
27908
|
+
capScope: "system",
|
|
27909
|
+
addonId: null,
|
|
27910
|
+
access: "create"
|
|
27911
|
+
},
|
|
27735
27912
|
"osdManager.getConditionSupport": {
|
|
27736
27913
|
capName: "osd-manager",
|
|
27737
27914
|
capScope: "system",
|
|
@@ -27828,7 +28005,7 @@ Object.freeze({
|
|
|
27828
28005
|
addonId: null,
|
|
27829
28006
|
access: "create"
|
|
27830
28007
|
},
|
|
27831
|
-
"pipelineAnalytics.
|
|
28008
|
+
"pipelineAnalytics.cancelStorageMigrationMove": {
|
|
27832
28009
|
capName: "pipeline-analytics",
|
|
27833
28010
|
capScope: "device",
|
|
27834
28011
|
addonId: null,
|
|
@@ -27900,12 +28077,6 @@ Object.freeze({
|
|
|
27900
28077
|
addonId: null,
|
|
27901
28078
|
access: "view"
|
|
27902
28079
|
},
|
|
27903
|
-
"pipelineAnalytics.getMediaRelocateStatus": {
|
|
27904
|
-
capName: "pipeline-analytics",
|
|
27905
|
-
capScope: "device",
|
|
27906
|
-
addonId: null,
|
|
27907
|
-
access: "view"
|
|
27908
|
-
},
|
|
27909
28080
|
"pipelineAnalytics.getMotionEvents": {
|
|
27910
28081
|
capName: "pipeline-analytics",
|
|
27911
28082
|
capScope: "device",
|
|
@@ -27942,6 +28113,12 @@ Object.freeze({
|
|
|
27942
28113
|
addonId: null,
|
|
27943
28114
|
access: "view"
|
|
27944
28115
|
},
|
|
28116
|
+
"pipelineAnalytics.getStorageMigrationMoveStatus": {
|
|
28117
|
+
capName: "pipeline-analytics",
|
|
28118
|
+
capScope: "device",
|
|
28119
|
+
addonId: null,
|
|
28120
|
+
access: "view"
|
|
28121
|
+
},
|
|
27945
28122
|
"pipelineAnalytics.getTrack": {
|
|
27946
28123
|
capName: "pipeline-analytics",
|
|
27947
28124
|
capScope: "device",
|
|
@@ -28020,6 +28197,12 @@ Object.freeze({
|
|
|
28020
28197
|
addonId: null,
|
|
28021
28198
|
access: "view"
|
|
28022
28199
|
},
|
|
28200
|
+
"pipelineAnalytics.pauseForStorageMigration": {
|
|
28201
|
+
capName: "pipeline-analytics",
|
|
28202
|
+
capScope: "device",
|
|
28203
|
+
addonId: null,
|
|
28204
|
+
access: "create"
|
|
28205
|
+
},
|
|
28023
28206
|
"pipelineAnalytics.proposeRetrainAnnotations": {
|
|
28024
28207
|
capName: "pipeline-analytics",
|
|
28025
28208
|
capScope: "device",
|
|
@@ -28050,7 +28233,7 @@ Object.freeze({
|
|
|
28050
28233
|
addonId: null,
|
|
28051
28234
|
access: "create"
|
|
28052
28235
|
},
|
|
28053
|
-
"pipelineAnalytics.
|
|
28236
|
+
"pipelineAnalytics.refreshStorageLocationsForMigration": {
|
|
28054
28237
|
capName: "pipeline-analytics",
|
|
28055
28238
|
capScope: "device",
|
|
28056
28239
|
addonId: null,
|
|
@@ -28062,6 +28245,12 @@ Object.freeze({
|
|
|
28062
28245
|
addonId: null,
|
|
28063
28246
|
access: "create"
|
|
28064
28247
|
},
|
|
28248
|
+
"pipelineAnalytics.resumeForStorageMigration": {
|
|
28249
|
+
capName: "pipeline-analytics",
|
|
28250
|
+
capScope: "device",
|
|
28251
|
+
addonId: null,
|
|
28252
|
+
access: "create"
|
|
28253
|
+
},
|
|
28065
28254
|
"pipelineAnalytics.saveRetrainAnnotations": {
|
|
28066
28255
|
capName: "pipeline-analytics",
|
|
28067
28256
|
capScope: "device",
|
|
@@ -28086,6 +28275,12 @@ Object.freeze({
|
|
|
28086
28275
|
addonId: null,
|
|
28087
28276
|
access: "create"
|
|
28088
28277
|
},
|
|
28278
|
+
"pipelineAnalytics.startStorageMigrationMove": {
|
|
28279
|
+
capName: "pipeline-analytics",
|
|
28280
|
+
capScope: "device",
|
|
28281
|
+
addonId: null,
|
|
28282
|
+
access: "create"
|
|
28283
|
+
},
|
|
28089
28284
|
"pipelineAnalytics.wipeAllAnalytics": {
|
|
28090
28285
|
capName: "pipeline-analytics",
|
|
28091
28286
|
capScope: "device",
|
|
@@ -28452,6 +28647,12 @@ Object.freeze({
|
|
|
28452
28647
|
addonId: null,
|
|
28453
28648
|
access: "view"
|
|
28454
28649
|
},
|
|
28650
|
+
"pipelineOrchestrator.pauseForStorageMigration": {
|
|
28651
|
+
capName: "pipeline-orchestrator",
|
|
28652
|
+
capScope: "system",
|
|
28653
|
+
addonId: null,
|
|
28654
|
+
access: "create"
|
|
28655
|
+
},
|
|
28455
28656
|
"pipelineOrchestrator.rebalance": {
|
|
28456
28657
|
capName: "pipeline-orchestrator",
|
|
28457
28658
|
capScope: "system",
|
|
@@ -28476,6 +28677,12 @@ Object.freeze({
|
|
|
28476
28677
|
addonId: null,
|
|
28477
28678
|
access: "view"
|
|
28478
28679
|
},
|
|
28680
|
+
"pipelineOrchestrator.resumeForStorageMigration": {
|
|
28681
|
+
capName: "pipeline-orchestrator",
|
|
28682
|
+
capScope: "system",
|
|
28683
|
+
addonId: null,
|
|
28684
|
+
access: "create"
|
|
28685
|
+
},
|
|
28479
28686
|
"pipelineOrchestrator.saveTemplate": {
|
|
28480
28687
|
capName: "pipeline-orchestrator",
|
|
28481
28688
|
capScope: "system",
|
|
@@ -28872,7 +29079,7 @@ Object.freeze({
|
|
|
28872
29079
|
addonId: null,
|
|
28873
29080
|
access: "create"
|
|
28874
29081
|
},
|
|
28875
|
-
"recording.
|
|
29082
|
+
"recording.cancelStorageMigrationMove": {
|
|
28876
29083
|
capName: "recording",
|
|
28877
29084
|
capScope: "system",
|
|
28878
29085
|
addonId: null,
|
|
@@ -28908,7 +29115,7 @@ Object.freeze({
|
|
|
28908
29115
|
addonId: null,
|
|
28909
29116
|
access: "view"
|
|
28910
29117
|
},
|
|
28911
|
-
"recording.
|
|
29118
|
+
"recording.getStorageMigrationMoveStatus": {
|
|
28912
29119
|
capName: "recording",
|
|
28913
29120
|
capScope: "system",
|
|
28914
29121
|
addonId: null,
|
|
@@ -28932,6 +29139,12 @@ Object.freeze({
|
|
|
28932
29139
|
addonId: null,
|
|
28933
29140
|
access: "view"
|
|
28934
29141
|
},
|
|
29142
|
+
"recording.pauseForStorageMigration": {
|
|
29143
|
+
capName: "recording",
|
|
29144
|
+
capScope: "system",
|
|
29145
|
+
addonId: null,
|
|
29146
|
+
access: "create"
|
|
29147
|
+
},
|
|
28935
29148
|
"recording.pruneFootage": {
|
|
28936
29149
|
capName: "recording",
|
|
28937
29150
|
capScope: "system",
|
|
@@ -28950,7 +29163,7 @@ Object.freeze({
|
|
|
28950
29163
|
addonId: null,
|
|
28951
29164
|
access: "view"
|
|
28952
29165
|
},
|
|
28953
|
-
"recording.
|
|
29166
|
+
"recording.refreshStorageLocationsForMigration": {
|
|
28954
29167
|
capName: "recording",
|
|
28955
29168
|
capScope: "system",
|
|
28956
29169
|
addonId: null,
|
|
@@ -28974,12 +29187,24 @@ Object.freeze({
|
|
|
28974
29187
|
addonId: null,
|
|
28975
29188
|
access: "create"
|
|
28976
29189
|
},
|
|
29190
|
+
"recording.resumeForStorageMigration": {
|
|
29191
|
+
capName: "recording",
|
|
29192
|
+
capScope: "system",
|
|
29193
|
+
addonId: null,
|
|
29194
|
+
access: "create"
|
|
29195
|
+
},
|
|
28977
29196
|
"recording.setDeviceConfig": {
|
|
28978
29197
|
capName: "recording",
|
|
28979
29198
|
capScope: "system",
|
|
28980
29199
|
addonId: null,
|
|
28981
29200
|
access: "create"
|
|
28982
29201
|
},
|
|
29202
|
+
"recording.startStorageMigrationMove": {
|
|
29203
|
+
capName: "recording",
|
|
29204
|
+
capScope: "system",
|
|
29205
|
+
addonId: null,
|
|
29206
|
+
access: "create"
|
|
29207
|
+
},
|
|
28983
29208
|
"recordingExport.cancelExport": {
|
|
28984
29209
|
capName: "recordingExport",
|
|
28985
29210
|
capScope: "system",
|
|
@@ -29370,6 +29595,30 @@ Object.freeze({
|
|
|
29370
29595
|
addonId: null,
|
|
29371
29596
|
access: "view"
|
|
29372
29597
|
},
|
|
29598
|
+
"storageMigration.cancel": {
|
|
29599
|
+
capName: "storage-migration",
|
|
29600
|
+
capScope: "system",
|
|
29601
|
+
addonId: null,
|
|
29602
|
+
access: "create"
|
|
29603
|
+
},
|
|
29604
|
+
"storageMigration.plan": {
|
|
29605
|
+
capName: "storage-migration",
|
|
29606
|
+
capScope: "system",
|
|
29607
|
+
addonId: null,
|
|
29608
|
+
access: "view"
|
|
29609
|
+
},
|
|
29610
|
+
"storageMigration.start": {
|
|
29611
|
+
capName: "storage-migration",
|
|
29612
|
+
capScope: "system",
|
|
29613
|
+
addonId: null,
|
|
29614
|
+
access: "create"
|
|
29615
|
+
},
|
|
29616
|
+
"storageMigration.status": {
|
|
29617
|
+
capName: "storage-migration",
|
|
29618
|
+
capScope: "system",
|
|
29619
|
+
addonId: null,
|
|
29620
|
+
access: "view"
|
|
29621
|
+
},
|
|
29373
29622
|
"storageProvider.abortUpload": {
|
|
29374
29623
|
capName: "storage-provider",
|
|
29375
29624
|
capScope: "system",
|
|
@@ -29748,12 +29997,42 @@ Object.freeze({
|
|
|
29748
29997
|
addonId: null,
|
|
29749
29998
|
access: "create"
|
|
29750
29999
|
},
|
|
30000
|
+
"terminalSession.adoptLegacyMonitor": {
|
|
30001
|
+
capName: "terminal-session",
|
|
30002
|
+
capScope: "system",
|
|
30003
|
+
addonId: null,
|
|
30004
|
+
access: "create"
|
|
30005
|
+
},
|
|
29751
30006
|
"terminalSession.close": {
|
|
29752
30007
|
capName: "terminal-session",
|
|
29753
30008
|
capScope: "system",
|
|
29754
30009
|
addonId: null,
|
|
29755
30010
|
access: "create"
|
|
29756
30011
|
},
|
|
30012
|
+
"terminalSession.createInstance": {
|
|
30013
|
+
capName: "terminal-session",
|
|
30014
|
+
capScope: "system",
|
|
30015
|
+
addonId: null,
|
|
30016
|
+
access: "create"
|
|
30017
|
+
},
|
|
30018
|
+
"terminalSession.deleteInstance": {
|
|
30019
|
+
capName: "terminal-session",
|
|
30020
|
+
capScope: "system",
|
|
30021
|
+
addonId: null,
|
|
30022
|
+
access: "delete"
|
|
30023
|
+
},
|
|
30024
|
+
"terminalSession.listInstances": {
|
|
30025
|
+
capName: "terminal-session",
|
|
30026
|
+
capScope: "system",
|
|
30027
|
+
addonId: null,
|
|
30028
|
+
access: "view"
|
|
30029
|
+
},
|
|
30030
|
+
"terminalSession.listLegacyCameras": {
|
|
30031
|
+
capName: "terminal-session",
|
|
30032
|
+
capScope: "system",
|
|
30033
|
+
addonId: null,
|
|
30034
|
+
access: "view"
|
|
30035
|
+
},
|
|
29757
30036
|
"terminalSession.listProfiles": {
|
|
29758
30037
|
capName: "terminal-session",
|
|
29759
30038
|
capScope: "system",
|
|
@@ -29784,6 +30063,12 @@ Object.freeze({
|
|
|
29784
30063
|
addonId: null,
|
|
29785
30064
|
access: "create"
|
|
29786
30065
|
},
|
|
30066
|
+
"terminalSession.setInstanceEnabled": {
|
|
30067
|
+
capName: "terminal-session",
|
|
30068
|
+
capScope: "system",
|
|
30069
|
+
addonId: null,
|
|
30070
|
+
access: "create"
|
|
30071
|
+
},
|
|
29787
30072
|
"terminalSession.writeInput": {
|
|
29788
30073
|
capName: "terminal-session",
|
|
29789
30074
|
capScope: "system",
|
package/dist/addon.mjs
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
|
|
@@ -16026,13 +16106,19 @@ DeviceType.Camera, method(object({ deviceId: number() }), array(TrackSchema).rea
|
|
|
16026
16106
|
}), method(object({ deviceId: number() }), EventPruneCountsSchema, {
|
|
16027
16107
|
kind: "mutation",
|
|
16028
16108
|
auth: "admin"
|
|
16029
|
-
}), method(
|
|
16109
|
+
}), method(StorageMigrationLeaseInputSchema, object({ paused: literal(true) }), {
|
|
16030
16110
|
kind: "mutation",
|
|
16031
16111
|
auth: "admin"
|
|
16032
|
-
}), method(object({
|
|
16033
|
-
kind: "
|
|
16112
|
+
}), method(StorageMigrationLeaseInputSchema, object({ resumed: literal(true) }), {
|
|
16113
|
+
kind: "mutation",
|
|
16114
|
+
auth: "admin"
|
|
16115
|
+
}), method(StorageMigrationLeaseInputSchema, object({ refreshed: literal(true) }), {
|
|
16116
|
+
kind: "mutation",
|
|
16117
|
+
auth: "admin"
|
|
16118
|
+
}), method(StorageMigrationMediaMoveInputSchema, object({ jobId: string() }), {
|
|
16119
|
+
kind: "mutation",
|
|
16034
16120
|
auth: "admin"
|
|
16035
|
-
}), method(object({ jobId: string() }), object({ cancelled: boolean() }), {
|
|
16121
|
+
}), method(object({ jobId: string() }), RelocateJobSchema.nullable(), { auth: "admin" }), method(object({ jobId: string() }), object({ cancelled: boolean() }), {
|
|
16036
16122
|
kind: "mutation",
|
|
16037
16123
|
auth: "admin"
|
|
16038
16124
|
}), method(OpsLogQueryInputSchema, array(OpsLogEntrySchema).readonly(), {
|
|
@@ -17529,7 +17615,13 @@ var NodeInferenceDevicesSchema = object({
|
|
|
17529
17615
|
reachable: boolean(),
|
|
17530
17616
|
devices: array(NodeInferenceDeviceSchema).readonly()
|
|
17531
17617
|
});
|
|
17532
|
-
method(object({
|
|
17618
|
+
method(StorageMigrationLeaseInputSchema, object({ paused: literal(true) }), {
|
|
17619
|
+
kind: "mutation",
|
|
17620
|
+
auth: "admin"
|
|
17621
|
+
}), method(StorageMigrationLeaseInputSchema, object({ resumed: literal(true) }), {
|
|
17622
|
+
kind: "mutation",
|
|
17623
|
+
auth: "admin"
|
|
17624
|
+
}), method(object({
|
|
17533
17625
|
deviceId: number(),
|
|
17534
17626
|
agentNodeId: string()
|
|
17535
17627
|
}), object({ success: literal(true) }), {
|
|
@@ -18294,6 +18386,13 @@ method(object({ locationId: string() }), EvictableUsageSchema), method(object({
|
|
|
18294
18386
|
locationId: string(),
|
|
18295
18387
|
targetBytes: number().int().positive()
|
|
18296
18388
|
}), EvictResultSchema, { kind: "mutation" });
|
|
18389
|
+
method(StorageMigrationInputSchema, StorageMigrationPlanSchema, { auth: "admin" }), method(StorageMigrationInputSchema, object({ jobId: string() }), {
|
|
18390
|
+
kind: "mutation",
|
|
18391
|
+
auth: "admin"
|
|
18392
|
+
}), method(object({ jobId: string().optional() }), StorageMigrationJobSchema.nullable(), { auth: "admin" }), method(object({ jobId: string() }), object({ cancelled: boolean() }), {
|
|
18393
|
+
kind: "mutation",
|
|
18394
|
+
auth: "admin"
|
|
18395
|
+
});
|
|
18297
18396
|
var ProviderInfoSchema = discriminatedUnion("shouldSaveDiskSpace", [object({
|
|
18298
18397
|
providerId: string().min(1),
|
|
18299
18398
|
displayName: string().min(1),
|
|
@@ -18397,6 +18496,28 @@ var TerminalProfileInfoSchema = object({
|
|
|
18397
18496
|
label: string(),
|
|
18398
18497
|
description: string().optional()
|
|
18399
18498
|
});
|
|
18499
|
+
/**
|
|
18500
|
+
* A durable operator-created Terminal instance. Profiles are templates; only
|
|
18501
|
+
* an instance declares a camera.
|
|
18502
|
+
*/
|
|
18503
|
+
var TerminalInstanceInfoSchema = object({
|
|
18504
|
+
instanceId: string(),
|
|
18505
|
+
cameraStableId: string(),
|
|
18506
|
+
nodeId: string(),
|
|
18507
|
+
profileId: string(),
|
|
18508
|
+
profileLabel: string(),
|
|
18509
|
+
name: string(),
|
|
18510
|
+
enabled: boolean()
|
|
18511
|
+
});
|
|
18512
|
+
var TerminalLegacyCameraSchema = object({
|
|
18513
|
+
stableId: string(),
|
|
18514
|
+
nodeId: string(),
|
|
18515
|
+
profileId: string(),
|
|
18516
|
+
profileLabel: string(),
|
|
18517
|
+
name: string(),
|
|
18518
|
+
/** Only legacy monitor cameras can retain their historic stable identity. */
|
|
18519
|
+
adoptable: boolean()
|
|
18520
|
+
});
|
|
18400
18521
|
var TerminalOutputEventSchema = discriminatedUnion("kind", [object({
|
|
18401
18522
|
seq: number().int().positive(),
|
|
18402
18523
|
kind: literal("data"),
|
|
@@ -18413,7 +18534,29 @@ var TerminalOutputBatchSchema = object({
|
|
|
18413
18534
|
snapshot: string().optional(),
|
|
18414
18535
|
events: array(TerminalOutputEventSchema).readonly()
|
|
18415
18536
|
});
|
|
18416
|
-
method(_void(), array(TerminalProfileInfoSchema).readonly(), { auth: "admin" }), method(_void(), array(
|
|
18537
|
+
method(_void(), array(TerminalProfileInfoSchema).readonly(), { auth: "admin" }), method(_void(), array(TerminalInstanceInfoSchema).readonly(), { auth: "admin" }), method(object({
|
|
18538
|
+
targetNodeId: string().min(1),
|
|
18539
|
+
profileId: string().min(1),
|
|
18540
|
+
name: string().trim().min(1).max(160).optional()
|
|
18541
|
+
}), TerminalInstanceInfoSchema, {
|
|
18542
|
+
kind: "mutation",
|
|
18543
|
+
auth: "admin"
|
|
18544
|
+
}), method(object({ instanceId: string().min(1) }), _void(), {
|
|
18545
|
+
kind: "mutation",
|
|
18546
|
+
auth: "admin"
|
|
18547
|
+
}), method(object({
|
|
18548
|
+
instanceId: string().min(1),
|
|
18549
|
+
enabled: boolean()
|
|
18550
|
+
}), TerminalInstanceInfoSchema, {
|
|
18551
|
+
kind: "mutation",
|
|
18552
|
+
auth: "admin"
|
|
18553
|
+
}), method(_void(), array(TerminalLegacyCameraSchema).readonly(), { auth: "admin" }), method(object({
|
|
18554
|
+
stableId: string().min(1),
|
|
18555
|
+
name: string().trim().min(1).max(160).optional()
|
|
18556
|
+
}), TerminalInstanceInfoSchema, {
|
|
18557
|
+
kind: "mutation",
|
|
18558
|
+
auth: "admin"
|
|
18559
|
+
}), method(_void(), array(TerminalSessionInfoSchema).readonly(), { auth: "admin" }), method(object({
|
|
18417
18560
|
profileId: string(),
|
|
18418
18561
|
cols: number().int().positive(),
|
|
18419
18562
|
rows: number().int().positive()
|
|
@@ -18430,7 +18573,13 @@ method(_void(), array(TerminalProfileInfoSchema).readonly(), { auth: "admin" }),
|
|
|
18430
18573
|
}), method(object({
|
|
18431
18574
|
sessionId: string(),
|
|
18432
18575
|
afterSeq: number().int().nonnegative(),
|
|
18433
|
-
waitMs: number().int().min(0).max(2e3).default(0)
|
|
18576
|
+
waitMs: number().int().min(0).max(2e3).default(0),
|
|
18577
|
+
/**
|
|
18578
|
+
* Wait when a just-opened session has no output yet. Kept opt-in so a
|
|
18579
|
+
* browser's initial repaint remains immediate; the camera snapshot
|
|
18580
|
+
* relay uses it to avoid encoding a blank startup frame.
|
|
18581
|
+
*/
|
|
18582
|
+
waitForOutput: boolean().optional()
|
|
18434
18583
|
}), TerminalOutputBatchSchema, {
|
|
18435
18584
|
kind: "mutation",
|
|
18436
18585
|
auth: "admin",
|
|
@@ -20371,6 +20520,7 @@ var FaceInfoSchema = object({
|
|
|
20371
20520
|
var FaceFilterEnum = _enum([
|
|
20372
20521
|
"unassigned",
|
|
20373
20522
|
"recognized",
|
|
20523
|
+
"identified",
|
|
20374
20524
|
"all"
|
|
20375
20525
|
]);
|
|
20376
20526
|
var MediaFileLiteSchema$1 = object({
|
|
@@ -20399,6 +20549,8 @@ method(_void(), array(IdentitySchema).readonly()), method(object({ name: string(
|
|
|
20399
20549
|
kind: "mutation",
|
|
20400
20550
|
auth: "admin"
|
|
20401
20551
|
}), method(object({
|
|
20552
|
+
/** Restrict to one camera. Absent keeps the cluster-wide gallery view. */
|
|
20553
|
+
deviceId: number().int().optional(),
|
|
20402
20554
|
limit: number().int().positive().optional(),
|
|
20403
20555
|
filter: FaceFilterEnum.optional(),
|
|
20404
20556
|
/**
|
|
@@ -22164,6 +22316,10 @@ var OsdSourceSchema = discriminatedUnion("kind", [
|
|
|
22164
22316
|
capName: string().min(1).max(64),
|
|
22165
22317
|
/** Dot path inside the slice, e.g. `detected`, `value`, `mode`. */
|
|
22166
22318
|
valuePath: string().min(1).max(64)
|
|
22319
|
+
}),
|
|
22320
|
+
object({
|
|
22321
|
+
kind: literal("latest-recognition"),
|
|
22322
|
+
recognition: _enum(["person", "plate"])
|
|
22167
22323
|
})
|
|
22168
22324
|
]);
|
|
22169
22325
|
var OsdSlotBindingSchema = object({
|
|
@@ -22269,6 +22425,15 @@ method(object({ deviceId: number().int() }), object({
|
|
|
22269
22425
|
}), object({ success: literal(true) }), {
|
|
22270
22426
|
kind: "mutation",
|
|
22271
22427
|
auth: "admin"
|
|
22428
|
+
}), method(object({
|
|
22429
|
+
sourceDeviceId: number().int(),
|
|
22430
|
+
targetDeviceId: number().int()
|
|
22431
|
+
}), object({
|
|
22432
|
+
copied: number().int().nonnegative(),
|
|
22433
|
+
skipped: number().int().nonnegative()
|
|
22434
|
+
}), {
|
|
22435
|
+
kind: "mutation",
|
|
22436
|
+
auth: "admin"
|
|
22272
22437
|
}), method(object({
|
|
22273
22438
|
deviceId: number().int(),
|
|
22274
22439
|
slotId: string().min(1),
|
|
@@ -23196,13 +23361,19 @@ method(object({
|
|
|
23196
23361
|
}), {
|
|
23197
23362
|
kind: "mutation",
|
|
23198
23363
|
auth: "admin"
|
|
23199
|
-
}), method(
|
|
23364
|
+
}), method(StorageMigrationLeaseInputSchema, object({ paused: literal(true) }), {
|
|
23200
23365
|
kind: "mutation",
|
|
23201
23366
|
auth: "admin"
|
|
23202
|
-
}), method(object({
|
|
23203
|
-
kind: "
|
|
23367
|
+
}), method(StorageMigrationLeaseInputSchema, object({ resumed: literal(true) }), {
|
|
23368
|
+
kind: "mutation",
|
|
23204
23369
|
auth: "admin"
|
|
23205
|
-
}), method(
|
|
23370
|
+
}), method(StorageMigrationLeaseInputSchema, object({ refreshed: literal(true) }), {
|
|
23371
|
+
kind: "mutation",
|
|
23372
|
+
auth: "admin"
|
|
23373
|
+
}), method(StorageMigrationFootageMoveInputSchema, object({ jobId: string() }), {
|
|
23374
|
+
kind: "mutation",
|
|
23375
|
+
auth: "admin"
|
|
23376
|
+
}), method(object({ jobId: string() }), RelocateJobSchema.nullable(), { auth: "admin" }), method(object({ jobId: string() }), object({ cancelled: boolean() }), {
|
|
23206
23377
|
kind: "mutation",
|
|
23207
23378
|
auth: "admin"
|
|
23208
23379
|
});
|
|
@@ -27733,6 +27904,12 @@ Object.freeze({
|
|
|
27733
27904
|
addonId: null,
|
|
27734
27905
|
access: "delete"
|
|
27735
27906
|
},
|
|
27907
|
+
"osdManager.copyDeviceConfiguration": {
|
|
27908
|
+
capName: "osd-manager",
|
|
27909
|
+
capScope: "system",
|
|
27910
|
+
addonId: null,
|
|
27911
|
+
access: "create"
|
|
27912
|
+
},
|
|
27736
27913
|
"osdManager.getConditionSupport": {
|
|
27737
27914
|
capName: "osd-manager",
|
|
27738
27915
|
capScope: "system",
|
|
@@ -27829,7 +28006,7 @@ Object.freeze({
|
|
|
27829
28006
|
addonId: null,
|
|
27830
28007
|
access: "create"
|
|
27831
28008
|
},
|
|
27832
|
-
"pipelineAnalytics.
|
|
28009
|
+
"pipelineAnalytics.cancelStorageMigrationMove": {
|
|
27833
28010
|
capName: "pipeline-analytics",
|
|
27834
28011
|
capScope: "device",
|
|
27835
28012
|
addonId: null,
|
|
@@ -27901,12 +28078,6 @@ Object.freeze({
|
|
|
27901
28078
|
addonId: null,
|
|
27902
28079
|
access: "view"
|
|
27903
28080
|
},
|
|
27904
|
-
"pipelineAnalytics.getMediaRelocateStatus": {
|
|
27905
|
-
capName: "pipeline-analytics",
|
|
27906
|
-
capScope: "device",
|
|
27907
|
-
addonId: null,
|
|
27908
|
-
access: "view"
|
|
27909
|
-
},
|
|
27910
28081
|
"pipelineAnalytics.getMotionEvents": {
|
|
27911
28082
|
capName: "pipeline-analytics",
|
|
27912
28083
|
capScope: "device",
|
|
@@ -27943,6 +28114,12 @@ Object.freeze({
|
|
|
27943
28114
|
addonId: null,
|
|
27944
28115
|
access: "view"
|
|
27945
28116
|
},
|
|
28117
|
+
"pipelineAnalytics.getStorageMigrationMoveStatus": {
|
|
28118
|
+
capName: "pipeline-analytics",
|
|
28119
|
+
capScope: "device",
|
|
28120
|
+
addonId: null,
|
|
28121
|
+
access: "view"
|
|
28122
|
+
},
|
|
27946
28123
|
"pipelineAnalytics.getTrack": {
|
|
27947
28124
|
capName: "pipeline-analytics",
|
|
27948
28125
|
capScope: "device",
|
|
@@ -28021,6 +28198,12 @@ Object.freeze({
|
|
|
28021
28198
|
addonId: null,
|
|
28022
28199
|
access: "view"
|
|
28023
28200
|
},
|
|
28201
|
+
"pipelineAnalytics.pauseForStorageMigration": {
|
|
28202
|
+
capName: "pipeline-analytics",
|
|
28203
|
+
capScope: "device",
|
|
28204
|
+
addonId: null,
|
|
28205
|
+
access: "create"
|
|
28206
|
+
},
|
|
28024
28207
|
"pipelineAnalytics.proposeRetrainAnnotations": {
|
|
28025
28208
|
capName: "pipeline-analytics",
|
|
28026
28209
|
capScope: "device",
|
|
@@ -28051,7 +28234,7 @@ Object.freeze({
|
|
|
28051
28234
|
addonId: null,
|
|
28052
28235
|
access: "create"
|
|
28053
28236
|
},
|
|
28054
|
-
"pipelineAnalytics.
|
|
28237
|
+
"pipelineAnalytics.refreshStorageLocationsForMigration": {
|
|
28055
28238
|
capName: "pipeline-analytics",
|
|
28056
28239
|
capScope: "device",
|
|
28057
28240
|
addonId: null,
|
|
@@ -28063,6 +28246,12 @@ Object.freeze({
|
|
|
28063
28246
|
addonId: null,
|
|
28064
28247
|
access: "create"
|
|
28065
28248
|
},
|
|
28249
|
+
"pipelineAnalytics.resumeForStorageMigration": {
|
|
28250
|
+
capName: "pipeline-analytics",
|
|
28251
|
+
capScope: "device",
|
|
28252
|
+
addonId: null,
|
|
28253
|
+
access: "create"
|
|
28254
|
+
},
|
|
28066
28255
|
"pipelineAnalytics.saveRetrainAnnotations": {
|
|
28067
28256
|
capName: "pipeline-analytics",
|
|
28068
28257
|
capScope: "device",
|
|
@@ -28087,6 +28276,12 @@ Object.freeze({
|
|
|
28087
28276
|
addonId: null,
|
|
28088
28277
|
access: "create"
|
|
28089
28278
|
},
|
|
28279
|
+
"pipelineAnalytics.startStorageMigrationMove": {
|
|
28280
|
+
capName: "pipeline-analytics",
|
|
28281
|
+
capScope: "device",
|
|
28282
|
+
addonId: null,
|
|
28283
|
+
access: "create"
|
|
28284
|
+
},
|
|
28090
28285
|
"pipelineAnalytics.wipeAllAnalytics": {
|
|
28091
28286
|
capName: "pipeline-analytics",
|
|
28092
28287
|
capScope: "device",
|
|
@@ -28453,6 +28648,12 @@ Object.freeze({
|
|
|
28453
28648
|
addonId: null,
|
|
28454
28649
|
access: "view"
|
|
28455
28650
|
},
|
|
28651
|
+
"pipelineOrchestrator.pauseForStorageMigration": {
|
|
28652
|
+
capName: "pipeline-orchestrator",
|
|
28653
|
+
capScope: "system",
|
|
28654
|
+
addonId: null,
|
|
28655
|
+
access: "create"
|
|
28656
|
+
},
|
|
28456
28657
|
"pipelineOrchestrator.rebalance": {
|
|
28457
28658
|
capName: "pipeline-orchestrator",
|
|
28458
28659
|
capScope: "system",
|
|
@@ -28477,6 +28678,12 @@ Object.freeze({
|
|
|
28477
28678
|
addonId: null,
|
|
28478
28679
|
access: "view"
|
|
28479
28680
|
},
|
|
28681
|
+
"pipelineOrchestrator.resumeForStorageMigration": {
|
|
28682
|
+
capName: "pipeline-orchestrator",
|
|
28683
|
+
capScope: "system",
|
|
28684
|
+
addonId: null,
|
|
28685
|
+
access: "create"
|
|
28686
|
+
},
|
|
28480
28687
|
"pipelineOrchestrator.saveTemplate": {
|
|
28481
28688
|
capName: "pipeline-orchestrator",
|
|
28482
28689
|
capScope: "system",
|
|
@@ -28873,7 +29080,7 @@ Object.freeze({
|
|
|
28873
29080
|
addonId: null,
|
|
28874
29081
|
access: "create"
|
|
28875
29082
|
},
|
|
28876
|
-
"recording.
|
|
29083
|
+
"recording.cancelStorageMigrationMove": {
|
|
28877
29084
|
capName: "recording",
|
|
28878
29085
|
capScope: "system",
|
|
28879
29086
|
addonId: null,
|
|
@@ -28909,7 +29116,7 @@ Object.freeze({
|
|
|
28909
29116
|
addonId: null,
|
|
28910
29117
|
access: "view"
|
|
28911
29118
|
},
|
|
28912
|
-
"recording.
|
|
29119
|
+
"recording.getStorageMigrationMoveStatus": {
|
|
28913
29120
|
capName: "recording",
|
|
28914
29121
|
capScope: "system",
|
|
28915
29122
|
addonId: null,
|
|
@@ -28933,6 +29140,12 @@ Object.freeze({
|
|
|
28933
29140
|
addonId: null,
|
|
28934
29141
|
access: "view"
|
|
28935
29142
|
},
|
|
29143
|
+
"recording.pauseForStorageMigration": {
|
|
29144
|
+
capName: "recording",
|
|
29145
|
+
capScope: "system",
|
|
29146
|
+
addonId: null,
|
|
29147
|
+
access: "create"
|
|
29148
|
+
},
|
|
28936
29149
|
"recording.pruneFootage": {
|
|
28937
29150
|
capName: "recording",
|
|
28938
29151
|
capScope: "system",
|
|
@@ -28951,7 +29164,7 @@ Object.freeze({
|
|
|
28951
29164
|
addonId: null,
|
|
28952
29165
|
access: "view"
|
|
28953
29166
|
},
|
|
28954
|
-
"recording.
|
|
29167
|
+
"recording.refreshStorageLocationsForMigration": {
|
|
28955
29168
|
capName: "recording",
|
|
28956
29169
|
capScope: "system",
|
|
28957
29170
|
addonId: null,
|
|
@@ -28975,12 +29188,24 @@ Object.freeze({
|
|
|
28975
29188
|
addonId: null,
|
|
28976
29189
|
access: "create"
|
|
28977
29190
|
},
|
|
29191
|
+
"recording.resumeForStorageMigration": {
|
|
29192
|
+
capName: "recording",
|
|
29193
|
+
capScope: "system",
|
|
29194
|
+
addonId: null,
|
|
29195
|
+
access: "create"
|
|
29196
|
+
},
|
|
28978
29197
|
"recording.setDeviceConfig": {
|
|
28979
29198
|
capName: "recording",
|
|
28980
29199
|
capScope: "system",
|
|
28981
29200
|
addonId: null,
|
|
28982
29201
|
access: "create"
|
|
28983
29202
|
},
|
|
29203
|
+
"recording.startStorageMigrationMove": {
|
|
29204
|
+
capName: "recording",
|
|
29205
|
+
capScope: "system",
|
|
29206
|
+
addonId: null,
|
|
29207
|
+
access: "create"
|
|
29208
|
+
},
|
|
28984
29209
|
"recordingExport.cancelExport": {
|
|
28985
29210
|
capName: "recordingExport",
|
|
28986
29211
|
capScope: "system",
|
|
@@ -29371,6 +29596,30 @@ Object.freeze({
|
|
|
29371
29596
|
addonId: null,
|
|
29372
29597
|
access: "view"
|
|
29373
29598
|
},
|
|
29599
|
+
"storageMigration.cancel": {
|
|
29600
|
+
capName: "storage-migration",
|
|
29601
|
+
capScope: "system",
|
|
29602
|
+
addonId: null,
|
|
29603
|
+
access: "create"
|
|
29604
|
+
},
|
|
29605
|
+
"storageMigration.plan": {
|
|
29606
|
+
capName: "storage-migration",
|
|
29607
|
+
capScope: "system",
|
|
29608
|
+
addonId: null,
|
|
29609
|
+
access: "view"
|
|
29610
|
+
},
|
|
29611
|
+
"storageMigration.start": {
|
|
29612
|
+
capName: "storage-migration",
|
|
29613
|
+
capScope: "system",
|
|
29614
|
+
addonId: null,
|
|
29615
|
+
access: "create"
|
|
29616
|
+
},
|
|
29617
|
+
"storageMigration.status": {
|
|
29618
|
+
capName: "storage-migration",
|
|
29619
|
+
capScope: "system",
|
|
29620
|
+
addonId: null,
|
|
29621
|
+
access: "view"
|
|
29622
|
+
},
|
|
29374
29623
|
"storageProvider.abortUpload": {
|
|
29375
29624
|
capName: "storage-provider",
|
|
29376
29625
|
capScope: "system",
|
|
@@ -29749,12 +29998,42 @@ Object.freeze({
|
|
|
29749
29998
|
addonId: null,
|
|
29750
29999
|
access: "create"
|
|
29751
30000
|
},
|
|
30001
|
+
"terminalSession.adoptLegacyMonitor": {
|
|
30002
|
+
capName: "terminal-session",
|
|
30003
|
+
capScope: "system",
|
|
30004
|
+
addonId: null,
|
|
30005
|
+
access: "create"
|
|
30006
|
+
},
|
|
29752
30007
|
"terminalSession.close": {
|
|
29753
30008
|
capName: "terminal-session",
|
|
29754
30009
|
capScope: "system",
|
|
29755
30010
|
addonId: null,
|
|
29756
30011
|
access: "create"
|
|
29757
30012
|
},
|
|
30013
|
+
"terminalSession.createInstance": {
|
|
30014
|
+
capName: "terminal-session",
|
|
30015
|
+
capScope: "system",
|
|
30016
|
+
addonId: null,
|
|
30017
|
+
access: "create"
|
|
30018
|
+
},
|
|
30019
|
+
"terminalSession.deleteInstance": {
|
|
30020
|
+
capName: "terminal-session",
|
|
30021
|
+
capScope: "system",
|
|
30022
|
+
addonId: null,
|
|
30023
|
+
access: "delete"
|
|
30024
|
+
},
|
|
30025
|
+
"terminalSession.listInstances": {
|
|
30026
|
+
capName: "terminal-session",
|
|
30027
|
+
capScope: "system",
|
|
30028
|
+
addonId: null,
|
|
30029
|
+
access: "view"
|
|
30030
|
+
},
|
|
30031
|
+
"terminalSession.listLegacyCameras": {
|
|
30032
|
+
capName: "terminal-session",
|
|
30033
|
+
capScope: "system",
|
|
30034
|
+
addonId: null,
|
|
30035
|
+
access: "view"
|
|
30036
|
+
},
|
|
29758
30037
|
"terminalSession.listProfiles": {
|
|
29759
30038
|
capName: "terminal-session",
|
|
29760
30039
|
capScope: "system",
|
|
@@ -29785,6 +30064,12 @@ Object.freeze({
|
|
|
29785
30064
|
addonId: null,
|
|
29786
30065
|
access: "create"
|
|
29787
30066
|
},
|
|
30067
|
+
"terminalSession.setInstanceEnabled": {
|
|
30068
|
+
capName: "terminal-session",
|
|
30069
|
+
capScope: "system",
|
|
30070
|
+
addonId: null,
|
|
30071
|
+
access: "create"
|
|
30072
|
+
},
|
|
29788
30073
|
"terminalSession.writeInput": {
|
|
29789
30074
|
capName: "terminal-session",
|
|
29790
30075
|
capScope: "system",
|