@camstack/addon-provider-onvif 1.2.10 → 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 +357 -30
- package/dist/addon.mjs +357 -30
- 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",
|
|
16033
16113
|
auth: "admin"
|
|
16034
|
-
}), method(
|
|
16114
|
+
}), method(StorageMigrationLeaseInputSchema, object({ refreshed: literal(true) }), {
|
|
16115
|
+
kind: "mutation",
|
|
16116
|
+
auth: "admin"
|
|
16117
|
+
}), method(StorageMigrationMediaMoveInputSchema, object({ jobId: string() }), {
|
|
16118
|
+
kind: "mutation",
|
|
16119
|
+
auth: "admin"
|
|
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,7 +18495,67 @@ var TerminalProfileInfoSchema = object({
|
|
|
18396
18495
|
label: string(),
|
|
18397
18496
|
description: string().optional()
|
|
18398
18497
|
});
|
|
18399
|
-
|
|
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
|
+
});
|
|
18520
|
+
var TerminalOutputEventSchema = discriminatedUnion("kind", [object({
|
|
18521
|
+
seq: number().int().positive(),
|
|
18522
|
+
kind: literal("data"),
|
|
18523
|
+
data: string()
|
|
18524
|
+
}), object({
|
|
18525
|
+
seq: number().int().positive(),
|
|
18526
|
+
kind: literal("exit"),
|
|
18527
|
+
exitCode: number().int(),
|
|
18528
|
+
signal: number().int().optional()
|
|
18529
|
+
})]);
|
|
18530
|
+
var TerminalOutputBatchSchema = object({
|
|
18531
|
+
cursor: number().int().nonnegative(),
|
|
18532
|
+
reset: boolean(),
|
|
18533
|
+
snapshot: string().optional(),
|
|
18534
|
+
events: array(TerminalOutputEventSchema).readonly()
|
|
18535
|
+
});
|
|
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({
|
|
18400
18559
|
profileId: string(),
|
|
18401
18560
|
cols: number().int().positive(),
|
|
18402
18561
|
rows: number().int().positive()
|
|
@@ -18410,6 +18569,26 @@ method(_void(), array(TerminalProfileInfoSchema).readonly(), { auth: "admin" }),
|
|
|
18410
18569
|
}), _void(), {
|
|
18411
18570
|
kind: "mutation",
|
|
18412
18571
|
auth: "admin"
|
|
18572
|
+
}), method(object({
|
|
18573
|
+
sessionId: string(),
|
|
18574
|
+
afterSeq: number().int().nonnegative(),
|
|
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()
|
|
18582
|
+
}), TerminalOutputBatchSchema, {
|
|
18583
|
+
kind: "mutation",
|
|
18584
|
+
auth: "admin",
|
|
18585
|
+
timeoutMs: 15e3
|
|
18586
|
+
}), method(object({
|
|
18587
|
+
sessionId: string(),
|
|
18588
|
+
data: string().max(64 * 1024)
|
|
18589
|
+
}), _void(), {
|
|
18590
|
+
kind: "mutation",
|
|
18591
|
+
auth: "admin"
|
|
18413
18592
|
}), method(object({ sessionId: string() }), _void(), {
|
|
18414
18593
|
kind: "mutation",
|
|
18415
18594
|
auth: "admin"
|
|
@@ -20340,6 +20519,7 @@ var FaceInfoSchema = object({
|
|
|
20340
20519
|
var FaceFilterEnum = _enum([
|
|
20341
20520
|
"unassigned",
|
|
20342
20521
|
"recognized",
|
|
20522
|
+
"identified",
|
|
20343
20523
|
"all"
|
|
20344
20524
|
]);
|
|
20345
20525
|
var MediaFileLiteSchema$1 = object({
|
|
@@ -20368,6 +20548,8 @@ method(_void(), array(IdentitySchema).readonly()), method(object({ name: string(
|
|
|
20368
20548
|
kind: "mutation",
|
|
20369
20549
|
auth: "admin"
|
|
20370
20550
|
}), method(object({
|
|
20551
|
+
/** Restrict to one camera. Absent keeps the cluster-wide gallery view. */
|
|
20552
|
+
deviceId: number().int().optional(),
|
|
20371
20553
|
limit: number().int().positive().optional(),
|
|
20372
20554
|
filter: FaceFilterEnum.optional(),
|
|
20373
20555
|
/**
|
|
@@ -22133,6 +22315,10 @@ var OsdSourceSchema = discriminatedUnion("kind", [
|
|
|
22133
22315
|
capName: string().min(1).max(64),
|
|
22134
22316
|
/** Dot path inside the slice, e.g. `detected`, `value`, `mode`. */
|
|
22135
22317
|
valuePath: string().min(1).max(64)
|
|
22318
|
+
}),
|
|
22319
|
+
object({
|
|
22320
|
+
kind: literal("latest-recognition"),
|
|
22321
|
+
recognition: _enum(["person", "plate"])
|
|
22136
22322
|
})
|
|
22137
22323
|
]);
|
|
22138
22324
|
var OsdSlotBindingSchema = object({
|
|
@@ -22238,6 +22424,15 @@ method(object({ deviceId: number().int() }), object({
|
|
|
22238
22424
|
}), object({ success: literal(true) }), {
|
|
22239
22425
|
kind: "mutation",
|
|
22240
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"
|
|
22241
22436
|
}), method(object({
|
|
22242
22437
|
deviceId: number().int(),
|
|
22243
22438
|
slotId: string().min(1),
|
|
@@ -23165,13 +23360,19 @@ method(object({
|
|
|
23165
23360
|
}), {
|
|
23166
23361
|
kind: "mutation",
|
|
23167
23362
|
auth: "admin"
|
|
23168
|
-
}), method(
|
|
23363
|
+
}), method(StorageMigrationLeaseInputSchema, object({ paused: literal(true) }), {
|
|
23169
23364
|
kind: "mutation",
|
|
23170
23365
|
auth: "admin"
|
|
23171
|
-
}), method(object({
|
|
23172
|
-
kind: "
|
|
23366
|
+
}), method(StorageMigrationLeaseInputSchema, object({ resumed: literal(true) }), {
|
|
23367
|
+
kind: "mutation",
|
|
23173
23368
|
auth: "admin"
|
|
23174
|
-
}), 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() }), {
|
|
23175
23376
|
kind: "mutation",
|
|
23176
23377
|
auth: "admin"
|
|
23177
23378
|
});
|
|
@@ -27702,6 +27903,12 @@ Object.freeze({
|
|
|
27702
27903
|
addonId: null,
|
|
27703
27904
|
access: "delete"
|
|
27704
27905
|
},
|
|
27906
|
+
"osdManager.copyDeviceConfiguration": {
|
|
27907
|
+
capName: "osd-manager",
|
|
27908
|
+
capScope: "system",
|
|
27909
|
+
addonId: null,
|
|
27910
|
+
access: "create"
|
|
27911
|
+
},
|
|
27705
27912
|
"osdManager.getConditionSupport": {
|
|
27706
27913
|
capName: "osd-manager",
|
|
27707
27914
|
capScope: "system",
|
|
@@ -27798,7 +28005,7 @@ Object.freeze({
|
|
|
27798
28005
|
addonId: null,
|
|
27799
28006
|
access: "create"
|
|
27800
28007
|
},
|
|
27801
|
-
"pipelineAnalytics.
|
|
28008
|
+
"pipelineAnalytics.cancelStorageMigrationMove": {
|
|
27802
28009
|
capName: "pipeline-analytics",
|
|
27803
28010
|
capScope: "device",
|
|
27804
28011
|
addonId: null,
|
|
@@ -27870,12 +28077,6 @@ Object.freeze({
|
|
|
27870
28077
|
addonId: null,
|
|
27871
28078
|
access: "view"
|
|
27872
28079
|
},
|
|
27873
|
-
"pipelineAnalytics.getMediaRelocateStatus": {
|
|
27874
|
-
capName: "pipeline-analytics",
|
|
27875
|
-
capScope: "device",
|
|
27876
|
-
addonId: null,
|
|
27877
|
-
access: "view"
|
|
27878
|
-
},
|
|
27879
28080
|
"pipelineAnalytics.getMotionEvents": {
|
|
27880
28081
|
capName: "pipeline-analytics",
|
|
27881
28082
|
capScope: "device",
|
|
@@ -27912,6 +28113,12 @@ Object.freeze({
|
|
|
27912
28113
|
addonId: null,
|
|
27913
28114
|
access: "view"
|
|
27914
28115
|
},
|
|
28116
|
+
"pipelineAnalytics.getStorageMigrationMoveStatus": {
|
|
28117
|
+
capName: "pipeline-analytics",
|
|
28118
|
+
capScope: "device",
|
|
28119
|
+
addonId: null,
|
|
28120
|
+
access: "view"
|
|
28121
|
+
},
|
|
27915
28122
|
"pipelineAnalytics.getTrack": {
|
|
27916
28123
|
capName: "pipeline-analytics",
|
|
27917
28124
|
capScope: "device",
|
|
@@ -27990,6 +28197,12 @@ Object.freeze({
|
|
|
27990
28197
|
addonId: null,
|
|
27991
28198
|
access: "view"
|
|
27992
28199
|
},
|
|
28200
|
+
"pipelineAnalytics.pauseForStorageMigration": {
|
|
28201
|
+
capName: "pipeline-analytics",
|
|
28202
|
+
capScope: "device",
|
|
28203
|
+
addonId: null,
|
|
28204
|
+
access: "create"
|
|
28205
|
+
},
|
|
27993
28206
|
"pipelineAnalytics.proposeRetrainAnnotations": {
|
|
27994
28207
|
capName: "pipeline-analytics",
|
|
27995
28208
|
capScope: "device",
|
|
@@ -28020,7 +28233,7 @@ Object.freeze({
|
|
|
28020
28233
|
addonId: null,
|
|
28021
28234
|
access: "create"
|
|
28022
28235
|
},
|
|
28023
|
-
"pipelineAnalytics.
|
|
28236
|
+
"pipelineAnalytics.refreshStorageLocationsForMigration": {
|
|
28024
28237
|
capName: "pipeline-analytics",
|
|
28025
28238
|
capScope: "device",
|
|
28026
28239
|
addonId: null,
|
|
@@ -28032,6 +28245,12 @@ Object.freeze({
|
|
|
28032
28245
|
addonId: null,
|
|
28033
28246
|
access: "create"
|
|
28034
28247
|
},
|
|
28248
|
+
"pipelineAnalytics.resumeForStorageMigration": {
|
|
28249
|
+
capName: "pipeline-analytics",
|
|
28250
|
+
capScope: "device",
|
|
28251
|
+
addonId: null,
|
|
28252
|
+
access: "create"
|
|
28253
|
+
},
|
|
28035
28254
|
"pipelineAnalytics.saveRetrainAnnotations": {
|
|
28036
28255
|
capName: "pipeline-analytics",
|
|
28037
28256
|
capScope: "device",
|
|
@@ -28056,6 +28275,12 @@ Object.freeze({
|
|
|
28056
28275
|
addonId: null,
|
|
28057
28276
|
access: "create"
|
|
28058
28277
|
},
|
|
28278
|
+
"pipelineAnalytics.startStorageMigrationMove": {
|
|
28279
|
+
capName: "pipeline-analytics",
|
|
28280
|
+
capScope: "device",
|
|
28281
|
+
addonId: null,
|
|
28282
|
+
access: "create"
|
|
28283
|
+
},
|
|
28059
28284
|
"pipelineAnalytics.wipeAllAnalytics": {
|
|
28060
28285
|
capName: "pipeline-analytics",
|
|
28061
28286
|
capScope: "device",
|
|
@@ -28422,6 +28647,12 @@ Object.freeze({
|
|
|
28422
28647
|
addonId: null,
|
|
28423
28648
|
access: "view"
|
|
28424
28649
|
},
|
|
28650
|
+
"pipelineOrchestrator.pauseForStorageMigration": {
|
|
28651
|
+
capName: "pipeline-orchestrator",
|
|
28652
|
+
capScope: "system",
|
|
28653
|
+
addonId: null,
|
|
28654
|
+
access: "create"
|
|
28655
|
+
},
|
|
28425
28656
|
"pipelineOrchestrator.rebalance": {
|
|
28426
28657
|
capName: "pipeline-orchestrator",
|
|
28427
28658
|
capScope: "system",
|
|
@@ -28446,6 +28677,12 @@ Object.freeze({
|
|
|
28446
28677
|
addonId: null,
|
|
28447
28678
|
access: "view"
|
|
28448
28679
|
},
|
|
28680
|
+
"pipelineOrchestrator.resumeForStorageMigration": {
|
|
28681
|
+
capName: "pipeline-orchestrator",
|
|
28682
|
+
capScope: "system",
|
|
28683
|
+
addonId: null,
|
|
28684
|
+
access: "create"
|
|
28685
|
+
},
|
|
28449
28686
|
"pipelineOrchestrator.saveTemplate": {
|
|
28450
28687
|
capName: "pipeline-orchestrator",
|
|
28451
28688
|
capScope: "system",
|
|
@@ -28842,7 +29079,7 @@ Object.freeze({
|
|
|
28842
29079
|
addonId: null,
|
|
28843
29080
|
access: "create"
|
|
28844
29081
|
},
|
|
28845
|
-
"recording.
|
|
29082
|
+
"recording.cancelStorageMigrationMove": {
|
|
28846
29083
|
capName: "recording",
|
|
28847
29084
|
capScope: "system",
|
|
28848
29085
|
addonId: null,
|
|
@@ -28878,7 +29115,7 @@ Object.freeze({
|
|
|
28878
29115
|
addonId: null,
|
|
28879
29116
|
access: "view"
|
|
28880
29117
|
},
|
|
28881
|
-
"recording.
|
|
29118
|
+
"recording.getStorageMigrationMoveStatus": {
|
|
28882
29119
|
capName: "recording",
|
|
28883
29120
|
capScope: "system",
|
|
28884
29121
|
addonId: null,
|
|
@@ -28902,6 +29139,12 @@ Object.freeze({
|
|
|
28902
29139
|
addonId: null,
|
|
28903
29140
|
access: "view"
|
|
28904
29141
|
},
|
|
29142
|
+
"recording.pauseForStorageMigration": {
|
|
29143
|
+
capName: "recording",
|
|
29144
|
+
capScope: "system",
|
|
29145
|
+
addonId: null,
|
|
29146
|
+
access: "create"
|
|
29147
|
+
},
|
|
28905
29148
|
"recording.pruneFootage": {
|
|
28906
29149
|
capName: "recording",
|
|
28907
29150
|
capScope: "system",
|
|
@@ -28920,7 +29163,7 @@ Object.freeze({
|
|
|
28920
29163
|
addonId: null,
|
|
28921
29164
|
access: "view"
|
|
28922
29165
|
},
|
|
28923
|
-
"recording.
|
|
29166
|
+
"recording.refreshStorageLocationsForMigration": {
|
|
28924
29167
|
capName: "recording",
|
|
28925
29168
|
capScope: "system",
|
|
28926
29169
|
addonId: null,
|
|
@@ -28944,12 +29187,24 @@ Object.freeze({
|
|
|
28944
29187
|
addonId: null,
|
|
28945
29188
|
access: "create"
|
|
28946
29189
|
},
|
|
29190
|
+
"recording.resumeForStorageMigration": {
|
|
29191
|
+
capName: "recording",
|
|
29192
|
+
capScope: "system",
|
|
29193
|
+
addonId: null,
|
|
29194
|
+
access: "create"
|
|
29195
|
+
},
|
|
28947
29196
|
"recording.setDeviceConfig": {
|
|
28948
29197
|
capName: "recording",
|
|
28949
29198
|
capScope: "system",
|
|
28950
29199
|
addonId: null,
|
|
28951
29200
|
access: "create"
|
|
28952
29201
|
},
|
|
29202
|
+
"recording.startStorageMigrationMove": {
|
|
29203
|
+
capName: "recording",
|
|
29204
|
+
capScope: "system",
|
|
29205
|
+
addonId: null,
|
|
29206
|
+
access: "create"
|
|
29207
|
+
},
|
|
28953
29208
|
"recordingExport.cancelExport": {
|
|
28954
29209
|
capName: "recordingExport",
|
|
28955
29210
|
capScope: "system",
|
|
@@ -29340,6 +29595,30 @@ Object.freeze({
|
|
|
29340
29595
|
addonId: null,
|
|
29341
29596
|
access: "view"
|
|
29342
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
|
+
},
|
|
29343
29622
|
"storageProvider.abortUpload": {
|
|
29344
29623
|
capName: "storage-provider",
|
|
29345
29624
|
capScope: "system",
|
|
@@ -29718,12 +29997,42 @@ Object.freeze({
|
|
|
29718
29997
|
addonId: null,
|
|
29719
29998
|
access: "create"
|
|
29720
29999
|
},
|
|
30000
|
+
"terminalSession.adoptLegacyMonitor": {
|
|
30001
|
+
capName: "terminal-session",
|
|
30002
|
+
capScope: "system",
|
|
30003
|
+
addonId: null,
|
|
30004
|
+
access: "create"
|
|
30005
|
+
},
|
|
29721
30006
|
"terminalSession.close": {
|
|
29722
30007
|
capName: "terminal-session",
|
|
29723
30008
|
capScope: "system",
|
|
29724
30009
|
addonId: null,
|
|
29725
30010
|
access: "create"
|
|
29726
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
|
+
},
|
|
29727
30036
|
"terminalSession.listProfiles": {
|
|
29728
30037
|
capName: "terminal-session",
|
|
29729
30038
|
capScope: "system",
|
|
@@ -29742,12 +30051,30 @@ Object.freeze({
|
|
|
29742
30051
|
addonId: null,
|
|
29743
30052
|
access: "create"
|
|
29744
30053
|
},
|
|
30054
|
+
"terminalSession.pullOutput": {
|
|
30055
|
+
capName: "terminal-session",
|
|
30056
|
+
capScope: "system",
|
|
30057
|
+
addonId: null,
|
|
30058
|
+
access: "create"
|
|
30059
|
+
},
|
|
29745
30060
|
"terminalSession.resize": {
|
|
29746
30061
|
capName: "terminal-session",
|
|
29747
30062
|
capScope: "system",
|
|
29748
30063
|
addonId: null,
|
|
29749
30064
|
access: "create"
|
|
29750
30065
|
},
|
|
30066
|
+
"terminalSession.setInstanceEnabled": {
|
|
30067
|
+
capName: "terminal-session",
|
|
30068
|
+
capScope: "system",
|
|
30069
|
+
addonId: null,
|
|
30070
|
+
access: "create"
|
|
30071
|
+
},
|
|
30072
|
+
"terminalSession.writeInput": {
|
|
30073
|
+
capName: "terminal-session",
|
|
30074
|
+
capScope: "system",
|
|
30075
|
+
addonId: null,
|
|
30076
|
+
access: "create"
|
|
30077
|
+
},
|
|
29751
30078
|
"toast.onToast": {
|
|
29752
30079
|
capName: "toast",
|
|
29753
30080
|
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",
|
|
16034
16114
|
auth: "admin"
|
|
16035
|
-
}), method(
|
|
16115
|
+
}), method(StorageMigrationLeaseInputSchema, object({ refreshed: literal(true) }), {
|
|
16116
|
+
kind: "mutation",
|
|
16117
|
+
auth: "admin"
|
|
16118
|
+
}), method(StorageMigrationMediaMoveInputSchema, object({ jobId: string() }), {
|
|
16119
|
+
kind: "mutation",
|
|
16120
|
+
auth: "admin"
|
|
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,7 +18496,67 @@ var TerminalProfileInfoSchema = object({
|
|
|
18397
18496
|
label: string(),
|
|
18398
18497
|
description: string().optional()
|
|
18399
18498
|
});
|
|
18400
|
-
|
|
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
|
+
});
|
|
18521
|
+
var TerminalOutputEventSchema = discriminatedUnion("kind", [object({
|
|
18522
|
+
seq: number().int().positive(),
|
|
18523
|
+
kind: literal("data"),
|
|
18524
|
+
data: string()
|
|
18525
|
+
}), object({
|
|
18526
|
+
seq: number().int().positive(),
|
|
18527
|
+
kind: literal("exit"),
|
|
18528
|
+
exitCode: number().int(),
|
|
18529
|
+
signal: number().int().optional()
|
|
18530
|
+
})]);
|
|
18531
|
+
var TerminalOutputBatchSchema = object({
|
|
18532
|
+
cursor: number().int().nonnegative(),
|
|
18533
|
+
reset: boolean(),
|
|
18534
|
+
snapshot: string().optional(),
|
|
18535
|
+
events: array(TerminalOutputEventSchema).readonly()
|
|
18536
|
+
});
|
|
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({
|
|
18401
18560
|
profileId: string(),
|
|
18402
18561
|
cols: number().int().positive(),
|
|
18403
18562
|
rows: number().int().positive()
|
|
@@ -18411,6 +18570,26 @@ method(_void(), array(TerminalProfileInfoSchema).readonly(), { auth: "admin" }),
|
|
|
18411
18570
|
}), _void(), {
|
|
18412
18571
|
kind: "mutation",
|
|
18413
18572
|
auth: "admin"
|
|
18573
|
+
}), method(object({
|
|
18574
|
+
sessionId: string(),
|
|
18575
|
+
afterSeq: number().int().nonnegative(),
|
|
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()
|
|
18583
|
+
}), TerminalOutputBatchSchema, {
|
|
18584
|
+
kind: "mutation",
|
|
18585
|
+
auth: "admin",
|
|
18586
|
+
timeoutMs: 15e3
|
|
18587
|
+
}), method(object({
|
|
18588
|
+
sessionId: string(),
|
|
18589
|
+
data: string().max(64 * 1024)
|
|
18590
|
+
}), _void(), {
|
|
18591
|
+
kind: "mutation",
|
|
18592
|
+
auth: "admin"
|
|
18414
18593
|
}), method(object({ sessionId: string() }), _void(), {
|
|
18415
18594
|
kind: "mutation",
|
|
18416
18595
|
auth: "admin"
|
|
@@ -20341,6 +20520,7 @@ var FaceInfoSchema = object({
|
|
|
20341
20520
|
var FaceFilterEnum = _enum([
|
|
20342
20521
|
"unassigned",
|
|
20343
20522
|
"recognized",
|
|
20523
|
+
"identified",
|
|
20344
20524
|
"all"
|
|
20345
20525
|
]);
|
|
20346
20526
|
var MediaFileLiteSchema$1 = object({
|
|
@@ -20369,6 +20549,8 @@ method(_void(), array(IdentitySchema).readonly()), method(object({ name: string(
|
|
|
20369
20549
|
kind: "mutation",
|
|
20370
20550
|
auth: "admin"
|
|
20371
20551
|
}), method(object({
|
|
20552
|
+
/** Restrict to one camera. Absent keeps the cluster-wide gallery view. */
|
|
20553
|
+
deviceId: number().int().optional(),
|
|
20372
20554
|
limit: number().int().positive().optional(),
|
|
20373
20555
|
filter: FaceFilterEnum.optional(),
|
|
20374
20556
|
/**
|
|
@@ -22134,6 +22316,10 @@ var OsdSourceSchema = discriminatedUnion("kind", [
|
|
|
22134
22316
|
capName: string().min(1).max(64),
|
|
22135
22317
|
/** Dot path inside the slice, e.g. `detected`, `value`, `mode`. */
|
|
22136
22318
|
valuePath: string().min(1).max(64)
|
|
22319
|
+
}),
|
|
22320
|
+
object({
|
|
22321
|
+
kind: literal("latest-recognition"),
|
|
22322
|
+
recognition: _enum(["person", "plate"])
|
|
22137
22323
|
})
|
|
22138
22324
|
]);
|
|
22139
22325
|
var OsdSlotBindingSchema = object({
|
|
@@ -22239,6 +22425,15 @@ method(object({ deviceId: number().int() }), object({
|
|
|
22239
22425
|
}), object({ success: literal(true) }), {
|
|
22240
22426
|
kind: "mutation",
|
|
22241
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"
|
|
22242
22437
|
}), method(object({
|
|
22243
22438
|
deviceId: number().int(),
|
|
22244
22439
|
slotId: string().min(1),
|
|
@@ -23166,13 +23361,19 @@ method(object({
|
|
|
23166
23361
|
}), {
|
|
23167
23362
|
kind: "mutation",
|
|
23168
23363
|
auth: "admin"
|
|
23169
|
-
}), method(
|
|
23364
|
+
}), method(StorageMigrationLeaseInputSchema, object({ paused: literal(true) }), {
|
|
23170
23365
|
kind: "mutation",
|
|
23171
23366
|
auth: "admin"
|
|
23172
|
-
}), method(object({
|
|
23173
|
-
kind: "
|
|
23367
|
+
}), method(StorageMigrationLeaseInputSchema, object({ resumed: literal(true) }), {
|
|
23368
|
+
kind: "mutation",
|
|
23174
23369
|
auth: "admin"
|
|
23175
|
-
}), 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() }), {
|
|
23176
23377
|
kind: "mutation",
|
|
23177
23378
|
auth: "admin"
|
|
23178
23379
|
});
|
|
@@ -27703,6 +27904,12 @@ Object.freeze({
|
|
|
27703
27904
|
addonId: null,
|
|
27704
27905
|
access: "delete"
|
|
27705
27906
|
},
|
|
27907
|
+
"osdManager.copyDeviceConfiguration": {
|
|
27908
|
+
capName: "osd-manager",
|
|
27909
|
+
capScope: "system",
|
|
27910
|
+
addonId: null,
|
|
27911
|
+
access: "create"
|
|
27912
|
+
},
|
|
27706
27913
|
"osdManager.getConditionSupport": {
|
|
27707
27914
|
capName: "osd-manager",
|
|
27708
27915
|
capScope: "system",
|
|
@@ -27799,7 +28006,7 @@ Object.freeze({
|
|
|
27799
28006
|
addonId: null,
|
|
27800
28007
|
access: "create"
|
|
27801
28008
|
},
|
|
27802
|
-
"pipelineAnalytics.
|
|
28009
|
+
"pipelineAnalytics.cancelStorageMigrationMove": {
|
|
27803
28010
|
capName: "pipeline-analytics",
|
|
27804
28011
|
capScope: "device",
|
|
27805
28012
|
addonId: null,
|
|
@@ -27871,12 +28078,6 @@ Object.freeze({
|
|
|
27871
28078
|
addonId: null,
|
|
27872
28079
|
access: "view"
|
|
27873
28080
|
},
|
|
27874
|
-
"pipelineAnalytics.getMediaRelocateStatus": {
|
|
27875
|
-
capName: "pipeline-analytics",
|
|
27876
|
-
capScope: "device",
|
|
27877
|
-
addonId: null,
|
|
27878
|
-
access: "view"
|
|
27879
|
-
},
|
|
27880
28081
|
"pipelineAnalytics.getMotionEvents": {
|
|
27881
28082
|
capName: "pipeline-analytics",
|
|
27882
28083
|
capScope: "device",
|
|
@@ -27913,6 +28114,12 @@ Object.freeze({
|
|
|
27913
28114
|
addonId: null,
|
|
27914
28115
|
access: "view"
|
|
27915
28116
|
},
|
|
28117
|
+
"pipelineAnalytics.getStorageMigrationMoveStatus": {
|
|
28118
|
+
capName: "pipeline-analytics",
|
|
28119
|
+
capScope: "device",
|
|
28120
|
+
addonId: null,
|
|
28121
|
+
access: "view"
|
|
28122
|
+
},
|
|
27916
28123
|
"pipelineAnalytics.getTrack": {
|
|
27917
28124
|
capName: "pipeline-analytics",
|
|
27918
28125
|
capScope: "device",
|
|
@@ -27991,6 +28198,12 @@ Object.freeze({
|
|
|
27991
28198
|
addonId: null,
|
|
27992
28199
|
access: "view"
|
|
27993
28200
|
},
|
|
28201
|
+
"pipelineAnalytics.pauseForStorageMigration": {
|
|
28202
|
+
capName: "pipeline-analytics",
|
|
28203
|
+
capScope: "device",
|
|
28204
|
+
addonId: null,
|
|
28205
|
+
access: "create"
|
|
28206
|
+
},
|
|
27994
28207
|
"pipelineAnalytics.proposeRetrainAnnotations": {
|
|
27995
28208
|
capName: "pipeline-analytics",
|
|
27996
28209
|
capScope: "device",
|
|
@@ -28021,7 +28234,7 @@ Object.freeze({
|
|
|
28021
28234
|
addonId: null,
|
|
28022
28235
|
access: "create"
|
|
28023
28236
|
},
|
|
28024
|
-
"pipelineAnalytics.
|
|
28237
|
+
"pipelineAnalytics.refreshStorageLocationsForMigration": {
|
|
28025
28238
|
capName: "pipeline-analytics",
|
|
28026
28239
|
capScope: "device",
|
|
28027
28240
|
addonId: null,
|
|
@@ -28033,6 +28246,12 @@ Object.freeze({
|
|
|
28033
28246
|
addonId: null,
|
|
28034
28247
|
access: "create"
|
|
28035
28248
|
},
|
|
28249
|
+
"pipelineAnalytics.resumeForStorageMigration": {
|
|
28250
|
+
capName: "pipeline-analytics",
|
|
28251
|
+
capScope: "device",
|
|
28252
|
+
addonId: null,
|
|
28253
|
+
access: "create"
|
|
28254
|
+
},
|
|
28036
28255
|
"pipelineAnalytics.saveRetrainAnnotations": {
|
|
28037
28256
|
capName: "pipeline-analytics",
|
|
28038
28257
|
capScope: "device",
|
|
@@ -28057,6 +28276,12 @@ Object.freeze({
|
|
|
28057
28276
|
addonId: null,
|
|
28058
28277
|
access: "create"
|
|
28059
28278
|
},
|
|
28279
|
+
"pipelineAnalytics.startStorageMigrationMove": {
|
|
28280
|
+
capName: "pipeline-analytics",
|
|
28281
|
+
capScope: "device",
|
|
28282
|
+
addonId: null,
|
|
28283
|
+
access: "create"
|
|
28284
|
+
},
|
|
28060
28285
|
"pipelineAnalytics.wipeAllAnalytics": {
|
|
28061
28286
|
capName: "pipeline-analytics",
|
|
28062
28287
|
capScope: "device",
|
|
@@ -28423,6 +28648,12 @@ Object.freeze({
|
|
|
28423
28648
|
addonId: null,
|
|
28424
28649
|
access: "view"
|
|
28425
28650
|
},
|
|
28651
|
+
"pipelineOrchestrator.pauseForStorageMigration": {
|
|
28652
|
+
capName: "pipeline-orchestrator",
|
|
28653
|
+
capScope: "system",
|
|
28654
|
+
addonId: null,
|
|
28655
|
+
access: "create"
|
|
28656
|
+
},
|
|
28426
28657
|
"pipelineOrchestrator.rebalance": {
|
|
28427
28658
|
capName: "pipeline-orchestrator",
|
|
28428
28659
|
capScope: "system",
|
|
@@ -28447,6 +28678,12 @@ Object.freeze({
|
|
|
28447
28678
|
addonId: null,
|
|
28448
28679
|
access: "view"
|
|
28449
28680
|
},
|
|
28681
|
+
"pipelineOrchestrator.resumeForStorageMigration": {
|
|
28682
|
+
capName: "pipeline-orchestrator",
|
|
28683
|
+
capScope: "system",
|
|
28684
|
+
addonId: null,
|
|
28685
|
+
access: "create"
|
|
28686
|
+
},
|
|
28450
28687
|
"pipelineOrchestrator.saveTemplate": {
|
|
28451
28688
|
capName: "pipeline-orchestrator",
|
|
28452
28689
|
capScope: "system",
|
|
@@ -28843,7 +29080,7 @@ Object.freeze({
|
|
|
28843
29080
|
addonId: null,
|
|
28844
29081
|
access: "create"
|
|
28845
29082
|
},
|
|
28846
|
-
"recording.
|
|
29083
|
+
"recording.cancelStorageMigrationMove": {
|
|
28847
29084
|
capName: "recording",
|
|
28848
29085
|
capScope: "system",
|
|
28849
29086
|
addonId: null,
|
|
@@ -28879,7 +29116,7 @@ Object.freeze({
|
|
|
28879
29116
|
addonId: null,
|
|
28880
29117
|
access: "view"
|
|
28881
29118
|
},
|
|
28882
|
-
"recording.
|
|
29119
|
+
"recording.getStorageMigrationMoveStatus": {
|
|
28883
29120
|
capName: "recording",
|
|
28884
29121
|
capScope: "system",
|
|
28885
29122
|
addonId: null,
|
|
@@ -28903,6 +29140,12 @@ Object.freeze({
|
|
|
28903
29140
|
addonId: null,
|
|
28904
29141
|
access: "view"
|
|
28905
29142
|
},
|
|
29143
|
+
"recording.pauseForStorageMigration": {
|
|
29144
|
+
capName: "recording",
|
|
29145
|
+
capScope: "system",
|
|
29146
|
+
addonId: null,
|
|
29147
|
+
access: "create"
|
|
29148
|
+
},
|
|
28906
29149
|
"recording.pruneFootage": {
|
|
28907
29150
|
capName: "recording",
|
|
28908
29151
|
capScope: "system",
|
|
@@ -28921,7 +29164,7 @@ Object.freeze({
|
|
|
28921
29164
|
addonId: null,
|
|
28922
29165
|
access: "view"
|
|
28923
29166
|
},
|
|
28924
|
-
"recording.
|
|
29167
|
+
"recording.refreshStorageLocationsForMigration": {
|
|
28925
29168
|
capName: "recording",
|
|
28926
29169
|
capScope: "system",
|
|
28927
29170
|
addonId: null,
|
|
@@ -28945,12 +29188,24 @@ Object.freeze({
|
|
|
28945
29188
|
addonId: null,
|
|
28946
29189
|
access: "create"
|
|
28947
29190
|
},
|
|
29191
|
+
"recording.resumeForStorageMigration": {
|
|
29192
|
+
capName: "recording",
|
|
29193
|
+
capScope: "system",
|
|
29194
|
+
addonId: null,
|
|
29195
|
+
access: "create"
|
|
29196
|
+
},
|
|
28948
29197
|
"recording.setDeviceConfig": {
|
|
28949
29198
|
capName: "recording",
|
|
28950
29199
|
capScope: "system",
|
|
28951
29200
|
addonId: null,
|
|
28952
29201
|
access: "create"
|
|
28953
29202
|
},
|
|
29203
|
+
"recording.startStorageMigrationMove": {
|
|
29204
|
+
capName: "recording",
|
|
29205
|
+
capScope: "system",
|
|
29206
|
+
addonId: null,
|
|
29207
|
+
access: "create"
|
|
29208
|
+
},
|
|
28954
29209
|
"recordingExport.cancelExport": {
|
|
28955
29210
|
capName: "recordingExport",
|
|
28956
29211
|
capScope: "system",
|
|
@@ -29341,6 +29596,30 @@ Object.freeze({
|
|
|
29341
29596
|
addonId: null,
|
|
29342
29597
|
access: "view"
|
|
29343
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
|
+
},
|
|
29344
29623
|
"storageProvider.abortUpload": {
|
|
29345
29624
|
capName: "storage-provider",
|
|
29346
29625
|
capScope: "system",
|
|
@@ -29719,12 +29998,42 @@ Object.freeze({
|
|
|
29719
29998
|
addonId: null,
|
|
29720
29999
|
access: "create"
|
|
29721
30000
|
},
|
|
30001
|
+
"terminalSession.adoptLegacyMonitor": {
|
|
30002
|
+
capName: "terminal-session",
|
|
30003
|
+
capScope: "system",
|
|
30004
|
+
addonId: null,
|
|
30005
|
+
access: "create"
|
|
30006
|
+
},
|
|
29722
30007
|
"terminalSession.close": {
|
|
29723
30008
|
capName: "terminal-session",
|
|
29724
30009
|
capScope: "system",
|
|
29725
30010
|
addonId: null,
|
|
29726
30011
|
access: "create"
|
|
29727
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
|
+
},
|
|
29728
30037
|
"terminalSession.listProfiles": {
|
|
29729
30038
|
capName: "terminal-session",
|
|
29730
30039
|
capScope: "system",
|
|
@@ -29743,12 +30052,30 @@ Object.freeze({
|
|
|
29743
30052
|
addonId: null,
|
|
29744
30053
|
access: "create"
|
|
29745
30054
|
},
|
|
30055
|
+
"terminalSession.pullOutput": {
|
|
30056
|
+
capName: "terminal-session",
|
|
30057
|
+
capScope: "system",
|
|
30058
|
+
addonId: null,
|
|
30059
|
+
access: "create"
|
|
30060
|
+
},
|
|
29746
30061
|
"terminalSession.resize": {
|
|
29747
30062
|
capName: "terminal-session",
|
|
29748
30063
|
capScope: "system",
|
|
29749
30064
|
addonId: null,
|
|
29750
30065
|
access: "create"
|
|
29751
30066
|
},
|
|
30067
|
+
"terminalSession.setInstanceEnabled": {
|
|
30068
|
+
capName: "terminal-session",
|
|
30069
|
+
capScope: "system",
|
|
30070
|
+
addonId: null,
|
|
30071
|
+
access: "create"
|
|
30072
|
+
},
|
|
30073
|
+
"terminalSession.writeInput": {
|
|
30074
|
+
capName: "terminal-session",
|
|
30075
|
+
capScope: "system",
|
|
30076
|
+
addonId: null,
|
|
30077
|
+
access: "create"
|
|
30078
|
+
},
|
|
29752
30079
|
"toast.onToast": {
|
|
29753
30080
|
capName: "toast",
|
|
29754
30081
|
capScope: "system",
|