@camstack/addon-provider-homematic 1.2.13 → 1.2.14
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/addon.js +316 -31
- package/dist/addon.mjs +316 -31
- package/package.json +1 -1
package/dist/addon.js
CHANGED
|
@@ -7574,12 +7574,11 @@ var RecordingConfigSchema = object({
|
|
|
7574
7574
|
/**
|
|
7575
7575
|
* Entity-relocation job state (storage entity-routing spec, Phase 4).
|
|
7576
7576
|
*
|
|
7577
|
-
* One shape shared by the recorder
|
|
7578
|
-
*
|
|
7579
|
-
*
|
|
7580
|
-
*
|
|
7581
|
-
*
|
|
7582
|
-
* row on the owning addon's surface.
|
|
7577
|
+
* One shape shared by the recorder and pipeline-analytics internal movers.
|
|
7578
|
+
* The public admin surface is `storage-migration`; child jobs remain in RAM
|
|
7579
|
+
* because copy-if-absent, verify, delete and index/row repoint are resumable.
|
|
7580
|
+
* Each completed/failed run also lands one durable ops-log row on its owning
|
|
7581
|
+
* addon surface.
|
|
7583
7582
|
*/
|
|
7584
7583
|
var RelocateJobStateSchema = _enum([
|
|
7585
7584
|
"running",
|
|
@@ -7606,19 +7605,100 @@ var RelocateJobSchema = object({
|
|
|
7606
7605
|
finishedAt: number().nullable(),
|
|
7607
7606
|
error: string().nullable()
|
|
7608
7607
|
});
|
|
7608
|
+
/** Profile-derived footage selection used only by the migration coordinator:
|
|
7609
|
+
* `recordings` owns high+mid; `recordingsLow` owns low. */
|
|
7610
|
+
var RelocateFootageClassSchema = _enum(["recordings", "recordingsLow"]);
|
|
7609
7611
|
var RelocateFootageInputSchema = object({
|
|
7610
|
-
deviceId: number().optional(),
|
|
7611
7612
|
fromLocationId: string(),
|
|
7612
7613
|
toLocationId: string(),
|
|
7613
7614
|
entities: array(_enum(["segments"])).optional(),
|
|
7615
|
+
/** Limits relocation to the logical profile class. Omit only for the
|
|
7616
|
+
* pre-orchestration compatibility path. */
|
|
7617
|
+
footageClass: RelocateFootageClassSchema.optional(),
|
|
7614
7618
|
/** Copy throttle in MB/s (default 40) — the drain is a background chore,
|
|
7615
7619
|
* never allowed to starve live writers. */
|
|
7616
7620
|
throttleMbps: number().min(1).max(1e3).optional()
|
|
7617
7621
|
});
|
|
7618
|
-
|
|
7619
|
-
|
|
7622
|
+
/** Internal, lease-scoped participant operation. It is intentionally separate
|
|
7623
|
+
* from persistent recording settings: a migration never changes
|
|
7624
|
+
* `RecordingConfig.enabled` or camera wrapper bindings. */
|
|
7625
|
+
var StorageMigrationLeaseInputSchema = object({ leaseId: string().min(1) });
|
|
7626
|
+
var StorageMigrationFootageMoveInputSchema = RelocateFootageInputSchema.extend({ leaseId: string().min(1) });
|
|
7627
|
+
var StorageMigrationMediaMoveInputSchema = object({
|
|
7620
7628
|
toLocationId: string(),
|
|
7621
7629
|
throttleMbps: number().min(1).max(1e3).optional()
|
|
7630
|
+
}).extend({ leaseId: string().min(1) });
|
|
7631
|
+
/** The independently selectable logical storage classes. `recordings`
|
|
7632
|
+
* encompasses the high and mid segment profiles; `recordingsLow` is low
|
|
7633
|
+
* segments; `eventMedia` is post-analysis blobs. */
|
|
7634
|
+
var StorageMigrationClassSchema = _enum([
|
|
7635
|
+
"recordings",
|
|
7636
|
+
"recordingsLow",
|
|
7637
|
+
"eventMedia"
|
|
7638
|
+
]);
|
|
7639
|
+
/** A destination is always an existing, fully-qualified location id. The
|
|
7640
|
+
* migration API intentionally never changes a source location's `basePath`:
|
|
7641
|
+
* callers create a new `<type>:<slug>` location, then select it here. */
|
|
7642
|
+
var StorageMigrationDestinationsSchema = object({
|
|
7643
|
+
recordings: string().min(1).optional(),
|
|
7644
|
+
recordingsLow: string().min(1).optional(),
|
|
7645
|
+
eventMedia: string().min(1).optional()
|
|
7646
|
+
}).refine((value) => Object.keys(value).length > 0, { message: "select at least one storage class" });
|
|
7647
|
+
/** Shared input for planning and starting an orchestrated storage migration. */
|
|
7648
|
+
var StorageMigrationInputSchema = object({
|
|
7649
|
+
destinations: StorageMigrationDestinationsSchema,
|
|
7650
|
+
throttleMbps: number().min(1).max(1e3).optional()
|
|
7651
|
+
});
|
|
7652
|
+
/** The durable coordinator state machine. The only phase that changes default
|
|
7653
|
+
* locations is `repointing`, after every selected mover has completed and been
|
|
7654
|
+
* verified. */
|
|
7655
|
+
var StorageMigrationPhaseSchema = _enum([
|
|
7656
|
+
"planning",
|
|
7657
|
+
"pausing",
|
|
7658
|
+
"moving",
|
|
7659
|
+
"verifying",
|
|
7660
|
+
"repointing",
|
|
7661
|
+
"refreshing",
|
|
7662
|
+
"resuming",
|
|
7663
|
+
"done",
|
|
7664
|
+
"failed",
|
|
7665
|
+
"cancelled"
|
|
7666
|
+
]);
|
|
7667
|
+
var StorageMigrationParticipantSchema = _enum([
|
|
7668
|
+
"pipeline",
|
|
7669
|
+
"recorder",
|
|
7670
|
+
"analytics"
|
|
7671
|
+
]);
|
|
7672
|
+
var StorageMigrationMoveSchema = object({
|
|
7673
|
+
storageClass: StorageMigrationClassSchema,
|
|
7674
|
+
fromLocationId: string(),
|
|
7675
|
+
toLocationId: string(),
|
|
7676
|
+
moverJobId: string().nullable(),
|
|
7677
|
+
state: RelocateJobStateSchema.nullable(),
|
|
7678
|
+
error: string().nullable()
|
|
7679
|
+
});
|
|
7680
|
+
var StorageMigrationJobSchema = object({
|
|
7681
|
+
jobId: string(),
|
|
7682
|
+
phase: StorageMigrationPhaseSchema,
|
|
7683
|
+
destinations: StorageMigrationDestinationsSchema,
|
|
7684
|
+
throttleMbps: number(),
|
|
7685
|
+
moves: array(StorageMigrationMoveSchema),
|
|
7686
|
+
pauseLeaseId: string().nullable(),
|
|
7687
|
+
pausedParticipants: array(StorageMigrationParticipantSchema),
|
|
7688
|
+
repointed: boolean(),
|
|
7689
|
+
cancelRequested: boolean(),
|
|
7690
|
+
startedAt: number(),
|
|
7691
|
+
updatedAt: number(),
|
|
7692
|
+
finishedAt: number().nullable(),
|
|
7693
|
+
error: string().nullable()
|
|
7694
|
+
});
|
|
7695
|
+
var StorageMigrationPlanSchema = object({
|
|
7696
|
+
destinations: StorageMigrationDestinationsSchema,
|
|
7697
|
+
moves: array(object({
|
|
7698
|
+
storageClass: StorageMigrationClassSchema,
|
|
7699
|
+
fromLocationId: string(),
|
|
7700
|
+
toLocationId: string()
|
|
7701
|
+
}))
|
|
7622
7702
|
});
|
|
7623
7703
|
/**
|
|
7624
7704
|
* `StorageLocationType` — an addon-declared id that identifies the *kind* of
|
|
@@ -16338,13 +16418,19 @@ DeviceType.Camera, method(object({ deviceId: number() }), array(TrackSchema).rea
|
|
|
16338
16418
|
}), method(object({ deviceId: number() }), EventPruneCountsSchema, {
|
|
16339
16419
|
kind: "mutation",
|
|
16340
16420
|
auth: "admin"
|
|
16341
|
-
}), method(
|
|
16421
|
+
}), method(StorageMigrationLeaseInputSchema, object({ paused: literal(true) }), {
|
|
16342
16422
|
kind: "mutation",
|
|
16343
16423
|
auth: "admin"
|
|
16344
|
-
}), method(object({
|
|
16345
|
-
kind: "
|
|
16424
|
+
}), method(StorageMigrationLeaseInputSchema, object({ resumed: literal(true) }), {
|
|
16425
|
+
kind: "mutation",
|
|
16426
|
+
auth: "admin"
|
|
16427
|
+
}), method(StorageMigrationLeaseInputSchema, object({ refreshed: literal(true) }), {
|
|
16428
|
+
kind: "mutation",
|
|
16429
|
+
auth: "admin"
|
|
16430
|
+
}), method(StorageMigrationMediaMoveInputSchema, object({ jobId: string() }), {
|
|
16431
|
+
kind: "mutation",
|
|
16346
16432
|
auth: "admin"
|
|
16347
|
-
}), method(object({ jobId: string() }), object({ cancelled: boolean() }), {
|
|
16433
|
+
}), method(object({ jobId: string() }), RelocateJobSchema.nullable(), { auth: "admin" }), method(object({ jobId: string() }), object({ cancelled: boolean() }), {
|
|
16348
16434
|
kind: "mutation",
|
|
16349
16435
|
auth: "admin"
|
|
16350
16436
|
}), method(OpsLogQueryInputSchema, array(OpsLogEntrySchema).readonly(), {
|
|
@@ -17874,7 +17960,13 @@ var NodeInferenceDevicesSchema = object({
|
|
|
17874
17960
|
reachable: boolean(),
|
|
17875
17961
|
devices: array(NodeInferenceDeviceSchema).readonly()
|
|
17876
17962
|
});
|
|
17877
|
-
method(object({
|
|
17963
|
+
method(StorageMigrationLeaseInputSchema, object({ paused: literal(true) }), {
|
|
17964
|
+
kind: "mutation",
|
|
17965
|
+
auth: "admin"
|
|
17966
|
+
}), method(StorageMigrationLeaseInputSchema, object({ resumed: literal(true) }), {
|
|
17967
|
+
kind: "mutation",
|
|
17968
|
+
auth: "admin"
|
|
17969
|
+
}), method(object({
|
|
17878
17970
|
deviceId: number(),
|
|
17879
17971
|
agentNodeId: string()
|
|
17880
17972
|
}), object({ success: literal(true) }), {
|
|
@@ -18548,6 +18640,13 @@ method(object({ locationId: string() }), EvictableUsageSchema), method(object({
|
|
|
18548
18640
|
locationId: string(),
|
|
18549
18641
|
targetBytes: number().int().positive()
|
|
18550
18642
|
}), EvictResultSchema, { kind: "mutation" });
|
|
18643
|
+
method(StorageMigrationInputSchema, StorageMigrationPlanSchema, { auth: "admin" }), method(StorageMigrationInputSchema, object({ jobId: string() }), {
|
|
18644
|
+
kind: "mutation",
|
|
18645
|
+
auth: "admin"
|
|
18646
|
+
}), method(object({ jobId: string().optional() }), StorageMigrationJobSchema.nullable(), { auth: "admin" }), method(object({ jobId: string() }), object({ cancelled: boolean() }), {
|
|
18647
|
+
kind: "mutation",
|
|
18648
|
+
auth: "admin"
|
|
18649
|
+
});
|
|
18551
18650
|
var ProviderInfoSchema = discriminatedUnion("shouldSaveDiskSpace", [object({
|
|
18552
18651
|
providerId: string().min(1),
|
|
18553
18652
|
displayName: string().min(1),
|
|
@@ -18651,6 +18750,28 @@ var TerminalProfileInfoSchema = object({
|
|
|
18651
18750
|
label: string(),
|
|
18652
18751
|
description: string().optional()
|
|
18653
18752
|
});
|
|
18753
|
+
/**
|
|
18754
|
+
* A durable operator-created Terminal instance. Profiles are templates; only
|
|
18755
|
+
* an instance declares a camera.
|
|
18756
|
+
*/
|
|
18757
|
+
var TerminalInstanceInfoSchema = object({
|
|
18758
|
+
instanceId: string(),
|
|
18759
|
+
cameraStableId: string(),
|
|
18760
|
+
nodeId: string(),
|
|
18761
|
+
profileId: string(),
|
|
18762
|
+
profileLabel: string(),
|
|
18763
|
+
name: string(),
|
|
18764
|
+
enabled: boolean()
|
|
18765
|
+
});
|
|
18766
|
+
var TerminalLegacyCameraSchema = object({
|
|
18767
|
+
stableId: string(),
|
|
18768
|
+
nodeId: string(),
|
|
18769
|
+
profileId: string(),
|
|
18770
|
+
profileLabel: string(),
|
|
18771
|
+
name: string(),
|
|
18772
|
+
/** Only legacy monitor cameras can retain their historic stable identity. */
|
|
18773
|
+
adoptable: boolean()
|
|
18774
|
+
});
|
|
18654
18775
|
var TerminalOutputEventSchema = discriminatedUnion("kind", [object({
|
|
18655
18776
|
seq: number().int().positive(),
|
|
18656
18777
|
kind: literal("data"),
|
|
@@ -18667,7 +18788,29 @@ var TerminalOutputBatchSchema = object({
|
|
|
18667
18788
|
snapshot: string().optional(),
|
|
18668
18789
|
events: array(TerminalOutputEventSchema).readonly()
|
|
18669
18790
|
});
|
|
18670
|
-
method(_void(), array(TerminalProfileInfoSchema).readonly(), { auth: "admin" }), method(_void(), array(
|
|
18791
|
+
method(_void(), array(TerminalProfileInfoSchema).readonly(), { auth: "admin" }), method(_void(), array(TerminalInstanceInfoSchema).readonly(), { auth: "admin" }), method(object({
|
|
18792
|
+
targetNodeId: string().min(1),
|
|
18793
|
+
profileId: string().min(1),
|
|
18794
|
+
name: string().trim().min(1).max(160).optional()
|
|
18795
|
+
}), TerminalInstanceInfoSchema, {
|
|
18796
|
+
kind: "mutation",
|
|
18797
|
+
auth: "admin"
|
|
18798
|
+
}), method(object({ instanceId: string().min(1) }), _void(), {
|
|
18799
|
+
kind: "mutation",
|
|
18800
|
+
auth: "admin"
|
|
18801
|
+
}), method(object({
|
|
18802
|
+
instanceId: string().min(1),
|
|
18803
|
+
enabled: boolean()
|
|
18804
|
+
}), TerminalInstanceInfoSchema, {
|
|
18805
|
+
kind: "mutation",
|
|
18806
|
+
auth: "admin"
|
|
18807
|
+
}), method(_void(), array(TerminalLegacyCameraSchema).readonly(), { auth: "admin" }), method(object({
|
|
18808
|
+
stableId: string().min(1),
|
|
18809
|
+
name: string().trim().min(1).max(160).optional()
|
|
18810
|
+
}), TerminalInstanceInfoSchema, {
|
|
18811
|
+
kind: "mutation",
|
|
18812
|
+
auth: "admin"
|
|
18813
|
+
}), method(_void(), array(TerminalSessionInfoSchema).readonly(), { auth: "admin" }), method(object({
|
|
18671
18814
|
profileId: string(),
|
|
18672
18815
|
cols: number().int().positive(),
|
|
18673
18816
|
rows: number().int().positive()
|
|
@@ -18684,7 +18827,13 @@ method(_void(), array(TerminalProfileInfoSchema).readonly(), { auth: "admin" }),
|
|
|
18684
18827
|
}), method(object({
|
|
18685
18828
|
sessionId: string(),
|
|
18686
18829
|
afterSeq: number().int().nonnegative(),
|
|
18687
|
-
waitMs: number().int().min(0).max(2e3).default(0)
|
|
18830
|
+
waitMs: number().int().min(0).max(2e3).default(0),
|
|
18831
|
+
/**
|
|
18832
|
+
* Wait when a just-opened session has no output yet. Kept opt-in so a
|
|
18833
|
+
* browser's initial repaint remains immediate; the camera snapshot
|
|
18834
|
+
* relay uses it to avoid encoding a blank startup frame.
|
|
18835
|
+
*/
|
|
18836
|
+
waitForOutput: boolean().optional()
|
|
18688
18837
|
}), TerminalOutputBatchSchema, {
|
|
18689
18838
|
kind: "mutation",
|
|
18690
18839
|
auth: "admin",
|
|
@@ -21182,6 +21331,7 @@ var FaceInfoSchema = object({
|
|
|
21182
21331
|
var FaceFilterEnum = _enum([
|
|
21183
21332
|
"unassigned",
|
|
21184
21333
|
"recognized",
|
|
21334
|
+
"identified",
|
|
21185
21335
|
"all"
|
|
21186
21336
|
]);
|
|
21187
21337
|
var MediaFileLiteSchema$1 = object({
|
|
@@ -21210,6 +21360,8 @@ method(_void(), array(IdentitySchema).readonly()), method(object({ name: string(
|
|
|
21210
21360
|
kind: "mutation",
|
|
21211
21361
|
auth: "admin"
|
|
21212
21362
|
}), method(object({
|
|
21363
|
+
/** Restrict to one camera. Absent keeps the cluster-wide gallery view. */
|
|
21364
|
+
deviceId: number().int().optional(),
|
|
21213
21365
|
limit: number().int().positive().optional(),
|
|
21214
21366
|
filter: FaceFilterEnum.optional(),
|
|
21215
21367
|
/**
|
|
@@ -23439,6 +23591,10 @@ var OsdSourceSchema = discriminatedUnion("kind", [
|
|
|
23439
23591
|
capName: string().min(1).max(64),
|
|
23440
23592
|
/** Dot path inside the slice, e.g. `detected`, `value`, `mode`. */
|
|
23441
23593
|
valuePath: string().min(1).max(64)
|
|
23594
|
+
}),
|
|
23595
|
+
object({
|
|
23596
|
+
kind: literal("latest-recognition"),
|
|
23597
|
+
recognition: _enum(["person", "plate"])
|
|
23442
23598
|
})
|
|
23443
23599
|
]);
|
|
23444
23600
|
var OsdSlotBindingSchema = object({
|
|
@@ -23544,6 +23700,15 @@ method(object({ deviceId: number().int() }), object({
|
|
|
23544
23700
|
}), object({ success: literal(true) }), {
|
|
23545
23701
|
kind: "mutation",
|
|
23546
23702
|
auth: "admin"
|
|
23703
|
+
}), method(object({
|
|
23704
|
+
sourceDeviceId: number().int(),
|
|
23705
|
+
targetDeviceId: number().int()
|
|
23706
|
+
}), object({
|
|
23707
|
+
copied: number().int().nonnegative(),
|
|
23708
|
+
skipped: number().int().nonnegative()
|
|
23709
|
+
}), {
|
|
23710
|
+
kind: "mutation",
|
|
23711
|
+
auth: "admin"
|
|
23547
23712
|
}), method(object({
|
|
23548
23713
|
deviceId: number().int(),
|
|
23549
23714
|
slotId: string().min(1),
|
|
@@ -24641,13 +24806,19 @@ method(object({
|
|
|
24641
24806
|
}), {
|
|
24642
24807
|
kind: "mutation",
|
|
24643
24808
|
auth: "admin"
|
|
24644
|
-
}), method(
|
|
24809
|
+
}), method(StorageMigrationLeaseInputSchema, object({ paused: literal(true) }), {
|
|
24645
24810
|
kind: "mutation",
|
|
24646
24811
|
auth: "admin"
|
|
24647
|
-
}), method(object({
|
|
24648
|
-
kind: "
|
|
24812
|
+
}), method(StorageMigrationLeaseInputSchema, object({ resumed: literal(true) }), {
|
|
24813
|
+
kind: "mutation",
|
|
24649
24814
|
auth: "admin"
|
|
24650
|
-
}), method(
|
|
24815
|
+
}), method(StorageMigrationLeaseInputSchema, object({ refreshed: literal(true) }), {
|
|
24816
|
+
kind: "mutation",
|
|
24817
|
+
auth: "admin"
|
|
24818
|
+
}), method(StorageMigrationFootageMoveInputSchema, object({ jobId: string() }), {
|
|
24819
|
+
kind: "mutation",
|
|
24820
|
+
auth: "admin"
|
|
24821
|
+
}), method(object({ jobId: string() }), RelocateJobSchema.nullable(), { auth: "admin" }), method(object({ jobId: string() }), object({ cancelled: boolean() }), {
|
|
24651
24822
|
kind: "mutation",
|
|
24652
24823
|
auth: "admin"
|
|
24653
24824
|
});
|
|
@@ -30253,6 +30424,12 @@ Object.freeze({
|
|
|
30253
30424
|
addonId: null,
|
|
30254
30425
|
access: "delete"
|
|
30255
30426
|
},
|
|
30427
|
+
"osdManager.copyDeviceConfiguration": {
|
|
30428
|
+
capName: "osd-manager",
|
|
30429
|
+
capScope: "system",
|
|
30430
|
+
addonId: null,
|
|
30431
|
+
access: "create"
|
|
30432
|
+
},
|
|
30256
30433
|
"osdManager.getConditionSupport": {
|
|
30257
30434
|
capName: "osd-manager",
|
|
30258
30435
|
capScope: "system",
|
|
@@ -30349,7 +30526,7 @@ Object.freeze({
|
|
|
30349
30526
|
addonId: null,
|
|
30350
30527
|
access: "create"
|
|
30351
30528
|
},
|
|
30352
|
-
"pipelineAnalytics.
|
|
30529
|
+
"pipelineAnalytics.cancelStorageMigrationMove": {
|
|
30353
30530
|
capName: "pipeline-analytics",
|
|
30354
30531
|
capScope: "device",
|
|
30355
30532
|
addonId: null,
|
|
@@ -30421,12 +30598,6 @@ Object.freeze({
|
|
|
30421
30598
|
addonId: null,
|
|
30422
30599
|
access: "view"
|
|
30423
30600
|
},
|
|
30424
|
-
"pipelineAnalytics.getMediaRelocateStatus": {
|
|
30425
|
-
capName: "pipeline-analytics",
|
|
30426
|
-
capScope: "device",
|
|
30427
|
-
addonId: null,
|
|
30428
|
-
access: "view"
|
|
30429
|
-
},
|
|
30430
30601
|
"pipelineAnalytics.getMotionEvents": {
|
|
30431
30602
|
capName: "pipeline-analytics",
|
|
30432
30603
|
capScope: "device",
|
|
@@ -30463,6 +30634,12 @@ Object.freeze({
|
|
|
30463
30634
|
addonId: null,
|
|
30464
30635
|
access: "view"
|
|
30465
30636
|
},
|
|
30637
|
+
"pipelineAnalytics.getStorageMigrationMoveStatus": {
|
|
30638
|
+
capName: "pipeline-analytics",
|
|
30639
|
+
capScope: "device",
|
|
30640
|
+
addonId: null,
|
|
30641
|
+
access: "view"
|
|
30642
|
+
},
|
|
30466
30643
|
"pipelineAnalytics.getTrack": {
|
|
30467
30644
|
capName: "pipeline-analytics",
|
|
30468
30645
|
capScope: "device",
|
|
@@ -30541,6 +30718,12 @@ Object.freeze({
|
|
|
30541
30718
|
addonId: null,
|
|
30542
30719
|
access: "view"
|
|
30543
30720
|
},
|
|
30721
|
+
"pipelineAnalytics.pauseForStorageMigration": {
|
|
30722
|
+
capName: "pipeline-analytics",
|
|
30723
|
+
capScope: "device",
|
|
30724
|
+
addonId: null,
|
|
30725
|
+
access: "create"
|
|
30726
|
+
},
|
|
30544
30727
|
"pipelineAnalytics.proposeRetrainAnnotations": {
|
|
30545
30728
|
capName: "pipeline-analytics",
|
|
30546
30729
|
capScope: "device",
|
|
@@ -30571,7 +30754,7 @@ Object.freeze({
|
|
|
30571
30754
|
addonId: null,
|
|
30572
30755
|
access: "create"
|
|
30573
30756
|
},
|
|
30574
|
-
"pipelineAnalytics.
|
|
30757
|
+
"pipelineAnalytics.refreshStorageLocationsForMigration": {
|
|
30575
30758
|
capName: "pipeline-analytics",
|
|
30576
30759
|
capScope: "device",
|
|
30577
30760
|
addonId: null,
|
|
@@ -30583,6 +30766,12 @@ Object.freeze({
|
|
|
30583
30766
|
addonId: null,
|
|
30584
30767
|
access: "create"
|
|
30585
30768
|
},
|
|
30769
|
+
"pipelineAnalytics.resumeForStorageMigration": {
|
|
30770
|
+
capName: "pipeline-analytics",
|
|
30771
|
+
capScope: "device",
|
|
30772
|
+
addonId: null,
|
|
30773
|
+
access: "create"
|
|
30774
|
+
},
|
|
30586
30775
|
"pipelineAnalytics.saveRetrainAnnotations": {
|
|
30587
30776
|
capName: "pipeline-analytics",
|
|
30588
30777
|
capScope: "device",
|
|
@@ -30607,6 +30796,12 @@ Object.freeze({
|
|
|
30607
30796
|
addonId: null,
|
|
30608
30797
|
access: "create"
|
|
30609
30798
|
},
|
|
30799
|
+
"pipelineAnalytics.startStorageMigrationMove": {
|
|
30800
|
+
capName: "pipeline-analytics",
|
|
30801
|
+
capScope: "device",
|
|
30802
|
+
addonId: null,
|
|
30803
|
+
access: "create"
|
|
30804
|
+
},
|
|
30610
30805
|
"pipelineAnalytics.wipeAllAnalytics": {
|
|
30611
30806
|
capName: "pipeline-analytics",
|
|
30612
30807
|
capScope: "device",
|
|
@@ -30973,6 +31168,12 @@ Object.freeze({
|
|
|
30973
31168
|
addonId: null,
|
|
30974
31169
|
access: "view"
|
|
30975
31170
|
},
|
|
31171
|
+
"pipelineOrchestrator.pauseForStorageMigration": {
|
|
31172
|
+
capName: "pipeline-orchestrator",
|
|
31173
|
+
capScope: "system",
|
|
31174
|
+
addonId: null,
|
|
31175
|
+
access: "create"
|
|
31176
|
+
},
|
|
30976
31177
|
"pipelineOrchestrator.rebalance": {
|
|
30977
31178
|
capName: "pipeline-orchestrator",
|
|
30978
31179
|
capScope: "system",
|
|
@@ -30997,6 +31198,12 @@ Object.freeze({
|
|
|
30997
31198
|
addonId: null,
|
|
30998
31199
|
access: "view"
|
|
30999
31200
|
},
|
|
31201
|
+
"pipelineOrchestrator.resumeForStorageMigration": {
|
|
31202
|
+
capName: "pipeline-orchestrator",
|
|
31203
|
+
capScope: "system",
|
|
31204
|
+
addonId: null,
|
|
31205
|
+
access: "create"
|
|
31206
|
+
},
|
|
31000
31207
|
"pipelineOrchestrator.saveTemplate": {
|
|
31001
31208
|
capName: "pipeline-orchestrator",
|
|
31002
31209
|
capScope: "system",
|
|
@@ -31393,7 +31600,7 @@ Object.freeze({
|
|
|
31393
31600
|
addonId: null,
|
|
31394
31601
|
access: "create"
|
|
31395
31602
|
},
|
|
31396
|
-
"recording.
|
|
31603
|
+
"recording.cancelStorageMigrationMove": {
|
|
31397
31604
|
capName: "recording",
|
|
31398
31605
|
capScope: "system",
|
|
31399
31606
|
addonId: null,
|
|
@@ -31429,7 +31636,7 @@ Object.freeze({
|
|
|
31429
31636
|
addonId: null,
|
|
31430
31637
|
access: "view"
|
|
31431
31638
|
},
|
|
31432
|
-
"recording.
|
|
31639
|
+
"recording.getStorageMigrationMoveStatus": {
|
|
31433
31640
|
capName: "recording",
|
|
31434
31641
|
capScope: "system",
|
|
31435
31642
|
addonId: null,
|
|
@@ -31453,6 +31660,12 @@ Object.freeze({
|
|
|
31453
31660
|
addonId: null,
|
|
31454
31661
|
access: "view"
|
|
31455
31662
|
},
|
|
31663
|
+
"recording.pauseForStorageMigration": {
|
|
31664
|
+
capName: "recording",
|
|
31665
|
+
capScope: "system",
|
|
31666
|
+
addonId: null,
|
|
31667
|
+
access: "create"
|
|
31668
|
+
},
|
|
31456
31669
|
"recording.pruneFootage": {
|
|
31457
31670
|
capName: "recording",
|
|
31458
31671
|
capScope: "system",
|
|
@@ -31471,7 +31684,7 @@ Object.freeze({
|
|
|
31471
31684
|
addonId: null,
|
|
31472
31685
|
access: "view"
|
|
31473
31686
|
},
|
|
31474
|
-
"recording.
|
|
31687
|
+
"recording.refreshStorageLocationsForMigration": {
|
|
31475
31688
|
capName: "recording",
|
|
31476
31689
|
capScope: "system",
|
|
31477
31690
|
addonId: null,
|
|
@@ -31495,12 +31708,24 @@ Object.freeze({
|
|
|
31495
31708
|
addonId: null,
|
|
31496
31709
|
access: "create"
|
|
31497
31710
|
},
|
|
31711
|
+
"recording.resumeForStorageMigration": {
|
|
31712
|
+
capName: "recording",
|
|
31713
|
+
capScope: "system",
|
|
31714
|
+
addonId: null,
|
|
31715
|
+
access: "create"
|
|
31716
|
+
},
|
|
31498
31717
|
"recording.setDeviceConfig": {
|
|
31499
31718
|
capName: "recording",
|
|
31500
31719
|
capScope: "system",
|
|
31501
31720
|
addonId: null,
|
|
31502
31721
|
access: "create"
|
|
31503
31722
|
},
|
|
31723
|
+
"recording.startStorageMigrationMove": {
|
|
31724
|
+
capName: "recording",
|
|
31725
|
+
capScope: "system",
|
|
31726
|
+
addonId: null,
|
|
31727
|
+
access: "create"
|
|
31728
|
+
},
|
|
31504
31729
|
"recordingExport.cancelExport": {
|
|
31505
31730
|
capName: "recordingExport",
|
|
31506
31731
|
capScope: "system",
|
|
@@ -31891,6 +32116,30 @@ Object.freeze({
|
|
|
31891
32116
|
addonId: null,
|
|
31892
32117
|
access: "view"
|
|
31893
32118
|
},
|
|
32119
|
+
"storageMigration.cancel": {
|
|
32120
|
+
capName: "storage-migration",
|
|
32121
|
+
capScope: "system",
|
|
32122
|
+
addonId: null,
|
|
32123
|
+
access: "create"
|
|
32124
|
+
},
|
|
32125
|
+
"storageMigration.plan": {
|
|
32126
|
+
capName: "storage-migration",
|
|
32127
|
+
capScope: "system",
|
|
32128
|
+
addonId: null,
|
|
32129
|
+
access: "view"
|
|
32130
|
+
},
|
|
32131
|
+
"storageMigration.start": {
|
|
32132
|
+
capName: "storage-migration",
|
|
32133
|
+
capScope: "system",
|
|
32134
|
+
addonId: null,
|
|
32135
|
+
access: "create"
|
|
32136
|
+
},
|
|
32137
|
+
"storageMigration.status": {
|
|
32138
|
+
capName: "storage-migration",
|
|
32139
|
+
capScope: "system",
|
|
32140
|
+
addonId: null,
|
|
32141
|
+
access: "view"
|
|
32142
|
+
},
|
|
31894
32143
|
"storageProvider.abortUpload": {
|
|
31895
32144
|
capName: "storage-provider",
|
|
31896
32145
|
capScope: "system",
|
|
@@ -32269,12 +32518,42 @@ Object.freeze({
|
|
|
32269
32518
|
addonId: null,
|
|
32270
32519
|
access: "create"
|
|
32271
32520
|
},
|
|
32521
|
+
"terminalSession.adoptLegacyMonitor": {
|
|
32522
|
+
capName: "terminal-session",
|
|
32523
|
+
capScope: "system",
|
|
32524
|
+
addonId: null,
|
|
32525
|
+
access: "create"
|
|
32526
|
+
},
|
|
32272
32527
|
"terminalSession.close": {
|
|
32273
32528
|
capName: "terminal-session",
|
|
32274
32529
|
capScope: "system",
|
|
32275
32530
|
addonId: null,
|
|
32276
32531
|
access: "create"
|
|
32277
32532
|
},
|
|
32533
|
+
"terminalSession.createInstance": {
|
|
32534
|
+
capName: "terminal-session",
|
|
32535
|
+
capScope: "system",
|
|
32536
|
+
addonId: null,
|
|
32537
|
+
access: "create"
|
|
32538
|
+
},
|
|
32539
|
+
"terminalSession.deleteInstance": {
|
|
32540
|
+
capName: "terminal-session",
|
|
32541
|
+
capScope: "system",
|
|
32542
|
+
addonId: null,
|
|
32543
|
+
access: "delete"
|
|
32544
|
+
},
|
|
32545
|
+
"terminalSession.listInstances": {
|
|
32546
|
+
capName: "terminal-session",
|
|
32547
|
+
capScope: "system",
|
|
32548
|
+
addonId: null,
|
|
32549
|
+
access: "view"
|
|
32550
|
+
},
|
|
32551
|
+
"terminalSession.listLegacyCameras": {
|
|
32552
|
+
capName: "terminal-session",
|
|
32553
|
+
capScope: "system",
|
|
32554
|
+
addonId: null,
|
|
32555
|
+
access: "view"
|
|
32556
|
+
},
|
|
32278
32557
|
"terminalSession.listProfiles": {
|
|
32279
32558
|
capName: "terminal-session",
|
|
32280
32559
|
capScope: "system",
|
|
@@ -32305,6 +32584,12 @@ Object.freeze({
|
|
|
32305
32584
|
addonId: null,
|
|
32306
32585
|
access: "create"
|
|
32307
32586
|
},
|
|
32587
|
+
"terminalSession.setInstanceEnabled": {
|
|
32588
|
+
capName: "terminal-session",
|
|
32589
|
+
capScope: "system",
|
|
32590
|
+
addonId: null,
|
|
32591
|
+
access: "create"
|
|
32592
|
+
},
|
|
32308
32593
|
"terminalSession.writeInput": {
|
|
32309
32594
|
capName: "terminal-session",
|
|
32310
32595
|
capScope: "system",
|
package/dist/addon.mjs
CHANGED
|
@@ -7575,12 +7575,11 @@ var RecordingConfigSchema = object({
|
|
|
7575
7575
|
/**
|
|
7576
7576
|
* Entity-relocation job state (storage entity-routing spec, Phase 4).
|
|
7577
7577
|
*
|
|
7578
|
-
* One shape shared by the recorder
|
|
7579
|
-
*
|
|
7580
|
-
*
|
|
7581
|
-
*
|
|
7582
|
-
*
|
|
7583
|
-
* row on the owning addon's surface.
|
|
7578
|
+
* One shape shared by the recorder and pipeline-analytics internal movers.
|
|
7579
|
+
* The public admin surface is `storage-migration`; child jobs remain in RAM
|
|
7580
|
+
* because copy-if-absent, verify, delete and index/row repoint are resumable.
|
|
7581
|
+
* Each completed/failed run also lands one durable ops-log row on its owning
|
|
7582
|
+
* addon surface.
|
|
7584
7583
|
*/
|
|
7585
7584
|
var RelocateJobStateSchema = _enum([
|
|
7586
7585
|
"running",
|
|
@@ -7607,19 +7606,100 @@ var RelocateJobSchema = object({
|
|
|
7607
7606
|
finishedAt: number().nullable(),
|
|
7608
7607
|
error: string().nullable()
|
|
7609
7608
|
});
|
|
7609
|
+
/** Profile-derived footage selection used only by the migration coordinator:
|
|
7610
|
+
* `recordings` owns high+mid; `recordingsLow` owns low. */
|
|
7611
|
+
var RelocateFootageClassSchema = _enum(["recordings", "recordingsLow"]);
|
|
7610
7612
|
var RelocateFootageInputSchema = object({
|
|
7611
|
-
deviceId: number().optional(),
|
|
7612
7613
|
fromLocationId: string(),
|
|
7613
7614
|
toLocationId: string(),
|
|
7614
7615
|
entities: array(_enum(["segments"])).optional(),
|
|
7616
|
+
/** Limits relocation to the logical profile class. Omit only for the
|
|
7617
|
+
* pre-orchestration compatibility path. */
|
|
7618
|
+
footageClass: RelocateFootageClassSchema.optional(),
|
|
7615
7619
|
/** Copy throttle in MB/s (default 40) — the drain is a background chore,
|
|
7616
7620
|
* never allowed to starve live writers. */
|
|
7617
7621
|
throttleMbps: number().min(1).max(1e3).optional()
|
|
7618
7622
|
});
|
|
7619
|
-
|
|
7620
|
-
|
|
7623
|
+
/** Internal, lease-scoped participant operation. It is intentionally separate
|
|
7624
|
+
* from persistent recording settings: a migration never changes
|
|
7625
|
+
* `RecordingConfig.enabled` or camera wrapper bindings. */
|
|
7626
|
+
var StorageMigrationLeaseInputSchema = object({ leaseId: string().min(1) });
|
|
7627
|
+
var StorageMigrationFootageMoveInputSchema = RelocateFootageInputSchema.extend({ leaseId: string().min(1) });
|
|
7628
|
+
var StorageMigrationMediaMoveInputSchema = object({
|
|
7621
7629
|
toLocationId: string(),
|
|
7622
7630
|
throttleMbps: number().min(1).max(1e3).optional()
|
|
7631
|
+
}).extend({ leaseId: string().min(1) });
|
|
7632
|
+
/** The independently selectable logical storage classes. `recordings`
|
|
7633
|
+
* encompasses the high and mid segment profiles; `recordingsLow` is low
|
|
7634
|
+
* segments; `eventMedia` is post-analysis blobs. */
|
|
7635
|
+
var StorageMigrationClassSchema = _enum([
|
|
7636
|
+
"recordings",
|
|
7637
|
+
"recordingsLow",
|
|
7638
|
+
"eventMedia"
|
|
7639
|
+
]);
|
|
7640
|
+
/** A destination is always an existing, fully-qualified location id. The
|
|
7641
|
+
* migration API intentionally never changes a source location's `basePath`:
|
|
7642
|
+
* callers create a new `<type>:<slug>` location, then select it here. */
|
|
7643
|
+
var StorageMigrationDestinationsSchema = object({
|
|
7644
|
+
recordings: string().min(1).optional(),
|
|
7645
|
+
recordingsLow: string().min(1).optional(),
|
|
7646
|
+
eventMedia: string().min(1).optional()
|
|
7647
|
+
}).refine((value) => Object.keys(value).length > 0, { message: "select at least one storage class" });
|
|
7648
|
+
/** Shared input for planning and starting an orchestrated storage migration. */
|
|
7649
|
+
var StorageMigrationInputSchema = object({
|
|
7650
|
+
destinations: StorageMigrationDestinationsSchema,
|
|
7651
|
+
throttleMbps: number().min(1).max(1e3).optional()
|
|
7652
|
+
});
|
|
7653
|
+
/** The durable coordinator state machine. The only phase that changes default
|
|
7654
|
+
* locations is `repointing`, after every selected mover has completed and been
|
|
7655
|
+
* verified. */
|
|
7656
|
+
var StorageMigrationPhaseSchema = _enum([
|
|
7657
|
+
"planning",
|
|
7658
|
+
"pausing",
|
|
7659
|
+
"moving",
|
|
7660
|
+
"verifying",
|
|
7661
|
+
"repointing",
|
|
7662
|
+
"refreshing",
|
|
7663
|
+
"resuming",
|
|
7664
|
+
"done",
|
|
7665
|
+
"failed",
|
|
7666
|
+
"cancelled"
|
|
7667
|
+
]);
|
|
7668
|
+
var StorageMigrationParticipantSchema = _enum([
|
|
7669
|
+
"pipeline",
|
|
7670
|
+
"recorder",
|
|
7671
|
+
"analytics"
|
|
7672
|
+
]);
|
|
7673
|
+
var StorageMigrationMoveSchema = object({
|
|
7674
|
+
storageClass: StorageMigrationClassSchema,
|
|
7675
|
+
fromLocationId: string(),
|
|
7676
|
+
toLocationId: string(),
|
|
7677
|
+
moverJobId: string().nullable(),
|
|
7678
|
+
state: RelocateJobStateSchema.nullable(),
|
|
7679
|
+
error: string().nullable()
|
|
7680
|
+
});
|
|
7681
|
+
var StorageMigrationJobSchema = object({
|
|
7682
|
+
jobId: string(),
|
|
7683
|
+
phase: StorageMigrationPhaseSchema,
|
|
7684
|
+
destinations: StorageMigrationDestinationsSchema,
|
|
7685
|
+
throttleMbps: number(),
|
|
7686
|
+
moves: array(StorageMigrationMoveSchema),
|
|
7687
|
+
pauseLeaseId: string().nullable(),
|
|
7688
|
+
pausedParticipants: array(StorageMigrationParticipantSchema),
|
|
7689
|
+
repointed: boolean(),
|
|
7690
|
+
cancelRequested: boolean(),
|
|
7691
|
+
startedAt: number(),
|
|
7692
|
+
updatedAt: number(),
|
|
7693
|
+
finishedAt: number().nullable(),
|
|
7694
|
+
error: string().nullable()
|
|
7695
|
+
});
|
|
7696
|
+
var StorageMigrationPlanSchema = object({
|
|
7697
|
+
destinations: StorageMigrationDestinationsSchema,
|
|
7698
|
+
moves: array(object({
|
|
7699
|
+
storageClass: StorageMigrationClassSchema,
|
|
7700
|
+
fromLocationId: string(),
|
|
7701
|
+
toLocationId: string()
|
|
7702
|
+
}))
|
|
7623
7703
|
});
|
|
7624
7704
|
/**
|
|
7625
7705
|
* `StorageLocationType` — an addon-declared id that identifies the *kind* of
|
|
@@ -16339,13 +16419,19 @@ DeviceType.Camera, method(object({ deviceId: number() }), array(TrackSchema).rea
|
|
|
16339
16419
|
}), method(object({ deviceId: number() }), EventPruneCountsSchema, {
|
|
16340
16420
|
kind: "mutation",
|
|
16341
16421
|
auth: "admin"
|
|
16342
|
-
}), method(
|
|
16422
|
+
}), method(StorageMigrationLeaseInputSchema, object({ paused: literal(true) }), {
|
|
16343
16423
|
kind: "mutation",
|
|
16344
16424
|
auth: "admin"
|
|
16345
|
-
}), method(object({
|
|
16346
|
-
kind: "
|
|
16425
|
+
}), method(StorageMigrationLeaseInputSchema, object({ resumed: literal(true) }), {
|
|
16426
|
+
kind: "mutation",
|
|
16427
|
+
auth: "admin"
|
|
16428
|
+
}), method(StorageMigrationLeaseInputSchema, object({ refreshed: literal(true) }), {
|
|
16429
|
+
kind: "mutation",
|
|
16430
|
+
auth: "admin"
|
|
16431
|
+
}), method(StorageMigrationMediaMoveInputSchema, object({ jobId: string() }), {
|
|
16432
|
+
kind: "mutation",
|
|
16347
16433
|
auth: "admin"
|
|
16348
|
-
}), method(object({ jobId: string() }), object({ cancelled: boolean() }), {
|
|
16434
|
+
}), method(object({ jobId: string() }), RelocateJobSchema.nullable(), { auth: "admin" }), method(object({ jobId: string() }), object({ cancelled: boolean() }), {
|
|
16349
16435
|
kind: "mutation",
|
|
16350
16436
|
auth: "admin"
|
|
16351
16437
|
}), method(OpsLogQueryInputSchema, array(OpsLogEntrySchema).readonly(), {
|
|
@@ -17875,7 +17961,13 @@ var NodeInferenceDevicesSchema = object({
|
|
|
17875
17961
|
reachable: boolean(),
|
|
17876
17962
|
devices: array(NodeInferenceDeviceSchema).readonly()
|
|
17877
17963
|
});
|
|
17878
|
-
method(object({
|
|
17964
|
+
method(StorageMigrationLeaseInputSchema, object({ paused: literal(true) }), {
|
|
17965
|
+
kind: "mutation",
|
|
17966
|
+
auth: "admin"
|
|
17967
|
+
}), method(StorageMigrationLeaseInputSchema, object({ resumed: literal(true) }), {
|
|
17968
|
+
kind: "mutation",
|
|
17969
|
+
auth: "admin"
|
|
17970
|
+
}), method(object({
|
|
17879
17971
|
deviceId: number(),
|
|
17880
17972
|
agentNodeId: string()
|
|
17881
17973
|
}), object({ success: literal(true) }), {
|
|
@@ -18549,6 +18641,13 @@ method(object({ locationId: string() }), EvictableUsageSchema), method(object({
|
|
|
18549
18641
|
locationId: string(),
|
|
18550
18642
|
targetBytes: number().int().positive()
|
|
18551
18643
|
}), EvictResultSchema, { kind: "mutation" });
|
|
18644
|
+
method(StorageMigrationInputSchema, StorageMigrationPlanSchema, { auth: "admin" }), method(StorageMigrationInputSchema, object({ jobId: string() }), {
|
|
18645
|
+
kind: "mutation",
|
|
18646
|
+
auth: "admin"
|
|
18647
|
+
}), method(object({ jobId: string().optional() }), StorageMigrationJobSchema.nullable(), { auth: "admin" }), method(object({ jobId: string() }), object({ cancelled: boolean() }), {
|
|
18648
|
+
kind: "mutation",
|
|
18649
|
+
auth: "admin"
|
|
18650
|
+
});
|
|
18552
18651
|
var ProviderInfoSchema = discriminatedUnion("shouldSaveDiskSpace", [object({
|
|
18553
18652
|
providerId: string().min(1),
|
|
18554
18653
|
displayName: string().min(1),
|
|
@@ -18652,6 +18751,28 @@ var TerminalProfileInfoSchema = object({
|
|
|
18652
18751
|
label: string(),
|
|
18653
18752
|
description: string().optional()
|
|
18654
18753
|
});
|
|
18754
|
+
/**
|
|
18755
|
+
* A durable operator-created Terminal instance. Profiles are templates; only
|
|
18756
|
+
* an instance declares a camera.
|
|
18757
|
+
*/
|
|
18758
|
+
var TerminalInstanceInfoSchema = object({
|
|
18759
|
+
instanceId: string(),
|
|
18760
|
+
cameraStableId: string(),
|
|
18761
|
+
nodeId: string(),
|
|
18762
|
+
profileId: string(),
|
|
18763
|
+
profileLabel: string(),
|
|
18764
|
+
name: string(),
|
|
18765
|
+
enabled: boolean()
|
|
18766
|
+
});
|
|
18767
|
+
var TerminalLegacyCameraSchema = object({
|
|
18768
|
+
stableId: string(),
|
|
18769
|
+
nodeId: string(),
|
|
18770
|
+
profileId: string(),
|
|
18771
|
+
profileLabel: string(),
|
|
18772
|
+
name: string(),
|
|
18773
|
+
/** Only legacy monitor cameras can retain their historic stable identity. */
|
|
18774
|
+
adoptable: boolean()
|
|
18775
|
+
});
|
|
18655
18776
|
var TerminalOutputEventSchema = discriminatedUnion("kind", [object({
|
|
18656
18777
|
seq: number().int().positive(),
|
|
18657
18778
|
kind: literal("data"),
|
|
@@ -18668,7 +18789,29 @@ var TerminalOutputBatchSchema = object({
|
|
|
18668
18789
|
snapshot: string().optional(),
|
|
18669
18790
|
events: array(TerminalOutputEventSchema).readonly()
|
|
18670
18791
|
});
|
|
18671
|
-
method(_void(), array(TerminalProfileInfoSchema).readonly(), { auth: "admin" }), method(_void(), array(
|
|
18792
|
+
method(_void(), array(TerminalProfileInfoSchema).readonly(), { auth: "admin" }), method(_void(), array(TerminalInstanceInfoSchema).readonly(), { auth: "admin" }), method(object({
|
|
18793
|
+
targetNodeId: string().min(1),
|
|
18794
|
+
profileId: string().min(1),
|
|
18795
|
+
name: string().trim().min(1).max(160).optional()
|
|
18796
|
+
}), TerminalInstanceInfoSchema, {
|
|
18797
|
+
kind: "mutation",
|
|
18798
|
+
auth: "admin"
|
|
18799
|
+
}), method(object({ instanceId: string().min(1) }), _void(), {
|
|
18800
|
+
kind: "mutation",
|
|
18801
|
+
auth: "admin"
|
|
18802
|
+
}), method(object({
|
|
18803
|
+
instanceId: string().min(1),
|
|
18804
|
+
enabled: boolean()
|
|
18805
|
+
}), TerminalInstanceInfoSchema, {
|
|
18806
|
+
kind: "mutation",
|
|
18807
|
+
auth: "admin"
|
|
18808
|
+
}), method(_void(), array(TerminalLegacyCameraSchema).readonly(), { auth: "admin" }), method(object({
|
|
18809
|
+
stableId: string().min(1),
|
|
18810
|
+
name: string().trim().min(1).max(160).optional()
|
|
18811
|
+
}), TerminalInstanceInfoSchema, {
|
|
18812
|
+
kind: "mutation",
|
|
18813
|
+
auth: "admin"
|
|
18814
|
+
}), method(_void(), array(TerminalSessionInfoSchema).readonly(), { auth: "admin" }), method(object({
|
|
18672
18815
|
profileId: string(),
|
|
18673
18816
|
cols: number().int().positive(),
|
|
18674
18817
|
rows: number().int().positive()
|
|
@@ -18685,7 +18828,13 @@ method(_void(), array(TerminalProfileInfoSchema).readonly(), { auth: "admin" }),
|
|
|
18685
18828
|
}), method(object({
|
|
18686
18829
|
sessionId: string(),
|
|
18687
18830
|
afterSeq: number().int().nonnegative(),
|
|
18688
|
-
waitMs: number().int().min(0).max(2e3).default(0)
|
|
18831
|
+
waitMs: number().int().min(0).max(2e3).default(0),
|
|
18832
|
+
/**
|
|
18833
|
+
* Wait when a just-opened session has no output yet. Kept opt-in so a
|
|
18834
|
+
* browser's initial repaint remains immediate; the camera snapshot
|
|
18835
|
+
* relay uses it to avoid encoding a blank startup frame.
|
|
18836
|
+
*/
|
|
18837
|
+
waitForOutput: boolean().optional()
|
|
18689
18838
|
}), TerminalOutputBatchSchema, {
|
|
18690
18839
|
kind: "mutation",
|
|
18691
18840
|
auth: "admin",
|
|
@@ -21183,6 +21332,7 @@ var FaceInfoSchema = object({
|
|
|
21183
21332
|
var FaceFilterEnum = _enum([
|
|
21184
21333
|
"unassigned",
|
|
21185
21334
|
"recognized",
|
|
21335
|
+
"identified",
|
|
21186
21336
|
"all"
|
|
21187
21337
|
]);
|
|
21188
21338
|
var MediaFileLiteSchema$1 = object({
|
|
@@ -21211,6 +21361,8 @@ method(_void(), array(IdentitySchema).readonly()), method(object({ name: string(
|
|
|
21211
21361
|
kind: "mutation",
|
|
21212
21362
|
auth: "admin"
|
|
21213
21363
|
}), method(object({
|
|
21364
|
+
/** Restrict to one camera. Absent keeps the cluster-wide gallery view. */
|
|
21365
|
+
deviceId: number().int().optional(),
|
|
21214
21366
|
limit: number().int().positive().optional(),
|
|
21215
21367
|
filter: FaceFilterEnum.optional(),
|
|
21216
21368
|
/**
|
|
@@ -23440,6 +23592,10 @@ var OsdSourceSchema = discriminatedUnion("kind", [
|
|
|
23440
23592
|
capName: string().min(1).max(64),
|
|
23441
23593
|
/** Dot path inside the slice, e.g. `detected`, `value`, `mode`. */
|
|
23442
23594
|
valuePath: string().min(1).max(64)
|
|
23595
|
+
}),
|
|
23596
|
+
object({
|
|
23597
|
+
kind: literal("latest-recognition"),
|
|
23598
|
+
recognition: _enum(["person", "plate"])
|
|
23443
23599
|
})
|
|
23444
23600
|
]);
|
|
23445
23601
|
var OsdSlotBindingSchema = object({
|
|
@@ -23545,6 +23701,15 @@ method(object({ deviceId: number().int() }), object({
|
|
|
23545
23701
|
}), object({ success: literal(true) }), {
|
|
23546
23702
|
kind: "mutation",
|
|
23547
23703
|
auth: "admin"
|
|
23704
|
+
}), method(object({
|
|
23705
|
+
sourceDeviceId: number().int(),
|
|
23706
|
+
targetDeviceId: number().int()
|
|
23707
|
+
}), object({
|
|
23708
|
+
copied: number().int().nonnegative(),
|
|
23709
|
+
skipped: number().int().nonnegative()
|
|
23710
|
+
}), {
|
|
23711
|
+
kind: "mutation",
|
|
23712
|
+
auth: "admin"
|
|
23548
23713
|
}), method(object({
|
|
23549
23714
|
deviceId: number().int(),
|
|
23550
23715
|
slotId: string().min(1),
|
|
@@ -24642,13 +24807,19 @@ method(object({
|
|
|
24642
24807
|
}), {
|
|
24643
24808
|
kind: "mutation",
|
|
24644
24809
|
auth: "admin"
|
|
24645
|
-
}), method(
|
|
24810
|
+
}), method(StorageMigrationLeaseInputSchema, object({ paused: literal(true) }), {
|
|
24646
24811
|
kind: "mutation",
|
|
24647
24812
|
auth: "admin"
|
|
24648
|
-
}), method(object({
|
|
24649
|
-
kind: "
|
|
24813
|
+
}), method(StorageMigrationLeaseInputSchema, object({ resumed: literal(true) }), {
|
|
24814
|
+
kind: "mutation",
|
|
24650
24815
|
auth: "admin"
|
|
24651
|
-
}), method(
|
|
24816
|
+
}), method(StorageMigrationLeaseInputSchema, object({ refreshed: literal(true) }), {
|
|
24817
|
+
kind: "mutation",
|
|
24818
|
+
auth: "admin"
|
|
24819
|
+
}), method(StorageMigrationFootageMoveInputSchema, object({ jobId: string() }), {
|
|
24820
|
+
kind: "mutation",
|
|
24821
|
+
auth: "admin"
|
|
24822
|
+
}), method(object({ jobId: string() }), RelocateJobSchema.nullable(), { auth: "admin" }), method(object({ jobId: string() }), object({ cancelled: boolean() }), {
|
|
24652
24823
|
kind: "mutation",
|
|
24653
24824
|
auth: "admin"
|
|
24654
24825
|
});
|
|
@@ -30254,6 +30425,12 @@ Object.freeze({
|
|
|
30254
30425
|
addonId: null,
|
|
30255
30426
|
access: "delete"
|
|
30256
30427
|
},
|
|
30428
|
+
"osdManager.copyDeviceConfiguration": {
|
|
30429
|
+
capName: "osd-manager",
|
|
30430
|
+
capScope: "system",
|
|
30431
|
+
addonId: null,
|
|
30432
|
+
access: "create"
|
|
30433
|
+
},
|
|
30257
30434
|
"osdManager.getConditionSupport": {
|
|
30258
30435
|
capName: "osd-manager",
|
|
30259
30436
|
capScope: "system",
|
|
@@ -30350,7 +30527,7 @@ Object.freeze({
|
|
|
30350
30527
|
addonId: null,
|
|
30351
30528
|
access: "create"
|
|
30352
30529
|
},
|
|
30353
|
-
"pipelineAnalytics.
|
|
30530
|
+
"pipelineAnalytics.cancelStorageMigrationMove": {
|
|
30354
30531
|
capName: "pipeline-analytics",
|
|
30355
30532
|
capScope: "device",
|
|
30356
30533
|
addonId: null,
|
|
@@ -30422,12 +30599,6 @@ Object.freeze({
|
|
|
30422
30599
|
addonId: null,
|
|
30423
30600
|
access: "view"
|
|
30424
30601
|
},
|
|
30425
|
-
"pipelineAnalytics.getMediaRelocateStatus": {
|
|
30426
|
-
capName: "pipeline-analytics",
|
|
30427
|
-
capScope: "device",
|
|
30428
|
-
addonId: null,
|
|
30429
|
-
access: "view"
|
|
30430
|
-
},
|
|
30431
30602
|
"pipelineAnalytics.getMotionEvents": {
|
|
30432
30603
|
capName: "pipeline-analytics",
|
|
30433
30604
|
capScope: "device",
|
|
@@ -30464,6 +30635,12 @@ Object.freeze({
|
|
|
30464
30635
|
addonId: null,
|
|
30465
30636
|
access: "view"
|
|
30466
30637
|
},
|
|
30638
|
+
"pipelineAnalytics.getStorageMigrationMoveStatus": {
|
|
30639
|
+
capName: "pipeline-analytics",
|
|
30640
|
+
capScope: "device",
|
|
30641
|
+
addonId: null,
|
|
30642
|
+
access: "view"
|
|
30643
|
+
},
|
|
30467
30644
|
"pipelineAnalytics.getTrack": {
|
|
30468
30645
|
capName: "pipeline-analytics",
|
|
30469
30646
|
capScope: "device",
|
|
@@ -30542,6 +30719,12 @@ Object.freeze({
|
|
|
30542
30719
|
addonId: null,
|
|
30543
30720
|
access: "view"
|
|
30544
30721
|
},
|
|
30722
|
+
"pipelineAnalytics.pauseForStorageMigration": {
|
|
30723
|
+
capName: "pipeline-analytics",
|
|
30724
|
+
capScope: "device",
|
|
30725
|
+
addonId: null,
|
|
30726
|
+
access: "create"
|
|
30727
|
+
},
|
|
30545
30728
|
"pipelineAnalytics.proposeRetrainAnnotations": {
|
|
30546
30729
|
capName: "pipeline-analytics",
|
|
30547
30730
|
capScope: "device",
|
|
@@ -30572,7 +30755,7 @@ Object.freeze({
|
|
|
30572
30755
|
addonId: null,
|
|
30573
30756
|
access: "create"
|
|
30574
30757
|
},
|
|
30575
|
-
"pipelineAnalytics.
|
|
30758
|
+
"pipelineAnalytics.refreshStorageLocationsForMigration": {
|
|
30576
30759
|
capName: "pipeline-analytics",
|
|
30577
30760
|
capScope: "device",
|
|
30578
30761
|
addonId: null,
|
|
@@ -30584,6 +30767,12 @@ Object.freeze({
|
|
|
30584
30767
|
addonId: null,
|
|
30585
30768
|
access: "create"
|
|
30586
30769
|
},
|
|
30770
|
+
"pipelineAnalytics.resumeForStorageMigration": {
|
|
30771
|
+
capName: "pipeline-analytics",
|
|
30772
|
+
capScope: "device",
|
|
30773
|
+
addonId: null,
|
|
30774
|
+
access: "create"
|
|
30775
|
+
},
|
|
30587
30776
|
"pipelineAnalytics.saveRetrainAnnotations": {
|
|
30588
30777
|
capName: "pipeline-analytics",
|
|
30589
30778
|
capScope: "device",
|
|
@@ -30608,6 +30797,12 @@ Object.freeze({
|
|
|
30608
30797
|
addonId: null,
|
|
30609
30798
|
access: "create"
|
|
30610
30799
|
},
|
|
30800
|
+
"pipelineAnalytics.startStorageMigrationMove": {
|
|
30801
|
+
capName: "pipeline-analytics",
|
|
30802
|
+
capScope: "device",
|
|
30803
|
+
addonId: null,
|
|
30804
|
+
access: "create"
|
|
30805
|
+
},
|
|
30611
30806
|
"pipelineAnalytics.wipeAllAnalytics": {
|
|
30612
30807
|
capName: "pipeline-analytics",
|
|
30613
30808
|
capScope: "device",
|
|
@@ -30974,6 +31169,12 @@ Object.freeze({
|
|
|
30974
31169
|
addonId: null,
|
|
30975
31170
|
access: "view"
|
|
30976
31171
|
},
|
|
31172
|
+
"pipelineOrchestrator.pauseForStorageMigration": {
|
|
31173
|
+
capName: "pipeline-orchestrator",
|
|
31174
|
+
capScope: "system",
|
|
31175
|
+
addonId: null,
|
|
31176
|
+
access: "create"
|
|
31177
|
+
},
|
|
30977
31178
|
"pipelineOrchestrator.rebalance": {
|
|
30978
31179
|
capName: "pipeline-orchestrator",
|
|
30979
31180
|
capScope: "system",
|
|
@@ -30998,6 +31199,12 @@ Object.freeze({
|
|
|
30998
31199
|
addonId: null,
|
|
30999
31200
|
access: "view"
|
|
31000
31201
|
},
|
|
31202
|
+
"pipelineOrchestrator.resumeForStorageMigration": {
|
|
31203
|
+
capName: "pipeline-orchestrator",
|
|
31204
|
+
capScope: "system",
|
|
31205
|
+
addonId: null,
|
|
31206
|
+
access: "create"
|
|
31207
|
+
},
|
|
31001
31208
|
"pipelineOrchestrator.saveTemplate": {
|
|
31002
31209
|
capName: "pipeline-orchestrator",
|
|
31003
31210
|
capScope: "system",
|
|
@@ -31394,7 +31601,7 @@ Object.freeze({
|
|
|
31394
31601
|
addonId: null,
|
|
31395
31602
|
access: "create"
|
|
31396
31603
|
},
|
|
31397
|
-
"recording.
|
|
31604
|
+
"recording.cancelStorageMigrationMove": {
|
|
31398
31605
|
capName: "recording",
|
|
31399
31606
|
capScope: "system",
|
|
31400
31607
|
addonId: null,
|
|
@@ -31430,7 +31637,7 @@ Object.freeze({
|
|
|
31430
31637
|
addonId: null,
|
|
31431
31638
|
access: "view"
|
|
31432
31639
|
},
|
|
31433
|
-
"recording.
|
|
31640
|
+
"recording.getStorageMigrationMoveStatus": {
|
|
31434
31641
|
capName: "recording",
|
|
31435
31642
|
capScope: "system",
|
|
31436
31643
|
addonId: null,
|
|
@@ -31454,6 +31661,12 @@ Object.freeze({
|
|
|
31454
31661
|
addonId: null,
|
|
31455
31662
|
access: "view"
|
|
31456
31663
|
},
|
|
31664
|
+
"recording.pauseForStorageMigration": {
|
|
31665
|
+
capName: "recording",
|
|
31666
|
+
capScope: "system",
|
|
31667
|
+
addonId: null,
|
|
31668
|
+
access: "create"
|
|
31669
|
+
},
|
|
31457
31670
|
"recording.pruneFootage": {
|
|
31458
31671
|
capName: "recording",
|
|
31459
31672
|
capScope: "system",
|
|
@@ -31472,7 +31685,7 @@ Object.freeze({
|
|
|
31472
31685
|
addonId: null,
|
|
31473
31686
|
access: "view"
|
|
31474
31687
|
},
|
|
31475
|
-
"recording.
|
|
31688
|
+
"recording.refreshStorageLocationsForMigration": {
|
|
31476
31689
|
capName: "recording",
|
|
31477
31690
|
capScope: "system",
|
|
31478
31691
|
addonId: null,
|
|
@@ -31496,12 +31709,24 @@ Object.freeze({
|
|
|
31496
31709
|
addonId: null,
|
|
31497
31710
|
access: "create"
|
|
31498
31711
|
},
|
|
31712
|
+
"recording.resumeForStorageMigration": {
|
|
31713
|
+
capName: "recording",
|
|
31714
|
+
capScope: "system",
|
|
31715
|
+
addonId: null,
|
|
31716
|
+
access: "create"
|
|
31717
|
+
},
|
|
31499
31718
|
"recording.setDeviceConfig": {
|
|
31500
31719
|
capName: "recording",
|
|
31501
31720
|
capScope: "system",
|
|
31502
31721
|
addonId: null,
|
|
31503
31722
|
access: "create"
|
|
31504
31723
|
},
|
|
31724
|
+
"recording.startStorageMigrationMove": {
|
|
31725
|
+
capName: "recording",
|
|
31726
|
+
capScope: "system",
|
|
31727
|
+
addonId: null,
|
|
31728
|
+
access: "create"
|
|
31729
|
+
},
|
|
31505
31730
|
"recordingExport.cancelExport": {
|
|
31506
31731
|
capName: "recordingExport",
|
|
31507
31732
|
capScope: "system",
|
|
@@ -31892,6 +32117,30 @@ Object.freeze({
|
|
|
31892
32117
|
addonId: null,
|
|
31893
32118
|
access: "view"
|
|
31894
32119
|
},
|
|
32120
|
+
"storageMigration.cancel": {
|
|
32121
|
+
capName: "storage-migration",
|
|
32122
|
+
capScope: "system",
|
|
32123
|
+
addonId: null,
|
|
32124
|
+
access: "create"
|
|
32125
|
+
},
|
|
32126
|
+
"storageMigration.plan": {
|
|
32127
|
+
capName: "storage-migration",
|
|
32128
|
+
capScope: "system",
|
|
32129
|
+
addonId: null,
|
|
32130
|
+
access: "view"
|
|
32131
|
+
},
|
|
32132
|
+
"storageMigration.start": {
|
|
32133
|
+
capName: "storage-migration",
|
|
32134
|
+
capScope: "system",
|
|
32135
|
+
addonId: null,
|
|
32136
|
+
access: "create"
|
|
32137
|
+
},
|
|
32138
|
+
"storageMigration.status": {
|
|
32139
|
+
capName: "storage-migration",
|
|
32140
|
+
capScope: "system",
|
|
32141
|
+
addonId: null,
|
|
32142
|
+
access: "view"
|
|
32143
|
+
},
|
|
31895
32144
|
"storageProvider.abortUpload": {
|
|
31896
32145
|
capName: "storage-provider",
|
|
31897
32146
|
capScope: "system",
|
|
@@ -32270,12 +32519,42 @@ Object.freeze({
|
|
|
32270
32519
|
addonId: null,
|
|
32271
32520
|
access: "create"
|
|
32272
32521
|
},
|
|
32522
|
+
"terminalSession.adoptLegacyMonitor": {
|
|
32523
|
+
capName: "terminal-session",
|
|
32524
|
+
capScope: "system",
|
|
32525
|
+
addonId: null,
|
|
32526
|
+
access: "create"
|
|
32527
|
+
},
|
|
32273
32528
|
"terminalSession.close": {
|
|
32274
32529
|
capName: "terminal-session",
|
|
32275
32530
|
capScope: "system",
|
|
32276
32531
|
addonId: null,
|
|
32277
32532
|
access: "create"
|
|
32278
32533
|
},
|
|
32534
|
+
"terminalSession.createInstance": {
|
|
32535
|
+
capName: "terminal-session",
|
|
32536
|
+
capScope: "system",
|
|
32537
|
+
addonId: null,
|
|
32538
|
+
access: "create"
|
|
32539
|
+
},
|
|
32540
|
+
"terminalSession.deleteInstance": {
|
|
32541
|
+
capName: "terminal-session",
|
|
32542
|
+
capScope: "system",
|
|
32543
|
+
addonId: null,
|
|
32544
|
+
access: "delete"
|
|
32545
|
+
},
|
|
32546
|
+
"terminalSession.listInstances": {
|
|
32547
|
+
capName: "terminal-session",
|
|
32548
|
+
capScope: "system",
|
|
32549
|
+
addonId: null,
|
|
32550
|
+
access: "view"
|
|
32551
|
+
},
|
|
32552
|
+
"terminalSession.listLegacyCameras": {
|
|
32553
|
+
capName: "terminal-session",
|
|
32554
|
+
capScope: "system",
|
|
32555
|
+
addonId: null,
|
|
32556
|
+
access: "view"
|
|
32557
|
+
},
|
|
32279
32558
|
"terminalSession.listProfiles": {
|
|
32280
32559
|
capName: "terminal-session",
|
|
32281
32560
|
capScope: "system",
|
|
@@ -32306,6 +32585,12 @@ Object.freeze({
|
|
|
32306
32585
|
addonId: null,
|
|
32307
32586
|
access: "create"
|
|
32308
32587
|
},
|
|
32588
|
+
"terminalSession.setInstanceEnabled": {
|
|
32589
|
+
capName: "terminal-session",
|
|
32590
|
+
capScope: "system",
|
|
32591
|
+
addonId: null,
|
|
32592
|
+
access: "create"
|
|
32593
|
+
},
|
|
32309
32594
|
"terminalSession.writeInput": {
|
|
32310
32595
|
capName: "terminal-session",
|
|
32311
32596
|
capScope: "system",
|
package/package.json
CHANGED