@camstack/addon-provider-amcrest 0.2.13 → 0.2.14
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
|
@@ -7544,12 +7544,11 @@ var RecordingConfigSchema = object({
|
|
|
7544
7544
|
/**
|
|
7545
7545
|
* Entity-relocation job state (storage entity-routing spec, Phase 4).
|
|
7546
7546
|
*
|
|
7547
|
-
* One shape shared by the recorder
|
|
7548
|
-
*
|
|
7549
|
-
*
|
|
7550
|
-
*
|
|
7551
|
-
*
|
|
7552
|
-
* row on the owning addon's surface.
|
|
7547
|
+
* One shape shared by the recorder and pipeline-analytics internal movers.
|
|
7548
|
+
* The public admin surface is `storage-migration`; child jobs remain in RAM
|
|
7549
|
+
* because copy-if-absent, verify, delete and index/row repoint are resumable.
|
|
7550
|
+
* Each completed/failed run also lands one durable ops-log row on its owning
|
|
7551
|
+
* addon surface.
|
|
7553
7552
|
*/
|
|
7554
7553
|
var RelocateJobStateSchema = _enum([
|
|
7555
7554
|
"running",
|
|
@@ -7576,19 +7575,100 @@ var RelocateJobSchema = object({
|
|
|
7576
7575
|
finishedAt: number().nullable(),
|
|
7577
7576
|
error: string().nullable()
|
|
7578
7577
|
});
|
|
7578
|
+
/** Profile-derived footage selection used only by the migration coordinator:
|
|
7579
|
+
* `recordings` owns high+mid; `recordingsLow` owns low. */
|
|
7580
|
+
var RelocateFootageClassSchema = _enum(["recordings", "recordingsLow"]);
|
|
7579
7581
|
var RelocateFootageInputSchema = object({
|
|
7580
|
-
deviceId: number().optional(),
|
|
7581
7582
|
fromLocationId: string(),
|
|
7582
7583
|
toLocationId: string(),
|
|
7583
7584
|
entities: array(_enum(["segments"])).optional(),
|
|
7585
|
+
/** Limits relocation to the logical profile class. Omit only for the
|
|
7586
|
+
* pre-orchestration compatibility path. */
|
|
7587
|
+
footageClass: RelocateFootageClassSchema.optional(),
|
|
7584
7588
|
/** Copy throttle in MB/s (default 40) — the drain is a background chore,
|
|
7585
7589
|
* never allowed to starve live writers. */
|
|
7586
7590
|
throttleMbps: number().min(1).max(1e3).optional()
|
|
7587
7591
|
});
|
|
7588
|
-
|
|
7589
|
-
|
|
7592
|
+
/** Internal, lease-scoped participant operation. It is intentionally separate
|
|
7593
|
+
* from persistent recording settings: a migration never changes
|
|
7594
|
+
* `RecordingConfig.enabled` or camera wrapper bindings. */
|
|
7595
|
+
var StorageMigrationLeaseInputSchema = object({ leaseId: string().min(1) });
|
|
7596
|
+
var StorageMigrationFootageMoveInputSchema = RelocateFootageInputSchema.extend({ leaseId: string().min(1) });
|
|
7597
|
+
var StorageMigrationMediaMoveInputSchema = object({
|
|
7590
7598
|
toLocationId: string(),
|
|
7591
7599
|
throttleMbps: number().min(1).max(1e3).optional()
|
|
7600
|
+
}).extend({ leaseId: string().min(1) });
|
|
7601
|
+
/** The independently selectable logical storage classes. `recordings`
|
|
7602
|
+
* encompasses the high and mid segment profiles; `recordingsLow` is low
|
|
7603
|
+
* segments; `eventMedia` is post-analysis blobs. */
|
|
7604
|
+
var StorageMigrationClassSchema = _enum([
|
|
7605
|
+
"recordings",
|
|
7606
|
+
"recordingsLow",
|
|
7607
|
+
"eventMedia"
|
|
7608
|
+
]);
|
|
7609
|
+
/** A destination is always an existing, fully-qualified location id. The
|
|
7610
|
+
* migration API intentionally never changes a source location's `basePath`:
|
|
7611
|
+
* callers create a new `<type>:<slug>` location, then select it here. */
|
|
7612
|
+
var StorageMigrationDestinationsSchema = object({
|
|
7613
|
+
recordings: string().min(1).optional(),
|
|
7614
|
+
recordingsLow: string().min(1).optional(),
|
|
7615
|
+
eventMedia: string().min(1).optional()
|
|
7616
|
+
}).refine((value) => Object.keys(value).length > 0, { message: "select at least one storage class" });
|
|
7617
|
+
/** Shared input for planning and starting an orchestrated storage migration. */
|
|
7618
|
+
var StorageMigrationInputSchema = object({
|
|
7619
|
+
destinations: StorageMigrationDestinationsSchema,
|
|
7620
|
+
throttleMbps: number().min(1).max(1e3).optional()
|
|
7621
|
+
});
|
|
7622
|
+
/** The durable coordinator state machine. The only phase that changes default
|
|
7623
|
+
* locations is `repointing`, after every selected mover has completed and been
|
|
7624
|
+
* verified. */
|
|
7625
|
+
var StorageMigrationPhaseSchema = _enum([
|
|
7626
|
+
"planning",
|
|
7627
|
+
"pausing",
|
|
7628
|
+
"moving",
|
|
7629
|
+
"verifying",
|
|
7630
|
+
"repointing",
|
|
7631
|
+
"refreshing",
|
|
7632
|
+
"resuming",
|
|
7633
|
+
"done",
|
|
7634
|
+
"failed",
|
|
7635
|
+
"cancelled"
|
|
7636
|
+
]);
|
|
7637
|
+
var StorageMigrationParticipantSchema = _enum([
|
|
7638
|
+
"pipeline",
|
|
7639
|
+
"recorder",
|
|
7640
|
+
"analytics"
|
|
7641
|
+
]);
|
|
7642
|
+
var StorageMigrationMoveSchema = object({
|
|
7643
|
+
storageClass: StorageMigrationClassSchema,
|
|
7644
|
+
fromLocationId: string(),
|
|
7645
|
+
toLocationId: string(),
|
|
7646
|
+
moverJobId: string().nullable(),
|
|
7647
|
+
state: RelocateJobStateSchema.nullable(),
|
|
7648
|
+
error: string().nullable()
|
|
7649
|
+
});
|
|
7650
|
+
var StorageMigrationJobSchema = object({
|
|
7651
|
+
jobId: string(),
|
|
7652
|
+
phase: StorageMigrationPhaseSchema,
|
|
7653
|
+
destinations: StorageMigrationDestinationsSchema,
|
|
7654
|
+
throttleMbps: number(),
|
|
7655
|
+
moves: array(StorageMigrationMoveSchema),
|
|
7656
|
+
pauseLeaseId: string().nullable(),
|
|
7657
|
+
pausedParticipants: array(StorageMigrationParticipantSchema),
|
|
7658
|
+
repointed: boolean(),
|
|
7659
|
+
cancelRequested: boolean(),
|
|
7660
|
+
startedAt: number(),
|
|
7661
|
+
updatedAt: number(),
|
|
7662
|
+
finishedAt: number().nullable(),
|
|
7663
|
+
error: string().nullable()
|
|
7664
|
+
});
|
|
7665
|
+
var StorageMigrationPlanSchema = object({
|
|
7666
|
+
destinations: StorageMigrationDestinationsSchema,
|
|
7667
|
+
moves: array(object({
|
|
7668
|
+
storageClass: StorageMigrationClassSchema,
|
|
7669
|
+
fromLocationId: string(),
|
|
7670
|
+
toLocationId: string()
|
|
7671
|
+
}))
|
|
7592
7672
|
});
|
|
7593
7673
|
/**
|
|
7594
7674
|
* `StorageLocationType` — an addon-declared id that identifies the *kind* of
|
|
@@ -16242,13 +16322,19 @@ DeviceType.Camera, method(object({ deviceId: number() }), array(TrackSchema).rea
|
|
|
16242
16322
|
}), method(object({ deviceId: number() }), EventPruneCountsSchema, {
|
|
16243
16323
|
kind: "mutation",
|
|
16244
16324
|
auth: "admin"
|
|
16245
|
-
}), method(
|
|
16325
|
+
}), method(StorageMigrationLeaseInputSchema, object({ paused: literal(true) }), {
|
|
16246
16326
|
kind: "mutation",
|
|
16247
16327
|
auth: "admin"
|
|
16248
|
-
}), method(object({
|
|
16249
|
-
kind: "
|
|
16328
|
+
}), method(StorageMigrationLeaseInputSchema, object({ resumed: literal(true) }), {
|
|
16329
|
+
kind: "mutation",
|
|
16330
|
+
auth: "admin"
|
|
16331
|
+
}), method(StorageMigrationLeaseInputSchema, object({ refreshed: literal(true) }), {
|
|
16332
|
+
kind: "mutation",
|
|
16333
|
+
auth: "admin"
|
|
16334
|
+
}), method(StorageMigrationMediaMoveInputSchema, object({ jobId: string() }), {
|
|
16335
|
+
kind: "mutation",
|
|
16250
16336
|
auth: "admin"
|
|
16251
|
-
}), method(object({ jobId: string() }), object({ cancelled: boolean() }), {
|
|
16337
|
+
}), method(object({ jobId: string() }), RelocateJobSchema.nullable(), { auth: "admin" }), method(object({ jobId: string() }), object({ cancelled: boolean() }), {
|
|
16252
16338
|
kind: "mutation",
|
|
16253
16339
|
auth: "admin"
|
|
16254
16340
|
}), method(OpsLogQueryInputSchema, array(OpsLogEntrySchema).readonly(), {
|
|
@@ -17778,7 +17864,13 @@ var NodeInferenceDevicesSchema = object({
|
|
|
17778
17864
|
reachable: boolean(),
|
|
17779
17865
|
devices: array(NodeInferenceDeviceSchema).readonly()
|
|
17780
17866
|
});
|
|
17781
|
-
method(object({
|
|
17867
|
+
method(StorageMigrationLeaseInputSchema, object({ paused: literal(true) }), {
|
|
17868
|
+
kind: "mutation",
|
|
17869
|
+
auth: "admin"
|
|
17870
|
+
}), method(StorageMigrationLeaseInputSchema, object({ resumed: literal(true) }), {
|
|
17871
|
+
kind: "mutation",
|
|
17872
|
+
auth: "admin"
|
|
17873
|
+
}), method(object({
|
|
17782
17874
|
deviceId: number(),
|
|
17783
17875
|
agentNodeId: string()
|
|
17784
17876
|
}), object({ success: literal(true) }), {
|
|
@@ -18543,6 +18635,13 @@ method(object({ locationId: string() }), EvictableUsageSchema), method(object({
|
|
|
18543
18635
|
locationId: string(),
|
|
18544
18636
|
targetBytes: number().int().positive()
|
|
18545
18637
|
}), EvictResultSchema, { kind: "mutation" });
|
|
18638
|
+
method(StorageMigrationInputSchema, StorageMigrationPlanSchema, { auth: "admin" }), method(StorageMigrationInputSchema, object({ jobId: string() }), {
|
|
18639
|
+
kind: "mutation",
|
|
18640
|
+
auth: "admin"
|
|
18641
|
+
}), method(object({ jobId: string().optional() }), StorageMigrationJobSchema.nullable(), { auth: "admin" }), method(object({ jobId: string() }), object({ cancelled: boolean() }), {
|
|
18642
|
+
kind: "mutation",
|
|
18643
|
+
auth: "admin"
|
|
18644
|
+
});
|
|
18546
18645
|
var ProviderInfoSchema = discriminatedUnion("shouldSaveDiskSpace", [object({
|
|
18547
18646
|
providerId: string().min(1),
|
|
18548
18647
|
displayName: string().min(1),
|
|
@@ -18646,6 +18745,28 @@ var TerminalProfileInfoSchema = object({
|
|
|
18646
18745
|
label: string(),
|
|
18647
18746
|
description: string().optional()
|
|
18648
18747
|
});
|
|
18748
|
+
/**
|
|
18749
|
+
* A durable operator-created Terminal instance. Profiles are templates; only
|
|
18750
|
+
* an instance declares a camera.
|
|
18751
|
+
*/
|
|
18752
|
+
var TerminalInstanceInfoSchema = object({
|
|
18753
|
+
instanceId: string(),
|
|
18754
|
+
cameraStableId: string(),
|
|
18755
|
+
nodeId: string(),
|
|
18756
|
+
profileId: string(),
|
|
18757
|
+
profileLabel: string(),
|
|
18758
|
+
name: string(),
|
|
18759
|
+
enabled: boolean()
|
|
18760
|
+
});
|
|
18761
|
+
var TerminalLegacyCameraSchema = object({
|
|
18762
|
+
stableId: string(),
|
|
18763
|
+
nodeId: string(),
|
|
18764
|
+
profileId: string(),
|
|
18765
|
+
profileLabel: string(),
|
|
18766
|
+
name: string(),
|
|
18767
|
+
/** Only legacy monitor cameras can retain their historic stable identity. */
|
|
18768
|
+
adoptable: boolean()
|
|
18769
|
+
});
|
|
18649
18770
|
var TerminalOutputEventSchema = discriminatedUnion("kind", [object({
|
|
18650
18771
|
seq: number().int().positive(),
|
|
18651
18772
|
kind: literal("data"),
|
|
@@ -18662,7 +18783,29 @@ var TerminalOutputBatchSchema = object({
|
|
|
18662
18783
|
snapshot: string().optional(),
|
|
18663
18784
|
events: array(TerminalOutputEventSchema).readonly()
|
|
18664
18785
|
});
|
|
18665
|
-
method(_void(), array(TerminalProfileInfoSchema).readonly(), { auth: "admin" }), method(_void(), array(
|
|
18786
|
+
method(_void(), array(TerminalProfileInfoSchema).readonly(), { auth: "admin" }), method(_void(), array(TerminalInstanceInfoSchema).readonly(), { auth: "admin" }), method(object({
|
|
18787
|
+
targetNodeId: string().min(1),
|
|
18788
|
+
profileId: string().min(1),
|
|
18789
|
+
name: string().trim().min(1).max(160).optional()
|
|
18790
|
+
}), TerminalInstanceInfoSchema, {
|
|
18791
|
+
kind: "mutation",
|
|
18792
|
+
auth: "admin"
|
|
18793
|
+
}), method(object({ instanceId: string().min(1) }), _void(), {
|
|
18794
|
+
kind: "mutation",
|
|
18795
|
+
auth: "admin"
|
|
18796
|
+
}), method(object({
|
|
18797
|
+
instanceId: string().min(1),
|
|
18798
|
+
enabled: boolean()
|
|
18799
|
+
}), TerminalInstanceInfoSchema, {
|
|
18800
|
+
kind: "mutation",
|
|
18801
|
+
auth: "admin"
|
|
18802
|
+
}), method(_void(), array(TerminalLegacyCameraSchema).readonly(), { auth: "admin" }), method(object({
|
|
18803
|
+
stableId: string().min(1),
|
|
18804
|
+
name: string().trim().min(1).max(160).optional()
|
|
18805
|
+
}), TerminalInstanceInfoSchema, {
|
|
18806
|
+
kind: "mutation",
|
|
18807
|
+
auth: "admin"
|
|
18808
|
+
}), method(_void(), array(TerminalSessionInfoSchema).readonly(), { auth: "admin" }), method(object({
|
|
18666
18809
|
profileId: string(),
|
|
18667
18810
|
cols: number().int().positive(),
|
|
18668
18811
|
rows: number().int().positive()
|
|
@@ -18679,7 +18822,13 @@ method(_void(), array(TerminalProfileInfoSchema).readonly(), { auth: "admin" }),
|
|
|
18679
18822
|
}), method(object({
|
|
18680
18823
|
sessionId: string(),
|
|
18681
18824
|
afterSeq: number().int().nonnegative(),
|
|
18682
|
-
waitMs: number().int().min(0).max(2e3).default(0)
|
|
18825
|
+
waitMs: number().int().min(0).max(2e3).default(0),
|
|
18826
|
+
/**
|
|
18827
|
+
* Wait when a just-opened session has no output yet. Kept opt-in so a
|
|
18828
|
+
* browser's initial repaint remains immediate; the camera snapshot
|
|
18829
|
+
* relay uses it to avoid encoding a blank startup frame.
|
|
18830
|
+
*/
|
|
18831
|
+
waitForOutput: boolean().optional()
|
|
18683
18832
|
}), TerminalOutputBatchSchema, {
|
|
18684
18833
|
kind: "mutation",
|
|
18685
18834
|
auth: "admin",
|
|
@@ -21177,6 +21326,7 @@ var FaceInfoSchema = object({
|
|
|
21177
21326
|
var FaceFilterEnum = _enum([
|
|
21178
21327
|
"unassigned",
|
|
21179
21328
|
"recognized",
|
|
21329
|
+
"identified",
|
|
21180
21330
|
"all"
|
|
21181
21331
|
]);
|
|
21182
21332
|
var MediaFileLiteSchema$1 = object({
|
|
@@ -21205,6 +21355,8 @@ method(_void(), array(IdentitySchema).readonly()), method(object({ name: string(
|
|
|
21205
21355
|
kind: "mutation",
|
|
21206
21356
|
auth: "admin"
|
|
21207
21357
|
}), method(object({
|
|
21358
|
+
/** Restrict to one camera. Absent keeps the cluster-wide gallery view. */
|
|
21359
|
+
deviceId: number().int().optional(),
|
|
21208
21360
|
limit: number().int().positive().optional(),
|
|
21209
21361
|
filter: FaceFilterEnum.optional(),
|
|
21210
21362
|
/**
|
|
@@ -23480,6 +23632,10 @@ var OsdSourceSchema = discriminatedUnion("kind", [
|
|
|
23480
23632
|
capName: string().min(1).max(64),
|
|
23481
23633
|
/** Dot path inside the slice, e.g. `detected`, `value`, `mode`. */
|
|
23482
23634
|
valuePath: string().min(1).max(64)
|
|
23635
|
+
}),
|
|
23636
|
+
object({
|
|
23637
|
+
kind: literal("latest-recognition"),
|
|
23638
|
+
recognition: _enum(["person", "plate"])
|
|
23483
23639
|
})
|
|
23484
23640
|
]);
|
|
23485
23641
|
var OsdSlotBindingSchema = object({
|
|
@@ -23585,6 +23741,15 @@ method(object({ deviceId: number().int() }), object({
|
|
|
23585
23741
|
}), object({ success: literal(true) }), {
|
|
23586
23742
|
kind: "mutation",
|
|
23587
23743
|
auth: "admin"
|
|
23744
|
+
}), method(object({
|
|
23745
|
+
sourceDeviceId: number().int(),
|
|
23746
|
+
targetDeviceId: number().int()
|
|
23747
|
+
}), object({
|
|
23748
|
+
copied: number().int().nonnegative(),
|
|
23749
|
+
skipped: number().int().nonnegative()
|
|
23750
|
+
}), {
|
|
23751
|
+
kind: "mutation",
|
|
23752
|
+
auth: "admin"
|
|
23588
23753
|
}), method(object({
|
|
23589
23754
|
deviceId: number().int(),
|
|
23590
23755
|
slotId: string().min(1),
|
|
@@ -24724,13 +24889,19 @@ method(object({
|
|
|
24724
24889
|
}), {
|
|
24725
24890
|
kind: "mutation",
|
|
24726
24891
|
auth: "admin"
|
|
24727
|
-
}), method(
|
|
24892
|
+
}), method(StorageMigrationLeaseInputSchema, object({ paused: literal(true) }), {
|
|
24728
24893
|
kind: "mutation",
|
|
24729
24894
|
auth: "admin"
|
|
24730
|
-
}), method(object({
|
|
24731
|
-
kind: "
|
|
24895
|
+
}), method(StorageMigrationLeaseInputSchema, object({ resumed: literal(true) }), {
|
|
24896
|
+
kind: "mutation",
|
|
24732
24897
|
auth: "admin"
|
|
24733
|
-
}), method(
|
|
24898
|
+
}), method(StorageMigrationLeaseInputSchema, object({ refreshed: literal(true) }), {
|
|
24899
|
+
kind: "mutation",
|
|
24900
|
+
auth: "admin"
|
|
24901
|
+
}), method(StorageMigrationFootageMoveInputSchema, object({ jobId: string() }), {
|
|
24902
|
+
kind: "mutation",
|
|
24903
|
+
auth: "admin"
|
|
24904
|
+
}), method(object({ jobId: string() }), RelocateJobSchema.nullable(), { auth: "admin" }), method(object({ jobId: string() }), object({ cancelled: boolean() }), {
|
|
24734
24905
|
kind: "mutation",
|
|
24735
24906
|
auth: "admin"
|
|
24736
24907
|
});
|
|
@@ -30678,6 +30849,12 @@ Object.freeze({
|
|
|
30678
30849
|
addonId: null,
|
|
30679
30850
|
access: "delete"
|
|
30680
30851
|
},
|
|
30852
|
+
"osdManager.copyDeviceConfiguration": {
|
|
30853
|
+
capName: "osd-manager",
|
|
30854
|
+
capScope: "system",
|
|
30855
|
+
addonId: null,
|
|
30856
|
+
access: "create"
|
|
30857
|
+
},
|
|
30681
30858
|
"osdManager.getConditionSupport": {
|
|
30682
30859
|
capName: "osd-manager",
|
|
30683
30860
|
capScope: "system",
|
|
@@ -30774,7 +30951,7 @@ Object.freeze({
|
|
|
30774
30951
|
addonId: null,
|
|
30775
30952
|
access: "create"
|
|
30776
30953
|
},
|
|
30777
|
-
"pipelineAnalytics.
|
|
30954
|
+
"pipelineAnalytics.cancelStorageMigrationMove": {
|
|
30778
30955
|
capName: "pipeline-analytics",
|
|
30779
30956
|
capScope: "device",
|
|
30780
30957
|
addonId: null,
|
|
@@ -30846,12 +31023,6 @@ Object.freeze({
|
|
|
30846
31023
|
addonId: null,
|
|
30847
31024
|
access: "view"
|
|
30848
31025
|
},
|
|
30849
|
-
"pipelineAnalytics.getMediaRelocateStatus": {
|
|
30850
|
-
capName: "pipeline-analytics",
|
|
30851
|
-
capScope: "device",
|
|
30852
|
-
addonId: null,
|
|
30853
|
-
access: "view"
|
|
30854
|
-
},
|
|
30855
31026
|
"pipelineAnalytics.getMotionEvents": {
|
|
30856
31027
|
capName: "pipeline-analytics",
|
|
30857
31028
|
capScope: "device",
|
|
@@ -30888,6 +31059,12 @@ Object.freeze({
|
|
|
30888
31059
|
addonId: null,
|
|
30889
31060
|
access: "view"
|
|
30890
31061
|
},
|
|
31062
|
+
"pipelineAnalytics.getStorageMigrationMoveStatus": {
|
|
31063
|
+
capName: "pipeline-analytics",
|
|
31064
|
+
capScope: "device",
|
|
31065
|
+
addonId: null,
|
|
31066
|
+
access: "view"
|
|
31067
|
+
},
|
|
30891
31068
|
"pipelineAnalytics.getTrack": {
|
|
30892
31069
|
capName: "pipeline-analytics",
|
|
30893
31070
|
capScope: "device",
|
|
@@ -30966,6 +31143,12 @@ Object.freeze({
|
|
|
30966
31143
|
addonId: null,
|
|
30967
31144
|
access: "view"
|
|
30968
31145
|
},
|
|
31146
|
+
"pipelineAnalytics.pauseForStorageMigration": {
|
|
31147
|
+
capName: "pipeline-analytics",
|
|
31148
|
+
capScope: "device",
|
|
31149
|
+
addonId: null,
|
|
31150
|
+
access: "create"
|
|
31151
|
+
},
|
|
30969
31152
|
"pipelineAnalytics.proposeRetrainAnnotations": {
|
|
30970
31153
|
capName: "pipeline-analytics",
|
|
30971
31154
|
capScope: "device",
|
|
@@ -30996,7 +31179,7 @@ Object.freeze({
|
|
|
30996
31179
|
addonId: null,
|
|
30997
31180
|
access: "create"
|
|
30998
31181
|
},
|
|
30999
|
-
"pipelineAnalytics.
|
|
31182
|
+
"pipelineAnalytics.refreshStorageLocationsForMigration": {
|
|
31000
31183
|
capName: "pipeline-analytics",
|
|
31001
31184
|
capScope: "device",
|
|
31002
31185
|
addonId: null,
|
|
@@ -31008,6 +31191,12 @@ Object.freeze({
|
|
|
31008
31191
|
addonId: null,
|
|
31009
31192
|
access: "create"
|
|
31010
31193
|
},
|
|
31194
|
+
"pipelineAnalytics.resumeForStorageMigration": {
|
|
31195
|
+
capName: "pipeline-analytics",
|
|
31196
|
+
capScope: "device",
|
|
31197
|
+
addonId: null,
|
|
31198
|
+
access: "create"
|
|
31199
|
+
},
|
|
31011
31200
|
"pipelineAnalytics.saveRetrainAnnotations": {
|
|
31012
31201
|
capName: "pipeline-analytics",
|
|
31013
31202
|
capScope: "device",
|
|
@@ -31032,6 +31221,12 @@ Object.freeze({
|
|
|
31032
31221
|
addonId: null,
|
|
31033
31222
|
access: "create"
|
|
31034
31223
|
},
|
|
31224
|
+
"pipelineAnalytics.startStorageMigrationMove": {
|
|
31225
|
+
capName: "pipeline-analytics",
|
|
31226
|
+
capScope: "device",
|
|
31227
|
+
addonId: null,
|
|
31228
|
+
access: "create"
|
|
31229
|
+
},
|
|
31035
31230
|
"pipelineAnalytics.wipeAllAnalytics": {
|
|
31036
31231
|
capName: "pipeline-analytics",
|
|
31037
31232
|
capScope: "device",
|
|
@@ -31398,6 +31593,12 @@ Object.freeze({
|
|
|
31398
31593
|
addonId: null,
|
|
31399
31594
|
access: "view"
|
|
31400
31595
|
},
|
|
31596
|
+
"pipelineOrchestrator.pauseForStorageMigration": {
|
|
31597
|
+
capName: "pipeline-orchestrator",
|
|
31598
|
+
capScope: "system",
|
|
31599
|
+
addonId: null,
|
|
31600
|
+
access: "create"
|
|
31601
|
+
},
|
|
31401
31602
|
"pipelineOrchestrator.rebalance": {
|
|
31402
31603
|
capName: "pipeline-orchestrator",
|
|
31403
31604
|
capScope: "system",
|
|
@@ -31422,6 +31623,12 @@ Object.freeze({
|
|
|
31422
31623
|
addonId: null,
|
|
31423
31624
|
access: "view"
|
|
31424
31625
|
},
|
|
31626
|
+
"pipelineOrchestrator.resumeForStorageMigration": {
|
|
31627
|
+
capName: "pipeline-orchestrator",
|
|
31628
|
+
capScope: "system",
|
|
31629
|
+
addonId: null,
|
|
31630
|
+
access: "create"
|
|
31631
|
+
},
|
|
31425
31632
|
"pipelineOrchestrator.saveTemplate": {
|
|
31426
31633
|
capName: "pipeline-orchestrator",
|
|
31427
31634
|
capScope: "system",
|
|
@@ -31818,7 +32025,7 @@ Object.freeze({
|
|
|
31818
32025
|
addonId: null,
|
|
31819
32026
|
access: "create"
|
|
31820
32027
|
},
|
|
31821
|
-
"recording.
|
|
32028
|
+
"recording.cancelStorageMigrationMove": {
|
|
31822
32029
|
capName: "recording",
|
|
31823
32030
|
capScope: "system",
|
|
31824
32031
|
addonId: null,
|
|
@@ -31854,7 +32061,7 @@ Object.freeze({
|
|
|
31854
32061
|
addonId: null,
|
|
31855
32062
|
access: "view"
|
|
31856
32063
|
},
|
|
31857
|
-
"recording.
|
|
32064
|
+
"recording.getStorageMigrationMoveStatus": {
|
|
31858
32065
|
capName: "recording",
|
|
31859
32066
|
capScope: "system",
|
|
31860
32067
|
addonId: null,
|
|
@@ -31878,6 +32085,12 @@ Object.freeze({
|
|
|
31878
32085
|
addonId: null,
|
|
31879
32086
|
access: "view"
|
|
31880
32087
|
},
|
|
32088
|
+
"recording.pauseForStorageMigration": {
|
|
32089
|
+
capName: "recording",
|
|
32090
|
+
capScope: "system",
|
|
32091
|
+
addonId: null,
|
|
32092
|
+
access: "create"
|
|
32093
|
+
},
|
|
31881
32094
|
"recording.pruneFootage": {
|
|
31882
32095
|
capName: "recording",
|
|
31883
32096
|
capScope: "system",
|
|
@@ -31896,7 +32109,7 @@ Object.freeze({
|
|
|
31896
32109
|
addonId: null,
|
|
31897
32110
|
access: "view"
|
|
31898
32111
|
},
|
|
31899
|
-
"recording.
|
|
32112
|
+
"recording.refreshStorageLocationsForMigration": {
|
|
31900
32113
|
capName: "recording",
|
|
31901
32114
|
capScope: "system",
|
|
31902
32115
|
addonId: null,
|
|
@@ -31920,12 +32133,24 @@ Object.freeze({
|
|
|
31920
32133
|
addonId: null,
|
|
31921
32134
|
access: "create"
|
|
31922
32135
|
},
|
|
32136
|
+
"recording.resumeForStorageMigration": {
|
|
32137
|
+
capName: "recording",
|
|
32138
|
+
capScope: "system",
|
|
32139
|
+
addonId: null,
|
|
32140
|
+
access: "create"
|
|
32141
|
+
},
|
|
31923
32142
|
"recording.setDeviceConfig": {
|
|
31924
32143
|
capName: "recording",
|
|
31925
32144
|
capScope: "system",
|
|
31926
32145
|
addonId: null,
|
|
31927
32146
|
access: "create"
|
|
31928
32147
|
},
|
|
32148
|
+
"recording.startStorageMigrationMove": {
|
|
32149
|
+
capName: "recording",
|
|
32150
|
+
capScope: "system",
|
|
32151
|
+
addonId: null,
|
|
32152
|
+
access: "create"
|
|
32153
|
+
},
|
|
31929
32154
|
"recordingExport.cancelExport": {
|
|
31930
32155
|
capName: "recordingExport",
|
|
31931
32156
|
capScope: "system",
|
|
@@ -32316,6 +32541,30 @@ Object.freeze({
|
|
|
32316
32541
|
addonId: null,
|
|
32317
32542
|
access: "view"
|
|
32318
32543
|
},
|
|
32544
|
+
"storageMigration.cancel": {
|
|
32545
|
+
capName: "storage-migration",
|
|
32546
|
+
capScope: "system",
|
|
32547
|
+
addonId: null,
|
|
32548
|
+
access: "create"
|
|
32549
|
+
},
|
|
32550
|
+
"storageMigration.plan": {
|
|
32551
|
+
capName: "storage-migration",
|
|
32552
|
+
capScope: "system",
|
|
32553
|
+
addonId: null,
|
|
32554
|
+
access: "view"
|
|
32555
|
+
},
|
|
32556
|
+
"storageMigration.start": {
|
|
32557
|
+
capName: "storage-migration",
|
|
32558
|
+
capScope: "system",
|
|
32559
|
+
addonId: null,
|
|
32560
|
+
access: "create"
|
|
32561
|
+
},
|
|
32562
|
+
"storageMigration.status": {
|
|
32563
|
+
capName: "storage-migration",
|
|
32564
|
+
capScope: "system",
|
|
32565
|
+
addonId: null,
|
|
32566
|
+
access: "view"
|
|
32567
|
+
},
|
|
32319
32568
|
"storageProvider.abortUpload": {
|
|
32320
32569
|
capName: "storage-provider",
|
|
32321
32570
|
capScope: "system",
|
|
@@ -32694,12 +32943,42 @@ Object.freeze({
|
|
|
32694
32943
|
addonId: null,
|
|
32695
32944
|
access: "create"
|
|
32696
32945
|
},
|
|
32946
|
+
"terminalSession.adoptLegacyMonitor": {
|
|
32947
|
+
capName: "terminal-session",
|
|
32948
|
+
capScope: "system",
|
|
32949
|
+
addonId: null,
|
|
32950
|
+
access: "create"
|
|
32951
|
+
},
|
|
32697
32952
|
"terminalSession.close": {
|
|
32698
32953
|
capName: "terminal-session",
|
|
32699
32954
|
capScope: "system",
|
|
32700
32955
|
addonId: null,
|
|
32701
32956
|
access: "create"
|
|
32702
32957
|
},
|
|
32958
|
+
"terminalSession.createInstance": {
|
|
32959
|
+
capName: "terminal-session",
|
|
32960
|
+
capScope: "system",
|
|
32961
|
+
addonId: null,
|
|
32962
|
+
access: "create"
|
|
32963
|
+
},
|
|
32964
|
+
"terminalSession.deleteInstance": {
|
|
32965
|
+
capName: "terminal-session",
|
|
32966
|
+
capScope: "system",
|
|
32967
|
+
addonId: null,
|
|
32968
|
+
access: "delete"
|
|
32969
|
+
},
|
|
32970
|
+
"terminalSession.listInstances": {
|
|
32971
|
+
capName: "terminal-session",
|
|
32972
|
+
capScope: "system",
|
|
32973
|
+
addonId: null,
|
|
32974
|
+
access: "view"
|
|
32975
|
+
},
|
|
32976
|
+
"terminalSession.listLegacyCameras": {
|
|
32977
|
+
capName: "terminal-session",
|
|
32978
|
+
capScope: "system",
|
|
32979
|
+
addonId: null,
|
|
32980
|
+
access: "view"
|
|
32981
|
+
},
|
|
32703
32982
|
"terminalSession.listProfiles": {
|
|
32704
32983
|
capName: "terminal-session",
|
|
32705
32984
|
capScope: "system",
|
|
@@ -32730,6 +33009,12 @@ Object.freeze({
|
|
|
32730
33009
|
addonId: null,
|
|
32731
33010
|
access: "create"
|
|
32732
33011
|
},
|
|
33012
|
+
"terminalSession.setInstanceEnabled": {
|
|
33013
|
+
capName: "terminal-session",
|
|
33014
|
+
capScope: "system",
|
|
33015
|
+
addonId: null,
|
|
33016
|
+
access: "create"
|
|
33017
|
+
},
|
|
32733
33018
|
"terminalSession.writeInput": {
|
|
32734
33019
|
capName: "terminal-session",
|
|
32735
33020
|
capScope: "system",
|
package/dist/addon.mjs
CHANGED
|
@@ -7545,12 +7545,11 @@ var RecordingConfigSchema = object({
|
|
|
7545
7545
|
/**
|
|
7546
7546
|
* Entity-relocation job state (storage entity-routing spec, Phase 4).
|
|
7547
7547
|
*
|
|
7548
|
-
* One shape shared by the recorder
|
|
7549
|
-
*
|
|
7550
|
-
*
|
|
7551
|
-
*
|
|
7552
|
-
*
|
|
7553
|
-
* row on the owning addon's surface.
|
|
7548
|
+
* One shape shared by the recorder and pipeline-analytics internal movers.
|
|
7549
|
+
* The public admin surface is `storage-migration`; child jobs remain in RAM
|
|
7550
|
+
* because copy-if-absent, verify, delete and index/row repoint are resumable.
|
|
7551
|
+
* Each completed/failed run also lands one durable ops-log row on its owning
|
|
7552
|
+
* addon surface.
|
|
7554
7553
|
*/
|
|
7555
7554
|
var RelocateJobStateSchema = _enum([
|
|
7556
7555
|
"running",
|
|
@@ -7577,19 +7576,100 @@ var RelocateJobSchema = object({
|
|
|
7577
7576
|
finishedAt: number().nullable(),
|
|
7578
7577
|
error: string().nullable()
|
|
7579
7578
|
});
|
|
7579
|
+
/** Profile-derived footage selection used only by the migration coordinator:
|
|
7580
|
+
* `recordings` owns high+mid; `recordingsLow` owns low. */
|
|
7581
|
+
var RelocateFootageClassSchema = _enum(["recordings", "recordingsLow"]);
|
|
7580
7582
|
var RelocateFootageInputSchema = object({
|
|
7581
|
-
deviceId: number().optional(),
|
|
7582
7583
|
fromLocationId: string(),
|
|
7583
7584
|
toLocationId: string(),
|
|
7584
7585
|
entities: array(_enum(["segments"])).optional(),
|
|
7586
|
+
/** Limits relocation to the logical profile class. Omit only for the
|
|
7587
|
+
* pre-orchestration compatibility path. */
|
|
7588
|
+
footageClass: RelocateFootageClassSchema.optional(),
|
|
7585
7589
|
/** Copy throttle in MB/s (default 40) — the drain is a background chore,
|
|
7586
7590
|
* never allowed to starve live writers. */
|
|
7587
7591
|
throttleMbps: number().min(1).max(1e3).optional()
|
|
7588
7592
|
});
|
|
7589
|
-
|
|
7590
|
-
|
|
7593
|
+
/** Internal, lease-scoped participant operation. It is intentionally separate
|
|
7594
|
+
* from persistent recording settings: a migration never changes
|
|
7595
|
+
* `RecordingConfig.enabled` or camera wrapper bindings. */
|
|
7596
|
+
var StorageMigrationLeaseInputSchema = object({ leaseId: string().min(1) });
|
|
7597
|
+
var StorageMigrationFootageMoveInputSchema = RelocateFootageInputSchema.extend({ leaseId: string().min(1) });
|
|
7598
|
+
var StorageMigrationMediaMoveInputSchema = object({
|
|
7591
7599
|
toLocationId: string(),
|
|
7592
7600
|
throttleMbps: number().min(1).max(1e3).optional()
|
|
7601
|
+
}).extend({ leaseId: string().min(1) });
|
|
7602
|
+
/** The independently selectable logical storage classes. `recordings`
|
|
7603
|
+
* encompasses the high and mid segment profiles; `recordingsLow` is low
|
|
7604
|
+
* segments; `eventMedia` is post-analysis blobs. */
|
|
7605
|
+
var StorageMigrationClassSchema = _enum([
|
|
7606
|
+
"recordings",
|
|
7607
|
+
"recordingsLow",
|
|
7608
|
+
"eventMedia"
|
|
7609
|
+
]);
|
|
7610
|
+
/** A destination is always an existing, fully-qualified location id. The
|
|
7611
|
+
* migration API intentionally never changes a source location's `basePath`:
|
|
7612
|
+
* callers create a new `<type>:<slug>` location, then select it here. */
|
|
7613
|
+
var StorageMigrationDestinationsSchema = object({
|
|
7614
|
+
recordings: string().min(1).optional(),
|
|
7615
|
+
recordingsLow: string().min(1).optional(),
|
|
7616
|
+
eventMedia: string().min(1).optional()
|
|
7617
|
+
}).refine((value) => Object.keys(value).length > 0, { message: "select at least one storage class" });
|
|
7618
|
+
/** Shared input for planning and starting an orchestrated storage migration. */
|
|
7619
|
+
var StorageMigrationInputSchema = object({
|
|
7620
|
+
destinations: StorageMigrationDestinationsSchema,
|
|
7621
|
+
throttleMbps: number().min(1).max(1e3).optional()
|
|
7622
|
+
});
|
|
7623
|
+
/** The durable coordinator state machine. The only phase that changes default
|
|
7624
|
+
* locations is `repointing`, after every selected mover has completed and been
|
|
7625
|
+
* verified. */
|
|
7626
|
+
var StorageMigrationPhaseSchema = _enum([
|
|
7627
|
+
"planning",
|
|
7628
|
+
"pausing",
|
|
7629
|
+
"moving",
|
|
7630
|
+
"verifying",
|
|
7631
|
+
"repointing",
|
|
7632
|
+
"refreshing",
|
|
7633
|
+
"resuming",
|
|
7634
|
+
"done",
|
|
7635
|
+
"failed",
|
|
7636
|
+
"cancelled"
|
|
7637
|
+
]);
|
|
7638
|
+
var StorageMigrationParticipantSchema = _enum([
|
|
7639
|
+
"pipeline",
|
|
7640
|
+
"recorder",
|
|
7641
|
+
"analytics"
|
|
7642
|
+
]);
|
|
7643
|
+
var StorageMigrationMoveSchema = object({
|
|
7644
|
+
storageClass: StorageMigrationClassSchema,
|
|
7645
|
+
fromLocationId: string(),
|
|
7646
|
+
toLocationId: string(),
|
|
7647
|
+
moverJobId: string().nullable(),
|
|
7648
|
+
state: RelocateJobStateSchema.nullable(),
|
|
7649
|
+
error: string().nullable()
|
|
7650
|
+
});
|
|
7651
|
+
var StorageMigrationJobSchema = object({
|
|
7652
|
+
jobId: string(),
|
|
7653
|
+
phase: StorageMigrationPhaseSchema,
|
|
7654
|
+
destinations: StorageMigrationDestinationsSchema,
|
|
7655
|
+
throttleMbps: number(),
|
|
7656
|
+
moves: array(StorageMigrationMoveSchema),
|
|
7657
|
+
pauseLeaseId: string().nullable(),
|
|
7658
|
+
pausedParticipants: array(StorageMigrationParticipantSchema),
|
|
7659
|
+
repointed: boolean(),
|
|
7660
|
+
cancelRequested: boolean(),
|
|
7661
|
+
startedAt: number(),
|
|
7662
|
+
updatedAt: number(),
|
|
7663
|
+
finishedAt: number().nullable(),
|
|
7664
|
+
error: string().nullable()
|
|
7665
|
+
});
|
|
7666
|
+
var StorageMigrationPlanSchema = object({
|
|
7667
|
+
destinations: StorageMigrationDestinationsSchema,
|
|
7668
|
+
moves: array(object({
|
|
7669
|
+
storageClass: StorageMigrationClassSchema,
|
|
7670
|
+
fromLocationId: string(),
|
|
7671
|
+
toLocationId: string()
|
|
7672
|
+
}))
|
|
7593
7673
|
});
|
|
7594
7674
|
/**
|
|
7595
7675
|
* `StorageLocationType` — an addon-declared id that identifies the *kind* of
|
|
@@ -16243,13 +16323,19 @@ DeviceType.Camera, method(object({ deviceId: number() }), array(TrackSchema).rea
|
|
|
16243
16323
|
}), method(object({ deviceId: number() }), EventPruneCountsSchema, {
|
|
16244
16324
|
kind: "mutation",
|
|
16245
16325
|
auth: "admin"
|
|
16246
|
-
}), method(
|
|
16326
|
+
}), method(StorageMigrationLeaseInputSchema, object({ paused: literal(true) }), {
|
|
16247
16327
|
kind: "mutation",
|
|
16248
16328
|
auth: "admin"
|
|
16249
|
-
}), method(object({
|
|
16250
|
-
kind: "
|
|
16329
|
+
}), method(StorageMigrationLeaseInputSchema, object({ resumed: literal(true) }), {
|
|
16330
|
+
kind: "mutation",
|
|
16331
|
+
auth: "admin"
|
|
16332
|
+
}), method(StorageMigrationLeaseInputSchema, object({ refreshed: literal(true) }), {
|
|
16333
|
+
kind: "mutation",
|
|
16334
|
+
auth: "admin"
|
|
16335
|
+
}), method(StorageMigrationMediaMoveInputSchema, object({ jobId: string() }), {
|
|
16336
|
+
kind: "mutation",
|
|
16251
16337
|
auth: "admin"
|
|
16252
|
-
}), method(object({ jobId: string() }), object({ cancelled: boolean() }), {
|
|
16338
|
+
}), method(object({ jobId: string() }), RelocateJobSchema.nullable(), { auth: "admin" }), method(object({ jobId: string() }), object({ cancelled: boolean() }), {
|
|
16253
16339
|
kind: "mutation",
|
|
16254
16340
|
auth: "admin"
|
|
16255
16341
|
}), method(OpsLogQueryInputSchema, array(OpsLogEntrySchema).readonly(), {
|
|
@@ -17779,7 +17865,13 @@ var NodeInferenceDevicesSchema = object({
|
|
|
17779
17865
|
reachable: boolean(),
|
|
17780
17866
|
devices: array(NodeInferenceDeviceSchema).readonly()
|
|
17781
17867
|
});
|
|
17782
|
-
method(object({
|
|
17868
|
+
method(StorageMigrationLeaseInputSchema, object({ paused: literal(true) }), {
|
|
17869
|
+
kind: "mutation",
|
|
17870
|
+
auth: "admin"
|
|
17871
|
+
}), method(StorageMigrationLeaseInputSchema, object({ resumed: literal(true) }), {
|
|
17872
|
+
kind: "mutation",
|
|
17873
|
+
auth: "admin"
|
|
17874
|
+
}), method(object({
|
|
17783
17875
|
deviceId: number(),
|
|
17784
17876
|
agentNodeId: string()
|
|
17785
17877
|
}), object({ success: literal(true) }), {
|
|
@@ -18544,6 +18636,13 @@ method(object({ locationId: string() }), EvictableUsageSchema), method(object({
|
|
|
18544
18636
|
locationId: string(),
|
|
18545
18637
|
targetBytes: number().int().positive()
|
|
18546
18638
|
}), EvictResultSchema, { kind: "mutation" });
|
|
18639
|
+
method(StorageMigrationInputSchema, StorageMigrationPlanSchema, { auth: "admin" }), method(StorageMigrationInputSchema, object({ jobId: string() }), {
|
|
18640
|
+
kind: "mutation",
|
|
18641
|
+
auth: "admin"
|
|
18642
|
+
}), method(object({ jobId: string().optional() }), StorageMigrationJobSchema.nullable(), { auth: "admin" }), method(object({ jobId: string() }), object({ cancelled: boolean() }), {
|
|
18643
|
+
kind: "mutation",
|
|
18644
|
+
auth: "admin"
|
|
18645
|
+
});
|
|
18547
18646
|
var ProviderInfoSchema = discriminatedUnion("shouldSaveDiskSpace", [object({
|
|
18548
18647
|
providerId: string().min(1),
|
|
18549
18648
|
displayName: string().min(1),
|
|
@@ -18647,6 +18746,28 @@ var TerminalProfileInfoSchema = object({
|
|
|
18647
18746
|
label: string(),
|
|
18648
18747
|
description: string().optional()
|
|
18649
18748
|
});
|
|
18749
|
+
/**
|
|
18750
|
+
* A durable operator-created Terminal instance. Profiles are templates; only
|
|
18751
|
+
* an instance declares a camera.
|
|
18752
|
+
*/
|
|
18753
|
+
var TerminalInstanceInfoSchema = object({
|
|
18754
|
+
instanceId: string(),
|
|
18755
|
+
cameraStableId: string(),
|
|
18756
|
+
nodeId: string(),
|
|
18757
|
+
profileId: string(),
|
|
18758
|
+
profileLabel: string(),
|
|
18759
|
+
name: string(),
|
|
18760
|
+
enabled: boolean()
|
|
18761
|
+
});
|
|
18762
|
+
var TerminalLegacyCameraSchema = object({
|
|
18763
|
+
stableId: string(),
|
|
18764
|
+
nodeId: string(),
|
|
18765
|
+
profileId: string(),
|
|
18766
|
+
profileLabel: string(),
|
|
18767
|
+
name: string(),
|
|
18768
|
+
/** Only legacy monitor cameras can retain their historic stable identity. */
|
|
18769
|
+
adoptable: boolean()
|
|
18770
|
+
});
|
|
18650
18771
|
var TerminalOutputEventSchema = discriminatedUnion("kind", [object({
|
|
18651
18772
|
seq: number().int().positive(),
|
|
18652
18773
|
kind: literal("data"),
|
|
@@ -18663,7 +18784,29 @@ var TerminalOutputBatchSchema = object({
|
|
|
18663
18784
|
snapshot: string().optional(),
|
|
18664
18785
|
events: array(TerminalOutputEventSchema).readonly()
|
|
18665
18786
|
});
|
|
18666
|
-
method(_void(), array(TerminalProfileInfoSchema).readonly(), { auth: "admin" }), method(_void(), array(
|
|
18787
|
+
method(_void(), array(TerminalProfileInfoSchema).readonly(), { auth: "admin" }), method(_void(), array(TerminalInstanceInfoSchema).readonly(), { auth: "admin" }), method(object({
|
|
18788
|
+
targetNodeId: string().min(1),
|
|
18789
|
+
profileId: string().min(1),
|
|
18790
|
+
name: string().trim().min(1).max(160).optional()
|
|
18791
|
+
}), TerminalInstanceInfoSchema, {
|
|
18792
|
+
kind: "mutation",
|
|
18793
|
+
auth: "admin"
|
|
18794
|
+
}), method(object({ instanceId: string().min(1) }), _void(), {
|
|
18795
|
+
kind: "mutation",
|
|
18796
|
+
auth: "admin"
|
|
18797
|
+
}), method(object({
|
|
18798
|
+
instanceId: string().min(1),
|
|
18799
|
+
enabled: boolean()
|
|
18800
|
+
}), TerminalInstanceInfoSchema, {
|
|
18801
|
+
kind: "mutation",
|
|
18802
|
+
auth: "admin"
|
|
18803
|
+
}), method(_void(), array(TerminalLegacyCameraSchema).readonly(), { auth: "admin" }), method(object({
|
|
18804
|
+
stableId: string().min(1),
|
|
18805
|
+
name: string().trim().min(1).max(160).optional()
|
|
18806
|
+
}), TerminalInstanceInfoSchema, {
|
|
18807
|
+
kind: "mutation",
|
|
18808
|
+
auth: "admin"
|
|
18809
|
+
}), method(_void(), array(TerminalSessionInfoSchema).readonly(), { auth: "admin" }), method(object({
|
|
18667
18810
|
profileId: string(),
|
|
18668
18811
|
cols: number().int().positive(),
|
|
18669
18812
|
rows: number().int().positive()
|
|
@@ -18680,7 +18823,13 @@ method(_void(), array(TerminalProfileInfoSchema).readonly(), { auth: "admin" }),
|
|
|
18680
18823
|
}), method(object({
|
|
18681
18824
|
sessionId: string(),
|
|
18682
18825
|
afterSeq: number().int().nonnegative(),
|
|
18683
|
-
waitMs: number().int().min(0).max(2e3).default(0)
|
|
18826
|
+
waitMs: number().int().min(0).max(2e3).default(0),
|
|
18827
|
+
/**
|
|
18828
|
+
* Wait when a just-opened session has no output yet. Kept opt-in so a
|
|
18829
|
+
* browser's initial repaint remains immediate; the camera snapshot
|
|
18830
|
+
* relay uses it to avoid encoding a blank startup frame.
|
|
18831
|
+
*/
|
|
18832
|
+
waitForOutput: boolean().optional()
|
|
18684
18833
|
}), TerminalOutputBatchSchema, {
|
|
18685
18834
|
kind: "mutation",
|
|
18686
18835
|
auth: "admin",
|
|
@@ -21178,6 +21327,7 @@ var FaceInfoSchema = object({
|
|
|
21178
21327
|
var FaceFilterEnum = _enum([
|
|
21179
21328
|
"unassigned",
|
|
21180
21329
|
"recognized",
|
|
21330
|
+
"identified",
|
|
21181
21331
|
"all"
|
|
21182
21332
|
]);
|
|
21183
21333
|
var MediaFileLiteSchema$1 = object({
|
|
@@ -21206,6 +21356,8 @@ method(_void(), array(IdentitySchema).readonly()), method(object({ name: string(
|
|
|
21206
21356
|
kind: "mutation",
|
|
21207
21357
|
auth: "admin"
|
|
21208
21358
|
}), method(object({
|
|
21359
|
+
/** Restrict to one camera. Absent keeps the cluster-wide gallery view. */
|
|
21360
|
+
deviceId: number().int().optional(),
|
|
21209
21361
|
limit: number().int().positive().optional(),
|
|
21210
21362
|
filter: FaceFilterEnum.optional(),
|
|
21211
21363
|
/**
|
|
@@ -23481,6 +23633,10 @@ var OsdSourceSchema = discriminatedUnion("kind", [
|
|
|
23481
23633
|
capName: string().min(1).max(64),
|
|
23482
23634
|
/** Dot path inside the slice, e.g. `detected`, `value`, `mode`. */
|
|
23483
23635
|
valuePath: string().min(1).max(64)
|
|
23636
|
+
}),
|
|
23637
|
+
object({
|
|
23638
|
+
kind: literal("latest-recognition"),
|
|
23639
|
+
recognition: _enum(["person", "plate"])
|
|
23484
23640
|
})
|
|
23485
23641
|
]);
|
|
23486
23642
|
var OsdSlotBindingSchema = object({
|
|
@@ -23586,6 +23742,15 @@ method(object({ deviceId: number().int() }), object({
|
|
|
23586
23742
|
}), object({ success: literal(true) }), {
|
|
23587
23743
|
kind: "mutation",
|
|
23588
23744
|
auth: "admin"
|
|
23745
|
+
}), method(object({
|
|
23746
|
+
sourceDeviceId: number().int(),
|
|
23747
|
+
targetDeviceId: number().int()
|
|
23748
|
+
}), object({
|
|
23749
|
+
copied: number().int().nonnegative(),
|
|
23750
|
+
skipped: number().int().nonnegative()
|
|
23751
|
+
}), {
|
|
23752
|
+
kind: "mutation",
|
|
23753
|
+
auth: "admin"
|
|
23589
23754
|
}), method(object({
|
|
23590
23755
|
deviceId: number().int(),
|
|
23591
23756
|
slotId: string().min(1),
|
|
@@ -24725,13 +24890,19 @@ method(object({
|
|
|
24725
24890
|
}), {
|
|
24726
24891
|
kind: "mutation",
|
|
24727
24892
|
auth: "admin"
|
|
24728
|
-
}), method(
|
|
24893
|
+
}), method(StorageMigrationLeaseInputSchema, object({ paused: literal(true) }), {
|
|
24729
24894
|
kind: "mutation",
|
|
24730
24895
|
auth: "admin"
|
|
24731
|
-
}), method(object({
|
|
24732
|
-
kind: "
|
|
24896
|
+
}), method(StorageMigrationLeaseInputSchema, object({ resumed: literal(true) }), {
|
|
24897
|
+
kind: "mutation",
|
|
24733
24898
|
auth: "admin"
|
|
24734
|
-
}), method(
|
|
24899
|
+
}), method(StorageMigrationLeaseInputSchema, object({ refreshed: literal(true) }), {
|
|
24900
|
+
kind: "mutation",
|
|
24901
|
+
auth: "admin"
|
|
24902
|
+
}), method(StorageMigrationFootageMoveInputSchema, object({ jobId: string() }), {
|
|
24903
|
+
kind: "mutation",
|
|
24904
|
+
auth: "admin"
|
|
24905
|
+
}), method(object({ jobId: string() }), RelocateJobSchema.nullable(), { auth: "admin" }), method(object({ jobId: string() }), object({ cancelled: boolean() }), {
|
|
24735
24906
|
kind: "mutation",
|
|
24736
24907
|
auth: "admin"
|
|
24737
24908
|
});
|
|
@@ -30679,6 +30850,12 @@ Object.freeze({
|
|
|
30679
30850
|
addonId: null,
|
|
30680
30851
|
access: "delete"
|
|
30681
30852
|
},
|
|
30853
|
+
"osdManager.copyDeviceConfiguration": {
|
|
30854
|
+
capName: "osd-manager",
|
|
30855
|
+
capScope: "system",
|
|
30856
|
+
addonId: null,
|
|
30857
|
+
access: "create"
|
|
30858
|
+
},
|
|
30682
30859
|
"osdManager.getConditionSupport": {
|
|
30683
30860
|
capName: "osd-manager",
|
|
30684
30861
|
capScope: "system",
|
|
@@ -30775,7 +30952,7 @@ Object.freeze({
|
|
|
30775
30952
|
addonId: null,
|
|
30776
30953
|
access: "create"
|
|
30777
30954
|
},
|
|
30778
|
-
"pipelineAnalytics.
|
|
30955
|
+
"pipelineAnalytics.cancelStorageMigrationMove": {
|
|
30779
30956
|
capName: "pipeline-analytics",
|
|
30780
30957
|
capScope: "device",
|
|
30781
30958
|
addonId: null,
|
|
@@ -30847,12 +31024,6 @@ Object.freeze({
|
|
|
30847
31024
|
addonId: null,
|
|
30848
31025
|
access: "view"
|
|
30849
31026
|
},
|
|
30850
|
-
"pipelineAnalytics.getMediaRelocateStatus": {
|
|
30851
|
-
capName: "pipeline-analytics",
|
|
30852
|
-
capScope: "device",
|
|
30853
|
-
addonId: null,
|
|
30854
|
-
access: "view"
|
|
30855
|
-
},
|
|
30856
31027
|
"pipelineAnalytics.getMotionEvents": {
|
|
30857
31028
|
capName: "pipeline-analytics",
|
|
30858
31029
|
capScope: "device",
|
|
@@ -30889,6 +31060,12 @@ Object.freeze({
|
|
|
30889
31060
|
addonId: null,
|
|
30890
31061
|
access: "view"
|
|
30891
31062
|
},
|
|
31063
|
+
"pipelineAnalytics.getStorageMigrationMoveStatus": {
|
|
31064
|
+
capName: "pipeline-analytics",
|
|
31065
|
+
capScope: "device",
|
|
31066
|
+
addonId: null,
|
|
31067
|
+
access: "view"
|
|
31068
|
+
},
|
|
30892
31069
|
"pipelineAnalytics.getTrack": {
|
|
30893
31070
|
capName: "pipeline-analytics",
|
|
30894
31071
|
capScope: "device",
|
|
@@ -30967,6 +31144,12 @@ Object.freeze({
|
|
|
30967
31144
|
addonId: null,
|
|
30968
31145
|
access: "view"
|
|
30969
31146
|
},
|
|
31147
|
+
"pipelineAnalytics.pauseForStorageMigration": {
|
|
31148
|
+
capName: "pipeline-analytics",
|
|
31149
|
+
capScope: "device",
|
|
31150
|
+
addonId: null,
|
|
31151
|
+
access: "create"
|
|
31152
|
+
},
|
|
30970
31153
|
"pipelineAnalytics.proposeRetrainAnnotations": {
|
|
30971
31154
|
capName: "pipeline-analytics",
|
|
30972
31155
|
capScope: "device",
|
|
@@ -30997,7 +31180,7 @@ Object.freeze({
|
|
|
30997
31180
|
addonId: null,
|
|
30998
31181
|
access: "create"
|
|
30999
31182
|
},
|
|
31000
|
-
"pipelineAnalytics.
|
|
31183
|
+
"pipelineAnalytics.refreshStorageLocationsForMigration": {
|
|
31001
31184
|
capName: "pipeline-analytics",
|
|
31002
31185
|
capScope: "device",
|
|
31003
31186
|
addonId: null,
|
|
@@ -31009,6 +31192,12 @@ Object.freeze({
|
|
|
31009
31192
|
addonId: null,
|
|
31010
31193
|
access: "create"
|
|
31011
31194
|
},
|
|
31195
|
+
"pipelineAnalytics.resumeForStorageMigration": {
|
|
31196
|
+
capName: "pipeline-analytics",
|
|
31197
|
+
capScope: "device",
|
|
31198
|
+
addonId: null,
|
|
31199
|
+
access: "create"
|
|
31200
|
+
},
|
|
31012
31201
|
"pipelineAnalytics.saveRetrainAnnotations": {
|
|
31013
31202
|
capName: "pipeline-analytics",
|
|
31014
31203
|
capScope: "device",
|
|
@@ -31033,6 +31222,12 @@ Object.freeze({
|
|
|
31033
31222
|
addonId: null,
|
|
31034
31223
|
access: "create"
|
|
31035
31224
|
},
|
|
31225
|
+
"pipelineAnalytics.startStorageMigrationMove": {
|
|
31226
|
+
capName: "pipeline-analytics",
|
|
31227
|
+
capScope: "device",
|
|
31228
|
+
addonId: null,
|
|
31229
|
+
access: "create"
|
|
31230
|
+
},
|
|
31036
31231
|
"pipelineAnalytics.wipeAllAnalytics": {
|
|
31037
31232
|
capName: "pipeline-analytics",
|
|
31038
31233
|
capScope: "device",
|
|
@@ -31399,6 +31594,12 @@ Object.freeze({
|
|
|
31399
31594
|
addonId: null,
|
|
31400
31595
|
access: "view"
|
|
31401
31596
|
},
|
|
31597
|
+
"pipelineOrchestrator.pauseForStorageMigration": {
|
|
31598
|
+
capName: "pipeline-orchestrator",
|
|
31599
|
+
capScope: "system",
|
|
31600
|
+
addonId: null,
|
|
31601
|
+
access: "create"
|
|
31602
|
+
},
|
|
31402
31603
|
"pipelineOrchestrator.rebalance": {
|
|
31403
31604
|
capName: "pipeline-orchestrator",
|
|
31404
31605
|
capScope: "system",
|
|
@@ -31423,6 +31624,12 @@ Object.freeze({
|
|
|
31423
31624
|
addonId: null,
|
|
31424
31625
|
access: "view"
|
|
31425
31626
|
},
|
|
31627
|
+
"pipelineOrchestrator.resumeForStorageMigration": {
|
|
31628
|
+
capName: "pipeline-orchestrator",
|
|
31629
|
+
capScope: "system",
|
|
31630
|
+
addonId: null,
|
|
31631
|
+
access: "create"
|
|
31632
|
+
},
|
|
31426
31633
|
"pipelineOrchestrator.saveTemplate": {
|
|
31427
31634
|
capName: "pipeline-orchestrator",
|
|
31428
31635
|
capScope: "system",
|
|
@@ -31819,7 +32026,7 @@ Object.freeze({
|
|
|
31819
32026
|
addonId: null,
|
|
31820
32027
|
access: "create"
|
|
31821
32028
|
},
|
|
31822
|
-
"recording.
|
|
32029
|
+
"recording.cancelStorageMigrationMove": {
|
|
31823
32030
|
capName: "recording",
|
|
31824
32031
|
capScope: "system",
|
|
31825
32032
|
addonId: null,
|
|
@@ -31855,7 +32062,7 @@ Object.freeze({
|
|
|
31855
32062
|
addonId: null,
|
|
31856
32063
|
access: "view"
|
|
31857
32064
|
},
|
|
31858
|
-
"recording.
|
|
32065
|
+
"recording.getStorageMigrationMoveStatus": {
|
|
31859
32066
|
capName: "recording",
|
|
31860
32067
|
capScope: "system",
|
|
31861
32068
|
addonId: null,
|
|
@@ -31879,6 +32086,12 @@ Object.freeze({
|
|
|
31879
32086
|
addonId: null,
|
|
31880
32087
|
access: "view"
|
|
31881
32088
|
},
|
|
32089
|
+
"recording.pauseForStorageMigration": {
|
|
32090
|
+
capName: "recording",
|
|
32091
|
+
capScope: "system",
|
|
32092
|
+
addonId: null,
|
|
32093
|
+
access: "create"
|
|
32094
|
+
},
|
|
31882
32095
|
"recording.pruneFootage": {
|
|
31883
32096
|
capName: "recording",
|
|
31884
32097
|
capScope: "system",
|
|
@@ -31897,7 +32110,7 @@ Object.freeze({
|
|
|
31897
32110
|
addonId: null,
|
|
31898
32111
|
access: "view"
|
|
31899
32112
|
},
|
|
31900
|
-
"recording.
|
|
32113
|
+
"recording.refreshStorageLocationsForMigration": {
|
|
31901
32114
|
capName: "recording",
|
|
31902
32115
|
capScope: "system",
|
|
31903
32116
|
addonId: null,
|
|
@@ -31921,12 +32134,24 @@ Object.freeze({
|
|
|
31921
32134
|
addonId: null,
|
|
31922
32135
|
access: "create"
|
|
31923
32136
|
},
|
|
32137
|
+
"recording.resumeForStorageMigration": {
|
|
32138
|
+
capName: "recording",
|
|
32139
|
+
capScope: "system",
|
|
32140
|
+
addonId: null,
|
|
32141
|
+
access: "create"
|
|
32142
|
+
},
|
|
31924
32143
|
"recording.setDeviceConfig": {
|
|
31925
32144
|
capName: "recording",
|
|
31926
32145
|
capScope: "system",
|
|
31927
32146
|
addonId: null,
|
|
31928
32147
|
access: "create"
|
|
31929
32148
|
},
|
|
32149
|
+
"recording.startStorageMigrationMove": {
|
|
32150
|
+
capName: "recording",
|
|
32151
|
+
capScope: "system",
|
|
32152
|
+
addonId: null,
|
|
32153
|
+
access: "create"
|
|
32154
|
+
},
|
|
31930
32155
|
"recordingExport.cancelExport": {
|
|
31931
32156
|
capName: "recordingExport",
|
|
31932
32157
|
capScope: "system",
|
|
@@ -32317,6 +32542,30 @@ Object.freeze({
|
|
|
32317
32542
|
addonId: null,
|
|
32318
32543
|
access: "view"
|
|
32319
32544
|
},
|
|
32545
|
+
"storageMigration.cancel": {
|
|
32546
|
+
capName: "storage-migration",
|
|
32547
|
+
capScope: "system",
|
|
32548
|
+
addonId: null,
|
|
32549
|
+
access: "create"
|
|
32550
|
+
},
|
|
32551
|
+
"storageMigration.plan": {
|
|
32552
|
+
capName: "storage-migration",
|
|
32553
|
+
capScope: "system",
|
|
32554
|
+
addonId: null,
|
|
32555
|
+
access: "view"
|
|
32556
|
+
},
|
|
32557
|
+
"storageMigration.start": {
|
|
32558
|
+
capName: "storage-migration",
|
|
32559
|
+
capScope: "system",
|
|
32560
|
+
addonId: null,
|
|
32561
|
+
access: "create"
|
|
32562
|
+
},
|
|
32563
|
+
"storageMigration.status": {
|
|
32564
|
+
capName: "storage-migration",
|
|
32565
|
+
capScope: "system",
|
|
32566
|
+
addonId: null,
|
|
32567
|
+
access: "view"
|
|
32568
|
+
},
|
|
32320
32569
|
"storageProvider.abortUpload": {
|
|
32321
32570
|
capName: "storage-provider",
|
|
32322
32571
|
capScope: "system",
|
|
@@ -32695,12 +32944,42 @@ Object.freeze({
|
|
|
32695
32944
|
addonId: null,
|
|
32696
32945
|
access: "create"
|
|
32697
32946
|
},
|
|
32947
|
+
"terminalSession.adoptLegacyMonitor": {
|
|
32948
|
+
capName: "terminal-session",
|
|
32949
|
+
capScope: "system",
|
|
32950
|
+
addonId: null,
|
|
32951
|
+
access: "create"
|
|
32952
|
+
},
|
|
32698
32953
|
"terminalSession.close": {
|
|
32699
32954
|
capName: "terminal-session",
|
|
32700
32955
|
capScope: "system",
|
|
32701
32956
|
addonId: null,
|
|
32702
32957
|
access: "create"
|
|
32703
32958
|
},
|
|
32959
|
+
"terminalSession.createInstance": {
|
|
32960
|
+
capName: "terminal-session",
|
|
32961
|
+
capScope: "system",
|
|
32962
|
+
addonId: null,
|
|
32963
|
+
access: "create"
|
|
32964
|
+
},
|
|
32965
|
+
"terminalSession.deleteInstance": {
|
|
32966
|
+
capName: "terminal-session",
|
|
32967
|
+
capScope: "system",
|
|
32968
|
+
addonId: null,
|
|
32969
|
+
access: "delete"
|
|
32970
|
+
},
|
|
32971
|
+
"terminalSession.listInstances": {
|
|
32972
|
+
capName: "terminal-session",
|
|
32973
|
+
capScope: "system",
|
|
32974
|
+
addonId: null,
|
|
32975
|
+
access: "view"
|
|
32976
|
+
},
|
|
32977
|
+
"terminalSession.listLegacyCameras": {
|
|
32978
|
+
capName: "terminal-session",
|
|
32979
|
+
capScope: "system",
|
|
32980
|
+
addonId: null,
|
|
32981
|
+
access: "view"
|
|
32982
|
+
},
|
|
32704
32983
|
"terminalSession.listProfiles": {
|
|
32705
32984
|
capName: "terminal-session",
|
|
32706
32985
|
capScope: "system",
|
|
@@ -32731,6 +33010,12 @@ Object.freeze({
|
|
|
32731
33010
|
addonId: null,
|
|
32732
33011
|
access: "create"
|
|
32733
33012
|
},
|
|
33013
|
+
"terminalSession.setInstanceEnabled": {
|
|
33014
|
+
capName: "terminal-session",
|
|
33015
|
+
capScope: "system",
|
|
33016
|
+
addonId: null,
|
|
33017
|
+
access: "create"
|
|
33018
|
+
},
|
|
32734
33019
|
"terminalSession.writeInput": {
|
|
32735
33020
|
capName: "terminal-session",
|
|
32736
33021
|
capScope: "system",
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@camstack/addon-provider-amcrest",
|
|
3
|
-
"version": "0.2.
|
|
3
|
+
"version": "0.2.14",
|
|
4
4
|
"description": "Amcrest/Dahua camera device provider addon for CamStack — Dahua CGI over HTTP(S) with digest auth (snapshot, RTSP catalog, PTZ, image/day-night config)",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"camstack",
|