@camstack/addon-provider-homematic 1.2.12 → 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 +357 -30
- package/dist/addon.mjs +357 -30
- 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",
|
|
16346
16426
|
auth: "admin"
|
|
16347
|
-
}), method(
|
|
16427
|
+
}), method(StorageMigrationLeaseInputSchema, object({ refreshed: literal(true) }), {
|
|
16428
|
+
kind: "mutation",
|
|
16429
|
+
auth: "admin"
|
|
16430
|
+
}), method(StorageMigrationMediaMoveInputSchema, object({ jobId: string() }), {
|
|
16431
|
+
kind: "mutation",
|
|
16432
|
+
auth: "admin"
|
|
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,7 +18750,67 @@ var TerminalProfileInfoSchema = object({
|
|
|
18651
18750
|
label: string(),
|
|
18652
18751
|
description: string().optional()
|
|
18653
18752
|
});
|
|
18654
|
-
|
|
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
|
+
});
|
|
18775
|
+
var TerminalOutputEventSchema = discriminatedUnion("kind", [object({
|
|
18776
|
+
seq: number().int().positive(),
|
|
18777
|
+
kind: literal("data"),
|
|
18778
|
+
data: string()
|
|
18779
|
+
}), object({
|
|
18780
|
+
seq: number().int().positive(),
|
|
18781
|
+
kind: literal("exit"),
|
|
18782
|
+
exitCode: number().int(),
|
|
18783
|
+
signal: number().int().optional()
|
|
18784
|
+
})]);
|
|
18785
|
+
var TerminalOutputBatchSchema = object({
|
|
18786
|
+
cursor: number().int().nonnegative(),
|
|
18787
|
+
reset: boolean(),
|
|
18788
|
+
snapshot: string().optional(),
|
|
18789
|
+
events: array(TerminalOutputEventSchema).readonly()
|
|
18790
|
+
});
|
|
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({
|
|
18655
18814
|
profileId: string(),
|
|
18656
18815
|
cols: number().int().positive(),
|
|
18657
18816
|
rows: number().int().positive()
|
|
@@ -18665,6 +18824,26 @@ method(_void(), array(TerminalProfileInfoSchema).readonly(), { auth: "admin" }),
|
|
|
18665
18824
|
}), _void(), {
|
|
18666
18825
|
kind: "mutation",
|
|
18667
18826
|
auth: "admin"
|
|
18827
|
+
}), method(object({
|
|
18828
|
+
sessionId: string(),
|
|
18829
|
+
afterSeq: number().int().nonnegative(),
|
|
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()
|
|
18837
|
+
}), TerminalOutputBatchSchema, {
|
|
18838
|
+
kind: "mutation",
|
|
18839
|
+
auth: "admin",
|
|
18840
|
+
timeoutMs: 15e3
|
|
18841
|
+
}), method(object({
|
|
18842
|
+
sessionId: string(),
|
|
18843
|
+
data: string().max(64 * 1024)
|
|
18844
|
+
}), _void(), {
|
|
18845
|
+
kind: "mutation",
|
|
18846
|
+
auth: "admin"
|
|
18668
18847
|
}), method(object({ sessionId: string() }), _void(), {
|
|
18669
18848
|
kind: "mutation",
|
|
18670
18849
|
auth: "admin"
|
|
@@ -21152,6 +21331,7 @@ var FaceInfoSchema = object({
|
|
|
21152
21331
|
var FaceFilterEnum = _enum([
|
|
21153
21332
|
"unassigned",
|
|
21154
21333
|
"recognized",
|
|
21334
|
+
"identified",
|
|
21155
21335
|
"all"
|
|
21156
21336
|
]);
|
|
21157
21337
|
var MediaFileLiteSchema$1 = object({
|
|
@@ -21180,6 +21360,8 @@ method(_void(), array(IdentitySchema).readonly()), method(object({ name: string(
|
|
|
21180
21360
|
kind: "mutation",
|
|
21181
21361
|
auth: "admin"
|
|
21182
21362
|
}), method(object({
|
|
21363
|
+
/** Restrict to one camera. Absent keeps the cluster-wide gallery view. */
|
|
21364
|
+
deviceId: number().int().optional(),
|
|
21183
21365
|
limit: number().int().positive().optional(),
|
|
21184
21366
|
filter: FaceFilterEnum.optional(),
|
|
21185
21367
|
/**
|
|
@@ -23409,6 +23591,10 @@ var OsdSourceSchema = discriminatedUnion("kind", [
|
|
|
23409
23591
|
capName: string().min(1).max(64),
|
|
23410
23592
|
/** Dot path inside the slice, e.g. `detected`, `value`, `mode`. */
|
|
23411
23593
|
valuePath: string().min(1).max(64)
|
|
23594
|
+
}),
|
|
23595
|
+
object({
|
|
23596
|
+
kind: literal("latest-recognition"),
|
|
23597
|
+
recognition: _enum(["person", "plate"])
|
|
23412
23598
|
})
|
|
23413
23599
|
]);
|
|
23414
23600
|
var OsdSlotBindingSchema = object({
|
|
@@ -23514,6 +23700,15 @@ method(object({ deviceId: number().int() }), object({
|
|
|
23514
23700
|
}), object({ success: literal(true) }), {
|
|
23515
23701
|
kind: "mutation",
|
|
23516
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"
|
|
23517
23712
|
}), method(object({
|
|
23518
23713
|
deviceId: number().int(),
|
|
23519
23714
|
slotId: string().min(1),
|
|
@@ -24611,13 +24806,19 @@ method(object({
|
|
|
24611
24806
|
}), {
|
|
24612
24807
|
kind: "mutation",
|
|
24613
24808
|
auth: "admin"
|
|
24614
|
-
}), method(
|
|
24809
|
+
}), method(StorageMigrationLeaseInputSchema, object({ paused: literal(true) }), {
|
|
24615
24810
|
kind: "mutation",
|
|
24616
24811
|
auth: "admin"
|
|
24617
|
-
}), method(object({
|
|
24618
|
-
kind: "
|
|
24812
|
+
}), method(StorageMigrationLeaseInputSchema, object({ resumed: literal(true) }), {
|
|
24813
|
+
kind: "mutation",
|
|
24619
24814
|
auth: "admin"
|
|
24620
|
-
}), 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() }), {
|
|
24621
24822
|
kind: "mutation",
|
|
24622
24823
|
auth: "admin"
|
|
24623
24824
|
});
|
|
@@ -30223,6 +30424,12 @@ Object.freeze({
|
|
|
30223
30424
|
addonId: null,
|
|
30224
30425
|
access: "delete"
|
|
30225
30426
|
},
|
|
30427
|
+
"osdManager.copyDeviceConfiguration": {
|
|
30428
|
+
capName: "osd-manager",
|
|
30429
|
+
capScope: "system",
|
|
30430
|
+
addonId: null,
|
|
30431
|
+
access: "create"
|
|
30432
|
+
},
|
|
30226
30433
|
"osdManager.getConditionSupport": {
|
|
30227
30434
|
capName: "osd-manager",
|
|
30228
30435
|
capScope: "system",
|
|
@@ -30319,7 +30526,7 @@ Object.freeze({
|
|
|
30319
30526
|
addonId: null,
|
|
30320
30527
|
access: "create"
|
|
30321
30528
|
},
|
|
30322
|
-
"pipelineAnalytics.
|
|
30529
|
+
"pipelineAnalytics.cancelStorageMigrationMove": {
|
|
30323
30530
|
capName: "pipeline-analytics",
|
|
30324
30531
|
capScope: "device",
|
|
30325
30532
|
addonId: null,
|
|
@@ -30391,12 +30598,6 @@ Object.freeze({
|
|
|
30391
30598
|
addonId: null,
|
|
30392
30599
|
access: "view"
|
|
30393
30600
|
},
|
|
30394
|
-
"pipelineAnalytics.getMediaRelocateStatus": {
|
|
30395
|
-
capName: "pipeline-analytics",
|
|
30396
|
-
capScope: "device",
|
|
30397
|
-
addonId: null,
|
|
30398
|
-
access: "view"
|
|
30399
|
-
},
|
|
30400
30601
|
"pipelineAnalytics.getMotionEvents": {
|
|
30401
30602
|
capName: "pipeline-analytics",
|
|
30402
30603
|
capScope: "device",
|
|
@@ -30433,6 +30634,12 @@ Object.freeze({
|
|
|
30433
30634
|
addonId: null,
|
|
30434
30635
|
access: "view"
|
|
30435
30636
|
},
|
|
30637
|
+
"pipelineAnalytics.getStorageMigrationMoveStatus": {
|
|
30638
|
+
capName: "pipeline-analytics",
|
|
30639
|
+
capScope: "device",
|
|
30640
|
+
addonId: null,
|
|
30641
|
+
access: "view"
|
|
30642
|
+
},
|
|
30436
30643
|
"pipelineAnalytics.getTrack": {
|
|
30437
30644
|
capName: "pipeline-analytics",
|
|
30438
30645
|
capScope: "device",
|
|
@@ -30511,6 +30718,12 @@ Object.freeze({
|
|
|
30511
30718
|
addonId: null,
|
|
30512
30719
|
access: "view"
|
|
30513
30720
|
},
|
|
30721
|
+
"pipelineAnalytics.pauseForStorageMigration": {
|
|
30722
|
+
capName: "pipeline-analytics",
|
|
30723
|
+
capScope: "device",
|
|
30724
|
+
addonId: null,
|
|
30725
|
+
access: "create"
|
|
30726
|
+
},
|
|
30514
30727
|
"pipelineAnalytics.proposeRetrainAnnotations": {
|
|
30515
30728
|
capName: "pipeline-analytics",
|
|
30516
30729
|
capScope: "device",
|
|
@@ -30541,7 +30754,7 @@ Object.freeze({
|
|
|
30541
30754
|
addonId: null,
|
|
30542
30755
|
access: "create"
|
|
30543
30756
|
},
|
|
30544
|
-
"pipelineAnalytics.
|
|
30757
|
+
"pipelineAnalytics.refreshStorageLocationsForMigration": {
|
|
30545
30758
|
capName: "pipeline-analytics",
|
|
30546
30759
|
capScope: "device",
|
|
30547
30760
|
addonId: null,
|
|
@@ -30553,6 +30766,12 @@ Object.freeze({
|
|
|
30553
30766
|
addonId: null,
|
|
30554
30767
|
access: "create"
|
|
30555
30768
|
},
|
|
30769
|
+
"pipelineAnalytics.resumeForStorageMigration": {
|
|
30770
|
+
capName: "pipeline-analytics",
|
|
30771
|
+
capScope: "device",
|
|
30772
|
+
addonId: null,
|
|
30773
|
+
access: "create"
|
|
30774
|
+
},
|
|
30556
30775
|
"pipelineAnalytics.saveRetrainAnnotations": {
|
|
30557
30776
|
capName: "pipeline-analytics",
|
|
30558
30777
|
capScope: "device",
|
|
@@ -30577,6 +30796,12 @@ Object.freeze({
|
|
|
30577
30796
|
addonId: null,
|
|
30578
30797
|
access: "create"
|
|
30579
30798
|
},
|
|
30799
|
+
"pipelineAnalytics.startStorageMigrationMove": {
|
|
30800
|
+
capName: "pipeline-analytics",
|
|
30801
|
+
capScope: "device",
|
|
30802
|
+
addonId: null,
|
|
30803
|
+
access: "create"
|
|
30804
|
+
},
|
|
30580
30805
|
"pipelineAnalytics.wipeAllAnalytics": {
|
|
30581
30806
|
capName: "pipeline-analytics",
|
|
30582
30807
|
capScope: "device",
|
|
@@ -30943,6 +31168,12 @@ Object.freeze({
|
|
|
30943
31168
|
addonId: null,
|
|
30944
31169
|
access: "view"
|
|
30945
31170
|
},
|
|
31171
|
+
"pipelineOrchestrator.pauseForStorageMigration": {
|
|
31172
|
+
capName: "pipeline-orchestrator",
|
|
31173
|
+
capScope: "system",
|
|
31174
|
+
addonId: null,
|
|
31175
|
+
access: "create"
|
|
31176
|
+
},
|
|
30946
31177
|
"pipelineOrchestrator.rebalance": {
|
|
30947
31178
|
capName: "pipeline-orchestrator",
|
|
30948
31179
|
capScope: "system",
|
|
@@ -30967,6 +31198,12 @@ Object.freeze({
|
|
|
30967
31198
|
addonId: null,
|
|
30968
31199
|
access: "view"
|
|
30969
31200
|
},
|
|
31201
|
+
"pipelineOrchestrator.resumeForStorageMigration": {
|
|
31202
|
+
capName: "pipeline-orchestrator",
|
|
31203
|
+
capScope: "system",
|
|
31204
|
+
addonId: null,
|
|
31205
|
+
access: "create"
|
|
31206
|
+
},
|
|
30970
31207
|
"pipelineOrchestrator.saveTemplate": {
|
|
30971
31208
|
capName: "pipeline-orchestrator",
|
|
30972
31209
|
capScope: "system",
|
|
@@ -31363,7 +31600,7 @@ Object.freeze({
|
|
|
31363
31600
|
addonId: null,
|
|
31364
31601
|
access: "create"
|
|
31365
31602
|
},
|
|
31366
|
-
"recording.
|
|
31603
|
+
"recording.cancelStorageMigrationMove": {
|
|
31367
31604
|
capName: "recording",
|
|
31368
31605
|
capScope: "system",
|
|
31369
31606
|
addonId: null,
|
|
@@ -31399,7 +31636,7 @@ Object.freeze({
|
|
|
31399
31636
|
addonId: null,
|
|
31400
31637
|
access: "view"
|
|
31401
31638
|
},
|
|
31402
|
-
"recording.
|
|
31639
|
+
"recording.getStorageMigrationMoveStatus": {
|
|
31403
31640
|
capName: "recording",
|
|
31404
31641
|
capScope: "system",
|
|
31405
31642
|
addonId: null,
|
|
@@ -31423,6 +31660,12 @@ Object.freeze({
|
|
|
31423
31660
|
addonId: null,
|
|
31424
31661
|
access: "view"
|
|
31425
31662
|
},
|
|
31663
|
+
"recording.pauseForStorageMigration": {
|
|
31664
|
+
capName: "recording",
|
|
31665
|
+
capScope: "system",
|
|
31666
|
+
addonId: null,
|
|
31667
|
+
access: "create"
|
|
31668
|
+
},
|
|
31426
31669
|
"recording.pruneFootage": {
|
|
31427
31670
|
capName: "recording",
|
|
31428
31671
|
capScope: "system",
|
|
@@ -31441,7 +31684,7 @@ Object.freeze({
|
|
|
31441
31684
|
addonId: null,
|
|
31442
31685
|
access: "view"
|
|
31443
31686
|
},
|
|
31444
|
-
"recording.
|
|
31687
|
+
"recording.refreshStorageLocationsForMigration": {
|
|
31445
31688
|
capName: "recording",
|
|
31446
31689
|
capScope: "system",
|
|
31447
31690
|
addonId: null,
|
|
@@ -31465,12 +31708,24 @@ Object.freeze({
|
|
|
31465
31708
|
addonId: null,
|
|
31466
31709
|
access: "create"
|
|
31467
31710
|
},
|
|
31711
|
+
"recording.resumeForStorageMigration": {
|
|
31712
|
+
capName: "recording",
|
|
31713
|
+
capScope: "system",
|
|
31714
|
+
addonId: null,
|
|
31715
|
+
access: "create"
|
|
31716
|
+
},
|
|
31468
31717
|
"recording.setDeviceConfig": {
|
|
31469
31718
|
capName: "recording",
|
|
31470
31719
|
capScope: "system",
|
|
31471
31720
|
addonId: null,
|
|
31472
31721
|
access: "create"
|
|
31473
31722
|
},
|
|
31723
|
+
"recording.startStorageMigrationMove": {
|
|
31724
|
+
capName: "recording",
|
|
31725
|
+
capScope: "system",
|
|
31726
|
+
addonId: null,
|
|
31727
|
+
access: "create"
|
|
31728
|
+
},
|
|
31474
31729
|
"recordingExport.cancelExport": {
|
|
31475
31730
|
capName: "recordingExport",
|
|
31476
31731
|
capScope: "system",
|
|
@@ -31861,6 +32116,30 @@ Object.freeze({
|
|
|
31861
32116
|
addonId: null,
|
|
31862
32117
|
access: "view"
|
|
31863
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
|
+
},
|
|
31864
32143
|
"storageProvider.abortUpload": {
|
|
31865
32144
|
capName: "storage-provider",
|
|
31866
32145
|
capScope: "system",
|
|
@@ -32239,12 +32518,42 @@ Object.freeze({
|
|
|
32239
32518
|
addonId: null,
|
|
32240
32519
|
access: "create"
|
|
32241
32520
|
},
|
|
32521
|
+
"terminalSession.adoptLegacyMonitor": {
|
|
32522
|
+
capName: "terminal-session",
|
|
32523
|
+
capScope: "system",
|
|
32524
|
+
addonId: null,
|
|
32525
|
+
access: "create"
|
|
32526
|
+
},
|
|
32242
32527
|
"terminalSession.close": {
|
|
32243
32528
|
capName: "terminal-session",
|
|
32244
32529
|
capScope: "system",
|
|
32245
32530
|
addonId: null,
|
|
32246
32531
|
access: "create"
|
|
32247
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
|
+
},
|
|
32248
32557
|
"terminalSession.listProfiles": {
|
|
32249
32558
|
capName: "terminal-session",
|
|
32250
32559
|
capScope: "system",
|
|
@@ -32263,12 +32572,30 @@ Object.freeze({
|
|
|
32263
32572
|
addonId: null,
|
|
32264
32573
|
access: "create"
|
|
32265
32574
|
},
|
|
32575
|
+
"terminalSession.pullOutput": {
|
|
32576
|
+
capName: "terminal-session",
|
|
32577
|
+
capScope: "system",
|
|
32578
|
+
addonId: null,
|
|
32579
|
+
access: "create"
|
|
32580
|
+
},
|
|
32266
32581
|
"terminalSession.resize": {
|
|
32267
32582
|
capName: "terminal-session",
|
|
32268
32583
|
capScope: "system",
|
|
32269
32584
|
addonId: null,
|
|
32270
32585
|
access: "create"
|
|
32271
32586
|
},
|
|
32587
|
+
"terminalSession.setInstanceEnabled": {
|
|
32588
|
+
capName: "terminal-session",
|
|
32589
|
+
capScope: "system",
|
|
32590
|
+
addonId: null,
|
|
32591
|
+
access: "create"
|
|
32592
|
+
},
|
|
32593
|
+
"terminalSession.writeInput": {
|
|
32594
|
+
capName: "terminal-session",
|
|
32595
|
+
capScope: "system",
|
|
32596
|
+
addonId: null,
|
|
32597
|
+
access: "create"
|
|
32598
|
+
},
|
|
32272
32599
|
"toast.onToast": {
|
|
32273
32600
|
capName: "toast",
|
|
32274
32601
|
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",
|
|
16347
16427
|
auth: "admin"
|
|
16348
|
-
}), method(
|
|
16428
|
+
}), method(StorageMigrationLeaseInputSchema, object({ refreshed: literal(true) }), {
|
|
16429
|
+
kind: "mutation",
|
|
16430
|
+
auth: "admin"
|
|
16431
|
+
}), method(StorageMigrationMediaMoveInputSchema, object({ jobId: string() }), {
|
|
16432
|
+
kind: "mutation",
|
|
16433
|
+
auth: "admin"
|
|
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,7 +18751,67 @@ var TerminalProfileInfoSchema = object({
|
|
|
18652
18751
|
label: string(),
|
|
18653
18752
|
description: string().optional()
|
|
18654
18753
|
});
|
|
18655
|
-
|
|
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
|
+
});
|
|
18776
|
+
var TerminalOutputEventSchema = discriminatedUnion("kind", [object({
|
|
18777
|
+
seq: number().int().positive(),
|
|
18778
|
+
kind: literal("data"),
|
|
18779
|
+
data: string()
|
|
18780
|
+
}), object({
|
|
18781
|
+
seq: number().int().positive(),
|
|
18782
|
+
kind: literal("exit"),
|
|
18783
|
+
exitCode: number().int(),
|
|
18784
|
+
signal: number().int().optional()
|
|
18785
|
+
})]);
|
|
18786
|
+
var TerminalOutputBatchSchema = object({
|
|
18787
|
+
cursor: number().int().nonnegative(),
|
|
18788
|
+
reset: boolean(),
|
|
18789
|
+
snapshot: string().optional(),
|
|
18790
|
+
events: array(TerminalOutputEventSchema).readonly()
|
|
18791
|
+
});
|
|
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({
|
|
18656
18815
|
profileId: string(),
|
|
18657
18816
|
cols: number().int().positive(),
|
|
18658
18817
|
rows: number().int().positive()
|
|
@@ -18666,6 +18825,26 @@ method(_void(), array(TerminalProfileInfoSchema).readonly(), { auth: "admin" }),
|
|
|
18666
18825
|
}), _void(), {
|
|
18667
18826
|
kind: "mutation",
|
|
18668
18827
|
auth: "admin"
|
|
18828
|
+
}), method(object({
|
|
18829
|
+
sessionId: string(),
|
|
18830
|
+
afterSeq: number().int().nonnegative(),
|
|
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()
|
|
18838
|
+
}), TerminalOutputBatchSchema, {
|
|
18839
|
+
kind: "mutation",
|
|
18840
|
+
auth: "admin",
|
|
18841
|
+
timeoutMs: 15e3
|
|
18842
|
+
}), method(object({
|
|
18843
|
+
sessionId: string(),
|
|
18844
|
+
data: string().max(64 * 1024)
|
|
18845
|
+
}), _void(), {
|
|
18846
|
+
kind: "mutation",
|
|
18847
|
+
auth: "admin"
|
|
18669
18848
|
}), method(object({ sessionId: string() }), _void(), {
|
|
18670
18849
|
kind: "mutation",
|
|
18671
18850
|
auth: "admin"
|
|
@@ -21153,6 +21332,7 @@ var FaceInfoSchema = object({
|
|
|
21153
21332
|
var FaceFilterEnum = _enum([
|
|
21154
21333
|
"unassigned",
|
|
21155
21334
|
"recognized",
|
|
21335
|
+
"identified",
|
|
21156
21336
|
"all"
|
|
21157
21337
|
]);
|
|
21158
21338
|
var MediaFileLiteSchema$1 = object({
|
|
@@ -21181,6 +21361,8 @@ method(_void(), array(IdentitySchema).readonly()), method(object({ name: string(
|
|
|
21181
21361
|
kind: "mutation",
|
|
21182
21362
|
auth: "admin"
|
|
21183
21363
|
}), method(object({
|
|
21364
|
+
/** Restrict to one camera. Absent keeps the cluster-wide gallery view. */
|
|
21365
|
+
deviceId: number().int().optional(),
|
|
21184
21366
|
limit: number().int().positive().optional(),
|
|
21185
21367
|
filter: FaceFilterEnum.optional(),
|
|
21186
21368
|
/**
|
|
@@ -23410,6 +23592,10 @@ var OsdSourceSchema = discriminatedUnion("kind", [
|
|
|
23410
23592
|
capName: string().min(1).max(64),
|
|
23411
23593
|
/** Dot path inside the slice, e.g. `detected`, `value`, `mode`. */
|
|
23412
23594
|
valuePath: string().min(1).max(64)
|
|
23595
|
+
}),
|
|
23596
|
+
object({
|
|
23597
|
+
kind: literal("latest-recognition"),
|
|
23598
|
+
recognition: _enum(["person", "plate"])
|
|
23413
23599
|
})
|
|
23414
23600
|
]);
|
|
23415
23601
|
var OsdSlotBindingSchema = object({
|
|
@@ -23515,6 +23701,15 @@ method(object({ deviceId: number().int() }), object({
|
|
|
23515
23701
|
}), object({ success: literal(true) }), {
|
|
23516
23702
|
kind: "mutation",
|
|
23517
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"
|
|
23518
23713
|
}), method(object({
|
|
23519
23714
|
deviceId: number().int(),
|
|
23520
23715
|
slotId: string().min(1),
|
|
@@ -24612,13 +24807,19 @@ method(object({
|
|
|
24612
24807
|
}), {
|
|
24613
24808
|
kind: "mutation",
|
|
24614
24809
|
auth: "admin"
|
|
24615
|
-
}), method(
|
|
24810
|
+
}), method(StorageMigrationLeaseInputSchema, object({ paused: literal(true) }), {
|
|
24616
24811
|
kind: "mutation",
|
|
24617
24812
|
auth: "admin"
|
|
24618
|
-
}), method(object({
|
|
24619
|
-
kind: "
|
|
24813
|
+
}), method(StorageMigrationLeaseInputSchema, object({ resumed: literal(true) }), {
|
|
24814
|
+
kind: "mutation",
|
|
24620
24815
|
auth: "admin"
|
|
24621
|
-
}), 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() }), {
|
|
24622
24823
|
kind: "mutation",
|
|
24623
24824
|
auth: "admin"
|
|
24624
24825
|
});
|
|
@@ -30224,6 +30425,12 @@ Object.freeze({
|
|
|
30224
30425
|
addonId: null,
|
|
30225
30426
|
access: "delete"
|
|
30226
30427
|
},
|
|
30428
|
+
"osdManager.copyDeviceConfiguration": {
|
|
30429
|
+
capName: "osd-manager",
|
|
30430
|
+
capScope: "system",
|
|
30431
|
+
addonId: null,
|
|
30432
|
+
access: "create"
|
|
30433
|
+
},
|
|
30227
30434
|
"osdManager.getConditionSupport": {
|
|
30228
30435
|
capName: "osd-manager",
|
|
30229
30436
|
capScope: "system",
|
|
@@ -30320,7 +30527,7 @@ Object.freeze({
|
|
|
30320
30527
|
addonId: null,
|
|
30321
30528
|
access: "create"
|
|
30322
30529
|
},
|
|
30323
|
-
"pipelineAnalytics.
|
|
30530
|
+
"pipelineAnalytics.cancelStorageMigrationMove": {
|
|
30324
30531
|
capName: "pipeline-analytics",
|
|
30325
30532
|
capScope: "device",
|
|
30326
30533
|
addonId: null,
|
|
@@ -30392,12 +30599,6 @@ Object.freeze({
|
|
|
30392
30599
|
addonId: null,
|
|
30393
30600
|
access: "view"
|
|
30394
30601
|
},
|
|
30395
|
-
"pipelineAnalytics.getMediaRelocateStatus": {
|
|
30396
|
-
capName: "pipeline-analytics",
|
|
30397
|
-
capScope: "device",
|
|
30398
|
-
addonId: null,
|
|
30399
|
-
access: "view"
|
|
30400
|
-
},
|
|
30401
30602
|
"pipelineAnalytics.getMotionEvents": {
|
|
30402
30603
|
capName: "pipeline-analytics",
|
|
30403
30604
|
capScope: "device",
|
|
@@ -30434,6 +30635,12 @@ Object.freeze({
|
|
|
30434
30635
|
addonId: null,
|
|
30435
30636
|
access: "view"
|
|
30436
30637
|
},
|
|
30638
|
+
"pipelineAnalytics.getStorageMigrationMoveStatus": {
|
|
30639
|
+
capName: "pipeline-analytics",
|
|
30640
|
+
capScope: "device",
|
|
30641
|
+
addonId: null,
|
|
30642
|
+
access: "view"
|
|
30643
|
+
},
|
|
30437
30644
|
"pipelineAnalytics.getTrack": {
|
|
30438
30645
|
capName: "pipeline-analytics",
|
|
30439
30646
|
capScope: "device",
|
|
@@ -30512,6 +30719,12 @@ Object.freeze({
|
|
|
30512
30719
|
addonId: null,
|
|
30513
30720
|
access: "view"
|
|
30514
30721
|
},
|
|
30722
|
+
"pipelineAnalytics.pauseForStorageMigration": {
|
|
30723
|
+
capName: "pipeline-analytics",
|
|
30724
|
+
capScope: "device",
|
|
30725
|
+
addonId: null,
|
|
30726
|
+
access: "create"
|
|
30727
|
+
},
|
|
30515
30728
|
"pipelineAnalytics.proposeRetrainAnnotations": {
|
|
30516
30729
|
capName: "pipeline-analytics",
|
|
30517
30730
|
capScope: "device",
|
|
@@ -30542,7 +30755,7 @@ Object.freeze({
|
|
|
30542
30755
|
addonId: null,
|
|
30543
30756
|
access: "create"
|
|
30544
30757
|
},
|
|
30545
|
-
"pipelineAnalytics.
|
|
30758
|
+
"pipelineAnalytics.refreshStorageLocationsForMigration": {
|
|
30546
30759
|
capName: "pipeline-analytics",
|
|
30547
30760
|
capScope: "device",
|
|
30548
30761
|
addonId: null,
|
|
@@ -30554,6 +30767,12 @@ Object.freeze({
|
|
|
30554
30767
|
addonId: null,
|
|
30555
30768
|
access: "create"
|
|
30556
30769
|
},
|
|
30770
|
+
"pipelineAnalytics.resumeForStorageMigration": {
|
|
30771
|
+
capName: "pipeline-analytics",
|
|
30772
|
+
capScope: "device",
|
|
30773
|
+
addonId: null,
|
|
30774
|
+
access: "create"
|
|
30775
|
+
},
|
|
30557
30776
|
"pipelineAnalytics.saveRetrainAnnotations": {
|
|
30558
30777
|
capName: "pipeline-analytics",
|
|
30559
30778
|
capScope: "device",
|
|
@@ -30578,6 +30797,12 @@ Object.freeze({
|
|
|
30578
30797
|
addonId: null,
|
|
30579
30798
|
access: "create"
|
|
30580
30799
|
},
|
|
30800
|
+
"pipelineAnalytics.startStorageMigrationMove": {
|
|
30801
|
+
capName: "pipeline-analytics",
|
|
30802
|
+
capScope: "device",
|
|
30803
|
+
addonId: null,
|
|
30804
|
+
access: "create"
|
|
30805
|
+
},
|
|
30581
30806
|
"pipelineAnalytics.wipeAllAnalytics": {
|
|
30582
30807
|
capName: "pipeline-analytics",
|
|
30583
30808
|
capScope: "device",
|
|
@@ -30944,6 +31169,12 @@ Object.freeze({
|
|
|
30944
31169
|
addonId: null,
|
|
30945
31170
|
access: "view"
|
|
30946
31171
|
},
|
|
31172
|
+
"pipelineOrchestrator.pauseForStorageMigration": {
|
|
31173
|
+
capName: "pipeline-orchestrator",
|
|
31174
|
+
capScope: "system",
|
|
31175
|
+
addonId: null,
|
|
31176
|
+
access: "create"
|
|
31177
|
+
},
|
|
30947
31178
|
"pipelineOrchestrator.rebalance": {
|
|
30948
31179
|
capName: "pipeline-orchestrator",
|
|
30949
31180
|
capScope: "system",
|
|
@@ -30968,6 +31199,12 @@ Object.freeze({
|
|
|
30968
31199
|
addonId: null,
|
|
30969
31200
|
access: "view"
|
|
30970
31201
|
},
|
|
31202
|
+
"pipelineOrchestrator.resumeForStorageMigration": {
|
|
31203
|
+
capName: "pipeline-orchestrator",
|
|
31204
|
+
capScope: "system",
|
|
31205
|
+
addonId: null,
|
|
31206
|
+
access: "create"
|
|
31207
|
+
},
|
|
30971
31208
|
"pipelineOrchestrator.saveTemplate": {
|
|
30972
31209
|
capName: "pipeline-orchestrator",
|
|
30973
31210
|
capScope: "system",
|
|
@@ -31364,7 +31601,7 @@ Object.freeze({
|
|
|
31364
31601
|
addonId: null,
|
|
31365
31602
|
access: "create"
|
|
31366
31603
|
},
|
|
31367
|
-
"recording.
|
|
31604
|
+
"recording.cancelStorageMigrationMove": {
|
|
31368
31605
|
capName: "recording",
|
|
31369
31606
|
capScope: "system",
|
|
31370
31607
|
addonId: null,
|
|
@@ -31400,7 +31637,7 @@ Object.freeze({
|
|
|
31400
31637
|
addonId: null,
|
|
31401
31638
|
access: "view"
|
|
31402
31639
|
},
|
|
31403
|
-
"recording.
|
|
31640
|
+
"recording.getStorageMigrationMoveStatus": {
|
|
31404
31641
|
capName: "recording",
|
|
31405
31642
|
capScope: "system",
|
|
31406
31643
|
addonId: null,
|
|
@@ -31424,6 +31661,12 @@ Object.freeze({
|
|
|
31424
31661
|
addonId: null,
|
|
31425
31662
|
access: "view"
|
|
31426
31663
|
},
|
|
31664
|
+
"recording.pauseForStorageMigration": {
|
|
31665
|
+
capName: "recording",
|
|
31666
|
+
capScope: "system",
|
|
31667
|
+
addonId: null,
|
|
31668
|
+
access: "create"
|
|
31669
|
+
},
|
|
31427
31670
|
"recording.pruneFootage": {
|
|
31428
31671
|
capName: "recording",
|
|
31429
31672
|
capScope: "system",
|
|
@@ -31442,7 +31685,7 @@ Object.freeze({
|
|
|
31442
31685
|
addonId: null,
|
|
31443
31686
|
access: "view"
|
|
31444
31687
|
},
|
|
31445
|
-
"recording.
|
|
31688
|
+
"recording.refreshStorageLocationsForMigration": {
|
|
31446
31689
|
capName: "recording",
|
|
31447
31690
|
capScope: "system",
|
|
31448
31691
|
addonId: null,
|
|
@@ -31466,12 +31709,24 @@ Object.freeze({
|
|
|
31466
31709
|
addonId: null,
|
|
31467
31710
|
access: "create"
|
|
31468
31711
|
},
|
|
31712
|
+
"recording.resumeForStorageMigration": {
|
|
31713
|
+
capName: "recording",
|
|
31714
|
+
capScope: "system",
|
|
31715
|
+
addonId: null,
|
|
31716
|
+
access: "create"
|
|
31717
|
+
},
|
|
31469
31718
|
"recording.setDeviceConfig": {
|
|
31470
31719
|
capName: "recording",
|
|
31471
31720
|
capScope: "system",
|
|
31472
31721
|
addonId: null,
|
|
31473
31722
|
access: "create"
|
|
31474
31723
|
},
|
|
31724
|
+
"recording.startStorageMigrationMove": {
|
|
31725
|
+
capName: "recording",
|
|
31726
|
+
capScope: "system",
|
|
31727
|
+
addonId: null,
|
|
31728
|
+
access: "create"
|
|
31729
|
+
},
|
|
31475
31730
|
"recordingExport.cancelExport": {
|
|
31476
31731
|
capName: "recordingExport",
|
|
31477
31732
|
capScope: "system",
|
|
@@ -31862,6 +32117,30 @@ Object.freeze({
|
|
|
31862
32117
|
addonId: null,
|
|
31863
32118
|
access: "view"
|
|
31864
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
|
+
},
|
|
31865
32144
|
"storageProvider.abortUpload": {
|
|
31866
32145
|
capName: "storage-provider",
|
|
31867
32146
|
capScope: "system",
|
|
@@ -32240,12 +32519,42 @@ Object.freeze({
|
|
|
32240
32519
|
addonId: null,
|
|
32241
32520
|
access: "create"
|
|
32242
32521
|
},
|
|
32522
|
+
"terminalSession.adoptLegacyMonitor": {
|
|
32523
|
+
capName: "terminal-session",
|
|
32524
|
+
capScope: "system",
|
|
32525
|
+
addonId: null,
|
|
32526
|
+
access: "create"
|
|
32527
|
+
},
|
|
32243
32528
|
"terminalSession.close": {
|
|
32244
32529
|
capName: "terminal-session",
|
|
32245
32530
|
capScope: "system",
|
|
32246
32531
|
addonId: null,
|
|
32247
32532
|
access: "create"
|
|
32248
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
|
+
},
|
|
32249
32558
|
"terminalSession.listProfiles": {
|
|
32250
32559
|
capName: "terminal-session",
|
|
32251
32560
|
capScope: "system",
|
|
@@ -32264,12 +32573,30 @@ Object.freeze({
|
|
|
32264
32573
|
addonId: null,
|
|
32265
32574
|
access: "create"
|
|
32266
32575
|
},
|
|
32576
|
+
"terminalSession.pullOutput": {
|
|
32577
|
+
capName: "terminal-session",
|
|
32578
|
+
capScope: "system",
|
|
32579
|
+
addonId: null,
|
|
32580
|
+
access: "create"
|
|
32581
|
+
},
|
|
32267
32582
|
"terminalSession.resize": {
|
|
32268
32583
|
capName: "terminal-session",
|
|
32269
32584
|
capScope: "system",
|
|
32270
32585
|
addonId: null,
|
|
32271
32586
|
access: "create"
|
|
32272
32587
|
},
|
|
32588
|
+
"terminalSession.setInstanceEnabled": {
|
|
32589
|
+
capName: "terminal-session",
|
|
32590
|
+
capScope: "system",
|
|
32591
|
+
addonId: null,
|
|
32592
|
+
access: "create"
|
|
32593
|
+
},
|
|
32594
|
+
"terminalSession.writeInput": {
|
|
32595
|
+
capName: "terminal-session",
|
|
32596
|
+
capScope: "system",
|
|
32597
|
+
addonId: null,
|
|
32598
|
+
access: "create"
|
|
32599
|
+
},
|
|
32273
32600
|
"toast.onToast": {
|
|
32274
32601
|
capName: "toast",
|
|
32275
32602
|
capScope: "system",
|
package/package.json
CHANGED