@camstack/addon-provider-rtsp 1.2.11 → 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 +357 -30
- package/dist/addon.mjs +357 -30
- 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",
|
|
16327
16407
|
auth: "admin"
|
|
16328
|
-
}), method(
|
|
16408
|
+
}), method(StorageMigrationLeaseInputSchema, object({ refreshed: literal(true) }), {
|
|
16409
|
+
kind: "mutation",
|
|
16410
|
+
auth: "admin"
|
|
16411
|
+
}), method(StorageMigrationMediaMoveInputSchema, object({ jobId: string() }), {
|
|
16412
|
+
kind: "mutation",
|
|
16413
|
+
auth: "admin"
|
|
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,7 +18822,67 @@ var TerminalProfileInfoSchema = object({
|
|
|
18723
18822
|
label: string(),
|
|
18724
18823
|
description: string().optional()
|
|
18725
18824
|
});
|
|
18726
|
-
|
|
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
|
+
});
|
|
18847
|
+
var TerminalOutputEventSchema = discriminatedUnion("kind", [object({
|
|
18848
|
+
seq: number().int().positive(),
|
|
18849
|
+
kind: literal("data"),
|
|
18850
|
+
data: string()
|
|
18851
|
+
}), object({
|
|
18852
|
+
seq: number().int().positive(),
|
|
18853
|
+
kind: literal("exit"),
|
|
18854
|
+
exitCode: number().int(),
|
|
18855
|
+
signal: number().int().optional()
|
|
18856
|
+
})]);
|
|
18857
|
+
var TerminalOutputBatchSchema = object({
|
|
18858
|
+
cursor: number().int().nonnegative(),
|
|
18859
|
+
reset: boolean(),
|
|
18860
|
+
snapshot: string().optional(),
|
|
18861
|
+
events: array(TerminalOutputEventSchema).readonly()
|
|
18862
|
+
});
|
|
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({
|
|
18727
18886
|
profileId: string(),
|
|
18728
18887
|
cols: number().int().positive(),
|
|
18729
18888
|
rows: number().int().positive()
|
|
@@ -18737,6 +18896,26 @@ method(_void(), array(TerminalProfileInfoSchema).readonly(), { auth: "admin" }),
|
|
|
18737
18896
|
}), _void(), {
|
|
18738
18897
|
kind: "mutation",
|
|
18739
18898
|
auth: "admin"
|
|
18899
|
+
}), method(object({
|
|
18900
|
+
sessionId: string(),
|
|
18901
|
+
afterSeq: number().int().nonnegative(),
|
|
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()
|
|
18909
|
+
}), TerminalOutputBatchSchema, {
|
|
18910
|
+
kind: "mutation",
|
|
18911
|
+
auth: "admin",
|
|
18912
|
+
timeoutMs: 15e3
|
|
18913
|
+
}), method(object({
|
|
18914
|
+
sessionId: string(),
|
|
18915
|
+
data: string().max(64 * 1024)
|
|
18916
|
+
}), _void(), {
|
|
18917
|
+
kind: "mutation",
|
|
18918
|
+
auth: "admin"
|
|
18740
18919
|
}), method(object({ sessionId: string() }), _void(), {
|
|
18741
18920
|
kind: "mutation",
|
|
18742
18921
|
auth: "admin"
|
|
@@ -21232,6 +21411,7 @@ var FaceInfoSchema = object({
|
|
|
21232
21411
|
var FaceFilterEnum = _enum([
|
|
21233
21412
|
"unassigned",
|
|
21234
21413
|
"recognized",
|
|
21414
|
+
"identified",
|
|
21235
21415
|
"all"
|
|
21236
21416
|
]);
|
|
21237
21417
|
var MediaFileLiteSchema$1 = object({
|
|
@@ -21260,6 +21440,8 @@ method(_void(), array(IdentitySchema).readonly()), method(object({ name: string(
|
|
|
21260
21440
|
kind: "mutation",
|
|
21261
21441
|
auth: "admin"
|
|
21262
21442
|
}), method(object({
|
|
21443
|
+
/** Restrict to one camera. Absent keeps the cluster-wide gallery view. */
|
|
21444
|
+
deviceId: number().int().optional(),
|
|
21263
21445
|
limit: number().int().positive().optional(),
|
|
21264
21446
|
filter: FaceFilterEnum.optional(),
|
|
21265
21447
|
/**
|
|
@@ -23489,6 +23671,10 @@ var OsdSourceSchema = discriminatedUnion("kind", [
|
|
|
23489
23671
|
capName: string().min(1).max(64),
|
|
23490
23672
|
/** Dot path inside the slice, e.g. `detected`, `value`, `mode`. */
|
|
23491
23673
|
valuePath: string().min(1).max(64)
|
|
23674
|
+
}),
|
|
23675
|
+
object({
|
|
23676
|
+
kind: literal("latest-recognition"),
|
|
23677
|
+
recognition: _enum(["person", "plate"])
|
|
23492
23678
|
})
|
|
23493
23679
|
]);
|
|
23494
23680
|
var OsdSlotBindingSchema = object({
|
|
@@ -23594,6 +23780,15 @@ method(object({ deviceId: number().int() }), object({
|
|
|
23594
23780
|
}), object({ success: literal(true) }), {
|
|
23595
23781
|
kind: "mutation",
|
|
23596
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"
|
|
23597
23792
|
}), method(object({
|
|
23598
23793
|
deviceId: number().int(),
|
|
23599
23794
|
slotId: string().min(1),
|
|
@@ -24691,13 +24886,19 @@ method(object({
|
|
|
24691
24886
|
}), {
|
|
24692
24887
|
kind: "mutation",
|
|
24693
24888
|
auth: "admin"
|
|
24694
|
-
}), method(
|
|
24889
|
+
}), method(StorageMigrationLeaseInputSchema, object({ paused: literal(true) }), {
|
|
24695
24890
|
kind: "mutation",
|
|
24696
24891
|
auth: "admin"
|
|
24697
|
-
}), method(object({
|
|
24698
|
-
kind: "
|
|
24892
|
+
}), method(StorageMigrationLeaseInputSchema, object({ resumed: literal(true) }), {
|
|
24893
|
+
kind: "mutation",
|
|
24699
24894
|
auth: "admin"
|
|
24700
|
-
}), 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() }), {
|
|
24701
24902
|
kind: "mutation",
|
|
24702
24903
|
auth: "admin"
|
|
24703
24904
|
});
|
|
@@ -30382,6 +30583,12 @@ Object.freeze({
|
|
|
30382
30583
|
addonId: null,
|
|
30383
30584
|
access: "delete"
|
|
30384
30585
|
},
|
|
30586
|
+
"osdManager.copyDeviceConfiguration": {
|
|
30587
|
+
capName: "osd-manager",
|
|
30588
|
+
capScope: "system",
|
|
30589
|
+
addonId: null,
|
|
30590
|
+
access: "create"
|
|
30591
|
+
},
|
|
30385
30592
|
"osdManager.getConditionSupport": {
|
|
30386
30593
|
capName: "osd-manager",
|
|
30387
30594
|
capScope: "system",
|
|
@@ -30478,7 +30685,7 @@ Object.freeze({
|
|
|
30478
30685
|
addonId: null,
|
|
30479
30686
|
access: "create"
|
|
30480
30687
|
},
|
|
30481
|
-
"pipelineAnalytics.
|
|
30688
|
+
"pipelineAnalytics.cancelStorageMigrationMove": {
|
|
30482
30689
|
capName: "pipeline-analytics",
|
|
30483
30690
|
capScope: "device",
|
|
30484
30691
|
addonId: null,
|
|
@@ -30550,12 +30757,6 @@ Object.freeze({
|
|
|
30550
30757
|
addonId: null,
|
|
30551
30758
|
access: "view"
|
|
30552
30759
|
},
|
|
30553
|
-
"pipelineAnalytics.getMediaRelocateStatus": {
|
|
30554
|
-
capName: "pipeline-analytics",
|
|
30555
|
-
capScope: "device",
|
|
30556
|
-
addonId: null,
|
|
30557
|
-
access: "view"
|
|
30558
|
-
},
|
|
30559
30760
|
"pipelineAnalytics.getMotionEvents": {
|
|
30560
30761
|
capName: "pipeline-analytics",
|
|
30561
30762
|
capScope: "device",
|
|
@@ -30592,6 +30793,12 @@ Object.freeze({
|
|
|
30592
30793
|
addonId: null,
|
|
30593
30794
|
access: "view"
|
|
30594
30795
|
},
|
|
30796
|
+
"pipelineAnalytics.getStorageMigrationMoveStatus": {
|
|
30797
|
+
capName: "pipeline-analytics",
|
|
30798
|
+
capScope: "device",
|
|
30799
|
+
addonId: null,
|
|
30800
|
+
access: "view"
|
|
30801
|
+
},
|
|
30595
30802
|
"pipelineAnalytics.getTrack": {
|
|
30596
30803
|
capName: "pipeline-analytics",
|
|
30597
30804
|
capScope: "device",
|
|
@@ -30670,6 +30877,12 @@ Object.freeze({
|
|
|
30670
30877
|
addonId: null,
|
|
30671
30878
|
access: "view"
|
|
30672
30879
|
},
|
|
30880
|
+
"pipelineAnalytics.pauseForStorageMigration": {
|
|
30881
|
+
capName: "pipeline-analytics",
|
|
30882
|
+
capScope: "device",
|
|
30883
|
+
addonId: null,
|
|
30884
|
+
access: "create"
|
|
30885
|
+
},
|
|
30673
30886
|
"pipelineAnalytics.proposeRetrainAnnotations": {
|
|
30674
30887
|
capName: "pipeline-analytics",
|
|
30675
30888
|
capScope: "device",
|
|
@@ -30700,7 +30913,7 @@ Object.freeze({
|
|
|
30700
30913
|
addonId: null,
|
|
30701
30914
|
access: "create"
|
|
30702
30915
|
},
|
|
30703
|
-
"pipelineAnalytics.
|
|
30916
|
+
"pipelineAnalytics.refreshStorageLocationsForMigration": {
|
|
30704
30917
|
capName: "pipeline-analytics",
|
|
30705
30918
|
capScope: "device",
|
|
30706
30919
|
addonId: null,
|
|
@@ -30712,6 +30925,12 @@ Object.freeze({
|
|
|
30712
30925
|
addonId: null,
|
|
30713
30926
|
access: "create"
|
|
30714
30927
|
},
|
|
30928
|
+
"pipelineAnalytics.resumeForStorageMigration": {
|
|
30929
|
+
capName: "pipeline-analytics",
|
|
30930
|
+
capScope: "device",
|
|
30931
|
+
addonId: null,
|
|
30932
|
+
access: "create"
|
|
30933
|
+
},
|
|
30715
30934
|
"pipelineAnalytics.saveRetrainAnnotations": {
|
|
30716
30935
|
capName: "pipeline-analytics",
|
|
30717
30936
|
capScope: "device",
|
|
@@ -30736,6 +30955,12 @@ Object.freeze({
|
|
|
30736
30955
|
addonId: null,
|
|
30737
30956
|
access: "create"
|
|
30738
30957
|
},
|
|
30958
|
+
"pipelineAnalytics.startStorageMigrationMove": {
|
|
30959
|
+
capName: "pipeline-analytics",
|
|
30960
|
+
capScope: "device",
|
|
30961
|
+
addonId: null,
|
|
30962
|
+
access: "create"
|
|
30963
|
+
},
|
|
30739
30964
|
"pipelineAnalytics.wipeAllAnalytics": {
|
|
30740
30965
|
capName: "pipeline-analytics",
|
|
30741
30966
|
capScope: "device",
|
|
@@ -31102,6 +31327,12 @@ Object.freeze({
|
|
|
31102
31327
|
addonId: null,
|
|
31103
31328
|
access: "view"
|
|
31104
31329
|
},
|
|
31330
|
+
"pipelineOrchestrator.pauseForStorageMigration": {
|
|
31331
|
+
capName: "pipeline-orchestrator",
|
|
31332
|
+
capScope: "system",
|
|
31333
|
+
addonId: null,
|
|
31334
|
+
access: "create"
|
|
31335
|
+
},
|
|
31105
31336
|
"pipelineOrchestrator.rebalance": {
|
|
31106
31337
|
capName: "pipeline-orchestrator",
|
|
31107
31338
|
capScope: "system",
|
|
@@ -31126,6 +31357,12 @@ Object.freeze({
|
|
|
31126
31357
|
addonId: null,
|
|
31127
31358
|
access: "view"
|
|
31128
31359
|
},
|
|
31360
|
+
"pipelineOrchestrator.resumeForStorageMigration": {
|
|
31361
|
+
capName: "pipeline-orchestrator",
|
|
31362
|
+
capScope: "system",
|
|
31363
|
+
addonId: null,
|
|
31364
|
+
access: "create"
|
|
31365
|
+
},
|
|
31129
31366
|
"pipelineOrchestrator.saveTemplate": {
|
|
31130
31367
|
capName: "pipeline-orchestrator",
|
|
31131
31368
|
capScope: "system",
|
|
@@ -31522,7 +31759,7 @@ Object.freeze({
|
|
|
31522
31759
|
addonId: null,
|
|
31523
31760
|
access: "create"
|
|
31524
31761
|
},
|
|
31525
|
-
"recording.
|
|
31762
|
+
"recording.cancelStorageMigrationMove": {
|
|
31526
31763
|
capName: "recording",
|
|
31527
31764
|
capScope: "system",
|
|
31528
31765
|
addonId: null,
|
|
@@ -31558,7 +31795,7 @@ Object.freeze({
|
|
|
31558
31795
|
addonId: null,
|
|
31559
31796
|
access: "view"
|
|
31560
31797
|
},
|
|
31561
|
-
"recording.
|
|
31798
|
+
"recording.getStorageMigrationMoveStatus": {
|
|
31562
31799
|
capName: "recording",
|
|
31563
31800
|
capScope: "system",
|
|
31564
31801
|
addonId: null,
|
|
@@ -31582,6 +31819,12 @@ Object.freeze({
|
|
|
31582
31819
|
addonId: null,
|
|
31583
31820
|
access: "view"
|
|
31584
31821
|
},
|
|
31822
|
+
"recording.pauseForStorageMigration": {
|
|
31823
|
+
capName: "recording",
|
|
31824
|
+
capScope: "system",
|
|
31825
|
+
addonId: null,
|
|
31826
|
+
access: "create"
|
|
31827
|
+
},
|
|
31585
31828
|
"recording.pruneFootage": {
|
|
31586
31829
|
capName: "recording",
|
|
31587
31830
|
capScope: "system",
|
|
@@ -31600,7 +31843,7 @@ Object.freeze({
|
|
|
31600
31843
|
addonId: null,
|
|
31601
31844
|
access: "view"
|
|
31602
31845
|
},
|
|
31603
|
-
"recording.
|
|
31846
|
+
"recording.refreshStorageLocationsForMigration": {
|
|
31604
31847
|
capName: "recording",
|
|
31605
31848
|
capScope: "system",
|
|
31606
31849
|
addonId: null,
|
|
@@ -31624,12 +31867,24 @@ Object.freeze({
|
|
|
31624
31867
|
addonId: null,
|
|
31625
31868
|
access: "create"
|
|
31626
31869
|
},
|
|
31870
|
+
"recording.resumeForStorageMigration": {
|
|
31871
|
+
capName: "recording",
|
|
31872
|
+
capScope: "system",
|
|
31873
|
+
addonId: null,
|
|
31874
|
+
access: "create"
|
|
31875
|
+
},
|
|
31627
31876
|
"recording.setDeviceConfig": {
|
|
31628
31877
|
capName: "recording",
|
|
31629
31878
|
capScope: "system",
|
|
31630
31879
|
addonId: null,
|
|
31631
31880
|
access: "create"
|
|
31632
31881
|
},
|
|
31882
|
+
"recording.startStorageMigrationMove": {
|
|
31883
|
+
capName: "recording",
|
|
31884
|
+
capScope: "system",
|
|
31885
|
+
addonId: null,
|
|
31886
|
+
access: "create"
|
|
31887
|
+
},
|
|
31633
31888
|
"recordingExport.cancelExport": {
|
|
31634
31889
|
capName: "recordingExport",
|
|
31635
31890
|
capScope: "system",
|
|
@@ -32020,6 +32275,30 @@ Object.freeze({
|
|
|
32020
32275
|
addonId: null,
|
|
32021
32276
|
access: "view"
|
|
32022
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
|
+
},
|
|
32023
32302
|
"storageProvider.abortUpload": {
|
|
32024
32303
|
capName: "storage-provider",
|
|
32025
32304
|
capScope: "system",
|
|
@@ -32398,12 +32677,42 @@ Object.freeze({
|
|
|
32398
32677
|
addonId: null,
|
|
32399
32678
|
access: "create"
|
|
32400
32679
|
},
|
|
32680
|
+
"terminalSession.adoptLegacyMonitor": {
|
|
32681
|
+
capName: "terminal-session",
|
|
32682
|
+
capScope: "system",
|
|
32683
|
+
addonId: null,
|
|
32684
|
+
access: "create"
|
|
32685
|
+
},
|
|
32401
32686
|
"terminalSession.close": {
|
|
32402
32687
|
capName: "terminal-session",
|
|
32403
32688
|
capScope: "system",
|
|
32404
32689
|
addonId: null,
|
|
32405
32690
|
access: "create"
|
|
32406
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
|
+
},
|
|
32407
32716
|
"terminalSession.listProfiles": {
|
|
32408
32717
|
capName: "terminal-session",
|
|
32409
32718
|
capScope: "system",
|
|
@@ -32422,12 +32731,30 @@ Object.freeze({
|
|
|
32422
32731
|
addonId: null,
|
|
32423
32732
|
access: "create"
|
|
32424
32733
|
},
|
|
32734
|
+
"terminalSession.pullOutput": {
|
|
32735
|
+
capName: "terminal-session",
|
|
32736
|
+
capScope: "system",
|
|
32737
|
+
addonId: null,
|
|
32738
|
+
access: "create"
|
|
32739
|
+
},
|
|
32425
32740
|
"terminalSession.resize": {
|
|
32426
32741
|
capName: "terminal-session",
|
|
32427
32742
|
capScope: "system",
|
|
32428
32743
|
addonId: null,
|
|
32429
32744
|
access: "create"
|
|
32430
32745
|
},
|
|
32746
|
+
"terminalSession.setInstanceEnabled": {
|
|
32747
|
+
capName: "terminal-session",
|
|
32748
|
+
capScope: "system",
|
|
32749
|
+
addonId: null,
|
|
32750
|
+
access: "create"
|
|
32751
|
+
},
|
|
32752
|
+
"terminalSession.writeInput": {
|
|
32753
|
+
capName: "terminal-session",
|
|
32754
|
+
capScope: "system",
|
|
32755
|
+
addonId: null,
|
|
32756
|
+
access: "create"
|
|
32757
|
+
},
|
|
32431
32758
|
"toast.onToast": {
|
|
32432
32759
|
capName: "toast",
|
|
32433
32760
|
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",
|
|
16303
16383
|
auth: "admin"
|
|
16304
|
-
}), method(
|
|
16384
|
+
}), method(StorageMigrationLeaseInputSchema, object({ refreshed: literal(true) }), {
|
|
16385
|
+
kind: "mutation",
|
|
16386
|
+
auth: "admin"
|
|
16387
|
+
}), method(StorageMigrationMediaMoveInputSchema, object({ jobId: string() }), {
|
|
16388
|
+
kind: "mutation",
|
|
16389
|
+
auth: "admin"
|
|
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,7 +18798,67 @@ var TerminalProfileInfoSchema = object({
|
|
|
18699
18798
|
label: string(),
|
|
18700
18799
|
description: string().optional()
|
|
18701
18800
|
});
|
|
18702
|
-
|
|
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
|
+
});
|
|
18823
|
+
var TerminalOutputEventSchema = discriminatedUnion("kind", [object({
|
|
18824
|
+
seq: number().int().positive(),
|
|
18825
|
+
kind: literal("data"),
|
|
18826
|
+
data: string()
|
|
18827
|
+
}), object({
|
|
18828
|
+
seq: number().int().positive(),
|
|
18829
|
+
kind: literal("exit"),
|
|
18830
|
+
exitCode: number().int(),
|
|
18831
|
+
signal: number().int().optional()
|
|
18832
|
+
})]);
|
|
18833
|
+
var TerminalOutputBatchSchema = object({
|
|
18834
|
+
cursor: number().int().nonnegative(),
|
|
18835
|
+
reset: boolean(),
|
|
18836
|
+
snapshot: string().optional(),
|
|
18837
|
+
events: array(TerminalOutputEventSchema).readonly()
|
|
18838
|
+
});
|
|
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({
|
|
18703
18862
|
profileId: string(),
|
|
18704
18863
|
cols: number().int().positive(),
|
|
18705
18864
|
rows: number().int().positive()
|
|
@@ -18713,6 +18872,26 @@ method(_void(), array(TerminalProfileInfoSchema).readonly(), { auth: "admin" }),
|
|
|
18713
18872
|
}), _void(), {
|
|
18714
18873
|
kind: "mutation",
|
|
18715
18874
|
auth: "admin"
|
|
18875
|
+
}), method(object({
|
|
18876
|
+
sessionId: string(),
|
|
18877
|
+
afterSeq: number().int().nonnegative(),
|
|
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()
|
|
18885
|
+
}), TerminalOutputBatchSchema, {
|
|
18886
|
+
kind: "mutation",
|
|
18887
|
+
auth: "admin",
|
|
18888
|
+
timeoutMs: 15e3
|
|
18889
|
+
}), method(object({
|
|
18890
|
+
sessionId: string(),
|
|
18891
|
+
data: string().max(64 * 1024)
|
|
18892
|
+
}), _void(), {
|
|
18893
|
+
kind: "mutation",
|
|
18894
|
+
auth: "admin"
|
|
18716
18895
|
}), method(object({ sessionId: string() }), _void(), {
|
|
18717
18896
|
kind: "mutation",
|
|
18718
18897
|
auth: "admin"
|
|
@@ -21208,6 +21387,7 @@ var FaceInfoSchema = object({
|
|
|
21208
21387
|
var FaceFilterEnum = _enum([
|
|
21209
21388
|
"unassigned",
|
|
21210
21389
|
"recognized",
|
|
21390
|
+
"identified",
|
|
21211
21391
|
"all"
|
|
21212
21392
|
]);
|
|
21213
21393
|
var MediaFileLiteSchema$1 = object({
|
|
@@ -21236,6 +21416,8 @@ method(_void(), array(IdentitySchema).readonly()), method(object({ name: string(
|
|
|
21236
21416
|
kind: "mutation",
|
|
21237
21417
|
auth: "admin"
|
|
21238
21418
|
}), method(object({
|
|
21419
|
+
/** Restrict to one camera. Absent keeps the cluster-wide gallery view. */
|
|
21420
|
+
deviceId: number().int().optional(),
|
|
21239
21421
|
limit: number().int().positive().optional(),
|
|
21240
21422
|
filter: FaceFilterEnum.optional(),
|
|
21241
21423
|
/**
|
|
@@ -23465,6 +23647,10 @@ var OsdSourceSchema = discriminatedUnion("kind", [
|
|
|
23465
23647
|
capName: string().min(1).max(64),
|
|
23466
23648
|
/** Dot path inside the slice, e.g. `detected`, `value`, `mode`. */
|
|
23467
23649
|
valuePath: string().min(1).max(64)
|
|
23650
|
+
}),
|
|
23651
|
+
object({
|
|
23652
|
+
kind: literal("latest-recognition"),
|
|
23653
|
+
recognition: _enum(["person", "plate"])
|
|
23468
23654
|
})
|
|
23469
23655
|
]);
|
|
23470
23656
|
var OsdSlotBindingSchema = object({
|
|
@@ -23570,6 +23756,15 @@ method(object({ deviceId: number().int() }), object({
|
|
|
23570
23756
|
}), object({ success: literal(true) }), {
|
|
23571
23757
|
kind: "mutation",
|
|
23572
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"
|
|
23573
23768
|
}), method(object({
|
|
23574
23769
|
deviceId: number().int(),
|
|
23575
23770
|
slotId: string().min(1),
|
|
@@ -24667,13 +24862,19 @@ method(object({
|
|
|
24667
24862
|
}), {
|
|
24668
24863
|
kind: "mutation",
|
|
24669
24864
|
auth: "admin"
|
|
24670
|
-
}), method(
|
|
24865
|
+
}), method(StorageMigrationLeaseInputSchema, object({ paused: literal(true) }), {
|
|
24671
24866
|
kind: "mutation",
|
|
24672
24867
|
auth: "admin"
|
|
24673
|
-
}), method(object({
|
|
24674
|
-
kind: "
|
|
24868
|
+
}), method(StorageMigrationLeaseInputSchema, object({ resumed: literal(true) }), {
|
|
24869
|
+
kind: "mutation",
|
|
24675
24870
|
auth: "admin"
|
|
24676
|
-
}), 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() }), {
|
|
24677
24878
|
kind: "mutation",
|
|
24678
24879
|
auth: "admin"
|
|
24679
24880
|
});
|
|
@@ -30358,6 +30559,12 @@ Object.freeze({
|
|
|
30358
30559
|
addonId: null,
|
|
30359
30560
|
access: "delete"
|
|
30360
30561
|
},
|
|
30562
|
+
"osdManager.copyDeviceConfiguration": {
|
|
30563
|
+
capName: "osd-manager",
|
|
30564
|
+
capScope: "system",
|
|
30565
|
+
addonId: null,
|
|
30566
|
+
access: "create"
|
|
30567
|
+
},
|
|
30361
30568
|
"osdManager.getConditionSupport": {
|
|
30362
30569
|
capName: "osd-manager",
|
|
30363
30570
|
capScope: "system",
|
|
@@ -30454,7 +30661,7 @@ Object.freeze({
|
|
|
30454
30661
|
addonId: null,
|
|
30455
30662
|
access: "create"
|
|
30456
30663
|
},
|
|
30457
|
-
"pipelineAnalytics.
|
|
30664
|
+
"pipelineAnalytics.cancelStorageMigrationMove": {
|
|
30458
30665
|
capName: "pipeline-analytics",
|
|
30459
30666
|
capScope: "device",
|
|
30460
30667
|
addonId: null,
|
|
@@ -30526,12 +30733,6 @@ Object.freeze({
|
|
|
30526
30733
|
addonId: null,
|
|
30527
30734
|
access: "view"
|
|
30528
30735
|
},
|
|
30529
|
-
"pipelineAnalytics.getMediaRelocateStatus": {
|
|
30530
|
-
capName: "pipeline-analytics",
|
|
30531
|
-
capScope: "device",
|
|
30532
|
-
addonId: null,
|
|
30533
|
-
access: "view"
|
|
30534
|
-
},
|
|
30535
30736
|
"pipelineAnalytics.getMotionEvents": {
|
|
30536
30737
|
capName: "pipeline-analytics",
|
|
30537
30738
|
capScope: "device",
|
|
@@ -30568,6 +30769,12 @@ Object.freeze({
|
|
|
30568
30769
|
addonId: null,
|
|
30569
30770
|
access: "view"
|
|
30570
30771
|
},
|
|
30772
|
+
"pipelineAnalytics.getStorageMigrationMoveStatus": {
|
|
30773
|
+
capName: "pipeline-analytics",
|
|
30774
|
+
capScope: "device",
|
|
30775
|
+
addonId: null,
|
|
30776
|
+
access: "view"
|
|
30777
|
+
},
|
|
30571
30778
|
"pipelineAnalytics.getTrack": {
|
|
30572
30779
|
capName: "pipeline-analytics",
|
|
30573
30780
|
capScope: "device",
|
|
@@ -30646,6 +30853,12 @@ Object.freeze({
|
|
|
30646
30853
|
addonId: null,
|
|
30647
30854
|
access: "view"
|
|
30648
30855
|
},
|
|
30856
|
+
"pipelineAnalytics.pauseForStorageMigration": {
|
|
30857
|
+
capName: "pipeline-analytics",
|
|
30858
|
+
capScope: "device",
|
|
30859
|
+
addonId: null,
|
|
30860
|
+
access: "create"
|
|
30861
|
+
},
|
|
30649
30862
|
"pipelineAnalytics.proposeRetrainAnnotations": {
|
|
30650
30863
|
capName: "pipeline-analytics",
|
|
30651
30864
|
capScope: "device",
|
|
@@ -30676,7 +30889,7 @@ Object.freeze({
|
|
|
30676
30889
|
addonId: null,
|
|
30677
30890
|
access: "create"
|
|
30678
30891
|
},
|
|
30679
|
-
"pipelineAnalytics.
|
|
30892
|
+
"pipelineAnalytics.refreshStorageLocationsForMigration": {
|
|
30680
30893
|
capName: "pipeline-analytics",
|
|
30681
30894
|
capScope: "device",
|
|
30682
30895
|
addonId: null,
|
|
@@ -30688,6 +30901,12 @@ Object.freeze({
|
|
|
30688
30901
|
addonId: null,
|
|
30689
30902
|
access: "create"
|
|
30690
30903
|
},
|
|
30904
|
+
"pipelineAnalytics.resumeForStorageMigration": {
|
|
30905
|
+
capName: "pipeline-analytics",
|
|
30906
|
+
capScope: "device",
|
|
30907
|
+
addonId: null,
|
|
30908
|
+
access: "create"
|
|
30909
|
+
},
|
|
30691
30910
|
"pipelineAnalytics.saveRetrainAnnotations": {
|
|
30692
30911
|
capName: "pipeline-analytics",
|
|
30693
30912
|
capScope: "device",
|
|
@@ -30712,6 +30931,12 @@ Object.freeze({
|
|
|
30712
30931
|
addonId: null,
|
|
30713
30932
|
access: "create"
|
|
30714
30933
|
},
|
|
30934
|
+
"pipelineAnalytics.startStorageMigrationMove": {
|
|
30935
|
+
capName: "pipeline-analytics",
|
|
30936
|
+
capScope: "device",
|
|
30937
|
+
addonId: null,
|
|
30938
|
+
access: "create"
|
|
30939
|
+
},
|
|
30715
30940
|
"pipelineAnalytics.wipeAllAnalytics": {
|
|
30716
30941
|
capName: "pipeline-analytics",
|
|
30717
30942
|
capScope: "device",
|
|
@@ -31078,6 +31303,12 @@ Object.freeze({
|
|
|
31078
31303
|
addonId: null,
|
|
31079
31304
|
access: "view"
|
|
31080
31305
|
},
|
|
31306
|
+
"pipelineOrchestrator.pauseForStorageMigration": {
|
|
31307
|
+
capName: "pipeline-orchestrator",
|
|
31308
|
+
capScope: "system",
|
|
31309
|
+
addonId: null,
|
|
31310
|
+
access: "create"
|
|
31311
|
+
},
|
|
31081
31312
|
"pipelineOrchestrator.rebalance": {
|
|
31082
31313
|
capName: "pipeline-orchestrator",
|
|
31083
31314
|
capScope: "system",
|
|
@@ -31102,6 +31333,12 @@ Object.freeze({
|
|
|
31102
31333
|
addonId: null,
|
|
31103
31334
|
access: "view"
|
|
31104
31335
|
},
|
|
31336
|
+
"pipelineOrchestrator.resumeForStorageMigration": {
|
|
31337
|
+
capName: "pipeline-orchestrator",
|
|
31338
|
+
capScope: "system",
|
|
31339
|
+
addonId: null,
|
|
31340
|
+
access: "create"
|
|
31341
|
+
},
|
|
31105
31342
|
"pipelineOrchestrator.saveTemplate": {
|
|
31106
31343
|
capName: "pipeline-orchestrator",
|
|
31107
31344
|
capScope: "system",
|
|
@@ -31498,7 +31735,7 @@ Object.freeze({
|
|
|
31498
31735
|
addonId: null,
|
|
31499
31736
|
access: "create"
|
|
31500
31737
|
},
|
|
31501
|
-
"recording.
|
|
31738
|
+
"recording.cancelStorageMigrationMove": {
|
|
31502
31739
|
capName: "recording",
|
|
31503
31740
|
capScope: "system",
|
|
31504
31741
|
addonId: null,
|
|
@@ -31534,7 +31771,7 @@ Object.freeze({
|
|
|
31534
31771
|
addonId: null,
|
|
31535
31772
|
access: "view"
|
|
31536
31773
|
},
|
|
31537
|
-
"recording.
|
|
31774
|
+
"recording.getStorageMigrationMoveStatus": {
|
|
31538
31775
|
capName: "recording",
|
|
31539
31776
|
capScope: "system",
|
|
31540
31777
|
addonId: null,
|
|
@@ -31558,6 +31795,12 @@ Object.freeze({
|
|
|
31558
31795
|
addonId: null,
|
|
31559
31796
|
access: "view"
|
|
31560
31797
|
},
|
|
31798
|
+
"recording.pauseForStorageMigration": {
|
|
31799
|
+
capName: "recording",
|
|
31800
|
+
capScope: "system",
|
|
31801
|
+
addonId: null,
|
|
31802
|
+
access: "create"
|
|
31803
|
+
},
|
|
31561
31804
|
"recording.pruneFootage": {
|
|
31562
31805
|
capName: "recording",
|
|
31563
31806
|
capScope: "system",
|
|
@@ -31576,7 +31819,7 @@ Object.freeze({
|
|
|
31576
31819
|
addonId: null,
|
|
31577
31820
|
access: "view"
|
|
31578
31821
|
},
|
|
31579
|
-
"recording.
|
|
31822
|
+
"recording.refreshStorageLocationsForMigration": {
|
|
31580
31823
|
capName: "recording",
|
|
31581
31824
|
capScope: "system",
|
|
31582
31825
|
addonId: null,
|
|
@@ -31600,12 +31843,24 @@ Object.freeze({
|
|
|
31600
31843
|
addonId: null,
|
|
31601
31844
|
access: "create"
|
|
31602
31845
|
},
|
|
31846
|
+
"recording.resumeForStorageMigration": {
|
|
31847
|
+
capName: "recording",
|
|
31848
|
+
capScope: "system",
|
|
31849
|
+
addonId: null,
|
|
31850
|
+
access: "create"
|
|
31851
|
+
},
|
|
31603
31852
|
"recording.setDeviceConfig": {
|
|
31604
31853
|
capName: "recording",
|
|
31605
31854
|
capScope: "system",
|
|
31606
31855
|
addonId: null,
|
|
31607
31856
|
access: "create"
|
|
31608
31857
|
},
|
|
31858
|
+
"recording.startStorageMigrationMove": {
|
|
31859
|
+
capName: "recording",
|
|
31860
|
+
capScope: "system",
|
|
31861
|
+
addonId: null,
|
|
31862
|
+
access: "create"
|
|
31863
|
+
},
|
|
31609
31864
|
"recordingExport.cancelExport": {
|
|
31610
31865
|
capName: "recordingExport",
|
|
31611
31866
|
capScope: "system",
|
|
@@ -31996,6 +32251,30 @@ Object.freeze({
|
|
|
31996
32251
|
addonId: null,
|
|
31997
32252
|
access: "view"
|
|
31998
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
|
+
},
|
|
31999
32278
|
"storageProvider.abortUpload": {
|
|
32000
32279
|
capName: "storage-provider",
|
|
32001
32280
|
capScope: "system",
|
|
@@ -32374,12 +32653,42 @@ Object.freeze({
|
|
|
32374
32653
|
addonId: null,
|
|
32375
32654
|
access: "create"
|
|
32376
32655
|
},
|
|
32656
|
+
"terminalSession.adoptLegacyMonitor": {
|
|
32657
|
+
capName: "terminal-session",
|
|
32658
|
+
capScope: "system",
|
|
32659
|
+
addonId: null,
|
|
32660
|
+
access: "create"
|
|
32661
|
+
},
|
|
32377
32662
|
"terminalSession.close": {
|
|
32378
32663
|
capName: "terminal-session",
|
|
32379
32664
|
capScope: "system",
|
|
32380
32665
|
addonId: null,
|
|
32381
32666
|
access: "create"
|
|
32382
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
|
+
},
|
|
32383
32692
|
"terminalSession.listProfiles": {
|
|
32384
32693
|
capName: "terminal-session",
|
|
32385
32694
|
capScope: "system",
|
|
@@ -32398,12 +32707,30 @@ Object.freeze({
|
|
|
32398
32707
|
addonId: null,
|
|
32399
32708
|
access: "create"
|
|
32400
32709
|
},
|
|
32710
|
+
"terminalSession.pullOutput": {
|
|
32711
|
+
capName: "terminal-session",
|
|
32712
|
+
capScope: "system",
|
|
32713
|
+
addonId: null,
|
|
32714
|
+
access: "create"
|
|
32715
|
+
},
|
|
32401
32716
|
"terminalSession.resize": {
|
|
32402
32717
|
capName: "terminal-session",
|
|
32403
32718
|
capScope: "system",
|
|
32404
32719
|
addonId: null,
|
|
32405
32720
|
access: "create"
|
|
32406
32721
|
},
|
|
32722
|
+
"terminalSession.setInstanceEnabled": {
|
|
32723
|
+
capName: "terminal-session",
|
|
32724
|
+
capScope: "system",
|
|
32725
|
+
addonId: null,
|
|
32726
|
+
access: "create"
|
|
32727
|
+
},
|
|
32728
|
+
"terminalSession.writeInput": {
|
|
32729
|
+
capName: "terminal-session",
|
|
32730
|
+
capScope: "system",
|
|
32731
|
+
addonId: null,
|
|
32732
|
+
access: "create"
|
|
32733
|
+
},
|
|
32407
32734
|
"toast.onToast": {
|
|
32408
32735
|
capName: "toast",
|
|
32409
32736
|
capScope: "system",
|