@camstack/addon-provider-velux 0.2.11 → 0.2.13
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/addon.js +357 -30
- package/dist/addon.mjs +357 -30
- package/package.json +1 -1
package/dist/addon.js
CHANGED
|
@@ -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",
|
|
16271
16351
|
auth: "admin"
|
|
16272
|
-
}), method(
|
|
16352
|
+
}), method(StorageMigrationLeaseInputSchema, object({ refreshed: literal(true) }), {
|
|
16353
|
+
kind: "mutation",
|
|
16354
|
+
auth: "admin"
|
|
16355
|
+
}), method(StorageMigrationMediaMoveInputSchema, object({ jobId: string() }), {
|
|
16356
|
+
kind: "mutation",
|
|
16357
|
+
auth: "admin"
|
|
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,7 +18675,67 @@ var TerminalProfileInfoSchema = object({
|
|
|
18576
18675
|
label: string(),
|
|
18577
18676
|
description: string().optional()
|
|
18578
18677
|
});
|
|
18579
|
-
|
|
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
|
+
});
|
|
18700
|
+
var TerminalOutputEventSchema = discriminatedUnion("kind", [object({
|
|
18701
|
+
seq: number().int().positive(),
|
|
18702
|
+
kind: literal("data"),
|
|
18703
|
+
data: string()
|
|
18704
|
+
}), object({
|
|
18705
|
+
seq: number().int().positive(),
|
|
18706
|
+
kind: literal("exit"),
|
|
18707
|
+
exitCode: number().int(),
|
|
18708
|
+
signal: number().int().optional()
|
|
18709
|
+
})]);
|
|
18710
|
+
var TerminalOutputBatchSchema = object({
|
|
18711
|
+
cursor: number().int().nonnegative(),
|
|
18712
|
+
reset: boolean(),
|
|
18713
|
+
snapshot: string().optional(),
|
|
18714
|
+
events: array(TerminalOutputEventSchema).readonly()
|
|
18715
|
+
});
|
|
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({
|
|
18580
18739
|
profileId: string(),
|
|
18581
18740
|
cols: number().int().positive(),
|
|
18582
18741
|
rows: number().int().positive()
|
|
@@ -18590,6 +18749,26 @@ method(_void(), array(TerminalProfileInfoSchema).readonly(), { auth: "admin" }),
|
|
|
18590
18749
|
}), _void(), {
|
|
18591
18750
|
kind: "mutation",
|
|
18592
18751
|
auth: "admin"
|
|
18752
|
+
}), method(object({
|
|
18753
|
+
sessionId: string(),
|
|
18754
|
+
afterSeq: number().int().nonnegative(),
|
|
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()
|
|
18762
|
+
}), TerminalOutputBatchSchema, {
|
|
18763
|
+
kind: "mutation",
|
|
18764
|
+
auth: "admin",
|
|
18765
|
+
timeoutMs: 15e3
|
|
18766
|
+
}), method(object({
|
|
18767
|
+
sessionId: string(),
|
|
18768
|
+
data: string().max(64 * 1024)
|
|
18769
|
+
}), _void(), {
|
|
18770
|
+
kind: "mutation",
|
|
18771
|
+
auth: "admin"
|
|
18593
18772
|
}), method(object({ sessionId: string() }), _void(), {
|
|
18594
18773
|
kind: "mutation",
|
|
18595
18774
|
auth: "admin"
|
|
@@ -21077,6 +21256,7 @@ var FaceInfoSchema = object({
|
|
|
21077
21256
|
var FaceFilterEnum = _enum([
|
|
21078
21257
|
"unassigned",
|
|
21079
21258
|
"recognized",
|
|
21259
|
+
"identified",
|
|
21080
21260
|
"all"
|
|
21081
21261
|
]);
|
|
21082
21262
|
var MediaFileLiteSchema$1 = object({
|
|
@@ -21105,6 +21285,8 @@ method(_void(), array(IdentitySchema).readonly()), method(object({ name: string(
|
|
|
21105
21285
|
kind: "mutation",
|
|
21106
21286
|
auth: "admin"
|
|
21107
21287
|
}), method(object({
|
|
21288
|
+
/** Restrict to one camera. Absent keeps the cluster-wide gallery view. */
|
|
21289
|
+
deviceId: number().int().optional(),
|
|
21108
21290
|
limit: number().int().positive().optional(),
|
|
21109
21291
|
filter: FaceFilterEnum.optional(),
|
|
21110
21292
|
/**
|
|
@@ -23334,6 +23516,10 @@ var OsdSourceSchema = discriminatedUnion("kind", [
|
|
|
23334
23516
|
capName: string().min(1).max(64),
|
|
23335
23517
|
/** Dot path inside the slice, e.g. `detected`, `value`, `mode`. */
|
|
23336
23518
|
valuePath: string().min(1).max(64)
|
|
23519
|
+
}),
|
|
23520
|
+
object({
|
|
23521
|
+
kind: literal("latest-recognition"),
|
|
23522
|
+
recognition: _enum(["person", "plate"])
|
|
23337
23523
|
})
|
|
23338
23524
|
]);
|
|
23339
23525
|
var OsdSlotBindingSchema = object({
|
|
@@ -23439,6 +23625,15 @@ method(object({ deviceId: number().int() }), object({
|
|
|
23439
23625
|
}), object({ success: literal(true) }), {
|
|
23440
23626
|
kind: "mutation",
|
|
23441
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"
|
|
23442
23637
|
}), method(object({
|
|
23443
23638
|
deviceId: number().int(),
|
|
23444
23639
|
slotId: string().min(1),
|
|
@@ -24536,13 +24731,19 @@ method(object({
|
|
|
24536
24731
|
}), {
|
|
24537
24732
|
kind: "mutation",
|
|
24538
24733
|
auth: "admin"
|
|
24539
|
-
}), method(
|
|
24734
|
+
}), method(StorageMigrationLeaseInputSchema, object({ paused: literal(true) }), {
|
|
24540
24735
|
kind: "mutation",
|
|
24541
24736
|
auth: "admin"
|
|
24542
|
-
}), method(object({
|
|
24543
|
-
kind: "
|
|
24737
|
+
}), method(StorageMigrationLeaseInputSchema, object({ resumed: literal(true) }), {
|
|
24738
|
+
kind: "mutation",
|
|
24544
24739
|
auth: "admin"
|
|
24545
|
-
}), 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() }), {
|
|
24546
24747
|
kind: "mutation",
|
|
24547
24748
|
auth: "admin"
|
|
24548
24749
|
});
|
|
@@ -30148,6 +30349,12 @@ Object.freeze({
|
|
|
30148
30349
|
addonId: null,
|
|
30149
30350
|
access: "delete"
|
|
30150
30351
|
},
|
|
30352
|
+
"osdManager.copyDeviceConfiguration": {
|
|
30353
|
+
capName: "osd-manager",
|
|
30354
|
+
capScope: "system",
|
|
30355
|
+
addonId: null,
|
|
30356
|
+
access: "create"
|
|
30357
|
+
},
|
|
30151
30358
|
"osdManager.getConditionSupport": {
|
|
30152
30359
|
capName: "osd-manager",
|
|
30153
30360
|
capScope: "system",
|
|
@@ -30244,7 +30451,7 @@ Object.freeze({
|
|
|
30244
30451
|
addonId: null,
|
|
30245
30452
|
access: "create"
|
|
30246
30453
|
},
|
|
30247
|
-
"pipelineAnalytics.
|
|
30454
|
+
"pipelineAnalytics.cancelStorageMigrationMove": {
|
|
30248
30455
|
capName: "pipeline-analytics",
|
|
30249
30456
|
capScope: "device",
|
|
30250
30457
|
addonId: null,
|
|
@@ -30316,12 +30523,6 @@ Object.freeze({
|
|
|
30316
30523
|
addonId: null,
|
|
30317
30524
|
access: "view"
|
|
30318
30525
|
},
|
|
30319
|
-
"pipelineAnalytics.getMediaRelocateStatus": {
|
|
30320
|
-
capName: "pipeline-analytics",
|
|
30321
|
-
capScope: "device",
|
|
30322
|
-
addonId: null,
|
|
30323
|
-
access: "view"
|
|
30324
|
-
},
|
|
30325
30526
|
"pipelineAnalytics.getMotionEvents": {
|
|
30326
30527
|
capName: "pipeline-analytics",
|
|
30327
30528
|
capScope: "device",
|
|
@@ -30358,6 +30559,12 @@ Object.freeze({
|
|
|
30358
30559
|
addonId: null,
|
|
30359
30560
|
access: "view"
|
|
30360
30561
|
},
|
|
30562
|
+
"pipelineAnalytics.getStorageMigrationMoveStatus": {
|
|
30563
|
+
capName: "pipeline-analytics",
|
|
30564
|
+
capScope: "device",
|
|
30565
|
+
addonId: null,
|
|
30566
|
+
access: "view"
|
|
30567
|
+
},
|
|
30361
30568
|
"pipelineAnalytics.getTrack": {
|
|
30362
30569
|
capName: "pipeline-analytics",
|
|
30363
30570
|
capScope: "device",
|
|
@@ -30436,6 +30643,12 @@ Object.freeze({
|
|
|
30436
30643
|
addonId: null,
|
|
30437
30644
|
access: "view"
|
|
30438
30645
|
},
|
|
30646
|
+
"pipelineAnalytics.pauseForStorageMigration": {
|
|
30647
|
+
capName: "pipeline-analytics",
|
|
30648
|
+
capScope: "device",
|
|
30649
|
+
addonId: null,
|
|
30650
|
+
access: "create"
|
|
30651
|
+
},
|
|
30439
30652
|
"pipelineAnalytics.proposeRetrainAnnotations": {
|
|
30440
30653
|
capName: "pipeline-analytics",
|
|
30441
30654
|
capScope: "device",
|
|
@@ -30466,7 +30679,7 @@ Object.freeze({
|
|
|
30466
30679
|
addonId: null,
|
|
30467
30680
|
access: "create"
|
|
30468
30681
|
},
|
|
30469
|
-
"pipelineAnalytics.
|
|
30682
|
+
"pipelineAnalytics.refreshStorageLocationsForMigration": {
|
|
30470
30683
|
capName: "pipeline-analytics",
|
|
30471
30684
|
capScope: "device",
|
|
30472
30685
|
addonId: null,
|
|
@@ -30478,6 +30691,12 @@ Object.freeze({
|
|
|
30478
30691
|
addonId: null,
|
|
30479
30692
|
access: "create"
|
|
30480
30693
|
},
|
|
30694
|
+
"pipelineAnalytics.resumeForStorageMigration": {
|
|
30695
|
+
capName: "pipeline-analytics",
|
|
30696
|
+
capScope: "device",
|
|
30697
|
+
addonId: null,
|
|
30698
|
+
access: "create"
|
|
30699
|
+
},
|
|
30481
30700
|
"pipelineAnalytics.saveRetrainAnnotations": {
|
|
30482
30701
|
capName: "pipeline-analytics",
|
|
30483
30702
|
capScope: "device",
|
|
@@ -30502,6 +30721,12 @@ Object.freeze({
|
|
|
30502
30721
|
addonId: null,
|
|
30503
30722
|
access: "create"
|
|
30504
30723
|
},
|
|
30724
|
+
"pipelineAnalytics.startStorageMigrationMove": {
|
|
30725
|
+
capName: "pipeline-analytics",
|
|
30726
|
+
capScope: "device",
|
|
30727
|
+
addonId: null,
|
|
30728
|
+
access: "create"
|
|
30729
|
+
},
|
|
30505
30730
|
"pipelineAnalytics.wipeAllAnalytics": {
|
|
30506
30731
|
capName: "pipeline-analytics",
|
|
30507
30732
|
capScope: "device",
|
|
@@ -30868,6 +31093,12 @@ Object.freeze({
|
|
|
30868
31093
|
addonId: null,
|
|
30869
31094
|
access: "view"
|
|
30870
31095
|
},
|
|
31096
|
+
"pipelineOrchestrator.pauseForStorageMigration": {
|
|
31097
|
+
capName: "pipeline-orchestrator",
|
|
31098
|
+
capScope: "system",
|
|
31099
|
+
addonId: null,
|
|
31100
|
+
access: "create"
|
|
31101
|
+
},
|
|
30871
31102
|
"pipelineOrchestrator.rebalance": {
|
|
30872
31103
|
capName: "pipeline-orchestrator",
|
|
30873
31104
|
capScope: "system",
|
|
@@ -30892,6 +31123,12 @@ Object.freeze({
|
|
|
30892
31123
|
addonId: null,
|
|
30893
31124
|
access: "view"
|
|
30894
31125
|
},
|
|
31126
|
+
"pipelineOrchestrator.resumeForStorageMigration": {
|
|
31127
|
+
capName: "pipeline-orchestrator",
|
|
31128
|
+
capScope: "system",
|
|
31129
|
+
addonId: null,
|
|
31130
|
+
access: "create"
|
|
31131
|
+
},
|
|
30895
31132
|
"pipelineOrchestrator.saveTemplate": {
|
|
30896
31133
|
capName: "pipeline-orchestrator",
|
|
30897
31134
|
capScope: "system",
|
|
@@ -31288,7 +31525,7 @@ Object.freeze({
|
|
|
31288
31525
|
addonId: null,
|
|
31289
31526
|
access: "create"
|
|
31290
31527
|
},
|
|
31291
|
-
"recording.
|
|
31528
|
+
"recording.cancelStorageMigrationMove": {
|
|
31292
31529
|
capName: "recording",
|
|
31293
31530
|
capScope: "system",
|
|
31294
31531
|
addonId: null,
|
|
@@ -31324,7 +31561,7 @@ Object.freeze({
|
|
|
31324
31561
|
addonId: null,
|
|
31325
31562
|
access: "view"
|
|
31326
31563
|
},
|
|
31327
|
-
"recording.
|
|
31564
|
+
"recording.getStorageMigrationMoveStatus": {
|
|
31328
31565
|
capName: "recording",
|
|
31329
31566
|
capScope: "system",
|
|
31330
31567
|
addonId: null,
|
|
@@ -31348,6 +31585,12 @@ Object.freeze({
|
|
|
31348
31585
|
addonId: null,
|
|
31349
31586
|
access: "view"
|
|
31350
31587
|
},
|
|
31588
|
+
"recording.pauseForStorageMigration": {
|
|
31589
|
+
capName: "recording",
|
|
31590
|
+
capScope: "system",
|
|
31591
|
+
addonId: null,
|
|
31592
|
+
access: "create"
|
|
31593
|
+
},
|
|
31351
31594
|
"recording.pruneFootage": {
|
|
31352
31595
|
capName: "recording",
|
|
31353
31596
|
capScope: "system",
|
|
@@ -31366,7 +31609,7 @@ Object.freeze({
|
|
|
31366
31609
|
addonId: null,
|
|
31367
31610
|
access: "view"
|
|
31368
31611
|
},
|
|
31369
|
-
"recording.
|
|
31612
|
+
"recording.refreshStorageLocationsForMigration": {
|
|
31370
31613
|
capName: "recording",
|
|
31371
31614
|
capScope: "system",
|
|
31372
31615
|
addonId: null,
|
|
@@ -31390,12 +31633,24 @@ Object.freeze({
|
|
|
31390
31633
|
addonId: null,
|
|
31391
31634
|
access: "create"
|
|
31392
31635
|
},
|
|
31636
|
+
"recording.resumeForStorageMigration": {
|
|
31637
|
+
capName: "recording",
|
|
31638
|
+
capScope: "system",
|
|
31639
|
+
addonId: null,
|
|
31640
|
+
access: "create"
|
|
31641
|
+
},
|
|
31393
31642
|
"recording.setDeviceConfig": {
|
|
31394
31643
|
capName: "recording",
|
|
31395
31644
|
capScope: "system",
|
|
31396
31645
|
addonId: null,
|
|
31397
31646
|
access: "create"
|
|
31398
31647
|
},
|
|
31648
|
+
"recording.startStorageMigrationMove": {
|
|
31649
|
+
capName: "recording",
|
|
31650
|
+
capScope: "system",
|
|
31651
|
+
addonId: null,
|
|
31652
|
+
access: "create"
|
|
31653
|
+
},
|
|
31399
31654
|
"recordingExport.cancelExport": {
|
|
31400
31655
|
capName: "recordingExport",
|
|
31401
31656
|
capScope: "system",
|
|
@@ -31786,6 +32041,30 @@ Object.freeze({
|
|
|
31786
32041
|
addonId: null,
|
|
31787
32042
|
access: "view"
|
|
31788
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
|
+
},
|
|
31789
32068
|
"storageProvider.abortUpload": {
|
|
31790
32069
|
capName: "storage-provider",
|
|
31791
32070
|
capScope: "system",
|
|
@@ -32164,12 +32443,42 @@ Object.freeze({
|
|
|
32164
32443
|
addonId: null,
|
|
32165
32444
|
access: "create"
|
|
32166
32445
|
},
|
|
32446
|
+
"terminalSession.adoptLegacyMonitor": {
|
|
32447
|
+
capName: "terminal-session",
|
|
32448
|
+
capScope: "system",
|
|
32449
|
+
addonId: null,
|
|
32450
|
+
access: "create"
|
|
32451
|
+
},
|
|
32167
32452
|
"terminalSession.close": {
|
|
32168
32453
|
capName: "terminal-session",
|
|
32169
32454
|
capScope: "system",
|
|
32170
32455
|
addonId: null,
|
|
32171
32456
|
access: "create"
|
|
32172
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
|
+
},
|
|
32173
32482
|
"terminalSession.listProfiles": {
|
|
32174
32483
|
capName: "terminal-session",
|
|
32175
32484
|
capScope: "system",
|
|
@@ -32188,12 +32497,30 @@ Object.freeze({
|
|
|
32188
32497
|
addonId: null,
|
|
32189
32498
|
access: "create"
|
|
32190
32499
|
},
|
|
32500
|
+
"terminalSession.pullOutput": {
|
|
32501
|
+
capName: "terminal-session",
|
|
32502
|
+
capScope: "system",
|
|
32503
|
+
addonId: null,
|
|
32504
|
+
access: "create"
|
|
32505
|
+
},
|
|
32191
32506
|
"terminalSession.resize": {
|
|
32192
32507
|
capName: "terminal-session",
|
|
32193
32508
|
capScope: "system",
|
|
32194
32509
|
addonId: null,
|
|
32195
32510
|
access: "create"
|
|
32196
32511
|
},
|
|
32512
|
+
"terminalSession.setInstanceEnabled": {
|
|
32513
|
+
capName: "terminal-session",
|
|
32514
|
+
capScope: "system",
|
|
32515
|
+
addonId: null,
|
|
32516
|
+
access: "create"
|
|
32517
|
+
},
|
|
32518
|
+
"terminalSession.writeInput": {
|
|
32519
|
+
capName: "terminal-session",
|
|
32520
|
+
capScope: "system",
|
|
32521
|
+
addonId: null,
|
|
32522
|
+
access: "create"
|
|
32523
|
+
},
|
|
32197
32524
|
"toast.onToast": {
|
|
32198
32525
|
capName: "toast",
|
|
32199
32526
|
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",
|
|
16270
16350
|
auth: "admin"
|
|
16271
|
-
}), method(
|
|
16351
|
+
}), method(StorageMigrationLeaseInputSchema, object({ refreshed: literal(true) }), {
|
|
16352
|
+
kind: "mutation",
|
|
16353
|
+
auth: "admin"
|
|
16354
|
+
}), method(StorageMigrationMediaMoveInputSchema, object({ jobId: string() }), {
|
|
16355
|
+
kind: "mutation",
|
|
16356
|
+
auth: "admin"
|
|
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,7 +18674,67 @@ var TerminalProfileInfoSchema = object({
|
|
|
18575
18674
|
label: string(),
|
|
18576
18675
|
description: string().optional()
|
|
18577
18676
|
});
|
|
18578
|
-
|
|
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
|
+
});
|
|
18699
|
+
var TerminalOutputEventSchema = discriminatedUnion("kind", [object({
|
|
18700
|
+
seq: number().int().positive(),
|
|
18701
|
+
kind: literal("data"),
|
|
18702
|
+
data: string()
|
|
18703
|
+
}), object({
|
|
18704
|
+
seq: number().int().positive(),
|
|
18705
|
+
kind: literal("exit"),
|
|
18706
|
+
exitCode: number().int(),
|
|
18707
|
+
signal: number().int().optional()
|
|
18708
|
+
})]);
|
|
18709
|
+
var TerminalOutputBatchSchema = object({
|
|
18710
|
+
cursor: number().int().nonnegative(),
|
|
18711
|
+
reset: boolean(),
|
|
18712
|
+
snapshot: string().optional(),
|
|
18713
|
+
events: array(TerminalOutputEventSchema).readonly()
|
|
18714
|
+
});
|
|
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({
|
|
18579
18738
|
profileId: string(),
|
|
18580
18739
|
cols: number().int().positive(),
|
|
18581
18740
|
rows: number().int().positive()
|
|
@@ -18589,6 +18748,26 @@ method(_void(), array(TerminalProfileInfoSchema).readonly(), { auth: "admin" }),
|
|
|
18589
18748
|
}), _void(), {
|
|
18590
18749
|
kind: "mutation",
|
|
18591
18750
|
auth: "admin"
|
|
18751
|
+
}), method(object({
|
|
18752
|
+
sessionId: string(),
|
|
18753
|
+
afterSeq: number().int().nonnegative(),
|
|
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()
|
|
18761
|
+
}), TerminalOutputBatchSchema, {
|
|
18762
|
+
kind: "mutation",
|
|
18763
|
+
auth: "admin",
|
|
18764
|
+
timeoutMs: 15e3
|
|
18765
|
+
}), method(object({
|
|
18766
|
+
sessionId: string(),
|
|
18767
|
+
data: string().max(64 * 1024)
|
|
18768
|
+
}), _void(), {
|
|
18769
|
+
kind: "mutation",
|
|
18770
|
+
auth: "admin"
|
|
18592
18771
|
}), method(object({ sessionId: string() }), _void(), {
|
|
18593
18772
|
kind: "mutation",
|
|
18594
18773
|
auth: "admin"
|
|
@@ -21076,6 +21255,7 @@ var FaceInfoSchema = object({
|
|
|
21076
21255
|
var FaceFilterEnum = _enum([
|
|
21077
21256
|
"unassigned",
|
|
21078
21257
|
"recognized",
|
|
21258
|
+
"identified",
|
|
21079
21259
|
"all"
|
|
21080
21260
|
]);
|
|
21081
21261
|
var MediaFileLiteSchema$1 = object({
|
|
@@ -21104,6 +21284,8 @@ method(_void(), array(IdentitySchema).readonly()), method(object({ name: string(
|
|
|
21104
21284
|
kind: "mutation",
|
|
21105
21285
|
auth: "admin"
|
|
21106
21286
|
}), method(object({
|
|
21287
|
+
/** Restrict to one camera. Absent keeps the cluster-wide gallery view. */
|
|
21288
|
+
deviceId: number().int().optional(),
|
|
21107
21289
|
limit: number().int().positive().optional(),
|
|
21108
21290
|
filter: FaceFilterEnum.optional(),
|
|
21109
21291
|
/**
|
|
@@ -23333,6 +23515,10 @@ var OsdSourceSchema = discriminatedUnion("kind", [
|
|
|
23333
23515
|
capName: string().min(1).max(64),
|
|
23334
23516
|
/** Dot path inside the slice, e.g. `detected`, `value`, `mode`. */
|
|
23335
23517
|
valuePath: string().min(1).max(64)
|
|
23518
|
+
}),
|
|
23519
|
+
object({
|
|
23520
|
+
kind: literal("latest-recognition"),
|
|
23521
|
+
recognition: _enum(["person", "plate"])
|
|
23336
23522
|
})
|
|
23337
23523
|
]);
|
|
23338
23524
|
var OsdSlotBindingSchema = object({
|
|
@@ -23438,6 +23624,15 @@ method(object({ deviceId: number().int() }), object({
|
|
|
23438
23624
|
}), object({ success: literal(true) }), {
|
|
23439
23625
|
kind: "mutation",
|
|
23440
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"
|
|
23441
23636
|
}), method(object({
|
|
23442
23637
|
deviceId: number().int(),
|
|
23443
23638
|
slotId: string().min(1),
|
|
@@ -24535,13 +24730,19 @@ method(object({
|
|
|
24535
24730
|
}), {
|
|
24536
24731
|
kind: "mutation",
|
|
24537
24732
|
auth: "admin"
|
|
24538
|
-
}), method(
|
|
24733
|
+
}), method(StorageMigrationLeaseInputSchema, object({ paused: literal(true) }), {
|
|
24539
24734
|
kind: "mutation",
|
|
24540
24735
|
auth: "admin"
|
|
24541
|
-
}), method(object({
|
|
24542
|
-
kind: "
|
|
24736
|
+
}), method(StorageMigrationLeaseInputSchema, object({ resumed: literal(true) }), {
|
|
24737
|
+
kind: "mutation",
|
|
24543
24738
|
auth: "admin"
|
|
24544
|
-
}), 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() }), {
|
|
24545
24746
|
kind: "mutation",
|
|
24546
24747
|
auth: "admin"
|
|
24547
24748
|
});
|
|
@@ -30147,6 +30348,12 @@ Object.freeze({
|
|
|
30147
30348
|
addonId: null,
|
|
30148
30349
|
access: "delete"
|
|
30149
30350
|
},
|
|
30351
|
+
"osdManager.copyDeviceConfiguration": {
|
|
30352
|
+
capName: "osd-manager",
|
|
30353
|
+
capScope: "system",
|
|
30354
|
+
addonId: null,
|
|
30355
|
+
access: "create"
|
|
30356
|
+
},
|
|
30150
30357
|
"osdManager.getConditionSupport": {
|
|
30151
30358
|
capName: "osd-manager",
|
|
30152
30359
|
capScope: "system",
|
|
@@ -30243,7 +30450,7 @@ Object.freeze({
|
|
|
30243
30450
|
addonId: null,
|
|
30244
30451
|
access: "create"
|
|
30245
30452
|
},
|
|
30246
|
-
"pipelineAnalytics.
|
|
30453
|
+
"pipelineAnalytics.cancelStorageMigrationMove": {
|
|
30247
30454
|
capName: "pipeline-analytics",
|
|
30248
30455
|
capScope: "device",
|
|
30249
30456
|
addonId: null,
|
|
@@ -30315,12 +30522,6 @@ Object.freeze({
|
|
|
30315
30522
|
addonId: null,
|
|
30316
30523
|
access: "view"
|
|
30317
30524
|
},
|
|
30318
|
-
"pipelineAnalytics.getMediaRelocateStatus": {
|
|
30319
|
-
capName: "pipeline-analytics",
|
|
30320
|
-
capScope: "device",
|
|
30321
|
-
addonId: null,
|
|
30322
|
-
access: "view"
|
|
30323
|
-
},
|
|
30324
30525
|
"pipelineAnalytics.getMotionEvents": {
|
|
30325
30526
|
capName: "pipeline-analytics",
|
|
30326
30527
|
capScope: "device",
|
|
@@ -30357,6 +30558,12 @@ Object.freeze({
|
|
|
30357
30558
|
addonId: null,
|
|
30358
30559
|
access: "view"
|
|
30359
30560
|
},
|
|
30561
|
+
"pipelineAnalytics.getStorageMigrationMoveStatus": {
|
|
30562
|
+
capName: "pipeline-analytics",
|
|
30563
|
+
capScope: "device",
|
|
30564
|
+
addonId: null,
|
|
30565
|
+
access: "view"
|
|
30566
|
+
},
|
|
30360
30567
|
"pipelineAnalytics.getTrack": {
|
|
30361
30568
|
capName: "pipeline-analytics",
|
|
30362
30569
|
capScope: "device",
|
|
@@ -30435,6 +30642,12 @@ Object.freeze({
|
|
|
30435
30642
|
addonId: null,
|
|
30436
30643
|
access: "view"
|
|
30437
30644
|
},
|
|
30645
|
+
"pipelineAnalytics.pauseForStorageMigration": {
|
|
30646
|
+
capName: "pipeline-analytics",
|
|
30647
|
+
capScope: "device",
|
|
30648
|
+
addonId: null,
|
|
30649
|
+
access: "create"
|
|
30650
|
+
},
|
|
30438
30651
|
"pipelineAnalytics.proposeRetrainAnnotations": {
|
|
30439
30652
|
capName: "pipeline-analytics",
|
|
30440
30653
|
capScope: "device",
|
|
@@ -30465,7 +30678,7 @@ Object.freeze({
|
|
|
30465
30678
|
addonId: null,
|
|
30466
30679
|
access: "create"
|
|
30467
30680
|
},
|
|
30468
|
-
"pipelineAnalytics.
|
|
30681
|
+
"pipelineAnalytics.refreshStorageLocationsForMigration": {
|
|
30469
30682
|
capName: "pipeline-analytics",
|
|
30470
30683
|
capScope: "device",
|
|
30471
30684
|
addonId: null,
|
|
@@ -30477,6 +30690,12 @@ Object.freeze({
|
|
|
30477
30690
|
addonId: null,
|
|
30478
30691
|
access: "create"
|
|
30479
30692
|
},
|
|
30693
|
+
"pipelineAnalytics.resumeForStorageMigration": {
|
|
30694
|
+
capName: "pipeline-analytics",
|
|
30695
|
+
capScope: "device",
|
|
30696
|
+
addonId: null,
|
|
30697
|
+
access: "create"
|
|
30698
|
+
},
|
|
30480
30699
|
"pipelineAnalytics.saveRetrainAnnotations": {
|
|
30481
30700
|
capName: "pipeline-analytics",
|
|
30482
30701
|
capScope: "device",
|
|
@@ -30501,6 +30720,12 @@ Object.freeze({
|
|
|
30501
30720
|
addonId: null,
|
|
30502
30721
|
access: "create"
|
|
30503
30722
|
},
|
|
30723
|
+
"pipelineAnalytics.startStorageMigrationMove": {
|
|
30724
|
+
capName: "pipeline-analytics",
|
|
30725
|
+
capScope: "device",
|
|
30726
|
+
addonId: null,
|
|
30727
|
+
access: "create"
|
|
30728
|
+
},
|
|
30504
30729
|
"pipelineAnalytics.wipeAllAnalytics": {
|
|
30505
30730
|
capName: "pipeline-analytics",
|
|
30506
30731
|
capScope: "device",
|
|
@@ -30867,6 +31092,12 @@ Object.freeze({
|
|
|
30867
31092
|
addonId: null,
|
|
30868
31093
|
access: "view"
|
|
30869
31094
|
},
|
|
31095
|
+
"pipelineOrchestrator.pauseForStorageMigration": {
|
|
31096
|
+
capName: "pipeline-orchestrator",
|
|
31097
|
+
capScope: "system",
|
|
31098
|
+
addonId: null,
|
|
31099
|
+
access: "create"
|
|
31100
|
+
},
|
|
30870
31101
|
"pipelineOrchestrator.rebalance": {
|
|
30871
31102
|
capName: "pipeline-orchestrator",
|
|
30872
31103
|
capScope: "system",
|
|
@@ -30891,6 +31122,12 @@ Object.freeze({
|
|
|
30891
31122
|
addonId: null,
|
|
30892
31123
|
access: "view"
|
|
30893
31124
|
},
|
|
31125
|
+
"pipelineOrchestrator.resumeForStorageMigration": {
|
|
31126
|
+
capName: "pipeline-orchestrator",
|
|
31127
|
+
capScope: "system",
|
|
31128
|
+
addonId: null,
|
|
31129
|
+
access: "create"
|
|
31130
|
+
},
|
|
30894
31131
|
"pipelineOrchestrator.saveTemplate": {
|
|
30895
31132
|
capName: "pipeline-orchestrator",
|
|
30896
31133
|
capScope: "system",
|
|
@@ -31287,7 +31524,7 @@ Object.freeze({
|
|
|
31287
31524
|
addonId: null,
|
|
31288
31525
|
access: "create"
|
|
31289
31526
|
},
|
|
31290
|
-
"recording.
|
|
31527
|
+
"recording.cancelStorageMigrationMove": {
|
|
31291
31528
|
capName: "recording",
|
|
31292
31529
|
capScope: "system",
|
|
31293
31530
|
addonId: null,
|
|
@@ -31323,7 +31560,7 @@ Object.freeze({
|
|
|
31323
31560
|
addonId: null,
|
|
31324
31561
|
access: "view"
|
|
31325
31562
|
},
|
|
31326
|
-
"recording.
|
|
31563
|
+
"recording.getStorageMigrationMoveStatus": {
|
|
31327
31564
|
capName: "recording",
|
|
31328
31565
|
capScope: "system",
|
|
31329
31566
|
addonId: null,
|
|
@@ -31347,6 +31584,12 @@ Object.freeze({
|
|
|
31347
31584
|
addonId: null,
|
|
31348
31585
|
access: "view"
|
|
31349
31586
|
},
|
|
31587
|
+
"recording.pauseForStorageMigration": {
|
|
31588
|
+
capName: "recording",
|
|
31589
|
+
capScope: "system",
|
|
31590
|
+
addonId: null,
|
|
31591
|
+
access: "create"
|
|
31592
|
+
},
|
|
31350
31593
|
"recording.pruneFootage": {
|
|
31351
31594
|
capName: "recording",
|
|
31352
31595
|
capScope: "system",
|
|
@@ -31365,7 +31608,7 @@ Object.freeze({
|
|
|
31365
31608
|
addonId: null,
|
|
31366
31609
|
access: "view"
|
|
31367
31610
|
},
|
|
31368
|
-
"recording.
|
|
31611
|
+
"recording.refreshStorageLocationsForMigration": {
|
|
31369
31612
|
capName: "recording",
|
|
31370
31613
|
capScope: "system",
|
|
31371
31614
|
addonId: null,
|
|
@@ -31389,12 +31632,24 @@ Object.freeze({
|
|
|
31389
31632
|
addonId: null,
|
|
31390
31633
|
access: "create"
|
|
31391
31634
|
},
|
|
31635
|
+
"recording.resumeForStorageMigration": {
|
|
31636
|
+
capName: "recording",
|
|
31637
|
+
capScope: "system",
|
|
31638
|
+
addonId: null,
|
|
31639
|
+
access: "create"
|
|
31640
|
+
},
|
|
31392
31641
|
"recording.setDeviceConfig": {
|
|
31393
31642
|
capName: "recording",
|
|
31394
31643
|
capScope: "system",
|
|
31395
31644
|
addonId: null,
|
|
31396
31645
|
access: "create"
|
|
31397
31646
|
},
|
|
31647
|
+
"recording.startStorageMigrationMove": {
|
|
31648
|
+
capName: "recording",
|
|
31649
|
+
capScope: "system",
|
|
31650
|
+
addonId: null,
|
|
31651
|
+
access: "create"
|
|
31652
|
+
},
|
|
31398
31653
|
"recordingExport.cancelExport": {
|
|
31399
31654
|
capName: "recordingExport",
|
|
31400
31655
|
capScope: "system",
|
|
@@ -31785,6 +32040,30 @@ Object.freeze({
|
|
|
31785
32040
|
addonId: null,
|
|
31786
32041
|
access: "view"
|
|
31787
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
|
+
},
|
|
31788
32067
|
"storageProvider.abortUpload": {
|
|
31789
32068
|
capName: "storage-provider",
|
|
31790
32069
|
capScope: "system",
|
|
@@ -32163,12 +32442,42 @@ Object.freeze({
|
|
|
32163
32442
|
addonId: null,
|
|
32164
32443
|
access: "create"
|
|
32165
32444
|
},
|
|
32445
|
+
"terminalSession.adoptLegacyMonitor": {
|
|
32446
|
+
capName: "terminal-session",
|
|
32447
|
+
capScope: "system",
|
|
32448
|
+
addonId: null,
|
|
32449
|
+
access: "create"
|
|
32450
|
+
},
|
|
32166
32451
|
"terminalSession.close": {
|
|
32167
32452
|
capName: "terminal-session",
|
|
32168
32453
|
capScope: "system",
|
|
32169
32454
|
addonId: null,
|
|
32170
32455
|
access: "create"
|
|
32171
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
|
+
},
|
|
32172
32481
|
"terminalSession.listProfiles": {
|
|
32173
32482
|
capName: "terminal-session",
|
|
32174
32483
|
capScope: "system",
|
|
@@ -32187,12 +32496,30 @@ Object.freeze({
|
|
|
32187
32496
|
addonId: null,
|
|
32188
32497
|
access: "create"
|
|
32189
32498
|
},
|
|
32499
|
+
"terminalSession.pullOutput": {
|
|
32500
|
+
capName: "terminal-session",
|
|
32501
|
+
capScope: "system",
|
|
32502
|
+
addonId: null,
|
|
32503
|
+
access: "create"
|
|
32504
|
+
},
|
|
32190
32505
|
"terminalSession.resize": {
|
|
32191
32506
|
capName: "terminal-session",
|
|
32192
32507
|
capScope: "system",
|
|
32193
32508
|
addonId: null,
|
|
32194
32509
|
access: "create"
|
|
32195
32510
|
},
|
|
32511
|
+
"terminalSession.setInstanceEnabled": {
|
|
32512
|
+
capName: "terminal-session",
|
|
32513
|
+
capScope: "system",
|
|
32514
|
+
addonId: null,
|
|
32515
|
+
access: "create"
|
|
32516
|
+
},
|
|
32517
|
+
"terminalSession.writeInput": {
|
|
32518
|
+
capName: "terminal-session",
|
|
32519
|
+
capScope: "system",
|
|
32520
|
+
addonId: null,
|
|
32521
|
+
access: "create"
|
|
32522
|
+
},
|
|
32196
32523
|
"toast.onToast": {
|
|
32197
32524
|
capName: "toast",
|
|
32198
32525
|
capScope: "system",
|
package/package.json
CHANGED