@camstack/addon-provider-petkit 0.2.12 → 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 +316 -31
- package/dist/addon.mjs +316 -31
- 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",
|
|
17470
|
+
auth: "admin"
|
|
17471
|
+
}), method(StorageMigrationLeaseInputSchema, object({ refreshed: literal(true) }), {
|
|
17472
|
+
kind: "mutation",
|
|
17473
|
+
auth: "admin"
|
|
17474
|
+
}), method(StorageMigrationMediaMoveInputSchema, object({ jobId: string() }), {
|
|
17475
|
+
kind: "mutation",
|
|
17390
17476
|
auth: "admin"
|
|
17391
|
-
}), method(object({ jobId: string() }), object({ cancelled: boolean() }), {
|
|
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,6 +19794,28 @@ var TerminalProfileInfoSchema = object({
|
|
|
19695
19794
|
label: string(),
|
|
19696
19795
|
description: string().optional()
|
|
19697
19796
|
});
|
|
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
|
+
});
|
|
19698
19819
|
var TerminalOutputEventSchema = discriminatedUnion("kind", [object({
|
|
19699
19820
|
seq: number().int().positive(),
|
|
19700
19821
|
kind: literal("data"),
|
|
@@ -19711,7 +19832,29 @@ var TerminalOutputBatchSchema = object({
|
|
|
19711
19832
|
snapshot: string().optional(),
|
|
19712
19833
|
events: array(TerminalOutputEventSchema).readonly()
|
|
19713
19834
|
});
|
|
19714
|
-
method(_void(), array(TerminalProfileInfoSchema).readonly(), { auth: "admin" }), method(_void(), array(
|
|
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({
|
|
19715
19858
|
profileId: string(),
|
|
19716
19859
|
cols: number().int().positive(),
|
|
19717
19860
|
rows: number().int().positive()
|
|
@@ -19728,7 +19871,13 @@ method(_void(), array(TerminalProfileInfoSchema).readonly(), { auth: "admin" }),
|
|
|
19728
19871
|
}), method(object({
|
|
19729
19872
|
sessionId: string(),
|
|
19730
19873
|
afterSeq: number().int().nonnegative(),
|
|
19731
|
-
waitMs: number().int().min(0).max(2e3).default(0)
|
|
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()
|
|
19732
19881
|
}), TerminalOutputBatchSchema, {
|
|
19733
19882
|
kind: "mutation",
|
|
19734
19883
|
auth: "admin",
|
|
@@ -22234,6 +22383,7 @@ var FaceInfoSchema = object({
|
|
|
22234
22383
|
var FaceFilterEnum = _enum([
|
|
22235
22384
|
"unassigned",
|
|
22236
22385
|
"recognized",
|
|
22386
|
+
"identified",
|
|
22237
22387
|
"all"
|
|
22238
22388
|
]);
|
|
22239
22389
|
var MediaFileLiteSchema$1 = object({
|
|
@@ -22262,6 +22412,8 @@ method(_void(), array(IdentitySchema).readonly()), method(object({ name: string(
|
|
|
22262
22412
|
kind: "mutation",
|
|
22263
22413
|
auth: "admin"
|
|
22264
22414
|
}), method(object({
|
|
22415
|
+
/** Restrict to one camera. Absent keeps the cluster-wide gallery view. */
|
|
22416
|
+
deviceId: number().int().optional(),
|
|
22265
22417
|
limit: number().int().positive().optional(),
|
|
22266
22418
|
filter: FaceFilterEnum.optional(),
|
|
22267
22419
|
/**
|
|
@@ -24491,6 +24643,10 @@ var OsdSourceSchema = discriminatedUnion("kind", [
|
|
|
24491
24643
|
capName: string().min(1).max(64),
|
|
24492
24644
|
/** Dot path inside the slice, e.g. `detected`, `value`, `mode`. */
|
|
24493
24645
|
valuePath: string().min(1).max(64)
|
|
24646
|
+
}),
|
|
24647
|
+
object({
|
|
24648
|
+
kind: literal("latest-recognition"),
|
|
24649
|
+
recognition: _enum(["person", "plate"])
|
|
24494
24650
|
})
|
|
24495
24651
|
]);
|
|
24496
24652
|
var OsdSlotBindingSchema = object({
|
|
@@ -24596,6 +24752,15 @@ method(object({ deviceId: number().int() }), object({
|
|
|
24596
24752
|
}), object({ success: literal(true) }), {
|
|
24597
24753
|
kind: "mutation",
|
|
24598
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"
|
|
24599
24764
|
}), method(object({
|
|
24600
24765
|
deviceId: number().int(),
|
|
24601
24766
|
slotId: string().min(1),
|
|
@@ -25693,13 +25858,19 @@ method(object({
|
|
|
25693
25858
|
}), {
|
|
25694
25859
|
kind: "mutation",
|
|
25695
25860
|
auth: "admin"
|
|
25696
|
-
}), method(
|
|
25861
|
+
}), method(StorageMigrationLeaseInputSchema, object({ paused: literal(true) }), {
|
|
25697
25862
|
kind: "mutation",
|
|
25698
25863
|
auth: "admin"
|
|
25699
|
-
}), method(object({
|
|
25700
|
-
kind: "
|
|
25864
|
+
}), method(StorageMigrationLeaseInputSchema, object({ resumed: literal(true) }), {
|
|
25865
|
+
kind: "mutation",
|
|
25701
25866
|
auth: "admin"
|
|
25702
|
-
}), 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() }), {
|
|
25703
25874
|
kind: "mutation",
|
|
25704
25875
|
auth: "admin"
|
|
25705
25876
|
});
|
|
@@ -31305,6 +31476,12 @@ Object.freeze({
|
|
|
31305
31476
|
addonId: null,
|
|
31306
31477
|
access: "delete"
|
|
31307
31478
|
},
|
|
31479
|
+
"osdManager.copyDeviceConfiguration": {
|
|
31480
|
+
capName: "osd-manager",
|
|
31481
|
+
capScope: "system",
|
|
31482
|
+
addonId: null,
|
|
31483
|
+
access: "create"
|
|
31484
|
+
},
|
|
31308
31485
|
"osdManager.getConditionSupport": {
|
|
31309
31486
|
capName: "osd-manager",
|
|
31310
31487
|
capScope: "system",
|
|
@@ -31401,7 +31578,7 @@ Object.freeze({
|
|
|
31401
31578
|
addonId: null,
|
|
31402
31579
|
access: "create"
|
|
31403
31580
|
},
|
|
31404
|
-
"pipelineAnalytics.
|
|
31581
|
+
"pipelineAnalytics.cancelStorageMigrationMove": {
|
|
31405
31582
|
capName: "pipeline-analytics",
|
|
31406
31583
|
capScope: "device",
|
|
31407
31584
|
addonId: null,
|
|
@@ -31473,12 +31650,6 @@ Object.freeze({
|
|
|
31473
31650
|
addonId: null,
|
|
31474
31651
|
access: "view"
|
|
31475
31652
|
},
|
|
31476
|
-
"pipelineAnalytics.getMediaRelocateStatus": {
|
|
31477
|
-
capName: "pipeline-analytics",
|
|
31478
|
-
capScope: "device",
|
|
31479
|
-
addonId: null,
|
|
31480
|
-
access: "view"
|
|
31481
|
-
},
|
|
31482
31653
|
"pipelineAnalytics.getMotionEvents": {
|
|
31483
31654
|
capName: "pipeline-analytics",
|
|
31484
31655
|
capScope: "device",
|
|
@@ -31515,6 +31686,12 @@ Object.freeze({
|
|
|
31515
31686
|
addonId: null,
|
|
31516
31687
|
access: "view"
|
|
31517
31688
|
},
|
|
31689
|
+
"pipelineAnalytics.getStorageMigrationMoveStatus": {
|
|
31690
|
+
capName: "pipeline-analytics",
|
|
31691
|
+
capScope: "device",
|
|
31692
|
+
addonId: null,
|
|
31693
|
+
access: "view"
|
|
31694
|
+
},
|
|
31518
31695
|
"pipelineAnalytics.getTrack": {
|
|
31519
31696
|
capName: "pipeline-analytics",
|
|
31520
31697
|
capScope: "device",
|
|
@@ -31593,6 +31770,12 @@ Object.freeze({
|
|
|
31593
31770
|
addonId: null,
|
|
31594
31771
|
access: "view"
|
|
31595
31772
|
},
|
|
31773
|
+
"pipelineAnalytics.pauseForStorageMigration": {
|
|
31774
|
+
capName: "pipeline-analytics",
|
|
31775
|
+
capScope: "device",
|
|
31776
|
+
addonId: null,
|
|
31777
|
+
access: "create"
|
|
31778
|
+
},
|
|
31596
31779
|
"pipelineAnalytics.proposeRetrainAnnotations": {
|
|
31597
31780
|
capName: "pipeline-analytics",
|
|
31598
31781
|
capScope: "device",
|
|
@@ -31623,7 +31806,7 @@ Object.freeze({
|
|
|
31623
31806
|
addonId: null,
|
|
31624
31807
|
access: "create"
|
|
31625
31808
|
},
|
|
31626
|
-
"pipelineAnalytics.
|
|
31809
|
+
"pipelineAnalytics.refreshStorageLocationsForMigration": {
|
|
31627
31810
|
capName: "pipeline-analytics",
|
|
31628
31811
|
capScope: "device",
|
|
31629
31812
|
addonId: null,
|
|
@@ -31635,6 +31818,12 @@ Object.freeze({
|
|
|
31635
31818
|
addonId: null,
|
|
31636
31819
|
access: "create"
|
|
31637
31820
|
},
|
|
31821
|
+
"pipelineAnalytics.resumeForStorageMigration": {
|
|
31822
|
+
capName: "pipeline-analytics",
|
|
31823
|
+
capScope: "device",
|
|
31824
|
+
addonId: null,
|
|
31825
|
+
access: "create"
|
|
31826
|
+
},
|
|
31638
31827
|
"pipelineAnalytics.saveRetrainAnnotations": {
|
|
31639
31828
|
capName: "pipeline-analytics",
|
|
31640
31829
|
capScope: "device",
|
|
@@ -31659,6 +31848,12 @@ Object.freeze({
|
|
|
31659
31848
|
addonId: null,
|
|
31660
31849
|
access: "create"
|
|
31661
31850
|
},
|
|
31851
|
+
"pipelineAnalytics.startStorageMigrationMove": {
|
|
31852
|
+
capName: "pipeline-analytics",
|
|
31853
|
+
capScope: "device",
|
|
31854
|
+
addonId: null,
|
|
31855
|
+
access: "create"
|
|
31856
|
+
},
|
|
31662
31857
|
"pipelineAnalytics.wipeAllAnalytics": {
|
|
31663
31858
|
capName: "pipeline-analytics",
|
|
31664
31859
|
capScope: "device",
|
|
@@ -32025,6 +32220,12 @@ Object.freeze({
|
|
|
32025
32220
|
addonId: null,
|
|
32026
32221
|
access: "view"
|
|
32027
32222
|
},
|
|
32223
|
+
"pipelineOrchestrator.pauseForStorageMigration": {
|
|
32224
|
+
capName: "pipeline-orchestrator",
|
|
32225
|
+
capScope: "system",
|
|
32226
|
+
addonId: null,
|
|
32227
|
+
access: "create"
|
|
32228
|
+
},
|
|
32028
32229
|
"pipelineOrchestrator.rebalance": {
|
|
32029
32230
|
capName: "pipeline-orchestrator",
|
|
32030
32231
|
capScope: "system",
|
|
@@ -32049,6 +32250,12 @@ Object.freeze({
|
|
|
32049
32250
|
addonId: null,
|
|
32050
32251
|
access: "view"
|
|
32051
32252
|
},
|
|
32253
|
+
"pipelineOrchestrator.resumeForStorageMigration": {
|
|
32254
|
+
capName: "pipeline-orchestrator",
|
|
32255
|
+
capScope: "system",
|
|
32256
|
+
addonId: null,
|
|
32257
|
+
access: "create"
|
|
32258
|
+
},
|
|
32052
32259
|
"pipelineOrchestrator.saveTemplate": {
|
|
32053
32260
|
capName: "pipeline-orchestrator",
|
|
32054
32261
|
capScope: "system",
|
|
@@ -32445,7 +32652,7 @@ Object.freeze({
|
|
|
32445
32652
|
addonId: null,
|
|
32446
32653
|
access: "create"
|
|
32447
32654
|
},
|
|
32448
|
-
"recording.
|
|
32655
|
+
"recording.cancelStorageMigrationMove": {
|
|
32449
32656
|
capName: "recording",
|
|
32450
32657
|
capScope: "system",
|
|
32451
32658
|
addonId: null,
|
|
@@ -32481,7 +32688,7 @@ Object.freeze({
|
|
|
32481
32688
|
addonId: null,
|
|
32482
32689
|
access: "view"
|
|
32483
32690
|
},
|
|
32484
|
-
"recording.
|
|
32691
|
+
"recording.getStorageMigrationMoveStatus": {
|
|
32485
32692
|
capName: "recording",
|
|
32486
32693
|
capScope: "system",
|
|
32487
32694
|
addonId: null,
|
|
@@ -32505,6 +32712,12 @@ Object.freeze({
|
|
|
32505
32712
|
addonId: null,
|
|
32506
32713
|
access: "view"
|
|
32507
32714
|
},
|
|
32715
|
+
"recording.pauseForStorageMigration": {
|
|
32716
|
+
capName: "recording",
|
|
32717
|
+
capScope: "system",
|
|
32718
|
+
addonId: null,
|
|
32719
|
+
access: "create"
|
|
32720
|
+
},
|
|
32508
32721
|
"recording.pruneFootage": {
|
|
32509
32722
|
capName: "recording",
|
|
32510
32723
|
capScope: "system",
|
|
@@ -32523,7 +32736,7 @@ Object.freeze({
|
|
|
32523
32736
|
addonId: null,
|
|
32524
32737
|
access: "view"
|
|
32525
32738
|
},
|
|
32526
|
-
"recording.
|
|
32739
|
+
"recording.refreshStorageLocationsForMigration": {
|
|
32527
32740
|
capName: "recording",
|
|
32528
32741
|
capScope: "system",
|
|
32529
32742
|
addonId: null,
|
|
@@ -32547,12 +32760,24 @@ Object.freeze({
|
|
|
32547
32760
|
addonId: null,
|
|
32548
32761
|
access: "create"
|
|
32549
32762
|
},
|
|
32763
|
+
"recording.resumeForStorageMigration": {
|
|
32764
|
+
capName: "recording",
|
|
32765
|
+
capScope: "system",
|
|
32766
|
+
addonId: null,
|
|
32767
|
+
access: "create"
|
|
32768
|
+
},
|
|
32550
32769
|
"recording.setDeviceConfig": {
|
|
32551
32770
|
capName: "recording",
|
|
32552
32771
|
capScope: "system",
|
|
32553
32772
|
addonId: null,
|
|
32554
32773
|
access: "create"
|
|
32555
32774
|
},
|
|
32775
|
+
"recording.startStorageMigrationMove": {
|
|
32776
|
+
capName: "recording",
|
|
32777
|
+
capScope: "system",
|
|
32778
|
+
addonId: null,
|
|
32779
|
+
access: "create"
|
|
32780
|
+
},
|
|
32556
32781
|
"recordingExport.cancelExport": {
|
|
32557
32782
|
capName: "recordingExport",
|
|
32558
32783
|
capScope: "system",
|
|
@@ -32943,6 +33168,30 @@ Object.freeze({
|
|
|
32943
33168
|
addonId: null,
|
|
32944
33169
|
access: "view"
|
|
32945
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
|
+
},
|
|
32946
33195
|
"storageProvider.abortUpload": {
|
|
32947
33196
|
capName: "storage-provider",
|
|
32948
33197
|
capScope: "system",
|
|
@@ -33321,12 +33570,42 @@ Object.freeze({
|
|
|
33321
33570
|
addonId: null,
|
|
33322
33571
|
access: "create"
|
|
33323
33572
|
},
|
|
33573
|
+
"terminalSession.adoptLegacyMonitor": {
|
|
33574
|
+
capName: "terminal-session",
|
|
33575
|
+
capScope: "system",
|
|
33576
|
+
addonId: null,
|
|
33577
|
+
access: "create"
|
|
33578
|
+
},
|
|
33324
33579
|
"terminalSession.close": {
|
|
33325
33580
|
capName: "terminal-session",
|
|
33326
33581
|
capScope: "system",
|
|
33327
33582
|
addonId: null,
|
|
33328
33583
|
access: "create"
|
|
33329
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
|
+
},
|
|
33330
33609
|
"terminalSession.listProfiles": {
|
|
33331
33610
|
capName: "terminal-session",
|
|
33332
33611
|
capScope: "system",
|
|
@@ -33357,6 +33636,12 @@ Object.freeze({
|
|
|
33357
33636
|
addonId: null,
|
|
33358
33637
|
access: "create"
|
|
33359
33638
|
},
|
|
33639
|
+
"terminalSession.setInstanceEnabled": {
|
|
33640
|
+
capName: "terminal-session",
|
|
33641
|
+
capScope: "system",
|
|
33642
|
+
addonId: null,
|
|
33643
|
+
access: "create"
|
|
33644
|
+
},
|
|
33360
33645
|
"terminalSession.writeInput": {
|
|
33361
33646
|
capName: "terminal-session",
|
|
33362
33647
|
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",
|
|
17469
|
+
auth: "admin"
|
|
17470
|
+
}), method(StorageMigrationLeaseInputSchema, object({ refreshed: literal(true) }), {
|
|
17471
|
+
kind: "mutation",
|
|
17472
|
+
auth: "admin"
|
|
17473
|
+
}), method(StorageMigrationMediaMoveInputSchema, object({ jobId: string() }), {
|
|
17474
|
+
kind: "mutation",
|
|
17389
17475
|
auth: "admin"
|
|
17390
|
-
}), method(object({ jobId: string() }), object({ cancelled: boolean() }), {
|
|
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,6 +19793,28 @@ var TerminalProfileInfoSchema = object({
|
|
|
19694
19793
|
label: string(),
|
|
19695
19794
|
description: string().optional()
|
|
19696
19795
|
});
|
|
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
|
+
});
|
|
19697
19818
|
var TerminalOutputEventSchema = discriminatedUnion("kind", [object({
|
|
19698
19819
|
seq: number().int().positive(),
|
|
19699
19820
|
kind: literal("data"),
|
|
@@ -19710,7 +19831,29 @@ var TerminalOutputBatchSchema = object({
|
|
|
19710
19831
|
snapshot: string().optional(),
|
|
19711
19832
|
events: array(TerminalOutputEventSchema).readonly()
|
|
19712
19833
|
});
|
|
19713
|
-
method(_void(), array(TerminalProfileInfoSchema).readonly(), { auth: "admin" }), method(_void(), array(
|
|
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({
|
|
19714
19857
|
profileId: string(),
|
|
19715
19858
|
cols: number().int().positive(),
|
|
19716
19859
|
rows: number().int().positive()
|
|
@@ -19727,7 +19870,13 @@ method(_void(), array(TerminalProfileInfoSchema).readonly(), { auth: "admin" }),
|
|
|
19727
19870
|
}), method(object({
|
|
19728
19871
|
sessionId: string(),
|
|
19729
19872
|
afterSeq: number().int().nonnegative(),
|
|
19730
|
-
waitMs: number().int().min(0).max(2e3).default(0)
|
|
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()
|
|
19731
19880
|
}), TerminalOutputBatchSchema, {
|
|
19732
19881
|
kind: "mutation",
|
|
19733
19882
|
auth: "admin",
|
|
@@ -22233,6 +22382,7 @@ var FaceInfoSchema = object({
|
|
|
22233
22382
|
var FaceFilterEnum = _enum([
|
|
22234
22383
|
"unassigned",
|
|
22235
22384
|
"recognized",
|
|
22385
|
+
"identified",
|
|
22236
22386
|
"all"
|
|
22237
22387
|
]);
|
|
22238
22388
|
var MediaFileLiteSchema$1 = object({
|
|
@@ -22261,6 +22411,8 @@ method(_void(), array(IdentitySchema).readonly()), method(object({ name: string(
|
|
|
22261
22411
|
kind: "mutation",
|
|
22262
22412
|
auth: "admin"
|
|
22263
22413
|
}), method(object({
|
|
22414
|
+
/** Restrict to one camera. Absent keeps the cluster-wide gallery view. */
|
|
22415
|
+
deviceId: number().int().optional(),
|
|
22264
22416
|
limit: number().int().positive().optional(),
|
|
22265
22417
|
filter: FaceFilterEnum.optional(),
|
|
22266
22418
|
/**
|
|
@@ -24490,6 +24642,10 @@ var OsdSourceSchema = discriminatedUnion("kind", [
|
|
|
24490
24642
|
capName: string().min(1).max(64),
|
|
24491
24643
|
/** Dot path inside the slice, e.g. `detected`, `value`, `mode`. */
|
|
24492
24644
|
valuePath: string().min(1).max(64)
|
|
24645
|
+
}),
|
|
24646
|
+
object({
|
|
24647
|
+
kind: literal("latest-recognition"),
|
|
24648
|
+
recognition: _enum(["person", "plate"])
|
|
24493
24649
|
})
|
|
24494
24650
|
]);
|
|
24495
24651
|
var OsdSlotBindingSchema = object({
|
|
@@ -24595,6 +24751,15 @@ method(object({ deviceId: number().int() }), object({
|
|
|
24595
24751
|
}), object({ success: literal(true) }), {
|
|
24596
24752
|
kind: "mutation",
|
|
24597
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"
|
|
24598
24763
|
}), method(object({
|
|
24599
24764
|
deviceId: number().int(),
|
|
24600
24765
|
slotId: string().min(1),
|
|
@@ -25692,13 +25857,19 @@ method(object({
|
|
|
25692
25857
|
}), {
|
|
25693
25858
|
kind: "mutation",
|
|
25694
25859
|
auth: "admin"
|
|
25695
|
-
}), method(
|
|
25860
|
+
}), method(StorageMigrationLeaseInputSchema, object({ paused: literal(true) }), {
|
|
25696
25861
|
kind: "mutation",
|
|
25697
25862
|
auth: "admin"
|
|
25698
|
-
}), method(object({
|
|
25699
|
-
kind: "
|
|
25863
|
+
}), method(StorageMigrationLeaseInputSchema, object({ resumed: literal(true) }), {
|
|
25864
|
+
kind: "mutation",
|
|
25700
25865
|
auth: "admin"
|
|
25701
|
-
}), 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() }), {
|
|
25702
25873
|
kind: "mutation",
|
|
25703
25874
|
auth: "admin"
|
|
25704
25875
|
});
|
|
@@ -31304,6 +31475,12 @@ Object.freeze({
|
|
|
31304
31475
|
addonId: null,
|
|
31305
31476
|
access: "delete"
|
|
31306
31477
|
},
|
|
31478
|
+
"osdManager.copyDeviceConfiguration": {
|
|
31479
|
+
capName: "osd-manager",
|
|
31480
|
+
capScope: "system",
|
|
31481
|
+
addonId: null,
|
|
31482
|
+
access: "create"
|
|
31483
|
+
},
|
|
31307
31484
|
"osdManager.getConditionSupport": {
|
|
31308
31485
|
capName: "osd-manager",
|
|
31309
31486
|
capScope: "system",
|
|
@@ -31400,7 +31577,7 @@ Object.freeze({
|
|
|
31400
31577
|
addonId: null,
|
|
31401
31578
|
access: "create"
|
|
31402
31579
|
},
|
|
31403
|
-
"pipelineAnalytics.
|
|
31580
|
+
"pipelineAnalytics.cancelStorageMigrationMove": {
|
|
31404
31581
|
capName: "pipeline-analytics",
|
|
31405
31582
|
capScope: "device",
|
|
31406
31583
|
addonId: null,
|
|
@@ -31472,12 +31649,6 @@ Object.freeze({
|
|
|
31472
31649
|
addonId: null,
|
|
31473
31650
|
access: "view"
|
|
31474
31651
|
},
|
|
31475
|
-
"pipelineAnalytics.getMediaRelocateStatus": {
|
|
31476
|
-
capName: "pipeline-analytics",
|
|
31477
|
-
capScope: "device",
|
|
31478
|
-
addonId: null,
|
|
31479
|
-
access: "view"
|
|
31480
|
-
},
|
|
31481
31652
|
"pipelineAnalytics.getMotionEvents": {
|
|
31482
31653
|
capName: "pipeline-analytics",
|
|
31483
31654
|
capScope: "device",
|
|
@@ -31514,6 +31685,12 @@ Object.freeze({
|
|
|
31514
31685
|
addonId: null,
|
|
31515
31686
|
access: "view"
|
|
31516
31687
|
},
|
|
31688
|
+
"pipelineAnalytics.getStorageMigrationMoveStatus": {
|
|
31689
|
+
capName: "pipeline-analytics",
|
|
31690
|
+
capScope: "device",
|
|
31691
|
+
addonId: null,
|
|
31692
|
+
access: "view"
|
|
31693
|
+
},
|
|
31517
31694
|
"pipelineAnalytics.getTrack": {
|
|
31518
31695
|
capName: "pipeline-analytics",
|
|
31519
31696
|
capScope: "device",
|
|
@@ -31592,6 +31769,12 @@ Object.freeze({
|
|
|
31592
31769
|
addonId: null,
|
|
31593
31770
|
access: "view"
|
|
31594
31771
|
},
|
|
31772
|
+
"pipelineAnalytics.pauseForStorageMigration": {
|
|
31773
|
+
capName: "pipeline-analytics",
|
|
31774
|
+
capScope: "device",
|
|
31775
|
+
addonId: null,
|
|
31776
|
+
access: "create"
|
|
31777
|
+
},
|
|
31595
31778
|
"pipelineAnalytics.proposeRetrainAnnotations": {
|
|
31596
31779
|
capName: "pipeline-analytics",
|
|
31597
31780
|
capScope: "device",
|
|
@@ -31622,7 +31805,7 @@ Object.freeze({
|
|
|
31622
31805
|
addonId: null,
|
|
31623
31806
|
access: "create"
|
|
31624
31807
|
},
|
|
31625
|
-
"pipelineAnalytics.
|
|
31808
|
+
"pipelineAnalytics.refreshStorageLocationsForMigration": {
|
|
31626
31809
|
capName: "pipeline-analytics",
|
|
31627
31810
|
capScope: "device",
|
|
31628
31811
|
addonId: null,
|
|
@@ -31634,6 +31817,12 @@ Object.freeze({
|
|
|
31634
31817
|
addonId: null,
|
|
31635
31818
|
access: "create"
|
|
31636
31819
|
},
|
|
31820
|
+
"pipelineAnalytics.resumeForStorageMigration": {
|
|
31821
|
+
capName: "pipeline-analytics",
|
|
31822
|
+
capScope: "device",
|
|
31823
|
+
addonId: null,
|
|
31824
|
+
access: "create"
|
|
31825
|
+
},
|
|
31637
31826
|
"pipelineAnalytics.saveRetrainAnnotations": {
|
|
31638
31827
|
capName: "pipeline-analytics",
|
|
31639
31828
|
capScope: "device",
|
|
@@ -31658,6 +31847,12 @@ Object.freeze({
|
|
|
31658
31847
|
addonId: null,
|
|
31659
31848
|
access: "create"
|
|
31660
31849
|
},
|
|
31850
|
+
"pipelineAnalytics.startStorageMigrationMove": {
|
|
31851
|
+
capName: "pipeline-analytics",
|
|
31852
|
+
capScope: "device",
|
|
31853
|
+
addonId: null,
|
|
31854
|
+
access: "create"
|
|
31855
|
+
},
|
|
31661
31856
|
"pipelineAnalytics.wipeAllAnalytics": {
|
|
31662
31857
|
capName: "pipeline-analytics",
|
|
31663
31858
|
capScope: "device",
|
|
@@ -32024,6 +32219,12 @@ Object.freeze({
|
|
|
32024
32219
|
addonId: null,
|
|
32025
32220
|
access: "view"
|
|
32026
32221
|
},
|
|
32222
|
+
"pipelineOrchestrator.pauseForStorageMigration": {
|
|
32223
|
+
capName: "pipeline-orchestrator",
|
|
32224
|
+
capScope: "system",
|
|
32225
|
+
addonId: null,
|
|
32226
|
+
access: "create"
|
|
32227
|
+
},
|
|
32027
32228
|
"pipelineOrchestrator.rebalance": {
|
|
32028
32229
|
capName: "pipeline-orchestrator",
|
|
32029
32230
|
capScope: "system",
|
|
@@ -32048,6 +32249,12 @@ Object.freeze({
|
|
|
32048
32249
|
addonId: null,
|
|
32049
32250
|
access: "view"
|
|
32050
32251
|
},
|
|
32252
|
+
"pipelineOrchestrator.resumeForStorageMigration": {
|
|
32253
|
+
capName: "pipeline-orchestrator",
|
|
32254
|
+
capScope: "system",
|
|
32255
|
+
addonId: null,
|
|
32256
|
+
access: "create"
|
|
32257
|
+
},
|
|
32051
32258
|
"pipelineOrchestrator.saveTemplate": {
|
|
32052
32259
|
capName: "pipeline-orchestrator",
|
|
32053
32260
|
capScope: "system",
|
|
@@ -32444,7 +32651,7 @@ Object.freeze({
|
|
|
32444
32651
|
addonId: null,
|
|
32445
32652
|
access: "create"
|
|
32446
32653
|
},
|
|
32447
|
-
"recording.
|
|
32654
|
+
"recording.cancelStorageMigrationMove": {
|
|
32448
32655
|
capName: "recording",
|
|
32449
32656
|
capScope: "system",
|
|
32450
32657
|
addonId: null,
|
|
@@ -32480,7 +32687,7 @@ Object.freeze({
|
|
|
32480
32687
|
addonId: null,
|
|
32481
32688
|
access: "view"
|
|
32482
32689
|
},
|
|
32483
|
-
"recording.
|
|
32690
|
+
"recording.getStorageMigrationMoveStatus": {
|
|
32484
32691
|
capName: "recording",
|
|
32485
32692
|
capScope: "system",
|
|
32486
32693
|
addonId: null,
|
|
@@ -32504,6 +32711,12 @@ Object.freeze({
|
|
|
32504
32711
|
addonId: null,
|
|
32505
32712
|
access: "view"
|
|
32506
32713
|
},
|
|
32714
|
+
"recording.pauseForStorageMigration": {
|
|
32715
|
+
capName: "recording",
|
|
32716
|
+
capScope: "system",
|
|
32717
|
+
addonId: null,
|
|
32718
|
+
access: "create"
|
|
32719
|
+
},
|
|
32507
32720
|
"recording.pruneFootage": {
|
|
32508
32721
|
capName: "recording",
|
|
32509
32722
|
capScope: "system",
|
|
@@ -32522,7 +32735,7 @@ Object.freeze({
|
|
|
32522
32735
|
addonId: null,
|
|
32523
32736
|
access: "view"
|
|
32524
32737
|
},
|
|
32525
|
-
"recording.
|
|
32738
|
+
"recording.refreshStorageLocationsForMigration": {
|
|
32526
32739
|
capName: "recording",
|
|
32527
32740
|
capScope: "system",
|
|
32528
32741
|
addonId: null,
|
|
@@ -32546,12 +32759,24 @@ Object.freeze({
|
|
|
32546
32759
|
addonId: null,
|
|
32547
32760
|
access: "create"
|
|
32548
32761
|
},
|
|
32762
|
+
"recording.resumeForStorageMigration": {
|
|
32763
|
+
capName: "recording",
|
|
32764
|
+
capScope: "system",
|
|
32765
|
+
addonId: null,
|
|
32766
|
+
access: "create"
|
|
32767
|
+
},
|
|
32549
32768
|
"recording.setDeviceConfig": {
|
|
32550
32769
|
capName: "recording",
|
|
32551
32770
|
capScope: "system",
|
|
32552
32771
|
addonId: null,
|
|
32553
32772
|
access: "create"
|
|
32554
32773
|
},
|
|
32774
|
+
"recording.startStorageMigrationMove": {
|
|
32775
|
+
capName: "recording",
|
|
32776
|
+
capScope: "system",
|
|
32777
|
+
addonId: null,
|
|
32778
|
+
access: "create"
|
|
32779
|
+
},
|
|
32555
32780
|
"recordingExport.cancelExport": {
|
|
32556
32781
|
capName: "recordingExport",
|
|
32557
32782
|
capScope: "system",
|
|
@@ -32942,6 +33167,30 @@ Object.freeze({
|
|
|
32942
33167
|
addonId: null,
|
|
32943
33168
|
access: "view"
|
|
32944
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
|
+
},
|
|
32945
33194
|
"storageProvider.abortUpload": {
|
|
32946
33195
|
capName: "storage-provider",
|
|
32947
33196
|
capScope: "system",
|
|
@@ -33320,12 +33569,42 @@ Object.freeze({
|
|
|
33320
33569
|
addonId: null,
|
|
33321
33570
|
access: "create"
|
|
33322
33571
|
},
|
|
33572
|
+
"terminalSession.adoptLegacyMonitor": {
|
|
33573
|
+
capName: "terminal-session",
|
|
33574
|
+
capScope: "system",
|
|
33575
|
+
addonId: null,
|
|
33576
|
+
access: "create"
|
|
33577
|
+
},
|
|
33323
33578
|
"terminalSession.close": {
|
|
33324
33579
|
capName: "terminal-session",
|
|
33325
33580
|
capScope: "system",
|
|
33326
33581
|
addonId: null,
|
|
33327
33582
|
access: "create"
|
|
33328
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
|
+
},
|
|
33329
33608
|
"terminalSession.listProfiles": {
|
|
33330
33609
|
capName: "terminal-session",
|
|
33331
33610
|
capScope: "system",
|
|
@@ -33356,6 +33635,12 @@ Object.freeze({
|
|
|
33356
33635
|
addonId: null,
|
|
33357
33636
|
access: "create"
|
|
33358
33637
|
},
|
|
33638
|
+
"terminalSession.setInstanceEnabled": {
|
|
33639
|
+
capName: "terminal-session",
|
|
33640
|
+
capScope: "system",
|
|
33641
|
+
addonId: null,
|
|
33642
|
+
access: "create"
|
|
33643
|
+
},
|
|
33359
33644
|
"terminalSession.writeInput": {
|
|
33360
33645
|
capName: "terminal-session",
|
|
33361
33646
|
capScope: "system",
|
package/package.json
CHANGED