@camstack/addon-provider-hikvision 1.2.14 → 1.2.16
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
|
@@ -7546,12 +7546,11 @@ var RecordingConfigSchema = object({
|
|
|
7546
7546
|
/**
|
|
7547
7547
|
* Entity-relocation job state (storage entity-routing spec, Phase 4).
|
|
7548
7548
|
*
|
|
7549
|
-
* One shape shared by the recorder
|
|
7550
|
-
*
|
|
7551
|
-
*
|
|
7552
|
-
*
|
|
7553
|
-
*
|
|
7554
|
-
* row on the owning addon's surface.
|
|
7549
|
+
* One shape shared by the recorder and pipeline-analytics internal movers.
|
|
7550
|
+
* The public admin surface is `storage-migration`; child jobs remain in RAM
|
|
7551
|
+
* because copy-if-absent, verify, delete and index/row repoint are resumable.
|
|
7552
|
+
* Each completed/failed run also lands one durable ops-log row on its owning
|
|
7553
|
+
* addon surface.
|
|
7555
7554
|
*/
|
|
7556
7555
|
var RelocateJobStateSchema = _enum([
|
|
7557
7556
|
"running",
|
|
@@ -7578,19 +7577,100 @@ var RelocateJobSchema = object({
|
|
|
7578
7577
|
finishedAt: number().nullable(),
|
|
7579
7578
|
error: string().nullable()
|
|
7580
7579
|
});
|
|
7580
|
+
/** Profile-derived footage selection used only by the migration coordinator:
|
|
7581
|
+
* `recordings` owns high+mid; `recordingsLow` owns low. */
|
|
7582
|
+
var RelocateFootageClassSchema = _enum(["recordings", "recordingsLow"]);
|
|
7581
7583
|
var RelocateFootageInputSchema = object({
|
|
7582
|
-
deviceId: number().optional(),
|
|
7583
7584
|
fromLocationId: string(),
|
|
7584
7585
|
toLocationId: string(),
|
|
7585
7586
|
entities: array(_enum(["segments"])).optional(),
|
|
7587
|
+
/** Limits relocation to the logical profile class. Omit only for the
|
|
7588
|
+
* pre-orchestration compatibility path. */
|
|
7589
|
+
footageClass: RelocateFootageClassSchema.optional(),
|
|
7586
7590
|
/** Copy throttle in MB/s (default 40) — the drain is a background chore,
|
|
7587
7591
|
* never allowed to starve live writers. */
|
|
7588
7592
|
throttleMbps: number().min(1).max(1e3).optional()
|
|
7589
7593
|
});
|
|
7590
|
-
|
|
7591
|
-
|
|
7594
|
+
/** Internal, lease-scoped participant operation. It is intentionally separate
|
|
7595
|
+
* from persistent recording settings: a migration never changes
|
|
7596
|
+
* `RecordingConfig.enabled` or camera wrapper bindings. */
|
|
7597
|
+
var StorageMigrationLeaseInputSchema = object({ leaseId: string().min(1) });
|
|
7598
|
+
var StorageMigrationFootageMoveInputSchema = RelocateFootageInputSchema.extend({ leaseId: string().min(1) });
|
|
7599
|
+
var StorageMigrationMediaMoveInputSchema = object({
|
|
7592
7600
|
toLocationId: string(),
|
|
7593
7601
|
throttleMbps: number().min(1).max(1e3).optional()
|
|
7602
|
+
}).extend({ leaseId: string().min(1) });
|
|
7603
|
+
/** The independently selectable logical storage classes. `recordings`
|
|
7604
|
+
* encompasses the high and mid segment profiles; `recordingsLow` is low
|
|
7605
|
+
* segments; `eventMedia` is post-analysis blobs. */
|
|
7606
|
+
var StorageMigrationClassSchema = _enum([
|
|
7607
|
+
"recordings",
|
|
7608
|
+
"recordingsLow",
|
|
7609
|
+
"eventMedia"
|
|
7610
|
+
]);
|
|
7611
|
+
/** A destination is always an existing, fully-qualified location id. The
|
|
7612
|
+
* migration API intentionally never changes a source location's `basePath`:
|
|
7613
|
+
* callers create a new `<type>:<slug>` location, then select it here. */
|
|
7614
|
+
var StorageMigrationDestinationsSchema = object({
|
|
7615
|
+
recordings: string().min(1).optional(),
|
|
7616
|
+
recordingsLow: string().min(1).optional(),
|
|
7617
|
+
eventMedia: string().min(1).optional()
|
|
7618
|
+
}).refine((value) => Object.keys(value).length > 0, { message: "select at least one storage class" });
|
|
7619
|
+
/** Shared input for planning and starting an orchestrated storage migration. */
|
|
7620
|
+
var StorageMigrationInputSchema = object({
|
|
7621
|
+
destinations: StorageMigrationDestinationsSchema,
|
|
7622
|
+
throttleMbps: number().min(1).max(1e3).optional()
|
|
7623
|
+
});
|
|
7624
|
+
/** The durable coordinator state machine. The only phase that changes default
|
|
7625
|
+
* locations is `repointing`, after every selected mover has completed and been
|
|
7626
|
+
* verified. */
|
|
7627
|
+
var StorageMigrationPhaseSchema = _enum([
|
|
7628
|
+
"planning",
|
|
7629
|
+
"pausing",
|
|
7630
|
+
"moving",
|
|
7631
|
+
"verifying",
|
|
7632
|
+
"repointing",
|
|
7633
|
+
"refreshing",
|
|
7634
|
+
"resuming",
|
|
7635
|
+
"done",
|
|
7636
|
+
"failed",
|
|
7637
|
+
"cancelled"
|
|
7638
|
+
]);
|
|
7639
|
+
var StorageMigrationParticipantSchema = _enum([
|
|
7640
|
+
"pipeline",
|
|
7641
|
+
"recorder",
|
|
7642
|
+
"analytics"
|
|
7643
|
+
]);
|
|
7644
|
+
var StorageMigrationMoveSchema = object({
|
|
7645
|
+
storageClass: StorageMigrationClassSchema,
|
|
7646
|
+
fromLocationId: string(),
|
|
7647
|
+
toLocationId: string(),
|
|
7648
|
+
moverJobId: string().nullable(),
|
|
7649
|
+
state: RelocateJobStateSchema.nullable(),
|
|
7650
|
+
error: string().nullable()
|
|
7651
|
+
});
|
|
7652
|
+
var StorageMigrationJobSchema = object({
|
|
7653
|
+
jobId: string(),
|
|
7654
|
+
phase: StorageMigrationPhaseSchema,
|
|
7655
|
+
destinations: StorageMigrationDestinationsSchema,
|
|
7656
|
+
throttleMbps: number(),
|
|
7657
|
+
moves: array(StorageMigrationMoveSchema),
|
|
7658
|
+
pauseLeaseId: string().nullable(),
|
|
7659
|
+
pausedParticipants: array(StorageMigrationParticipantSchema),
|
|
7660
|
+
repointed: boolean(),
|
|
7661
|
+
cancelRequested: boolean(),
|
|
7662
|
+
startedAt: number(),
|
|
7663
|
+
updatedAt: number(),
|
|
7664
|
+
finishedAt: number().nullable(),
|
|
7665
|
+
error: string().nullable()
|
|
7666
|
+
});
|
|
7667
|
+
var StorageMigrationPlanSchema = object({
|
|
7668
|
+
destinations: StorageMigrationDestinationsSchema,
|
|
7669
|
+
moves: array(object({
|
|
7670
|
+
storageClass: StorageMigrationClassSchema,
|
|
7671
|
+
fromLocationId: string(),
|
|
7672
|
+
toLocationId: string()
|
|
7673
|
+
}))
|
|
7594
7674
|
});
|
|
7595
7675
|
/**
|
|
7596
7676
|
* `StorageLocationType` — an addon-declared id that identifies the *kind* of
|
|
@@ -16431,13 +16511,19 @@ DeviceType.Camera, method(object({ deviceId: number() }), array(TrackSchema).rea
|
|
|
16431
16511
|
}), method(object({ deviceId: number() }), EventPruneCountsSchema, {
|
|
16432
16512
|
kind: "mutation",
|
|
16433
16513
|
auth: "admin"
|
|
16434
|
-
}), method(
|
|
16514
|
+
}), method(StorageMigrationLeaseInputSchema, object({ paused: literal(true) }), {
|
|
16435
16515
|
kind: "mutation",
|
|
16436
16516
|
auth: "admin"
|
|
16437
|
-
}), method(object({
|
|
16438
|
-
kind: "
|
|
16517
|
+
}), method(StorageMigrationLeaseInputSchema, object({ resumed: literal(true) }), {
|
|
16518
|
+
kind: "mutation",
|
|
16439
16519
|
auth: "admin"
|
|
16440
|
-
}), method(
|
|
16520
|
+
}), method(StorageMigrationLeaseInputSchema, object({ refreshed: literal(true) }), {
|
|
16521
|
+
kind: "mutation",
|
|
16522
|
+
auth: "admin"
|
|
16523
|
+
}), method(StorageMigrationMediaMoveInputSchema, object({ jobId: string() }), {
|
|
16524
|
+
kind: "mutation",
|
|
16525
|
+
auth: "admin"
|
|
16526
|
+
}), method(object({ jobId: string() }), RelocateJobSchema.nullable(), { auth: "admin" }), method(object({ jobId: string() }), object({ cancelled: boolean() }), {
|
|
16441
16527
|
kind: "mutation",
|
|
16442
16528
|
auth: "admin"
|
|
16443
16529
|
}), method(OpsLogQueryInputSchema, array(OpsLogEntrySchema).readonly(), {
|
|
@@ -17967,7 +18053,13 @@ var NodeInferenceDevicesSchema = object({
|
|
|
17967
18053
|
reachable: boolean(),
|
|
17968
18054
|
devices: array(NodeInferenceDeviceSchema).readonly()
|
|
17969
18055
|
});
|
|
17970
|
-
method(object({
|
|
18056
|
+
method(StorageMigrationLeaseInputSchema, object({ paused: literal(true) }), {
|
|
18057
|
+
kind: "mutation",
|
|
18058
|
+
auth: "admin"
|
|
18059
|
+
}), method(StorageMigrationLeaseInputSchema, object({ resumed: literal(true) }), {
|
|
18060
|
+
kind: "mutation",
|
|
18061
|
+
auth: "admin"
|
|
18062
|
+
}), method(object({
|
|
17971
18063
|
deviceId: number(),
|
|
17972
18064
|
agentNodeId: string()
|
|
17973
18065
|
}), object({ success: literal(true) }), {
|
|
@@ -18732,6 +18824,13 @@ method(object({ locationId: string() }), EvictableUsageSchema), method(object({
|
|
|
18732
18824
|
locationId: string(),
|
|
18733
18825
|
targetBytes: number().int().positive()
|
|
18734
18826
|
}), EvictResultSchema, { kind: "mutation" });
|
|
18827
|
+
method(StorageMigrationInputSchema, StorageMigrationPlanSchema, { auth: "admin" }), method(StorageMigrationInputSchema, object({ jobId: string() }), {
|
|
18828
|
+
kind: "mutation",
|
|
18829
|
+
auth: "admin"
|
|
18830
|
+
}), method(object({ jobId: string().optional() }), StorageMigrationJobSchema.nullable(), { auth: "admin" }), method(object({ jobId: string() }), object({ cancelled: boolean() }), {
|
|
18831
|
+
kind: "mutation",
|
|
18832
|
+
auth: "admin"
|
|
18833
|
+
});
|
|
18735
18834
|
var ProviderInfoSchema = discriminatedUnion("shouldSaveDiskSpace", [object({
|
|
18736
18835
|
providerId: string().min(1),
|
|
18737
18836
|
displayName: string().min(1),
|
|
@@ -18835,7 +18934,67 @@ var TerminalProfileInfoSchema = object({
|
|
|
18835
18934
|
label: string(),
|
|
18836
18935
|
description: string().optional()
|
|
18837
18936
|
});
|
|
18838
|
-
|
|
18937
|
+
/**
|
|
18938
|
+
* A durable operator-created Terminal instance. Profiles are templates; only
|
|
18939
|
+
* an instance declares a camera.
|
|
18940
|
+
*/
|
|
18941
|
+
var TerminalInstanceInfoSchema = object({
|
|
18942
|
+
instanceId: string(),
|
|
18943
|
+
cameraStableId: string(),
|
|
18944
|
+
nodeId: string(),
|
|
18945
|
+
profileId: string(),
|
|
18946
|
+
profileLabel: string(),
|
|
18947
|
+
name: string(),
|
|
18948
|
+
enabled: boolean()
|
|
18949
|
+
});
|
|
18950
|
+
var TerminalLegacyCameraSchema = object({
|
|
18951
|
+
stableId: string(),
|
|
18952
|
+
nodeId: string(),
|
|
18953
|
+
profileId: string(),
|
|
18954
|
+
profileLabel: string(),
|
|
18955
|
+
name: string(),
|
|
18956
|
+
/** Only legacy monitor cameras can retain their historic stable identity. */
|
|
18957
|
+
adoptable: boolean()
|
|
18958
|
+
});
|
|
18959
|
+
var TerminalOutputEventSchema = discriminatedUnion("kind", [object({
|
|
18960
|
+
seq: number().int().positive(),
|
|
18961
|
+
kind: literal("data"),
|
|
18962
|
+
data: string()
|
|
18963
|
+
}), object({
|
|
18964
|
+
seq: number().int().positive(),
|
|
18965
|
+
kind: literal("exit"),
|
|
18966
|
+
exitCode: number().int(),
|
|
18967
|
+
signal: number().int().optional()
|
|
18968
|
+
})]);
|
|
18969
|
+
var TerminalOutputBatchSchema = object({
|
|
18970
|
+
cursor: number().int().nonnegative(),
|
|
18971
|
+
reset: boolean(),
|
|
18972
|
+
snapshot: string().optional(),
|
|
18973
|
+
events: array(TerminalOutputEventSchema).readonly()
|
|
18974
|
+
});
|
|
18975
|
+
method(_void(), array(TerminalProfileInfoSchema).readonly(), { auth: "admin" }), method(_void(), array(TerminalInstanceInfoSchema).readonly(), { auth: "admin" }), method(object({
|
|
18976
|
+
targetNodeId: string().min(1),
|
|
18977
|
+
profileId: string().min(1),
|
|
18978
|
+
name: string().trim().min(1).max(160).optional()
|
|
18979
|
+
}), TerminalInstanceInfoSchema, {
|
|
18980
|
+
kind: "mutation",
|
|
18981
|
+
auth: "admin"
|
|
18982
|
+
}), method(object({ instanceId: string().min(1) }), _void(), {
|
|
18983
|
+
kind: "mutation",
|
|
18984
|
+
auth: "admin"
|
|
18985
|
+
}), method(object({
|
|
18986
|
+
instanceId: string().min(1),
|
|
18987
|
+
enabled: boolean()
|
|
18988
|
+
}), TerminalInstanceInfoSchema, {
|
|
18989
|
+
kind: "mutation",
|
|
18990
|
+
auth: "admin"
|
|
18991
|
+
}), method(_void(), array(TerminalLegacyCameraSchema).readonly(), { auth: "admin" }), method(object({
|
|
18992
|
+
stableId: string().min(1),
|
|
18993
|
+
name: string().trim().min(1).max(160).optional()
|
|
18994
|
+
}), TerminalInstanceInfoSchema, {
|
|
18995
|
+
kind: "mutation",
|
|
18996
|
+
auth: "admin"
|
|
18997
|
+
}), method(_void(), array(TerminalSessionInfoSchema).readonly(), { auth: "admin" }), method(object({
|
|
18839
18998
|
profileId: string(),
|
|
18840
18999
|
cols: number().int().positive(),
|
|
18841
19000
|
rows: number().int().positive()
|
|
@@ -18849,6 +19008,26 @@ method(_void(), array(TerminalProfileInfoSchema).readonly(), { auth: "admin" }),
|
|
|
18849
19008
|
}), _void(), {
|
|
18850
19009
|
kind: "mutation",
|
|
18851
19010
|
auth: "admin"
|
|
19011
|
+
}), method(object({
|
|
19012
|
+
sessionId: string(),
|
|
19013
|
+
afterSeq: number().int().nonnegative(),
|
|
19014
|
+
waitMs: number().int().min(0).max(2e3).default(0),
|
|
19015
|
+
/**
|
|
19016
|
+
* Wait when a just-opened session has no output yet. Kept opt-in so a
|
|
19017
|
+
* browser's initial repaint remains immediate; the camera snapshot
|
|
19018
|
+
* relay uses it to avoid encoding a blank startup frame.
|
|
19019
|
+
*/
|
|
19020
|
+
waitForOutput: boolean().optional()
|
|
19021
|
+
}), TerminalOutputBatchSchema, {
|
|
19022
|
+
kind: "mutation",
|
|
19023
|
+
auth: "admin",
|
|
19024
|
+
timeoutMs: 15e3
|
|
19025
|
+
}), method(object({
|
|
19026
|
+
sessionId: string(),
|
|
19027
|
+
data: string().max(64 * 1024)
|
|
19028
|
+
}), _void(), {
|
|
19029
|
+
kind: "mutation",
|
|
19030
|
+
auth: "admin"
|
|
18852
19031
|
}), method(object({ sessionId: string() }), _void(), {
|
|
18853
19032
|
kind: "mutation",
|
|
18854
19033
|
auth: "admin"
|
|
@@ -21336,6 +21515,7 @@ var FaceInfoSchema = object({
|
|
|
21336
21515
|
var FaceFilterEnum = _enum([
|
|
21337
21516
|
"unassigned",
|
|
21338
21517
|
"recognized",
|
|
21518
|
+
"identified",
|
|
21339
21519
|
"all"
|
|
21340
21520
|
]);
|
|
21341
21521
|
var MediaFileLiteSchema$1 = object({
|
|
@@ -21364,6 +21544,8 @@ method(_void(), array(IdentitySchema).readonly()), method(object({ name: string(
|
|
|
21364
21544
|
kind: "mutation",
|
|
21365
21545
|
auth: "admin"
|
|
21366
21546
|
}), method(object({
|
|
21547
|
+
/** Restrict to one camera. Absent keeps the cluster-wide gallery view. */
|
|
21548
|
+
deviceId: number().int().optional(),
|
|
21367
21549
|
limit: number().int().positive().optional(),
|
|
21368
21550
|
filter: FaceFilterEnum.optional(),
|
|
21369
21551
|
/**
|
|
@@ -23690,6 +23872,10 @@ var OsdSourceSchema = discriminatedUnion("kind", [
|
|
|
23690
23872
|
capName: string().min(1).max(64),
|
|
23691
23873
|
/** Dot path inside the slice, e.g. `detected`, `value`, `mode`. */
|
|
23692
23874
|
valuePath: string().min(1).max(64)
|
|
23875
|
+
}),
|
|
23876
|
+
object({
|
|
23877
|
+
kind: literal("latest-recognition"),
|
|
23878
|
+
recognition: _enum(["person", "plate"])
|
|
23693
23879
|
})
|
|
23694
23880
|
]);
|
|
23695
23881
|
var OsdSlotBindingSchema = object({
|
|
@@ -23795,6 +23981,15 @@ method(object({ deviceId: number().int() }), object({
|
|
|
23795
23981
|
}), object({ success: literal(true) }), {
|
|
23796
23982
|
kind: "mutation",
|
|
23797
23983
|
auth: "admin"
|
|
23984
|
+
}), method(object({
|
|
23985
|
+
sourceDeviceId: number().int(),
|
|
23986
|
+
targetDeviceId: number().int()
|
|
23987
|
+
}), object({
|
|
23988
|
+
copied: number().int().nonnegative(),
|
|
23989
|
+
skipped: number().int().nonnegative()
|
|
23990
|
+
}), {
|
|
23991
|
+
kind: "mutation",
|
|
23992
|
+
auth: "admin"
|
|
23798
23993
|
}), method(object({
|
|
23799
23994
|
deviceId: number().int(),
|
|
23800
23995
|
slotId: string().min(1),
|
|
@@ -24979,13 +25174,19 @@ method(object({
|
|
|
24979
25174
|
}), {
|
|
24980
25175
|
kind: "mutation",
|
|
24981
25176
|
auth: "admin"
|
|
24982
|
-
}), method(
|
|
25177
|
+
}), method(StorageMigrationLeaseInputSchema, object({ paused: literal(true) }), {
|
|
24983
25178
|
kind: "mutation",
|
|
24984
25179
|
auth: "admin"
|
|
24985
|
-
}), method(object({
|
|
24986
|
-
kind: "
|
|
25180
|
+
}), method(StorageMigrationLeaseInputSchema, object({ resumed: literal(true) }), {
|
|
25181
|
+
kind: "mutation",
|
|
24987
25182
|
auth: "admin"
|
|
24988
|
-
}), method(
|
|
25183
|
+
}), method(StorageMigrationLeaseInputSchema, object({ refreshed: literal(true) }), {
|
|
25184
|
+
kind: "mutation",
|
|
25185
|
+
auth: "admin"
|
|
25186
|
+
}), method(StorageMigrationFootageMoveInputSchema, object({ jobId: string() }), {
|
|
25187
|
+
kind: "mutation",
|
|
25188
|
+
auth: "admin"
|
|
25189
|
+
}), method(object({ jobId: string() }), RelocateJobSchema.nullable(), { auth: "admin" }), method(object({ jobId: string() }), object({ cancelled: boolean() }), {
|
|
24989
25190
|
kind: "mutation",
|
|
24990
25191
|
auth: "admin"
|
|
24991
25192
|
});
|
|
@@ -30948,6 +31149,12 @@ Object.freeze({
|
|
|
30948
31149
|
addonId: null,
|
|
30949
31150
|
access: "delete"
|
|
30950
31151
|
},
|
|
31152
|
+
"osdManager.copyDeviceConfiguration": {
|
|
31153
|
+
capName: "osd-manager",
|
|
31154
|
+
capScope: "system",
|
|
31155
|
+
addonId: null,
|
|
31156
|
+
access: "create"
|
|
31157
|
+
},
|
|
30951
31158
|
"osdManager.getConditionSupport": {
|
|
30952
31159
|
capName: "osd-manager",
|
|
30953
31160
|
capScope: "system",
|
|
@@ -31044,7 +31251,7 @@ Object.freeze({
|
|
|
31044
31251
|
addonId: null,
|
|
31045
31252
|
access: "create"
|
|
31046
31253
|
},
|
|
31047
|
-
"pipelineAnalytics.
|
|
31254
|
+
"pipelineAnalytics.cancelStorageMigrationMove": {
|
|
31048
31255
|
capName: "pipeline-analytics",
|
|
31049
31256
|
capScope: "device",
|
|
31050
31257
|
addonId: null,
|
|
@@ -31116,12 +31323,6 @@ Object.freeze({
|
|
|
31116
31323
|
addonId: null,
|
|
31117
31324
|
access: "view"
|
|
31118
31325
|
},
|
|
31119
|
-
"pipelineAnalytics.getMediaRelocateStatus": {
|
|
31120
|
-
capName: "pipeline-analytics",
|
|
31121
|
-
capScope: "device",
|
|
31122
|
-
addonId: null,
|
|
31123
|
-
access: "view"
|
|
31124
|
-
},
|
|
31125
31326
|
"pipelineAnalytics.getMotionEvents": {
|
|
31126
31327
|
capName: "pipeline-analytics",
|
|
31127
31328
|
capScope: "device",
|
|
@@ -31158,6 +31359,12 @@ Object.freeze({
|
|
|
31158
31359
|
addonId: null,
|
|
31159
31360
|
access: "view"
|
|
31160
31361
|
},
|
|
31362
|
+
"pipelineAnalytics.getStorageMigrationMoveStatus": {
|
|
31363
|
+
capName: "pipeline-analytics",
|
|
31364
|
+
capScope: "device",
|
|
31365
|
+
addonId: null,
|
|
31366
|
+
access: "view"
|
|
31367
|
+
},
|
|
31161
31368
|
"pipelineAnalytics.getTrack": {
|
|
31162
31369
|
capName: "pipeline-analytics",
|
|
31163
31370
|
capScope: "device",
|
|
@@ -31236,6 +31443,12 @@ Object.freeze({
|
|
|
31236
31443
|
addonId: null,
|
|
31237
31444
|
access: "view"
|
|
31238
31445
|
},
|
|
31446
|
+
"pipelineAnalytics.pauseForStorageMigration": {
|
|
31447
|
+
capName: "pipeline-analytics",
|
|
31448
|
+
capScope: "device",
|
|
31449
|
+
addonId: null,
|
|
31450
|
+
access: "create"
|
|
31451
|
+
},
|
|
31239
31452
|
"pipelineAnalytics.proposeRetrainAnnotations": {
|
|
31240
31453
|
capName: "pipeline-analytics",
|
|
31241
31454
|
capScope: "device",
|
|
@@ -31266,7 +31479,7 @@ Object.freeze({
|
|
|
31266
31479
|
addonId: null,
|
|
31267
31480
|
access: "create"
|
|
31268
31481
|
},
|
|
31269
|
-
"pipelineAnalytics.
|
|
31482
|
+
"pipelineAnalytics.refreshStorageLocationsForMigration": {
|
|
31270
31483
|
capName: "pipeline-analytics",
|
|
31271
31484
|
capScope: "device",
|
|
31272
31485
|
addonId: null,
|
|
@@ -31278,6 +31491,12 @@ Object.freeze({
|
|
|
31278
31491
|
addonId: null,
|
|
31279
31492
|
access: "create"
|
|
31280
31493
|
},
|
|
31494
|
+
"pipelineAnalytics.resumeForStorageMigration": {
|
|
31495
|
+
capName: "pipeline-analytics",
|
|
31496
|
+
capScope: "device",
|
|
31497
|
+
addonId: null,
|
|
31498
|
+
access: "create"
|
|
31499
|
+
},
|
|
31281
31500
|
"pipelineAnalytics.saveRetrainAnnotations": {
|
|
31282
31501
|
capName: "pipeline-analytics",
|
|
31283
31502
|
capScope: "device",
|
|
@@ -31302,6 +31521,12 @@ Object.freeze({
|
|
|
31302
31521
|
addonId: null,
|
|
31303
31522
|
access: "create"
|
|
31304
31523
|
},
|
|
31524
|
+
"pipelineAnalytics.startStorageMigrationMove": {
|
|
31525
|
+
capName: "pipeline-analytics",
|
|
31526
|
+
capScope: "device",
|
|
31527
|
+
addonId: null,
|
|
31528
|
+
access: "create"
|
|
31529
|
+
},
|
|
31305
31530
|
"pipelineAnalytics.wipeAllAnalytics": {
|
|
31306
31531
|
capName: "pipeline-analytics",
|
|
31307
31532
|
capScope: "device",
|
|
@@ -31668,6 +31893,12 @@ Object.freeze({
|
|
|
31668
31893
|
addonId: null,
|
|
31669
31894
|
access: "view"
|
|
31670
31895
|
},
|
|
31896
|
+
"pipelineOrchestrator.pauseForStorageMigration": {
|
|
31897
|
+
capName: "pipeline-orchestrator",
|
|
31898
|
+
capScope: "system",
|
|
31899
|
+
addonId: null,
|
|
31900
|
+
access: "create"
|
|
31901
|
+
},
|
|
31671
31902
|
"pipelineOrchestrator.rebalance": {
|
|
31672
31903
|
capName: "pipeline-orchestrator",
|
|
31673
31904
|
capScope: "system",
|
|
@@ -31692,6 +31923,12 @@ Object.freeze({
|
|
|
31692
31923
|
addonId: null,
|
|
31693
31924
|
access: "view"
|
|
31694
31925
|
},
|
|
31926
|
+
"pipelineOrchestrator.resumeForStorageMigration": {
|
|
31927
|
+
capName: "pipeline-orchestrator",
|
|
31928
|
+
capScope: "system",
|
|
31929
|
+
addonId: null,
|
|
31930
|
+
access: "create"
|
|
31931
|
+
},
|
|
31695
31932
|
"pipelineOrchestrator.saveTemplate": {
|
|
31696
31933
|
capName: "pipeline-orchestrator",
|
|
31697
31934
|
capScope: "system",
|
|
@@ -32088,7 +32325,7 @@ Object.freeze({
|
|
|
32088
32325
|
addonId: null,
|
|
32089
32326
|
access: "create"
|
|
32090
32327
|
},
|
|
32091
|
-
"recording.
|
|
32328
|
+
"recording.cancelStorageMigrationMove": {
|
|
32092
32329
|
capName: "recording",
|
|
32093
32330
|
capScope: "system",
|
|
32094
32331
|
addonId: null,
|
|
@@ -32124,7 +32361,7 @@ Object.freeze({
|
|
|
32124
32361
|
addonId: null,
|
|
32125
32362
|
access: "view"
|
|
32126
32363
|
},
|
|
32127
|
-
"recording.
|
|
32364
|
+
"recording.getStorageMigrationMoveStatus": {
|
|
32128
32365
|
capName: "recording",
|
|
32129
32366
|
capScope: "system",
|
|
32130
32367
|
addonId: null,
|
|
@@ -32148,6 +32385,12 @@ Object.freeze({
|
|
|
32148
32385
|
addonId: null,
|
|
32149
32386
|
access: "view"
|
|
32150
32387
|
},
|
|
32388
|
+
"recording.pauseForStorageMigration": {
|
|
32389
|
+
capName: "recording",
|
|
32390
|
+
capScope: "system",
|
|
32391
|
+
addonId: null,
|
|
32392
|
+
access: "create"
|
|
32393
|
+
},
|
|
32151
32394
|
"recording.pruneFootage": {
|
|
32152
32395
|
capName: "recording",
|
|
32153
32396
|
capScope: "system",
|
|
@@ -32166,7 +32409,7 @@ Object.freeze({
|
|
|
32166
32409
|
addonId: null,
|
|
32167
32410
|
access: "view"
|
|
32168
32411
|
},
|
|
32169
|
-
"recording.
|
|
32412
|
+
"recording.refreshStorageLocationsForMigration": {
|
|
32170
32413
|
capName: "recording",
|
|
32171
32414
|
capScope: "system",
|
|
32172
32415
|
addonId: null,
|
|
@@ -32190,12 +32433,24 @@ Object.freeze({
|
|
|
32190
32433
|
addonId: null,
|
|
32191
32434
|
access: "create"
|
|
32192
32435
|
},
|
|
32436
|
+
"recording.resumeForStorageMigration": {
|
|
32437
|
+
capName: "recording",
|
|
32438
|
+
capScope: "system",
|
|
32439
|
+
addonId: null,
|
|
32440
|
+
access: "create"
|
|
32441
|
+
},
|
|
32193
32442
|
"recording.setDeviceConfig": {
|
|
32194
32443
|
capName: "recording",
|
|
32195
32444
|
capScope: "system",
|
|
32196
32445
|
addonId: null,
|
|
32197
32446
|
access: "create"
|
|
32198
32447
|
},
|
|
32448
|
+
"recording.startStorageMigrationMove": {
|
|
32449
|
+
capName: "recording",
|
|
32450
|
+
capScope: "system",
|
|
32451
|
+
addonId: null,
|
|
32452
|
+
access: "create"
|
|
32453
|
+
},
|
|
32199
32454
|
"recordingExport.cancelExport": {
|
|
32200
32455
|
capName: "recordingExport",
|
|
32201
32456
|
capScope: "system",
|
|
@@ -32586,6 +32841,30 @@ Object.freeze({
|
|
|
32586
32841
|
addonId: null,
|
|
32587
32842
|
access: "view"
|
|
32588
32843
|
},
|
|
32844
|
+
"storageMigration.cancel": {
|
|
32845
|
+
capName: "storage-migration",
|
|
32846
|
+
capScope: "system",
|
|
32847
|
+
addonId: null,
|
|
32848
|
+
access: "create"
|
|
32849
|
+
},
|
|
32850
|
+
"storageMigration.plan": {
|
|
32851
|
+
capName: "storage-migration",
|
|
32852
|
+
capScope: "system",
|
|
32853
|
+
addonId: null,
|
|
32854
|
+
access: "view"
|
|
32855
|
+
},
|
|
32856
|
+
"storageMigration.start": {
|
|
32857
|
+
capName: "storage-migration",
|
|
32858
|
+
capScope: "system",
|
|
32859
|
+
addonId: null,
|
|
32860
|
+
access: "create"
|
|
32861
|
+
},
|
|
32862
|
+
"storageMigration.status": {
|
|
32863
|
+
capName: "storage-migration",
|
|
32864
|
+
capScope: "system",
|
|
32865
|
+
addonId: null,
|
|
32866
|
+
access: "view"
|
|
32867
|
+
},
|
|
32589
32868
|
"storageProvider.abortUpload": {
|
|
32590
32869
|
capName: "storage-provider",
|
|
32591
32870
|
capScope: "system",
|
|
@@ -32964,12 +33243,42 @@ Object.freeze({
|
|
|
32964
33243
|
addonId: null,
|
|
32965
33244
|
access: "create"
|
|
32966
33245
|
},
|
|
33246
|
+
"terminalSession.adoptLegacyMonitor": {
|
|
33247
|
+
capName: "terminal-session",
|
|
33248
|
+
capScope: "system",
|
|
33249
|
+
addonId: null,
|
|
33250
|
+
access: "create"
|
|
33251
|
+
},
|
|
32967
33252
|
"terminalSession.close": {
|
|
32968
33253
|
capName: "terminal-session",
|
|
32969
33254
|
capScope: "system",
|
|
32970
33255
|
addonId: null,
|
|
32971
33256
|
access: "create"
|
|
32972
33257
|
},
|
|
33258
|
+
"terminalSession.createInstance": {
|
|
33259
|
+
capName: "terminal-session",
|
|
33260
|
+
capScope: "system",
|
|
33261
|
+
addonId: null,
|
|
33262
|
+
access: "create"
|
|
33263
|
+
},
|
|
33264
|
+
"terminalSession.deleteInstance": {
|
|
33265
|
+
capName: "terminal-session",
|
|
33266
|
+
capScope: "system",
|
|
33267
|
+
addonId: null,
|
|
33268
|
+
access: "delete"
|
|
33269
|
+
},
|
|
33270
|
+
"terminalSession.listInstances": {
|
|
33271
|
+
capName: "terminal-session",
|
|
33272
|
+
capScope: "system",
|
|
33273
|
+
addonId: null,
|
|
33274
|
+
access: "view"
|
|
33275
|
+
},
|
|
33276
|
+
"terminalSession.listLegacyCameras": {
|
|
33277
|
+
capName: "terminal-session",
|
|
33278
|
+
capScope: "system",
|
|
33279
|
+
addonId: null,
|
|
33280
|
+
access: "view"
|
|
33281
|
+
},
|
|
32973
33282
|
"terminalSession.listProfiles": {
|
|
32974
33283
|
capName: "terminal-session",
|
|
32975
33284
|
capScope: "system",
|
|
@@ -32988,12 +33297,30 @@ Object.freeze({
|
|
|
32988
33297
|
addonId: null,
|
|
32989
33298
|
access: "create"
|
|
32990
33299
|
},
|
|
33300
|
+
"terminalSession.pullOutput": {
|
|
33301
|
+
capName: "terminal-session",
|
|
33302
|
+
capScope: "system",
|
|
33303
|
+
addonId: null,
|
|
33304
|
+
access: "create"
|
|
33305
|
+
},
|
|
32991
33306
|
"terminalSession.resize": {
|
|
32992
33307
|
capName: "terminal-session",
|
|
32993
33308
|
capScope: "system",
|
|
32994
33309
|
addonId: null,
|
|
32995
33310
|
access: "create"
|
|
32996
33311
|
},
|
|
33312
|
+
"terminalSession.setInstanceEnabled": {
|
|
33313
|
+
capName: "terminal-session",
|
|
33314
|
+
capScope: "system",
|
|
33315
|
+
addonId: null,
|
|
33316
|
+
access: "create"
|
|
33317
|
+
},
|
|
33318
|
+
"terminalSession.writeInput": {
|
|
33319
|
+
capName: "terminal-session",
|
|
33320
|
+
capScope: "system",
|
|
33321
|
+
addonId: null,
|
|
33322
|
+
access: "create"
|
|
33323
|
+
},
|
|
32997
33324
|
"toast.onToast": {
|
|
32998
33325
|
capName: "toast",
|
|
32999
33326
|
capScope: "system",
|
package/dist/addon.mjs
CHANGED
|
@@ -7547,12 +7547,11 @@ var RecordingConfigSchema = object({
|
|
|
7547
7547
|
/**
|
|
7548
7548
|
* Entity-relocation job state (storage entity-routing spec, Phase 4).
|
|
7549
7549
|
*
|
|
7550
|
-
* One shape shared by the recorder
|
|
7551
|
-
*
|
|
7552
|
-
*
|
|
7553
|
-
*
|
|
7554
|
-
*
|
|
7555
|
-
* row on the owning addon's surface.
|
|
7550
|
+
* One shape shared by the recorder and pipeline-analytics internal movers.
|
|
7551
|
+
* The public admin surface is `storage-migration`; child jobs remain in RAM
|
|
7552
|
+
* because copy-if-absent, verify, delete and index/row repoint are resumable.
|
|
7553
|
+
* Each completed/failed run also lands one durable ops-log row on its owning
|
|
7554
|
+
* addon surface.
|
|
7556
7555
|
*/
|
|
7557
7556
|
var RelocateJobStateSchema = _enum([
|
|
7558
7557
|
"running",
|
|
@@ -7579,19 +7578,100 @@ var RelocateJobSchema = object({
|
|
|
7579
7578
|
finishedAt: number().nullable(),
|
|
7580
7579
|
error: string().nullable()
|
|
7581
7580
|
});
|
|
7581
|
+
/** Profile-derived footage selection used only by the migration coordinator:
|
|
7582
|
+
* `recordings` owns high+mid; `recordingsLow` owns low. */
|
|
7583
|
+
var RelocateFootageClassSchema = _enum(["recordings", "recordingsLow"]);
|
|
7582
7584
|
var RelocateFootageInputSchema = object({
|
|
7583
|
-
deviceId: number().optional(),
|
|
7584
7585
|
fromLocationId: string(),
|
|
7585
7586
|
toLocationId: string(),
|
|
7586
7587
|
entities: array(_enum(["segments"])).optional(),
|
|
7588
|
+
/** Limits relocation to the logical profile class. Omit only for the
|
|
7589
|
+
* pre-orchestration compatibility path. */
|
|
7590
|
+
footageClass: RelocateFootageClassSchema.optional(),
|
|
7587
7591
|
/** Copy throttle in MB/s (default 40) — the drain is a background chore,
|
|
7588
7592
|
* never allowed to starve live writers. */
|
|
7589
7593
|
throttleMbps: number().min(1).max(1e3).optional()
|
|
7590
7594
|
});
|
|
7591
|
-
|
|
7592
|
-
|
|
7595
|
+
/** Internal, lease-scoped participant operation. It is intentionally separate
|
|
7596
|
+
* from persistent recording settings: a migration never changes
|
|
7597
|
+
* `RecordingConfig.enabled` or camera wrapper bindings. */
|
|
7598
|
+
var StorageMigrationLeaseInputSchema = object({ leaseId: string().min(1) });
|
|
7599
|
+
var StorageMigrationFootageMoveInputSchema = RelocateFootageInputSchema.extend({ leaseId: string().min(1) });
|
|
7600
|
+
var StorageMigrationMediaMoveInputSchema = object({
|
|
7593
7601
|
toLocationId: string(),
|
|
7594
7602
|
throttleMbps: number().min(1).max(1e3).optional()
|
|
7603
|
+
}).extend({ leaseId: string().min(1) });
|
|
7604
|
+
/** The independently selectable logical storage classes. `recordings`
|
|
7605
|
+
* encompasses the high and mid segment profiles; `recordingsLow` is low
|
|
7606
|
+
* segments; `eventMedia` is post-analysis blobs. */
|
|
7607
|
+
var StorageMigrationClassSchema = _enum([
|
|
7608
|
+
"recordings",
|
|
7609
|
+
"recordingsLow",
|
|
7610
|
+
"eventMedia"
|
|
7611
|
+
]);
|
|
7612
|
+
/** A destination is always an existing, fully-qualified location id. The
|
|
7613
|
+
* migration API intentionally never changes a source location's `basePath`:
|
|
7614
|
+
* callers create a new `<type>:<slug>` location, then select it here. */
|
|
7615
|
+
var StorageMigrationDestinationsSchema = object({
|
|
7616
|
+
recordings: string().min(1).optional(),
|
|
7617
|
+
recordingsLow: string().min(1).optional(),
|
|
7618
|
+
eventMedia: string().min(1).optional()
|
|
7619
|
+
}).refine((value) => Object.keys(value).length > 0, { message: "select at least one storage class" });
|
|
7620
|
+
/** Shared input for planning and starting an orchestrated storage migration. */
|
|
7621
|
+
var StorageMigrationInputSchema = object({
|
|
7622
|
+
destinations: StorageMigrationDestinationsSchema,
|
|
7623
|
+
throttleMbps: number().min(1).max(1e3).optional()
|
|
7624
|
+
});
|
|
7625
|
+
/** The durable coordinator state machine. The only phase that changes default
|
|
7626
|
+
* locations is `repointing`, after every selected mover has completed and been
|
|
7627
|
+
* verified. */
|
|
7628
|
+
var StorageMigrationPhaseSchema = _enum([
|
|
7629
|
+
"planning",
|
|
7630
|
+
"pausing",
|
|
7631
|
+
"moving",
|
|
7632
|
+
"verifying",
|
|
7633
|
+
"repointing",
|
|
7634
|
+
"refreshing",
|
|
7635
|
+
"resuming",
|
|
7636
|
+
"done",
|
|
7637
|
+
"failed",
|
|
7638
|
+
"cancelled"
|
|
7639
|
+
]);
|
|
7640
|
+
var StorageMigrationParticipantSchema = _enum([
|
|
7641
|
+
"pipeline",
|
|
7642
|
+
"recorder",
|
|
7643
|
+
"analytics"
|
|
7644
|
+
]);
|
|
7645
|
+
var StorageMigrationMoveSchema = object({
|
|
7646
|
+
storageClass: StorageMigrationClassSchema,
|
|
7647
|
+
fromLocationId: string(),
|
|
7648
|
+
toLocationId: string(),
|
|
7649
|
+
moverJobId: string().nullable(),
|
|
7650
|
+
state: RelocateJobStateSchema.nullable(),
|
|
7651
|
+
error: string().nullable()
|
|
7652
|
+
});
|
|
7653
|
+
var StorageMigrationJobSchema = object({
|
|
7654
|
+
jobId: string(),
|
|
7655
|
+
phase: StorageMigrationPhaseSchema,
|
|
7656
|
+
destinations: StorageMigrationDestinationsSchema,
|
|
7657
|
+
throttleMbps: number(),
|
|
7658
|
+
moves: array(StorageMigrationMoveSchema),
|
|
7659
|
+
pauseLeaseId: string().nullable(),
|
|
7660
|
+
pausedParticipants: array(StorageMigrationParticipantSchema),
|
|
7661
|
+
repointed: boolean(),
|
|
7662
|
+
cancelRequested: boolean(),
|
|
7663
|
+
startedAt: number(),
|
|
7664
|
+
updatedAt: number(),
|
|
7665
|
+
finishedAt: number().nullable(),
|
|
7666
|
+
error: string().nullable()
|
|
7667
|
+
});
|
|
7668
|
+
var StorageMigrationPlanSchema = object({
|
|
7669
|
+
destinations: StorageMigrationDestinationsSchema,
|
|
7670
|
+
moves: array(object({
|
|
7671
|
+
storageClass: StorageMigrationClassSchema,
|
|
7672
|
+
fromLocationId: string(),
|
|
7673
|
+
toLocationId: string()
|
|
7674
|
+
}))
|
|
7595
7675
|
});
|
|
7596
7676
|
/**
|
|
7597
7677
|
* `StorageLocationType` — an addon-declared id that identifies the *kind* of
|
|
@@ -16432,13 +16512,19 @@ DeviceType.Camera, method(object({ deviceId: number() }), array(TrackSchema).rea
|
|
|
16432
16512
|
}), method(object({ deviceId: number() }), EventPruneCountsSchema, {
|
|
16433
16513
|
kind: "mutation",
|
|
16434
16514
|
auth: "admin"
|
|
16435
|
-
}), method(
|
|
16515
|
+
}), method(StorageMigrationLeaseInputSchema, object({ paused: literal(true) }), {
|
|
16436
16516
|
kind: "mutation",
|
|
16437
16517
|
auth: "admin"
|
|
16438
|
-
}), method(object({
|
|
16439
|
-
kind: "
|
|
16518
|
+
}), method(StorageMigrationLeaseInputSchema, object({ resumed: literal(true) }), {
|
|
16519
|
+
kind: "mutation",
|
|
16440
16520
|
auth: "admin"
|
|
16441
|
-
}), method(
|
|
16521
|
+
}), method(StorageMigrationLeaseInputSchema, object({ refreshed: literal(true) }), {
|
|
16522
|
+
kind: "mutation",
|
|
16523
|
+
auth: "admin"
|
|
16524
|
+
}), method(StorageMigrationMediaMoveInputSchema, object({ jobId: string() }), {
|
|
16525
|
+
kind: "mutation",
|
|
16526
|
+
auth: "admin"
|
|
16527
|
+
}), method(object({ jobId: string() }), RelocateJobSchema.nullable(), { auth: "admin" }), method(object({ jobId: string() }), object({ cancelled: boolean() }), {
|
|
16442
16528
|
kind: "mutation",
|
|
16443
16529
|
auth: "admin"
|
|
16444
16530
|
}), method(OpsLogQueryInputSchema, array(OpsLogEntrySchema).readonly(), {
|
|
@@ -17968,7 +18054,13 @@ var NodeInferenceDevicesSchema = object({
|
|
|
17968
18054
|
reachable: boolean(),
|
|
17969
18055
|
devices: array(NodeInferenceDeviceSchema).readonly()
|
|
17970
18056
|
});
|
|
17971
|
-
method(object({
|
|
18057
|
+
method(StorageMigrationLeaseInputSchema, object({ paused: literal(true) }), {
|
|
18058
|
+
kind: "mutation",
|
|
18059
|
+
auth: "admin"
|
|
18060
|
+
}), method(StorageMigrationLeaseInputSchema, object({ resumed: literal(true) }), {
|
|
18061
|
+
kind: "mutation",
|
|
18062
|
+
auth: "admin"
|
|
18063
|
+
}), method(object({
|
|
17972
18064
|
deviceId: number(),
|
|
17973
18065
|
agentNodeId: string()
|
|
17974
18066
|
}), object({ success: literal(true) }), {
|
|
@@ -18733,6 +18825,13 @@ method(object({ locationId: string() }), EvictableUsageSchema), method(object({
|
|
|
18733
18825
|
locationId: string(),
|
|
18734
18826
|
targetBytes: number().int().positive()
|
|
18735
18827
|
}), EvictResultSchema, { kind: "mutation" });
|
|
18828
|
+
method(StorageMigrationInputSchema, StorageMigrationPlanSchema, { auth: "admin" }), method(StorageMigrationInputSchema, object({ jobId: string() }), {
|
|
18829
|
+
kind: "mutation",
|
|
18830
|
+
auth: "admin"
|
|
18831
|
+
}), method(object({ jobId: string().optional() }), StorageMigrationJobSchema.nullable(), { auth: "admin" }), method(object({ jobId: string() }), object({ cancelled: boolean() }), {
|
|
18832
|
+
kind: "mutation",
|
|
18833
|
+
auth: "admin"
|
|
18834
|
+
});
|
|
18736
18835
|
var ProviderInfoSchema = discriminatedUnion("shouldSaveDiskSpace", [object({
|
|
18737
18836
|
providerId: string().min(1),
|
|
18738
18837
|
displayName: string().min(1),
|
|
@@ -18836,7 +18935,67 @@ var TerminalProfileInfoSchema = object({
|
|
|
18836
18935
|
label: string(),
|
|
18837
18936
|
description: string().optional()
|
|
18838
18937
|
});
|
|
18839
|
-
|
|
18938
|
+
/**
|
|
18939
|
+
* A durable operator-created Terminal instance. Profiles are templates; only
|
|
18940
|
+
* an instance declares a camera.
|
|
18941
|
+
*/
|
|
18942
|
+
var TerminalInstanceInfoSchema = object({
|
|
18943
|
+
instanceId: string(),
|
|
18944
|
+
cameraStableId: string(),
|
|
18945
|
+
nodeId: string(),
|
|
18946
|
+
profileId: string(),
|
|
18947
|
+
profileLabel: string(),
|
|
18948
|
+
name: string(),
|
|
18949
|
+
enabled: boolean()
|
|
18950
|
+
});
|
|
18951
|
+
var TerminalLegacyCameraSchema = object({
|
|
18952
|
+
stableId: string(),
|
|
18953
|
+
nodeId: string(),
|
|
18954
|
+
profileId: string(),
|
|
18955
|
+
profileLabel: string(),
|
|
18956
|
+
name: string(),
|
|
18957
|
+
/** Only legacy monitor cameras can retain their historic stable identity. */
|
|
18958
|
+
adoptable: boolean()
|
|
18959
|
+
});
|
|
18960
|
+
var TerminalOutputEventSchema = discriminatedUnion("kind", [object({
|
|
18961
|
+
seq: number().int().positive(),
|
|
18962
|
+
kind: literal("data"),
|
|
18963
|
+
data: string()
|
|
18964
|
+
}), object({
|
|
18965
|
+
seq: number().int().positive(),
|
|
18966
|
+
kind: literal("exit"),
|
|
18967
|
+
exitCode: number().int(),
|
|
18968
|
+
signal: number().int().optional()
|
|
18969
|
+
})]);
|
|
18970
|
+
var TerminalOutputBatchSchema = object({
|
|
18971
|
+
cursor: number().int().nonnegative(),
|
|
18972
|
+
reset: boolean(),
|
|
18973
|
+
snapshot: string().optional(),
|
|
18974
|
+
events: array(TerminalOutputEventSchema).readonly()
|
|
18975
|
+
});
|
|
18976
|
+
method(_void(), array(TerminalProfileInfoSchema).readonly(), { auth: "admin" }), method(_void(), array(TerminalInstanceInfoSchema).readonly(), { auth: "admin" }), method(object({
|
|
18977
|
+
targetNodeId: string().min(1),
|
|
18978
|
+
profileId: string().min(1),
|
|
18979
|
+
name: string().trim().min(1).max(160).optional()
|
|
18980
|
+
}), TerminalInstanceInfoSchema, {
|
|
18981
|
+
kind: "mutation",
|
|
18982
|
+
auth: "admin"
|
|
18983
|
+
}), method(object({ instanceId: string().min(1) }), _void(), {
|
|
18984
|
+
kind: "mutation",
|
|
18985
|
+
auth: "admin"
|
|
18986
|
+
}), method(object({
|
|
18987
|
+
instanceId: string().min(1),
|
|
18988
|
+
enabled: boolean()
|
|
18989
|
+
}), TerminalInstanceInfoSchema, {
|
|
18990
|
+
kind: "mutation",
|
|
18991
|
+
auth: "admin"
|
|
18992
|
+
}), method(_void(), array(TerminalLegacyCameraSchema).readonly(), { auth: "admin" }), method(object({
|
|
18993
|
+
stableId: string().min(1),
|
|
18994
|
+
name: string().trim().min(1).max(160).optional()
|
|
18995
|
+
}), TerminalInstanceInfoSchema, {
|
|
18996
|
+
kind: "mutation",
|
|
18997
|
+
auth: "admin"
|
|
18998
|
+
}), method(_void(), array(TerminalSessionInfoSchema).readonly(), { auth: "admin" }), method(object({
|
|
18840
18999
|
profileId: string(),
|
|
18841
19000
|
cols: number().int().positive(),
|
|
18842
19001
|
rows: number().int().positive()
|
|
@@ -18850,6 +19009,26 @@ method(_void(), array(TerminalProfileInfoSchema).readonly(), { auth: "admin" }),
|
|
|
18850
19009
|
}), _void(), {
|
|
18851
19010
|
kind: "mutation",
|
|
18852
19011
|
auth: "admin"
|
|
19012
|
+
}), method(object({
|
|
19013
|
+
sessionId: string(),
|
|
19014
|
+
afterSeq: number().int().nonnegative(),
|
|
19015
|
+
waitMs: number().int().min(0).max(2e3).default(0),
|
|
19016
|
+
/**
|
|
19017
|
+
* Wait when a just-opened session has no output yet. Kept opt-in so a
|
|
19018
|
+
* browser's initial repaint remains immediate; the camera snapshot
|
|
19019
|
+
* relay uses it to avoid encoding a blank startup frame.
|
|
19020
|
+
*/
|
|
19021
|
+
waitForOutput: boolean().optional()
|
|
19022
|
+
}), TerminalOutputBatchSchema, {
|
|
19023
|
+
kind: "mutation",
|
|
19024
|
+
auth: "admin",
|
|
19025
|
+
timeoutMs: 15e3
|
|
19026
|
+
}), method(object({
|
|
19027
|
+
sessionId: string(),
|
|
19028
|
+
data: string().max(64 * 1024)
|
|
19029
|
+
}), _void(), {
|
|
19030
|
+
kind: "mutation",
|
|
19031
|
+
auth: "admin"
|
|
18853
19032
|
}), method(object({ sessionId: string() }), _void(), {
|
|
18854
19033
|
kind: "mutation",
|
|
18855
19034
|
auth: "admin"
|
|
@@ -21337,6 +21516,7 @@ var FaceInfoSchema = object({
|
|
|
21337
21516
|
var FaceFilterEnum = _enum([
|
|
21338
21517
|
"unassigned",
|
|
21339
21518
|
"recognized",
|
|
21519
|
+
"identified",
|
|
21340
21520
|
"all"
|
|
21341
21521
|
]);
|
|
21342
21522
|
var MediaFileLiteSchema$1 = object({
|
|
@@ -21365,6 +21545,8 @@ method(_void(), array(IdentitySchema).readonly()), method(object({ name: string(
|
|
|
21365
21545
|
kind: "mutation",
|
|
21366
21546
|
auth: "admin"
|
|
21367
21547
|
}), method(object({
|
|
21548
|
+
/** Restrict to one camera. Absent keeps the cluster-wide gallery view. */
|
|
21549
|
+
deviceId: number().int().optional(),
|
|
21368
21550
|
limit: number().int().positive().optional(),
|
|
21369
21551
|
filter: FaceFilterEnum.optional(),
|
|
21370
21552
|
/**
|
|
@@ -23691,6 +23873,10 @@ var OsdSourceSchema = discriminatedUnion("kind", [
|
|
|
23691
23873
|
capName: string().min(1).max(64),
|
|
23692
23874
|
/** Dot path inside the slice, e.g. `detected`, `value`, `mode`. */
|
|
23693
23875
|
valuePath: string().min(1).max(64)
|
|
23876
|
+
}),
|
|
23877
|
+
object({
|
|
23878
|
+
kind: literal("latest-recognition"),
|
|
23879
|
+
recognition: _enum(["person", "plate"])
|
|
23694
23880
|
})
|
|
23695
23881
|
]);
|
|
23696
23882
|
var OsdSlotBindingSchema = object({
|
|
@@ -23796,6 +23982,15 @@ method(object({ deviceId: number().int() }), object({
|
|
|
23796
23982
|
}), object({ success: literal(true) }), {
|
|
23797
23983
|
kind: "mutation",
|
|
23798
23984
|
auth: "admin"
|
|
23985
|
+
}), method(object({
|
|
23986
|
+
sourceDeviceId: number().int(),
|
|
23987
|
+
targetDeviceId: number().int()
|
|
23988
|
+
}), object({
|
|
23989
|
+
copied: number().int().nonnegative(),
|
|
23990
|
+
skipped: number().int().nonnegative()
|
|
23991
|
+
}), {
|
|
23992
|
+
kind: "mutation",
|
|
23993
|
+
auth: "admin"
|
|
23799
23994
|
}), method(object({
|
|
23800
23995
|
deviceId: number().int(),
|
|
23801
23996
|
slotId: string().min(1),
|
|
@@ -24980,13 +25175,19 @@ method(object({
|
|
|
24980
25175
|
}), {
|
|
24981
25176
|
kind: "mutation",
|
|
24982
25177
|
auth: "admin"
|
|
24983
|
-
}), method(
|
|
25178
|
+
}), method(StorageMigrationLeaseInputSchema, object({ paused: literal(true) }), {
|
|
24984
25179
|
kind: "mutation",
|
|
24985
25180
|
auth: "admin"
|
|
24986
|
-
}), method(object({
|
|
24987
|
-
kind: "
|
|
25181
|
+
}), method(StorageMigrationLeaseInputSchema, object({ resumed: literal(true) }), {
|
|
25182
|
+
kind: "mutation",
|
|
24988
25183
|
auth: "admin"
|
|
24989
|
-
}), method(
|
|
25184
|
+
}), method(StorageMigrationLeaseInputSchema, object({ refreshed: literal(true) }), {
|
|
25185
|
+
kind: "mutation",
|
|
25186
|
+
auth: "admin"
|
|
25187
|
+
}), method(StorageMigrationFootageMoveInputSchema, object({ jobId: string() }), {
|
|
25188
|
+
kind: "mutation",
|
|
25189
|
+
auth: "admin"
|
|
25190
|
+
}), method(object({ jobId: string() }), RelocateJobSchema.nullable(), { auth: "admin" }), method(object({ jobId: string() }), object({ cancelled: boolean() }), {
|
|
24990
25191
|
kind: "mutation",
|
|
24991
25192
|
auth: "admin"
|
|
24992
25193
|
});
|
|
@@ -30949,6 +31150,12 @@ Object.freeze({
|
|
|
30949
31150
|
addonId: null,
|
|
30950
31151
|
access: "delete"
|
|
30951
31152
|
},
|
|
31153
|
+
"osdManager.copyDeviceConfiguration": {
|
|
31154
|
+
capName: "osd-manager",
|
|
31155
|
+
capScope: "system",
|
|
31156
|
+
addonId: null,
|
|
31157
|
+
access: "create"
|
|
31158
|
+
},
|
|
30952
31159
|
"osdManager.getConditionSupport": {
|
|
30953
31160
|
capName: "osd-manager",
|
|
30954
31161
|
capScope: "system",
|
|
@@ -31045,7 +31252,7 @@ Object.freeze({
|
|
|
31045
31252
|
addonId: null,
|
|
31046
31253
|
access: "create"
|
|
31047
31254
|
},
|
|
31048
|
-
"pipelineAnalytics.
|
|
31255
|
+
"pipelineAnalytics.cancelStorageMigrationMove": {
|
|
31049
31256
|
capName: "pipeline-analytics",
|
|
31050
31257
|
capScope: "device",
|
|
31051
31258
|
addonId: null,
|
|
@@ -31117,12 +31324,6 @@ Object.freeze({
|
|
|
31117
31324
|
addonId: null,
|
|
31118
31325
|
access: "view"
|
|
31119
31326
|
},
|
|
31120
|
-
"pipelineAnalytics.getMediaRelocateStatus": {
|
|
31121
|
-
capName: "pipeline-analytics",
|
|
31122
|
-
capScope: "device",
|
|
31123
|
-
addonId: null,
|
|
31124
|
-
access: "view"
|
|
31125
|
-
},
|
|
31126
31327
|
"pipelineAnalytics.getMotionEvents": {
|
|
31127
31328
|
capName: "pipeline-analytics",
|
|
31128
31329
|
capScope: "device",
|
|
@@ -31159,6 +31360,12 @@ Object.freeze({
|
|
|
31159
31360
|
addonId: null,
|
|
31160
31361
|
access: "view"
|
|
31161
31362
|
},
|
|
31363
|
+
"pipelineAnalytics.getStorageMigrationMoveStatus": {
|
|
31364
|
+
capName: "pipeline-analytics",
|
|
31365
|
+
capScope: "device",
|
|
31366
|
+
addonId: null,
|
|
31367
|
+
access: "view"
|
|
31368
|
+
},
|
|
31162
31369
|
"pipelineAnalytics.getTrack": {
|
|
31163
31370
|
capName: "pipeline-analytics",
|
|
31164
31371
|
capScope: "device",
|
|
@@ -31237,6 +31444,12 @@ Object.freeze({
|
|
|
31237
31444
|
addonId: null,
|
|
31238
31445
|
access: "view"
|
|
31239
31446
|
},
|
|
31447
|
+
"pipelineAnalytics.pauseForStorageMigration": {
|
|
31448
|
+
capName: "pipeline-analytics",
|
|
31449
|
+
capScope: "device",
|
|
31450
|
+
addonId: null,
|
|
31451
|
+
access: "create"
|
|
31452
|
+
},
|
|
31240
31453
|
"pipelineAnalytics.proposeRetrainAnnotations": {
|
|
31241
31454
|
capName: "pipeline-analytics",
|
|
31242
31455
|
capScope: "device",
|
|
@@ -31267,7 +31480,7 @@ Object.freeze({
|
|
|
31267
31480
|
addonId: null,
|
|
31268
31481
|
access: "create"
|
|
31269
31482
|
},
|
|
31270
|
-
"pipelineAnalytics.
|
|
31483
|
+
"pipelineAnalytics.refreshStorageLocationsForMigration": {
|
|
31271
31484
|
capName: "pipeline-analytics",
|
|
31272
31485
|
capScope: "device",
|
|
31273
31486
|
addonId: null,
|
|
@@ -31279,6 +31492,12 @@ Object.freeze({
|
|
|
31279
31492
|
addonId: null,
|
|
31280
31493
|
access: "create"
|
|
31281
31494
|
},
|
|
31495
|
+
"pipelineAnalytics.resumeForStorageMigration": {
|
|
31496
|
+
capName: "pipeline-analytics",
|
|
31497
|
+
capScope: "device",
|
|
31498
|
+
addonId: null,
|
|
31499
|
+
access: "create"
|
|
31500
|
+
},
|
|
31282
31501
|
"pipelineAnalytics.saveRetrainAnnotations": {
|
|
31283
31502
|
capName: "pipeline-analytics",
|
|
31284
31503
|
capScope: "device",
|
|
@@ -31303,6 +31522,12 @@ Object.freeze({
|
|
|
31303
31522
|
addonId: null,
|
|
31304
31523
|
access: "create"
|
|
31305
31524
|
},
|
|
31525
|
+
"pipelineAnalytics.startStorageMigrationMove": {
|
|
31526
|
+
capName: "pipeline-analytics",
|
|
31527
|
+
capScope: "device",
|
|
31528
|
+
addonId: null,
|
|
31529
|
+
access: "create"
|
|
31530
|
+
},
|
|
31306
31531
|
"pipelineAnalytics.wipeAllAnalytics": {
|
|
31307
31532
|
capName: "pipeline-analytics",
|
|
31308
31533
|
capScope: "device",
|
|
@@ -31669,6 +31894,12 @@ Object.freeze({
|
|
|
31669
31894
|
addonId: null,
|
|
31670
31895
|
access: "view"
|
|
31671
31896
|
},
|
|
31897
|
+
"pipelineOrchestrator.pauseForStorageMigration": {
|
|
31898
|
+
capName: "pipeline-orchestrator",
|
|
31899
|
+
capScope: "system",
|
|
31900
|
+
addonId: null,
|
|
31901
|
+
access: "create"
|
|
31902
|
+
},
|
|
31672
31903
|
"pipelineOrchestrator.rebalance": {
|
|
31673
31904
|
capName: "pipeline-orchestrator",
|
|
31674
31905
|
capScope: "system",
|
|
@@ -31693,6 +31924,12 @@ Object.freeze({
|
|
|
31693
31924
|
addonId: null,
|
|
31694
31925
|
access: "view"
|
|
31695
31926
|
},
|
|
31927
|
+
"pipelineOrchestrator.resumeForStorageMigration": {
|
|
31928
|
+
capName: "pipeline-orchestrator",
|
|
31929
|
+
capScope: "system",
|
|
31930
|
+
addonId: null,
|
|
31931
|
+
access: "create"
|
|
31932
|
+
},
|
|
31696
31933
|
"pipelineOrchestrator.saveTemplate": {
|
|
31697
31934
|
capName: "pipeline-orchestrator",
|
|
31698
31935
|
capScope: "system",
|
|
@@ -32089,7 +32326,7 @@ Object.freeze({
|
|
|
32089
32326
|
addonId: null,
|
|
32090
32327
|
access: "create"
|
|
32091
32328
|
},
|
|
32092
|
-
"recording.
|
|
32329
|
+
"recording.cancelStorageMigrationMove": {
|
|
32093
32330
|
capName: "recording",
|
|
32094
32331
|
capScope: "system",
|
|
32095
32332
|
addonId: null,
|
|
@@ -32125,7 +32362,7 @@ Object.freeze({
|
|
|
32125
32362
|
addonId: null,
|
|
32126
32363
|
access: "view"
|
|
32127
32364
|
},
|
|
32128
|
-
"recording.
|
|
32365
|
+
"recording.getStorageMigrationMoveStatus": {
|
|
32129
32366
|
capName: "recording",
|
|
32130
32367
|
capScope: "system",
|
|
32131
32368
|
addonId: null,
|
|
@@ -32149,6 +32386,12 @@ Object.freeze({
|
|
|
32149
32386
|
addonId: null,
|
|
32150
32387
|
access: "view"
|
|
32151
32388
|
},
|
|
32389
|
+
"recording.pauseForStorageMigration": {
|
|
32390
|
+
capName: "recording",
|
|
32391
|
+
capScope: "system",
|
|
32392
|
+
addonId: null,
|
|
32393
|
+
access: "create"
|
|
32394
|
+
},
|
|
32152
32395
|
"recording.pruneFootage": {
|
|
32153
32396
|
capName: "recording",
|
|
32154
32397
|
capScope: "system",
|
|
@@ -32167,7 +32410,7 @@ Object.freeze({
|
|
|
32167
32410
|
addonId: null,
|
|
32168
32411
|
access: "view"
|
|
32169
32412
|
},
|
|
32170
|
-
"recording.
|
|
32413
|
+
"recording.refreshStorageLocationsForMigration": {
|
|
32171
32414
|
capName: "recording",
|
|
32172
32415
|
capScope: "system",
|
|
32173
32416
|
addonId: null,
|
|
@@ -32191,12 +32434,24 @@ Object.freeze({
|
|
|
32191
32434
|
addonId: null,
|
|
32192
32435
|
access: "create"
|
|
32193
32436
|
},
|
|
32437
|
+
"recording.resumeForStorageMigration": {
|
|
32438
|
+
capName: "recording",
|
|
32439
|
+
capScope: "system",
|
|
32440
|
+
addonId: null,
|
|
32441
|
+
access: "create"
|
|
32442
|
+
},
|
|
32194
32443
|
"recording.setDeviceConfig": {
|
|
32195
32444
|
capName: "recording",
|
|
32196
32445
|
capScope: "system",
|
|
32197
32446
|
addonId: null,
|
|
32198
32447
|
access: "create"
|
|
32199
32448
|
},
|
|
32449
|
+
"recording.startStorageMigrationMove": {
|
|
32450
|
+
capName: "recording",
|
|
32451
|
+
capScope: "system",
|
|
32452
|
+
addonId: null,
|
|
32453
|
+
access: "create"
|
|
32454
|
+
},
|
|
32200
32455
|
"recordingExport.cancelExport": {
|
|
32201
32456
|
capName: "recordingExport",
|
|
32202
32457
|
capScope: "system",
|
|
@@ -32587,6 +32842,30 @@ Object.freeze({
|
|
|
32587
32842
|
addonId: null,
|
|
32588
32843
|
access: "view"
|
|
32589
32844
|
},
|
|
32845
|
+
"storageMigration.cancel": {
|
|
32846
|
+
capName: "storage-migration",
|
|
32847
|
+
capScope: "system",
|
|
32848
|
+
addonId: null,
|
|
32849
|
+
access: "create"
|
|
32850
|
+
},
|
|
32851
|
+
"storageMigration.plan": {
|
|
32852
|
+
capName: "storage-migration",
|
|
32853
|
+
capScope: "system",
|
|
32854
|
+
addonId: null,
|
|
32855
|
+
access: "view"
|
|
32856
|
+
},
|
|
32857
|
+
"storageMigration.start": {
|
|
32858
|
+
capName: "storage-migration",
|
|
32859
|
+
capScope: "system",
|
|
32860
|
+
addonId: null,
|
|
32861
|
+
access: "create"
|
|
32862
|
+
},
|
|
32863
|
+
"storageMigration.status": {
|
|
32864
|
+
capName: "storage-migration",
|
|
32865
|
+
capScope: "system",
|
|
32866
|
+
addonId: null,
|
|
32867
|
+
access: "view"
|
|
32868
|
+
},
|
|
32590
32869
|
"storageProvider.abortUpload": {
|
|
32591
32870
|
capName: "storage-provider",
|
|
32592
32871
|
capScope: "system",
|
|
@@ -32965,12 +33244,42 @@ Object.freeze({
|
|
|
32965
33244
|
addonId: null,
|
|
32966
33245
|
access: "create"
|
|
32967
33246
|
},
|
|
33247
|
+
"terminalSession.adoptLegacyMonitor": {
|
|
33248
|
+
capName: "terminal-session",
|
|
33249
|
+
capScope: "system",
|
|
33250
|
+
addonId: null,
|
|
33251
|
+
access: "create"
|
|
33252
|
+
},
|
|
32968
33253
|
"terminalSession.close": {
|
|
32969
33254
|
capName: "terminal-session",
|
|
32970
33255
|
capScope: "system",
|
|
32971
33256
|
addonId: null,
|
|
32972
33257
|
access: "create"
|
|
32973
33258
|
},
|
|
33259
|
+
"terminalSession.createInstance": {
|
|
33260
|
+
capName: "terminal-session",
|
|
33261
|
+
capScope: "system",
|
|
33262
|
+
addonId: null,
|
|
33263
|
+
access: "create"
|
|
33264
|
+
},
|
|
33265
|
+
"terminalSession.deleteInstance": {
|
|
33266
|
+
capName: "terminal-session",
|
|
33267
|
+
capScope: "system",
|
|
33268
|
+
addonId: null,
|
|
33269
|
+
access: "delete"
|
|
33270
|
+
},
|
|
33271
|
+
"terminalSession.listInstances": {
|
|
33272
|
+
capName: "terminal-session",
|
|
33273
|
+
capScope: "system",
|
|
33274
|
+
addonId: null,
|
|
33275
|
+
access: "view"
|
|
33276
|
+
},
|
|
33277
|
+
"terminalSession.listLegacyCameras": {
|
|
33278
|
+
capName: "terminal-session",
|
|
33279
|
+
capScope: "system",
|
|
33280
|
+
addonId: null,
|
|
33281
|
+
access: "view"
|
|
33282
|
+
},
|
|
32974
33283
|
"terminalSession.listProfiles": {
|
|
32975
33284
|
capName: "terminal-session",
|
|
32976
33285
|
capScope: "system",
|
|
@@ -32989,12 +33298,30 @@ Object.freeze({
|
|
|
32989
33298
|
addonId: null,
|
|
32990
33299
|
access: "create"
|
|
32991
33300
|
},
|
|
33301
|
+
"terminalSession.pullOutput": {
|
|
33302
|
+
capName: "terminal-session",
|
|
33303
|
+
capScope: "system",
|
|
33304
|
+
addonId: null,
|
|
33305
|
+
access: "create"
|
|
33306
|
+
},
|
|
32992
33307
|
"terminalSession.resize": {
|
|
32993
33308
|
capName: "terminal-session",
|
|
32994
33309
|
capScope: "system",
|
|
32995
33310
|
addonId: null,
|
|
32996
33311
|
access: "create"
|
|
32997
33312
|
},
|
|
33313
|
+
"terminalSession.setInstanceEnabled": {
|
|
33314
|
+
capName: "terminal-session",
|
|
33315
|
+
capScope: "system",
|
|
33316
|
+
addonId: null,
|
|
33317
|
+
access: "create"
|
|
33318
|
+
},
|
|
33319
|
+
"terminalSession.writeInput": {
|
|
33320
|
+
capName: "terminal-session",
|
|
33321
|
+
capScope: "system",
|
|
33322
|
+
addonId: null,
|
|
33323
|
+
access: "create"
|
|
33324
|
+
},
|
|
32998
33325
|
"toast.onToast": {
|
|
32999
33326
|
capName: "toast",
|
|
33000
33327
|
capScope: "system",
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@camstack/addon-provider-hikvision",
|
|
3
|
-
"version": "1.2.
|
|
3
|
+
"version": "1.2.16",
|
|
4
4
|
"description": "Hikvision camera device provider addon for CamStack — ISAPI over HTTP(S) with digest auth (snapshot, alarm stream, RTSP discovery)",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"camstack",
|