@camstack/addon-provider-reolink 1.2.21 → 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 +316 -31
- package/dist/addon.mjs +316 -31
- 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",
|
|
16563
|
+
auth: "admin"
|
|
16564
|
+
}), method(StorageMigrationLeaseInputSchema, object({ refreshed: literal(true) }), {
|
|
16565
|
+
kind: "mutation",
|
|
16566
|
+
auth: "admin"
|
|
16567
|
+
}), method(StorageMigrationMediaMoveInputSchema, object({ jobId: string() }), {
|
|
16568
|
+
kind: "mutation",
|
|
16483
16569
|
auth: "admin"
|
|
16484
|
-
}), method(object({ jobId: string() }), object({ cancelled: boolean() }), {
|
|
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,6 +18978,28 @@ var TerminalProfileInfoSchema = object({
|
|
|
18879
18978
|
label: string(),
|
|
18880
18979
|
description: string().optional()
|
|
18881
18980
|
});
|
|
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
|
+
});
|
|
18882
19003
|
var TerminalOutputEventSchema = discriminatedUnion("kind", [object({
|
|
18883
19004
|
seq: number().int().positive(),
|
|
18884
19005
|
kind: literal("data"),
|
|
@@ -18895,7 +19016,29 @@ var TerminalOutputBatchSchema = object({
|
|
|
18895
19016
|
snapshot: string().optional(),
|
|
18896
19017
|
events: array(TerminalOutputEventSchema).readonly()
|
|
18897
19018
|
});
|
|
18898
|
-
method(_void(), array(TerminalProfileInfoSchema).readonly(), { auth: "admin" }), method(_void(), array(
|
|
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({
|
|
18899
19042
|
profileId: string(),
|
|
18900
19043
|
cols: number().int().positive(),
|
|
18901
19044
|
rows: number().int().positive()
|
|
@@ -18912,7 +19055,13 @@ method(_void(), array(TerminalProfileInfoSchema).readonly(), { auth: "admin" }),
|
|
|
18912
19055
|
}), method(object({
|
|
18913
19056
|
sessionId: string(),
|
|
18914
19057
|
afterSeq: number().int().nonnegative(),
|
|
18915
|
-
waitMs: number().int().min(0).max(2e3).default(0)
|
|
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()
|
|
18916
19065
|
}), TerminalOutputBatchSchema, {
|
|
18917
19066
|
kind: "mutation",
|
|
18918
19067
|
auth: "admin",
|
|
@@ -21410,6 +21559,7 @@ var FaceInfoSchema = object({
|
|
|
21410
21559
|
var FaceFilterEnum = _enum([
|
|
21411
21560
|
"unassigned",
|
|
21412
21561
|
"recognized",
|
|
21562
|
+
"identified",
|
|
21413
21563
|
"all"
|
|
21414
21564
|
]);
|
|
21415
21565
|
var MediaFileLiteSchema$1 = object({
|
|
@@ -21438,6 +21588,8 @@ method(_void(), array(IdentitySchema).readonly()), method(object({ name: string(
|
|
|
21438
21588
|
kind: "mutation",
|
|
21439
21589
|
auth: "admin"
|
|
21440
21590
|
}), method(object({
|
|
21591
|
+
/** Restrict to one camera. Absent keeps the cluster-wide gallery view. */
|
|
21592
|
+
deviceId: number().int().optional(),
|
|
21441
21593
|
limit: number().int().positive().optional(),
|
|
21442
21594
|
filter: FaceFilterEnum.optional(),
|
|
21443
21595
|
/**
|
|
@@ -23718,6 +23870,10 @@ var OsdSourceSchema = discriminatedUnion("kind", [
|
|
|
23718
23870
|
capName: string().min(1).max(64),
|
|
23719
23871
|
/** Dot path inside the slice, e.g. `detected`, `value`, `mode`. */
|
|
23720
23872
|
valuePath: string().min(1).max(64)
|
|
23873
|
+
}),
|
|
23874
|
+
object({
|
|
23875
|
+
kind: literal("latest-recognition"),
|
|
23876
|
+
recognition: _enum(["person", "plate"])
|
|
23721
23877
|
})
|
|
23722
23878
|
]);
|
|
23723
23879
|
var OsdSlotBindingSchema = object({
|
|
@@ -23823,6 +23979,15 @@ method(object({ deviceId: number().int() }), object({
|
|
|
23823
23979
|
}), object({ success: literal(true) }), {
|
|
23824
23980
|
kind: "mutation",
|
|
23825
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"
|
|
23826
23991
|
}), method(object({
|
|
23827
23992
|
deviceId: number().int(),
|
|
23828
23993
|
slotId: string().min(1),
|
|
@@ -25007,13 +25172,19 @@ method(object({
|
|
|
25007
25172
|
}), {
|
|
25008
25173
|
kind: "mutation",
|
|
25009
25174
|
auth: "admin"
|
|
25010
|
-
}), method(
|
|
25175
|
+
}), method(StorageMigrationLeaseInputSchema, object({ paused: literal(true) }), {
|
|
25011
25176
|
kind: "mutation",
|
|
25012
25177
|
auth: "admin"
|
|
25013
|
-
}), method(object({
|
|
25014
|
-
kind: "
|
|
25178
|
+
}), method(StorageMigrationLeaseInputSchema, object({ resumed: literal(true) }), {
|
|
25179
|
+
kind: "mutation",
|
|
25015
25180
|
auth: "admin"
|
|
25016
|
-
}), 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() }), {
|
|
25017
25188
|
kind: "mutation",
|
|
25018
25189
|
auth: "admin"
|
|
25019
25190
|
});
|
|
@@ -30910,6 +31081,12 @@ Object.freeze({
|
|
|
30910
31081
|
addonId: null,
|
|
30911
31082
|
access: "delete"
|
|
30912
31083
|
},
|
|
31084
|
+
"osdManager.copyDeviceConfiguration": {
|
|
31085
|
+
capName: "osd-manager",
|
|
31086
|
+
capScope: "system",
|
|
31087
|
+
addonId: null,
|
|
31088
|
+
access: "create"
|
|
31089
|
+
},
|
|
30913
31090
|
"osdManager.getConditionSupport": {
|
|
30914
31091
|
capName: "osd-manager",
|
|
30915
31092
|
capScope: "system",
|
|
@@ -31006,7 +31183,7 @@ Object.freeze({
|
|
|
31006
31183
|
addonId: null,
|
|
31007
31184
|
access: "create"
|
|
31008
31185
|
},
|
|
31009
|
-
"pipelineAnalytics.
|
|
31186
|
+
"pipelineAnalytics.cancelStorageMigrationMove": {
|
|
31010
31187
|
capName: "pipeline-analytics",
|
|
31011
31188
|
capScope: "device",
|
|
31012
31189
|
addonId: null,
|
|
@@ -31078,12 +31255,6 @@ Object.freeze({
|
|
|
31078
31255
|
addonId: null,
|
|
31079
31256
|
access: "view"
|
|
31080
31257
|
},
|
|
31081
|
-
"pipelineAnalytics.getMediaRelocateStatus": {
|
|
31082
|
-
capName: "pipeline-analytics",
|
|
31083
|
-
capScope: "device",
|
|
31084
|
-
addonId: null,
|
|
31085
|
-
access: "view"
|
|
31086
|
-
},
|
|
31087
31258
|
"pipelineAnalytics.getMotionEvents": {
|
|
31088
31259
|
capName: "pipeline-analytics",
|
|
31089
31260
|
capScope: "device",
|
|
@@ -31120,6 +31291,12 @@ Object.freeze({
|
|
|
31120
31291
|
addonId: null,
|
|
31121
31292
|
access: "view"
|
|
31122
31293
|
},
|
|
31294
|
+
"pipelineAnalytics.getStorageMigrationMoveStatus": {
|
|
31295
|
+
capName: "pipeline-analytics",
|
|
31296
|
+
capScope: "device",
|
|
31297
|
+
addonId: null,
|
|
31298
|
+
access: "view"
|
|
31299
|
+
},
|
|
31123
31300
|
"pipelineAnalytics.getTrack": {
|
|
31124
31301
|
capName: "pipeline-analytics",
|
|
31125
31302
|
capScope: "device",
|
|
@@ -31198,6 +31375,12 @@ Object.freeze({
|
|
|
31198
31375
|
addonId: null,
|
|
31199
31376
|
access: "view"
|
|
31200
31377
|
},
|
|
31378
|
+
"pipelineAnalytics.pauseForStorageMigration": {
|
|
31379
|
+
capName: "pipeline-analytics",
|
|
31380
|
+
capScope: "device",
|
|
31381
|
+
addonId: null,
|
|
31382
|
+
access: "create"
|
|
31383
|
+
},
|
|
31201
31384
|
"pipelineAnalytics.proposeRetrainAnnotations": {
|
|
31202
31385
|
capName: "pipeline-analytics",
|
|
31203
31386
|
capScope: "device",
|
|
@@ -31228,7 +31411,7 @@ Object.freeze({
|
|
|
31228
31411
|
addonId: null,
|
|
31229
31412
|
access: "create"
|
|
31230
31413
|
},
|
|
31231
|
-
"pipelineAnalytics.
|
|
31414
|
+
"pipelineAnalytics.refreshStorageLocationsForMigration": {
|
|
31232
31415
|
capName: "pipeline-analytics",
|
|
31233
31416
|
capScope: "device",
|
|
31234
31417
|
addonId: null,
|
|
@@ -31240,6 +31423,12 @@ Object.freeze({
|
|
|
31240
31423
|
addonId: null,
|
|
31241
31424
|
access: "create"
|
|
31242
31425
|
},
|
|
31426
|
+
"pipelineAnalytics.resumeForStorageMigration": {
|
|
31427
|
+
capName: "pipeline-analytics",
|
|
31428
|
+
capScope: "device",
|
|
31429
|
+
addonId: null,
|
|
31430
|
+
access: "create"
|
|
31431
|
+
},
|
|
31243
31432
|
"pipelineAnalytics.saveRetrainAnnotations": {
|
|
31244
31433
|
capName: "pipeline-analytics",
|
|
31245
31434
|
capScope: "device",
|
|
@@ -31264,6 +31453,12 @@ Object.freeze({
|
|
|
31264
31453
|
addonId: null,
|
|
31265
31454
|
access: "create"
|
|
31266
31455
|
},
|
|
31456
|
+
"pipelineAnalytics.startStorageMigrationMove": {
|
|
31457
|
+
capName: "pipeline-analytics",
|
|
31458
|
+
capScope: "device",
|
|
31459
|
+
addonId: null,
|
|
31460
|
+
access: "create"
|
|
31461
|
+
},
|
|
31267
31462
|
"pipelineAnalytics.wipeAllAnalytics": {
|
|
31268
31463
|
capName: "pipeline-analytics",
|
|
31269
31464
|
capScope: "device",
|
|
@@ -31630,6 +31825,12 @@ Object.freeze({
|
|
|
31630
31825
|
addonId: null,
|
|
31631
31826
|
access: "view"
|
|
31632
31827
|
},
|
|
31828
|
+
"pipelineOrchestrator.pauseForStorageMigration": {
|
|
31829
|
+
capName: "pipeline-orchestrator",
|
|
31830
|
+
capScope: "system",
|
|
31831
|
+
addonId: null,
|
|
31832
|
+
access: "create"
|
|
31833
|
+
},
|
|
31633
31834
|
"pipelineOrchestrator.rebalance": {
|
|
31634
31835
|
capName: "pipeline-orchestrator",
|
|
31635
31836
|
capScope: "system",
|
|
@@ -31654,6 +31855,12 @@ Object.freeze({
|
|
|
31654
31855
|
addonId: null,
|
|
31655
31856
|
access: "view"
|
|
31656
31857
|
},
|
|
31858
|
+
"pipelineOrchestrator.resumeForStorageMigration": {
|
|
31859
|
+
capName: "pipeline-orchestrator",
|
|
31860
|
+
capScope: "system",
|
|
31861
|
+
addonId: null,
|
|
31862
|
+
access: "create"
|
|
31863
|
+
},
|
|
31657
31864
|
"pipelineOrchestrator.saveTemplate": {
|
|
31658
31865
|
capName: "pipeline-orchestrator",
|
|
31659
31866
|
capScope: "system",
|
|
@@ -32050,7 +32257,7 @@ Object.freeze({
|
|
|
32050
32257
|
addonId: null,
|
|
32051
32258
|
access: "create"
|
|
32052
32259
|
},
|
|
32053
|
-
"recording.
|
|
32260
|
+
"recording.cancelStorageMigrationMove": {
|
|
32054
32261
|
capName: "recording",
|
|
32055
32262
|
capScope: "system",
|
|
32056
32263
|
addonId: null,
|
|
@@ -32086,7 +32293,7 @@ Object.freeze({
|
|
|
32086
32293
|
addonId: null,
|
|
32087
32294
|
access: "view"
|
|
32088
32295
|
},
|
|
32089
|
-
"recording.
|
|
32296
|
+
"recording.getStorageMigrationMoveStatus": {
|
|
32090
32297
|
capName: "recording",
|
|
32091
32298
|
capScope: "system",
|
|
32092
32299
|
addonId: null,
|
|
@@ -32110,6 +32317,12 @@ Object.freeze({
|
|
|
32110
32317
|
addonId: null,
|
|
32111
32318
|
access: "view"
|
|
32112
32319
|
},
|
|
32320
|
+
"recording.pauseForStorageMigration": {
|
|
32321
|
+
capName: "recording",
|
|
32322
|
+
capScope: "system",
|
|
32323
|
+
addonId: null,
|
|
32324
|
+
access: "create"
|
|
32325
|
+
},
|
|
32113
32326
|
"recording.pruneFootage": {
|
|
32114
32327
|
capName: "recording",
|
|
32115
32328
|
capScope: "system",
|
|
@@ -32128,7 +32341,7 @@ Object.freeze({
|
|
|
32128
32341
|
addonId: null,
|
|
32129
32342
|
access: "view"
|
|
32130
32343
|
},
|
|
32131
|
-
"recording.
|
|
32344
|
+
"recording.refreshStorageLocationsForMigration": {
|
|
32132
32345
|
capName: "recording",
|
|
32133
32346
|
capScope: "system",
|
|
32134
32347
|
addonId: null,
|
|
@@ -32152,12 +32365,24 @@ Object.freeze({
|
|
|
32152
32365
|
addonId: null,
|
|
32153
32366
|
access: "create"
|
|
32154
32367
|
},
|
|
32368
|
+
"recording.resumeForStorageMigration": {
|
|
32369
|
+
capName: "recording",
|
|
32370
|
+
capScope: "system",
|
|
32371
|
+
addonId: null,
|
|
32372
|
+
access: "create"
|
|
32373
|
+
},
|
|
32155
32374
|
"recording.setDeviceConfig": {
|
|
32156
32375
|
capName: "recording",
|
|
32157
32376
|
capScope: "system",
|
|
32158
32377
|
addonId: null,
|
|
32159
32378
|
access: "create"
|
|
32160
32379
|
},
|
|
32380
|
+
"recording.startStorageMigrationMove": {
|
|
32381
|
+
capName: "recording",
|
|
32382
|
+
capScope: "system",
|
|
32383
|
+
addonId: null,
|
|
32384
|
+
access: "create"
|
|
32385
|
+
},
|
|
32161
32386
|
"recordingExport.cancelExport": {
|
|
32162
32387
|
capName: "recordingExport",
|
|
32163
32388
|
capScope: "system",
|
|
@@ -32548,6 +32773,30 @@ Object.freeze({
|
|
|
32548
32773
|
addonId: null,
|
|
32549
32774
|
access: "view"
|
|
32550
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
|
+
},
|
|
32551
32800
|
"storageProvider.abortUpload": {
|
|
32552
32801
|
capName: "storage-provider",
|
|
32553
32802
|
capScope: "system",
|
|
@@ -32926,12 +33175,42 @@ Object.freeze({
|
|
|
32926
33175
|
addonId: null,
|
|
32927
33176
|
access: "create"
|
|
32928
33177
|
},
|
|
33178
|
+
"terminalSession.adoptLegacyMonitor": {
|
|
33179
|
+
capName: "terminal-session",
|
|
33180
|
+
capScope: "system",
|
|
33181
|
+
addonId: null,
|
|
33182
|
+
access: "create"
|
|
33183
|
+
},
|
|
32929
33184
|
"terminalSession.close": {
|
|
32930
33185
|
capName: "terminal-session",
|
|
32931
33186
|
capScope: "system",
|
|
32932
33187
|
addonId: null,
|
|
32933
33188
|
access: "create"
|
|
32934
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
|
+
},
|
|
32935
33214
|
"terminalSession.listProfiles": {
|
|
32936
33215
|
capName: "terminal-session",
|
|
32937
33216
|
capScope: "system",
|
|
@@ -32962,6 +33241,12 @@ Object.freeze({
|
|
|
32962
33241
|
addonId: null,
|
|
32963
33242
|
access: "create"
|
|
32964
33243
|
},
|
|
33244
|
+
"terminalSession.setInstanceEnabled": {
|
|
33245
|
+
capName: "terminal-session",
|
|
33246
|
+
capScope: "system",
|
|
33247
|
+
addonId: null,
|
|
33248
|
+
access: "create"
|
|
33249
|
+
},
|
|
32965
33250
|
"terminalSession.writeInput": {
|
|
32966
33251
|
capName: "terminal-session",
|
|
32967
33252
|
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",
|
|
16558
|
+
auth: "admin"
|
|
16559
|
+
}), method(StorageMigrationLeaseInputSchema, object({ refreshed: literal(true) }), {
|
|
16560
|
+
kind: "mutation",
|
|
16561
|
+
auth: "admin"
|
|
16562
|
+
}), method(StorageMigrationMediaMoveInputSchema, object({ jobId: string() }), {
|
|
16563
|
+
kind: "mutation",
|
|
16478
16564
|
auth: "admin"
|
|
16479
|
-
}), method(object({ jobId: string() }), object({ cancelled: boolean() }), {
|
|
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,6 +18973,28 @@ var TerminalProfileInfoSchema = object({
|
|
|
18874
18973
|
label: string(),
|
|
18875
18974
|
description: string().optional()
|
|
18876
18975
|
});
|
|
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
|
+
});
|
|
18877
18998
|
var TerminalOutputEventSchema = discriminatedUnion("kind", [object({
|
|
18878
18999
|
seq: number().int().positive(),
|
|
18879
19000
|
kind: literal("data"),
|
|
@@ -18890,7 +19011,29 @@ var TerminalOutputBatchSchema = object({
|
|
|
18890
19011
|
snapshot: string().optional(),
|
|
18891
19012
|
events: array(TerminalOutputEventSchema).readonly()
|
|
18892
19013
|
});
|
|
18893
|
-
method(_void(), array(TerminalProfileInfoSchema).readonly(), { auth: "admin" }), method(_void(), array(
|
|
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({
|
|
18894
19037
|
profileId: string(),
|
|
18895
19038
|
cols: number().int().positive(),
|
|
18896
19039
|
rows: number().int().positive()
|
|
@@ -18907,7 +19050,13 @@ method(_void(), array(TerminalProfileInfoSchema).readonly(), { auth: "admin" }),
|
|
|
18907
19050
|
}), method(object({
|
|
18908
19051
|
sessionId: string(),
|
|
18909
19052
|
afterSeq: number().int().nonnegative(),
|
|
18910
|
-
waitMs: number().int().min(0).max(2e3).default(0)
|
|
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()
|
|
18911
19060
|
}), TerminalOutputBatchSchema, {
|
|
18912
19061
|
kind: "mutation",
|
|
18913
19062
|
auth: "admin",
|
|
@@ -21405,6 +21554,7 @@ var FaceInfoSchema = object({
|
|
|
21405
21554
|
var FaceFilterEnum = _enum([
|
|
21406
21555
|
"unassigned",
|
|
21407
21556
|
"recognized",
|
|
21557
|
+
"identified",
|
|
21408
21558
|
"all"
|
|
21409
21559
|
]);
|
|
21410
21560
|
var MediaFileLiteSchema$1 = object({
|
|
@@ -21433,6 +21583,8 @@ method(_void(), array(IdentitySchema).readonly()), method(object({ name: string(
|
|
|
21433
21583
|
kind: "mutation",
|
|
21434
21584
|
auth: "admin"
|
|
21435
21585
|
}), method(object({
|
|
21586
|
+
/** Restrict to one camera. Absent keeps the cluster-wide gallery view. */
|
|
21587
|
+
deviceId: number().int().optional(),
|
|
21436
21588
|
limit: number().int().positive().optional(),
|
|
21437
21589
|
filter: FaceFilterEnum.optional(),
|
|
21438
21590
|
/**
|
|
@@ -23713,6 +23865,10 @@ var OsdSourceSchema = discriminatedUnion("kind", [
|
|
|
23713
23865
|
capName: string().min(1).max(64),
|
|
23714
23866
|
/** Dot path inside the slice, e.g. `detected`, `value`, `mode`. */
|
|
23715
23867
|
valuePath: string().min(1).max(64)
|
|
23868
|
+
}),
|
|
23869
|
+
object({
|
|
23870
|
+
kind: literal("latest-recognition"),
|
|
23871
|
+
recognition: _enum(["person", "plate"])
|
|
23716
23872
|
})
|
|
23717
23873
|
]);
|
|
23718
23874
|
var OsdSlotBindingSchema = object({
|
|
@@ -23818,6 +23974,15 @@ method(object({ deviceId: number().int() }), object({
|
|
|
23818
23974
|
}), object({ success: literal(true) }), {
|
|
23819
23975
|
kind: "mutation",
|
|
23820
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"
|
|
23821
23986
|
}), method(object({
|
|
23822
23987
|
deviceId: number().int(),
|
|
23823
23988
|
slotId: string().min(1),
|
|
@@ -25002,13 +25167,19 @@ method(object({
|
|
|
25002
25167
|
}), {
|
|
25003
25168
|
kind: "mutation",
|
|
25004
25169
|
auth: "admin"
|
|
25005
|
-
}), method(
|
|
25170
|
+
}), method(StorageMigrationLeaseInputSchema, object({ paused: literal(true) }), {
|
|
25006
25171
|
kind: "mutation",
|
|
25007
25172
|
auth: "admin"
|
|
25008
|
-
}), method(object({
|
|
25009
|
-
kind: "
|
|
25173
|
+
}), method(StorageMigrationLeaseInputSchema, object({ resumed: literal(true) }), {
|
|
25174
|
+
kind: "mutation",
|
|
25010
25175
|
auth: "admin"
|
|
25011
|
-
}), 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() }), {
|
|
25012
25183
|
kind: "mutation",
|
|
25013
25184
|
auth: "admin"
|
|
25014
25185
|
});
|
|
@@ -30905,6 +31076,12 @@ Object.freeze({
|
|
|
30905
31076
|
addonId: null,
|
|
30906
31077
|
access: "delete"
|
|
30907
31078
|
},
|
|
31079
|
+
"osdManager.copyDeviceConfiguration": {
|
|
31080
|
+
capName: "osd-manager",
|
|
31081
|
+
capScope: "system",
|
|
31082
|
+
addonId: null,
|
|
31083
|
+
access: "create"
|
|
31084
|
+
},
|
|
30908
31085
|
"osdManager.getConditionSupport": {
|
|
30909
31086
|
capName: "osd-manager",
|
|
30910
31087
|
capScope: "system",
|
|
@@ -31001,7 +31178,7 @@ Object.freeze({
|
|
|
31001
31178
|
addonId: null,
|
|
31002
31179
|
access: "create"
|
|
31003
31180
|
},
|
|
31004
|
-
"pipelineAnalytics.
|
|
31181
|
+
"pipelineAnalytics.cancelStorageMigrationMove": {
|
|
31005
31182
|
capName: "pipeline-analytics",
|
|
31006
31183
|
capScope: "device",
|
|
31007
31184
|
addonId: null,
|
|
@@ -31073,12 +31250,6 @@ Object.freeze({
|
|
|
31073
31250
|
addonId: null,
|
|
31074
31251
|
access: "view"
|
|
31075
31252
|
},
|
|
31076
|
-
"pipelineAnalytics.getMediaRelocateStatus": {
|
|
31077
|
-
capName: "pipeline-analytics",
|
|
31078
|
-
capScope: "device",
|
|
31079
|
-
addonId: null,
|
|
31080
|
-
access: "view"
|
|
31081
|
-
},
|
|
31082
31253
|
"pipelineAnalytics.getMotionEvents": {
|
|
31083
31254
|
capName: "pipeline-analytics",
|
|
31084
31255
|
capScope: "device",
|
|
@@ -31115,6 +31286,12 @@ Object.freeze({
|
|
|
31115
31286
|
addonId: null,
|
|
31116
31287
|
access: "view"
|
|
31117
31288
|
},
|
|
31289
|
+
"pipelineAnalytics.getStorageMigrationMoveStatus": {
|
|
31290
|
+
capName: "pipeline-analytics",
|
|
31291
|
+
capScope: "device",
|
|
31292
|
+
addonId: null,
|
|
31293
|
+
access: "view"
|
|
31294
|
+
},
|
|
31118
31295
|
"pipelineAnalytics.getTrack": {
|
|
31119
31296
|
capName: "pipeline-analytics",
|
|
31120
31297
|
capScope: "device",
|
|
@@ -31193,6 +31370,12 @@ Object.freeze({
|
|
|
31193
31370
|
addonId: null,
|
|
31194
31371
|
access: "view"
|
|
31195
31372
|
},
|
|
31373
|
+
"pipelineAnalytics.pauseForStorageMigration": {
|
|
31374
|
+
capName: "pipeline-analytics",
|
|
31375
|
+
capScope: "device",
|
|
31376
|
+
addonId: null,
|
|
31377
|
+
access: "create"
|
|
31378
|
+
},
|
|
31196
31379
|
"pipelineAnalytics.proposeRetrainAnnotations": {
|
|
31197
31380
|
capName: "pipeline-analytics",
|
|
31198
31381
|
capScope: "device",
|
|
@@ -31223,7 +31406,7 @@ Object.freeze({
|
|
|
31223
31406
|
addonId: null,
|
|
31224
31407
|
access: "create"
|
|
31225
31408
|
},
|
|
31226
|
-
"pipelineAnalytics.
|
|
31409
|
+
"pipelineAnalytics.refreshStorageLocationsForMigration": {
|
|
31227
31410
|
capName: "pipeline-analytics",
|
|
31228
31411
|
capScope: "device",
|
|
31229
31412
|
addonId: null,
|
|
@@ -31235,6 +31418,12 @@ Object.freeze({
|
|
|
31235
31418
|
addonId: null,
|
|
31236
31419
|
access: "create"
|
|
31237
31420
|
},
|
|
31421
|
+
"pipelineAnalytics.resumeForStorageMigration": {
|
|
31422
|
+
capName: "pipeline-analytics",
|
|
31423
|
+
capScope: "device",
|
|
31424
|
+
addonId: null,
|
|
31425
|
+
access: "create"
|
|
31426
|
+
},
|
|
31238
31427
|
"pipelineAnalytics.saveRetrainAnnotations": {
|
|
31239
31428
|
capName: "pipeline-analytics",
|
|
31240
31429
|
capScope: "device",
|
|
@@ -31259,6 +31448,12 @@ Object.freeze({
|
|
|
31259
31448
|
addonId: null,
|
|
31260
31449
|
access: "create"
|
|
31261
31450
|
},
|
|
31451
|
+
"pipelineAnalytics.startStorageMigrationMove": {
|
|
31452
|
+
capName: "pipeline-analytics",
|
|
31453
|
+
capScope: "device",
|
|
31454
|
+
addonId: null,
|
|
31455
|
+
access: "create"
|
|
31456
|
+
},
|
|
31262
31457
|
"pipelineAnalytics.wipeAllAnalytics": {
|
|
31263
31458
|
capName: "pipeline-analytics",
|
|
31264
31459
|
capScope: "device",
|
|
@@ -31625,6 +31820,12 @@ Object.freeze({
|
|
|
31625
31820
|
addonId: null,
|
|
31626
31821
|
access: "view"
|
|
31627
31822
|
},
|
|
31823
|
+
"pipelineOrchestrator.pauseForStorageMigration": {
|
|
31824
|
+
capName: "pipeline-orchestrator",
|
|
31825
|
+
capScope: "system",
|
|
31826
|
+
addonId: null,
|
|
31827
|
+
access: "create"
|
|
31828
|
+
},
|
|
31628
31829
|
"pipelineOrchestrator.rebalance": {
|
|
31629
31830
|
capName: "pipeline-orchestrator",
|
|
31630
31831
|
capScope: "system",
|
|
@@ -31649,6 +31850,12 @@ Object.freeze({
|
|
|
31649
31850
|
addonId: null,
|
|
31650
31851
|
access: "view"
|
|
31651
31852
|
},
|
|
31853
|
+
"pipelineOrchestrator.resumeForStorageMigration": {
|
|
31854
|
+
capName: "pipeline-orchestrator",
|
|
31855
|
+
capScope: "system",
|
|
31856
|
+
addonId: null,
|
|
31857
|
+
access: "create"
|
|
31858
|
+
},
|
|
31652
31859
|
"pipelineOrchestrator.saveTemplate": {
|
|
31653
31860
|
capName: "pipeline-orchestrator",
|
|
31654
31861
|
capScope: "system",
|
|
@@ -32045,7 +32252,7 @@ Object.freeze({
|
|
|
32045
32252
|
addonId: null,
|
|
32046
32253
|
access: "create"
|
|
32047
32254
|
},
|
|
32048
|
-
"recording.
|
|
32255
|
+
"recording.cancelStorageMigrationMove": {
|
|
32049
32256
|
capName: "recording",
|
|
32050
32257
|
capScope: "system",
|
|
32051
32258
|
addonId: null,
|
|
@@ -32081,7 +32288,7 @@ Object.freeze({
|
|
|
32081
32288
|
addonId: null,
|
|
32082
32289
|
access: "view"
|
|
32083
32290
|
},
|
|
32084
|
-
"recording.
|
|
32291
|
+
"recording.getStorageMigrationMoveStatus": {
|
|
32085
32292
|
capName: "recording",
|
|
32086
32293
|
capScope: "system",
|
|
32087
32294
|
addonId: null,
|
|
@@ -32105,6 +32312,12 @@ Object.freeze({
|
|
|
32105
32312
|
addonId: null,
|
|
32106
32313
|
access: "view"
|
|
32107
32314
|
},
|
|
32315
|
+
"recording.pauseForStorageMigration": {
|
|
32316
|
+
capName: "recording",
|
|
32317
|
+
capScope: "system",
|
|
32318
|
+
addonId: null,
|
|
32319
|
+
access: "create"
|
|
32320
|
+
},
|
|
32108
32321
|
"recording.pruneFootage": {
|
|
32109
32322
|
capName: "recording",
|
|
32110
32323
|
capScope: "system",
|
|
@@ -32123,7 +32336,7 @@ Object.freeze({
|
|
|
32123
32336
|
addonId: null,
|
|
32124
32337
|
access: "view"
|
|
32125
32338
|
},
|
|
32126
|
-
"recording.
|
|
32339
|
+
"recording.refreshStorageLocationsForMigration": {
|
|
32127
32340
|
capName: "recording",
|
|
32128
32341
|
capScope: "system",
|
|
32129
32342
|
addonId: null,
|
|
@@ -32147,12 +32360,24 @@ Object.freeze({
|
|
|
32147
32360
|
addonId: null,
|
|
32148
32361
|
access: "create"
|
|
32149
32362
|
},
|
|
32363
|
+
"recording.resumeForStorageMigration": {
|
|
32364
|
+
capName: "recording",
|
|
32365
|
+
capScope: "system",
|
|
32366
|
+
addonId: null,
|
|
32367
|
+
access: "create"
|
|
32368
|
+
},
|
|
32150
32369
|
"recording.setDeviceConfig": {
|
|
32151
32370
|
capName: "recording",
|
|
32152
32371
|
capScope: "system",
|
|
32153
32372
|
addonId: null,
|
|
32154
32373
|
access: "create"
|
|
32155
32374
|
},
|
|
32375
|
+
"recording.startStorageMigrationMove": {
|
|
32376
|
+
capName: "recording",
|
|
32377
|
+
capScope: "system",
|
|
32378
|
+
addonId: null,
|
|
32379
|
+
access: "create"
|
|
32380
|
+
},
|
|
32156
32381
|
"recordingExport.cancelExport": {
|
|
32157
32382
|
capName: "recordingExport",
|
|
32158
32383
|
capScope: "system",
|
|
@@ -32543,6 +32768,30 @@ Object.freeze({
|
|
|
32543
32768
|
addonId: null,
|
|
32544
32769
|
access: "view"
|
|
32545
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
|
+
},
|
|
32546
32795
|
"storageProvider.abortUpload": {
|
|
32547
32796
|
capName: "storage-provider",
|
|
32548
32797
|
capScope: "system",
|
|
@@ -32921,12 +33170,42 @@ Object.freeze({
|
|
|
32921
33170
|
addonId: null,
|
|
32922
33171
|
access: "create"
|
|
32923
33172
|
},
|
|
33173
|
+
"terminalSession.adoptLegacyMonitor": {
|
|
33174
|
+
capName: "terminal-session",
|
|
33175
|
+
capScope: "system",
|
|
33176
|
+
addonId: null,
|
|
33177
|
+
access: "create"
|
|
33178
|
+
},
|
|
32924
33179
|
"terminalSession.close": {
|
|
32925
33180
|
capName: "terminal-session",
|
|
32926
33181
|
capScope: "system",
|
|
32927
33182
|
addonId: null,
|
|
32928
33183
|
access: "create"
|
|
32929
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
|
+
},
|
|
32930
33209
|
"terminalSession.listProfiles": {
|
|
32931
33210
|
capName: "terminal-session",
|
|
32932
33211
|
capScope: "system",
|
|
@@ -32957,6 +33236,12 @@ Object.freeze({
|
|
|
32957
33236
|
addonId: null,
|
|
32958
33237
|
access: "create"
|
|
32959
33238
|
},
|
|
33239
|
+
"terminalSession.setInstanceEnabled": {
|
|
33240
|
+
capName: "terminal-session",
|
|
33241
|
+
capScope: "system",
|
|
33242
|
+
addonId: null,
|
|
33243
|
+
access: "create"
|
|
33244
|
+
},
|
|
32960
33245
|
"terminalSession.writeInput": {
|
|
32961
33246
|
capName: "terminal-session",
|
|
32962
33247
|
capScope: "system",
|