@camstack/addon-provider-velux 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
|
@@ -7565,12 +7565,11 @@ var RecordingConfigSchema = object({
|
|
|
7565
7565
|
/**
|
|
7566
7566
|
* Entity-relocation job state (storage entity-routing spec, Phase 4).
|
|
7567
7567
|
*
|
|
7568
|
-
* One shape shared by the recorder
|
|
7569
|
-
*
|
|
7570
|
-
*
|
|
7571
|
-
*
|
|
7572
|
-
*
|
|
7573
|
-
* row on the owning addon's surface.
|
|
7568
|
+
* One shape shared by the recorder and pipeline-analytics internal movers.
|
|
7569
|
+
* The public admin surface is `storage-migration`; child jobs remain in RAM
|
|
7570
|
+
* because copy-if-absent, verify, delete and index/row repoint are resumable.
|
|
7571
|
+
* Each completed/failed run also lands one durable ops-log row on its owning
|
|
7572
|
+
* addon surface.
|
|
7574
7573
|
*/
|
|
7575
7574
|
var RelocateJobStateSchema = _enum([
|
|
7576
7575
|
"running",
|
|
@@ -7597,19 +7596,100 @@ var RelocateJobSchema = object({
|
|
|
7597
7596
|
finishedAt: number().nullable(),
|
|
7598
7597
|
error: string().nullable()
|
|
7599
7598
|
});
|
|
7599
|
+
/** Profile-derived footage selection used only by the migration coordinator:
|
|
7600
|
+
* `recordings` owns high+mid; `recordingsLow` owns low. */
|
|
7601
|
+
var RelocateFootageClassSchema = _enum(["recordings", "recordingsLow"]);
|
|
7600
7602
|
var RelocateFootageInputSchema = object({
|
|
7601
|
-
deviceId: number().optional(),
|
|
7602
7603
|
fromLocationId: string(),
|
|
7603
7604
|
toLocationId: string(),
|
|
7604
7605
|
entities: array(_enum(["segments"])).optional(),
|
|
7606
|
+
/** Limits relocation to the logical profile class. Omit only for the
|
|
7607
|
+
* pre-orchestration compatibility path. */
|
|
7608
|
+
footageClass: RelocateFootageClassSchema.optional(),
|
|
7605
7609
|
/** Copy throttle in MB/s (default 40) — the drain is a background chore,
|
|
7606
7610
|
* never allowed to starve live writers. */
|
|
7607
7611
|
throttleMbps: number().min(1).max(1e3).optional()
|
|
7608
7612
|
});
|
|
7609
|
-
|
|
7610
|
-
|
|
7613
|
+
/** Internal, lease-scoped participant operation. It is intentionally separate
|
|
7614
|
+
* from persistent recording settings: a migration never changes
|
|
7615
|
+
* `RecordingConfig.enabled` or camera wrapper bindings. */
|
|
7616
|
+
var StorageMigrationLeaseInputSchema = object({ leaseId: string().min(1) });
|
|
7617
|
+
var StorageMigrationFootageMoveInputSchema = RelocateFootageInputSchema.extend({ leaseId: string().min(1) });
|
|
7618
|
+
var StorageMigrationMediaMoveInputSchema = object({
|
|
7611
7619
|
toLocationId: string(),
|
|
7612
7620
|
throttleMbps: number().min(1).max(1e3).optional()
|
|
7621
|
+
}).extend({ leaseId: string().min(1) });
|
|
7622
|
+
/** The independently selectable logical storage classes. `recordings`
|
|
7623
|
+
* encompasses the high and mid segment profiles; `recordingsLow` is low
|
|
7624
|
+
* segments; `eventMedia` is post-analysis blobs. */
|
|
7625
|
+
var StorageMigrationClassSchema = _enum([
|
|
7626
|
+
"recordings",
|
|
7627
|
+
"recordingsLow",
|
|
7628
|
+
"eventMedia"
|
|
7629
|
+
]);
|
|
7630
|
+
/** A destination is always an existing, fully-qualified location id. The
|
|
7631
|
+
* migration API intentionally never changes a source location's `basePath`:
|
|
7632
|
+
* callers create a new `<type>:<slug>` location, then select it here. */
|
|
7633
|
+
var StorageMigrationDestinationsSchema = object({
|
|
7634
|
+
recordings: string().min(1).optional(),
|
|
7635
|
+
recordingsLow: string().min(1).optional(),
|
|
7636
|
+
eventMedia: string().min(1).optional()
|
|
7637
|
+
}).refine((value) => Object.keys(value).length > 0, { message: "select at least one storage class" });
|
|
7638
|
+
/** Shared input for planning and starting an orchestrated storage migration. */
|
|
7639
|
+
var StorageMigrationInputSchema = object({
|
|
7640
|
+
destinations: StorageMigrationDestinationsSchema,
|
|
7641
|
+
throttleMbps: number().min(1).max(1e3).optional()
|
|
7642
|
+
});
|
|
7643
|
+
/** The durable coordinator state machine. The only phase that changes default
|
|
7644
|
+
* locations is `repointing`, after every selected mover has completed and been
|
|
7645
|
+
* verified. */
|
|
7646
|
+
var StorageMigrationPhaseSchema = _enum([
|
|
7647
|
+
"planning",
|
|
7648
|
+
"pausing",
|
|
7649
|
+
"moving",
|
|
7650
|
+
"verifying",
|
|
7651
|
+
"repointing",
|
|
7652
|
+
"refreshing",
|
|
7653
|
+
"resuming",
|
|
7654
|
+
"done",
|
|
7655
|
+
"failed",
|
|
7656
|
+
"cancelled"
|
|
7657
|
+
]);
|
|
7658
|
+
var StorageMigrationParticipantSchema = _enum([
|
|
7659
|
+
"pipeline",
|
|
7660
|
+
"recorder",
|
|
7661
|
+
"analytics"
|
|
7662
|
+
]);
|
|
7663
|
+
var StorageMigrationMoveSchema = object({
|
|
7664
|
+
storageClass: StorageMigrationClassSchema,
|
|
7665
|
+
fromLocationId: string(),
|
|
7666
|
+
toLocationId: string(),
|
|
7667
|
+
moverJobId: string().nullable(),
|
|
7668
|
+
state: RelocateJobStateSchema.nullable(),
|
|
7669
|
+
error: string().nullable()
|
|
7670
|
+
});
|
|
7671
|
+
var StorageMigrationJobSchema = object({
|
|
7672
|
+
jobId: string(),
|
|
7673
|
+
phase: StorageMigrationPhaseSchema,
|
|
7674
|
+
destinations: StorageMigrationDestinationsSchema,
|
|
7675
|
+
throttleMbps: number(),
|
|
7676
|
+
moves: array(StorageMigrationMoveSchema),
|
|
7677
|
+
pauseLeaseId: string().nullable(),
|
|
7678
|
+
pausedParticipants: array(StorageMigrationParticipantSchema),
|
|
7679
|
+
repointed: boolean(),
|
|
7680
|
+
cancelRequested: boolean(),
|
|
7681
|
+
startedAt: number(),
|
|
7682
|
+
updatedAt: number(),
|
|
7683
|
+
finishedAt: number().nullable(),
|
|
7684
|
+
error: string().nullable()
|
|
7685
|
+
});
|
|
7686
|
+
var StorageMigrationPlanSchema = object({
|
|
7687
|
+
destinations: StorageMigrationDestinationsSchema,
|
|
7688
|
+
moves: array(object({
|
|
7689
|
+
storageClass: StorageMigrationClassSchema,
|
|
7690
|
+
fromLocationId: string(),
|
|
7691
|
+
toLocationId: string()
|
|
7692
|
+
}))
|
|
7613
7693
|
});
|
|
7614
7694
|
/**
|
|
7615
7695
|
* `StorageLocationType` — an addon-declared id that identifies the *kind* of
|
|
@@ -16263,13 +16343,19 @@ DeviceType.Camera, method(object({ deviceId: number() }), array(TrackSchema).rea
|
|
|
16263
16343
|
}), method(object({ deviceId: number() }), EventPruneCountsSchema, {
|
|
16264
16344
|
kind: "mutation",
|
|
16265
16345
|
auth: "admin"
|
|
16266
|
-
}), method(
|
|
16346
|
+
}), method(StorageMigrationLeaseInputSchema, object({ paused: literal(true) }), {
|
|
16267
16347
|
kind: "mutation",
|
|
16268
16348
|
auth: "admin"
|
|
16269
|
-
}), method(object({
|
|
16270
|
-
kind: "
|
|
16349
|
+
}), method(StorageMigrationLeaseInputSchema, object({ resumed: literal(true) }), {
|
|
16350
|
+
kind: "mutation",
|
|
16351
|
+
auth: "admin"
|
|
16352
|
+
}), method(StorageMigrationLeaseInputSchema, object({ refreshed: literal(true) }), {
|
|
16353
|
+
kind: "mutation",
|
|
16354
|
+
auth: "admin"
|
|
16355
|
+
}), method(StorageMigrationMediaMoveInputSchema, object({ jobId: string() }), {
|
|
16356
|
+
kind: "mutation",
|
|
16271
16357
|
auth: "admin"
|
|
16272
|
-
}), method(object({ jobId: string() }), object({ cancelled: boolean() }), {
|
|
16358
|
+
}), method(object({ jobId: string() }), RelocateJobSchema.nullable(), { auth: "admin" }), method(object({ jobId: string() }), object({ cancelled: boolean() }), {
|
|
16273
16359
|
kind: "mutation",
|
|
16274
16360
|
auth: "admin"
|
|
16275
16361
|
}), method(OpsLogQueryInputSchema, array(OpsLogEntrySchema).readonly(), {
|
|
@@ -17799,7 +17885,13 @@ var NodeInferenceDevicesSchema = object({
|
|
|
17799
17885
|
reachable: boolean(),
|
|
17800
17886
|
devices: array(NodeInferenceDeviceSchema).readonly()
|
|
17801
17887
|
});
|
|
17802
|
-
method(object({
|
|
17888
|
+
method(StorageMigrationLeaseInputSchema, object({ paused: literal(true) }), {
|
|
17889
|
+
kind: "mutation",
|
|
17890
|
+
auth: "admin"
|
|
17891
|
+
}), method(StorageMigrationLeaseInputSchema, object({ resumed: literal(true) }), {
|
|
17892
|
+
kind: "mutation",
|
|
17893
|
+
auth: "admin"
|
|
17894
|
+
}), method(object({
|
|
17803
17895
|
deviceId: number(),
|
|
17804
17896
|
agentNodeId: string()
|
|
17805
17897
|
}), object({ success: literal(true) }), {
|
|
@@ -18473,6 +18565,13 @@ method(object({ locationId: string() }), EvictableUsageSchema), method(object({
|
|
|
18473
18565
|
locationId: string(),
|
|
18474
18566
|
targetBytes: number().int().positive()
|
|
18475
18567
|
}), EvictResultSchema, { kind: "mutation" });
|
|
18568
|
+
method(StorageMigrationInputSchema, StorageMigrationPlanSchema, { auth: "admin" }), method(StorageMigrationInputSchema, object({ jobId: string() }), {
|
|
18569
|
+
kind: "mutation",
|
|
18570
|
+
auth: "admin"
|
|
18571
|
+
}), method(object({ jobId: string().optional() }), StorageMigrationJobSchema.nullable(), { auth: "admin" }), method(object({ jobId: string() }), object({ cancelled: boolean() }), {
|
|
18572
|
+
kind: "mutation",
|
|
18573
|
+
auth: "admin"
|
|
18574
|
+
});
|
|
18476
18575
|
var ProviderInfoSchema = discriminatedUnion("shouldSaveDiskSpace", [object({
|
|
18477
18576
|
providerId: string().min(1),
|
|
18478
18577
|
displayName: string().min(1),
|
|
@@ -18576,6 +18675,28 @@ var TerminalProfileInfoSchema = object({
|
|
|
18576
18675
|
label: string(),
|
|
18577
18676
|
description: string().optional()
|
|
18578
18677
|
});
|
|
18678
|
+
/**
|
|
18679
|
+
* A durable operator-created Terminal instance. Profiles are templates; only
|
|
18680
|
+
* an instance declares a camera.
|
|
18681
|
+
*/
|
|
18682
|
+
var TerminalInstanceInfoSchema = object({
|
|
18683
|
+
instanceId: string(),
|
|
18684
|
+
cameraStableId: string(),
|
|
18685
|
+
nodeId: string(),
|
|
18686
|
+
profileId: string(),
|
|
18687
|
+
profileLabel: string(),
|
|
18688
|
+
name: string(),
|
|
18689
|
+
enabled: boolean()
|
|
18690
|
+
});
|
|
18691
|
+
var TerminalLegacyCameraSchema = object({
|
|
18692
|
+
stableId: string(),
|
|
18693
|
+
nodeId: string(),
|
|
18694
|
+
profileId: string(),
|
|
18695
|
+
profileLabel: string(),
|
|
18696
|
+
name: string(),
|
|
18697
|
+
/** Only legacy monitor cameras can retain their historic stable identity. */
|
|
18698
|
+
adoptable: boolean()
|
|
18699
|
+
});
|
|
18579
18700
|
var TerminalOutputEventSchema = discriminatedUnion("kind", [object({
|
|
18580
18701
|
seq: number().int().positive(),
|
|
18581
18702
|
kind: literal("data"),
|
|
@@ -18592,7 +18713,29 @@ var TerminalOutputBatchSchema = object({
|
|
|
18592
18713
|
snapshot: string().optional(),
|
|
18593
18714
|
events: array(TerminalOutputEventSchema).readonly()
|
|
18594
18715
|
});
|
|
18595
|
-
method(_void(), array(TerminalProfileInfoSchema).readonly(), { auth: "admin" }), method(_void(), array(
|
|
18716
|
+
method(_void(), array(TerminalProfileInfoSchema).readonly(), { auth: "admin" }), method(_void(), array(TerminalInstanceInfoSchema).readonly(), { auth: "admin" }), method(object({
|
|
18717
|
+
targetNodeId: string().min(1),
|
|
18718
|
+
profileId: string().min(1),
|
|
18719
|
+
name: string().trim().min(1).max(160).optional()
|
|
18720
|
+
}), TerminalInstanceInfoSchema, {
|
|
18721
|
+
kind: "mutation",
|
|
18722
|
+
auth: "admin"
|
|
18723
|
+
}), method(object({ instanceId: string().min(1) }), _void(), {
|
|
18724
|
+
kind: "mutation",
|
|
18725
|
+
auth: "admin"
|
|
18726
|
+
}), method(object({
|
|
18727
|
+
instanceId: string().min(1),
|
|
18728
|
+
enabled: boolean()
|
|
18729
|
+
}), TerminalInstanceInfoSchema, {
|
|
18730
|
+
kind: "mutation",
|
|
18731
|
+
auth: "admin"
|
|
18732
|
+
}), method(_void(), array(TerminalLegacyCameraSchema).readonly(), { auth: "admin" }), method(object({
|
|
18733
|
+
stableId: string().min(1),
|
|
18734
|
+
name: string().trim().min(1).max(160).optional()
|
|
18735
|
+
}), TerminalInstanceInfoSchema, {
|
|
18736
|
+
kind: "mutation",
|
|
18737
|
+
auth: "admin"
|
|
18738
|
+
}), method(_void(), array(TerminalSessionInfoSchema).readonly(), { auth: "admin" }), method(object({
|
|
18596
18739
|
profileId: string(),
|
|
18597
18740
|
cols: number().int().positive(),
|
|
18598
18741
|
rows: number().int().positive()
|
|
@@ -18609,7 +18752,13 @@ method(_void(), array(TerminalProfileInfoSchema).readonly(), { auth: "admin" }),
|
|
|
18609
18752
|
}), method(object({
|
|
18610
18753
|
sessionId: string(),
|
|
18611
18754
|
afterSeq: number().int().nonnegative(),
|
|
18612
|
-
waitMs: number().int().min(0).max(2e3).default(0)
|
|
18755
|
+
waitMs: number().int().min(0).max(2e3).default(0),
|
|
18756
|
+
/**
|
|
18757
|
+
* Wait when a just-opened session has no output yet. Kept opt-in so a
|
|
18758
|
+
* browser's initial repaint remains immediate; the camera snapshot
|
|
18759
|
+
* relay uses it to avoid encoding a blank startup frame.
|
|
18760
|
+
*/
|
|
18761
|
+
waitForOutput: boolean().optional()
|
|
18613
18762
|
}), TerminalOutputBatchSchema, {
|
|
18614
18763
|
kind: "mutation",
|
|
18615
18764
|
auth: "admin",
|
|
@@ -21107,6 +21256,7 @@ var FaceInfoSchema = object({
|
|
|
21107
21256
|
var FaceFilterEnum = _enum([
|
|
21108
21257
|
"unassigned",
|
|
21109
21258
|
"recognized",
|
|
21259
|
+
"identified",
|
|
21110
21260
|
"all"
|
|
21111
21261
|
]);
|
|
21112
21262
|
var MediaFileLiteSchema$1 = object({
|
|
@@ -21135,6 +21285,8 @@ method(_void(), array(IdentitySchema).readonly()), method(object({ name: string(
|
|
|
21135
21285
|
kind: "mutation",
|
|
21136
21286
|
auth: "admin"
|
|
21137
21287
|
}), method(object({
|
|
21288
|
+
/** Restrict to one camera. Absent keeps the cluster-wide gallery view. */
|
|
21289
|
+
deviceId: number().int().optional(),
|
|
21138
21290
|
limit: number().int().positive().optional(),
|
|
21139
21291
|
filter: FaceFilterEnum.optional(),
|
|
21140
21292
|
/**
|
|
@@ -23364,6 +23516,10 @@ var OsdSourceSchema = discriminatedUnion("kind", [
|
|
|
23364
23516
|
capName: string().min(1).max(64),
|
|
23365
23517
|
/** Dot path inside the slice, e.g. `detected`, `value`, `mode`. */
|
|
23366
23518
|
valuePath: string().min(1).max(64)
|
|
23519
|
+
}),
|
|
23520
|
+
object({
|
|
23521
|
+
kind: literal("latest-recognition"),
|
|
23522
|
+
recognition: _enum(["person", "plate"])
|
|
23367
23523
|
})
|
|
23368
23524
|
]);
|
|
23369
23525
|
var OsdSlotBindingSchema = object({
|
|
@@ -23469,6 +23625,15 @@ method(object({ deviceId: number().int() }), object({
|
|
|
23469
23625
|
}), object({ success: literal(true) }), {
|
|
23470
23626
|
kind: "mutation",
|
|
23471
23627
|
auth: "admin"
|
|
23628
|
+
}), method(object({
|
|
23629
|
+
sourceDeviceId: number().int(),
|
|
23630
|
+
targetDeviceId: number().int()
|
|
23631
|
+
}), object({
|
|
23632
|
+
copied: number().int().nonnegative(),
|
|
23633
|
+
skipped: number().int().nonnegative()
|
|
23634
|
+
}), {
|
|
23635
|
+
kind: "mutation",
|
|
23636
|
+
auth: "admin"
|
|
23472
23637
|
}), method(object({
|
|
23473
23638
|
deviceId: number().int(),
|
|
23474
23639
|
slotId: string().min(1),
|
|
@@ -24566,13 +24731,19 @@ method(object({
|
|
|
24566
24731
|
}), {
|
|
24567
24732
|
kind: "mutation",
|
|
24568
24733
|
auth: "admin"
|
|
24569
|
-
}), method(
|
|
24734
|
+
}), method(StorageMigrationLeaseInputSchema, object({ paused: literal(true) }), {
|
|
24570
24735
|
kind: "mutation",
|
|
24571
24736
|
auth: "admin"
|
|
24572
|
-
}), method(object({
|
|
24573
|
-
kind: "
|
|
24737
|
+
}), method(StorageMigrationLeaseInputSchema, object({ resumed: literal(true) }), {
|
|
24738
|
+
kind: "mutation",
|
|
24574
24739
|
auth: "admin"
|
|
24575
|
-
}), method(
|
|
24740
|
+
}), method(StorageMigrationLeaseInputSchema, object({ refreshed: literal(true) }), {
|
|
24741
|
+
kind: "mutation",
|
|
24742
|
+
auth: "admin"
|
|
24743
|
+
}), method(StorageMigrationFootageMoveInputSchema, object({ jobId: string() }), {
|
|
24744
|
+
kind: "mutation",
|
|
24745
|
+
auth: "admin"
|
|
24746
|
+
}), method(object({ jobId: string() }), RelocateJobSchema.nullable(), { auth: "admin" }), method(object({ jobId: string() }), object({ cancelled: boolean() }), {
|
|
24576
24747
|
kind: "mutation",
|
|
24577
24748
|
auth: "admin"
|
|
24578
24749
|
});
|
|
@@ -30178,6 +30349,12 @@ Object.freeze({
|
|
|
30178
30349
|
addonId: null,
|
|
30179
30350
|
access: "delete"
|
|
30180
30351
|
},
|
|
30352
|
+
"osdManager.copyDeviceConfiguration": {
|
|
30353
|
+
capName: "osd-manager",
|
|
30354
|
+
capScope: "system",
|
|
30355
|
+
addonId: null,
|
|
30356
|
+
access: "create"
|
|
30357
|
+
},
|
|
30181
30358
|
"osdManager.getConditionSupport": {
|
|
30182
30359
|
capName: "osd-manager",
|
|
30183
30360
|
capScope: "system",
|
|
@@ -30274,7 +30451,7 @@ Object.freeze({
|
|
|
30274
30451
|
addonId: null,
|
|
30275
30452
|
access: "create"
|
|
30276
30453
|
},
|
|
30277
|
-
"pipelineAnalytics.
|
|
30454
|
+
"pipelineAnalytics.cancelStorageMigrationMove": {
|
|
30278
30455
|
capName: "pipeline-analytics",
|
|
30279
30456
|
capScope: "device",
|
|
30280
30457
|
addonId: null,
|
|
@@ -30346,12 +30523,6 @@ Object.freeze({
|
|
|
30346
30523
|
addonId: null,
|
|
30347
30524
|
access: "view"
|
|
30348
30525
|
},
|
|
30349
|
-
"pipelineAnalytics.getMediaRelocateStatus": {
|
|
30350
|
-
capName: "pipeline-analytics",
|
|
30351
|
-
capScope: "device",
|
|
30352
|
-
addonId: null,
|
|
30353
|
-
access: "view"
|
|
30354
|
-
},
|
|
30355
30526
|
"pipelineAnalytics.getMotionEvents": {
|
|
30356
30527
|
capName: "pipeline-analytics",
|
|
30357
30528
|
capScope: "device",
|
|
@@ -30388,6 +30559,12 @@ Object.freeze({
|
|
|
30388
30559
|
addonId: null,
|
|
30389
30560
|
access: "view"
|
|
30390
30561
|
},
|
|
30562
|
+
"pipelineAnalytics.getStorageMigrationMoveStatus": {
|
|
30563
|
+
capName: "pipeline-analytics",
|
|
30564
|
+
capScope: "device",
|
|
30565
|
+
addonId: null,
|
|
30566
|
+
access: "view"
|
|
30567
|
+
},
|
|
30391
30568
|
"pipelineAnalytics.getTrack": {
|
|
30392
30569
|
capName: "pipeline-analytics",
|
|
30393
30570
|
capScope: "device",
|
|
@@ -30466,6 +30643,12 @@ Object.freeze({
|
|
|
30466
30643
|
addonId: null,
|
|
30467
30644
|
access: "view"
|
|
30468
30645
|
},
|
|
30646
|
+
"pipelineAnalytics.pauseForStorageMigration": {
|
|
30647
|
+
capName: "pipeline-analytics",
|
|
30648
|
+
capScope: "device",
|
|
30649
|
+
addonId: null,
|
|
30650
|
+
access: "create"
|
|
30651
|
+
},
|
|
30469
30652
|
"pipelineAnalytics.proposeRetrainAnnotations": {
|
|
30470
30653
|
capName: "pipeline-analytics",
|
|
30471
30654
|
capScope: "device",
|
|
@@ -30496,7 +30679,7 @@ Object.freeze({
|
|
|
30496
30679
|
addonId: null,
|
|
30497
30680
|
access: "create"
|
|
30498
30681
|
},
|
|
30499
|
-
"pipelineAnalytics.
|
|
30682
|
+
"pipelineAnalytics.refreshStorageLocationsForMigration": {
|
|
30500
30683
|
capName: "pipeline-analytics",
|
|
30501
30684
|
capScope: "device",
|
|
30502
30685
|
addonId: null,
|
|
@@ -30508,6 +30691,12 @@ Object.freeze({
|
|
|
30508
30691
|
addonId: null,
|
|
30509
30692
|
access: "create"
|
|
30510
30693
|
},
|
|
30694
|
+
"pipelineAnalytics.resumeForStorageMigration": {
|
|
30695
|
+
capName: "pipeline-analytics",
|
|
30696
|
+
capScope: "device",
|
|
30697
|
+
addonId: null,
|
|
30698
|
+
access: "create"
|
|
30699
|
+
},
|
|
30511
30700
|
"pipelineAnalytics.saveRetrainAnnotations": {
|
|
30512
30701
|
capName: "pipeline-analytics",
|
|
30513
30702
|
capScope: "device",
|
|
@@ -30532,6 +30721,12 @@ Object.freeze({
|
|
|
30532
30721
|
addonId: null,
|
|
30533
30722
|
access: "create"
|
|
30534
30723
|
},
|
|
30724
|
+
"pipelineAnalytics.startStorageMigrationMove": {
|
|
30725
|
+
capName: "pipeline-analytics",
|
|
30726
|
+
capScope: "device",
|
|
30727
|
+
addonId: null,
|
|
30728
|
+
access: "create"
|
|
30729
|
+
},
|
|
30535
30730
|
"pipelineAnalytics.wipeAllAnalytics": {
|
|
30536
30731
|
capName: "pipeline-analytics",
|
|
30537
30732
|
capScope: "device",
|
|
@@ -30898,6 +31093,12 @@ Object.freeze({
|
|
|
30898
31093
|
addonId: null,
|
|
30899
31094
|
access: "view"
|
|
30900
31095
|
},
|
|
31096
|
+
"pipelineOrchestrator.pauseForStorageMigration": {
|
|
31097
|
+
capName: "pipeline-orchestrator",
|
|
31098
|
+
capScope: "system",
|
|
31099
|
+
addonId: null,
|
|
31100
|
+
access: "create"
|
|
31101
|
+
},
|
|
30901
31102
|
"pipelineOrchestrator.rebalance": {
|
|
30902
31103
|
capName: "pipeline-orchestrator",
|
|
30903
31104
|
capScope: "system",
|
|
@@ -30922,6 +31123,12 @@ Object.freeze({
|
|
|
30922
31123
|
addonId: null,
|
|
30923
31124
|
access: "view"
|
|
30924
31125
|
},
|
|
31126
|
+
"pipelineOrchestrator.resumeForStorageMigration": {
|
|
31127
|
+
capName: "pipeline-orchestrator",
|
|
31128
|
+
capScope: "system",
|
|
31129
|
+
addonId: null,
|
|
31130
|
+
access: "create"
|
|
31131
|
+
},
|
|
30925
31132
|
"pipelineOrchestrator.saveTemplate": {
|
|
30926
31133
|
capName: "pipeline-orchestrator",
|
|
30927
31134
|
capScope: "system",
|
|
@@ -31318,7 +31525,7 @@ Object.freeze({
|
|
|
31318
31525
|
addonId: null,
|
|
31319
31526
|
access: "create"
|
|
31320
31527
|
},
|
|
31321
|
-
"recording.
|
|
31528
|
+
"recording.cancelStorageMigrationMove": {
|
|
31322
31529
|
capName: "recording",
|
|
31323
31530
|
capScope: "system",
|
|
31324
31531
|
addonId: null,
|
|
@@ -31354,7 +31561,7 @@ Object.freeze({
|
|
|
31354
31561
|
addonId: null,
|
|
31355
31562
|
access: "view"
|
|
31356
31563
|
},
|
|
31357
|
-
"recording.
|
|
31564
|
+
"recording.getStorageMigrationMoveStatus": {
|
|
31358
31565
|
capName: "recording",
|
|
31359
31566
|
capScope: "system",
|
|
31360
31567
|
addonId: null,
|
|
@@ -31378,6 +31585,12 @@ Object.freeze({
|
|
|
31378
31585
|
addonId: null,
|
|
31379
31586
|
access: "view"
|
|
31380
31587
|
},
|
|
31588
|
+
"recording.pauseForStorageMigration": {
|
|
31589
|
+
capName: "recording",
|
|
31590
|
+
capScope: "system",
|
|
31591
|
+
addonId: null,
|
|
31592
|
+
access: "create"
|
|
31593
|
+
},
|
|
31381
31594
|
"recording.pruneFootage": {
|
|
31382
31595
|
capName: "recording",
|
|
31383
31596
|
capScope: "system",
|
|
@@ -31396,7 +31609,7 @@ Object.freeze({
|
|
|
31396
31609
|
addonId: null,
|
|
31397
31610
|
access: "view"
|
|
31398
31611
|
},
|
|
31399
|
-
"recording.
|
|
31612
|
+
"recording.refreshStorageLocationsForMigration": {
|
|
31400
31613
|
capName: "recording",
|
|
31401
31614
|
capScope: "system",
|
|
31402
31615
|
addonId: null,
|
|
@@ -31420,12 +31633,24 @@ Object.freeze({
|
|
|
31420
31633
|
addonId: null,
|
|
31421
31634
|
access: "create"
|
|
31422
31635
|
},
|
|
31636
|
+
"recording.resumeForStorageMigration": {
|
|
31637
|
+
capName: "recording",
|
|
31638
|
+
capScope: "system",
|
|
31639
|
+
addonId: null,
|
|
31640
|
+
access: "create"
|
|
31641
|
+
},
|
|
31423
31642
|
"recording.setDeviceConfig": {
|
|
31424
31643
|
capName: "recording",
|
|
31425
31644
|
capScope: "system",
|
|
31426
31645
|
addonId: null,
|
|
31427
31646
|
access: "create"
|
|
31428
31647
|
},
|
|
31648
|
+
"recording.startStorageMigrationMove": {
|
|
31649
|
+
capName: "recording",
|
|
31650
|
+
capScope: "system",
|
|
31651
|
+
addonId: null,
|
|
31652
|
+
access: "create"
|
|
31653
|
+
},
|
|
31429
31654
|
"recordingExport.cancelExport": {
|
|
31430
31655
|
capName: "recordingExport",
|
|
31431
31656
|
capScope: "system",
|
|
@@ -31816,6 +32041,30 @@ Object.freeze({
|
|
|
31816
32041
|
addonId: null,
|
|
31817
32042
|
access: "view"
|
|
31818
32043
|
},
|
|
32044
|
+
"storageMigration.cancel": {
|
|
32045
|
+
capName: "storage-migration",
|
|
32046
|
+
capScope: "system",
|
|
32047
|
+
addonId: null,
|
|
32048
|
+
access: "create"
|
|
32049
|
+
},
|
|
32050
|
+
"storageMigration.plan": {
|
|
32051
|
+
capName: "storage-migration",
|
|
32052
|
+
capScope: "system",
|
|
32053
|
+
addonId: null,
|
|
32054
|
+
access: "view"
|
|
32055
|
+
},
|
|
32056
|
+
"storageMigration.start": {
|
|
32057
|
+
capName: "storage-migration",
|
|
32058
|
+
capScope: "system",
|
|
32059
|
+
addonId: null,
|
|
32060
|
+
access: "create"
|
|
32061
|
+
},
|
|
32062
|
+
"storageMigration.status": {
|
|
32063
|
+
capName: "storage-migration",
|
|
32064
|
+
capScope: "system",
|
|
32065
|
+
addonId: null,
|
|
32066
|
+
access: "view"
|
|
32067
|
+
},
|
|
31819
32068
|
"storageProvider.abortUpload": {
|
|
31820
32069
|
capName: "storage-provider",
|
|
31821
32070
|
capScope: "system",
|
|
@@ -32194,12 +32443,42 @@ Object.freeze({
|
|
|
32194
32443
|
addonId: null,
|
|
32195
32444
|
access: "create"
|
|
32196
32445
|
},
|
|
32446
|
+
"terminalSession.adoptLegacyMonitor": {
|
|
32447
|
+
capName: "terminal-session",
|
|
32448
|
+
capScope: "system",
|
|
32449
|
+
addonId: null,
|
|
32450
|
+
access: "create"
|
|
32451
|
+
},
|
|
32197
32452
|
"terminalSession.close": {
|
|
32198
32453
|
capName: "terminal-session",
|
|
32199
32454
|
capScope: "system",
|
|
32200
32455
|
addonId: null,
|
|
32201
32456
|
access: "create"
|
|
32202
32457
|
},
|
|
32458
|
+
"terminalSession.createInstance": {
|
|
32459
|
+
capName: "terminal-session",
|
|
32460
|
+
capScope: "system",
|
|
32461
|
+
addonId: null,
|
|
32462
|
+
access: "create"
|
|
32463
|
+
},
|
|
32464
|
+
"terminalSession.deleteInstance": {
|
|
32465
|
+
capName: "terminal-session",
|
|
32466
|
+
capScope: "system",
|
|
32467
|
+
addonId: null,
|
|
32468
|
+
access: "delete"
|
|
32469
|
+
},
|
|
32470
|
+
"terminalSession.listInstances": {
|
|
32471
|
+
capName: "terminal-session",
|
|
32472
|
+
capScope: "system",
|
|
32473
|
+
addonId: null,
|
|
32474
|
+
access: "view"
|
|
32475
|
+
},
|
|
32476
|
+
"terminalSession.listLegacyCameras": {
|
|
32477
|
+
capName: "terminal-session",
|
|
32478
|
+
capScope: "system",
|
|
32479
|
+
addonId: null,
|
|
32480
|
+
access: "view"
|
|
32481
|
+
},
|
|
32203
32482
|
"terminalSession.listProfiles": {
|
|
32204
32483
|
capName: "terminal-session",
|
|
32205
32484
|
capScope: "system",
|
|
@@ -32230,6 +32509,12 @@ Object.freeze({
|
|
|
32230
32509
|
addonId: null,
|
|
32231
32510
|
access: "create"
|
|
32232
32511
|
},
|
|
32512
|
+
"terminalSession.setInstanceEnabled": {
|
|
32513
|
+
capName: "terminal-session",
|
|
32514
|
+
capScope: "system",
|
|
32515
|
+
addonId: null,
|
|
32516
|
+
access: "create"
|
|
32517
|
+
},
|
|
32233
32518
|
"terminalSession.writeInput": {
|
|
32234
32519
|
capName: "terminal-session",
|
|
32235
32520
|
capScope: "system",
|
package/dist/addon.mjs
CHANGED
|
@@ -7564,12 +7564,11 @@ var RecordingConfigSchema = object({
|
|
|
7564
7564
|
/**
|
|
7565
7565
|
* Entity-relocation job state (storage entity-routing spec, Phase 4).
|
|
7566
7566
|
*
|
|
7567
|
-
* One shape shared by the recorder
|
|
7568
|
-
*
|
|
7569
|
-
*
|
|
7570
|
-
*
|
|
7571
|
-
*
|
|
7572
|
-
* row on the owning addon's surface.
|
|
7567
|
+
* One shape shared by the recorder and pipeline-analytics internal movers.
|
|
7568
|
+
* The public admin surface is `storage-migration`; child jobs remain in RAM
|
|
7569
|
+
* because copy-if-absent, verify, delete and index/row repoint are resumable.
|
|
7570
|
+
* Each completed/failed run also lands one durable ops-log row on its owning
|
|
7571
|
+
* addon surface.
|
|
7573
7572
|
*/
|
|
7574
7573
|
var RelocateJobStateSchema = _enum([
|
|
7575
7574
|
"running",
|
|
@@ -7596,19 +7595,100 @@ var RelocateJobSchema = object({
|
|
|
7596
7595
|
finishedAt: number().nullable(),
|
|
7597
7596
|
error: string().nullable()
|
|
7598
7597
|
});
|
|
7598
|
+
/** Profile-derived footage selection used only by the migration coordinator:
|
|
7599
|
+
* `recordings` owns high+mid; `recordingsLow` owns low. */
|
|
7600
|
+
var RelocateFootageClassSchema = _enum(["recordings", "recordingsLow"]);
|
|
7599
7601
|
var RelocateFootageInputSchema = object({
|
|
7600
|
-
deviceId: number().optional(),
|
|
7601
7602
|
fromLocationId: string(),
|
|
7602
7603
|
toLocationId: string(),
|
|
7603
7604
|
entities: array(_enum(["segments"])).optional(),
|
|
7605
|
+
/** Limits relocation to the logical profile class. Omit only for the
|
|
7606
|
+
* pre-orchestration compatibility path. */
|
|
7607
|
+
footageClass: RelocateFootageClassSchema.optional(),
|
|
7604
7608
|
/** Copy throttle in MB/s (default 40) — the drain is a background chore,
|
|
7605
7609
|
* never allowed to starve live writers. */
|
|
7606
7610
|
throttleMbps: number().min(1).max(1e3).optional()
|
|
7607
7611
|
});
|
|
7608
|
-
|
|
7609
|
-
|
|
7612
|
+
/** Internal, lease-scoped participant operation. It is intentionally separate
|
|
7613
|
+
* from persistent recording settings: a migration never changes
|
|
7614
|
+
* `RecordingConfig.enabled` or camera wrapper bindings. */
|
|
7615
|
+
var StorageMigrationLeaseInputSchema = object({ leaseId: string().min(1) });
|
|
7616
|
+
var StorageMigrationFootageMoveInputSchema = RelocateFootageInputSchema.extend({ leaseId: string().min(1) });
|
|
7617
|
+
var StorageMigrationMediaMoveInputSchema = object({
|
|
7610
7618
|
toLocationId: string(),
|
|
7611
7619
|
throttleMbps: number().min(1).max(1e3).optional()
|
|
7620
|
+
}).extend({ leaseId: string().min(1) });
|
|
7621
|
+
/** The independently selectable logical storage classes. `recordings`
|
|
7622
|
+
* encompasses the high and mid segment profiles; `recordingsLow` is low
|
|
7623
|
+
* segments; `eventMedia` is post-analysis blobs. */
|
|
7624
|
+
var StorageMigrationClassSchema = _enum([
|
|
7625
|
+
"recordings",
|
|
7626
|
+
"recordingsLow",
|
|
7627
|
+
"eventMedia"
|
|
7628
|
+
]);
|
|
7629
|
+
/** A destination is always an existing, fully-qualified location id. The
|
|
7630
|
+
* migration API intentionally never changes a source location's `basePath`:
|
|
7631
|
+
* callers create a new `<type>:<slug>` location, then select it here. */
|
|
7632
|
+
var StorageMigrationDestinationsSchema = object({
|
|
7633
|
+
recordings: string().min(1).optional(),
|
|
7634
|
+
recordingsLow: string().min(1).optional(),
|
|
7635
|
+
eventMedia: string().min(1).optional()
|
|
7636
|
+
}).refine((value) => Object.keys(value).length > 0, { message: "select at least one storage class" });
|
|
7637
|
+
/** Shared input for planning and starting an orchestrated storage migration. */
|
|
7638
|
+
var StorageMigrationInputSchema = object({
|
|
7639
|
+
destinations: StorageMigrationDestinationsSchema,
|
|
7640
|
+
throttleMbps: number().min(1).max(1e3).optional()
|
|
7641
|
+
});
|
|
7642
|
+
/** The durable coordinator state machine. The only phase that changes default
|
|
7643
|
+
* locations is `repointing`, after every selected mover has completed and been
|
|
7644
|
+
* verified. */
|
|
7645
|
+
var StorageMigrationPhaseSchema = _enum([
|
|
7646
|
+
"planning",
|
|
7647
|
+
"pausing",
|
|
7648
|
+
"moving",
|
|
7649
|
+
"verifying",
|
|
7650
|
+
"repointing",
|
|
7651
|
+
"refreshing",
|
|
7652
|
+
"resuming",
|
|
7653
|
+
"done",
|
|
7654
|
+
"failed",
|
|
7655
|
+
"cancelled"
|
|
7656
|
+
]);
|
|
7657
|
+
var StorageMigrationParticipantSchema = _enum([
|
|
7658
|
+
"pipeline",
|
|
7659
|
+
"recorder",
|
|
7660
|
+
"analytics"
|
|
7661
|
+
]);
|
|
7662
|
+
var StorageMigrationMoveSchema = object({
|
|
7663
|
+
storageClass: StorageMigrationClassSchema,
|
|
7664
|
+
fromLocationId: string(),
|
|
7665
|
+
toLocationId: string(),
|
|
7666
|
+
moverJobId: string().nullable(),
|
|
7667
|
+
state: RelocateJobStateSchema.nullable(),
|
|
7668
|
+
error: string().nullable()
|
|
7669
|
+
});
|
|
7670
|
+
var StorageMigrationJobSchema = object({
|
|
7671
|
+
jobId: string(),
|
|
7672
|
+
phase: StorageMigrationPhaseSchema,
|
|
7673
|
+
destinations: StorageMigrationDestinationsSchema,
|
|
7674
|
+
throttleMbps: number(),
|
|
7675
|
+
moves: array(StorageMigrationMoveSchema),
|
|
7676
|
+
pauseLeaseId: string().nullable(),
|
|
7677
|
+
pausedParticipants: array(StorageMigrationParticipantSchema),
|
|
7678
|
+
repointed: boolean(),
|
|
7679
|
+
cancelRequested: boolean(),
|
|
7680
|
+
startedAt: number(),
|
|
7681
|
+
updatedAt: number(),
|
|
7682
|
+
finishedAt: number().nullable(),
|
|
7683
|
+
error: string().nullable()
|
|
7684
|
+
});
|
|
7685
|
+
var StorageMigrationPlanSchema = object({
|
|
7686
|
+
destinations: StorageMigrationDestinationsSchema,
|
|
7687
|
+
moves: array(object({
|
|
7688
|
+
storageClass: StorageMigrationClassSchema,
|
|
7689
|
+
fromLocationId: string(),
|
|
7690
|
+
toLocationId: string()
|
|
7691
|
+
}))
|
|
7612
7692
|
});
|
|
7613
7693
|
/**
|
|
7614
7694
|
* `StorageLocationType` — an addon-declared id that identifies the *kind* of
|
|
@@ -16262,13 +16342,19 @@ DeviceType.Camera, method(object({ deviceId: number() }), array(TrackSchema).rea
|
|
|
16262
16342
|
}), method(object({ deviceId: number() }), EventPruneCountsSchema, {
|
|
16263
16343
|
kind: "mutation",
|
|
16264
16344
|
auth: "admin"
|
|
16265
|
-
}), method(
|
|
16345
|
+
}), method(StorageMigrationLeaseInputSchema, object({ paused: literal(true) }), {
|
|
16266
16346
|
kind: "mutation",
|
|
16267
16347
|
auth: "admin"
|
|
16268
|
-
}), method(object({
|
|
16269
|
-
kind: "
|
|
16348
|
+
}), method(StorageMigrationLeaseInputSchema, object({ resumed: literal(true) }), {
|
|
16349
|
+
kind: "mutation",
|
|
16350
|
+
auth: "admin"
|
|
16351
|
+
}), method(StorageMigrationLeaseInputSchema, object({ refreshed: literal(true) }), {
|
|
16352
|
+
kind: "mutation",
|
|
16353
|
+
auth: "admin"
|
|
16354
|
+
}), method(StorageMigrationMediaMoveInputSchema, object({ jobId: string() }), {
|
|
16355
|
+
kind: "mutation",
|
|
16270
16356
|
auth: "admin"
|
|
16271
|
-
}), method(object({ jobId: string() }), object({ cancelled: boolean() }), {
|
|
16357
|
+
}), method(object({ jobId: string() }), RelocateJobSchema.nullable(), { auth: "admin" }), method(object({ jobId: string() }), object({ cancelled: boolean() }), {
|
|
16272
16358
|
kind: "mutation",
|
|
16273
16359
|
auth: "admin"
|
|
16274
16360
|
}), method(OpsLogQueryInputSchema, array(OpsLogEntrySchema).readonly(), {
|
|
@@ -17798,7 +17884,13 @@ var NodeInferenceDevicesSchema = object({
|
|
|
17798
17884
|
reachable: boolean(),
|
|
17799
17885
|
devices: array(NodeInferenceDeviceSchema).readonly()
|
|
17800
17886
|
});
|
|
17801
|
-
method(object({
|
|
17887
|
+
method(StorageMigrationLeaseInputSchema, object({ paused: literal(true) }), {
|
|
17888
|
+
kind: "mutation",
|
|
17889
|
+
auth: "admin"
|
|
17890
|
+
}), method(StorageMigrationLeaseInputSchema, object({ resumed: literal(true) }), {
|
|
17891
|
+
kind: "mutation",
|
|
17892
|
+
auth: "admin"
|
|
17893
|
+
}), method(object({
|
|
17802
17894
|
deviceId: number(),
|
|
17803
17895
|
agentNodeId: string()
|
|
17804
17896
|
}), object({ success: literal(true) }), {
|
|
@@ -18472,6 +18564,13 @@ method(object({ locationId: string() }), EvictableUsageSchema), method(object({
|
|
|
18472
18564
|
locationId: string(),
|
|
18473
18565
|
targetBytes: number().int().positive()
|
|
18474
18566
|
}), EvictResultSchema, { kind: "mutation" });
|
|
18567
|
+
method(StorageMigrationInputSchema, StorageMigrationPlanSchema, { auth: "admin" }), method(StorageMigrationInputSchema, object({ jobId: string() }), {
|
|
18568
|
+
kind: "mutation",
|
|
18569
|
+
auth: "admin"
|
|
18570
|
+
}), method(object({ jobId: string().optional() }), StorageMigrationJobSchema.nullable(), { auth: "admin" }), method(object({ jobId: string() }), object({ cancelled: boolean() }), {
|
|
18571
|
+
kind: "mutation",
|
|
18572
|
+
auth: "admin"
|
|
18573
|
+
});
|
|
18475
18574
|
var ProviderInfoSchema = discriminatedUnion("shouldSaveDiskSpace", [object({
|
|
18476
18575
|
providerId: string().min(1),
|
|
18477
18576
|
displayName: string().min(1),
|
|
@@ -18575,6 +18674,28 @@ var TerminalProfileInfoSchema = object({
|
|
|
18575
18674
|
label: string(),
|
|
18576
18675
|
description: string().optional()
|
|
18577
18676
|
});
|
|
18677
|
+
/**
|
|
18678
|
+
* A durable operator-created Terminal instance. Profiles are templates; only
|
|
18679
|
+
* an instance declares a camera.
|
|
18680
|
+
*/
|
|
18681
|
+
var TerminalInstanceInfoSchema = object({
|
|
18682
|
+
instanceId: string(),
|
|
18683
|
+
cameraStableId: string(),
|
|
18684
|
+
nodeId: string(),
|
|
18685
|
+
profileId: string(),
|
|
18686
|
+
profileLabel: string(),
|
|
18687
|
+
name: string(),
|
|
18688
|
+
enabled: boolean()
|
|
18689
|
+
});
|
|
18690
|
+
var TerminalLegacyCameraSchema = object({
|
|
18691
|
+
stableId: string(),
|
|
18692
|
+
nodeId: string(),
|
|
18693
|
+
profileId: string(),
|
|
18694
|
+
profileLabel: string(),
|
|
18695
|
+
name: string(),
|
|
18696
|
+
/** Only legacy monitor cameras can retain their historic stable identity. */
|
|
18697
|
+
adoptable: boolean()
|
|
18698
|
+
});
|
|
18578
18699
|
var TerminalOutputEventSchema = discriminatedUnion("kind", [object({
|
|
18579
18700
|
seq: number().int().positive(),
|
|
18580
18701
|
kind: literal("data"),
|
|
@@ -18591,7 +18712,29 @@ var TerminalOutputBatchSchema = object({
|
|
|
18591
18712
|
snapshot: string().optional(),
|
|
18592
18713
|
events: array(TerminalOutputEventSchema).readonly()
|
|
18593
18714
|
});
|
|
18594
|
-
method(_void(), array(TerminalProfileInfoSchema).readonly(), { auth: "admin" }), method(_void(), array(
|
|
18715
|
+
method(_void(), array(TerminalProfileInfoSchema).readonly(), { auth: "admin" }), method(_void(), array(TerminalInstanceInfoSchema).readonly(), { auth: "admin" }), method(object({
|
|
18716
|
+
targetNodeId: string().min(1),
|
|
18717
|
+
profileId: string().min(1),
|
|
18718
|
+
name: string().trim().min(1).max(160).optional()
|
|
18719
|
+
}), TerminalInstanceInfoSchema, {
|
|
18720
|
+
kind: "mutation",
|
|
18721
|
+
auth: "admin"
|
|
18722
|
+
}), method(object({ instanceId: string().min(1) }), _void(), {
|
|
18723
|
+
kind: "mutation",
|
|
18724
|
+
auth: "admin"
|
|
18725
|
+
}), method(object({
|
|
18726
|
+
instanceId: string().min(1),
|
|
18727
|
+
enabled: boolean()
|
|
18728
|
+
}), TerminalInstanceInfoSchema, {
|
|
18729
|
+
kind: "mutation",
|
|
18730
|
+
auth: "admin"
|
|
18731
|
+
}), method(_void(), array(TerminalLegacyCameraSchema).readonly(), { auth: "admin" }), method(object({
|
|
18732
|
+
stableId: string().min(1),
|
|
18733
|
+
name: string().trim().min(1).max(160).optional()
|
|
18734
|
+
}), TerminalInstanceInfoSchema, {
|
|
18735
|
+
kind: "mutation",
|
|
18736
|
+
auth: "admin"
|
|
18737
|
+
}), method(_void(), array(TerminalSessionInfoSchema).readonly(), { auth: "admin" }), method(object({
|
|
18595
18738
|
profileId: string(),
|
|
18596
18739
|
cols: number().int().positive(),
|
|
18597
18740
|
rows: number().int().positive()
|
|
@@ -18608,7 +18751,13 @@ method(_void(), array(TerminalProfileInfoSchema).readonly(), { auth: "admin" }),
|
|
|
18608
18751
|
}), method(object({
|
|
18609
18752
|
sessionId: string(),
|
|
18610
18753
|
afterSeq: number().int().nonnegative(),
|
|
18611
|
-
waitMs: number().int().min(0).max(2e3).default(0)
|
|
18754
|
+
waitMs: number().int().min(0).max(2e3).default(0),
|
|
18755
|
+
/**
|
|
18756
|
+
* Wait when a just-opened session has no output yet. Kept opt-in so a
|
|
18757
|
+
* browser's initial repaint remains immediate; the camera snapshot
|
|
18758
|
+
* relay uses it to avoid encoding a blank startup frame.
|
|
18759
|
+
*/
|
|
18760
|
+
waitForOutput: boolean().optional()
|
|
18612
18761
|
}), TerminalOutputBatchSchema, {
|
|
18613
18762
|
kind: "mutation",
|
|
18614
18763
|
auth: "admin",
|
|
@@ -21106,6 +21255,7 @@ var FaceInfoSchema = object({
|
|
|
21106
21255
|
var FaceFilterEnum = _enum([
|
|
21107
21256
|
"unassigned",
|
|
21108
21257
|
"recognized",
|
|
21258
|
+
"identified",
|
|
21109
21259
|
"all"
|
|
21110
21260
|
]);
|
|
21111
21261
|
var MediaFileLiteSchema$1 = object({
|
|
@@ -21134,6 +21284,8 @@ method(_void(), array(IdentitySchema).readonly()), method(object({ name: string(
|
|
|
21134
21284
|
kind: "mutation",
|
|
21135
21285
|
auth: "admin"
|
|
21136
21286
|
}), method(object({
|
|
21287
|
+
/** Restrict to one camera. Absent keeps the cluster-wide gallery view. */
|
|
21288
|
+
deviceId: number().int().optional(),
|
|
21137
21289
|
limit: number().int().positive().optional(),
|
|
21138
21290
|
filter: FaceFilterEnum.optional(),
|
|
21139
21291
|
/**
|
|
@@ -23363,6 +23515,10 @@ var OsdSourceSchema = discriminatedUnion("kind", [
|
|
|
23363
23515
|
capName: string().min(1).max(64),
|
|
23364
23516
|
/** Dot path inside the slice, e.g. `detected`, `value`, `mode`. */
|
|
23365
23517
|
valuePath: string().min(1).max(64)
|
|
23518
|
+
}),
|
|
23519
|
+
object({
|
|
23520
|
+
kind: literal("latest-recognition"),
|
|
23521
|
+
recognition: _enum(["person", "plate"])
|
|
23366
23522
|
})
|
|
23367
23523
|
]);
|
|
23368
23524
|
var OsdSlotBindingSchema = object({
|
|
@@ -23468,6 +23624,15 @@ method(object({ deviceId: number().int() }), object({
|
|
|
23468
23624
|
}), object({ success: literal(true) }), {
|
|
23469
23625
|
kind: "mutation",
|
|
23470
23626
|
auth: "admin"
|
|
23627
|
+
}), method(object({
|
|
23628
|
+
sourceDeviceId: number().int(),
|
|
23629
|
+
targetDeviceId: number().int()
|
|
23630
|
+
}), object({
|
|
23631
|
+
copied: number().int().nonnegative(),
|
|
23632
|
+
skipped: number().int().nonnegative()
|
|
23633
|
+
}), {
|
|
23634
|
+
kind: "mutation",
|
|
23635
|
+
auth: "admin"
|
|
23471
23636
|
}), method(object({
|
|
23472
23637
|
deviceId: number().int(),
|
|
23473
23638
|
slotId: string().min(1),
|
|
@@ -24565,13 +24730,19 @@ method(object({
|
|
|
24565
24730
|
}), {
|
|
24566
24731
|
kind: "mutation",
|
|
24567
24732
|
auth: "admin"
|
|
24568
|
-
}), method(
|
|
24733
|
+
}), method(StorageMigrationLeaseInputSchema, object({ paused: literal(true) }), {
|
|
24569
24734
|
kind: "mutation",
|
|
24570
24735
|
auth: "admin"
|
|
24571
|
-
}), method(object({
|
|
24572
|
-
kind: "
|
|
24736
|
+
}), method(StorageMigrationLeaseInputSchema, object({ resumed: literal(true) }), {
|
|
24737
|
+
kind: "mutation",
|
|
24573
24738
|
auth: "admin"
|
|
24574
|
-
}), method(
|
|
24739
|
+
}), method(StorageMigrationLeaseInputSchema, object({ refreshed: literal(true) }), {
|
|
24740
|
+
kind: "mutation",
|
|
24741
|
+
auth: "admin"
|
|
24742
|
+
}), method(StorageMigrationFootageMoveInputSchema, object({ jobId: string() }), {
|
|
24743
|
+
kind: "mutation",
|
|
24744
|
+
auth: "admin"
|
|
24745
|
+
}), method(object({ jobId: string() }), RelocateJobSchema.nullable(), { auth: "admin" }), method(object({ jobId: string() }), object({ cancelled: boolean() }), {
|
|
24575
24746
|
kind: "mutation",
|
|
24576
24747
|
auth: "admin"
|
|
24577
24748
|
});
|
|
@@ -30177,6 +30348,12 @@ Object.freeze({
|
|
|
30177
30348
|
addonId: null,
|
|
30178
30349
|
access: "delete"
|
|
30179
30350
|
},
|
|
30351
|
+
"osdManager.copyDeviceConfiguration": {
|
|
30352
|
+
capName: "osd-manager",
|
|
30353
|
+
capScope: "system",
|
|
30354
|
+
addonId: null,
|
|
30355
|
+
access: "create"
|
|
30356
|
+
},
|
|
30180
30357
|
"osdManager.getConditionSupport": {
|
|
30181
30358
|
capName: "osd-manager",
|
|
30182
30359
|
capScope: "system",
|
|
@@ -30273,7 +30450,7 @@ Object.freeze({
|
|
|
30273
30450
|
addonId: null,
|
|
30274
30451
|
access: "create"
|
|
30275
30452
|
},
|
|
30276
|
-
"pipelineAnalytics.
|
|
30453
|
+
"pipelineAnalytics.cancelStorageMigrationMove": {
|
|
30277
30454
|
capName: "pipeline-analytics",
|
|
30278
30455
|
capScope: "device",
|
|
30279
30456
|
addonId: null,
|
|
@@ -30345,12 +30522,6 @@ Object.freeze({
|
|
|
30345
30522
|
addonId: null,
|
|
30346
30523
|
access: "view"
|
|
30347
30524
|
},
|
|
30348
|
-
"pipelineAnalytics.getMediaRelocateStatus": {
|
|
30349
|
-
capName: "pipeline-analytics",
|
|
30350
|
-
capScope: "device",
|
|
30351
|
-
addonId: null,
|
|
30352
|
-
access: "view"
|
|
30353
|
-
},
|
|
30354
30525
|
"pipelineAnalytics.getMotionEvents": {
|
|
30355
30526
|
capName: "pipeline-analytics",
|
|
30356
30527
|
capScope: "device",
|
|
@@ -30387,6 +30558,12 @@ Object.freeze({
|
|
|
30387
30558
|
addonId: null,
|
|
30388
30559
|
access: "view"
|
|
30389
30560
|
},
|
|
30561
|
+
"pipelineAnalytics.getStorageMigrationMoveStatus": {
|
|
30562
|
+
capName: "pipeline-analytics",
|
|
30563
|
+
capScope: "device",
|
|
30564
|
+
addonId: null,
|
|
30565
|
+
access: "view"
|
|
30566
|
+
},
|
|
30390
30567
|
"pipelineAnalytics.getTrack": {
|
|
30391
30568
|
capName: "pipeline-analytics",
|
|
30392
30569
|
capScope: "device",
|
|
@@ -30465,6 +30642,12 @@ Object.freeze({
|
|
|
30465
30642
|
addonId: null,
|
|
30466
30643
|
access: "view"
|
|
30467
30644
|
},
|
|
30645
|
+
"pipelineAnalytics.pauseForStorageMigration": {
|
|
30646
|
+
capName: "pipeline-analytics",
|
|
30647
|
+
capScope: "device",
|
|
30648
|
+
addonId: null,
|
|
30649
|
+
access: "create"
|
|
30650
|
+
},
|
|
30468
30651
|
"pipelineAnalytics.proposeRetrainAnnotations": {
|
|
30469
30652
|
capName: "pipeline-analytics",
|
|
30470
30653
|
capScope: "device",
|
|
@@ -30495,7 +30678,7 @@ Object.freeze({
|
|
|
30495
30678
|
addonId: null,
|
|
30496
30679
|
access: "create"
|
|
30497
30680
|
},
|
|
30498
|
-
"pipelineAnalytics.
|
|
30681
|
+
"pipelineAnalytics.refreshStorageLocationsForMigration": {
|
|
30499
30682
|
capName: "pipeline-analytics",
|
|
30500
30683
|
capScope: "device",
|
|
30501
30684
|
addonId: null,
|
|
@@ -30507,6 +30690,12 @@ Object.freeze({
|
|
|
30507
30690
|
addonId: null,
|
|
30508
30691
|
access: "create"
|
|
30509
30692
|
},
|
|
30693
|
+
"pipelineAnalytics.resumeForStorageMigration": {
|
|
30694
|
+
capName: "pipeline-analytics",
|
|
30695
|
+
capScope: "device",
|
|
30696
|
+
addonId: null,
|
|
30697
|
+
access: "create"
|
|
30698
|
+
},
|
|
30510
30699
|
"pipelineAnalytics.saveRetrainAnnotations": {
|
|
30511
30700
|
capName: "pipeline-analytics",
|
|
30512
30701
|
capScope: "device",
|
|
@@ -30531,6 +30720,12 @@ Object.freeze({
|
|
|
30531
30720
|
addonId: null,
|
|
30532
30721
|
access: "create"
|
|
30533
30722
|
},
|
|
30723
|
+
"pipelineAnalytics.startStorageMigrationMove": {
|
|
30724
|
+
capName: "pipeline-analytics",
|
|
30725
|
+
capScope: "device",
|
|
30726
|
+
addonId: null,
|
|
30727
|
+
access: "create"
|
|
30728
|
+
},
|
|
30534
30729
|
"pipelineAnalytics.wipeAllAnalytics": {
|
|
30535
30730
|
capName: "pipeline-analytics",
|
|
30536
30731
|
capScope: "device",
|
|
@@ -30897,6 +31092,12 @@ Object.freeze({
|
|
|
30897
31092
|
addonId: null,
|
|
30898
31093
|
access: "view"
|
|
30899
31094
|
},
|
|
31095
|
+
"pipelineOrchestrator.pauseForStorageMigration": {
|
|
31096
|
+
capName: "pipeline-orchestrator",
|
|
31097
|
+
capScope: "system",
|
|
31098
|
+
addonId: null,
|
|
31099
|
+
access: "create"
|
|
31100
|
+
},
|
|
30900
31101
|
"pipelineOrchestrator.rebalance": {
|
|
30901
31102
|
capName: "pipeline-orchestrator",
|
|
30902
31103
|
capScope: "system",
|
|
@@ -30921,6 +31122,12 @@ Object.freeze({
|
|
|
30921
31122
|
addonId: null,
|
|
30922
31123
|
access: "view"
|
|
30923
31124
|
},
|
|
31125
|
+
"pipelineOrchestrator.resumeForStorageMigration": {
|
|
31126
|
+
capName: "pipeline-orchestrator",
|
|
31127
|
+
capScope: "system",
|
|
31128
|
+
addonId: null,
|
|
31129
|
+
access: "create"
|
|
31130
|
+
},
|
|
30924
31131
|
"pipelineOrchestrator.saveTemplate": {
|
|
30925
31132
|
capName: "pipeline-orchestrator",
|
|
30926
31133
|
capScope: "system",
|
|
@@ -31317,7 +31524,7 @@ Object.freeze({
|
|
|
31317
31524
|
addonId: null,
|
|
31318
31525
|
access: "create"
|
|
31319
31526
|
},
|
|
31320
|
-
"recording.
|
|
31527
|
+
"recording.cancelStorageMigrationMove": {
|
|
31321
31528
|
capName: "recording",
|
|
31322
31529
|
capScope: "system",
|
|
31323
31530
|
addonId: null,
|
|
@@ -31353,7 +31560,7 @@ Object.freeze({
|
|
|
31353
31560
|
addonId: null,
|
|
31354
31561
|
access: "view"
|
|
31355
31562
|
},
|
|
31356
|
-
"recording.
|
|
31563
|
+
"recording.getStorageMigrationMoveStatus": {
|
|
31357
31564
|
capName: "recording",
|
|
31358
31565
|
capScope: "system",
|
|
31359
31566
|
addonId: null,
|
|
@@ -31377,6 +31584,12 @@ Object.freeze({
|
|
|
31377
31584
|
addonId: null,
|
|
31378
31585
|
access: "view"
|
|
31379
31586
|
},
|
|
31587
|
+
"recording.pauseForStorageMigration": {
|
|
31588
|
+
capName: "recording",
|
|
31589
|
+
capScope: "system",
|
|
31590
|
+
addonId: null,
|
|
31591
|
+
access: "create"
|
|
31592
|
+
},
|
|
31380
31593
|
"recording.pruneFootage": {
|
|
31381
31594
|
capName: "recording",
|
|
31382
31595
|
capScope: "system",
|
|
@@ -31395,7 +31608,7 @@ Object.freeze({
|
|
|
31395
31608
|
addonId: null,
|
|
31396
31609
|
access: "view"
|
|
31397
31610
|
},
|
|
31398
|
-
"recording.
|
|
31611
|
+
"recording.refreshStorageLocationsForMigration": {
|
|
31399
31612
|
capName: "recording",
|
|
31400
31613
|
capScope: "system",
|
|
31401
31614
|
addonId: null,
|
|
@@ -31419,12 +31632,24 @@ Object.freeze({
|
|
|
31419
31632
|
addonId: null,
|
|
31420
31633
|
access: "create"
|
|
31421
31634
|
},
|
|
31635
|
+
"recording.resumeForStorageMigration": {
|
|
31636
|
+
capName: "recording",
|
|
31637
|
+
capScope: "system",
|
|
31638
|
+
addonId: null,
|
|
31639
|
+
access: "create"
|
|
31640
|
+
},
|
|
31422
31641
|
"recording.setDeviceConfig": {
|
|
31423
31642
|
capName: "recording",
|
|
31424
31643
|
capScope: "system",
|
|
31425
31644
|
addonId: null,
|
|
31426
31645
|
access: "create"
|
|
31427
31646
|
},
|
|
31647
|
+
"recording.startStorageMigrationMove": {
|
|
31648
|
+
capName: "recording",
|
|
31649
|
+
capScope: "system",
|
|
31650
|
+
addonId: null,
|
|
31651
|
+
access: "create"
|
|
31652
|
+
},
|
|
31428
31653
|
"recordingExport.cancelExport": {
|
|
31429
31654
|
capName: "recordingExport",
|
|
31430
31655
|
capScope: "system",
|
|
@@ -31815,6 +32040,30 @@ Object.freeze({
|
|
|
31815
32040
|
addonId: null,
|
|
31816
32041
|
access: "view"
|
|
31817
32042
|
},
|
|
32043
|
+
"storageMigration.cancel": {
|
|
32044
|
+
capName: "storage-migration",
|
|
32045
|
+
capScope: "system",
|
|
32046
|
+
addonId: null,
|
|
32047
|
+
access: "create"
|
|
32048
|
+
},
|
|
32049
|
+
"storageMigration.plan": {
|
|
32050
|
+
capName: "storage-migration",
|
|
32051
|
+
capScope: "system",
|
|
32052
|
+
addonId: null,
|
|
32053
|
+
access: "view"
|
|
32054
|
+
},
|
|
32055
|
+
"storageMigration.start": {
|
|
32056
|
+
capName: "storage-migration",
|
|
32057
|
+
capScope: "system",
|
|
32058
|
+
addonId: null,
|
|
32059
|
+
access: "create"
|
|
32060
|
+
},
|
|
32061
|
+
"storageMigration.status": {
|
|
32062
|
+
capName: "storage-migration",
|
|
32063
|
+
capScope: "system",
|
|
32064
|
+
addonId: null,
|
|
32065
|
+
access: "view"
|
|
32066
|
+
},
|
|
31818
32067
|
"storageProvider.abortUpload": {
|
|
31819
32068
|
capName: "storage-provider",
|
|
31820
32069
|
capScope: "system",
|
|
@@ -32193,12 +32442,42 @@ Object.freeze({
|
|
|
32193
32442
|
addonId: null,
|
|
32194
32443
|
access: "create"
|
|
32195
32444
|
},
|
|
32445
|
+
"terminalSession.adoptLegacyMonitor": {
|
|
32446
|
+
capName: "terminal-session",
|
|
32447
|
+
capScope: "system",
|
|
32448
|
+
addonId: null,
|
|
32449
|
+
access: "create"
|
|
32450
|
+
},
|
|
32196
32451
|
"terminalSession.close": {
|
|
32197
32452
|
capName: "terminal-session",
|
|
32198
32453
|
capScope: "system",
|
|
32199
32454
|
addonId: null,
|
|
32200
32455
|
access: "create"
|
|
32201
32456
|
},
|
|
32457
|
+
"terminalSession.createInstance": {
|
|
32458
|
+
capName: "terminal-session",
|
|
32459
|
+
capScope: "system",
|
|
32460
|
+
addonId: null,
|
|
32461
|
+
access: "create"
|
|
32462
|
+
},
|
|
32463
|
+
"terminalSession.deleteInstance": {
|
|
32464
|
+
capName: "terminal-session",
|
|
32465
|
+
capScope: "system",
|
|
32466
|
+
addonId: null,
|
|
32467
|
+
access: "delete"
|
|
32468
|
+
},
|
|
32469
|
+
"terminalSession.listInstances": {
|
|
32470
|
+
capName: "terminal-session",
|
|
32471
|
+
capScope: "system",
|
|
32472
|
+
addonId: null,
|
|
32473
|
+
access: "view"
|
|
32474
|
+
},
|
|
32475
|
+
"terminalSession.listLegacyCameras": {
|
|
32476
|
+
capName: "terminal-session",
|
|
32477
|
+
capScope: "system",
|
|
32478
|
+
addonId: null,
|
|
32479
|
+
access: "view"
|
|
32480
|
+
},
|
|
32202
32481
|
"terminalSession.listProfiles": {
|
|
32203
32482
|
capName: "terminal-session",
|
|
32204
32483
|
capScope: "system",
|
|
@@ -32229,6 +32508,12 @@ Object.freeze({
|
|
|
32229
32508
|
addonId: null,
|
|
32230
32509
|
access: "create"
|
|
32231
32510
|
},
|
|
32511
|
+
"terminalSession.setInstanceEnabled": {
|
|
32512
|
+
capName: "terminal-session",
|
|
32513
|
+
capScope: "system",
|
|
32514
|
+
addonId: null,
|
|
32515
|
+
access: "create"
|
|
32516
|
+
},
|
|
32232
32517
|
"terminalSession.writeInput": {
|
|
32233
32518
|
capName: "terminal-session",
|
|
32234
32519
|
capScope: "system",
|
package/package.json
CHANGED