@camstack/addon-provider-petkit 0.2.11 → 0.2.13
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
|
@@ -8667,12 +8667,11 @@ var RecordingConfigSchema = object({
|
|
|
8667
8667
|
/**
|
|
8668
8668
|
* Entity-relocation job state (storage entity-routing spec, Phase 4).
|
|
8669
8669
|
*
|
|
8670
|
-
* One shape shared by the recorder
|
|
8671
|
-
*
|
|
8672
|
-
*
|
|
8673
|
-
*
|
|
8674
|
-
*
|
|
8675
|
-
* row on the owning addon's surface.
|
|
8670
|
+
* One shape shared by the recorder and pipeline-analytics internal movers.
|
|
8671
|
+
* The public admin surface is `storage-migration`; child jobs remain in RAM
|
|
8672
|
+
* because copy-if-absent, verify, delete and index/row repoint are resumable.
|
|
8673
|
+
* Each completed/failed run also lands one durable ops-log row on its owning
|
|
8674
|
+
* addon surface.
|
|
8676
8675
|
*/
|
|
8677
8676
|
var RelocateJobStateSchema = _enum([
|
|
8678
8677
|
"running",
|
|
@@ -8699,19 +8698,100 @@ var RelocateJobSchema = object({
|
|
|
8699
8698
|
finishedAt: number().nullable(),
|
|
8700
8699
|
error: string().nullable()
|
|
8701
8700
|
});
|
|
8701
|
+
/** Profile-derived footage selection used only by the migration coordinator:
|
|
8702
|
+
* `recordings` owns high+mid; `recordingsLow` owns low. */
|
|
8703
|
+
var RelocateFootageClassSchema = _enum(["recordings", "recordingsLow"]);
|
|
8702
8704
|
var RelocateFootageInputSchema = object({
|
|
8703
|
-
deviceId: number().optional(),
|
|
8704
8705
|
fromLocationId: string(),
|
|
8705
8706
|
toLocationId: string(),
|
|
8706
8707
|
entities: array(_enum(["segments"])).optional(),
|
|
8708
|
+
/** Limits relocation to the logical profile class. Omit only for the
|
|
8709
|
+
* pre-orchestration compatibility path. */
|
|
8710
|
+
footageClass: RelocateFootageClassSchema.optional(),
|
|
8707
8711
|
/** Copy throttle in MB/s (default 40) — the drain is a background chore,
|
|
8708
8712
|
* never allowed to starve live writers. */
|
|
8709
8713
|
throttleMbps: number().min(1).max(1e3).optional()
|
|
8710
8714
|
});
|
|
8711
|
-
|
|
8712
|
-
|
|
8715
|
+
/** Internal, lease-scoped participant operation. It is intentionally separate
|
|
8716
|
+
* from persistent recording settings: a migration never changes
|
|
8717
|
+
* `RecordingConfig.enabled` or camera wrapper bindings. */
|
|
8718
|
+
var StorageMigrationLeaseInputSchema = object({ leaseId: string().min(1) });
|
|
8719
|
+
var StorageMigrationFootageMoveInputSchema = RelocateFootageInputSchema.extend({ leaseId: string().min(1) });
|
|
8720
|
+
var StorageMigrationMediaMoveInputSchema = object({
|
|
8713
8721
|
toLocationId: string(),
|
|
8714
8722
|
throttleMbps: number().min(1).max(1e3).optional()
|
|
8723
|
+
}).extend({ leaseId: string().min(1) });
|
|
8724
|
+
/** The independently selectable logical storage classes. `recordings`
|
|
8725
|
+
* encompasses the high and mid segment profiles; `recordingsLow` is low
|
|
8726
|
+
* segments; `eventMedia` is post-analysis blobs. */
|
|
8727
|
+
var StorageMigrationClassSchema = _enum([
|
|
8728
|
+
"recordings",
|
|
8729
|
+
"recordingsLow",
|
|
8730
|
+
"eventMedia"
|
|
8731
|
+
]);
|
|
8732
|
+
/** A destination is always an existing, fully-qualified location id. The
|
|
8733
|
+
* migration API intentionally never changes a source location's `basePath`:
|
|
8734
|
+
* callers create a new `<type>:<slug>` location, then select it here. */
|
|
8735
|
+
var StorageMigrationDestinationsSchema = object({
|
|
8736
|
+
recordings: string().min(1).optional(),
|
|
8737
|
+
recordingsLow: string().min(1).optional(),
|
|
8738
|
+
eventMedia: string().min(1).optional()
|
|
8739
|
+
}).refine((value) => Object.keys(value).length > 0, { message: "select at least one storage class" });
|
|
8740
|
+
/** Shared input for planning and starting an orchestrated storage migration. */
|
|
8741
|
+
var StorageMigrationInputSchema = object({
|
|
8742
|
+
destinations: StorageMigrationDestinationsSchema,
|
|
8743
|
+
throttleMbps: number().min(1).max(1e3).optional()
|
|
8744
|
+
});
|
|
8745
|
+
/** The durable coordinator state machine. The only phase that changes default
|
|
8746
|
+
* locations is `repointing`, after every selected mover has completed and been
|
|
8747
|
+
* verified. */
|
|
8748
|
+
var StorageMigrationPhaseSchema = _enum([
|
|
8749
|
+
"planning",
|
|
8750
|
+
"pausing",
|
|
8751
|
+
"moving",
|
|
8752
|
+
"verifying",
|
|
8753
|
+
"repointing",
|
|
8754
|
+
"refreshing",
|
|
8755
|
+
"resuming",
|
|
8756
|
+
"done",
|
|
8757
|
+
"failed",
|
|
8758
|
+
"cancelled"
|
|
8759
|
+
]);
|
|
8760
|
+
var StorageMigrationParticipantSchema = _enum([
|
|
8761
|
+
"pipeline",
|
|
8762
|
+
"recorder",
|
|
8763
|
+
"analytics"
|
|
8764
|
+
]);
|
|
8765
|
+
var StorageMigrationMoveSchema = object({
|
|
8766
|
+
storageClass: StorageMigrationClassSchema,
|
|
8767
|
+
fromLocationId: string(),
|
|
8768
|
+
toLocationId: string(),
|
|
8769
|
+
moverJobId: string().nullable(),
|
|
8770
|
+
state: RelocateJobStateSchema.nullable(),
|
|
8771
|
+
error: string().nullable()
|
|
8772
|
+
});
|
|
8773
|
+
var StorageMigrationJobSchema = object({
|
|
8774
|
+
jobId: string(),
|
|
8775
|
+
phase: StorageMigrationPhaseSchema,
|
|
8776
|
+
destinations: StorageMigrationDestinationsSchema,
|
|
8777
|
+
throttleMbps: number(),
|
|
8778
|
+
moves: array(StorageMigrationMoveSchema),
|
|
8779
|
+
pauseLeaseId: string().nullable(),
|
|
8780
|
+
pausedParticipants: array(StorageMigrationParticipantSchema),
|
|
8781
|
+
repointed: boolean(),
|
|
8782
|
+
cancelRequested: boolean(),
|
|
8783
|
+
startedAt: number(),
|
|
8784
|
+
updatedAt: number(),
|
|
8785
|
+
finishedAt: number().nullable(),
|
|
8786
|
+
error: string().nullable()
|
|
8787
|
+
});
|
|
8788
|
+
var StorageMigrationPlanSchema = object({
|
|
8789
|
+
destinations: StorageMigrationDestinationsSchema,
|
|
8790
|
+
moves: array(object({
|
|
8791
|
+
storageClass: StorageMigrationClassSchema,
|
|
8792
|
+
fromLocationId: string(),
|
|
8793
|
+
toLocationId: string()
|
|
8794
|
+
}))
|
|
8715
8795
|
});
|
|
8716
8796
|
/**
|
|
8717
8797
|
* `StorageLocationType` — an addon-declared id that identifies the *kind* of
|
|
@@ -17382,13 +17462,19 @@ DeviceType.Camera, method(object({ deviceId: number() }), array(TrackSchema).rea
|
|
|
17382
17462
|
}), method(object({ deviceId: number() }), EventPruneCountsSchema, {
|
|
17383
17463
|
kind: "mutation",
|
|
17384
17464
|
auth: "admin"
|
|
17385
|
-
}), method(
|
|
17465
|
+
}), method(StorageMigrationLeaseInputSchema, object({ paused: literal(true) }), {
|
|
17386
17466
|
kind: "mutation",
|
|
17387
17467
|
auth: "admin"
|
|
17388
|
-
}), method(object({
|
|
17389
|
-
kind: "
|
|
17468
|
+
}), method(StorageMigrationLeaseInputSchema, object({ resumed: literal(true) }), {
|
|
17469
|
+
kind: "mutation",
|
|
17390
17470
|
auth: "admin"
|
|
17391
|
-
}), method(
|
|
17471
|
+
}), method(StorageMigrationLeaseInputSchema, object({ refreshed: literal(true) }), {
|
|
17472
|
+
kind: "mutation",
|
|
17473
|
+
auth: "admin"
|
|
17474
|
+
}), method(StorageMigrationMediaMoveInputSchema, object({ jobId: string() }), {
|
|
17475
|
+
kind: "mutation",
|
|
17476
|
+
auth: "admin"
|
|
17477
|
+
}), method(object({ jobId: string() }), RelocateJobSchema.nullable(), { auth: "admin" }), method(object({ jobId: string() }), object({ cancelled: boolean() }), {
|
|
17392
17478
|
kind: "mutation",
|
|
17393
17479
|
auth: "admin"
|
|
17394
17480
|
}), method(OpsLogQueryInputSchema, array(OpsLogEntrySchema).readonly(), {
|
|
@@ -18918,7 +19004,13 @@ var NodeInferenceDevicesSchema = object({
|
|
|
18918
19004
|
reachable: boolean(),
|
|
18919
19005
|
devices: array(NodeInferenceDeviceSchema).readonly()
|
|
18920
19006
|
});
|
|
18921
|
-
method(object({
|
|
19007
|
+
method(StorageMigrationLeaseInputSchema, object({ paused: literal(true) }), {
|
|
19008
|
+
kind: "mutation",
|
|
19009
|
+
auth: "admin"
|
|
19010
|
+
}), method(StorageMigrationLeaseInputSchema, object({ resumed: literal(true) }), {
|
|
19011
|
+
kind: "mutation",
|
|
19012
|
+
auth: "admin"
|
|
19013
|
+
}), method(object({
|
|
18922
19014
|
deviceId: number(),
|
|
18923
19015
|
agentNodeId: string()
|
|
18924
19016
|
}), object({ success: literal(true) }), {
|
|
@@ -19592,6 +19684,13 @@ method(object({ locationId: string() }), EvictableUsageSchema), method(object({
|
|
|
19592
19684
|
locationId: string(),
|
|
19593
19685
|
targetBytes: number().int().positive()
|
|
19594
19686
|
}), EvictResultSchema, { kind: "mutation" });
|
|
19687
|
+
method(StorageMigrationInputSchema, StorageMigrationPlanSchema, { auth: "admin" }), method(StorageMigrationInputSchema, object({ jobId: string() }), {
|
|
19688
|
+
kind: "mutation",
|
|
19689
|
+
auth: "admin"
|
|
19690
|
+
}), method(object({ jobId: string().optional() }), StorageMigrationJobSchema.nullable(), { auth: "admin" }), method(object({ jobId: string() }), object({ cancelled: boolean() }), {
|
|
19691
|
+
kind: "mutation",
|
|
19692
|
+
auth: "admin"
|
|
19693
|
+
});
|
|
19595
19694
|
var ProviderInfoSchema = discriminatedUnion("shouldSaveDiskSpace", [object({
|
|
19596
19695
|
providerId: string().min(1),
|
|
19597
19696
|
displayName: string().min(1),
|
|
@@ -19695,7 +19794,67 @@ var TerminalProfileInfoSchema = object({
|
|
|
19695
19794
|
label: string(),
|
|
19696
19795
|
description: string().optional()
|
|
19697
19796
|
});
|
|
19698
|
-
|
|
19797
|
+
/**
|
|
19798
|
+
* A durable operator-created Terminal instance. Profiles are templates; only
|
|
19799
|
+
* an instance declares a camera.
|
|
19800
|
+
*/
|
|
19801
|
+
var TerminalInstanceInfoSchema = object({
|
|
19802
|
+
instanceId: string(),
|
|
19803
|
+
cameraStableId: string(),
|
|
19804
|
+
nodeId: string(),
|
|
19805
|
+
profileId: string(),
|
|
19806
|
+
profileLabel: string(),
|
|
19807
|
+
name: string(),
|
|
19808
|
+
enabled: boolean()
|
|
19809
|
+
});
|
|
19810
|
+
var TerminalLegacyCameraSchema = object({
|
|
19811
|
+
stableId: string(),
|
|
19812
|
+
nodeId: string(),
|
|
19813
|
+
profileId: string(),
|
|
19814
|
+
profileLabel: string(),
|
|
19815
|
+
name: string(),
|
|
19816
|
+
/** Only legacy monitor cameras can retain their historic stable identity. */
|
|
19817
|
+
adoptable: boolean()
|
|
19818
|
+
});
|
|
19819
|
+
var TerminalOutputEventSchema = discriminatedUnion("kind", [object({
|
|
19820
|
+
seq: number().int().positive(),
|
|
19821
|
+
kind: literal("data"),
|
|
19822
|
+
data: string()
|
|
19823
|
+
}), object({
|
|
19824
|
+
seq: number().int().positive(),
|
|
19825
|
+
kind: literal("exit"),
|
|
19826
|
+
exitCode: number().int(),
|
|
19827
|
+
signal: number().int().optional()
|
|
19828
|
+
})]);
|
|
19829
|
+
var TerminalOutputBatchSchema = object({
|
|
19830
|
+
cursor: number().int().nonnegative(),
|
|
19831
|
+
reset: boolean(),
|
|
19832
|
+
snapshot: string().optional(),
|
|
19833
|
+
events: array(TerminalOutputEventSchema).readonly()
|
|
19834
|
+
});
|
|
19835
|
+
method(_void(), array(TerminalProfileInfoSchema).readonly(), { auth: "admin" }), method(_void(), array(TerminalInstanceInfoSchema).readonly(), { auth: "admin" }), method(object({
|
|
19836
|
+
targetNodeId: string().min(1),
|
|
19837
|
+
profileId: string().min(1),
|
|
19838
|
+
name: string().trim().min(1).max(160).optional()
|
|
19839
|
+
}), TerminalInstanceInfoSchema, {
|
|
19840
|
+
kind: "mutation",
|
|
19841
|
+
auth: "admin"
|
|
19842
|
+
}), method(object({ instanceId: string().min(1) }), _void(), {
|
|
19843
|
+
kind: "mutation",
|
|
19844
|
+
auth: "admin"
|
|
19845
|
+
}), method(object({
|
|
19846
|
+
instanceId: string().min(1),
|
|
19847
|
+
enabled: boolean()
|
|
19848
|
+
}), TerminalInstanceInfoSchema, {
|
|
19849
|
+
kind: "mutation",
|
|
19850
|
+
auth: "admin"
|
|
19851
|
+
}), method(_void(), array(TerminalLegacyCameraSchema).readonly(), { auth: "admin" }), method(object({
|
|
19852
|
+
stableId: string().min(1),
|
|
19853
|
+
name: string().trim().min(1).max(160).optional()
|
|
19854
|
+
}), TerminalInstanceInfoSchema, {
|
|
19855
|
+
kind: "mutation",
|
|
19856
|
+
auth: "admin"
|
|
19857
|
+
}), method(_void(), array(TerminalSessionInfoSchema).readonly(), { auth: "admin" }), method(object({
|
|
19699
19858
|
profileId: string(),
|
|
19700
19859
|
cols: number().int().positive(),
|
|
19701
19860
|
rows: number().int().positive()
|
|
@@ -19709,6 +19868,26 @@ method(_void(), array(TerminalProfileInfoSchema).readonly(), { auth: "admin" }),
|
|
|
19709
19868
|
}), _void(), {
|
|
19710
19869
|
kind: "mutation",
|
|
19711
19870
|
auth: "admin"
|
|
19871
|
+
}), method(object({
|
|
19872
|
+
sessionId: string(),
|
|
19873
|
+
afterSeq: number().int().nonnegative(),
|
|
19874
|
+
waitMs: number().int().min(0).max(2e3).default(0),
|
|
19875
|
+
/**
|
|
19876
|
+
* Wait when a just-opened session has no output yet. Kept opt-in so a
|
|
19877
|
+
* browser's initial repaint remains immediate; the camera snapshot
|
|
19878
|
+
* relay uses it to avoid encoding a blank startup frame.
|
|
19879
|
+
*/
|
|
19880
|
+
waitForOutput: boolean().optional()
|
|
19881
|
+
}), TerminalOutputBatchSchema, {
|
|
19882
|
+
kind: "mutation",
|
|
19883
|
+
auth: "admin",
|
|
19884
|
+
timeoutMs: 15e3
|
|
19885
|
+
}), method(object({
|
|
19886
|
+
sessionId: string(),
|
|
19887
|
+
data: string().max(64 * 1024)
|
|
19888
|
+
}), _void(), {
|
|
19889
|
+
kind: "mutation",
|
|
19890
|
+
auth: "admin"
|
|
19712
19891
|
}), method(object({ sessionId: string() }), _void(), {
|
|
19713
19892
|
kind: "mutation",
|
|
19714
19893
|
auth: "admin"
|
|
@@ -22204,6 +22383,7 @@ var FaceInfoSchema = object({
|
|
|
22204
22383
|
var FaceFilterEnum = _enum([
|
|
22205
22384
|
"unassigned",
|
|
22206
22385
|
"recognized",
|
|
22386
|
+
"identified",
|
|
22207
22387
|
"all"
|
|
22208
22388
|
]);
|
|
22209
22389
|
var MediaFileLiteSchema$1 = object({
|
|
@@ -22232,6 +22412,8 @@ method(_void(), array(IdentitySchema).readonly()), method(object({ name: string(
|
|
|
22232
22412
|
kind: "mutation",
|
|
22233
22413
|
auth: "admin"
|
|
22234
22414
|
}), method(object({
|
|
22415
|
+
/** Restrict to one camera. Absent keeps the cluster-wide gallery view. */
|
|
22416
|
+
deviceId: number().int().optional(),
|
|
22235
22417
|
limit: number().int().positive().optional(),
|
|
22236
22418
|
filter: FaceFilterEnum.optional(),
|
|
22237
22419
|
/**
|
|
@@ -24461,6 +24643,10 @@ var OsdSourceSchema = discriminatedUnion("kind", [
|
|
|
24461
24643
|
capName: string().min(1).max(64),
|
|
24462
24644
|
/** Dot path inside the slice, e.g. `detected`, `value`, `mode`. */
|
|
24463
24645
|
valuePath: string().min(1).max(64)
|
|
24646
|
+
}),
|
|
24647
|
+
object({
|
|
24648
|
+
kind: literal("latest-recognition"),
|
|
24649
|
+
recognition: _enum(["person", "plate"])
|
|
24464
24650
|
})
|
|
24465
24651
|
]);
|
|
24466
24652
|
var OsdSlotBindingSchema = object({
|
|
@@ -24566,6 +24752,15 @@ method(object({ deviceId: number().int() }), object({
|
|
|
24566
24752
|
}), object({ success: literal(true) }), {
|
|
24567
24753
|
kind: "mutation",
|
|
24568
24754
|
auth: "admin"
|
|
24755
|
+
}), method(object({
|
|
24756
|
+
sourceDeviceId: number().int(),
|
|
24757
|
+
targetDeviceId: number().int()
|
|
24758
|
+
}), object({
|
|
24759
|
+
copied: number().int().nonnegative(),
|
|
24760
|
+
skipped: number().int().nonnegative()
|
|
24761
|
+
}), {
|
|
24762
|
+
kind: "mutation",
|
|
24763
|
+
auth: "admin"
|
|
24569
24764
|
}), method(object({
|
|
24570
24765
|
deviceId: number().int(),
|
|
24571
24766
|
slotId: string().min(1),
|
|
@@ -25663,13 +25858,19 @@ method(object({
|
|
|
25663
25858
|
}), {
|
|
25664
25859
|
kind: "mutation",
|
|
25665
25860
|
auth: "admin"
|
|
25666
|
-
}), method(
|
|
25861
|
+
}), method(StorageMigrationLeaseInputSchema, object({ paused: literal(true) }), {
|
|
25667
25862
|
kind: "mutation",
|
|
25668
25863
|
auth: "admin"
|
|
25669
|
-
}), method(object({
|
|
25670
|
-
kind: "
|
|
25864
|
+
}), method(StorageMigrationLeaseInputSchema, object({ resumed: literal(true) }), {
|
|
25865
|
+
kind: "mutation",
|
|
25671
25866
|
auth: "admin"
|
|
25672
|
-
}), method(
|
|
25867
|
+
}), method(StorageMigrationLeaseInputSchema, object({ refreshed: literal(true) }), {
|
|
25868
|
+
kind: "mutation",
|
|
25869
|
+
auth: "admin"
|
|
25870
|
+
}), method(StorageMigrationFootageMoveInputSchema, object({ jobId: string() }), {
|
|
25871
|
+
kind: "mutation",
|
|
25872
|
+
auth: "admin"
|
|
25873
|
+
}), method(object({ jobId: string() }), RelocateJobSchema.nullable(), { auth: "admin" }), method(object({ jobId: string() }), object({ cancelled: boolean() }), {
|
|
25673
25874
|
kind: "mutation",
|
|
25674
25875
|
auth: "admin"
|
|
25675
25876
|
});
|
|
@@ -31275,6 +31476,12 @@ Object.freeze({
|
|
|
31275
31476
|
addonId: null,
|
|
31276
31477
|
access: "delete"
|
|
31277
31478
|
},
|
|
31479
|
+
"osdManager.copyDeviceConfiguration": {
|
|
31480
|
+
capName: "osd-manager",
|
|
31481
|
+
capScope: "system",
|
|
31482
|
+
addonId: null,
|
|
31483
|
+
access: "create"
|
|
31484
|
+
},
|
|
31278
31485
|
"osdManager.getConditionSupport": {
|
|
31279
31486
|
capName: "osd-manager",
|
|
31280
31487
|
capScope: "system",
|
|
@@ -31371,7 +31578,7 @@ Object.freeze({
|
|
|
31371
31578
|
addonId: null,
|
|
31372
31579
|
access: "create"
|
|
31373
31580
|
},
|
|
31374
|
-
"pipelineAnalytics.
|
|
31581
|
+
"pipelineAnalytics.cancelStorageMigrationMove": {
|
|
31375
31582
|
capName: "pipeline-analytics",
|
|
31376
31583
|
capScope: "device",
|
|
31377
31584
|
addonId: null,
|
|
@@ -31443,12 +31650,6 @@ Object.freeze({
|
|
|
31443
31650
|
addonId: null,
|
|
31444
31651
|
access: "view"
|
|
31445
31652
|
},
|
|
31446
|
-
"pipelineAnalytics.getMediaRelocateStatus": {
|
|
31447
|
-
capName: "pipeline-analytics",
|
|
31448
|
-
capScope: "device",
|
|
31449
|
-
addonId: null,
|
|
31450
|
-
access: "view"
|
|
31451
|
-
},
|
|
31452
31653
|
"pipelineAnalytics.getMotionEvents": {
|
|
31453
31654
|
capName: "pipeline-analytics",
|
|
31454
31655
|
capScope: "device",
|
|
@@ -31485,6 +31686,12 @@ Object.freeze({
|
|
|
31485
31686
|
addonId: null,
|
|
31486
31687
|
access: "view"
|
|
31487
31688
|
},
|
|
31689
|
+
"pipelineAnalytics.getStorageMigrationMoveStatus": {
|
|
31690
|
+
capName: "pipeline-analytics",
|
|
31691
|
+
capScope: "device",
|
|
31692
|
+
addonId: null,
|
|
31693
|
+
access: "view"
|
|
31694
|
+
},
|
|
31488
31695
|
"pipelineAnalytics.getTrack": {
|
|
31489
31696
|
capName: "pipeline-analytics",
|
|
31490
31697
|
capScope: "device",
|
|
@@ -31563,6 +31770,12 @@ Object.freeze({
|
|
|
31563
31770
|
addonId: null,
|
|
31564
31771
|
access: "view"
|
|
31565
31772
|
},
|
|
31773
|
+
"pipelineAnalytics.pauseForStorageMigration": {
|
|
31774
|
+
capName: "pipeline-analytics",
|
|
31775
|
+
capScope: "device",
|
|
31776
|
+
addonId: null,
|
|
31777
|
+
access: "create"
|
|
31778
|
+
},
|
|
31566
31779
|
"pipelineAnalytics.proposeRetrainAnnotations": {
|
|
31567
31780
|
capName: "pipeline-analytics",
|
|
31568
31781
|
capScope: "device",
|
|
@@ -31593,7 +31806,7 @@ Object.freeze({
|
|
|
31593
31806
|
addonId: null,
|
|
31594
31807
|
access: "create"
|
|
31595
31808
|
},
|
|
31596
|
-
"pipelineAnalytics.
|
|
31809
|
+
"pipelineAnalytics.refreshStorageLocationsForMigration": {
|
|
31597
31810
|
capName: "pipeline-analytics",
|
|
31598
31811
|
capScope: "device",
|
|
31599
31812
|
addonId: null,
|
|
@@ -31605,6 +31818,12 @@ Object.freeze({
|
|
|
31605
31818
|
addonId: null,
|
|
31606
31819
|
access: "create"
|
|
31607
31820
|
},
|
|
31821
|
+
"pipelineAnalytics.resumeForStorageMigration": {
|
|
31822
|
+
capName: "pipeline-analytics",
|
|
31823
|
+
capScope: "device",
|
|
31824
|
+
addonId: null,
|
|
31825
|
+
access: "create"
|
|
31826
|
+
},
|
|
31608
31827
|
"pipelineAnalytics.saveRetrainAnnotations": {
|
|
31609
31828
|
capName: "pipeline-analytics",
|
|
31610
31829
|
capScope: "device",
|
|
@@ -31629,6 +31848,12 @@ Object.freeze({
|
|
|
31629
31848
|
addonId: null,
|
|
31630
31849
|
access: "create"
|
|
31631
31850
|
},
|
|
31851
|
+
"pipelineAnalytics.startStorageMigrationMove": {
|
|
31852
|
+
capName: "pipeline-analytics",
|
|
31853
|
+
capScope: "device",
|
|
31854
|
+
addonId: null,
|
|
31855
|
+
access: "create"
|
|
31856
|
+
},
|
|
31632
31857
|
"pipelineAnalytics.wipeAllAnalytics": {
|
|
31633
31858
|
capName: "pipeline-analytics",
|
|
31634
31859
|
capScope: "device",
|
|
@@ -31995,6 +32220,12 @@ Object.freeze({
|
|
|
31995
32220
|
addonId: null,
|
|
31996
32221
|
access: "view"
|
|
31997
32222
|
},
|
|
32223
|
+
"pipelineOrchestrator.pauseForStorageMigration": {
|
|
32224
|
+
capName: "pipeline-orchestrator",
|
|
32225
|
+
capScope: "system",
|
|
32226
|
+
addonId: null,
|
|
32227
|
+
access: "create"
|
|
32228
|
+
},
|
|
31998
32229
|
"pipelineOrchestrator.rebalance": {
|
|
31999
32230
|
capName: "pipeline-orchestrator",
|
|
32000
32231
|
capScope: "system",
|
|
@@ -32019,6 +32250,12 @@ Object.freeze({
|
|
|
32019
32250
|
addonId: null,
|
|
32020
32251
|
access: "view"
|
|
32021
32252
|
},
|
|
32253
|
+
"pipelineOrchestrator.resumeForStorageMigration": {
|
|
32254
|
+
capName: "pipeline-orchestrator",
|
|
32255
|
+
capScope: "system",
|
|
32256
|
+
addonId: null,
|
|
32257
|
+
access: "create"
|
|
32258
|
+
},
|
|
32022
32259
|
"pipelineOrchestrator.saveTemplate": {
|
|
32023
32260
|
capName: "pipeline-orchestrator",
|
|
32024
32261
|
capScope: "system",
|
|
@@ -32415,7 +32652,7 @@ Object.freeze({
|
|
|
32415
32652
|
addonId: null,
|
|
32416
32653
|
access: "create"
|
|
32417
32654
|
},
|
|
32418
|
-
"recording.
|
|
32655
|
+
"recording.cancelStorageMigrationMove": {
|
|
32419
32656
|
capName: "recording",
|
|
32420
32657
|
capScope: "system",
|
|
32421
32658
|
addonId: null,
|
|
@@ -32451,7 +32688,7 @@ Object.freeze({
|
|
|
32451
32688
|
addonId: null,
|
|
32452
32689
|
access: "view"
|
|
32453
32690
|
},
|
|
32454
|
-
"recording.
|
|
32691
|
+
"recording.getStorageMigrationMoveStatus": {
|
|
32455
32692
|
capName: "recording",
|
|
32456
32693
|
capScope: "system",
|
|
32457
32694
|
addonId: null,
|
|
@@ -32475,6 +32712,12 @@ Object.freeze({
|
|
|
32475
32712
|
addonId: null,
|
|
32476
32713
|
access: "view"
|
|
32477
32714
|
},
|
|
32715
|
+
"recording.pauseForStorageMigration": {
|
|
32716
|
+
capName: "recording",
|
|
32717
|
+
capScope: "system",
|
|
32718
|
+
addonId: null,
|
|
32719
|
+
access: "create"
|
|
32720
|
+
},
|
|
32478
32721
|
"recording.pruneFootage": {
|
|
32479
32722
|
capName: "recording",
|
|
32480
32723
|
capScope: "system",
|
|
@@ -32493,7 +32736,7 @@ Object.freeze({
|
|
|
32493
32736
|
addonId: null,
|
|
32494
32737
|
access: "view"
|
|
32495
32738
|
},
|
|
32496
|
-
"recording.
|
|
32739
|
+
"recording.refreshStorageLocationsForMigration": {
|
|
32497
32740
|
capName: "recording",
|
|
32498
32741
|
capScope: "system",
|
|
32499
32742
|
addonId: null,
|
|
@@ -32517,12 +32760,24 @@ Object.freeze({
|
|
|
32517
32760
|
addonId: null,
|
|
32518
32761
|
access: "create"
|
|
32519
32762
|
},
|
|
32763
|
+
"recording.resumeForStorageMigration": {
|
|
32764
|
+
capName: "recording",
|
|
32765
|
+
capScope: "system",
|
|
32766
|
+
addonId: null,
|
|
32767
|
+
access: "create"
|
|
32768
|
+
},
|
|
32520
32769
|
"recording.setDeviceConfig": {
|
|
32521
32770
|
capName: "recording",
|
|
32522
32771
|
capScope: "system",
|
|
32523
32772
|
addonId: null,
|
|
32524
32773
|
access: "create"
|
|
32525
32774
|
},
|
|
32775
|
+
"recording.startStorageMigrationMove": {
|
|
32776
|
+
capName: "recording",
|
|
32777
|
+
capScope: "system",
|
|
32778
|
+
addonId: null,
|
|
32779
|
+
access: "create"
|
|
32780
|
+
},
|
|
32526
32781
|
"recordingExport.cancelExport": {
|
|
32527
32782
|
capName: "recordingExport",
|
|
32528
32783
|
capScope: "system",
|
|
@@ -32913,6 +33168,30 @@ Object.freeze({
|
|
|
32913
33168
|
addonId: null,
|
|
32914
33169
|
access: "view"
|
|
32915
33170
|
},
|
|
33171
|
+
"storageMigration.cancel": {
|
|
33172
|
+
capName: "storage-migration",
|
|
33173
|
+
capScope: "system",
|
|
33174
|
+
addonId: null,
|
|
33175
|
+
access: "create"
|
|
33176
|
+
},
|
|
33177
|
+
"storageMigration.plan": {
|
|
33178
|
+
capName: "storage-migration",
|
|
33179
|
+
capScope: "system",
|
|
33180
|
+
addonId: null,
|
|
33181
|
+
access: "view"
|
|
33182
|
+
},
|
|
33183
|
+
"storageMigration.start": {
|
|
33184
|
+
capName: "storage-migration",
|
|
33185
|
+
capScope: "system",
|
|
33186
|
+
addonId: null,
|
|
33187
|
+
access: "create"
|
|
33188
|
+
},
|
|
33189
|
+
"storageMigration.status": {
|
|
33190
|
+
capName: "storage-migration",
|
|
33191
|
+
capScope: "system",
|
|
33192
|
+
addonId: null,
|
|
33193
|
+
access: "view"
|
|
33194
|
+
},
|
|
32916
33195
|
"storageProvider.abortUpload": {
|
|
32917
33196
|
capName: "storage-provider",
|
|
32918
33197
|
capScope: "system",
|
|
@@ -33291,12 +33570,42 @@ Object.freeze({
|
|
|
33291
33570
|
addonId: null,
|
|
33292
33571
|
access: "create"
|
|
33293
33572
|
},
|
|
33573
|
+
"terminalSession.adoptLegacyMonitor": {
|
|
33574
|
+
capName: "terminal-session",
|
|
33575
|
+
capScope: "system",
|
|
33576
|
+
addonId: null,
|
|
33577
|
+
access: "create"
|
|
33578
|
+
},
|
|
33294
33579
|
"terminalSession.close": {
|
|
33295
33580
|
capName: "terminal-session",
|
|
33296
33581
|
capScope: "system",
|
|
33297
33582
|
addonId: null,
|
|
33298
33583
|
access: "create"
|
|
33299
33584
|
},
|
|
33585
|
+
"terminalSession.createInstance": {
|
|
33586
|
+
capName: "terminal-session",
|
|
33587
|
+
capScope: "system",
|
|
33588
|
+
addonId: null,
|
|
33589
|
+
access: "create"
|
|
33590
|
+
},
|
|
33591
|
+
"terminalSession.deleteInstance": {
|
|
33592
|
+
capName: "terminal-session",
|
|
33593
|
+
capScope: "system",
|
|
33594
|
+
addonId: null,
|
|
33595
|
+
access: "delete"
|
|
33596
|
+
},
|
|
33597
|
+
"terminalSession.listInstances": {
|
|
33598
|
+
capName: "terminal-session",
|
|
33599
|
+
capScope: "system",
|
|
33600
|
+
addonId: null,
|
|
33601
|
+
access: "view"
|
|
33602
|
+
},
|
|
33603
|
+
"terminalSession.listLegacyCameras": {
|
|
33604
|
+
capName: "terminal-session",
|
|
33605
|
+
capScope: "system",
|
|
33606
|
+
addonId: null,
|
|
33607
|
+
access: "view"
|
|
33608
|
+
},
|
|
33300
33609
|
"terminalSession.listProfiles": {
|
|
33301
33610
|
capName: "terminal-session",
|
|
33302
33611
|
capScope: "system",
|
|
@@ -33315,12 +33624,30 @@ Object.freeze({
|
|
|
33315
33624
|
addonId: null,
|
|
33316
33625
|
access: "create"
|
|
33317
33626
|
},
|
|
33627
|
+
"terminalSession.pullOutput": {
|
|
33628
|
+
capName: "terminal-session",
|
|
33629
|
+
capScope: "system",
|
|
33630
|
+
addonId: null,
|
|
33631
|
+
access: "create"
|
|
33632
|
+
},
|
|
33318
33633
|
"terminalSession.resize": {
|
|
33319
33634
|
capName: "terminal-session",
|
|
33320
33635
|
capScope: "system",
|
|
33321
33636
|
addonId: null,
|
|
33322
33637
|
access: "create"
|
|
33323
33638
|
},
|
|
33639
|
+
"terminalSession.setInstanceEnabled": {
|
|
33640
|
+
capName: "terminal-session",
|
|
33641
|
+
capScope: "system",
|
|
33642
|
+
addonId: null,
|
|
33643
|
+
access: "create"
|
|
33644
|
+
},
|
|
33645
|
+
"terminalSession.writeInput": {
|
|
33646
|
+
capName: "terminal-session",
|
|
33647
|
+
capScope: "system",
|
|
33648
|
+
addonId: null,
|
|
33649
|
+
access: "create"
|
|
33650
|
+
},
|
|
33324
33651
|
"toast.onToast": {
|
|
33325
33652
|
capName: "toast",
|
|
33326
33653
|
capScope: "system",
|
package/dist/addon.mjs
CHANGED
|
@@ -8666,12 +8666,11 @@ var RecordingConfigSchema = object({
|
|
|
8666
8666
|
/**
|
|
8667
8667
|
* Entity-relocation job state (storage entity-routing spec, Phase 4).
|
|
8668
8668
|
*
|
|
8669
|
-
* One shape shared by the recorder
|
|
8670
|
-
*
|
|
8671
|
-
*
|
|
8672
|
-
*
|
|
8673
|
-
*
|
|
8674
|
-
* row on the owning addon's surface.
|
|
8669
|
+
* One shape shared by the recorder and pipeline-analytics internal movers.
|
|
8670
|
+
* The public admin surface is `storage-migration`; child jobs remain in RAM
|
|
8671
|
+
* because copy-if-absent, verify, delete and index/row repoint are resumable.
|
|
8672
|
+
* Each completed/failed run also lands one durable ops-log row on its owning
|
|
8673
|
+
* addon surface.
|
|
8675
8674
|
*/
|
|
8676
8675
|
var RelocateJobStateSchema = _enum([
|
|
8677
8676
|
"running",
|
|
@@ -8698,19 +8697,100 @@ var RelocateJobSchema = object({
|
|
|
8698
8697
|
finishedAt: number().nullable(),
|
|
8699
8698
|
error: string().nullable()
|
|
8700
8699
|
});
|
|
8700
|
+
/** Profile-derived footage selection used only by the migration coordinator:
|
|
8701
|
+
* `recordings` owns high+mid; `recordingsLow` owns low. */
|
|
8702
|
+
var RelocateFootageClassSchema = _enum(["recordings", "recordingsLow"]);
|
|
8701
8703
|
var RelocateFootageInputSchema = object({
|
|
8702
|
-
deviceId: number().optional(),
|
|
8703
8704
|
fromLocationId: string(),
|
|
8704
8705
|
toLocationId: string(),
|
|
8705
8706
|
entities: array(_enum(["segments"])).optional(),
|
|
8707
|
+
/** Limits relocation to the logical profile class. Omit only for the
|
|
8708
|
+
* pre-orchestration compatibility path. */
|
|
8709
|
+
footageClass: RelocateFootageClassSchema.optional(),
|
|
8706
8710
|
/** Copy throttle in MB/s (default 40) — the drain is a background chore,
|
|
8707
8711
|
* never allowed to starve live writers. */
|
|
8708
8712
|
throttleMbps: number().min(1).max(1e3).optional()
|
|
8709
8713
|
});
|
|
8710
|
-
|
|
8711
|
-
|
|
8714
|
+
/** Internal, lease-scoped participant operation. It is intentionally separate
|
|
8715
|
+
* from persistent recording settings: a migration never changes
|
|
8716
|
+
* `RecordingConfig.enabled` or camera wrapper bindings. */
|
|
8717
|
+
var StorageMigrationLeaseInputSchema = object({ leaseId: string().min(1) });
|
|
8718
|
+
var StorageMigrationFootageMoveInputSchema = RelocateFootageInputSchema.extend({ leaseId: string().min(1) });
|
|
8719
|
+
var StorageMigrationMediaMoveInputSchema = object({
|
|
8712
8720
|
toLocationId: string(),
|
|
8713
8721
|
throttleMbps: number().min(1).max(1e3).optional()
|
|
8722
|
+
}).extend({ leaseId: string().min(1) });
|
|
8723
|
+
/** The independently selectable logical storage classes. `recordings`
|
|
8724
|
+
* encompasses the high and mid segment profiles; `recordingsLow` is low
|
|
8725
|
+
* segments; `eventMedia` is post-analysis blobs. */
|
|
8726
|
+
var StorageMigrationClassSchema = _enum([
|
|
8727
|
+
"recordings",
|
|
8728
|
+
"recordingsLow",
|
|
8729
|
+
"eventMedia"
|
|
8730
|
+
]);
|
|
8731
|
+
/** A destination is always an existing, fully-qualified location id. The
|
|
8732
|
+
* migration API intentionally never changes a source location's `basePath`:
|
|
8733
|
+
* callers create a new `<type>:<slug>` location, then select it here. */
|
|
8734
|
+
var StorageMigrationDestinationsSchema = object({
|
|
8735
|
+
recordings: string().min(1).optional(),
|
|
8736
|
+
recordingsLow: string().min(1).optional(),
|
|
8737
|
+
eventMedia: string().min(1).optional()
|
|
8738
|
+
}).refine((value) => Object.keys(value).length > 0, { message: "select at least one storage class" });
|
|
8739
|
+
/** Shared input for planning and starting an orchestrated storage migration. */
|
|
8740
|
+
var StorageMigrationInputSchema = object({
|
|
8741
|
+
destinations: StorageMigrationDestinationsSchema,
|
|
8742
|
+
throttleMbps: number().min(1).max(1e3).optional()
|
|
8743
|
+
});
|
|
8744
|
+
/** The durable coordinator state machine. The only phase that changes default
|
|
8745
|
+
* locations is `repointing`, after every selected mover has completed and been
|
|
8746
|
+
* verified. */
|
|
8747
|
+
var StorageMigrationPhaseSchema = _enum([
|
|
8748
|
+
"planning",
|
|
8749
|
+
"pausing",
|
|
8750
|
+
"moving",
|
|
8751
|
+
"verifying",
|
|
8752
|
+
"repointing",
|
|
8753
|
+
"refreshing",
|
|
8754
|
+
"resuming",
|
|
8755
|
+
"done",
|
|
8756
|
+
"failed",
|
|
8757
|
+
"cancelled"
|
|
8758
|
+
]);
|
|
8759
|
+
var StorageMigrationParticipantSchema = _enum([
|
|
8760
|
+
"pipeline",
|
|
8761
|
+
"recorder",
|
|
8762
|
+
"analytics"
|
|
8763
|
+
]);
|
|
8764
|
+
var StorageMigrationMoveSchema = object({
|
|
8765
|
+
storageClass: StorageMigrationClassSchema,
|
|
8766
|
+
fromLocationId: string(),
|
|
8767
|
+
toLocationId: string(),
|
|
8768
|
+
moverJobId: string().nullable(),
|
|
8769
|
+
state: RelocateJobStateSchema.nullable(),
|
|
8770
|
+
error: string().nullable()
|
|
8771
|
+
});
|
|
8772
|
+
var StorageMigrationJobSchema = object({
|
|
8773
|
+
jobId: string(),
|
|
8774
|
+
phase: StorageMigrationPhaseSchema,
|
|
8775
|
+
destinations: StorageMigrationDestinationsSchema,
|
|
8776
|
+
throttleMbps: number(),
|
|
8777
|
+
moves: array(StorageMigrationMoveSchema),
|
|
8778
|
+
pauseLeaseId: string().nullable(),
|
|
8779
|
+
pausedParticipants: array(StorageMigrationParticipantSchema),
|
|
8780
|
+
repointed: boolean(),
|
|
8781
|
+
cancelRequested: boolean(),
|
|
8782
|
+
startedAt: number(),
|
|
8783
|
+
updatedAt: number(),
|
|
8784
|
+
finishedAt: number().nullable(),
|
|
8785
|
+
error: string().nullable()
|
|
8786
|
+
});
|
|
8787
|
+
var StorageMigrationPlanSchema = object({
|
|
8788
|
+
destinations: StorageMigrationDestinationsSchema,
|
|
8789
|
+
moves: array(object({
|
|
8790
|
+
storageClass: StorageMigrationClassSchema,
|
|
8791
|
+
fromLocationId: string(),
|
|
8792
|
+
toLocationId: string()
|
|
8793
|
+
}))
|
|
8714
8794
|
});
|
|
8715
8795
|
/**
|
|
8716
8796
|
* `StorageLocationType` — an addon-declared id that identifies the *kind* of
|
|
@@ -17381,13 +17461,19 @@ DeviceType.Camera, method(object({ deviceId: number() }), array(TrackSchema).rea
|
|
|
17381
17461
|
}), method(object({ deviceId: number() }), EventPruneCountsSchema, {
|
|
17382
17462
|
kind: "mutation",
|
|
17383
17463
|
auth: "admin"
|
|
17384
|
-
}), method(
|
|
17464
|
+
}), method(StorageMigrationLeaseInputSchema, object({ paused: literal(true) }), {
|
|
17385
17465
|
kind: "mutation",
|
|
17386
17466
|
auth: "admin"
|
|
17387
|
-
}), method(object({
|
|
17388
|
-
kind: "
|
|
17467
|
+
}), method(StorageMigrationLeaseInputSchema, object({ resumed: literal(true) }), {
|
|
17468
|
+
kind: "mutation",
|
|
17389
17469
|
auth: "admin"
|
|
17390
|
-
}), method(
|
|
17470
|
+
}), method(StorageMigrationLeaseInputSchema, object({ refreshed: literal(true) }), {
|
|
17471
|
+
kind: "mutation",
|
|
17472
|
+
auth: "admin"
|
|
17473
|
+
}), method(StorageMigrationMediaMoveInputSchema, object({ jobId: string() }), {
|
|
17474
|
+
kind: "mutation",
|
|
17475
|
+
auth: "admin"
|
|
17476
|
+
}), method(object({ jobId: string() }), RelocateJobSchema.nullable(), { auth: "admin" }), method(object({ jobId: string() }), object({ cancelled: boolean() }), {
|
|
17391
17477
|
kind: "mutation",
|
|
17392
17478
|
auth: "admin"
|
|
17393
17479
|
}), method(OpsLogQueryInputSchema, array(OpsLogEntrySchema).readonly(), {
|
|
@@ -18917,7 +19003,13 @@ var NodeInferenceDevicesSchema = object({
|
|
|
18917
19003
|
reachable: boolean(),
|
|
18918
19004
|
devices: array(NodeInferenceDeviceSchema).readonly()
|
|
18919
19005
|
});
|
|
18920
|
-
method(object({
|
|
19006
|
+
method(StorageMigrationLeaseInputSchema, object({ paused: literal(true) }), {
|
|
19007
|
+
kind: "mutation",
|
|
19008
|
+
auth: "admin"
|
|
19009
|
+
}), method(StorageMigrationLeaseInputSchema, object({ resumed: literal(true) }), {
|
|
19010
|
+
kind: "mutation",
|
|
19011
|
+
auth: "admin"
|
|
19012
|
+
}), method(object({
|
|
18921
19013
|
deviceId: number(),
|
|
18922
19014
|
agentNodeId: string()
|
|
18923
19015
|
}), object({ success: literal(true) }), {
|
|
@@ -19591,6 +19683,13 @@ method(object({ locationId: string() }), EvictableUsageSchema), method(object({
|
|
|
19591
19683
|
locationId: string(),
|
|
19592
19684
|
targetBytes: number().int().positive()
|
|
19593
19685
|
}), EvictResultSchema, { kind: "mutation" });
|
|
19686
|
+
method(StorageMigrationInputSchema, StorageMigrationPlanSchema, { auth: "admin" }), method(StorageMigrationInputSchema, object({ jobId: string() }), {
|
|
19687
|
+
kind: "mutation",
|
|
19688
|
+
auth: "admin"
|
|
19689
|
+
}), method(object({ jobId: string().optional() }), StorageMigrationJobSchema.nullable(), { auth: "admin" }), method(object({ jobId: string() }), object({ cancelled: boolean() }), {
|
|
19690
|
+
kind: "mutation",
|
|
19691
|
+
auth: "admin"
|
|
19692
|
+
});
|
|
19594
19693
|
var ProviderInfoSchema = discriminatedUnion("shouldSaveDiskSpace", [object({
|
|
19595
19694
|
providerId: string().min(1),
|
|
19596
19695
|
displayName: string().min(1),
|
|
@@ -19694,7 +19793,67 @@ var TerminalProfileInfoSchema = object({
|
|
|
19694
19793
|
label: string(),
|
|
19695
19794
|
description: string().optional()
|
|
19696
19795
|
});
|
|
19697
|
-
|
|
19796
|
+
/**
|
|
19797
|
+
* A durable operator-created Terminal instance. Profiles are templates; only
|
|
19798
|
+
* an instance declares a camera.
|
|
19799
|
+
*/
|
|
19800
|
+
var TerminalInstanceInfoSchema = object({
|
|
19801
|
+
instanceId: string(),
|
|
19802
|
+
cameraStableId: string(),
|
|
19803
|
+
nodeId: string(),
|
|
19804
|
+
profileId: string(),
|
|
19805
|
+
profileLabel: string(),
|
|
19806
|
+
name: string(),
|
|
19807
|
+
enabled: boolean()
|
|
19808
|
+
});
|
|
19809
|
+
var TerminalLegacyCameraSchema = object({
|
|
19810
|
+
stableId: string(),
|
|
19811
|
+
nodeId: string(),
|
|
19812
|
+
profileId: string(),
|
|
19813
|
+
profileLabel: string(),
|
|
19814
|
+
name: string(),
|
|
19815
|
+
/** Only legacy monitor cameras can retain their historic stable identity. */
|
|
19816
|
+
adoptable: boolean()
|
|
19817
|
+
});
|
|
19818
|
+
var TerminalOutputEventSchema = discriminatedUnion("kind", [object({
|
|
19819
|
+
seq: number().int().positive(),
|
|
19820
|
+
kind: literal("data"),
|
|
19821
|
+
data: string()
|
|
19822
|
+
}), object({
|
|
19823
|
+
seq: number().int().positive(),
|
|
19824
|
+
kind: literal("exit"),
|
|
19825
|
+
exitCode: number().int(),
|
|
19826
|
+
signal: number().int().optional()
|
|
19827
|
+
})]);
|
|
19828
|
+
var TerminalOutputBatchSchema = object({
|
|
19829
|
+
cursor: number().int().nonnegative(),
|
|
19830
|
+
reset: boolean(),
|
|
19831
|
+
snapshot: string().optional(),
|
|
19832
|
+
events: array(TerminalOutputEventSchema).readonly()
|
|
19833
|
+
});
|
|
19834
|
+
method(_void(), array(TerminalProfileInfoSchema).readonly(), { auth: "admin" }), method(_void(), array(TerminalInstanceInfoSchema).readonly(), { auth: "admin" }), method(object({
|
|
19835
|
+
targetNodeId: string().min(1),
|
|
19836
|
+
profileId: string().min(1),
|
|
19837
|
+
name: string().trim().min(1).max(160).optional()
|
|
19838
|
+
}), TerminalInstanceInfoSchema, {
|
|
19839
|
+
kind: "mutation",
|
|
19840
|
+
auth: "admin"
|
|
19841
|
+
}), method(object({ instanceId: string().min(1) }), _void(), {
|
|
19842
|
+
kind: "mutation",
|
|
19843
|
+
auth: "admin"
|
|
19844
|
+
}), method(object({
|
|
19845
|
+
instanceId: string().min(1),
|
|
19846
|
+
enabled: boolean()
|
|
19847
|
+
}), TerminalInstanceInfoSchema, {
|
|
19848
|
+
kind: "mutation",
|
|
19849
|
+
auth: "admin"
|
|
19850
|
+
}), method(_void(), array(TerminalLegacyCameraSchema).readonly(), { auth: "admin" }), method(object({
|
|
19851
|
+
stableId: string().min(1),
|
|
19852
|
+
name: string().trim().min(1).max(160).optional()
|
|
19853
|
+
}), TerminalInstanceInfoSchema, {
|
|
19854
|
+
kind: "mutation",
|
|
19855
|
+
auth: "admin"
|
|
19856
|
+
}), method(_void(), array(TerminalSessionInfoSchema).readonly(), { auth: "admin" }), method(object({
|
|
19698
19857
|
profileId: string(),
|
|
19699
19858
|
cols: number().int().positive(),
|
|
19700
19859
|
rows: number().int().positive()
|
|
@@ -19708,6 +19867,26 @@ method(_void(), array(TerminalProfileInfoSchema).readonly(), { auth: "admin" }),
|
|
|
19708
19867
|
}), _void(), {
|
|
19709
19868
|
kind: "mutation",
|
|
19710
19869
|
auth: "admin"
|
|
19870
|
+
}), method(object({
|
|
19871
|
+
sessionId: string(),
|
|
19872
|
+
afterSeq: number().int().nonnegative(),
|
|
19873
|
+
waitMs: number().int().min(0).max(2e3).default(0),
|
|
19874
|
+
/**
|
|
19875
|
+
* Wait when a just-opened session has no output yet. Kept opt-in so a
|
|
19876
|
+
* browser's initial repaint remains immediate; the camera snapshot
|
|
19877
|
+
* relay uses it to avoid encoding a blank startup frame.
|
|
19878
|
+
*/
|
|
19879
|
+
waitForOutput: boolean().optional()
|
|
19880
|
+
}), TerminalOutputBatchSchema, {
|
|
19881
|
+
kind: "mutation",
|
|
19882
|
+
auth: "admin",
|
|
19883
|
+
timeoutMs: 15e3
|
|
19884
|
+
}), method(object({
|
|
19885
|
+
sessionId: string(),
|
|
19886
|
+
data: string().max(64 * 1024)
|
|
19887
|
+
}), _void(), {
|
|
19888
|
+
kind: "mutation",
|
|
19889
|
+
auth: "admin"
|
|
19711
19890
|
}), method(object({ sessionId: string() }), _void(), {
|
|
19712
19891
|
kind: "mutation",
|
|
19713
19892
|
auth: "admin"
|
|
@@ -22203,6 +22382,7 @@ var FaceInfoSchema = object({
|
|
|
22203
22382
|
var FaceFilterEnum = _enum([
|
|
22204
22383
|
"unassigned",
|
|
22205
22384
|
"recognized",
|
|
22385
|
+
"identified",
|
|
22206
22386
|
"all"
|
|
22207
22387
|
]);
|
|
22208
22388
|
var MediaFileLiteSchema$1 = object({
|
|
@@ -22231,6 +22411,8 @@ method(_void(), array(IdentitySchema).readonly()), method(object({ name: string(
|
|
|
22231
22411
|
kind: "mutation",
|
|
22232
22412
|
auth: "admin"
|
|
22233
22413
|
}), method(object({
|
|
22414
|
+
/** Restrict to one camera. Absent keeps the cluster-wide gallery view. */
|
|
22415
|
+
deviceId: number().int().optional(),
|
|
22234
22416
|
limit: number().int().positive().optional(),
|
|
22235
22417
|
filter: FaceFilterEnum.optional(),
|
|
22236
22418
|
/**
|
|
@@ -24460,6 +24642,10 @@ var OsdSourceSchema = discriminatedUnion("kind", [
|
|
|
24460
24642
|
capName: string().min(1).max(64),
|
|
24461
24643
|
/** Dot path inside the slice, e.g. `detected`, `value`, `mode`. */
|
|
24462
24644
|
valuePath: string().min(1).max(64)
|
|
24645
|
+
}),
|
|
24646
|
+
object({
|
|
24647
|
+
kind: literal("latest-recognition"),
|
|
24648
|
+
recognition: _enum(["person", "plate"])
|
|
24463
24649
|
})
|
|
24464
24650
|
]);
|
|
24465
24651
|
var OsdSlotBindingSchema = object({
|
|
@@ -24565,6 +24751,15 @@ method(object({ deviceId: number().int() }), object({
|
|
|
24565
24751
|
}), object({ success: literal(true) }), {
|
|
24566
24752
|
kind: "mutation",
|
|
24567
24753
|
auth: "admin"
|
|
24754
|
+
}), method(object({
|
|
24755
|
+
sourceDeviceId: number().int(),
|
|
24756
|
+
targetDeviceId: number().int()
|
|
24757
|
+
}), object({
|
|
24758
|
+
copied: number().int().nonnegative(),
|
|
24759
|
+
skipped: number().int().nonnegative()
|
|
24760
|
+
}), {
|
|
24761
|
+
kind: "mutation",
|
|
24762
|
+
auth: "admin"
|
|
24568
24763
|
}), method(object({
|
|
24569
24764
|
deviceId: number().int(),
|
|
24570
24765
|
slotId: string().min(1),
|
|
@@ -25662,13 +25857,19 @@ method(object({
|
|
|
25662
25857
|
}), {
|
|
25663
25858
|
kind: "mutation",
|
|
25664
25859
|
auth: "admin"
|
|
25665
|
-
}), method(
|
|
25860
|
+
}), method(StorageMigrationLeaseInputSchema, object({ paused: literal(true) }), {
|
|
25666
25861
|
kind: "mutation",
|
|
25667
25862
|
auth: "admin"
|
|
25668
|
-
}), method(object({
|
|
25669
|
-
kind: "
|
|
25863
|
+
}), method(StorageMigrationLeaseInputSchema, object({ resumed: literal(true) }), {
|
|
25864
|
+
kind: "mutation",
|
|
25670
25865
|
auth: "admin"
|
|
25671
|
-
}), method(
|
|
25866
|
+
}), method(StorageMigrationLeaseInputSchema, object({ refreshed: literal(true) }), {
|
|
25867
|
+
kind: "mutation",
|
|
25868
|
+
auth: "admin"
|
|
25869
|
+
}), method(StorageMigrationFootageMoveInputSchema, object({ jobId: string() }), {
|
|
25870
|
+
kind: "mutation",
|
|
25871
|
+
auth: "admin"
|
|
25872
|
+
}), method(object({ jobId: string() }), RelocateJobSchema.nullable(), { auth: "admin" }), method(object({ jobId: string() }), object({ cancelled: boolean() }), {
|
|
25672
25873
|
kind: "mutation",
|
|
25673
25874
|
auth: "admin"
|
|
25674
25875
|
});
|
|
@@ -31274,6 +31475,12 @@ Object.freeze({
|
|
|
31274
31475
|
addonId: null,
|
|
31275
31476
|
access: "delete"
|
|
31276
31477
|
},
|
|
31478
|
+
"osdManager.copyDeviceConfiguration": {
|
|
31479
|
+
capName: "osd-manager",
|
|
31480
|
+
capScope: "system",
|
|
31481
|
+
addonId: null,
|
|
31482
|
+
access: "create"
|
|
31483
|
+
},
|
|
31277
31484
|
"osdManager.getConditionSupport": {
|
|
31278
31485
|
capName: "osd-manager",
|
|
31279
31486
|
capScope: "system",
|
|
@@ -31370,7 +31577,7 @@ Object.freeze({
|
|
|
31370
31577
|
addonId: null,
|
|
31371
31578
|
access: "create"
|
|
31372
31579
|
},
|
|
31373
|
-
"pipelineAnalytics.
|
|
31580
|
+
"pipelineAnalytics.cancelStorageMigrationMove": {
|
|
31374
31581
|
capName: "pipeline-analytics",
|
|
31375
31582
|
capScope: "device",
|
|
31376
31583
|
addonId: null,
|
|
@@ -31442,12 +31649,6 @@ Object.freeze({
|
|
|
31442
31649
|
addonId: null,
|
|
31443
31650
|
access: "view"
|
|
31444
31651
|
},
|
|
31445
|
-
"pipelineAnalytics.getMediaRelocateStatus": {
|
|
31446
|
-
capName: "pipeline-analytics",
|
|
31447
|
-
capScope: "device",
|
|
31448
|
-
addonId: null,
|
|
31449
|
-
access: "view"
|
|
31450
|
-
},
|
|
31451
31652
|
"pipelineAnalytics.getMotionEvents": {
|
|
31452
31653
|
capName: "pipeline-analytics",
|
|
31453
31654
|
capScope: "device",
|
|
@@ -31484,6 +31685,12 @@ Object.freeze({
|
|
|
31484
31685
|
addonId: null,
|
|
31485
31686
|
access: "view"
|
|
31486
31687
|
},
|
|
31688
|
+
"pipelineAnalytics.getStorageMigrationMoveStatus": {
|
|
31689
|
+
capName: "pipeline-analytics",
|
|
31690
|
+
capScope: "device",
|
|
31691
|
+
addonId: null,
|
|
31692
|
+
access: "view"
|
|
31693
|
+
},
|
|
31487
31694
|
"pipelineAnalytics.getTrack": {
|
|
31488
31695
|
capName: "pipeline-analytics",
|
|
31489
31696
|
capScope: "device",
|
|
@@ -31562,6 +31769,12 @@ Object.freeze({
|
|
|
31562
31769
|
addonId: null,
|
|
31563
31770
|
access: "view"
|
|
31564
31771
|
},
|
|
31772
|
+
"pipelineAnalytics.pauseForStorageMigration": {
|
|
31773
|
+
capName: "pipeline-analytics",
|
|
31774
|
+
capScope: "device",
|
|
31775
|
+
addonId: null,
|
|
31776
|
+
access: "create"
|
|
31777
|
+
},
|
|
31565
31778
|
"pipelineAnalytics.proposeRetrainAnnotations": {
|
|
31566
31779
|
capName: "pipeline-analytics",
|
|
31567
31780
|
capScope: "device",
|
|
@@ -31592,7 +31805,7 @@ Object.freeze({
|
|
|
31592
31805
|
addonId: null,
|
|
31593
31806
|
access: "create"
|
|
31594
31807
|
},
|
|
31595
|
-
"pipelineAnalytics.
|
|
31808
|
+
"pipelineAnalytics.refreshStorageLocationsForMigration": {
|
|
31596
31809
|
capName: "pipeline-analytics",
|
|
31597
31810
|
capScope: "device",
|
|
31598
31811
|
addonId: null,
|
|
@@ -31604,6 +31817,12 @@ Object.freeze({
|
|
|
31604
31817
|
addonId: null,
|
|
31605
31818
|
access: "create"
|
|
31606
31819
|
},
|
|
31820
|
+
"pipelineAnalytics.resumeForStorageMigration": {
|
|
31821
|
+
capName: "pipeline-analytics",
|
|
31822
|
+
capScope: "device",
|
|
31823
|
+
addonId: null,
|
|
31824
|
+
access: "create"
|
|
31825
|
+
},
|
|
31607
31826
|
"pipelineAnalytics.saveRetrainAnnotations": {
|
|
31608
31827
|
capName: "pipeline-analytics",
|
|
31609
31828
|
capScope: "device",
|
|
@@ -31628,6 +31847,12 @@ Object.freeze({
|
|
|
31628
31847
|
addonId: null,
|
|
31629
31848
|
access: "create"
|
|
31630
31849
|
},
|
|
31850
|
+
"pipelineAnalytics.startStorageMigrationMove": {
|
|
31851
|
+
capName: "pipeline-analytics",
|
|
31852
|
+
capScope: "device",
|
|
31853
|
+
addonId: null,
|
|
31854
|
+
access: "create"
|
|
31855
|
+
},
|
|
31631
31856
|
"pipelineAnalytics.wipeAllAnalytics": {
|
|
31632
31857
|
capName: "pipeline-analytics",
|
|
31633
31858
|
capScope: "device",
|
|
@@ -31994,6 +32219,12 @@ Object.freeze({
|
|
|
31994
32219
|
addonId: null,
|
|
31995
32220
|
access: "view"
|
|
31996
32221
|
},
|
|
32222
|
+
"pipelineOrchestrator.pauseForStorageMigration": {
|
|
32223
|
+
capName: "pipeline-orchestrator",
|
|
32224
|
+
capScope: "system",
|
|
32225
|
+
addonId: null,
|
|
32226
|
+
access: "create"
|
|
32227
|
+
},
|
|
31997
32228
|
"pipelineOrchestrator.rebalance": {
|
|
31998
32229
|
capName: "pipeline-orchestrator",
|
|
31999
32230
|
capScope: "system",
|
|
@@ -32018,6 +32249,12 @@ Object.freeze({
|
|
|
32018
32249
|
addonId: null,
|
|
32019
32250
|
access: "view"
|
|
32020
32251
|
},
|
|
32252
|
+
"pipelineOrchestrator.resumeForStorageMigration": {
|
|
32253
|
+
capName: "pipeline-orchestrator",
|
|
32254
|
+
capScope: "system",
|
|
32255
|
+
addonId: null,
|
|
32256
|
+
access: "create"
|
|
32257
|
+
},
|
|
32021
32258
|
"pipelineOrchestrator.saveTemplate": {
|
|
32022
32259
|
capName: "pipeline-orchestrator",
|
|
32023
32260
|
capScope: "system",
|
|
@@ -32414,7 +32651,7 @@ Object.freeze({
|
|
|
32414
32651
|
addonId: null,
|
|
32415
32652
|
access: "create"
|
|
32416
32653
|
},
|
|
32417
|
-
"recording.
|
|
32654
|
+
"recording.cancelStorageMigrationMove": {
|
|
32418
32655
|
capName: "recording",
|
|
32419
32656
|
capScope: "system",
|
|
32420
32657
|
addonId: null,
|
|
@@ -32450,7 +32687,7 @@ Object.freeze({
|
|
|
32450
32687
|
addonId: null,
|
|
32451
32688
|
access: "view"
|
|
32452
32689
|
},
|
|
32453
|
-
"recording.
|
|
32690
|
+
"recording.getStorageMigrationMoveStatus": {
|
|
32454
32691
|
capName: "recording",
|
|
32455
32692
|
capScope: "system",
|
|
32456
32693
|
addonId: null,
|
|
@@ -32474,6 +32711,12 @@ Object.freeze({
|
|
|
32474
32711
|
addonId: null,
|
|
32475
32712
|
access: "view"
|
|
32476
32713
|
},
|
|
32714
|
+
"recording.pauseForStorageMigration": {
|
|
32715
|
+
capName: "recording",
|
|
32716
|
+
capScope: "system",
|
|
32717
|
+
addonId: null,
|
|
32718
|
+
access: "create"
|
|
32719
|
+
},
|
|
32477
32720
|
"recording.pruneFootage": {
|
|
32478
32721
|
capName: "recording",
|
|
32479
32722
|
capScope: "system",
|
|
@@ -32492,7 +32735,7 @@ Object.freeze({
|
|
|
32492
32735
|
addonId: null,
|
|
32493
32736
|
access: "view"
|
|
32494
32737
|
},
|
|
32495
|
-
"recording.
|
|
32738
|
+
"recording.refreshStorageLocationsForMigration": {
|
|
32496
32739
|
capName: "recording",
|
|
32497
32740
|
capScope: "system",
|
|
32498
32741
|
addonId: null,
|
|
@@ -32516,12 +32759,24 @@ Object.freeze({
|
|
|
32516
32759
|
addonId: null,
|
|
32517
32760
|
access: "create"
|
|
32518
32761
|
},
|
|
32762
|
+
"recording.resumeForStorageMigration": {
|
|
32763
|
+
capName: "recording",
|
|
32764
|
+
capScope: "system",
|
|
32765
|
+
addonId: null,
|
|
32766
|
+
access: "create"
|
|
32767
|
+
},
|
|
32519
32768
|
"recording.setDeviceConfig": {
|
|
32520
32769
|
capName: "recording",
|
|
32521
32770
|
capScope: "system",
|
|
32522
32771
|
addonId: null,
|
|
32523
32772
|
access: "create"
|
|
32524
32773
|
},
|
|
32774
|
+
"recording.startStorageMigrationMove": {
|
|
32775
|
+
capName: "recording",
|
|
32776
|
+
capScope: "system",
|
|
32777
|
+
addonId: null,
|
|
32778
|
+
access: "create"
|
|
32779
|
+
},
|
|
32525
32780
|
"recordingExport.cancelExport": {
|
|
32526
32781
|
capName: "recordingExport",
|
|
32527
32782
|
capScope: "system",
|
|
@@ -32912,6 +33167,30 @@ Object.freeze({
|
|
|
32912
33167
|
addonId: null,
|
|
32913
33168
|
access: "view"
|
|
32914
33169
|
},
|
|
33170
|
+
"storageMigration.cancel": {
|
|
33171
|
+
capName: "storage-migration",
|
|
33172
|
+
capScope: "system",
|
|
33173
|
+
addonId: null,
|
|
33174
|
+
access: "create"
|
|
33175
|
+
},
|
|
33176
|
+
"storageMigration.plan": {
|
|
33177
|
+
capName: "storage-migration",
|
|
33178
|
+
capScope: "system",
|
|
33179
|
+
addonId: null,
|
|
33180
|
+
access: "view"
|
|
33181
|
+
},
|
|
33182
|
+
"storageMigration.start": {
|
|
33183
|
+
capName: "storage-migration",
|
|
33184
|
+
capScope: "system",
|
|
33185
|
+
addonId: null,
|
|
33186
|
+
access: "create"
|
|
33187
|
+
},
|
|
33188
|
+
"storageMigration.status": {
|
|
33189
|
+
capName: "storage-migration",
|
|
33190
|
+
capScope: "system",
|
|
33191
|
+
addonId: null,
|
|
33192
|
+
access: "view"
|
|
33193
|
+
},
|
|
32915
33194
|
"storageProvider.abortUpload": {
|
|
32916
33195
|
capName: "storage-provider",
|
|
32917
33196
|
capScope: "system",
|
|
@@ -33290,12 +33569,42 @@ Object.freeze({
|
|
|
33290
33569
|
addonId: null,
|
|
33291
33570
|
access: "create"
|
|
33292
33571
|
},
|
|
33572
|
+
"terminalSession.adoptLegacyMonitor": {
|
|
33573
|
+
capName: "terminal-session",
|
|
33574
|
+
capScope: "system",
|
|
33575
|
+
addonId: null,
|
|
33576
|
+
access: "create"
|
|
33577
|
+
},
|
|
33293
33578
|
"terminalSession.close": {
|
|
33294
33579
|
capName: "terminal-session",
|
|
33295
33580
|
capScope: "system",
|
|
33296
33581
|
addonId: null,
|
|
33297
33582
|
access: "create"
|
|
33298
33583
|
},
|
|
33584
|
+
"terminalSession.createInstance": {
|
|
33585
|
+
capName: "terminal-session",
|
|
33586
|
+
capScope: "system",
|
|
33587
|
+
addonId: null,
|
|
33588
|
+
access: "create"
|
|
33589
|
+
},
|
|
33590
|
+
"terminalSession.deleteInstance": {
|
|
33591
|
+
capName: "terminal-session",
|
|
33592
|
+
capScope: "system",
|
|
33593
|
+
addonId: null,
|
|
33594
|
+
access: "delete"
|
|
33595
|
+
},
|
|
33596
|
+
"terminalSession.listInstances": {
|
|
33597
|
+
capName: "terminal-session",
|
|
33598
|
+
capScope: "system",
|
|
33599
|
+
addonId: null,
|
|
33600
|
+
access: "view"
|
|
33601
|
+
},
|
|
33602
|
+
"terminalSession.listLegacyCameras": {
|
|
33603
|
+
capName: "terminal-session",
|
|
33604
|
+
capScope: "system",
|
|
33605
|
+
addonId: null,
|
|
33606
|
+
access: "view"
|
|
33607
|
+
},
|
|
33299
33608
|
"terminalSession.listProfiles": {
|
|
33300
33609
|
capName: "terminal-session",
|
|
33301
33610
|
capScope: "system",
|
|
@@ -33314,12 +33623,30 @@ Object.freeze({
|
|
|
33314
33623
|
addonId: null,
|
|
33315
33624
|
access: "create"
|
|
33316
33625
|
},
|
|
33626
|
+
"terminalSession.pullOutput": {
|
|
33627
|
+
capName: "terminal-session",
|
|
33628
|
+
capScope: "system",
|
|
33629
|
+
addonId: null,
|
|
33630
|
+
access: "create"
|
|
33631
|
+
},
|
|
33317
33632
|
"terminalSession.resize": {
|
|
33318
33633
|
capName: "terminal-session",
|
|
33319
33634
|
capScope: "system",
|
|
33320
33635
|
addonId: null,
|
|
33321
33636
|
access: "create"
|
|
33322
33637
|
},
|
|
33638
|
+
"terminalSession.setInstanceEnabled": {
|
|
33639
|
+
capName: "terminal-session",
|
|
33640
|
+
capScope: "system",
|
|
33641
|
+
addonId: null,
|
|
33642
|
+
access: "create"
|
|
33643
|
+
},
|
|
33644
|
+
"terminalSession.writeInput": {
|
|
33645
|
+
capName: "terminal-session",
|
|
33646
|
+
capScope: "system",
|
|
33647
|
+
addonId: null,
|
|
33648
|
+
access: "create"
|
|
33649
|
+
},
|
|
33323
33650
|
"toast.onToast": {
|
|
33324
33651
|
capName: "toast",
|
|
33325
33652
|
capScope: "system",
|
package/package.json
CHANGED