@camstack/addon-provider-reolink 1.2.20 → 1.2.22
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
|
@@ -7590,12 +7590,11 @@ var RecordingConfigSchema = object({
|
|
|
7590
7590
|
/**
|
|
7591
7591
|
* Entity-relocation job state (storage entity-routing spec, Phase 4).
|
|
7592
7592
|
*
|
|
7593
|
-
* One shape shared by the recorder
|
|
7594
|
-
*
|
|
7595
|
-
*
|
|
7596
|
-
*
|
|
7597
|
-
*
|
|
7598
|
-
* row on the owning addon's surface.
|
|
7593
|
+
* One shape shared by the recorder and pipeline-analytics internal movers.
|
|
7594
|
+
* The public admin surface is `storage-migration`; child jobs remain in RAM
|
|
7595
|
+
* because copy-if-absent, verify, delete and index/row repoint are resumable.
|
|
7596
|
+
* Each completed/failed run also lands one durable ops-log row on its owning
|
|
7597
|
+
* addon surface.
|
|
7599
7598
|
*/
|
|
7600
7599
|
var RelocateJobStateSchema = _enum([
|
|
7601
7600
|
"running",
|
|
@@ -7622,19 +7621,100 @@ var RelocateJobSchema = object({
|
|
|
7622
7621
|
finishedAt: number().nullable(),
|
|
7623
7622
|
error: string().nullable()
|
|
7624
7623
|
});
|
|
7624
|
+
/** Profile-derived footage selection used only by the migration coordinator:
|
|
7625
|
+
* `recordings` owns high+mid; `recordingsLow` owns low. */
|
|
7626
|
+
var RelocateFootageClassSchema = _enum(["recordings", "recordingsLow"]);
|
|
7625
7627
|
var RelocateFootageInputSchema = object({
|
|
7626
|
-
deviceId: number().optional(),
|
|
7627
7628
|
fromLocationId: string(),
|
|
7628
7629
|
toLocationId: string(),
|
|
7629
7630
|
entities: array(_enum(["segments"])).optional(),
|
|
7631
|
+
/** Limits relocation to the logical profile class. Omit only for the
|
|
7632
|
+
* pre-orchestration compatibility path. */
|
|
7633
|
+
footageClass: RelocateFootageClassSchema.optional(),
|
|
7630
7634
|
/** Copy throttle in MB/s (default 40) — the drain is a background chore,
|
|
7631
7635
|
* never allowed to starve live writers. */
|
|
7632
7636
|
throttleMbps: number().min(1).max(1e3).optional()
|
|
7633
7637
|
});
|
|
7634
|
-
|
|
7635
|
-
|
|
7638
|
+
/** Internal, lease-scoped participant operation. It is intentionally separate
|
|
7639
|
+
* from persistent recording settings: a migration never changes
|
|
7640
|
+
* `RecordingConfig.enabled` or camera wrapper bindings. */
|
|
7641
|
+
var StorageMigrationLeaseInputSchema = object({ leaseId: string().min(1) });
|
|
7642
|
+
var StorageMigrationFootageMoveInputSchema = RelocateFootageInputSchema.extend({ leaseId: string().min(1) });
|
|
7643
|
+
var StorageMigrationMediaMoveInputSchema = object({
|
|
7636
7644
|
toLocationId: string(),
|
|
7637
7645
|
throttleMbps: number().min(1).max(1e3).optional()
|
|
7646
|
+
}).extend({ leaseId: string().min(1) });
|
|
7647
|
+
/** The independently selectable logical storage classes. `recordings`
|
|
7648
|
+
* encompasses the high and mid segment profiles; `recordingsLow` is low
|
|
7649
|
+
* segments; `eventMedia` is post-analysis blobs. */
|
|
7650
|
+
var StorageMigrationClassSchema = _enum([
|
|
7651
|
+
"recordings",
|
|
7652
|
+
"recordingsLow",
|
|
7653
|
+
"eventMedia"
|
|
7654
|
+
]);
|
|
7655
|
+
/** A destination is always an existing, fully-qualified location id. The
|
|
7656
|
+
* migration API intentionally never changes a source location's `basePath`:
|
|
7657
|
+
* callers create a new `<type>:<slug>` location, then select it here. */
|
|
7658
|
+
var StorageMigrationDestinationsSchema = object({
|
|
7659
|
+
recordings: string().min(1).optional(),
|
|
7660
|
+
recordingsLow: string().min(1).optional(),
|
|
7661
|
+
eventMedia: string().min(1).optional()
|
|
7662
|
+
}).refine((value) => Object.keys(value).length > 0, { message: "select at least one storage class" });
|
|
7663
|
+
/** Shared input for planning and starting an orchestrated storage migration. */
|
|
7664
|
+
var StorageMigrationInputSchema = object({
|
|
7665
|
+
destinations: StorageMigrationDestinationsSchema,
|
|
7666
|
+
throttleMbps: number().min(1).max(1e3).optional()
|
|
7667
|
+
});
|
|
7668
|
+
/** The durable coordinator state machine. The only phase that changes default
|
|
7669
|
+
* locations is `repointing`, after every selected mover has completed and been
|
|
7670
|
+
* verified. */
|
|
7671
|
+
var StorageMigrationPhaseSchema = _enum([
|
|
7672
|
+
"planning",
|
|
7673
|
+
"pausing",
|
|
7674
|
+
"moving",
|
|
7675
|
+
"verifying",
|
|
7676
|
+
"repointing",
|
|
7677
|
+
"refreshing",
|
|
7678
|
+
"resuming",
|
|
7679
|
+
"done",
|
|
7680
|
+
"failed",
|
|
7681
|
+
"cancelled"
|
|
7682
|
+
]);
|
|
7683
|
+
var StorageMigrationParticipantSchema = _enum([
|
|
7684
|
+
"pipeline",
|
|
7685
|
+
"recorder",
|
|
7686
|
+
"analytics"
|
|
7687
|
+
]);
|
|
7688
|
+
var StorageMigrationMoveSchema = object({
|
|
7689
|
+
storageClass: StorageMigrationClassSchema,
|
|
7690
|
+
fromLocationId: string(),
|
|
7691
|
+
toLocationId: string(),
|
|
7692
|
+
moverJobId: string().nullable(),
|
|
7693
|
+
state: RelocateJobStateSchema.nullable(),
|
|
7694
|
+
error: string().nullable()
|
|
7695
|
+
});
|
|
7696
|
+
var StorageMigrationJobSchema = object({
|
|
7697
|
+
jobId: string(),
|
|
7698
|
+
phase: StorageMigrationPhaseSchema,
|
|
7699
|
+
destinations: StorageMigrationDestinationsSchema,
|
|
7700
|
+
throttleMbps: number(),
|
|
7701
|
+
moves: array(StorageMigrationMoveSchema),
|
|
7702
|
+
pauseLeaseId: string().nullable(),
|
|
7703
|
+
pausedParticipants: array(StorageMigrationParticipantSchema),
|
|
7704
|
+
repointed: boolean(),
|
|
7705
|
+
cancelRequested: boolean(),
|
|
7706
|
+
startedAt: number(),
|
|
7707
|
+
updatedAt: number(),
|
|
7708
|
+
finishedAt: number().nullable(),
|
|
7709
|
+
error: string().nullable()
|
|
7710
|
+
});
|
|
7711
|
+
var StorageMigrationPlanSchema = object({
|
|
7712
|
+
destinations: StorageMigrationDestinationsSchema,
|
|
7713
|
+
moves: array(object({
|
|
7714
|
+
storageClass: StorageMigrationClassSchema,
|
|
7715
|
+
fromLocationId: string(),
|
|
7716
|
+
toLocationId: string()
|
|
7717
|
+
}))
|
|
7638
7718
|
});
|
|
7639
7719
|
/**
|
|
7640
7720
|
* `StorageLocationType` — an addon-declared id that identifies the *kind* of
|
|
@@ -16475,13 +16555,19 @@ DeviceType.Camera, method(object({ deviceId: number() }), array(TrackSchema).rea
|
|
|
16475
16555
|
}), method(object({ deviceId: number() }), EventPruneCountsSchema, {
|
|
16476
16556
|
kind: "mutation",
|
|
16477
16557
|
auth: "admin"
|
|
16478
|
-
}), method(
|
|
16558
|
+
}), method(StorageMigrationLeaseInputSchema, object({ paused: literal(true) }), {
|
|
16479
16559
|
kind: "mutation",
|
|
16480
16560
|
auth: "admin"
|
|
16481
|
-
}), method(object({
|
|
16482
|
-
kind: "
|
|
16561
|
+
}), method(StorageMigrationLeaseInputSchema, object({ resumed: literal(true) }), {
|
|
16562
|
+
kind: "mutation",
|
|
16483
16563
|
auth: "admin"
|
|
16484
|
-
}), method(
|
|
16564
|
+
}), method(StorageMigrationLeaseInputSchema, object({ refreshed: literal(true) }), {
|
|
16565
|
+
kind: "mutation",
|
|
16566
|
+
auth: "admin"
|
|
16567
|
+
}), method(StorageMigrationMediaMoveInputSchema, object({ jobId: string() }), {
|
|
16568
|
+
kind: "mutation",
|
|
16569
|
+
auth: "admin"
|
|
16570
|
+
}), method(object({ jobId: string() }), RelocateJobSchema.nullable(), { auth: "admin" }), method(object({ jobId: string() }), object({ cancelled: boolean() }), {
|
|
16485
16571
|
kind: "mutation",
|
|
16486
16572
|
auth: "admin"
|
|
16487
16573
|
}), method(OpsLogQueryInputSchema, array(OpsLogEntrySchema).readonly(), {
|
|
@@ -18011,7 +18097,13 @@ var NodeInferenceDevicesSchema = object({
|
|
|
18011
18097
|
reachable: boolean(),
|
|
18012
18098
|
devices: array(NodeInferenceDeviceSchema).readonly()
|
|
18013
18099
|
});
|
|
18014
|
-
method(object({
|
|
18100
|
+
method(StorageMigrationLeaseInputSchema, object({ paused: literal(true) }), {
|
|
18101
|
+
kind: "mutation",
|
|
18102
|
+
auth: "admin"
|
|
18103
|
+
}), method(StorageMigrationLeaseInputSchema, object({ resumed: literal(true) }), {
|
|
18104
|
+
kind: "mutation",
|
|
18105
|
+
auth: "admin"
|
|
18106
|
+
}), method(object({
|
|
18015
18107
|
deviceId: number(),
|
|
18016
18108
|
agentNodeId: string()
|
|
18017
18109
|
}), object({ success: literal(true) }), {
|
|
@@ -18776,6 +18868,13 @@ method(object({ locationId: string() }), EvictableUsageSchema), method(object({
|
|
|
18776
18868
|
locationId: string(),
|
|
18777
18869
|
targetBytes: number().int().positive()
|
|
18778
18870
|
}), EvictResultSchema, { kind: "mutation" });
|
|
18871
|
+
method(StorageMigrationInputSchema, StorageMigrationPlanSchema, { auth: "admin" }), method(StorageMigrationInputSchema, object({ jobId: string() }), {
|
|
18872
|
+
kind: "mutation",
|
|
18873
|
+
auth: "admin"
|
|
18874
|
+
}), method(object({ jobId: string().optional() }), StorageMigrationJobSchema.nullable(), { auth: "admin" }), method(object({ jobId: string() }), object({ cancelled: boolean() }), {
|
|
18875
|
+
kind: "mutation",
|
|
18876
|
+
auth: "admin"
|
|
18877
|
+
});
|
|
18779
18878
|
var ProviderInfoSchema = discriminatedUnion("shouldSaveDiskSpace", [object({
|
|
18780
18879
|
providerId: string().min(1),
|
|
18781
18880
|
displayName: string().min(1),
|
|
@@ -18879,7 +18978,67 @@ var TerminalProfileInfoSchema = object({
|
|
|
18879
18978
|
label: string(),
|
|
18880
18979
|
description: string().optional()
|
|
18881
18980
|
});
|
|
18882
|
-
|
|
18981
|
+
/**
|
|
18982
|
+
* A durable operator-created Terminal instance. Profiles are templates; only
|
|
18983
|
+
* an instance declares a camera.
|
|
18984
|
+
*/
|
|
18985
|
+
var TerminalInstanceInfoSchema = object({
|
|
18986
|
+
instanceId: string(),
|
|
18987
|
+
cameraStableId: string(),
|
|
18988
|
+
nodeId: string(),
|
|
18989
|
+
profileId: string(),
|
|
18990
|
+
profileLabel: string(),
|
|
18991
|
+
name: string(),
|
|
18992
|
+
enabled: boolean()
|
|
18993
|
+
});
|
|
18994
|
+
var TerminalLegacyCameraSchema = object({
|
|
18995
|
+
stableId: string(),
|
|
18996
|
+
nodeId: string(),
|
|
18997
|
+
profileId: string(),
|
|
18998
|
+
profileLabel: string(),
|
|
18999
|
+
name: string(),
|
|
19000
|
+
/** Only legacy monitor cameras can retain their historic stable identity. */
|
|
19001
|
+
adoptable: boolean()
|
|
19002
|
+
});
|
|
19003
|
+
var TerminalOutputEventSchema = discriminatedUnion("kind", [object({
|
|
19004
|
+
seq: number().int().positive(),
|
|
19005
|
+
kind: literal("data"),
|
|
19006
|
+
data: string()
|
|
19007
|
+
}), object({
|
|
19008
|
+
seq: number().int().positive(),
|
|
19009
|
+
kind: literal("exit"),
|
|
19010
|
+
exitCode: number().int(),
|
|
19011
|
+
signal: number().int().optional()
|
|
19012
|
+
})]);
|
|
19013
|
+
var TerminalOutputBatchSchema = object({
|
|
19014
|
+
cursor: number().int().nonnegative(),
|
|
19015
|
+
reset: boolean(),
|
|
19016
|
+
snapshot: string().optional(),
|
|
19017
|
+
events: array(TerminalOutputEventSchema).readonly()
|
|
19018
|
+
});
|
|
19019
|
+
method(_void(), array(TerminalProfileInfoSchema).readonly(), { auth: "admin" }), method(_void(), array(TerminalInstanceInfoSchema).readonly(), { auth: "admin" }), method(object({
|
|
19020
|
+
targetNodeId: string().min(1),
|
|
19021
|
+
profileId: string().min(1),
|
|
19022
|
+
name: string().trim().min(1).max(160).optional()
|
|
19023
|
+
}), TerminalInstanceInfoSchema, {
|
|
19024
|
+
kind: "mutation",
|
|
19025
|
+
auth: "admin"
|
|
19026
|
+
}), method(object({ instanceId: string().min(1) }), _void(), {
|
|
19027
|
+
kind: "mutation",
|
|
19028
|
+
auth: "admin"
|
|
19029
|
+
}), method(object({
|
|
19030
|
+
instanceId: string().min(1),
|
|
19031
|
+
enabled: boolean()
|
|
19032
|
+
}), TerminalInstanceInfoSchema, {
|
|
19033
|
+
kind: "mutation",
|
|
19034
|
+
auth: "admin"
|
|
19035
|
+
}), method(_void(), array(TerminalLegacyCameraSchema).readonly(), { auth: "admin" }), method(object({
|
|
19036
|
+
stableId: string().min(1),
|
|
19037
|
+
name: string().trim().min(1).max(160).optional()
|
|
19038
|
+
}), TerminalInstanceInfoSchema, {
|
|
19039
|
+
kind: "mutation",
|
|
19040
|
+
auth: "admin"
|
|
19041
|
+
}), method(_void(), array(TerminalSessionInfoSchema).readonly(), { auth: "admin" }), method(object({
|
|
18883
19042
|
profileId: string(),
|
|
18884
19043
|
cols: number().int().positive(),
|
|
18885
19044
|
rows: number().int().positive()
|
|
@@ -18893,6 +19052,26 @@ method(_void(), array(TerminalProfileInfoSchema).readonly(), { auth: "admin" }),
|
|
|
18893
19052
|
}), _void(), {
|
|
18894
19053
|
kind: "mutation",
|
|
18895
19054
|
auth: "admin"
|
|
19055
|
+
}), method(object({
|
|
19056
|
+
sessionId: string(),
|
|
19057
|
+
afterSeq: number().int().nonnegative(),
|
|
19058
|
+
waitMs: number().int().min(0).max(2e3).default(0),
|
|
19059
|
+
/**
|
|
19060
|
+
* Wait when a just-opened session has no output yet. Kept opt-in so a
|
|
19061
|
+
* browser's initial repaint remains immediate; the camera snapshot
|
|
19062
|
+
* relay uses it to avoid encoding a blank startup frame.
|
|
19063
|
+
*/
|
|
19064
|
+
waitForOutput: boolean().optional()
|
|
19065
|
+
}), TerminalOutputBatchSchema, {
|
|
19066
|
+
kind: "mutation",
|
|
19067
|
+
auth: "admin",
|
|
19068
|
+
timeoutMs: 15e3
|
|
19069
|
+
}), method(object({
|
|
19070
|
+
sessionId: string(),
|
|
19071
|
+
data: string().max(64 * 1024)
|
|
19072
|
+
}), _void(), {
|
|
19073
|
+
kind: "mutation",
|
|
19074
|
+
auth: "admin"
|
|
18896
19075
|
}), method(object({ sessionId: string() }), _void(), {
|
|
18897
19076
|
kind: "mutation",
|
|
18898
19077
|
auth: "admin"
|
|
@@ -21380,6 +21559,7 @@ var FaceInfoSchema = object({
|
|
|
21380
21559
|
var FaceFilterEnum = _enum([
|
|
21381
21560
|
"unassigned",
|
|
21382
21561
|
"recognized",
|
|
21562
|
+
"identified",
|
|
21383
21563
|
"all"
|
|
21384
21564
|
]);
|
|
21385
21565
|
var MediaFileLiteSchema$1 = object({
|
|
@@ -21408,6 +21588,8 @@ method(_void(), array(IdentitySchema).readonly()), method(object({ name: string(
|
|
|
21408
21588
|
kind: "mutation",
|
|
21409
21589
|
auth: "admin"
|
|
21410
21590
|
}), method(object({
|
|
21591
|
+
/** Restrict to one camera. Absent keeps the cluster-wide gallery view. */
|
|
21592
|
+
deviceId: number().int().optional(),
|
|
21411
21593
|
limit: number().int().positive().optional(),
|
|
21412
21594
|
filter: FaceFilterEnum.optional(),
|
|
21413
21595
|
/**
|
|
@@ -23688,6 +23870,10 @@ var OsdSourceSchema = discriminatedUnion("kind", [
|
|
|
23688
23870
|
capName: string().min(1).max(64),
|
|
23689
23871
|
/** Dot path inside the slice, e.g. `detected`, `value`, `mode`. */
|
|
23690
23872
|
valuePath: string().min(1).max(64)
|
|
23873
|
+
}),
|
|
23874
|
+
object({
|
|
23875
|
+
kind: literal("latest-recognition"),
|
|
23876
|
+
recognition: _enum(["person", "plate"])
|
|
23691
23877
|
})
|
|
23692
23878
|
]);
|
|
23693
23879
|
var OsdSlotBindingSchema = object({
|
|
@@ -23793,6 +23979,15 @@ method(object({ deviceId: number().int() }), object({
|
|
|
23793
23979
|
}), object({ success: literal(true) }), {
|
|
23794
23980
|
kind: "mutation",
|
|
23795
23981
|
auth: "admin"
|
|
23982
|
+
}), method(object({
|
|
23983
|
+
sourceDeviceId: number().int(),
|
|
23984
|
+
targetDeviceId: number().int()
|
|
23985
|
+
}), object({
|
|
23986
|
+
copied: number().int().nonnegative(),
|
|
23987
|
+
skipped: number().int().nonnegative()
|
|
23988
|
+
}), {
|
|
23989
|
+
kind: "mutation",
|
|
23990
|
+
auth: "admin"
|
|
23796
23991
|
}), method(object({
|
|
23797
23992
|
deviceId: number().int(),
|
|
23798
23993
|
slotId: string().min(1),
|
|
@@ -24977,13 +25172,19 @@ method(object({
|
|
|
24977
25172
|
}), {
|
|
24978
25173
|
kind: "mutation",
|
|
24979
25174
|
auth: "admin"
|
|
24980
|
-
}), method(
|
|
25175
|
+
}), method(StorageMigrationLeaseInputSchema, object({ paused: literal(true) }), {
|
|
24981
25176
|
kind: "mutation",
|
|
24982
25177
|
auth: "admin"
|
|
24983
|
-
}), method(object({
|
|
24984
|
-
kind: "
|
|
25178
|
+
}), method(StorageMigrationLeaseInputSchema, object({ resumed: literal(true) }), {
|
|
25179
|
+
kind: "mutation",
|
|
24985
25180
|
auth: "admin"
|
|
24986
|
-
}), method(
|
|
25181
|
+
}), method(StorageMigrationLeaseInputSchema, object({ refreshed: literal(true) }), {
|
|
25182
|
+
kind: "mutation",
|
|
25183
|
+
auth: "admin"
|
|
25184
|
+
}), method(StorageMigrationFootageMoveInputSchema, object({ jobId: string() }), {
|
|
25185
|
+
kind: "mutation",
|
|
25186
|
+
auth: "admin"
|
|
25187
|
+
}), method(object({ jobId: string() }), RelocateJobSchema.nullable(), { auth: "admin" }), method(object({ jobId: string() }), object({ cancelled: boolean() }), {
|
|
24987
25188
|
kind: "mutation",
|
|
24988
25189
|
auth: "admin"
|
|
24989
25190
|
});
|
|
@@ -30880,6 +31081,12 @@ Object.freeze({
|
|
|
30880
31081
|
addonId: null,
|
|
30881
31082
|
access: "delete"
|
|
30882
31083
|
},
|
|
31084
|
+
"osdManager.copyDeviceConfiguration": {
|
|
31085
|
+
capName: "osd-manager",
|
|
31086
|
+
capScope: "system",
|
|
31087
|
+
addonId: null,
|
|
31088
|
+
access: "create"
|
|
31089
|
+
},
|
|
30883
31090
|
"osdManager.getConditionSupport": {
|
|
30884
31091
|
capName: "osd-manager",
|
|
30885
31092
|
capScope: "system",
|
|
@@ -30976,7 +31183,7 @@ Object.freeze({
|
|
|
30976
31183
|
addonId: null,
|
|
30977
31184
|
access: "create"
|
|
30978
31185
|
},
|
|
30979
|
-
"pipelineAnalytics.
|
|
31186
|
+
"pipelineAnalytics.cancelStorageMigrationMove": {
|
|
30980
31187
|
capName: "pipeline-analytics",
|
|
30981
31188
|
capScope: "device",
|
|
30982
31189
|
addonId: null,
|
|
@@ -31048,12 +31255,6 @@ Object.freeze({
|
|
|
31048
31255
|
addonId: null,
|
|
31049
31256
|
access: "view"
|
|
31050
31257
|
},
|
|
31051
|
-
"pipelineAnalytics.getMediaRelocateStatus": {
|
|
31052
|
-
capName: "pipeline-analytics",
|
|
31053
|
-
capScope: "device",
|
|
31054
|
-
addonId: null,
|
|
31055
|
-
access: "view"
|
|
31056
|
-
},
|
|
31057
31258
|
"pipelineAnalytics.getMotionEvents": {
|
|
31058
31259
|
capName: "pipeline-analytics",
|
|
31059
31260
|
capScope: "device",
|
|
@@ -31090,6 +31291,12 @@ Object.freeze({
|
|
|
31090
31291
|
addonId: null,
|
|
31091
31292
|
access: "view"
|
|
31092
31293
|
},
|
|
31294
|
+
"pipelineAnalytics.getStorageMigrationMoveStatus": {
|
|
31295
|
+
capName: "pipeline-analytics",
|
|
31296
|
+
capScope: "device",
|
|
31297
|
+
addonId: null,
|
|
31298
|
+
access: "view"
|
|
31299
|
+
},
|
|
31093
31300
|
"pipelineAnalytics.getTrack": {
|
|
31094
31301
|
capName: "pipeline-analytics",
|
|
31095
31302
|
capScope: "device",
|
|
@@ -31168,6 +31375,12 @@ Object.freeze({
|
|
|
31168
31375
|
addonId: null,
|
|
31169
31376
|
access: "view"
|
|
31170
31377
|
},
|
|
31378
|
+
"pipelineAnalytics.pauseForStorageMigration": {
|
|
31379
|
+
capName: "pipeline-analytics",
|
|
31380
|
+
capScope: "device",
|
|
31381
|
+
addonId: null,
|
|
31382
|
+
access: "create"
|
|
31383
|
+
},
|
|
31171
31384
|
"pipelineAnalytics.proposeRetrainAnnotations": {
|
|
31172
31385
|
capName: "pipeline-analytics",
|
|
31173
31386
|
capScope: "device",
|
|
@@ -31198,7 +31411,7 @@ Object.freeze({
|
|
|
31198
31411
|
addonId: null,
|
|
31199
31412
|
access: "create"
|
|
31200
31413
|
},
|
|
31201
|
-
"pipelineAnalytics.
|
|
31414
|
+
"pipelineAnalytics.refreshStorageLocationsForMigration": {
|
|
31202
31415
|
capName: "pipeline-analytics",
|
|
31203
31416
|
capScope: "device",
|
|
31204
31417
|
addonId: null,
|
|
@@ -31210,6 +31423,12 @@ Object.freeze({
|
|
|
31210
31423
|
addonId: null,
|
|
31211
31424
|
access: "create"
|
|
31212
31425
|
},
|
|
31426
|
+
"pipelineAnalytics.resumeForStorageMigration": {
|
|
31427
|
+
capName: "pipeline-analytics",
|
|
31428
|
+
capScope: "device",
|
|
31429
|
+
addonId: null,
|
|
31430
|
+
access: "create"
|
|
31431
|
+
},
|
|
31213
31432
|
"pipelineAnalytics.saveRetrainAnnotations": {
|
|
31214
31433
|
capName: "pipeline-analytics",
|
|
31215
31434
|
capScope: "device",
|
|
@@ -31234,6 +31453,12 @@ Object.freeze({
|
|
|
31234
31453
|
addonId: null,
|
|
31235
31454
|
access: "create"
|
|
31236
31455
|
},
|
|
31456
|
+
"pipelineAnalytics.startStorageMigrationMove": {
|
|
31457
|
+
capName: "pipeline-analytics",
|
|
31458
|
+
capScope: "device",
|
|
31459
|
+
addonId: null,
|
|
31460
|
+
access: "create"
|
|
31461
|
+
},
|
|
31237
31462
|
"pipelineAnalytics.wipeAllAnalytics": {
|
|
31238
31463
|
capName: "pipeline-analytics",
|
|
31239
31464
|
capScope: "device",
|
|
@@ -31600,6 +31825,12 @@ Object.freeze({
|
|
|
31600
31825
|
addonId: null,
|
|
31601
31826
|
access: "view"
|
|
31602
31827
|
},
|
|
31828
|
+
"pipelineOrchestrator.pauseForStorageMigration": {
|
|
31829
|
+
capName: "pipeline-orchestrator",
|
|
31830
|
+
capScope: "system",
|
|
31831
|
+
addonId: null,
|
|
31832
|
+
access: "create"
|
|
31833
|
+
},
|
|
31603
31834
|
"pipelineOrchestrator.rebalance": {
|
|
31604
31835
|
capName: "pipeline-orchestrator",
|
|
31605
31836
|
capScope: "system",
|
|
@@ -31624,6 +31855,12 @@ Object.freeze({
|
|
|
31624
31855
|
addonId: null,
|
|
31625
31856
|
access: "view"
|
|
31626
31857
|
},
|
|
31858
|
+
"pipelineOrchestrator.resumeForStorageMigration": {
|
|
31859
|
+
capName: "pipeline-orchestrator",
|
|
31860
|
+
capScope: "system",
|
|
31861
|
+
addonId: null,
|
|
31862
|
+
access: "create"
|
|
31863
|
+
},
|
|
31627
31864
|
"pipelineOrchestrator.saveTemplate": {
|
|
31628
31865
|
capName: "pipeline-orchestrator",
|
|
31629
31866
|
capScope: "system",
|
|
@@ -32020,7 +32257,7 @@ Object.freeze({
|
|
|
32020
32257
|
addonId: null,
|
|
32021
32258
|
access: "create"
|
|
32022
32259
|
},
|
|
32023
|
-
"recording.
|
|
32260
|
+
"recording.cancelStorageMigrationMove": {
|
|
32024
32261
|
capName: "recording",
|
|
32025
32262
|
capScope: "system",
|
|
32026
32263
|
addonId: null,
|
|
@@ -32056,7 +32293,7 @@ Object.freeze({
|
|
|
32056
32293
|
addonId: null,
|
|
32057
32294
|
access: "view"
|
|
32058
32295
|
},
|
|
32059
|
-
"recording.
|
|
32296
|
+
"recording.getStorageMigrationMoveStatus": {
|
|
32060
32297
|
capName: "recording",
|
|
32061
32298
|
capScope: "system",
|
|
32062
32299
|
addonId: null,
|
|
@@ -32080,6 +32317,12 @@ Object.freeze({
|
|
|
32080
32317
|
addonId: null,
|
|
32081
32318
|
access: "view"
|
|
32082
32319
|
},
|
|
32320
|
+
"recording.pauseForStorageMigration": {
|
|
32321
|
+
capName: "recording",
|
|
32322
|
+
capScope: "system",
|
|
32323
|
+
addonId: null,
|
|
32324
|
+
access: "create"
|
|
32325
|
+
},
|
|
32083
32326
|
"recording.pruneFootage": {
|
|
32084
32327
|
capName: "recording",
|
|
32085
32328
|
capScope: "system",
|
|
@@ -32098,7 +32341,7 @@ Object.freeze({
|
|
|
32098
32341
|
addonId: null,
|
|
32099
32342
|
access: "view"
|
|
32100
32343
|
},
|
|
32101
|
-
"recording.
|
|
32344
|
+
"recording.refreshStorageLocationsForMigration": {
|
|
32102
32345
|
capName: "recording",
|
|
32103
32346
|
capScope: "system",
|
|
32104
32347
|
addonId: null,
|
|
@@ -32122,12 +32365,24 @@ Object.freeze({
|
|
|
32122
32365
|
addonId: null,
|
|
32123
32366
|
access: "create"
|
|
32124
32367
|
},
|
|
32368
|
+
"recording.resumeForStorageMigration": {
|
|
32369
|
+
capName: "recording",
|
|
32370
|
+
capScope: "system",
|
|
32371
|
+
addonId: null,
|
|
32372
|
+
access: "create"
|
|
32373
|
+
},
|
|
32125
32374
|
"recording.setDeviceConfig": {
|
|
32126
32375
|
capName: "recording",
|
|
32127
32376
|
capScope: "system",
|
|
32128
32377
|
addonId: null,
|
|
32129
32378
|
access: "create"
|
|
32130
32379
|
},
|
|
32380
|
+
"recording.startStorageMigrationMove": {
|
|
32381
|
+
capName: "recording",
|
|
32382
|
+
capScope: "system",
|
|
32383
|
+
addonId: null,
|
|
32384
|
+
access: "create"
|
|
32385
|
+
},
|
|
32131
32386
|
"recordingExport.cancelExport": {
|
|
32132
32387
|
capName: "recordingExport",
|
|
32133
32388
|
capScope: "system",
|
|
@@ -32518,6 +32773,30 @@ Object.freeze({
|
|
|
32518
32773
|
addonId: null,
|
|
32519
32774
|
access: "view"
|
|
32520
32775
|
},
|
|
32776
|
+
"storageMigration.cancel": {
|
|
32777
|
+
capName: "storage-migration",
|
|
32778
|
+
capScope: "system",
|
|
32779
|
+
addonId: null,
|
|
32780
|
+
access: "create"
|
|
32781
|
+
},
|
|
32782
|
+
"storageMigration.plan": {
|
|
32783
|
+
capName: "storage-migration",
|
|
32784
|
+
capScope: "system",
|
|
32785
|
+
addonId: null,
|
|
32786
|
+
access: "view"
|
|
32787
|
+
},
|
|
32788
|
+
"storageMigration.start": {
|
|
32789
|
+
capName: "storage-migration",
|
|
32790
|
+
capScope: "system",
|
|
32791
|
+
addonId: null,
|
|
32792
|
+
access: "create"
|
|
32793
|
+
},
|
|
32794
|
+
"storageMigration.status": {
|
|
32795
|
+
capName: "storage-migration",
|
|
32796
|
+
capScope: "system",
|
|
32797
|
+
addonId: null,
|
|
32798
|
+
access: "view"
|
|
32799
|
+
},
|
|
32521
32800
|
"storageProvider.abortUpload": {
|
|
32522
32801
|
capName: "storage-provider",
|
|
32523
32802
|
capScope: "system",
|
|
@@ -32896,12 +33175,42 @@ Object.freeze({
|
|
|
32896
33175
|
addonId: null,
|
|
32897
33176
|
access: "create"
|
|
32898
33177
|
},
|
|
33178
|
+
"terminalSession.adoptLegacyMonitor": {
|
|
33179
|
+
capName: "terminal-session",
|
|
33180
|
+
capScope: "system",
|
|
33181
|
+
addonId: null,
|
|
33182
|
+
access: "create"
|
|
33183
|
+
},
|
|
32899
33184
|
"terminalSession.close": {
|
|
32900
33185
|
capName: "terminal-session",
|
|
32901
33186
|
capScope: "system",
|
|
32902
33187
|
addonId: null,
|
|
32903
33188
|
access: "create"
|
|
32904
33189
|
},
|
|
33190
|
+
"terminalSession.createInstance": {
|
|
33191
|
+
capName: "terminal-session",
|
|
33192
|
+
capScope: "system",
|
|
33193
|
+
addonId: null,
|
|
33194
|
+
access: "create"
|
|
33195
|
+
},
|
|
33196
|
+
"terminalSession.deleteInstance": {
|
|
33197
|
+
capName: "terminal-session",
|
|
33198
|
+
capScope: "system",
|
|
33199
|
+
addonId: null,
|
|
33200
|
+
access: "delete"
|
|
33201
|
+
},
|
|
33202
|
+
"terminalSession.listInstances": {
|
|
33203
|
+
capName: "terminal-session",
|
|
33204
|
+
capScope: "system",
|
|
33205
|
+
addonId: null,
|
|
33206
|
+
access: "view"
|
|
33207
|
+
},
|
|
33208
|
+
"terminalSession.listLegacyCameras": {
|
|
33209
|
+
capName: "terminal-session",
|
|
33210
|
+
capScope: "system",
|
|
33211
|
+
addonId: null,
|
|
33212
|
+
access: "view"
|
|
33213
|
+
},
|
|
32905
33214
|
"terminalSession.listProfiles": {
|
|
32906
33215
|
capName: "terminal-session",
|
|
32907
33216
|
capScope: "system",
|
|
@@ -32920,12 +33229,30 @@ Object.freeze({
|
|
|
32920
33229
|
addonId: null,
|
|
32921
33230
|
access: "create"
|
|
32922
33231
|
},
|
|
33232
|
+
"terminalSession.pullOutput": {
|
|
33233
|
+
capName: "terminal-session",
|
|
33234
|
+
capScope: "system",
|
|
33235
|
+
addonId: null,
|
|
33236
|
+
access: "create"
|
|
33237
|
+
},
|
|
32923
33238
|
"terminalSession.resize": {
|
|
32924
33239
|
capName: "terminal-session",
|
|
32925
33240
|
capScope: "system",
|
|
32926
33241
|
addonId: null,
|
|
32927
33242
|
access: "create"
|
|
32928
33243
|
},
|
|
33244
|
+
"terminalSession.setInstanceEnabled": {
|
|
33245
|
+
capName: "terminal-session",
|
|
33246
|
+
capScope: "system",
|
|
33247
|
+
addonId: null,
|
|
33248
|
+
access: "create"
|
|
33249
|
+
},
|
|
33250
|
+
"terminalSession.writeInput": {
|
|
33251
|
+
capName: "terminal-session",
|
|
33252
|
+
capScope: "system",
|
|
33253
|
+
addonId: null,
|
|
33254
|
+
access: "create"
|
|
33255
|
+
},
|
|
32929
33256
|
"toast.onToast": {
|
|
32930
33257
|
capName: "toast",
|
|
32931
33258
|
capScope: "system",
|
package/dist/addon.mjs
CHANGED
|
@@ -7585,12 +7585,11 @@ var RecordingConfigSchema = object({
|
|
|
7585
7585
|
/**
|
|
7586
7586
|
* Entity-relocation job state (storage entity-routing spec, Phase 4).
|
|
7587
7587
|
*
|
|
7588
|
-
* One shape shared by the recorder
|
|
7589
|
-
*
|
|
7590
|
-
*
|
|
7591
|
-
*
|
|
7592
|
-
*
|
|
7593
|
-
* row on the owning addon's surface.
|
|
7588
|
+
* One shape shared by the recorder and pipeline-analytics internal movers.
|
|
7589
|
+
* The public admin surface is `storage-migration`; child jobs remain in RAM
|
|
7590
|
+
* because copy-if-absent, verify, delete and index/row repoint are resumable.
|
|
7591
|
+
* Each completed/failed run also lands one durable ops-log row on its owning
|
|
7592
|
+
* addon surface.
|
|
7594
7593
|
*/
|
|
7595
7594
|
var RelocateJobStateSchema = _enum([
|
|
7596
7595
|
"running",
|
|
@@ -7617,19 +7616,100 @@ var RelocateJobSchema = object({
|
|
|
7617
7616
|
finishedAt: number().nullable(),
|
|
7618
7617
|
error: string().nullable()
|
|
7619
7618
|
});
|
|
7619
|
+
/** Profile-derived footage selection used only by the migration coordinator:
|
|
7620
|
+
* `recordings` owns high+mid; `recordingsLow` owns low. */
|
|
7621
|
+
var RelocateFootageClassSchema = _enum(["recordings", "recordingsLow"]);
|
|
7620
7622
|
var RelocateFootageInputSchema = object({
|
|
7621
|
-
deviceId: number().optional(),
|
|
7622
7623
|
fromLocationId: string(),
|
|
7623
7624
|
toLocationId: string(),
|
|
7624
7625
|
entities: array(_enum(["segments"])).optional(),
|
|
7626
|
+
/** Limits relocation to the logical profile class. Omit only for the
|
|
7627
|
+
* pre-orchestration compatibility path. */
|
|
7628
|
+
footageClass: RelocateFootageClassSchema.optional(),
|
|
7625
7629
|
/** Copy throttle in MB/s (default 40) — the drain is a background chore,
|
|
7626
7630
|
* never allowed to starve live writers. */
|
|
7627
7631
|
throttleMbps: number().min(1).max(1e3).optional()
|
|
7628
7632
|
});
|
|
7629
|
-
|
|
7630
|
-
|
|
7633
|
+
/** Internal, lease-scoped participant operation. It is intentionally separate
|
|
7634
|
+
* from persistent recording settings: a migration never changes
|
|
7635
|
+
* `RecordingConfig.enabled` or camera wrapper bindings. */
|
|
7636
|
+
var StorageMigrationLeaseInputSchema = object({ leaseId: string().min(1) });
|
|
7637
|
+
var StorageMigrationFootageMoveInputSchema = RelocateFootageInputSchema.extend({ leaseId: string().min(1) });
|
|
7638
|
+
var StorageMigrationMediaMoveInputSchema = object({
|
|
7631
7639
|
toLocationId: string(),
|
|
7632
7640
|
throttleMbps: number().min(1).max(1e3).optional()
|
|
7641
|
+
}).extend({ leaseId: string().min(1) });
|
|
7642
|
+
/** The independently selectable logical storage classes. `recordings`
|
|
7643
|
+
* encompasses the high and mid segment profiles; `recordingsLow` is low
|
|
7644
|
+
* segments; `eventMedia` is post-analysis blobs. */
|
|
7645
|
+
var StorageMigrationClassSchema = _enum([
|
|
7646
|
+
"recordings",
|
|
7647
|
+
"recordingsLow",
|
|
7648
|
+
"eventMedia"
|
|
7649
|
+
]);
|
|
7650
|
+
/** A destination is always an existing, fully-qualified location id. The
|
|
7651
|
+
* migration API intentionally never changes a source location's `basePath`:
|
|
7652
|
+
* callers create a new `<type>:<slug>` location, then select it here. */
|
|
7653
|
+
var StorageMigrationDestinationsSchema = object({
|
|
7654
|
+
recordings: string().min(1).optional(),
|
|
7655
|
+
recordingsLow: string().min(1).optional(),
|
|
7656
|
+
eventMedia: string().min(1).optional()
|
|
7657
|
+
}).refine((value) => Object.keys(value).length > 0, { message: "select at least one storage class" });
|
|
7658
|
+
/** Shared input for planning and starting an orchestrated storage migration. */
|
|
7659
|
+
var StorageMigrationInputSchema = object({
|
|
7660
|
+
destinations: StorageMigrationDestinationsSchema,
|
|
7661
|
+
throttleMbps: number().min(1).max(1e3).optional()
|
|
7662
|
+
});
|
|
7663
|
+
/** The durable coordinator state machine. The only phase that changes default
|
|
7664
|
+
* locations is `repointing`, after every selected mover has completed and been
|
|
7665
|
+
* verified. */
|
|
7666
|
+
var StorageMigrationPhaseSchema = _enum([
|
|
7667
|
+
"planning",
|
|
7668
|
+
"pausing",
|
|
7669
|
+
"moving",
|
|
7670
|
+
"verifying",
|
|
7671
|
+
"repointing",
|
|
7672
|
+
"refreshing",
|
|
7673
|
+
"resuming",
|
|
7674
|
+
"done",
|
|
7675
|
+
"failed",
|
|
7676
|
+
"cancelled"
|
|
7677
|
+
]);
|
|
7678
|
+
var StorageMigrationParticipantSchema = _enum([
|
|
7679
|
+
"pipeline",
|
|
7680
|
+
"recorder",
|
|
7681
|
+
"analytics"
|
|
7682
|
+
]);
|
|
7683
|
+
var StorageMigrationMoveSchema = object({
|
|
7684
|
+
storageClass: StorageMigrationClassSchema,
|
|
7685
|
+
fromLocationId: string(),
|
|
7686
|
+
toLocationId: string(),
|
|
7687
|
+
moverJobId: string().nullable(),
|
|
7688
|
+
state: RelocateJobStateSchema.nullable(),
|
|
7689
|
+
error: string().nullable()
|
|
7690
|
+
});
|
|
7691
|
+
var StorageMigrationJobSchema = object({
|
|
7692
|
+
jobId: string(),
|
|
7693
|
+
phase: StorageMigrationPhaseSchema,
|
|
7694
|
+
destinations: StorageMigrationDestinationsSchema,
|
|
7695
|
+
throttleMbps: number(),
|
|
7696
|
+
moves: array(StorageMigrationMoveSchema),
|
|
7697
|
+
pauseLeaseId: string().nullable(),
|
|
7698
|
+
pausedParticipants: array(StorageMigrationParticipantSchema),
|
|
7699
|
+
repointed: boolean(),
|
|
7700
|
+
cancelRequested: boolean(),
|
|
7701
|
+
startedAt: number(),
|
|
7702
|
+
updatedAt: number(),
|
|
7703
|
+
finishedAt: number().nullable(),
|
|
7704
|
+
error: string().nullable()
|
|
7705
|
+
});
|
|
7706
|
+
var StorageMigrationPlanSchema = object({
|
|
7707
|
+
destinations: StorageMigrationDestinationsSchema,
|
|
7708
|
+
moves: array(object({
|
|
7709
|
+
storageClass: StorageMigrationClassSchema,
|
|
7710
|
+
fromLocationId: string(),
|
|
7711
|
+
toLocationId: string()
|
|
7712
|
+
}))
|
|
7633
7713
|
});
|
|
7634
7714
|
/**
|
|
7635
7715
|
* `StorageLocationType` — an addon-declared id that identifies the *kind* of
|
|
@@ -16470,13 +16550,19 @@ DeviceType.Camera, method(object({ deviceId: number() }), array(TrackSchema).rea
|
|
|
16470
16550
|
}), method(object({ deviceId: number() }), EventPruneCountsSchema, {
|
|
16471
16551
|
kind: "mutation",
|
|
16472
16552
|
auth: "admin"
|
|
16473
|
-
}), method(
|
|
16553
|
+
}), method(StorageMigrationLeaseInputSchema, object({ paused: literal(true) }), {
|
|
16474
16554
|
kind: "mutation",
|
|
16475
16555
|
auth: "admin"
|
|
16476
|
-
}), method(object({
|
|
16477
|
-
kind: "
|
|
16556
|
+
}), method(StorageMigrationLeaseInputSchema, object({ resumed: literal(true) }), {
|
|
16557
|
+
kind: "mutation",
|
|
16478
16558
|
auth: "admin"
|
|
16479
|
-
}), method(
|
|
16559
|
+
}), method(StorageMigrationLeaseInputSchema, object({ refreshed: literal(true) }), {
|
|
16560
|
+
kind: "mutation",
|
|
16561
|
+
auth: "admin"
|
|
16562
|
+
}), method(StorageMigrationMediaMoveInputSchema, object({ jobId: string() }), {
|
|
16563
|
+
kind: "mutation",
|
|
16564
|
+
auth: "admin"
|
|
16565
|
+
}), method(object({ jobId: string() }), RelocateJobSchema.nullable(), { auth: "admin" }), method(object({ jobId: string() }), object({ cancelled: boolean() }), {
|
|
16480
16566
|
kind: "mutation",
|
|
16481
16567
|
auth: "admin"
|
|
16482
16568
|
}), method(OpsLogQueryInputSchema, array(OpsLogEntrySchema).readonly(), {
|
|
@@ -18006,7 +18092,13 @@ var NodeInferenceDevicesSchema = object({
|
|
|
18006
18092
|
reachable: boolean(),
|
|
18007
18093
|
devices: array(NodeInferenceDeviceSchema).readonly()
|
|
18008
18094
|
});
|
|
18009
|
-
method(object({
|
|
18095
|
+
method(StorageMigrationLeaseInputSchema, object({ paused: literal(true) }), {
|
|
18096
|
+
kind: "mutation",
|
|
18097
|
+
auth: "admin"
|
|
18098
|
+
}), method(StorageMigrationLeaseInputSchema, object({ resumed: literal(true) }), {
|
|
18099
|
+
kind: "mutation",
|
|
18100
|
+
auth: "admin"
|
|
18101
|
+
}), method(object({
|
|
18010
18102
|
deviceId: number(),
|
|
18011
18103
|
agentNodeId: string()
|
|
18012
18104
|
}), object({ success: literal(true) }), {
|
|
@@ -18771,6 +18863,13 @@ method(object({ locationId: string() }), EvictableUsageSchema), method(object({
|
|
|
18771
18863
|
locationId: string(),
|
|
18772
18864
|
targetBytes: number().int().positive()
|
|
18773
18865
|
}), EvictResultSchema, { kind: "mutation" });
|
|
18866
|
+
method(StorageMigrationInputSchema, StorageMigrationPlanSchema, { auth: "admin" }), method(StorageMigrationInputSchema, object({ jobId: string() }), {
|
|
18867
|
+
kind: "mutation",
|
|
18868
|
+
auth: "admin"
|
|
18869
|
+
}), method(object({ jobId: string().optional() }), StorageMigrationJobSchema.nullable(), { auth: "admin" }), method(object({ jobId: string() }), object({ cancelled: boolean() }), {
|
|
18870
|
+
kind: "mutation",
|
|
18871
|
+
auth: "admin"
|
|
18872
|
+
});
|
|
18774
18873
|
var ProviderInfoSchema = discriminatedUnion("shouldSaveDiskSpace", [object({
|
|
18775
18874
|
providerId: string().min(1),
|
|
18776
18875
|
displayName: string().min(1),
|
|
@@ -18874,7 +18973,67 @@ var TerminalProfileInfoSchema = object({
|
|
|
18874
18973
|
label: string(),
|
|
18875
18974
|
description: string().optional()
|
|
18876
18975
|
});
|
|
18877
|
-
|
|
18976
|
+
/**
|
|
18977
|
+
* A durable operator-created Terminal instance. Profiles are templates; only
|
|
18978
|
+
* an instance declares a camera.
|
|
18979
|
+
*/
|
|
18980
|
+
var TerminalInstanceInfoSchema = object({
|
|
18981
|
+
instanceId: string(),
|
|
18982
|
+
cameraStableId: string(),
|
|
18983
|
+
nodeId: string(),
|
|
18984
|
+
profileId: string(),
|
|
18985
|
+
profileLabel: string(),
|
|
18986
|
+
name: string(),
|
|
18987
|
+
enabled: boolean()
|
|
18988
|
+
});
|
|
18989
|
+
var TerminalLegacyCameraSchema = object({
|
|
18990
|
+
stableId: string(),
|
|
18991
|
+
nodeId: string(),
|
|
18992
|
+
profileId: string(),
|
|
18993
|
+
profileLabel: string(),
|
|
18994
|
+
name: string(),
|
|
18995
|
+
/** Only legacy monitor cameras can retain their historic stable identity. */
|
|
18996
|
+
adoptable: boolean()
|
|
18997
|
+
});
|
|
18998
|
+
var TerminalOutputEventSchema = discriminatedUnion("kind", [object({
|
|
18999
|
+
seq: number().int().positive(),
|
|
19000
|
+
kind: literal("data"),
|
|
19001
|
+
data: string()
|
|
19002
|
+
}), object({
|
|
19003
|
+
seq: number().int().positive(),
|
|
19004
|
+
kind: literal("exit"),
|
|
19005
|
+
exitCode: number().int(),
|
|
19006
|
+
signal: number().int().optional()
|
|
19007
|
+
})]);
|
|
19008
|
+
var TerminalOutputBatchSchema = object({
|
|
19009
|
+
cursor: number().int().nonnegative(),
|
|
19010
|
+
reset: boolean(),
|
|
19011
|
+
snapshot: string().optional(),
|
|
19012
|
+
events: array(TerminalOutputEventSchema).readonly()
|
|
19013
|
+
});
|
|
19014
|
+
method(_void(), array(TerminalProfileInfoSchema).readonly(), { auth: "admin" }), method(_void(), array(TerminalInstanceInfoSchema).readonly(), { auth: "admin" }), method(object({
|
|
19015
|
+
targetNodeId: string().min(1),
|
|
19016
|
+
profileId: string().min(1),
|
|
19017
|
+
name: string().trim().min(1).max(160).optional()
|
|
19018
|
+
}), TerminalInstanceInfoSchema, {
|
|
19019
|
+
kind: "mutation",
|
|
19020
|
+
auth: "admin"
|
|
19021
|
+
}), method(object({ instanceId: string().min(1) }), _void(), {
|
|
19022
|
+
kind: "mutation",
|
|
19023
|
+
auth: "admin"
|
|
19024
|
+
}), method(object({
|
|
19025
|
+
instanceId: string().min(1),
|
|
19026
|
+
enabled: boolean()
|
|
19027
|
+
}), TerminalInstanceInfoSchema, {
|
|
19028
|
+
kind: "mutation",
|
|
19029
|
+
auth: "admin"
|
|
19030
|
+
}), method(_void(), array(TerminalLegacyCameraSchema).readonly(), { auth: "admin" }), method(object({
|
|
19031
|
+
stableId: string().min(1),
|
|
19032
|
+
name: string().trim().min(1).max(160).optional()
|
|
19033
|
+
}), TerminalInstanceInfoSchema, {
|
|
19034
|
+
kind: "mutation",
|
|
19035
|
+
auth: "admin"
|
|
19036
|
+
}), method(_void(), array(TerminalSessionInfoSchema).readonly(), { auth: "admin" }), method(object({
|
|
18878
19037
|
profileId: string(),
|
|
18879
19038
|
cols: number().int().positive(),
|
|
18880
19039
|
rows: number().int().positive()
|
|
@@ -18888,6 +19047,26 @@ method(_void(), array(TerminalProfileInfoSchema).readonly(), { auth: "admin" }),
|
|
|
18888
19047
|
}), _void(), {
|
|
18889
19048
|
kind: "mutation",
|
|
18890
19049
|
auth: "admin"
|
|
19050
|
+
}), method(object({
|
|
19051
|
+
sessionId: string(),
|
|
19052
|
+
afterSeq: number().int().nonnegative(),
|
|
19053
|
+
waitMs: number().int().min(0).max(2e3).default(0),
|
|
19054
|
+
/**
|
|
19055
|
+
* Wait when a just-opened session has no output yet. Kept opt-in so a
|
|
19056
|
+
* browser's initial repaint remains immediate; the camera snapshot
|
|
19057
|
+
* relay uses it to avoid encoding a blank startup frame.
|
|
19058
|
+
*/
|
|
19059
|
+
waitForOutput: boolean().optional()
|
|
19060
|
+
}), TerminalOutputBatchSchema, {
|
|
19061
|
+
kind: "mutation",
|
|
19062
|
+
auth: "admin",
|
|
19063
|
+
timeoutMs: 15e3
|
|
19064
|
+
}), method(object({
|
|
19065
|
+
sessionId: string(),
|
|
19066
|
+
data: string().max(64 * 1024)
|
|
19067
|
+
}), _void(), {
|
|
19068
|
+
kind: "mutation",
|
|
19069
|
+
auth: "admin"
|
|
18891
19070
|
}), method(object({ sessionId: string() }), _void(), {
|
|
18892
19071
|
kind: "mutation",
|
|
18893
19072
|
auth: "admin"
|
|
@@ -21375,6 +21554,7 @@ var FaceInfoSchema = object({
|
|
|
21375
21554
|
var FaceFilterEnum = _enum([
|
|
21376
21555
|
"unassigned",
|
|
21377
21556
|
"recognized",
|
|
21557
|
+
"identified",
|
|
21378
21558
|
"all"
|
|
21379
21559
|
]);
|
|
21380
21560
|
var MediaFileLiteSchema$1 = object({
|
|
@@ -21403,6 +21583,8 @@ method(_void(), array(IdentitySchema).readonly()), method(object({ name: string(
|
|
|
21403
21583
|
kind: "mutation",
|
|
21404
21584
|
auth: "admin"
|
|
21405
21585
|
}), method(object({
|
|
21586
|
+
/** Restrict to one camera. Absent keeps the cluster-wide gallery view. */
|
|
21587
|
+
deviceId: number().int().optional(),
|
|
21406
21588
|
limit: number().int().positive().optional(),
|
|
21407
21589
|
filter: FaceFilterEnum.optional(),
|
|
21408
21590
|
/**
|
|
@@ -23683,6 +23865,10 @@ var OsdSourceSchema = discriminatedUnion("kind", [
|
|
|
23683
23865
|
capName: string().min(1).max(64),
|
|
23684
23866
|
/** Dot path inside the slice, e.g. `detected`, `value`, `mode`. */
|
|
23685
23867
|
valuePath: string().min(1).max(64)
|
|
23868
|
+
}),
|
|
23869
|
+
object({
|
|
23870
|
+
kind: literal("latest-recognition"),
|
|
23871
|
+
recognition: _enum(["person", "plate"])
|
|
23686
23872
|
})
|
|
23687
23873
|
]);
|
|
23688
23874
|
var OsdSlotBindingSchema = object({
|
|
@@ -23788,6 +23974,15 @@ method(object({ deviceId: number().int() }), object({
|
|
|
23788
23974
|
}), object({ success: literal(true) }), {
|
|
23789
23975
|
kind: "mutation",
|
|
23790
23976
|
auth: "admin"
|
|
23977
|
+
}), method(object({
|
|
23978
|
+
sourceDeviceId: number().int(),
|
|
23979
|
+
targetDeviceId: number().int()
|
|
23980
|
+
}), object({
|
|
23981
|
+
copied: number().int().nonnegative(),
|
|
23982
|
+
skipped: number().int().nonnegative()
|
|
23983
|
+
}), {
|
|
23984
|
+
kind: "mutation",
|
|
23985
|
+
auth: "admin"
|
|
23791
23986
|
}), method(object({
|
|
23792
23987
|
deviceId: number().int(),
|
|
23793
23988
|
slotId: string().min(1),
|
|
@@ -24972,13 +25167,19 @@ method(object({
|
|
|
24972
25167
|
}), {
|
|
24973
25168
|
kind: "mutation",
|
|
24974
25169
|
auth: "admin"
|
|
24975
|
-
}), method(
|
|
25170
|
+
}), method(StorageMigrationLeaseInputSchema, object({ paused: literal(true) }), {
|
|
24976
25171
|
kind: "mutation",
|
|
24977
25172
|
auth: "admin"
|
|
24978
|
-
}), method(object({
|
|
24979
|
-
kind: "
|
|
25173
|
+
}), method(StorageMigrationLeaseInputSchema, object({ resumed: literal(true) }), {
|
|
25174
|
+
kind: "mutation",
|
|
24980
25175
|
auth: "admin"
|
|
24981
|
-
}), method(
|
|
25176
|
+
}), method(StorageMigrationLeaseInputSchema, object({ refreshed: literal(true) }), {
|
|
25177
|
+
kind: "mutation",
|
|
25178
|
+
auth: "admin"
|
|
25179
|
+
}), method(StorageMigrationFootageMoveInputSchema, object({ jobId: string() }), {
|
|
25180
|
+
kind: "mutation",
|
|
25181
|
+
auth: "admin"
|
|
25182
|
+
}), method(object({ jobId: string() }), RelocateJobSchema.nullable(), { auth: "admin" }), method(object({ jobId: string() }), object({ cancelled: boolean() }), {
|
|
24982
25183
|
kind: "mutation",
|
|
24983
25184
|
auth: "admin"
|
|
24984
25185
|
});
|
|
@@ -30875,6 +31076,12 @@ Object.freeze({
|
|
|
30875
31076
|
addonId: null,
|
|
30876
31077
|
access: "delete"
|
|
30877
31078
|
},
|
|
31079
|
+
"osdManager.copyDeviceConfiguration": {
|
|
31080
|
+
capName: "osd-manager",
|
|
31081
|
+
capScope: "system",
|
|
31082
|
+
addonId: null,
|
|
31083
|
+
access: "create"
|
|
31084
|
+
},
|
|
30878
31085
|
"osdManager.getConditionSupport": {
|
|
30879
31086
|
capName: "osd-manager",
|
|
30880
31087
|
capScope: "system",
|
|
@@ -30971,7 +31178,7 @@ Object.freeze({
|
|
|
30971
31178
|
addonId: null,
|
|
30972
31179
|
access: "create"
|
|
30973
31180
|
},
|
|
30974
|
-
"pipelineAnalytics.
|
|
31181
|
+
"pipelineAnalytics.cancelStorageMigrationMove": {
|
|
30975
31182
|
capName: "pipeline-analytics",
|
|
30976
31183
|
capScope: "device",
|
|
30977
31184
|
addonId: null,
|
|
@@ -31043,12 +31250,6 @@ Object.freeze({
|
|
|
31043
31250
|
addonId: null,
|
|
31044
31251
|
access: "view"
|
|
31045
31252
|
},
|
|
31046
|
-
"pipelineAnalytics.getMediaRelocateStatus": {
|
|
31047
|
-
capName: "pipeline-analytics",
|
|
31048
|
-
capScope: "device",
|
|
31049
|
-
addonId: null,
|
|
31050
|
-
access: "view"
|
|
31051
|
-
},
|
|
31052
31253
|
"pipelineAnalytics.getMotionEvents": {
|
|
31053
31254
|
capName: "pipeline-analytics",
|
|
31054
31255
|
capScope: "device",
|
|
@@ -31085,6 +31286,12 @@ Object.freeze({
|
|
|
31085
31286
|
addonId: null,
|
|
31086
31287
|
access: "view"
|
|
31087
31288
|
},
|
|
31289
|
+
"pipelineAnalytics.getStorageMigrationMoveStatus": {
|
|
31290
|
+
capName: "pipeline-analytics",
|
|
31291
|
+
capScope: "device",
|
|
31292
|
+
addonId: null,
|
|
31293
|
+
access: "view"
|
|
31294
|
+
},
|
|
31088
31295
|
"pipelineAnalytics.getTrack": {
|
|
31089
31296
|
capName: "pipeline-analytics",
|
|
31090
31297
|
capScope: "device",
|
|
@@ -31163,6 +31370,12 @@ Object.freeze({
|
|
|
31163
31370
|
addonId: null,
|
|
31164
31371
|
access: "view"
|
|
31165
31372
|
},
|
|
31373
|
+
"pipelineAnalytics.pauseForStorageMigration": {
|
|
31374
|
+
capName: "pipeline-analytics",
|
|
31375
|
+
capScope: "device",
|
|
31376
|
+
addonId: null,
|
|
31377
|
+
access: "create"
|
|
31378
|
+
},
|
|
31166
31379
|
"pipelineAnalytics.proposeRetrainAnnotations": {
|
|
31167
31380
|
capName: "pipeline-analytics",
|
|
31168
31381
|
capScope: "device",
|
|
@@ -31193,7 +31406,7 @@ Object.freeze({
|
|
|
31193
31406
|
addonId: null,
|
|
31194
31407
|
access: "create"
|
|
31195
31408
|
},
|
|
31196
|
-
"pipelineAnalytics.
|
|
31409
|
+
"pipelineAnalytics.refreshStorageLocationsForMigration": {
|
|
31197
31410
|
capName: "pipeline-analytics",
|
|
31198
31411
|
capScope: "device",
|
|
31199
31412
|
addonId: null,
|
|
@@ -31205,6 +31418,12 @@ Object.freeze({
|
|
|
31205
31418
|
addonId: null,
|
|
31206
31419
|
access: "create"
|
|
31207
31420
|
},
|
|
31421
|
+
"pipelineAnalytics.resumeForStorageMigration": {
|
|
31422
|
+
capName: "pipeline-analytics",
|
|
31423
|
+
capScope: "device",
|
|
31424
|
+
addonId: null,
|
|
31425
|
+
access: "create"
|
|
31426
|
+
},
|
|
31208
31427
|
"pipelineAnalytics.saveRetrainAnnotations": {
|
|
31209
31428
|
capName: "pipeline-analytics",
|
|
31210
31429
|
capScope: "device",
|
|
@@ -31229,6 +31448,12 @@ Object.freeze({
|
|
|
31229
31448
|
addonId: null,
|
|
31230
31449
|
access: "create"
|
|
31231
31450
|
},
|
|
31451
|
+
"pipelineAnalytics.startStorageMigrationMove": {
|
|
31452
|
+
capName: "pipeline-analytics",
|
|
31453
|
+
capScope: "device",
|
|
31454
|
+
addonId: null,
|
|
31455
|
+
access: "create"
|
|
31456
|
+
},
|
|
31232
31457
|
"pipelineAnalytics.wipeAllAnalytics": {
|
|
31233
31458
|
capName: "pipeline-analytics",
|
|
31234
31459
|
capScope: "device",
|
|
@@ -31595,6 +31820,12 @@ Object.freeze({
|
|
|
31595
31820
|
addonId: null,
|
|
31596
31821
|
access: "view"
|
|
31597
31822
|
},
|
|
31823
|
+
"pipelineOrchestrator.pauseForStorageMigration": {
|
|
31824
|
+
capName: "pipeline-orchestrator",
|
|
31825
|
+
capScope: "system",
|
|
31826
|
+
addonId: null,
|
|
31827
|
+
access: "create"
|
|
31828
|
+
},
|
|
31598
31829
|
"pipelineOrchestrator.rebalance": {
|
|
31599
31830
|
capName: "pipeline-orchestrator",
|
|
31600
31831
|
capScope: "system",
|
|
@@ -31619,6 +31850,12 @@ Object.freeze({
|
|
|
31619
31850
|
addonId: null,
|
|
31620
31851
|
access: "view"
|
|
31621
31852
|
},
|
|
31853
|
+
"pipelineOrchestrator.resumeForStorageMigration": {
|
|
31854
|
+
capName: "pipeline-orchestrator",
|
|
31855
|
+
capScope: "system",
|
|
31856
|
+
addonId: null,
|
|
31857
|
+
access: "create"
|
|
31858
|
+
},
|
|
31622
31859
|
"pipelineOrchestrator.saveTemplate": {
|
|
31623
31860
|
capName: "pipeline-orchestrator",
|
|
31624
31861
|
capScope: "system",
|
|
@@ -32015,7 +32252,7 @@ Object.freeze({
|
|
|
32015
32252
|
addonId: null,
|
|
32016
32253
|
access: "create"
|
|
32017
32254
|
},
|
|
32018
|
-
"recording.
|
|
32255
|
+
"recording.cancelStorageMigrationMove": {
|
|
32019
32256
|
capName: "recording",
|
|
32020
32257
|
capScope: "system",
|
|
32021
32258
|
addonId: null,
|
|
@@ -32051,7 +32288,7 @@ Object.freeze({
|
|
|
32051
32288
|
addonId: null,
|
|
32052
32289
|
access: "view"
|
|
32053
32290
|
},
|
|
32054
|
-
"recording.
|
|
32291
|
+
"recording.getStorageMigrationMoveStatus": {
|
|
32055
32292
|
capName: "recording",
|
|
32056
32293
|
capScope: "system",
|
|
32057
32294
|
addonId: null,
|
|
@@ -32075,6 +32312,12 @@ Object.freeze({
|
|
|
32075
32312
|
addonId: null,
|
|
32076
32313
|
access: "view"
|
|
32077
32314
|
},
|
|
32315
|
+
"recording.pauseForStorageMigration": {
|
|
32316
|
+
capName: "recording",
|
|
32317
|
+
capScope: "system",
|
|
32318
|
+
addonId: null,
|
|
32319
|
+
access: "create"
|
|
32320
|
+
},
|
|
32078
32321
|
"recording.pruneFootage": {
|
|
32079
32322
|
capName: "recording",
|
|
32080
32323
|
capScope: "system",
|
|
@@ -32093,7 +32336,7 @@ Object.freeze({
|
|
|
32093
32336
|
addonId: null,
|
|
32094
32337
|
access: "view"
|
|
32095
32338
|
},
|
|
32096
|
-
"recording.
|
|
32339
|
+
"recording.refreshStorageLocationsForMigration": {
|
|
32097
32340
|
capName: "recording",
|
|
32098
32341
|
capScope: "system",
|
|
32099
32342
|
addonId: null,
|
|
@@ -32117,12 +32360,24 @@ Object.freeze({
|
|
|
32117
32360
|
addonId: null,
|
|
32118
32361
|
access: "create"
|
|
32119
32362
|
},
|
|
32363
|
+
"recording.resumeForStorageMigration": {
|
|
32364
|
+
capName: "recording",
|
|
32365
|
+
capScope: "system",
|
|
32366
|
+
addonId: null,
|
|
32367
|
+
access: "create"
|
|
32368
|
+
},
|
|
32120
32369
|
"recording.setDeviceConfig": {
|
|
32121
32370
|
capName: "recording",
|
|
32122
32371
|
capScope: "system",
|
|
32123
32372
|
addonId: null,
|
|
32124
32373
|
access: "create"
|
|
32125
32374
|
},
|
|
32375
|
+
"recording.startStorageMigrationMove": {
|
|
32376
|
+
capName: "recording",
|
|
32377
|
+
capScope: "system",
|
|
32378
|
+
addonId: null,
|
|
32379
|
+
access: "create"
|
|
32380
|
+
},
|
|
32126
32381
|
"recordingExport.cancelExport": {
|
|
32127
32382
|
capName: "recordingExport",
|
|
32128
32383
|
capScope: "system",
|
|
@@ -32513,6 +32768,30 @@ Object.freeze({
|
|
|
32513
32768
|
addonId: null,
|
|
32514
32769
|
access: "view"
|
|
32515
32770
|
},
|
|
32771
|
+
"storageMigration.cancel": {
|
|
32772
|
+
capName: "storage-migration",
|
|
32773
|
+
capScope: "system",
|
|
32774
|
+
addonId: null,
|
|
32775
|
+
access: "create"
|
|
32776
|
+
},
|
|
32777
|
+
"storageMigration.plan": {
|
|
32778
|
+
capName: "storage-migration",
|
|
32779
|
+
capScope: "system",
|
|
32780
|
+
addonId: null,
|
|
32781
|
+
access: "view"
|
|
32782
|
+
},
|
|
32783
|
+
"storageMigration.start": {
|
|
32784
|
+
capName: "storage-migration",
|
|
32785
|
+
capScope: "system",
|
|
32786
|
+
addonId: null,
|
|
32787
|
+
access: "create"
|
|
32788
|
+
},
|
|
32789
|
+
"storageMigration.status": {
|
|
32790
|
+
capName: "storage-migration",
|
|
32791
|
+
capScope: "system",
|
|
32792
|
+
addonId: null,
|
|
32793
|
+
access: "view"
|
|
32794
|
+
},
|
|
32516
32795
|
"storageProvider.abortUpload": {
|
|
32517
32796
|
capName: "storage-provider",
|
|
32518
32797
|
capScope: "system",
|
|
@@ -32891,12 +33170,42 @@ Object.freeze({
|
|
|
32891
33170
|
addonId: null,
|
|
32892
33171
|
access: "create"
|
|
32893
33172
|
},
|
|
33173
|
+
"terminalSession.adoptLegacyMonitor": {
|
|
33174
|
+
capName: "terminal-session",
|
|
33175
|
+
capScope: "system",
|
|
33176
|
+
addonId: null,
|
|
33177
|
+
access: "create"
|
|
33178
|
+
},
|
|
32894
33179
|
"terminalSession.close": {
|
|
32895
33180
|
capName: "terminal-session",
|
|
32896
33181
|
capScope: "system",
|
|
32897
33182
|
addonId: null,
|
|
32898
33183
|
access: "create"
|
|
32899
33184
|
},
|
|
33185
|
+
"terminalSession.createInstance": {
|
|
33186
|
+
capName: "terminal-session",
|
|
33187
|
+
capScope: "system",
|
|
33188
|
+
addonId: null,
|
|
33189
|
+
access: "create"
|
|
33190
|
+
},
|
|
33191
|
+
"terminalSession.deleteInstance": {
|
|
33192
|
+
capName: "terminal-session",
|
|
33193
|
+
capScope: "system",
|
|
33194
|
+
addonId: null,
|
|
33195
|
+
access: "delete"
|
|
33196
|
+
},
|
|
33197
|
+
"terminalSession.listInstances": {
|
|
33198
|
+
capName: "terminal-session",
|
|
33199
|
+
capScope: "system",
|
|
33200
|
+
addonId: null,
|
|
33201
|
+
access: "view"
|
|
33202
|
+
},
|
|
33203
|
+
"terminalSession.listLegacyCameras": {
|
|
33204
|
+
capName: "terminal-session",
|
|
33205
|
+
capScope: "system",
|
|
33206
|
+
addonId: null,
|
|
33207
|
+
access: "view"
|
|
33208
|
+
},
|
|
32900
33209
|
"terminalSession.listProfiles": {
|
|
32901
33210
|
capName: "terminal-session",
|
|
32902
33211
|
capScope: "system",
|
|
@@ -32915,12 +33224,30 @@ Object.freeze({
|
|
|
32915
33224
|
addonId: null,
|
|
32916
33225
|
access: "create"
|
|
32917
33226
|
},
|
|
33227
|
+
"terminalSession.pullOutput": {
|
|
33228
|
+
capName: "terminal-session",
|
|
33229
|
+
capScope: "system",
|
|
33230
|
+
addonId: null,
|
|
33231
|
+
access: "create"
|
|
33232
|
+
},
|
|
32918
33233
|
"terminalSession.resize": {
|
|
32919
33234
|
capName: "terminal-session",
|
|
32920
33235
|
capScope: "system",
|
|
32921
33236
|
addonId: null,
|
|
32922
33237
|
access: "create"
|
|
32923
33238
|
},
|
|
33239
|
+
"terminalSession.setInstanceEnabled": {
|
|
33240
|
+
capName: "terminal-session",
|
|
33241
|
+
capScope: "system",
|
|
33242
|
+
addonId: null,
|
|
33243
|
+
access: "create"
|
|
33244
|
+
},
|
|
33245
|
+
"terminalSession.writeInput": {
|
|
33246
|
+
capName: "terminal-session",
|
|
33247
|
+
capScope: "system",
|
|
33248
|
+
addonId: null,
|
|
33249
|
+
access: "create"
|
|
33250
|
+
},
|
|
32924
33251
|
"toast.onToast": {
|
|
32925
33252
|
capName: "toast",
|
|
32926
33253
|
capScope: "system",
|