@camstack/addon-provider-amcrest 0.2.12 → 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 +357 -30
- package/dist/addon.mjs +357 -30
- 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",
|
|
16250
16330
|
auth: "admin"
|
|
16251
|
-
}), method(
|
|
16331
|
+
}), method(StorageMigrationLeaseInputSchema, object({ refreshed: literal(true) }), {
|
|
16332
|
+
kind: "mutation",
|
|
16333
|
+
auth: "admin"
|
|
16334
|
+
}), method(StorageMigrationMediaMoveInputSchema, object({ jobId: string() }), {
|
|
16335
|
+
kind: "mutation",
|
|
16336
|
+
auth: "admin"
|
|
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,7 +18745,67 @@ var TerminalProfileInfoSchema = object({
|
|
|
18646
18745
|
label: string(),
|
|
18647
18746
|
description: string().optional()
|
|
18648
18747
|
});
|
|
18649
|
-
|
|
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
|
+
});
|
|
18770
|
+
var TerminalOutputEventSchema = discriminatedUnion("kind", [object({
|
|
18771
|
+
seq: number().int().positive(),
|
|
18772
|
+
kind: literal("data"),
|
|
18773
|
+
data: string()
|
|
18774
|
+
}), object({
|
|
18775
|
+
seq: number().int().positive(),
|
|
18776
|
+
kind: literal("exit"),
|
|
18777
|
+
exitCode: number().int(),
|
|
18778
|
+
signal: number().int().optional()
|
|
18779
|
+
})]);
|
|
18780
|
+
var TerminalOutputBatchSchema = object({
|
|
18781
|
+
cursor: number().int().nonnegative(),
|
|
18782
|
+
reset: boolean(),
|
|
18783
|
+
snapshot: string().optional(),
|
|
18784
|
+
events: array(TerminalOutputEventSchema).readonly()
|
|
18785
|
+
});
|
|
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({
|
|
18650
18809
|
profileId: string(),
|
|
18651
18810
|
cols: number().int().positive(),
|
|
18652
18811
|
rows: number().int().positive()
|
|
@@ -18660,6 +18819,26 @@ method(_void(), array(TerminalProfileInfoSchema).readonly(), { auth: "admin" }),
|
|
|
18660
18819
|
}), _void(), {
|
|
18661
18820
|
kind: "mutation",
|
|
18662
18821
|
auth: "admin"
|
|
18822
|
+
}), method(object({
|
|
18823
|
+
sessionId: string(),
|
|
18824
|
+
afterSeq: number().int().nonnegative(),
|
|
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()
|
|
18832
|
+
}), TerminalOutputBatchSchema, {
|
|
18833
|
+
kind: "mutation",
|
|
18834
|
+
auth: "admin",
|
|
18835
|
+
timeoutMs: 15e3
|
|
18836
|
+
}), method(object({
|
|
18837
|
+
sessionId: string(),
|
|
18838
|
+
data: string().max(64 * 1024)
|
|
18839
|
+
}), _void(), {
|
|
18840
|
+
kind: "mutation",
|
|
18841
|
+
auth: "admin"
|
|
18663
18842
|
}), method(object({ sessionId: string() }), _void(), {
|
|
18664
18843
|
kind: "mutation",
|
|
18665
18844
|
auth: "admin"
|
|
@@ -21147,6 +21326,7 @@ var FaceInfoSchema = object({
|
|
|
21147
21326
|
var FaceFilterEnum = _enum([
|
|
21148
21327
|
"unassigned",
|
|
21149
21328
|
"recognized",
|
|
21329
|
+
"identified",
|
|
21150
21330
|
"all"
|
|
21151
21331
|
]);
|
|
21152
21332
|
var MediaFileLiteSchema$1 = object({
|
|
@@ -21175,6 +21355,8 @@ method(_void(), array(IdentitySchema).readonly()), method(object({ name: string(
|
|
|
21175
21355
|
kind: "mutation",
|
|
21176
21356
|
auth: "admin"
|
|
21177
21357
|
}), method(object({
|
|
21358
|
+
/** Restrict to one camera. Absent keeps the cluster-wide gallery view. */
|
|
21359
|
+
deviceId: number().int().optional(),
|
|
21178
21360
|
limit: number().int().positive().optional(),
|
|
21179
21361
|
filter: FaceFilterEnum.optional(),
|
|
21180
21362
|
/**
|
|
@@ -23450,6 +23632,10 @@ var OsdSourceSchema = discriminatedUnion("kind", [
|
|
|
23450
23632
|
capName: string().min(1).max(64),
|
|
23451
23633
|
/** Dot path inside the slice, e.g. `detected`, `value`, `mode`. */
|
|
23452
23634
|
valuePath: string().min(1).max(64)
|
|
23635
|
+
}),
|
|
23636
|
+
object({
|
|
23637
|
+
kind: literal("latest-recognition"),
|
|
23638
|
+
recognition: _enum(["person", "plate"])
|
|
23453
23639
|
})
|
|
23454
23640
|
]);
|
|
23455
23641
|
var OsdSlotBindingSchema = object({
|
|
@@ -23555,6 +23741,15 @@ method(object({ deviceId: number().int() }), object({
|
|
|
23555
23741
|
}), object({ success: literal(true) }), {
|
|
23556
23742
|
kind: "mutation",
|
|
23557
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"
|
|
23558
23753
|
}), method(object({
|
|
23559
23754
|
deviceId: number().int(),
|
|
23560
23755
|
slotId: string().min(1),
|
|
@@ -24694,13 +24889,19 @@ method(object({
|
|
|
24694
24889
|
}), {
|
|
24695
24890
|
kind: "mutation",
|
|
24696
24891
|
auth: "admin"
|
|
24697
|
-
}), method(
|
|
24892
|
+
}), method(StorageMigrationLeaseInputSchema, object({ paused: literal(true) }), {
|
|
24698
24893
|
kind: "mutation",
|
|
24699
24894
|
auth: "admin"
|
|
24700
|
-
}), method(object({
|
|
24701
|
-
kind: "
|
|
24895
|
+
}), method(StorageMigrationLeaseInputSchema, object({ resumed: literal(true) }), {
|
|
24896
|
+
kind: "mutation",
|
|
24702
24897
|
auth: "admin"
|
|
24703
|
-
}), 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() }), {
|
|
24704
24905
|
kind: "mutation",
|
|
24705
24906
|
auth: "admin"
|
|
24706
24907
|
});
|
|
@@ -30648,6 +30849,12 @@ Object.freeze({
|
|
|
30648
30849
|
addonId: null,
|
|
30649
30850
|
access: "delete"
|
|
30650
30851
|
},
|
|
30852
|
+
"osdManager.copyDeviceConfiguration": {
|
|
30853
|
+
capName: "osd-manager",
|
|
30854
|
+
capScope: "system",
|
|
30855
|
+
addonId: null,
|
|
30856
|
+
access: "create"
|
|
30857
|
+
},
|
|
30651
30858
|
"osdManager.getConditionSupport": {
|
|
30652
30859
|
capName: "osd-manager",
|
|
30653
30860
|
capScope: "system",
|
|
@@ -30744,7 +30951,7 @@ Object.freeze({
|
|
|
30744
30951
|
addonId: null,
|
|
30745
30952
|
access: "create"
|
|
30746
30953
|
},
|
|
30747
|
-
"pipelineAnalytics.
|
|
30954
|
+
"pipelineAnalytics.cancelStorageMigrationMove": {
|
|
30748
30955
|
capName: "pipeline-analytics",
|
|
30749
30956
|
capScope: "device",
|
|
30750
30957
|
addonId: null,
|
|
@@ -30816,12 +31023,6 @@ Object.freeze({
|
|
|
30816
31023
|
addonId: null,
|
|
30817
31024
|
access: "view"
|
|
30818
31025
|
},
|
|
30819
|
-
"pipelineAnalytics.getMediaRelocateStatus": {
|
|
30820
|
-
capName: "pipeline-analytics",
|
|
30821
|
-
capScope: "device",
|
|
30822
|
-
addonId: null,
|
|
30823
|
-
access: "view"
|
|
30824
|
-
},
|
|
30825
31026
|
"pipelineAnalytics.getMotionEvents": {
|
|
30826
31027
|
capName: "pipeline-analytics",
|
|
30827
31028
|
capScope: "device",
|
|
@@ -30858,6 +31059,12 @@ Object.freeze({
|
|
|
30858
31059
|
addonId: null,
|
|
30859
31060
|
access: "view"
|
|
30860
31061
|
},
|
|
31062
|
+
"pipelineAnalytics.getStorageMigrationMoveStatus": {
|
|
31063
|
+
capName: "pipeline-analytics",
|
|
31064
|
+
capScope: "device",
|
|
31065
|
+
addonId: null,
|
|
31066
|
+
access: "view"
|
|
31067
|
+
},
|
|
30861
31068
|
"pipelineAnalytics.getTrack": {
|
|
30862
31069
|
capName: "pipeline-analytics",
|
|
30863
31070
|
capScope: "device",
|
|
@@ -30936,6 +31143,12 @@ Object.freeze({
|
|
|
30936
31143
|
addonId: null,
|
|
30937
31144
|
access: "view"
|
|
30938
31145
|
},
|
|
31146
|
+
"pipelineAnalytics.pauseForStorageMigration": {
|
|
31147
|
+
capName: "pipeline-analytics",
|
|
31148
|
+
capScope: "device",
|
|
31149
|
+
addonId: null,
|
|
31150
|
+
access: "create"
|
|
31151
|
+
},
|
|
30939
31152
|
"pipelineAnalytics.proposeRetrainAnnotations": {
|
|
30940
31153
|
capName: "pipeline-analytics",
|
|
30941
31154
|
capScope: "device",
|
|
@@ -30966,7 +31179,7 @@ Object.freeze({
|
|
|
30966
31179
|
addonId: null,
|
|
30967
31180
|
access: "create"
|
|
30968
31181
|
},
|
|
30969
|
-
"pipelineAnalytics.
|
|
31182
|
+
"pipelineAnalytics.refreshStorageLocationsForMigration": {
|
|
30970
31183
|
capName: "pipeline-analytics",
|
|
30971
31184
|
capScope: "device",
|
|
30972
31185
|
addonId: null,
|
|
@@ -30978,6 +31191,12 @@ Object.freeze({
|
|
|
30978
31191
|
addonId: null,
|
|
30979
31192
|
access: "create"
|
|
30980
31193
|
},
|
|
31194
|
+
"pipelineAnalytics.resumeForStorageMigration": {
|
|
31195
|
+
capName: "pipeline-analytics",
|
|
31196
|
+
capScope: "device",
|
|
31197
|
+
addonId: null,
|
|
31198
|
+
access: "create"
|
|
31199
|
+
},
|
|
30981
31200
|
"pipelineAnalytics.saveRetrainAnnotations": {
|
|
30982
31201
|
capName: "pipeline-analytics",
|
|
30983
31202
|
capScope: "device",
|
|
@@ -31002,6 +31221,12 @@ Object.freeze({
|
|
|
31002
31221
|
addonId: null,
|
|
31003
31222
|
access: "create"
|
|
31004
31223
|
},
|
|
31224
|
+
"pipelineAnalytics.startStorageMigrationMove": {
|
|
31225
|
+
capName: "pipeline-analytics",
|
|
31226
|
+
capScope: "device",
|
|
31227
|
+
addonId: null,
|
|
31228
|
+
access: "create"
|
|
31229
|
+
},
|
|
31005
31230
|
"pipelineAnalytics.wipeAllAnalytics": {
|
|
31006
31231
|
capName: "pipeline-analytics",
|
|
31007
31232
|
capScope: "device",
|
|
@@ -31368,6 +31593,12 @@ Object.freeze({
|
|
|
31368
31593
|
addonId: null,
|
|
31369
31594
|
access: "view"
|
|
31370
31595
|
},
|
|
31596
|
+
"pipelineOrchestrator.pauseForStorageMigration": {
|
|
31597
|
+
capName: "pipeline-orchestrator",
|
|
31598
|
+
capScope: "system",
|
|
31599
|
+
addonId: null,
|
|
31600
|
+
access: "create"
|
|
31601
|
+
},
|
|
31371
31602
|
"pipelineOrchestrator.rebalance": {
|
|
31372
31603
|
capName: "pipeline-orchestrator",
|
|
31373
31604
|
capScope: "system",
|
|
@@ -31392,6 +31623,12 @@ Object.freeze({
|
|
|
31392
31623
|
addonId: null,
|
|
31393
31624
|
access: "view"
|
|
31394
31625
|
},
|
|
31626
|
+
"pipelineOrchestrator.resumeForStorageMigration": {
|
|
31627
|
+
capName: "pipeline-orchestrator",
|
|
31628
|
+
capScope: "system",
|
|
31629
|
+
addonId: null,
|
|
31630
|
+
access: "create"
|
|
31631
|
+
},
|
|
31395
31632
|
"pipelineOrchestrator.saveTemplate": {
|
|
31396
31633
|
capName: "pipeline-orchestrator",
|
|
31397
31634
|
capScope: "system",
|
|
@@ -31788,7 +32025,7 @@ Object.freeze({
|
|
|
31788
32025
|
addonId: null,
|
|
31789
32026
|
access: "create"
|
|
31790
32027
|
},
|
|
31791
|
-
"recording.
|
|
32028
|
+
"recording.cancelStorageMigrationMove": {
|
|
31792
32029
|
capName: "recording",
|
|
31793
32030
|
capScope: "system",
|
|
31794
32031
|
addonId: null,
|
|
@@ -31824,7 +32061,7 @@ Object.freeze({
|
|
|
31824
32061
|
addonId: null,
|
|
31825
32062
|
access: "view"
|
|
31826
32063
|
},
|
|
31827
|
-
"recording.
|
|
32064
|
+
"recording.getStorageMigrationMoveStatus": {
|
|
31828
32065
|
capName: "recording",
|
|
31829
32066
|
capScope: "system",
|
|
31830
32067
|
addonId: null,
|
|
@@ -31848,6 +32085,12 @@ Object.freeze({
|
|
|
31848
32085
|
addonId: null,
|
|
31849
32086
|
access: "view"
|
|
31850
32087
|
},
|
|
32088
|
+
"recording.pauseForStorageMigration": {
|
|
32089
|
+
capName: "recording",
|
|
32090
|
+
capScope: "system",
|
|
32091
|
+
addonId: null,
|
|
32092
|
+
access: "create"
|
|
32093
|
+
},
|
|
31851
32094
|
"recording.pruneFootage": {
|
|
31852
32095
|
capName: "recording",
|
|
31853
32096
|
capScope: "system",
|
|
@@ -31866,7 +32109,7 @@ Object.freeze({
|
|
|
31866
32109
|
addonId: null,
|
|
31867
32110
|
access: "view"
|
|
31868
32111
|
},
|
|
31869
|
-
"recording.
|
|
32112
|
+
"recording.refreshStorageLocationsForMigration": {
|
|
31870
32113
|
capName: "recording",
|
|
31871
32114
|
capScope: "system",
|
|
31872
32115
|
addonId: null,
|
|
@@ -31890,12 +32133,24 @@ Object.freeze({
|
|
|
31890
32133
|
addonId: null,
|
|
31891
32134
|
access: "create"
|
|
31892
32135
|
},
|
|
32136
|
+
"recording.resumeForStorageMigration": {
|
|
32137
|
+
capName: "recording",
|
|
32138
|
+
capScope: "system",
|
|
32139
|
+
addonId: null,
|
|
32140
|
+
access: "create"
|
|
32141
|
+
},
|
|
31893
32142
|
"recording.setDeviceConfig": {
|
|
31894
32143
|
capName: "recording",
|
|
31895
32144
|
capScope: "system",
|
|
31896
32145
|
addonId: null,
|
|
31897
32146
|
access: "create"
|
|
31898
32147
|
},
|
|
32148
|
+
"recording.startStorageMigrationMove": {
|
|
32149
|
+
capName: "recording",
|
|
32150
|
+
capScope: "system",
|
|
32151
|
+
addonId: null,
|
|
32152
|
+
access: "create"
|
|
32153
|
+
},
|
|
31899
32154
|
"recordingExport.cancelExport": {
|
|
31900
32155
|
capName: "recordingExport",
|
|
31901
32156
|
capScope: "system",
|
|
@@ -32286,6 +32541,30 @@ Object.freeze({
|
|
|
32286
32541
|
addonId: null,
|
|
32287
32542
|
access: "view"
|
|
32288
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
|
+
},
|
|
32289
32568
|
"storageProvider.abortUpload": {
|
|
32290
32569
|
capName: "storage-provider",
|
|
32291
32570
|
capScope: "system",
|
|
@@ -32664,12 +32943,42 @@ Object.freeze({
|
|
|
32664
32943
|
addonId: null,
|
|
32665
32944
|
access: "create"
|
|
32666
32945
|
},
|
|
32946
|
+
"terminalSession.adoptLegacyMonitor": {
|
|
32947
|
+
capName: "terminal-session",
|
|
32948
|
+
capScope: "system",
|
|
32949
|
+
addonId: null,
|
|
32950
|
+
access: "create"
|
|
32951
|
+
},
|
|
32667
32952
|
"terminalSession.close": {
|
|
32668
32953
|
capName: "terminal-session",
|
|
32669
32954
|
capScope: "system",
|
|
32670
32955
|
addonId: null,
|
|
32671
32956
|
access: "create"
|
|
32672
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
|
+
},
|
|
32673
32982
|
"terminalSession.listProfiles": {
|
|
32674
32983
|
capName: "terminal-session",
|
|
32675
32984
|
capScope: "system",
|
|
@@ -32688,12 +32997,30 @@ Object.freeze({
|
|
|
32688
32997
|
addonId: null,
|
|
32689
32998
|
access: "create"
|
|
32690
32999
|
},
|
|
33000
|
+
"terminalSession.pullOutput": {
|
|
33001
|
+
capName: "terminal-session",
|
|
33002
|
+
capScope: "system",
|
|
33003
|
+
addonId: null,
|
|
33004
|
+
access: "create"
|
|
33005
|
+
},
|
|
32691
33006
|
"terminalSession.resize": {
|
|
32692
33007
|
capName: "terminal-session",
|
|
32693
33008
|
capScope: "system",
|
|
32694
33009
|
addonId: null,
|
|
32695
33010
|
access: "create"
|
|
32696
33011
|
},
|
|
33012
|
+
"terminalSession.setInstanceEnabled": {
|
|
33013
|
+
capName: "terminal-session",
|
|
33014
|
+
capScope: "system",
|
|
33015
|
+
addonId: null,
|
|
33016
|
+
access: "create"
|
|
33017
|
+
},
|
|
33018
|
+
"terminalSession.writeInput": {
|
|
33019
|
+
capName: "terminal-session",
|
|
33020
|
+
capScope: "system",
|
|
33021
|
+
addonId: null,
|
|
33022
|
+
access: "create"
|
|
33023
|
+
},
|
|
32697
33024
|
"toast.onToast": {
|
|
32698
33025
|
capName: "toast",
|
|
32699
33026
|
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",
|
|
16251
16331
|
auth: "admin"
|
|
16252
|
-
}), method(
|
|
16332
|
+
}), method(StorageMigrationLeaseInputSchema, object({ refreshed: literal(true) }), {
|
|
16333
|
+
kind: "mutation",
|
|
16334
|
+
auth: "admin"
|
|
16335
|
+
}), method(StorageMigrationMediaMoveInputSchema, object({ jobId: string() }), {
|
|
16336
|
+
kind: "mutation",
|
|
16337
|
+
auth: "admin"
|
|
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,7 +18746,67 @@ var TerminalProfileInfoSchema = object({
|
|
|
18647
18746
|
label: string(),
|
|
18648
18747
|
description: string().optional()
|
|
18649
18748
|
});
|
|
18650
|
-
|
|
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
|
+
});
|
|
18771
|
+
var TerminalOutputEventSchema = discriminatedUnion("kind", [object({
|
|
18772
|
+
seq: number().int().positive(),
|
|
18773
|
+
kind: literal("data"),
|
|
18774
|
+
data: string()
|
|
18775
|
+
}), object({
|
|
18776
|
+
seq: number().int().positive(),
|
|
18777
|
+
kind: literal("exit"),
|
|
18778
|
+
exitCode: number().int(),
|
|
18779
|
+
signal: number().int().optional()
|
|
18780
|
+
})]);
|
|
18781
|
+
var TerminalOutputBatchSchema = object({
|
|
18782
|
+
cursor: number().int().nonnegative(),
|
|
18783
|
+
reset: boolean(),
|
|
18784
|
+
snapshot: string().optional(),
|
|
18785
|
+
events: array(TerminalOutputEventSchema).readonly()
|
|
18786
|
+
});
|
|
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({
|
|
18651
18810
|
profileId: string(),
|
|
18652
18811
|
cols: number().int().positive(),
|
|
18653
18812
|
rows: number().int().positive()
|
|
@@ -18661,6 +18820,26 @@ method(_void(), array(TerminalProfileInfoSchema).readonly(), { auth: "admin" }),
|
|
|
18661
18820
|
}), _void(), {
|
|
18662
18821
|
kind: "mutation",
|
|
18663
18822
|
auth: "admin"
|
|
18823
|
+
}), method(object({
|
|
18824
|
+
sessionId: string(),
|
|
18825
|
+
afterSeq: number().int().nonnegative(),
|
|
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()
|
|
18833
|
+
}), TerminalOutputBatchSchema, {
|
|
18834
|
+
kind: "mutation",
|
|
18835
|
+
auth: "admin",
|
|
18836
|
+
timeoutMs: 15e3
|
|
18837
|
+
}), method(object({
|
|
18838
|
+
sessionId: string(),
|
|
18839
|
+
data: string().max(64 * 1024)
|
|
18840
|
+
}), _void(), {
|
|
18841
|
+
kind: "mutation",
|
|
18842
|
+
auth: "admin"
|
|
18664
18843
|
}), method(object({ sessionId: string() }), _void(), {
|
|
18665
18844
|
kind: "mutation",
|
|
18666
18845
|
auth: "admin"
|
|
@@ -21148,6 +21327,7 @@ var FaceInfoSchema = object({
|
|
|
21148
21327
|
var FaceFilterEnum = _enum([
|
|
21149
21328
|
"unassigned",
|
|
21150
21329
|
"recognized",
|
|
21330
|
+
"identified",
|
|
21151
21331
|
"all"
|
|
21152
21332
|
]);
|
|
21153
21333
|
var MediaFileLiteSchema$1 = object({
|
|
@@ -21176,6 +21356,8 @@ method(_void(), array(IdentitySchema).readonly()), method(object({ name: string(
|
|
|
21176
21356
|
kind: "mutation",
|
|
21177
21357
|
auth: "admin"
|
|
21178
21358
|
}), method(object({
|
|
21359
|
+
/** Restrict to one camera. Absent keeps the cluster-wide gallery view. */
|
|
21360
|
+
deviceId: number().int().optional(),
|
|
21179
21361
|
limit: number().int().positive().optional(),
|
|
21180
21362
|
filter: FaceFilterEnum.optional(),
|
|
21181
21363
|
/**
|
|
@@ -23451,6 +23633,10 @@ var OsdSourceSchema = discriminatedUnion("kind", [
|
|
|
23451
23633
|
capName: string().min(1).max(64),
|
|
23452
23634
|
/** Dot path inside the slice, e.g. `detected`, `value`, `mode`. */
|
|
23453
23635
|
valuePath: string().min(1).max(64)
|
|
23636
|
+
}),
|
|
23637
|
+
object({
|
|
23638
|
+
kind: literal("latest-recognition"),
|
|
23639
|
+
recognition: _enum(["person", "plate"])
|
|
23454
23640
|
})
|
|
23455
23641
|
]);
|
|
23456
23642
|
var OsdSlotBindingSchema = object({
|
|
@@ -23556,6 +23742,15 @@ method(object({ deviceId: number().int() }), object({
|
|
|
23556
23742
|
}), object({ success: literal(true) }), {
|
|
23557
23743
|
kind: "mutation",
|
|
23558
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"
|
|
23559
23754
|
}), method(object({
|
|
23560
23755
|
deviceId: number().int(),
|
|
23561
23756
|
slotId: string().min(1),
|
|
@@ -24695,13 +24890,19 @@ method(object({
|
|
|
24695
24890
|
}), {
|
|
24696
24891
|
kind: "mutation",
|
|
24697
24892
|
auth: "admin"
|
|
24698
|
-
}), method(
|
|
24893
|
+
}), method(StorageMigrationLeaseInputSchema, object({ paused: literal(true) }), {
|
|
24699
24894
|
kind: "mutation",
|
|
24700
24895
|
auth: "admin"
|
|
24701
|
-
}), method(object({
|
|
24702
|
-
kind: "
|
|
24896
|
+
}), method(StorageMigrationLeaseInputSchema, object({ resumed: literal(true) }), {
|
|
24897
|
+
kind: "mutation",
|
|
24703
24898
|
auth: "admin"
|
|
24704
|
-
}), 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() }), {
|
|
24705
24906
|
kind: "mutation",
|
|
24706
24907
|
auth: "admin"
|
|
24707
24908
|
});
|
|
@@ -30649,6 +30850,12 @@ Object.freeze({
|
|
|
30649
30850
|
addonId: null,
|
|
30650
30851
|
access: "delete"
|
|
30651
30852
|
},
|
|
30853
|
+
"osdManager.copyDeviceConfiguration": {
|
|
30854
|
+
capName: "osd-manager",
|
|
30855
|
+
capScope: "system",
|
|
30856
|
+
addonId: null,
|
|
30857
|
+
access: "create"
|
|
30858
|
+
},
|
|
30652
30859
|
"osdManager.getConditionSupport": {
|
|
30653
30860
|
capName: "osd-manager",
|
|
30654
30861
|
capScope: "system",
|
|
@@ -30745,7 +30952,7 @@ Object.freeze({
|
|
|
30745
30952
|
addonId: null,
|
|
30746
30953
|
access: "create"
|
|
30747
30954
|
},
|
|
30748
|
-
"pipelineAnalytics.
|
|
30955
|
+
"pipelineAnalytics.cancelStorageMigrationMove": {
|
|
30749
30956
|
capName: "pipeline-analytics",
|
|
30750
30957
|
capScope: "device",
|
|
30751
30958
|
addonId: null,
|
|
@@ -30817,12 +31024,6 @@ Object.freeze({
|
|
|
30817
31024
|
addonId: null,
|
|
30818
31025
|
access: "view"
|
|
30819
31026
|
},
|
|
30820
|
-
"pipelineAnalytics.getMediaRelocateStatus": {
|
|
30821
|
-
capName: "pipeline-analytics",
|
|
30822
|
-
capScope: "device",
|
|
30823
|
-
addonId: null,
|
|
30824
|
-
access: "view"
|
|
30825
|
-
},
|
|
30826
31027
|
"pipelineAnalytics.getMotionEvents": {
|
|
30827
31028
|
capName: "pipeline-analytics",
|
|
30828
31029
|
capScope: "device",
|
|
@@ -30859,6 +31060,12 @@ Object.freeze({
|
|
|
30859
31060
|
addonId: null,
|
|
30860
31061
|
access: "view"
|
|
30861
31062
|
},
|
|
31063
|
+
"pipelineAnalytics.getStorageMigrationMoveStatus": {
|
|
31064
|
+
capName: "pipeline-analytics",
|
|
31065
|
+
capScope: "device",
|
|
31066
|
+
addonId: null,
|
|
31067
|
+
access: "view"
|
|
31068
|
+
},
|
|
30862
31069
|
"pipelineAnalytics.getTrack": {
|
|
30863
31070
|
capName: "pipeline-analytics",
|
|
30864
31071
|
capScope: "device",
|
|
@@ -30937,6 +31144,12 @@ Object.freeze({
|
|
|
30937
31144
|
addonId: null,
|
|
30938
31145
|
access: "view"
|
|
30939
31146
|
},
|
|
31147
|
+
"pipelineAnalytics.pauseForStorageMigration": {
|
|
31148
|
+
capName: "pipeline-analytics",
|
|
31149
|
+
capScope: "device",
|
|
31150
|
+
addonId: null,
|
|
31151
|
+
access: "create"
|
|
31152
|
+
},
|
|
30940
31153
|
"pipelineAnalytics.proposeRetrainAnnotations": {
|
|
30941
31154
|
capName: "pipeline-analytics",
|
|
30942
31155
|
capScope: "device",
|
|
@@ -30967,7 +31180,7 @@ Object.freeze({
|
|
|
30967
31180
|
addonId: null,
|
|
30968
31181
|
access: "create"
|
|
30969
31182
|
},
|
|
30970
|
-
"pipelineAnalytics.
|
|
31183
|
+
"pipelineAnalytics.refreshStorageLocationsForMigration": {
|
|
30971
31184
|
capName: "pipeline-analytics",
|
|
30972
31185
|
capScope: "device",
|
|
30973
31186
|
addonId: null,
|
|
@@ -30979,6 +31192,12 @@ Object.freeze({
|
|
|
30979
31192
|
addonId: null,
|
|
30980
31193
|
access: "create"
|
|
30981
31194
|
},
|
|
31195
|
+
"pipelineAnalytics.resumeForStorageMigration": {
|
|
31196
|
+
capName: "pipeline-analytics",
|
|
31197
|
+
capScope: "device",
|
|
31198
|
+
addonId: null,
|
|
31199
|
+
access: "create"
|
|
31200
|
+
},
|
|
30982
31201
|
"pipelineAnalytics.saveRetrainAnnotations": {
|
|
30983
31202
|
capName: "pipeline-analytics",
|
|
30984
31203
|
capScope: "device",
|
|
@@ -31003,6 +31222,12 @@ Object.freeze({
|
|
|
31003
31222
|
addonId: null,
|
|
31004
31223
|
access: "create"
|
|
31005
31224
|
},
|
|
31225
|
+
"pipelineAnalytics.startStorageMigrationMove": {
|
|
31226
|
+
capName: "pipeline-analytics",
|
|
31227
|
+
capScope: "device",
|
|
31228
|
+
addonId: null,
|
|
31229
|
+
access: "create"
|
|
31230
|
+
},
|
|
31006
31231
|
"pipelineAnalytics.wipeAllAnalytics": {
|
|
31007
31232
|
capName: "pipeline-analytics",
|
|
31008
31233
|
capScope: "device",
|
|
@@ -31369,6 +31594,12 @@ Object.freeze({
|
|
|
31369
31594
|
addonId: null,
|
|
31370
31595
|
access: "view"
|
|
31371
31596
|
},
|
|
31597
|
+
"pipelineOrchestrator.pauseForStorageMigration": {
|
|
31598
|
+
capName: "pipeline-orchestrator",
|
|
31599
|
+
capScope: "system",
|
|
31600
|
+
addonId: null,
|
|
31601
|
+
access: "create"
|
|
31602
|
+
},
|
|
31372
31603
|
"pipelineOrchestrator.rebalance": {
|
|
31373
31604
|
capName: "pipeline-orchestrator",
|
|
31374
31605
|
capScope: "system",
|
|
@@ -31393,6 +31624,12 @@ Object.freeze({
|
|
|
31393
31624
|
addonId: null,
|
|
31394
31625
|
access: "view"
|
|
31395
31626
|
},
|
|
31627
|
+
"pipelineOrchestrator.resumeForStorageMigration": {
|
|
31628
|
+
capName: "pipeline-orchestrator",
|
|
31629
|
+
capScope: "system",
|
|
31630
|
+
addonId: null,
|
|
31631
|
+
access: "create"
|
|
31632
|
+
},
|
|
31396
31633
|
"pipelineOrchestrator.saveTemplate": {
|
|
31397
31634
|
capName: "pipeline-orchestrator",
|
|
31398
31635
|
capScope: "system",
|
|
@@ -31789,7 +32026,7 @@ Object.freeze({
|
|
|
31789
32026
|
addonId: null,
|
|
31790
32027
|
access: "create"
|
|
31791
32028
|
},
|
|
31792
|
-
"recording.
|
|
32029
|
+
"recording.cancelStorageMigrationMove": {
|
|
31793
32030
|
capName: "recording",
|
|
31794
32031
|
capScope: "system",
|
|
31795
32032
|
addonId: null,
|
|
@@ -31825,7 +32062,7 @@ Object.freeze({
|
|
|
31825
32062
|
addonId: null,
|
|
31826
32063
|
access: "view"
|
|
31827
32064
|
},
|
|
31828
|
-
"recording.
|
|
32065
|
+
"recording.getStorageMigrationMoveStatus": {
|
|
31829
32066
|
capName: "recording",
|
|
31830
32067
|
capScope: "system",
|
|
31831
32068
|
addonId: null,
|
|
@@ -31849,6 +32086,12 @@ Object.freeze({
|
|
|
31849
32086
|
addonId: null,
|
|
31850
32087
|
access: "view"
|
|
31851
32088
|
},
|
|
32089
|
+
"recording.pauseForStorageMigration": {
|
|
32090
|
+
capName: "recording",
|
|
32091
|
+
capScope: "system",
|
|
32092
|
+
addonId: null,
|
|
32093
|
+
access: "create"
|
|
32094
|
+
},
|
|
31852
32095
|
"recording.pruneFootage": {
|
|
31853
32096
|
capName: "recording",
|
|
31854
32097
|
capScope: "system",
|
|
@@ -31867,7 +32110,7 @@ Object.freeze({
|
|
|
31867
32110
|
addonId: null,
|
|
31868
32111
|
access: "view"
|
|
31869
32112
|
},
|
|
31870
|
-
"recording.
|
|
32113
|
+
"recording.refreshStorageLocationsForMigration": {
|
|
31871
32114
|
capName: "recording",
|
|
31872
32115
|
capScope: "system",
|
|
31873
32116
|
addonId: null,
|
|
@@ -31891,12 +32134,24 @@ Object.freeze({
|
|
|
31891
32134
|
addonId: null,
|
|
31892
32135
|
access: "create"
|
|
31893
32136
|
},
|
|
32137
|
+
"recording.resumeForStorageMigration": {
|
|
32138
|
+
capName: "recording",
|
|
32139
|
+
capScope: "system",
|
|
32140
|
+
addonId: null,
|
|
32141
|
+
access: "create"
|
|
32142
|
+
},
|
|
31894
32143
|
"recording.setDeviceConfig": {
|
|
31895
32144
|
capName: "recording",
|
|
31896
32145
|
capScope: "system",
|
|
31897
32146
|
addonId: null,
|
|
31898
32147
|
access: "create"
|
|
31899
32148
|
},
|
|
32149
|
+
"recording.startStorageMigrationMove": {
|
|
32150
|
+
capName: "recording",
|
|
32151
|
+
capScope: "system",
|
|
32152
|
+
addonId: null,
|
|
32153
|
+
access: "create"
|
|
32154
|
+
},
|
|
31900
32155
|
"recordingExport.cancelExport": {
|
|
31901
32156
|
capName: "recordingExport",
|
|
31902
32157
|
capScope: "system",
|
|
@@ -32287,6 +32542,30 @@ Object.freeze({
|
|
|
32287
32542
|
addonId: null,
|
|
32288
32543
|
access: "view"
|
|
32289
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
|
+
},
|
|
32290
32569
|
"storageProvider.abortUpload": {
|
|
32291
32570
|
capName: "storage-provider",
|
|
32292
32571
|
capScope: "system",
|
|
@@ -32665,12 +32944,42 @@ Object.freeze({
|
|
|
32665
32944
|
addonId: null,
|
|
32666
32945
|
access: "create"
|
|
32667
32946
|
},
|
|
32947
|
+
"terminalSession.adoptLegacyMonitor": {
|
|
32948
|
+
capName: "terminal-session",
|
|
32949
|
+
capScope: "system",
|
|
32950
|
+
addonId: null,
|
|
32951
|
+
access: "create"
|
|
32952
|
+
},
|
|
32668
32953
|
"terminalSession.close": {
|
|
32669
32954
|
capName: "terminal-session",
|
|
32670
32955
|
capScope: "system",
|
|
32671
32956
|
addonId: null,
|
|
32672
32957
|
access: "create"
|
|
32673
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
|
+
},
|
|
32674
32983
|
"terminalSession.listProfiles": {
|
|
32675
32984
|
capName: "terminal-session",
|
|
32676
32985
|
capScope: "system",
|
|
@@ -32689,12 +32998,30 @@ Object.freeze({
|
|
|
32689
32998
|
addonId: null,
|
|
32690
32999
|
access: "create"
|
|
32691
33000
|
},
|
|
33001
|
+
"terminalSession.pullOutput": {
|
|
33002
|
+
capName: "terminal-session",
|
|
33003
|
+
capScope: "system",
|
|
33004
|
+
addonId: null,
|
|
33005
|
+
access: "create"
|
|
33006
|
+
},
|
|
32692
33007
|
"terminalSession.resize": {
|
|
32693
33008
|
capName: "terminal-session",
|
|
32694
33009
|
capScope: "system",
|
|
32695
33010
|
addonId: null,
|
|
32696
33011
|
access: "create"
|
|
32697
33012
|
},
|
|
33013
|
+
"terminalSession.setInstanceEnabled": {
|
|
33014
|
+
capName: "terminal-session",
|
|
33015
|
+
capScope: "system",
|
|
33016
|
+
addonId: null,
|
|
33017
|
+
access: "create"
|
|
33018
|
+
},
|
|
33019
|
+
"terminalSession.writeInput": {
|
|
33020
|
+
capName: "terminal-session",
|
|
33021
|
+
capScope: "system",
|
|
33022
|
+
addonId: null,
|
|
33023
|
+
access: "create"
|
|
33024
|
+
},
|
|
32698
33025
|
"toast.onToast": {
|
|
32699
33026
|
capName: "toast",
|
|
32700
33027
|
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",
|