@camstack/addon-provider-rtsp 1.2.12 → 1.2.13
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
|
@@ -7621,12 +7621,11 @@ var RecordingConfigSchema = object({
|
|
|
7621
7621
|
/**
|
|
7622
7622
|
* Entity-relocation job state (storage entity-routing spec, Phase 4).
|
|
7623
7623
|
*
|
|
7624
|
-
* One shape shared by the recorder
|
|
7625
|
-
*
|
|
7626
|
-
*
|
|
7627
|
-
*
|
|
7628
|
-
*
|
|
7629
|
-
* row on the owning addon's surface.
|
|
7624
|
+
* One shape shared by the recorder and pipeline-analytics internal movers.
|
|
7625
|
+
* The public admin surface is `storage-migration`; child jobs remain in RAM
|
|
7626
|
+
* because copy-if-absent, verify, delete and index/row repoint are resumable.
|
|
7627
|
+
* Each completed/failed run also lands one durable ops-log row on its owning
|
|
7628
|
+
* addon surface.
|
|
7630
7629
|
*/
|
|
7631
7630
|
var RelocateJobStateSchema = _enum([
|
|
7632
7631
|
"running",
|
|
@@ -7653,19 +7652,100 @@ var RelocateJobSchema = object({
|
|
|
7653
7652
|
finishedAt: number().nullable(),
|
|
7654
7653
|
error: string().nullable()
|
|
7655
7654
|
});
|
|
7655
|
+
/** Profile-derived footage selection used only by the migration coordinator:
|
|
7656
|
+
* `recordings` owns high+mid; `recordingsLow` owns low. */
|
|
7657
|
+
var RelocateFootageClassSchema = _enum(["recordings", "recordingsLow"]);
|
|
7656
7658
|
var RelocateFootageInputSchema = object({
|
|
7657
|
-
deviceId: number().optional(),
|
|
7658
7659
|
fromLocationId: string(),
|
|
7659
7660
|
toLocationId: string(),
|
|
7660
7661
|
entities: array(_enum(["segments"])).optional(),
|
|
7662
|
+
/** Limits relocation to the logical profile class. Omit only for the
|
|
7663
|
+
* pre-orchestration compatibility path. */
|
|
7664
|
+
footageClass: RelocateFootageClassSchema.optional(),
|
|
7661
7665
|
/** Copy throttle in MB/s (default 40) — the drain is a background chore,
|
|
7662
7666
|
* never allowed to starve live writers. */
|
|
7663
7667
|
throttleMbps: number().min(1).max(1e3).optional()
|
|
7664
7668
|
});
|
|
7665
|
-
|
|
7666
|
-
|
|
7669
|
+
/** Internal, lease-scoped participant operation. It is intentionally separate
|
|
7670
|
+
* from persistent recording settings: a migration never changes
|
|
7671
|
+
* `RecordingConfig.enabled` or camera wrapper bindings. */
|
|
7672
|
+
var StorageMigrationLeaseInputSchema = object({ leaseId: string().min(1) });
|
|
7673
|
+
var StorageMigrationFootageMoveInputSchema = RelocateFootageInputSchema.extend({ leaseId: string().min(1) });
|
|
7674
|
+
var StorageMigrationMediaMoveInputSchema = object({
|
|
7667
7675
|
toLocationId: string(),
|
|
7668
7676
|
throttleMbps: number().min(1).max(1e3).optional()
|
|
7677
|
+
}).extend({ leaseId: string().min(1) });
|
|
7678
|
+
/** The independently selectable logical storage classes. `recordings`
|
|
7679
|
+
* encompasses the high and mid segment profiles; `recordingsLow` is low
|
|
7680
|
+
* segments; `eventMedia` is post-analysis blobs. */
|
|
7681
|
+
var StorageMigrationClassSchema = _enum([
|
|
7682
|
+
"recordings",
|
|
7683
|
+
"recordingsLow",
|
|
7684
|
+
"eventMedia"
|
|
7685
|
+
]);
|
|
7686
|
+
/** A destination is always an existing, fully-qualified location id. The
|
|
7687
|
+
* migration API intentionally never changes a source location's `basePath`:
|
|
7688
|
+
* callers create a new `<type>:<slug>` location, then select it here. */
|
|
7689
|
+
var StorageMigrationDestinationsSchema = object({
|
|
7690
|
+
recordings: string().min(1).optional(),
|
|
7691
|
+
recordingsLow: string().min(1).optional(),
|
|
7692
|
+
eventMedia: string().min(1).optional()
|
|
7693
|
+
}).refine((value) => Object.keys(value).length > 0, { message: "select at least one storage class" });
|
|
7694
|
+
/** Shared input for planning and starting an orchestrated storage migration. */
|
|
7695
|
+
var StorageMigrationInputSchema = object({
|
|
7696
|
+
destinations: StorageMigrationDestinationsSchema,
|
|
7697
|
+
throttleMbps: number().min(1).max(1e3).optional()
|
|
7698
|
+
});
|
|
7699
|
+
/** The durable coordinator state machine. The only phase that changes default
|
|
7700
|
+
* locations is `repointing`, after every selected mover has completed and been
|
|
7701
|
+
* verified. */
|
|
7702
|
+
var StorageMigrationPhaseSchema = _enum([
|
|
7703
|
+
"planning",
|
|
7704
|
+
"pausing",
|
|
7705
|
+
"moving",
|
|
7706
|
+
"verifying",
|
|
7707
|
+
"repointing",
|
|
7708
|
+
"refreshing",
|
|
7709
|
+
"resuming",
|
|
7710
|
+
"done",
|
|
7711
|
+
"failed",
|
|
7712
|
+
"cancelled"
|
|
7713
|
+
]);
|
|
7714
|
+
var StorageMigrationParticipantSchema = _enum([
|
|
7715
|
+
"pipeline",
|
|
7716
|
+
"recorder",
|
|
7717
|
+
"analytics"
|
|
7718
|
+
]);
|
|
7719
|
+
var StorageMigrationMoveSchema = object({
|
|
7720
|
+
storageClass: StorageMigrationClassSchema,
|
|
7721
|
+
fromLocationId: string(),
|
|
7722
|
+
toLocationId: string(),
|
|
7723
|
+
moverJobId: string().nullable(),
|
|
7724
|
+
state: RelocateJobStateSchema.nullable(),
|
|
7725
|
+
error: string().nullable()
|
|
7726
|
+
});
|
|
7727
|
+
var StorageMigrationJobSchema = object({
|
|
7728
|
+
jobId: string(),
|
|
7729
|
+
phase: StorageMigrationPhaseSchema,
|
|
7730
|
+
destinations: StorageMigrationDestinationsSchema,
|
|
7731
|
+
throttleMbps: number(),
|
|
7732
|
+
moves: array(StorageMigrationMoveSchema),
|
|
7733
|
+
pauseLeaseId: string().nullable(),
|
|
7734
|
+
pausedParticipants: array(StorageMigrationParticipantSchema),
|
|
7735
|
+
repointed: boolean(),
|
|
7736
|
+
cancelRequested: boolean(),
|
|
7737
|
+
startedAt: number(),
|
|
7738
|
+
updatedAt: number(),
|
|
7739
|
+
finishedAt: number().nullable(),
|
|
7740
|
+
error: string().nullable()
|
|
7741
|
+
});
|
|
7742
|
+
var StorageMigrationPlanSchema = object({
|
|
7743
|
+
destinations: StorageMigrationDestinationsSchema,
|
|
7744
|
+
moves: array(object({
|
|
7745
|
+
storageClass: StorageMigrationClassSchema,
|
|
7746
|
+
fromLocationId: string(),
|
|
7747
|
+
toLocationId: string()
|
|
7748
|
+
}))
|
|
7669
7749
|
});
|
|
7670
7750
|
/**
|
|
7671
7751
|
* `StorageLocationType` — an addon-declared id that identifies the *kind* of
|
|
@@ -16319,13 +16399,19 @@ DeviceType.Camera, method(object({ deviceId: number() }), array(TrackSchema).rea
|
|
|
16319
16399
|
}), method(object({ deviceId: number() }), EventPruneCountsSchema, {
|
|
16320
16400
|
kind: "mutation",
|
|
16321
16401
|
auth: "admin"
|
|
16322
|
-
}), method(
|
|
16402
|
+
}), method(StorageMigrationLeaseInputSchema, object({ paused: literal(true) }), {
|
|
16323
16403
|
kind: "mutation",
|
|
16324
16404
|
auth: "admin"
|
|
16325
|
-
}), method(object({
|
|
16326
|
-
kind: "
|
|
16405
|
+
}), method(StorageMigrationLeaseInputSchema, object({ resumed: literal(true) }), {
|
|
16406
|
+
kind: "mutation",
|
|
16407
|
+
auth: "admin"
|
|
16408
|
+
}), method(StorageMigrationLeaseInputSchema, object({ refreshed: literal(true) }), {
|
|
16409
|
+
kind: "mutation",
|
|
16410
|
+
auth: "admin"
|
|
16411
|
+
}), method(StorageMigrationMediaMoveInputSchema, object({ jobId: string() }), {
|
|
16412
|
+
kind: "mutation",
|
|
16327
16413
|
auth: "admin"
|
|
16328
|
-
}), method(object({ jobId: string() }), object({ cancelled: boolean() }), {
|
|
16414
|
+
}), method(object({ jobId: string() }), RelocateJobSchema.nullable(), { auth: "admin" }), method(object({ jobId: string() }), object({ cancelled: boolean() }), {
|
|
16329
16415
|
kind: "mutation",
|
|
16330
16416
|
auth: "admin"
|
|
16331
16417
|
}), method(OpsLogQueryInputSchema, array(OpsLogEntrySchema).readonly(), {
|
|
@@ -17855,7 +17941,13 @@ var NodeInferenceDevicesSchema = object({
|
|
|
17855
17941
|
reachable: boolean(),
|
|
17856
17942
|
devices: array(NodeInferenceDeviceSchema).readonly()
|
|
17857
17943
|
});
|
|
17858
|
-
method(object({
|
|
17944
|
+
method(StorageMigrationLeaseInputSchema, object({ paused: literal(true) }), {
|
|
17945
|
+
kind: "mutation",
|
|
17946
|
+
auth: "admin"
|
|
17947
|
+
}), method(StorageMigrationLeaseInputSchema, object({ resumed: literal(true) }), {
|
|
17948
|
+
kind: "mutation",
|
|
17949
|
+
auth: "admin"
|
|
17950
|
+
}), method(object({
|
|
17859
17951
|
deviceId: number(),
|
|
17860
17952
|
agentNodeId: string()
|
|
17861
17953
|
}), object({ success: literal(true) }), {
|
|
@@ -18620,6 +18712,13 @@ method(object({ locationId: string() }), EvictableUsageSchema), method(object({
|
|
|
18620
18712
|
locationId: string(),
|
|
18621
18713
|
targetBytes: number().int().positive()
|
|
18622
18714
|
}), EvictResultSchema, { kind: "mutation" });
|
|
18715
|
+
method(StorageMigrationInputSchema, StorageMigrationPlanSchema, { auth: "admin" }), method(StorageMigrationInputSchema, object({ jobId: string() }), {
|
|
18716
|
+
kind: "mutation",
|
|
18717
|
+
auth: "admin"
|
|
18718
|
+
}), method(object({ jobId: string().optional() }), StorageMigrationJobSchema.nullable(), { auth: "admin" }), method(object({ jobId: string() }), object({ cancelled: boolean() }), {
|
|
18719
|
+
kind: "mutation",
|
|
18720
|
+
auth: "admin"
|
|
18721
|
+
});
|
|
18623
18722
|
var ProviderInfoSchema = discriminatedUnion("shouldSaveDiskSpace", [object({
|
|
18624
18723
|
providerId: string().min(1),
|
|
18625
18724
|
displayName: string().min(1),
|
|
@@ -18723,6 +18822,28 @@ var TerminalProfileInfoSchema = object({
|
|
|
18723
18822
|
label: string(),
|
|
18724
18823
|
description: string().optional()
|
|
18725
18824
|
});
|
|
18825
|
+
/**
|
|
18826
|
+
* A durable operator-created Terminal instance. Profiles are templates; only
|
|
18827
|
+
* an instance declares a camera.
|
|
18828
|
+
*/
|
|
18829
|
+
var TerminalInstanceInfoSchema = object({
|
|
18830
|
+
instanceId: string(),
|
|
18831
|
+
cameraStableId: string(),
|
|
18832
|
+
nodeId: string(),
|
|
18833
|
+
profileId: string(),
|
|
18834
|
+
profileLabel: string(),
|
|
18835
|
+
name: string(),
|
|
18836
|
+
enabled: boolean()
|
|
18837
|
+
});
|
|
18838
|
+
var TerminalLegacyCameraSchema = object({
|
|
18839
|
+
stableId: string(),
|
|
18840
|
+
nodeId: string(),
|
|
18841
|
+
profileId: string(),
|
|
18842
|
+
profileLabel: string(),
|
|
18843
|
+
name: string(),
|
|
18844
|
+
/** Only legacy monitor cameras can retain their historic stable identity. */
|
|
18845
|
+
adoptable: boolean()
|
|
18846
|
+
});
|
|
18726
18847
|
var TerminalOutputEventSchema = discriminatedUnion("kind", [object({
|
|
18727
18848
|
seq: number().int().positive(),
|
|
18728
18849
|
kind: literal("data"),
|
|
@@ -18739,7 +18860,29 @@ var TerminalOutputBatchSchema = object({
|
|
|
18739
18860
|
snapshot: string().optional(),
|
|
18740
18861
|
events: array(TerminalOutputEventSchema).readonly()
|
|
18741
18862
|
});
|
|
18742
|
-
method(_void(), array(TerminalProfileInfoSchema).readonly(), { auth: "admin" }), method(_void(), array(
|
|
18863
|
+
method(_void(), array(TerminalProfileInfoSchema).readonly(), { auth: "admin" }), method(_void(), array(TerminalInstanceInfoSchema).readonly(), { auth: "admin" }), method(object({
|
|
18864
|
+
targetNodeId: string().min(1),
|
|
18865
|
+
profileId: string().min(1),
|
|
18866
|
+
name: string().trim().min(1).max(160).optional()
|
|
18867
|
+
}), TerminalInstanceInfoSchema, {
|
|
18868
|
+
kind: "mutation",
|
|
18869
|
+
auth: "admin"
|
|
18870
|
+
}), method(object({ instanceId: string().min(1) }), _void(), {
|
|
18871
|
+
kind: "mutation",
|
|
18872
|
+
auth: "admin"
|
|
18873
|
+
}), method(object({
|
|
18874
|
+
instanceId: string().min(1),
|
|
18875
|
+
enabled: boolean()
|
|
18876
|
+
}), TerminalInstanceInfoSchema, {
|
|
18877
|
+
kind: "mutation",
|
|
18878
|
+
auth: "admin"
|
|
18879
|
+
}), method(_void(), array(TerminalLegacyCameraSchema).readonly(), { auth: "admin" }), method(object({
|
|
18880
|
+
stableId: string().min(1),
|
|
18881
|
+
name: string().trim().min(1).max(160).optional()
|
|
18882
|
+
}), TerminalInstanceInfoSchema, {
|
|
18883
|
+
kind: "mutation",
|
|
18884
|
+
auth: "admin"
|
|
18885
|
+
}), method(_void(), array(TerminalSessionInfoSchema).readonly(), { auth: "admin" }), method(object({
|
|
18743
18886
|
profileId: string(),
|
|
18744
18887
|
cols: number().int().positive(),
|
|
18745
18888
|
rows: number().int().positive()
|
|
@@ -18756,7 +18899,13 @@ method(_void(), array(TerminalProfileInfoSchema).readonly(), { auth: "admin" }),
|
|
|
18756
18899
|
}), method(object({
|
|
18757
18900
|
sessionId: string(),
|
|
18758
18901
|
afterSeq: number().int().nonnegative(),
|
|
18759
|
-
waitMs: number().int().min(0).max(2e3).default(0)
|
|
18902
|
+
waitMs: number().int().min(0).max(2e3).default(0),
|
|
18903
|
+
/**
|
|
18904
|
+
* Wait when a just-opened session has no output yet. Kept opt-in so a
|
|
18905
|
+
* browser's initial repaint remains immediate; the camera snapshot
|
|
18906
|
+
* relay uses it to avoid encoding a blank startup frame.
|
|
18907
|
+
*/
|
|
18908
|
+
waitForOutput: boolean().optional()
|
|
18760
18909
|
}), TerminalOutputBatchSchema, {
|
|
18761
18910
|
kind: "mutation",
|
|
18762
18911
|
auth: "admin",
|
|
@@ -21262,6 +21411,7 @@ var FaceInfoSchema = object({
|
|
|
21262
21411
|
var FaceFilterEnum = _enum([
|
|
21263
21412
|
"unassigned",
|
|
21264
21413
|
"recognized",
|
|
21414
|
+
"identified",
|
|
21265
21415
|
"all"
|
|
21266
21416
|
]);
|
|
21267
21417
|
var MediaFileLiteSchema$1 = object({
|
|
@@ -21290,6 +21440,8 @@ method(_void(), array(IdentitySchema).readonly()), method(object({ name: string(
|
|
|
21290
21440
|
kind: "mutation",
|
|
21291
21441
|
auth: "admin"
|
|
21292
21442
|
}), method(object({
|
|
21443
|
+
/** Restrict to one camera. Absent keeps the cluster-wide gallery view. */
|
|
21444
|
+
deviceId: number().int().optional(),
|
|
21293
21445
|
limit: number().int().positive().optional(),
|
|
21294
21446
|
filter: FaceFilterEnum.optional(),
|
|
21295
21447
|
/**
|
|
@@ -23519,6 +23671,10 @@ var OsdSourceSchema = discriminatedUnion("kind", [
|
|
|
23519
23671
|
capName: string().min(1).max(64),
|
|
23520
23672
|
/** Dot path inside the slice, e.g. `detected`, `value`, `mode`. */
|
|
23521
23673
|
valuePath: string().min(1).max(64)
|
|
23674
|
+
}),
|
|
23675
|
+
object({
|
|
23676
|
+
kind: literal("latest-recognition"),
|
|
23677
|
+
recognition: _enum(["person", "plate"])
|
|
23522
23678
|
})
|
|
23523
23679
|
]);
|
|
23524
23680
|
var OsdSlotBindingSchema = object({
|
|
@@ -23624,6 +23780,15 @@ method(object({ deviceId: number().int() }), object({
|
|
|
23624
23780
|
}), object({ success: literal(true) }), {
|
|
23625
23781
|
kind: "mutation",
|
|
23626
23782
|
auth: "admin"
|
|
23783
|
+
}), method(object({
|
|
23784
|
+
sourceDeviceId: number().int(),
|
|
23785
|
+
targetDeviceId: number().int()
|
|
23786
|
+
}), object({
|
|
23787
|
+
copied: number().int().nonnegative(),
|
|
23788
|
+
skipped: number().int().nonnegative()
|
|
23789
|
+
}), {
|
|
23790
|
+
kind: "mutation",
|
|
23791
|
+
auth: "admin"
|
|
23627
23792
|
}), method(object({
|
|
23628
23793
|
deviceId: number().int(),
|
|
23629
23794
|
slotId: string().min(1),
|
|
@@ -24721,13 +24886,19 @@ method(object({
|
|
|
24721
24886
|
}), {
|
|
24722
24887
|
kind: "mutation",
|
|
24723
24888
|
auth: "admin"
|
|
24724
|
-
}), method(
|
|
24889
|
+
}), method(StorageMigrationLeaseInputSchema, object({ paused: literal(true) }), {
|
|
24725
24890
|
kind: "mutation",
|
|
24726
24891
|
auth: "admin"
|
|
24727
|
-
}), method(object({
|
|
24728
|
-
kind: "
|
|
24892
|
+
}), method(StorageMigrationLeaseInputSchema, object({ resumed: literal(true) }), {
|
|
24893
|
+
kind: "mutation",
|
|
24729
24894
|
auth: "admin"
|
|
24730
|
-
}), method(
|
|
24895
|
+
}), method(StorageMigrationLeaseInputSchema, object({ refreshed: literal(true) }), {
|
|
24896
|
+
kind: "mutation",
|
|
24897
|
+
auth: "admin"
|
|
24898
|
+
}), method(StorageMigrationFootageMoveInputSchema, object({ jobId: string() }), {
|
|
24899
|
+
kind: "mutation",
|
|
24900
|
+
auth: "admin"
|
|
24901
|
+
}), method(object({ jobId: string() }), RelocateJobSchema.nullable(), { auth: "admin" }), method(object({ jobId: string() }), object({ cancelled: boolean() }), {
|
|
24731
24902
|
kind: "mutation",
|
|
24732
24903
|
auth: "admin"
|
|
24733
24904
|
});
|
|
@@ -30412,6 +30583,12 @@ Object.freeze({
|
|
|
30412
30583
|
addonId: null,
|
|
30413
30584
|
access: "delete"
|
|
30414
30585
|
},
|
|
30586
|
+
"osdManager.copyDeviceConfiguration": {
|
|
30587
|
+
capName: "osd-manager",
|
|
30588
|
+
capScope: "system",
|
|
30589
|
+
addonId: null,
|
|
30590
|
+
access: "create"
|
|
30591
|
+
},
|
|
30415
30592
|
"osdManager.getConditionSupport": {
|
|
30416
30593
|
capName: "osd-manager",
|
|
30417
30594
|
capScope: "system",
|
|
@@ -30508,7 +30685,7 @@ Object.freeze({
|
|
|
30508
30685
|
addonId: null,
|
|
30509
30686
|
access: "create"
|
|
30510
30687
|
},
|
|
30511
|
-
"pipelineAnalytics.
|
|
30688
|
+
"pipelineAnalytics.cancelStorageMigrationMove": {
|
|
30512
30689
|
capName: "pipeline-analytics",
|
|
30513
30690
|
capScope: "device",
|
|
30514
30691
|
addonId: null,
|
|
@@ -30580,12 +30757,6 @@ Object.freeze({
|
|
|
30580
30757
|
addonId: null,
|
|
30581
30758
|
access: "view"
|
|
30582
30759
|
},
|
|
30583
|
-
"pipelineAnalytics.getMediaRelocateStatus": {
|
|
30584
|
-
capName: "pipeline-analytics",
|
|
30585
|
-
capScope: "device",
|
|
30586
|
-
addonId: null,
|
|
30587
|
-
access: "view"
|
|
30588
|
-
},
|
|
30589
30760
|
"pipelineAnalytics.getMotionEvents": {
|
|
30590
30761
|
capName: "pipeline-analytics",
|
|
30591
30762
|
capScope: "device",
|
|
@@ -30622,6 +30793,12 @@ Object.freeze({
|
|
|
30622
30793
|
addonId: null,
|
|
30623
30794
|
access: "view"
|
|
30624
30795
|
},
|
|
30796
|
+
"pipelineAnalytics.getStorageMigrationMoveStatus": {
|
|
30797
|
+
capName: "pipeline-analytics",
|
|
30798
|
+
capScope: "device",
|
|
30799
|
+
addonId: null,
|
|
30800
|
+
access: "view"
|
|
30801
|
+
},
|
|
30625
30802
|
"pipelineAnalytics.getTrack": {
|
|
30626
30803
|
capName: "pipeline-analytics",
|
|
30627
30804
|
capScope: "device",
|
|
@@ -30700,6 +30877,12 @@ Object.freeze({
|
|
|
30700
30877
|
addonId: null,
|
|
30701
30878
|
access: "view"
|
|
30702
30879
|
},
|
|
30880
|
+
"pipelineAnalytics.pauseForStorageMigration": {
|
|
30881
|
+
capName: "pipeline-analytics",
|
|
30882
|
+
capScope: "device",
|
|
30883
|
+
addonId: null,
|
|
30884
|
+
access: "create"
|
|
30885
|
+
},
|
|
30703
30886
|
"pipelineAnalytics.proposeRetrainAnnotations": {
|
|
30704
30887
|
capName: "pipeline-analytics",
|
|
30705
30888
|
capScope: "device",
|
|
@@ -30730,7 +30913,7 @@ Object.freeze({
|
|
|
30730
30913
|
addonId: null,
|
|
30731
30914
|
access: "create"
|
|
30732
30915
|
},
|
|
30733
|
-
"pipelineAnalytics.
|
|
30916
|
+
"pipelineAnalytics.refreshStorageLocationsForMigration": {
|
|
30734
30917
|
capName: "pipeline-analytics",
|
|
30735
30918
|
capScope: "device",
|
|
30736
30919
|
addonId: null,
|
|
@@ -30742,6 +30925,12 @@ Object.freeze({
|
|
|
30742
30925
|
addonId: null,
|
|
30743
30926
|
access: "create"
|
|
30744
30927
|
},
|
|
30928
|
+
"pipelineAnalytics.resumeForStorageMigration": {
|
|
30929
|
+
capName: "pipeline-analytics",
|
|
30930
|
+
capScope: "device",
|
|
30931
|
+
addonId: null,
|
|
30932
|
+
access: "create"
|
|
30933
|
+
},
|
|
30745
30934
|
"pipelineAnalytics.saveRetrainAnnotations": {
|
|
30746
30935
|
capName: "pipeline-analytics",
|
|
30747
30936
|
capScope: "device",
|
|
@@ -30766,6 +30955,12 @@ Object.freeze({
|
|
|
30766
30955
|
addonId: null,
|
|
30767
30956
|
access: "create"
|
|
30768
30957
|
},
|
|
30958
|
+
"pipelineAnalytics.startStorageMigrationMove": {
|
|
30959
|
+
capName: "pipeline-analytics",
|
|
30960
|
+
capScope: "device",
|
|
30961
|
+
addonId: null,
|
|
30962
|
+
access: "create"
|
|
30963
|
+
},
|
|
30769
30964
|
"pipelineAnalytics.wipeAllAnalytics": {
|
|
30770
30965
|
capName: "pipeline-analytics",
|
|
30771
30966
|
capScope: "device",
|
|
@@ -31132,6 +31327,12 @@ Object.freeze({
|
|
|
31132
31327
|
addonId: null,
|
|
31133
31328
|
access: "view"
|
|
31134
31329
|
},
|
|
31330
|
+
"pipelineOrchestrator.pauseForStorageMigration": {
|
|
31331
|
+
capName: "pipeline-orchestrator",
|
|
31332
|
+
capScope: "system",
|
|
31333
|
+
addonId: null,
|
|
31334
|
+
access: "create"
|
|
31335
|
+
},
|
|
31135
31336
|
"pipelineOrchestrator.rebalance": {
|
|
31136
31337
|
capName: "pipeline-orchestrator",
|
|
31137
31338
|
capScope: "system",
|
|
@@ -31156,6 +31357,12 @@ Object.freeze({
|
|
|
31156
31357
|
addonId: null,
|
|
31157
31358
|
access: "view"
|
|
31158
31359
|
},
|
|
31360
|
+
"pipelineOrchestrator.resumeForStorageMigration": {
|
|
31361
|
+
capName: "pipeline-orchestrator",
|
|
31362
|
+
capScope: "system",
|
|
31363
|
+
addonId: null,
|
|
31364
|
+
access: "create"
|
|
31365
|
+
},
|
|
31159
31366
|
"pipelineOrchestrator.saveTemplate": {
|
|
31160
31367
|
capName: "pipeline-orchestrator",
|
|
31161
31368
|
capScope: "system",
|
|
@@ -31552,7 +31759,7 @@ Object.freeze({
|
|
|
31552
31759
|
addonId: null,
|
|
31553
31760
|
access: "create"
|
|
31554
31761
|
},
|
|
31555
|
-
"recording.
|
|
31762
|
+
"recording.cancelStorageMigrationMove": {
|
|
31556
31763
|
capName: "recording",
|
|
31557
31764
|
capScope: "system",
|
|
31558
31765
|
addonId: null,
|
|
@@ -31588,7 +31795,7 @@ Object.freeze({
|
|
|
31588
31795
|
addonId: null,
|
|
31589
31796
|
access: "view"
|
|
31590
31797
|
},
|
|
31591
|
-
"recording.
|
|
31798
|
+
"recording.getStorageMigrationMoveStatus": {
|
|
31592
31799
|
capName: "recording",
|
|
31593
31800
|
capScope: "system",
|
|
31594
31801
|
addonId: null,
|
|
@@ -31612,6 +31819,12 @@ Object.freeze({
|
|
|
31612
31819
|
addonId: null,
|
|
31613
31820
|
access: "view"
|
|
31614
31821
|
},
|
|
31822
|
+
"recording.pauseForStorageMigration": {
|
|
31823
|
+
capName: "recording",
|
|
31824
|
+
capScope: "system",
|
|
31825
|
+
addonId: null,
|
|
31826
|
+
access: "create"
|
|
31827
|
+
},
|
|
31615
31828
|
"recording.pruneFootage": {
|
|
31616
31829
|
capName: "recording",
|
|
31617
31830
|
capScope: "system",
|
|
@@ -31630,7 +31843,7 @@ Object.freeze({
|
|
|
31630
31843
|
addonId: null,
|
|
31631
31844
|
access: "view"
|
|
31632
31845
|
},
|
|
31633
|
-
"recording.
|
|
31846
|
+
"recording.refreshStorageLocationsForMigration": {
|
|
31634
31847
|
capName: "recording",
|
|
31635
31848
|
capScope: "system",
|
|
31636
31849
|
addonId: null,
|
|
@@ -31654,12 +31867,24 @@ Object.freeze({
|
|
|
31654
31867
|
addonId: null,
|
|
31655
31868
|
access: "create"
|
|
31656
31869
|
},
|
|
31870
|
+
"recording.resumeForStorageMigration": {
|
|
31871
|
+
capName: "recording",
|
|
31872
|
+
capScope: "system",
|
|
31873
|
+
addonId: null,
|
|
31874
|
+
access: "create"
|
|
31875
|
+
},
|
|
31657
31876
|
"recording.setDeviceConfig": {
|
|
31658
31877
|
capName: "recording",
|
|
31659
31878
|
capScope: "system",
|
|
31660
31879
|
addonId: null,
|
|
31661
31880
|
access: "create"
|
|
31662
31881
|
},
|
|
31882
|
+
"recording.startStorageMigrationMove": {
|
|
31883
|
+
capName: "recording",
|
|
31884
|
+
capScope: "system",
|
|
31885
|
+
addonId: null,
|
|
31886
|
+
access: "create"
|
|
31887
|
+
},
|
|
31663
31888
|
"recordingExport.cancelExport": {
|
|
31664
31889
|
capName: "recordingExport",
|
|
31665
31890
|
capScope: "system",
|
|
@@ -32050,6 +32275,30 @@ Object.freeze({
|
|
|
32050
32275
|
addonId: null,
|
|
32051
32276
|
access: "view"
|
|
32052
32277
|
},
|
|
32278
|
+
"storageMigration.cancel": {
|
|
32279
|
+
capName: "storage-migration",
|
|
32280
|
+
capScope: "system",
|
|
32281
|
+
addonId: null,
|
|
32282
|
+
access: "create"
|
|
32283
|
+
},
|
|
32284
|
+
"storageMigration.plan": {
|
|
32285
|
+
capName: "storage-migration",
|
|
32286
|
+
capScope: "system",
|
|
32287
|
+
addonId: null,
|
|
32288
|
+
access: "view"
|
|
32289
|
+
},
|
|
32290
|
+
"storageMigration.start": {
|
|
32291
|
+
capName: "storage-migration",
|
|
32292
|
+
capScope: "system",
|
|
32293
|
+
addonId: null,
|
|
32294
|
+
access: "create"
|
|
32295
|
+
},
|
|
32296
|
+
"storageMigration.status": {
|
|
32297
|
+
capName: "storage-migration",
|
|
32298
|
+
capScope: "system",
|
|
32299
|
+
addonId: null,
|
|
32300
|
+
access: "view"
|
|
32301
|
+
},
|
|
32053
32302
|
"storageProvider.abortUpload": {
|
|
32054
32303
|
capName: "storage-provider",
|
|
32055
32304
|
capScope: "system",
|
|
@@ -32428,12 +32677,42 @@ Object.freeze({
|
|
|
32428
32677
|
addonId: null,
|
|
32429
32678
|
access: "create"
|
|
32430
32679
|
},
|
|
32680
|
+
"terminalSession.adoptLegacyMonitor": {
|
|
32681
|
+
capName: "terminal-session",
|
|
32682
|
+
capScope: "system",
|
|
32683
|
+
addonId: null,
|
|
32684
|
+
access: "create"
|
|
32685
|
+
},
|
|
32431
32686
|
"terminalSession.close": {
|
|
32432
32687
|
capName: "terminal-session",
|
|
32433
32688
|
capScope: "system",
|
|
32434
32689
|
addonId: null,
|
|
32435
32690
|
access: "create"
|
|
32436
32691
|
},
|
|
32692
|
+
"terminalSession.createInstance": {
|
|
32693
|
+
capName: "terminal-session",
|
|
32694
|
+
capScope: "system",
|
|
32695
|
+
addonId: null,
|
|
32696
|
+
access: "create"
|
|
32697
|
+
},
|
|
32698
|
+
"terminalSession.deleteInstance": {
|
|
32699
|
+
capName: "terminal-session",
|
|
32700
|
+
capScope: "system",
|
|
32701
|
+
addonId: null,
|
|
32702
|
+
access: "delete"
|
|
32703
|
+
},
|
|
32704
|
+
"terminalSession.listInstances": {
|
|
32705
|
+
capName: "terminal-session",
|
|
32706
|
+
capScope: "system",
|
|
32707
|
+
addonId: null,
|
|
32708
|
+
access: "view"
|
|
32709
|
+
},
|
|
32710
|
+
"terminalSession.listLegacyCameras": {
|
|
32711
|
+
capName: "terminal-session",
|
|
32712
|
+
capScope: "system",
|
|
32713
|
+
addonId: null,
|
|
32714
|
+
access: "view"
|
|
32715
|
+
},
|
|
32437
32716
|
"terminalSession.listProfiles": {
|
|
32438
32717
|
capName: "terminal-session",
|
|
32439
32718
|
capScope: "system",
|
|
@@ -32464,6 +32743,12 @@ Object.freeze({
|
|
|
32464
32743
|
addonId: null,
|
|
32465
32744
|
access: "create"
|
|
32466
32745
|
},
|
|
32746
|
+
"terminalSession.setInstanceEnabled": {
|
|
32747
|
+
capName: "terminal-session",
|
|
32748
|
+
capScope: "system",
|
|
32749
|
+
addonId: null,
|
|
32750
|
+
access: "create"
|
|
32751
|
+
},
|
|
32467
32752
|
"terminalSession.writeInput": {
|
|
32468
32753
|
capName: "terminal-session",
|
|
32469
32754
|
capScope: "system",
|
package/dist/addon.mjs
CHANGED
|
@@ -7597,12 +7597,11 @@ var RecordingConfigSchema = object({
|
|
|
7597
7597
|
/**
|
|
7598
7598
|
* Entity-relocation job state (storage entity-routing spec, Phase 4).
|
|
7599
7599
|
*
|
|
7600
|
-
* One shape shared by the recorder
|
|
7601
|
-
*
|
|
7602
|
-
*
|
|
7603
|
-
*
|
|
7604
|
-
*
|
|
7605
|
-
* row on the owning addon's surface.
|
|
7600
|
+
* One shape shared by the recorder and pipeline-analytics internal movers.
|
|
7601
|
+
* The public admin surface is `storage-migration`; child jobs remain in RAM
|
|
7602
|
+
* because copy-if-absent, verify, delete and index/row repoint are resumable.
|
|
7603
|
+
* Each completed/failed run also lands one durable ops-log row on its owning
|
|
7604
|
+
* addon surface.
|
|
7606
7605
|
*/
|
|
7607
7606
|
var RelocateJobStateSchema = _enum([
|
|
7608
7607
|
"running",
|
|
@@ -7629,19 +7628,100 @@ var RelocateJobSchema = object({
|
|
|
7629
7628
|
finishedAt: number().nullable(),
|
|
7630
7629
|
error: string().nullable()
|
|
7631
7630
|
});
|
|
7631
|
+
/** Profile-derived footage selection used only by the migration coordinator:
|
|
7632
|
+
* `recordings` owns high+mid; `recordingsLow` owns low. */
|
|
7633
|
+
var RelocateFootageClassSchema = _enum(["recordings", "recordingsLow"]);
|
|
7632
7634
|
var RelocateFootageInputSchema = object({
|
|
7633
|
-
deviceId: number().optional(),
|
|
7634
7635
|
fromLocationId: string(),
|
|
7635
7636
|
toLocationId: string(),
|
|
7636
7637
|
entities: array(_enum(["segments"])).optional(),
|
|
7638
|
+
/** Limits relocation to the logical profile class. Omit only for the
|
|
7639
|
+
* pre-orchestration compatibility path. */
|
|
7640
|
+
footageClass: RelocateFootageClassSchema.optional(),
|
|
7637
7641
|
/** Copy throttle in MB/s (default 40) — the drain is a background chore,
|
|
7638
7642
|
* never allowed to starve live writers. */
|
|
7639
7643
|
throttleMbps: number().min(1).max(1e3).optional()
|
|
7640
7644
|
});
|
|
7641
|
-
|
|
7642
|
-
|
|
7645
|
+
/** Internal, lease-scoped participant operation. It is intentionally separate
|
|
7646
|
+
* from persistent recording settings: a migration never changes
|
|
7647
|
+
* `RecordingConfig.enabled` or camera wrapper bindings. */
|
|
7648
|
+
var StorageMigrationLeaseInputSchema = object({ leaseId: string().min(1) });
|
|
7649
|
+
var StorageMigrationFootageMoveInputSchema = RelocateFootageInputSchema.extend({ leaseId: string().min(1) });
|
|
7650
|
+
var StorageMigrationMediaMoveInputSchema = object({
|
|
7643
7651
|
toLocationId: string(),
|
|
7644
7652
|
throttleMbps: number().min(1).max(1e3).optional()
|
|
7653
|
+
}).extend({ leaseId: string().min(1) });
|
|
7654
|
+
/** The independently selectable logical storage classes. `recordings`
|
|
7655
|
+
* encompasses the high and mid segment profiles; `recordingsLow` is low
|
|
7656
|
+
* segments; `eventMedia` is post-analysis blobs. */
|
|
7657
|
+
var StorageMigrationClassSchema = _enum([
|
|
7658
|
+
"recordings",
|
|
7659
|
+
"recordingsLow",
|
|
7660
|
+
"eventMedia"
|
|
7661
|
+
]);
|
|
7662
|
+
/** A destination is always an existing, fully-qualified location id. The
|
|
7663
|
+
* migration API intentionally never changes a source location's `basePath`:
|
|
7664
|
+
* callers create a new `<type>:<slug>` location, then select it here. */
|
|
7665
|
+
var StorageMigrationDestinationsSchema = object({
|
|
7666
|
+
recordings: string().min(1).optional(),
|
|
7667
|
+
recordingsLow: string().min(1).optional(),
|
|
7668
|
+
eventMedia: string().min(1).optional()
|
|
7669
|
+
}).refine((value) => Object.keys(value).length > 0, { message: "select at least one storage class" });
|
|
7670
|
+
/** Shared input for planning and starting an orchestrated storage migration. */
|
|
7671
|
+
var StorageMigrationInputSchema = object({
|
|
7672
|
+
destinations: StorageMigrationDestinationsSchema,
|
|
7673
|
+
throttleMbps: number().min(1).max(1e3).optional()
|
|
7674
|
+
});
|
|
7675
|
+
/** The durable coordinator state machine. The only phase that changes default
|
|
7676
|
+
* locations is `repointing`, after every selected mover has completed and been
|
|
7677
|
+
* verified. */
|
|
7678
|
+
var StorageMigrationPhaseSchema = _enum([
|
|
7679
|
+
"planning",
|
|
7680
|
+
"pausing",
|
|
7681
|
+
"moving",
|
|
7682
|
+
"verifying",
|
|
7683
|
+
"repointing",
|
|
7684
|
+
"refreshing",
|
|
7685
|
+
"resuming",
|
|
7686
|
+
"done",
|
|
7687
|
+
"failed",
|
|
7688
|
+
"cancelled"
|
|
7689
|
+
]);
|
|
7690
|
+
var StorageMigrationParticipantSchema = _enum([
|
|
7691
|
+
"pipeline",
|
|
7692
|
+
"recorder",
|
|
7693
|
+
"analytics"
|
|
7694
|
+
]);
|
|
7695
|
+
var StorageMigrationMoveSchema = object({
|
|
7696
|
+
storageClass: StorageMigrationClassSchema,
|
|
7697
|
+
fromLocationId: string(),
|
|
7698
|
+
toLocationId: string(),
|
|
7699
|
+
moverJobId: string().nullable(),
|
|
7700
|
+
state: RelocateJobStateSchema.nullable(),
|
|
7701
|
+
error: string().nullable()
|
|
7702
|
+
});
|
|
7703
|
+
var StorageMigrationJobSchema = object({
|
|
7704
|
+
jobId: string(),
|
|
7705
|
+
phase: StorageMigrationPhaseSchema,
|
|
7706
|
+
destinations: StorageMigrationDestinationsSchema,
|
|
7707
|
+
throttleMbps: number(),
|
|
7708
|
+
moves: array(StorageMigrationMoveSchema),
|
|
7709
|
+
pauseLeaseId: string().nullable(),
|
|
7710
|
+
pausedParticipants: array(StorageMigrationParticipantSchema),
|
|
7711
|
+
repointed: boolean(),
|
|
7712
|
+
cancelRequested: boolean(),
|
|
7713
|
+
startedAt: number(),
|
|
7714
|
+
updatedAt: number(),
|
|
7715
|
+
finishedAt: number().nullable(),
|
|
7716
|
+
error: string().nullable()
|
|
7717
|
+
});
|
|
7718
|
+
var StorageMigrationPlanSchema = object({
|
|
7719
|
+
destinations: StorageMigrationDestinationsSchema,
|
|
7720
|
+
moves: array(object({
|
|
7721
|
+
storageClass: StorageMigrationClassSchema,
|
|
7722
|
+
fromLocationId: string(),
|
|
7723
|
+
toLocationId: string()
|
|
7724
|
+
}))
|
|
7645
7725
|
});
|
|
7646
7726
|
/**
|
|
7647
7727
|
* `StorageLocationType` — an addon-declared id that identifies the *kind* of
|
|
@@ -16295,13 +16375,19 @@ DeviceType.Camera, method(object({ deviceId: number() }), array(TrackSchema).rea
|
|
|
16295
16375
|
}), method(object({ deviceId: number() }), EventPruneCountsSchema, {
|
|
16296
16376
|
kind: "mutation",
|
|
16297
16377
|
auth: "admin"
|
|
16298
|
-
}), method(
|
|
16378
|
+
}), method(StorageMigrationLeaseInputSchema, object({ paused: literal(true) }), {
|
|
16299
16379
|
kind: "mutation",
|
|
16300
16380
|
auth: "admin"
|
|
16301
|
-
}), method(object({
|
|
16302
|
-
kind: "
|
|
16381
|
+
}), method(StorageMigrationLeaseInputSchema, object({ resumed: literal(true) }), {
|
|
16382
|
+
kind: "mutation",
|
|
16383
|
+
auth: "admin"
|
|
16384
|
+
}), method(StorageMigrationLeaseInputSchema, object({ refreshed: literal(true) }), {
|
|
16385
|
+
kind: "mutation",
|
|
16386
|
+
auth: "admin"
|
|
16387
|
+
}), method(StorageMigrationMediaMoveInputSchema, object({ jobId: string() }), {
|
|
16388
|
+
kind: "mutation",
|
|
16303
16389
|
auth: "admin"
|
|
16304
|
-
}), method(object({ jobId: string() }), object({ cancelled: boolean() }), {
|
|
16390
|
+
}), method(object({ jobId: string() }), RelocateJobSchema.nullable(), { auth: "admin" }), method(object({ jobId: string() }), object({ cancelled: boolean() }), {
|
|
16305
16391
|
kind: "mutation",
|
|
16306
16392
|
auth: "admin"
|
|
16307
16393
|
}), method(OpsLogQueryInputSchema, array(OpsLogEntrySchema).readonly(), {
|
|
@@ -17831,7 +17917,13 @@ var NodeInferenceDevicesSchema = object({
|
|
|
17831
17917
|
reachable: boolean(),
|
|
17832
17918
|
devices: array(NodeInferenceDeviceSchema).readonly()
|
|
17833
17919
|
});
|
|
17834
|
-
method(object({
|
|
17920
|
+
method(StorageMigrationLeaseInputSchema, object({ paused: literal(true) }), {
|
|
17921
|
+
kind: "mutation",
|
|
17922
|
+
auth: "admin"
|
|
17923
|
+
}), method(StorageMigrationLeaseInputSchema, object({ resumed: literal(true) }), {
|
|
17924
|
+
kind: "mutation",
|
|
17925
|
+
auth: "admin"
|
|
17926
|
+
}), method(object({
|
|
17835
17927
|
deviceId: number(),
|
|
17836
17928
|
agentNodeId: string()
|
|
17837
17929
|
}), object({ success: literal(true) }), {
|
|
@@ -18596,6 +18688,13 @@ method(object({ locationId: string() }), EvictableUsageSchema), method(object({
|
|
|
18596
18688
|
locationId: string(),
|
|
18597
18689
|
targetBytes: number().int().positive()
|
|
18598
18690
|
}), EvictResultSchema, { kind: "mutation" });
|
|
18691
|
+
method(StorageMigrationInputSchema, StorageMigrationPlanSchema, { auth: "admin" }), method(StorageMigrationInputSchema, object({ jobId: string() }), {
|
|
18692
|
+
kind: "mutation",
|
|
18693
|
+
auth: "admin"
|
|
18694
|
+
}), method(object({ jobId: string().optional() }), StorageMigrationJobSchema.nullable(), { auth: "admin" }), method(object({ jobId: string() }), object({ cancelled: boolean() }), {
|
|
18695
|
+
kind: "mutation",
|
|
18696
|
+
auth: "admin"
|
|
18697
|
+
});
|
|
18599
18698
|
var ProviderInfoSchema = discriminatedUnion("shouldSaveDiskSpace", [object({
|
|
18600
18699
|
providerId: string().min(1),
|
|
18601
18700
|
displayName: string().min(1),
|
|
@@ -18699,6 +18798,28 @@ var TerminalProfileInfoSchema = object({
|
|
|
18699
18798
|
label: string(),
|
|
18700
18799
|
description: string().optional()
|
|
18701
18800
|
});
|
|
18801
|
+
/**
|
|
18802
|
+
* A durable operator-created Terminal instance. Profiles are templates; only
|
|
18803
|
+
* an instance declares a camera.
|
|
18804
|
+
*/
|
|
18805
|
+
var TerminalInstanceInfoSchema = object({
|
|
18806
|
+
instanceId: string(),
|
|
18807
|
+
cameraStableId: string(),
|
|
18808
|
+
nodeId: string(),
|
|
18809
|
+
profileId: string(),
|
|
18810
|
+
profileLabel: string(),
|
|
18811
|
+
name: string(),
|
|
18812
|
+
enabled: boolean()
|
|
18813
|
+
});
|
|
18814
|
+
var TerminalLegacyCameraSchema = object({
|
|
18815
|
+
stableId: string(),
|
|
18816
|
+
nodeId: string(),
|
|
18817
|
+
profileId: string(),
|
|
18818
|
+
profileLabel: string(),
|
|
18819
|
+
name: string(),
|
|
18820
|
+
/** Only legacy monitor cameras can retain their historic stable identity. */
|
|
18821
|
+
adoptable: boolean()
|
|
18822
|
+
});
|
|
18702
18823
|
var TerminalOutputEventSchema = discriminatedUnion("kind", [object({
|
|
18703
18824
|
seq: number().int().positive(),
|
|
18704
18825
|
kind: literal("data"),
|
|
@@ -18715,7 +18836,29 @@ var TerminalOutputBatchSchema = object({
|
|
|
18715
18836
|
snapshot: string().optional(),
|
|
18716
18837
|
events: array(TerminalOutputEventSchema).readonly()
|
|
18717
18838
|
});
|
|
18718
|
-
method(_void(), array(TerminalProfileInfoSchema).readonly(), { auth: "admin" }), method(_void(), array(
|
|
18839
|
+
method(_void(), array(TerminalProfileInfoSchema).readonly(), { auth: "admin" }), method(_void(), array(TerminalInstanceInfoSchema).readonly(), { auth: "admin" }), method(object({
|
|
18840
|
+
targetNodeId: string().min(1),
|
|
18841
|
+
profileId: string().min(1),
|
|
18842
|
+
name: string().trim().min(1).max(160).optional()
|
|
18843
|
+
}), TerminalInstanceInfoSchema, {
|
|
18844
|
+
kind: "mutation",
|
|
18845
|
+
auth: "admin"
|
|
18846
|
+
}), method(object({ instanceId: string().min(1) }), _void(), {
|
|
18847
|
+
kind: "mutation",
|
|
18848
|
+
auth: "admin"
|
|
18849
|
+
}), method(object({
|
|
18850
|
+
instanceId: string().min(1),
|
|
18851
|
+
enabled: boolean()
|
|
18852
|
+
}), TerminalInstanceInfoSchema, {
|
|
18853
|
+
kind: "mutation",
|
|
18854
|
+
auth: "admin"
|
|
18855
|
+
}), method(_void(), array(TerminalLegacyCameraSchema).readonly(), { auth: "admin" }), method(object({
|
|
18856
|
+
stableId: string().min(1),
|
|
18857
|
+
name: string().trim().min(1).max(160).optional()
|
|
18858
|
+
}), TerminalInstanceInfoSchema, {
|
|
18859
|
+
kind: "mutation",
|
|
18860
|
+
auth: "admin"
|
|
18861
|
+
}), method(_void(), array(TerminalSessionInfoSchema).readonly(), { auth: "admin" }), method(object({
|
|
18719
18862
|
profileId: string(),
|
|
18720
18863
|
cols: number().int().positive(),
|
|
18721
18864
|
rows: number().int().positive()
|
|
@@ -18732,7 +18875,13 @@ method(_void(), array(TerminalProfileInfoSchema).readonly(), { auth: "admin" }),
|
|
|
18732
18875
|
}), method(object({
|
|
18733
18876
|
sessionId: string(),
|
|
18734
18877
|
afterSeq: number().int().nonnegative(),
|
|
18735
|
-
waitMs: number().int().min(0).max(2e3).default(0)
|
|
18878
|
+
waitMs: number().int().min(0).max(2e3).default(0),
|
|
18879
|
+
/**
|
|
18880
|
+
* Wait when a just-opened session has no output yet. Kept opt-in so a
|
|
18881
|
+
* browser's initial repaint remains immediate; the camera snapshot
|
|
18882
|
+
* relay uses it to avoid encoding a blank startup frame.
|
|
18883
|
+
*/
|
|
18884
|
+
waitForOutput: boolean().optional()
|
|
18736
18885
|
}), TerminalOutputBatchSchema, {
|
|
18737
18886
|
kind: "mutation",
|
|
18738
18887
|
auth: "admin",
|
|
@@ -21238,6 +21387,7 @@ var FaceInfoSchema = object({
|
|
|
21238
21387
|
var FaceFilterEnum = _enum([
|
|
21239
21388
|
"unassigned",
|
|
21240
21389
|
"recognized",
|
|
21390
|
+
"identified",
|
|
21241
21391
|
"all"
|
|
21242
21392
|
]);
|
|
21243
21393
|
var MediaFileLiteSchema$1 = object({
|
|
@@ -21266,6 +21416,8 @@ method(_void(), array(IdentitySchema).readonly()), method(object({ name: string(
|
|
|
21266
21416
|
kind: "mutation",
|
|
21267
21417
|
auth: "admin"
|
|
21268
21418
|
}), method(object({
|
|
21419
|
+
/** Restrict to one camera. Absent keeps the cluster-wide gallery view. */
|
|
21420
|
+
deviceId: number().int().optional(),
|
|
21269
21421
|
limit: number().int().positive().optional(),
|
|
21270
21422
|
filter: FaceFilterEnum.optional(),
|
|
21271
21423
|
/**
|
|
@@ -23495,6 +23647,10 @@ var OsdSourceSchema = discriminatedUnion("kind", [
|
|
|
23495
23647
|
capName: string().min(1).max(64),
|
|
23496
23648
|
/** Dot path inside the slice, e.g. `detected`, `value`, `mode`. */
|
|
23497
23649
|
valuePath: string().min(1).max(64)
|
|
23650
|
+
}),
|
|
23651
|
+
object({
|
|
23652
|
+
kind: literal("latest-recognition"),
|
|
23653
|
+
recognition: _enum(["person", "plate"])
|
|
23498
23654
|
})
|
|
23499
23655
|
]);
|
|
23500
23656
|
var OsdSlotBindingSchema = object({
|
|
@@ -23600,6 +23756,15 @@ method(object({ deviceId: number().int() }), object({
|
|
|
23600
23756
|
}), object({ success: literal(true) }), {
|
|
23601
23757
|
kind: "mutation",
|
|
23602
23758
|
auth: "admin"
|
|
23759
|
+
}), method(object({
|
|
23760
|
+
sourceDeviceId: number().int(),
|
|
23761
|
+
targetDeviceId: number().int()
|
|
23762
|
+
}), object({
|
|
23763
|
+
copied: number().int().nonnegative(),
|
|
23764
|
+
skipped: number().int().nonnegative()
|
|
23765
|
+
}), {
|
|
23766
|
+
kind: "mutation",
|
|
23767
|
+
auth: "admin"
|
|
23603
23768
|
}), method(object({
|
|
23604
23769
|
deviceId: number().int(),
|
|
23605
23770
|
slotId: string().min(1),
|
|
@@ -24697,13 +24862,19 @@ method(object({
|
|
|
24697
24862
|
}), {
|
|
24698
24863
|
kind: "mutation",
|
|
24699
24864
|
auth: "admin"
|
|
24700
|
-
}), method(
|
|
24865
|
+
}), method(StorageMigrationLeaseInputSchema, object({ paused: literal(true) }), {
|
|
24701
24866
|
kind: "mutation",
|
|
24702
24867
|
auth: "admin"
|
|
24703
|
-
}), method(object({
|
|
24704
|
-
kind: "
|
|
24868
|
+
}), method(StorageMigrationLeaseInputSchema, object({ resumed: literal(true) }), {
|
|
24869
|
+
kind: "mutation",
|
|
24705
24870
|
auth: "admin"
|
|
24706
|
-
}), method(
|
|
24871
|
+
}), method(StorageMigrationLeaseInputSchema, object({ refreshed: literal(true) }), {
|
|
24872
|
+
kind: "mutation",
|
|
24873
|
+
auth: "admin"
|
|
24874
|
+
}), method(StorageMigrationFootageMoveInputSchema, object({ jobId: string() }), {
|
|
24875
|
+
kind: "mutation",
|
|
24876
|
+
auth: "admin"
|
|
24877
|
+
}), method(object({ jobId: string() }), RelocateJobSchema.nullable(), { auth: "admin" }), method(object({ jobId: string() }), object({ cancelled: boolean() }), {
|
|
24707
24878
|
kind: "mutation",
|
|
24708
24879
|
auth: "admin"
|
|
24709
24880
|
});
|
|
@@ -30388,6 +30559,12 @@ Object.freeze({
|
|
|
30388
30559
|
addonId: null,
|
|
30389
30560
|
access: "delete"
|
|
30390
30561
|
},
|
|
30562
|
+
"osdManager.copyDeviceConfiguration": {
|
|
30563
|
+
capName: "osd-manager",
|
|
30564
|
+
capScope: "system",
|
|
30565
|
+
addonId: null,
|
|
30566
|
+
access: "create"
|
|
30567
|
+
},
|
|
30391
30568
|
"osdManager.getConditionSupport": {
|
|
30392
30569
|
capName: "osd-manager",
|
|
30393
30570
|
capScope: "system",
|
|
@@ -30484,7 +30661,7 @@ Object.freeze({
|
|
|
30484
30661
|
addonId: null,
|
|
30485
30662
|
access: "create"
|
|
30486
30663
|
},
|
|
30487
|
-
"pipelineAnalytics.
|
|
30664
|
+
"pipelineAnalytics.cancelStorageMigrationMove": {
|
|
30488
30665
|
capName: "pipeline-analytics",
|
|
30489
30666
|
capScope: "device",
|
|
30490
30667
|
addonId: null,
|
|
@@ -30556,12 +30733,6 @@ Object.freeze({
|
|
|
30556
30733
|
addonId: null,
|
|
30557
30734
|
access: "view"
|
|
30558
30735
|
},
|
|
30559
|
-
"pipelineAnalytics.getMediaRelocateStatus": {
|
|
30560
|
-
capName: "pipeline-analytics",
|
|
30561
|
-
capScope: "device",
|
|
30562
|
-
addonId: null,
|
|
30563
|
-
access: "view"
|
|
30564
|
-
},
|
|
30565
30736
|
"pipelineAnalytics.getMotionEvents": {
|
|
30566
30737
|
capName: "pipeline-analytics",
|
|
30567
30738
|
capScope: "device",
|
|
@@ -30598,6 +30769,12 @@ Object.freeze({
|
|
|
30598
30769
|
addonId: null,
|
|
30599
30770
|
access: "view"
|
|
30600
30771
|
},
|
|
30772
|
+
"pipelineAnalytics.getStorageMigrationMoveStatus": {
|
|
30773
|
+
capName: "pipeline-analytics",
|
|
30774
|
+
capScope: "device",
|
|
30775
|
+
addonId: null,
|
|
30776
|
+
access: "view"
|
|
30777
|
+
},
|
|
30601
30778
|
"pipelineAnalytics.getTrack": {
|
|
30602
30779
|
capName: "pipeline-analytics",
|
|
30603
30780
|
capScope: "device",
|
|
@@ -30676,6 +30853,12 @@ Object.freeze({
|
|
|
30676
30853
|
addonId: null,
|
|
30677
30854
|
access: "view"
|
|
30678
30855
|
},
|
|
30856
|
+
"pipelineAnalytics.pauseForStorageMigration": {
|
|
30857
|
+
capName: "pipeline-analytics",
|
|
30858
|
+
capScope: "device",
|
|
30859
|
+
addonId: null,
|
|
30860
|
+
access: "create"
|
|
30861
|
+
},
|
|
30679
30862
|
"pipelineAnalytics.proposeRetrainAnnotations": {
|
|
30680
30863
|
capName: "pipeline-analytics",
|
|
30681
30864
|
capScope: "device",
|
|
@@ -30706,7 +30889,7 @@ Object.freeze({
|
|
|
30706
30889
|
addonId: null,
|
|
30707
30890
|
access: "create"
|
|
30708
30891
|
},
|
|
30709
|
-
"pipelineAnalytics.
|
|
30892
|
+
"pipelineAnalytics.refreshStorageLocationsForMigration": {
|
|
30710
30893
|
capName: "pipeline-analytics",
|
|
30711
30894
|
capScope: "device",
|
|
30712
30895
|
addonId: null,
|
|
@@ -30718,6 +30901,12 @@ Object.freeze({
|
|
|
30718
30901
|
addonId: null,
|
|
30719
30902
|
access: "create"
|
|
30720
30903
|
},
|
|
30904
|
+
"pipelineAnalytics.resumeForStorageMigration": {
|
|
30905
|
+
capName: "pipeline-analytics",
|
|
30906
|
+
capScope: "device",
|
|
30907
|
+
addonId: null,
|
|
30908
|
+
access: "create"
|
|
30909
|
+
},
|
|
30721
30910
|
"pipelineAnalytics.saveRetrainAnnotations": {
|
|
30722
30911
|
capName: "pipeline-analytics",
|
|
30723
30912
|
capScope: "device",
|
|
@@ -30742,6 +30931,12 @@ Object.freeze({
|
|
|
30742
30931
|
addonId: null,
|
|
30743
30932
|
access: "create"
|
|
30744
30933
|
},
|
|
30934
|
+
"pipelineAnalytics.startStorageMigrationMove": {
|
|
30935
|
+
capName: "pipeline-analytics",
|
|
30936
|
+
capScope: "device",
|
|
30937
|
+
addonId: null,
|
|
30938
|
+
access: "create"
|
|
30939
|
+
},
|
|
30745
30940
|
"pipelineAnalytics.wipeAllAnalytics": {
|
|
30746
30941
|
capName: "pipeline-analytics",
|
|
30747
30942
|
capScope: "device",
|
|
@@ -31108,6 +31303,12 @@ Object.freeze({
|
|
|
31108
31303
|
addonId: null,
|
|
31109
31304
|
access: "view"
|
|
31110
31305
|
},
|
|
31306
|
+
"pipelineOrchestrator.pauseForStorageMigration": {
|
|
31307
|
+
capName: "pipeline-orchestrator",
|
|
31308
|
+
capScope: "system",
|
|
31309
|
+
addonId: null,
|
|
31310
|
+
access: "create"
|
|
31311
|
+
},
|
|
31111
31312
|
"pipelineOrchestrator.rebalance": {
|
|
31112
31313
|
capName: "pipeline-orchestrator",
|
|
31113
31314
|
capScope: "system",
|
|
@@ -31132,6 +31333,12 @@ Object.freeze({
|
|
|
31132
31333
|
addonId: null,
|
|
31133
31334
|
access: "view"
|
|
31134
31335
|
},
|
|
31336
|
+
"pipelineOrchestrator.resumeForStorageMigration": {
|
|
31337
|
+
capName: "pipeline-orchestrator",
|
|
31338
|
+
capScope: "system",
|
|
31339
|
+
addonId: null,
|
|
31340
|
+
access: "create"
|
|
31341
|
+
},
|
|
31135
31342
|
"pipelineOrchestrator.saveTemplate": {
|
|
31136
31343
|
capName: "pipeline-orchestrator",
|
|
31137
31344
|
capScope: "system",
|
|
@@ -31528,7 +31735,7 @@ Object.freeze({
|
|
|
31528
31735
|
addonId: null,
|
|
31529
31736
|
access: "create"
|
|
31530
31737
|
},
|
|
31531
|
-
"recording.
|
|
31738
|
+
"recording.cancelStorageMigrationMove": {
|
|
31532
31739
|
capName: "recording",
|
|
31533
31740
|
capScope: "system",
|
|
31534
31741
|
addonId: null,
|
|
@@ -31564,7 +31771,7 @@ Object.freeze({
|
|
|
31564
31771
|
addonId: null,
|
|
31565
31772
|
access: "view"
|
|
31566
31773
|
},
|
|
31567
|
-
"recording.
|
|
31774
|
+
"recording.getStorageMigrationMoveStatus": {
|
|
31568
31775
|
capName: "recording",
|
|
31569
31776
|
capScope: "system",
|
|
31570
31777
|
addonId: null,
|
|
@@ -31588,6 +31795,12 @@ Object.freeze({
|
|
|
31588
31795
|
addonId: null,
|
|
31589
31796
|
access: "view"
|
|
31590
31797
|
},
|
|
31798
|
+
"recording.pauseForStorageMigration": {
|
|
31799
|
+
capName: "recording",
|
|
31800
|
+
capScope: "system",
|
|
31801
|
+
addonId: null,
|
|
31802
|
+
access: "create"
|
|
31803
|
+
},
|
|
31591
31804
|
"recording.pruneFootage": {
|
|
31592
31805
|
capName: "recording",
|
|
31593
31806
|
capScope: "system",
|
|
@@ -31606,7 +31819,7 @@ Object.freeze({
|
|
|
31606
31819
|
addonId: null,
|
|
31607
31820
|
access: "view"
|
|
31608
31821
|
},
|
|
31609
|
-
"recording.
|
|
31822
|
+
"recording.refreshStorageLocationsForMigration": {
|
|
31610
31823
|
capName: "recording",
|
|
31611
31824
|
capScope: "system",
|
|
31612
31825
|
addonId: null,
|
|
@@ -31630,12 +31843,24 @@ Object.freeze({
|
|
|
31630
31843
|
addonId: null,
|
|
31631
31844
|
access: "create"
|
|
31632
31845
|
},
|
|
31846
|
+
"recording.resumeForStorageMigration": {
|
|
31847
|
+
capName: "recording",
|
|
31848
|
+
capScope: "system",
|
|
31849
|
+
addonId: null,
|
|
31850
|
+
access: "create"
|
|
31851
|
+
},
|
|
31633
31852
|
"recording.setDeviceConfig": {
|
|
31634
31853
|
capName: "recording",
|
|
31635
31854
|
capScope: "system",
|
|
31636
31855
|
addonId: null,
|
|
31637
31856
|
access: "create"
|
|
31638
31857
|
},
|
|
31858
|
+
"recording.startStorageMigrationMove": {
|
|
31859
|
+
capName: "recording",
|
|
31860
|
+
capScope: "system",
|
|
31861
|
+
addonId: null,
|
|
31862
|
+
access: "create"
|
|
31863
|
+
},
|
|
31639
31864
|
"recordingExport.cancelExport": {
|
|
31640
31865
|
capName: "recordingExport",
|
|
31641
31866
|
capScope: "system",
|
|
@@ -32026,6 +32251,30 @@ Object.freeze({
|
|
|
32026
32251
|
addonId: null,
|
|
32027
32252
|
access: "view"
|
|
32028
32253
|
},
|
|
32254
|
+
"storageMigration.cancel": {
|
|
32255
|
+
capName: "storage-migration",
|
|
32256
|
+
capScope: "system",
|
|
32257
|
+
addonId: null,
|
|
32258
|
+
access: "create"
|
|
32259
|
+
},
|
|
32260
|
+
"storageMigration.plan": {
|
|
32261
|
+
capName: "storage-migration",
|
|
32262
|
+
capScope: "system",
|
|
32263
|
+
addonId: null,
|
|
32264
|
+
access: "view"
|
|
32265
|
+
},
|
|
32266
|
+
"storageMigration.start": {
|
|
32267
|
+
capName: "storage-migration",
|
|
32268
|
+
capScope: "system",
|
|
32269
|
+
addonId: null,
|
|
32270
|
+
access: "create"
|
|
32271
|
+
},
|
|
32272
|
+
"storageMigration.status": {
|
|
32273
|
+
capName: "storage-migration",
|
|
32274
|
+
capScope: "system",
|
|
32275
|
+
addonId: null,
|
|
32276
|
+
access: "view"
|
|
32277
|
+
},
|
|
32029
32278
|
"storageProvider.abortUpload": {
|
|
32030
32279
|
capName: "storage-provider",
|
|
32031
32280
|
capScope: "system",
|
|
@@ -32404,12 +32653,42 @@ Object.freeze({
|
|
|
32404
32653
|
addonId: null,
|
|
32405
32654
|
access: "create"
|
|
32406
32655
|
},
|
|
32656
|
+
"terminalSession.adoptLegacyMonitor": {
|
|
32657
|
+
capName: "terminal-session",
|
|
32658
|
+
capScope: "system",
|
|
32659
|
+
addonId: null,
|
|
32660
|
+
access: "create"
|
|
32661
|
+
},
|
|
32407
32662
|
"terminalSession.close": {
|
|
32408
32663
|
capName: "terminal-session",
|
|
32409
32664
|
capScope: "system",
|
|
32410
32665
|
addonId: null,
|
|
32411
32666
|
access: "create"
|
|
32412
32667
|
},
|
|
32668
|
+
"terminalSession.createInstance": {
|
|
32669
|
+
capName: "terminal-session",
|
|
32670
|
+
capScope: "system",
|
|
32671
|
+
addonId: null,
|
|
32672
|
+
access: "create"
|
|
32673
|
+
},
|
|
32674
|
+
"terminalSession.deleteInstance": {
|
|
32675
|
+
capName: "terminal-session",
|
|
32676
|
+
capScope: "system",
|
|
32677
|
+
addonId: null,
|
|
32678
|
+
access: "delete"
|
|
32679
|
+
},
|
|
32680
|
+
"terminalSession.listInstances": {
|
|
32681
|
+
capName: "terminal-session",
|
|
32682
|
+
capScope: "system",
|
|
32683
|
+
addonId: null,
|
|
32684
|
+
access: "view"
|
|
32685
|
+
},
|
|
32686
|
+
"terminalSession.listLegacyCameras": {
|
|
32687
|
+
capName: "terminal-session",
|
|
32688
|
+
capScope: "system",
|
|
32689
|
+
addonId: null,
|
|
32690
|
+
access: "view"
|
|
32691
|
+
},
|
|
32413
32692
|
"terminalSession.listProfiles": {
|
|
32414
32693
|
capName: "terminal-session",
|
|
32415
32694
|
capScope: "system",
|
|
@@ -32440,6 +32719,12 @@ Object.freeze({
|
|
|
32440
32719
|
addonId: null,
|
|
32441
32720
|
access: "create"
|
|
32442
32721
|
},
|
|
32722
|
+
"terminalSession.setInstanceEnabled": {
|
|
32723
|
+
capName: "terminal-session",
|
|
32724
|
+
capScope: "system",
|
|
32725
|
+
addonId: null,
|
|
32726
|
+
access: "create"
|
|
32727
|
+
},
|
|
32443
32728
|
"terminalSession.writeInput": {
|
|
32444
32729
|
capName: "terminal-session",
|
|
32445
32730
|
capScope: "system",
|