@camstack/addon-provider-dreo 0.2.12 → 0.2.13
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/addon.js +316 -31
- package/dist/addon.mjs +316 -31
- package/package.json +1 -1
package/dist/addon.js
CHANGED
|
@@ -7587,12 +7587,11 @@ var RecordingConfigSchema = object({
|
|
|
7587
7587
|
/**
|
|
7588
7588
|
* Entity-relocation job state (storage entity-routing spec, Phase 4).
|
|
7589
7589
|
*
|
|
7590
|
-
* One shape shared by the recorder
|
|
7591
|
-
*
|
|
7592
|
-
*
|
|
7593
|
-
*
|
|
7594
|
-
*
|
|
7595
|
-
* row on the owning addon's surface.
|
|
7590
|
+
* One shape shared by the recorder and pipeline-analytics internal movers.
|
|
7591
|
+
* The public admin surface is `storage-migration`; child jobs remain in RAM
|
|
7592
|
+
* because copy-if-absent, verify, delete and index/row repoint are resumable.
|
|
7593
|
+
* Each completed/failed run also lands one durable ops-log row on its owning
|
|
7594
|
+
* addon surface.
|
|
7596
7595
|
*/
|
|
7597
7596
|
var RelocateJobStateSchema = _enum([
|
|
7598
7597
|
"running",
|
|
@@ -7619,19 +7618,100 @@ var RelocateJobSchema = object({
|
|
|
7619
7618
|
finishedAt: number().nullable(),
|
|
7620
7619
|
error: string().nullable()
|
|
7621
7620
|
});
|
|
7621
|
+
/** Profile-derived footage selection used only by the migration coordinator:
|
|
7622
|
+
* `recordings` owns high+mid; `recordingsLow` owns low. */
|
|
7623
|
+
var RelocateFootageClassSchema = _enum(["recordings", "recordingsLow"]);
|
|
7622
7624
|
var RelocateFootageInputSchema = object({
|
|
7623
|
-
deviceId: number().optional(),
|
|
7624
7625
|
fromLocationId: string(),
|
|
7625
7626
|
toLocationId: string(),
|
|
7626
7627
|
entities: array(_enum(["segments"])).optional(),
|
|
7628
|
+
/** Limits relocation to the logical profile class. Omit only for the
|
|
7629
|
+
* pre-orchestration compatibility path. */
|
|
7630
|
+
footageClass: RelocateFootageClassSchema.optional(),
|
|
7627
7631
|
/** Copy throttle in MB/s (default 40) — the drain is a background chore,
|
|
7628
7632
|
* never allowed to starve live writers. */
|
|
7629
7633
|
throttleMbps: number().min(1).max(1e3).optional()
|
|
7630
7634
|
});
|
|
7631
|
-
|
|
7632
|
-
|
|
7635
|
+
/** Internal, lease-scoped participant operation. It is intentionally separate
|
|
7636
|
+
* from persistent recording settings: a migration never changes
|
|
7637
|
+
* `RecordingConfig.enabled` or camera wrapper bindings. */
|
|
7638
|
+
var StorageMigrationLeaseInputSchema = object({ leaseId: string().min(1) });
|
|
7639
|
+
var StorageMigrationFootageMoveInputSchema = RelocateFootageInputSchema.extend({ leaseId: string().min(1) });
|
|
7640
|
+
var StorageMigrationMediaMoveInputSchema = object({
|
|
7633
7641
|
toLocationId: string(),
|
|
7634
7642
|
throttleMbps: number().min(1).max(1e3).optional()
|
|
7643
|
+
}).extend({ leaseId: string().min(1) });
|
|
7644
|
+
/** The independently selectable logical storage classes. `recordings`
|
|
7645
|
+
* encompasses the high and mid segment profiles; `recordingsLow` is low
|
|
7646
|
+
* segments; `eventMedia` is post-analysis blobs. */
|
|
7647
|
+
var StorageMigrationClassSchema = _enum([
|
|
7648
|
+
"recordings",
|
|
7649
|
+
"recordingsLow",
|
|
7650
|
+
"eventMedia"
|
|
7651
|
+
]);
|
|
7652
|
+
/** A destination is always an existing, fully-qualified location id. The
|
|
7653
|
+
* migration API intentionally never changes a source location's `basePath`:
|
|
7654
|
+
* callers create a new `<type>:<slug>` location, then select it here. */
|
|
7655
|
+
var StorageMigrationDestinationsSchema = object({
|
|
7656
|
+
recordings: string().min(1).optional(),
|
|
7657
|
+
recordingsLow: string().min(1).optional(),
|
|
7658
|
+
eventMedia: string().min(1).optional()
|
|
7659
|
+
}).refine((value) => Object.keys(value).length > 0, { message: "select at least one storage class" });
|
|
7660
|
+
/** Shared input for planning and starting an orchestrated storage migration. */
|
|
7661
|
+
var StorageMigrationInputSchema = object({
|
|
7662
|
+
destinations: StorageMigrationDestinationsSchema,
|
|
7663
|
+
throttleMbps: number().min(1).max(1e3).optional()
|
|
7664
|
+
});
|
|
7665
|
+
/** The durable coordinator state machine. The only phase that changes default
|
|
7666
|
+
* locations is `repointing`, after every selected mover has completed and been
|
|
7667
|
+
* verified. */
|
|
7668
|
+
var StorageMigrationPhaseSchema = _enum([
|
|
7669
|
+
"planning",
|
|
7670
|
+
"pausing",
|
|
7671
|
+
"moving",
|
|
7672
|
+
"verifying",
|
|
7673
|
+
"repointing",
|
|
7674
|
+
"refreshing",
|
|
7675
|
+
"resuming",
|
|
7676
|
+
"done",
|
|
7677
|
+
"failed",
|
|
7678
|
+
"cancelled"
|
|
7679
|
+
]);
|
|
7680
|
+
var StorageMigrationParticipantSchema = _enum([
|
|
7681
|
+
"pipeline",
|
|
7682
|
+
"recorder",
|
|
7683
|
+
"analytics"
|
|
7684
|
+
]);
|
|
7685
|
+
var StorageMigrationMoveSchema = object({
|
|
7686
|
+
storageClass: StorageMigrationClassSchema,
|
|
7687
|
+
fromLocationId: string(),
|
|
7688
|
+
toLocationId: string(),
|
|
7689
|
+
moverJobId: string().nullable(),
|
|
7690
|
+
state: RelocateJobStateSchema.nullable(),
|
|
7691
|
+
error: string().nullable()
|
|
7692
|
+
});
|
|
7693
|
+
var StorageMigrationJobSchema = object({
|
|
7694
|
+
jobId: string(),
|
|
7695
|
+
phase: StorageMigrationPhaseSchema,
|
|
7696
|
+
destinations: StorageMigrationDestinationsSchema,
|
|
7697
|
+
throttleMbps: number(),
|
|
7698
|
+
moves: array(StorageMigrationMoveSchema),
|
|
7699
|
+
pauseLeaseId: string().nullable(),
|
|
7700
|
+
pausedParticipants: array(StorageMigrationParticipantSchema),
|
|
7701
|
+
repointed: boolean(),
|
|
7702
|
+
cancelRequested: boolean(),
|
|
7703
|
+
startedAt: number(),
|
|
7704
|
+
updatedAt: number(),
|
|
7705
|
+
finishedAt: number().nullable(),
|
|
7706
|
+
error: string().nullable()
|
|
7707
|
+
});
|
|
7708
|
+
var StorageMigrationPlanSchema = object({
|
|
7709
|
+
destinations: StorageMigrationDestinationsSchema,
|
|
7710
|
+
moves: array(object({
|
|
7711
|
+
storageClass: StorageMigrationClassSchema,
|
|
7712
|
+
fromLocationId: string(),
|
|
7713
|
+
toLocationId: string()
|
|
7714
|
+
}))
|
|
7635
7715
|
});
|
|
7636
7716
|
/**
|
|
7637
7717
|
* `StorageLocationType` — an addon-declared id that identifies the *kind* of
|
|
@@ -16302,13 +16382,19 @@ DeviceType.Camera, method(object({ deviceId: number() }), array(TrackSchema).rea
|
|
|
16302
16382
|
}), method(object({ deviceId: number() }), EventPruneCountsSchema, {
|
|
16303
16383
|
kind: "mutation",
|
|
16304
16384
|
auth: "admin"
|
|
16305
|
-
}), method(
|
|
16385
|
+
}), method(StorageMigrationLeaseInputSchema, object({ paused: literal(true) }), {
|
|
16306
16386
|
kind: "mutation",
|
|
16307
16387
|
auth: "admin"
|
|
16308
|
-
}), method(object({
|
|
16309
|
-
kind: "
|
|
16388
|
+
}), method(StorageMigrationLeaseInputSchema, object({ resumed: literal(true) }), {
|
|
16389
|
+
kind: "mutation",
|
|
16390
|
+
auth: "admin"
|
|
16391
|
+
}), method(StorageMigrationLeaseInputSchema, object({ refreshed: literal(true) }), {
|
|
16392
|
+
kind: "mutation",
|
|
16393
|
+
auth: "admin"
|
|
16394
|
+
}), method(StorageMigrationMediaMoveInputSchema, object({ jobId: string() }), {
|
|
16395
|
+
kind: "mutation",
|
|
16310
16396
|
auth: "admin"
|
|
16311
|
-
}), method(object({ jobId: string() }), object({ cancelled: boolean() }), {
|
|
16397
|
+
}), method(object({ jobId: string() }), RelocateJobSchema.nullable(), { auth: "admin" }), method(object({ jobId: string() }), object({ cancelled: boolean() }), {
|
|
16312
16398
|
kind: "mutation",
|
|
16313
16399
|
auth: "admin"
|
|
16314
16400
|
}), method(OpsLogQueryInputSchema, array(OpsLogEntrySchema).readonly(), {
|
|
@@ -17838,7 +17924,13 @@ var NodeInferenceDevicesSchema = object({
|
|
|
17838
17924
|
reachable: boolean(),
|
|
17839
17925
|
devices: array(NodeInferenceDeviceSchema).readonly()
|
|
17840
17926
|
});
|
|
17841
|
-
method(object({
|
|
17927
|
+
method(StorageMigrationLeaseInputSchema, object({ paused: literal(true) }), {
|
|
17928
|
+
kind: "mutation",
|
|
17929
|
+
auth: "admin"
|
|
17930
|
+
}), method(StorageMigrationLeaseInputSchema, object({ resumed: literal(true) }), {
|
|
17931
|
+
kind: "mutation",
|
|
17932
|
+
auth: "admin"
|
|
17933
|
+
}), method(object({
|
|
17842
17934
|
deviceId: number(),
|
|
17843
17935
|
agentNodeId: string()
|
|
17844
17936
|
}), object({ success: literal(true) }), {
|
|
@@ -18512,6 +18604,13 @@ method(object({ locationId: string() }), EvictableUsageSchema), method(object({
|
|
|
18512
18604
|
locationId: string(),
|
|
18513
18605
|
targetBytes: number().int().positive()
|
|
18514
18606
|
}), EvictResultSchema, { kind: "mutation" });
|
|
18607
|
+
method(StorageMigrationInputSchema, StorageMigrationPlanSchema, { auth: "admin" }), method(StorageMigrationInputSchema, object({ jobId: string() }), {
|
|
18608
|
+
kind: "mutation",
|
|
18609
|
+
auth: "admin"
|
|
18610
|
+
}), method(object({ jobId: string().optional() }), StorageMigrationJobSchema.nullable(), { auth: "admin" }), method(object({ jobId: string() }), object({ cancelled: boolean() }), {
|
|
18611
|
+
kind: "mutation",
|
|
18612
|
+
auth: "admin"
|
|
18613
|
+
});
|
|
18515
18614
|
var ProviderInfoSchema = discriminatedUnion("shouldSaveDiskSpace", [object({
|
|
18516
18615
|
providerId: string().min(1),
|
|
18517
18616
|
displayName: string().min(1),
|
|
@@ -18615,6 +18714,28 @@ var TerminalProfileInfoSchema = object({
|
|
|
18615
18714
|
label: string(),
|
|
18616
18715
|
description: string().optional()
|
|
18617
18716
|
});
|
|
18717
|
+
/**
|
|
18718
|
+
* A durable operator-created Terminal instance. Profiles are templates; only
|
|
18719
|
+
* an instance declares a camera.
|
|
18720
|
+
*/
|
|
18721
|
+
var TerminalInstanceInfoSchema = object({
|
|
18722
|
+
instanceId: string(),
|
|
18723
|
+
cameraStableId: string(),
|
|
18724
|
+
nodeId: string(),
|
|
18725
|
+
profileId: string(),
|
|
18726
|
+
profileLabel: string(),
|
|
18727
|
+
name: string(),
|
|
18728
|
+
enabled: boolean()
|
|
18729
|
+
});
|
|
18730
|
+
var TerminalLegacyCameraSchema = object({
|
|
18731
|
+
stableId: string(),
|
|
18732
|
+
nodeId: string(),
|
|
18733
|
+
profileId: string(),
|
|
18734
|
+
profileLabel: string(),
|
|
18735
|
+
name: string(),
|
|
18736
|
+
/** Only legacy monitor cameras can retain their historic stable identity. */
|
|
18737
|
+
adoptable: boolean()
|
|
18738
|
+
});
|
|
18618
18739
|
var TerminalOutputEventSchema = discriminatedUnion("kind", [object({
|
|
18619
18740
|
seq: number().int().positive(),
|
|
18620
18741
|
kind: literal("data"),
|
|
@@ -18631,7 +18752,29 @@ var TerminalOutputBatchSchema = object({
|
|
|
18631
18752
|
snapshot: string().optional(),
|
|
18632
18753
|
events: array(TerminalOutputEventSchema).readonly()
|
|
18633
18754
|
});
|
|
18634
|
-
method(_void(), array(TerminalProfileInfoSchema).readonly(), { auth: "admin" }), method(_void(), array(
|
|
18755
|
+
method(_void(), array(TerminalProfileInfoSchema).readonly(), { auth: "admin" }), method(_void(), array(TerminalInstanceInfoSchema).readonly(), { auth: "admin" }), method(object({
|
|
18756
|
+
targetNodeId: string().min(1),
|
|
18757
|
+
profileId: string().min(1),
|
|
18758
|
+
name: string().trim().min(1).max(160).optional()
|
|
18759
|
+
}), TerminalInstanceInfoSchema, {
|
|
18760
|
+
kind: "mutation",
|
|
18761
|
+
auth: "admin"
|
|
18762
|
+
}), method(object({ instanceId: string().min(1) }), _void(), {
|
|
18763
|
+
kind: "mutation",
|
|
18764
|
+
auth: "admin"
|
|
18765
|
+
}), method(object({
|
|
18766
|
+
instanceId: string().min(1),
|
|
18767
|
+
enabled: boolean()
|
|
18768
|
+
}), TerminalInstanceInfoSchema, {
|
|
18769
|
+
kind: "mutation",
|
|
18770
|
+
auth: "admin"
|
|
18771
|
+
}), method(_void(), array(TerminalLegacyCameraSchema).readonly(), { auth: "admin" }), method(object({
|
|
18772
|
+
stableId: string().min(1),
|
|
18773
|
+
name: string().trim().min(1).max(160).optional()
|
|
18774
|
+
}), TerminalInstanceInfoSchema, {
|
|
18775
|
+
kind: "mutation",
|
|
18776
|
+
auth: "admin"
|
|
18777
|
+
}), method(_void(), array(TerminalSessionInfoSchema).readonly(), { auth: "admin" }), method(object({
|
|
18635
18778
|
profileId: string(),
|
|
18636
18779
|
cols: number().int().positive(),
|
|
18637
18780
|
rows: number().int().positive()
|
|
@@ -18648,7 +18791,13 @@ method(_void(), array(TerminalProfileInfoSchema).readonly(), { auth: "admin" }),
|
|
|
18648
18791
|
}), method(object({
|
|
18649
18792
|
sessionId: string(),
|
|
18650
18793
|
afterSeq: number().int().nonnegative(),
|
|
18651
|
-
waitMs: number().int().min(0).max(2e3).default(0)
|
|
18794
|
+
waitMs: number().int().min(0).max(2e3).default(0),
|
|
18795
|
+
/**
|
|
18796
|
+
* Wait when a just-opened session has no output yet. Kept opt-in so a
|
|
18797
|
+
* browser's initial repaint remains immediate; the camera snapshot
|
|
18798
|
+
* relay uses it to avoid encoding a blank startup frame.
|
|
18799
|
+
*/
|
|
18800
|
+
waitForOutput: boolean().optional()
|
|
18652
18801
|
}), TerminalOutputBatchSchema, {
|
|
18653
18802
|
kind: "mutation",
|
|
18654
18803
|
auth: "admin",
|
|
@@ -21154,6 +21303,7 @@ var FaceInfoSchema = object({
|
|
|
21154
21303
|
var FaceFilterEnum = _enum([
|
|
21155
21304
|
"unassigned",
|
|
21156
21305
|
"recognized",
|
|
21306
|
+
"identified",
|
|
21157
21307
|
"all"
|
|
21158
21308
|
]);
|
|
21159
21309
|
var MediaFileLiteSchema$1 = object({
|
|
@@ -21182,6 +21332,8 @@ method(_void(), array(IdentitySchema).readonly()), method(object({ name: string(
|
|
|
21182
21332
|
kind: "mutation",
|
|
21183
21333
|
auth: "admin"
|
|
21184
21334
|
}), method(object({
|
|
21335
|
+
/** Restrict to one camera. Absent keeps the cluster-wide gallery view. */
|
|
21336
|
+
deviceId: number().int().optional(),
|
|
21185
21337
|
limit: number().int().positive().optional(),
|
|
21186
21338
|
filter: FaceFilterEnum.optional(),
|
|
21187
21339
|
/**
|
|
@@ -23411,6 +23563,10 @@ var OsdSourceSchema = discriminatedUnion("kind", [
|
|
|
23411
23563
|
capName: string().min(1).max(64),
|
|
23412
23564
|
/** Dot path inside the slice, e.g. `detected`, `value`, `mode`. */
|
|
23413
23565
|
valuePath: string().min(1).max(64)
|
|
23566
|
+
}),
|
|
23567
|
+
object({
|
|
23568
|
+
kind: literal("latest-recognition"),
|
|
23569
|
+
recognition: _enum(["person", "plate"])
|
|
23414
23570
|
})
|
|
23415
23571
|
]);
|
|
23416
23572
|
var OsdSlotBindingSchema = object({
|
|
@@ -23516,6 +23672,15 @@ method(object({ deviceId: number().int() }), object({
|
|
|
23516
23672
|
}), object({ success: literal(true) }), {
|
|
23517
23673
|
kind: "mutation",
|
|
23518
23674
|
auth: "admin"
|
|
23675
|
+
}), method(object({
|
|
23676
|
+
sourceDeviceId: number().int(),
|
|
23677
|
+
targetDeviceId: number().int()
|
|
23678
|
+
}), object({
|
|
23679
|
+
copied: number().int().nonnegative(),
|
|
23680
|
+
skipped: number().int().nonnegative()
|
|
23681
|
+
}), {
|
|
23682
|
+
kind: "mutation",
|
|
23683
|
+
auth: "admin"
|
|
23519
23684
|
}), method(object({
|
|
23520
23685
|
deviceId: number().int(),
|
|
23521
23686
|
slotId: string().min(1),
|
|
@@ -24613,13 +24778,19 @@ method(object({
|
|
|
24613
24778
|
}), {
|
|
24614
24779
|
kind: "mutation",
|
|
24615
24780
|
auth: "admin"
|
|
24616
|
-
}), method(
|
|
24781
|
+
}), method(StorageMigrationLeaseInputSchema, object({ paused: literal(true) }), {
|
|
24617
24782
|
kind: "mutation",
|
|
24618
24783
|
auth: "admin"
|
|
24619
|
-
}), method(object({
|
|
24620
|
-
kind: "
|
|
24784
|
+
}), method(StorageMigrationLeaseInputSchema, object({ resumed: literal(true) }), {
|
|
24785
|
+
kind: "mutation",
|
|
24621
24786
|
auth: "admin"
|
|
24622
|
-
}), method(
|
|
24787
|
+
}), method(StorageMigrationLeaseInputSchema, object({ refreshed: literal(true) }), {
|
|
24788
|
+
kind: "mutation",
|
|
24789
|
+
auth: "admin"
|
|
24790
|
+
}), method(StorageMigrationFootageMoveInputSchema, object({ jobId: string() }), {
|
|
24791
|
+
kind: "mutation",
|
|
24792
|
+
auth: "admin"
|
|
24793
|
+
}), method(object({ jobId: string() }), RelocateJobSchema.nullable(), { auth: "admin" }), method(object({ jobId: string() }), object({ cancelled: boolean() }), {
|
|
24623
24794
|
kind: "mutation",
|
|
24624
24795
|
auth: "admin"
|
|
24625
24796
|
});
|
|
@@ -30225,6 +30396,12 @@ Object.freeze({
|
|
|
30225
30396
|
addonId: null,
|
|
30226
30397
|
access: "delete"
|
|
30227
30398
|
},
|
|
30399
|
+
"osdManager.copyDeviceConfiguration": {
|
|
30400
|
+
capName: "osd-manager",
|
|
30401
|
+
capScope: "system",
|
|
30402
|
+
addonId: null,
|
|
30403
|
+
access: "create"
|
|
30404
|
+
},
|
|
30228
30405
|
"osdManager.getConditionSupport": {
|
|
30229
30406
|
capName: "osd-manager",
|
|
30230
30407
|
capScope: "system",
|
|
@@ -30321,7 +30498,7 @@ Object.freeze({
|
|
|
30321
30498
|
addonId: null,
|
|
30322
30499
|
access: "create"
|
|
30323
30500
|
},
|
|
30324
|
-
"pipelineAnalytics.
|
|
30501
|
+
"pipelineAnalytics.cancelStorageMigrationMove": {
|
|
30325
30502
|
capName: "pipeline-analytics",
|
|
30326
30503
|
capScope: "device",
|
|
30327
30504
|
addonId: null,
|
|
@@ -30393,12 +30570,6 @@ Object.freeze({
|
|
|
30393
30570
|
addonId: null,
|
|
30394
30571
|
access: "view"
|
|
30395
30572
|
},
|
|
30396
|
-
"pipelineAnalytics.getMediaRelocateStatus": {
|
|
30397
|
-
capName: "pipeline-analytics",
|
|
30398
|
-
capScope: "device",
|
|
30399
|
-
addonId: null,
|
|
30400
|
-
access: "view"
|
|
30401
|
-
},
|
|
30402
30573
|
"pipelineAnalytics.getMotionEvents": {
|
|
30403
30574
|
capName: "pipeline-analytics",
|
|
30404
30575
|
capScope: "device",
|
|
@@ -30435,6 +30606,12 @@ Object.freeze({
|
|
|
30435
30606
|
addonId: null,
|
|
30436
30607
|
access: "view"
|
|
30437
30608
|
},
|
|
30609
|
+
"pipelineAnalytics.getStorageMigrationMoveStatus": {
|
|
30610
|
+
capName: "pipeline-analytics",
|
|
30611
|
+
capScope: "device",
|
|
30612
|
+
addonId: null,
|
|
30613
|
+
access: "view"
|
|
30614
|
+
},
|
|
30438
30615
|
"pipelineAnalytics.getTrack": {
|
|
30439
30616
|
capName: "pipeline-analytics",
|
|
30440
30617
|
capScope: "device",
|
|
@@ -30513,6 +30690,12 @@ Object.freeze({
|
|
|
30513
30690
|
addonId: null,
|
|
30514
30691
|
access: "view"
|
|
30515
30692
|
},
|
|
30693
|
+
"pipelineAnalytics.pauseForStorageMigration": {
|
|
30694
|
+
capName: "pipeline-analytics",
|
|
30695
|
+
capScope: "device",
|
|
30696
|
+
addonId: null,
|
|
30697
|
+
access: "create"
|
|
30698
|
+
},
|
|
30516
30699
|
"pipelineAnalytics.proposeRetrainAnnotations": {
|
|
30517
30700
|
capName: "pipeline-analytics",
|
|
30518
30701
|
capScope: "device",
|
|
@@ -30543,7 +30726,7 @@ Object.freeze({
|
|
|
30543
30726
|
addonId: null,
|
|
30544
30727
|
access: "create"
|
|
30545
30728
|
},
|
|
30546
|
-
"pipelineAnalytics.
|
|
30729
|
+
"pipelineAnalytics.refreshStorageLocationsForMigration": {
|
|
30547
30730
|
capName: "pipeline-analytics",
|
|
30548
30731
|
capScope: "device",
|
|
30549
30732
|
addonId: null,
|
|
@@ -30555,6 +30738,12 @@ Object.freeze({
|
|
|
30555
30738
|
addonId: null,
|
|
30556
30739
|
access: "create"
|
|
30557
30740
|
},
|
|
30741
|
+
"pipelineAnalytics.resumeForStorageMigration": {
|
|
30742
|
+
capName: "pipeline-analytics",
|
|
30743
|
+
capScope: "device",
|
|
30744
|
+
addonId: null,
|
|
30745
|
+
access: "create"
|
|
30746
|
+
},
|
|
30558
30747
|
"pipelineAnalytics.saveRetrainAnnotations": {
|
|
30559
30748
|
capName: "pipeline-analytics",
|
|
30560
30749
|
capScope: "device",
|
|
@@ -30579,6 +30768,12 @@ Object.freeze({
|
|
|
30579
30768
|
addonId: null,
|
|
30580
30769
|
access: "create"
|
|
30581
30770
|
},
|
|
30771
|
+
"pipelineAnalytics.startStorageMigrationMove": {
|
|
30772
|
+
capName: "pipeline-analytics",
|
|
30773
|
+
capScope: "device",
|
|
30774
|
+
addonId: null,
|
|
30775
|
+
access: "create"
|
|
30776
|
+
},
|
|
30582
30777
|
"pipelineAnalytics.wipeAllAnalytics": {
|
|
30583
30778
|
capName: "pipeline-analytics",
|
|
30584
30779
|
capScope: "device",
|
|
@@ -30945,6 +31140,12 @@ Object.freeze({
|
|
|
30945
31140
|
addonId: null,
|
|
30946
31141
|
access: "view"
|
|
30947
31142
|
},
|
|
31143
|
+
"pipelineOrchestrator.pauseForStorageMigration": {
|
|
31144
|
+
capName: "pipeline-orchestrator",
|
|
31145
|
+
capScope: "system",
|
|
31146
|
+
addonId: null,
|
|
31147
|
+
access: "create"
|
|
31148
|
+
},
|
|
30948
31149
|
"pipelineOrchestrator.rebalance": {
|
|
30949
31150
|
capName: "pipeline-orchestrator",
|
|
30950
31151
|
capScope: "system",
|
|
@@ -30969,6 +31170,12 @@ Object.freeze({
|
|
|
30969
31170
|
addonId: null,
|
|
30970
31171
|
access: "view"
|
|
30971
31172
|
},
|
|
31173
|
+
"pipelineOrchestrator.resumeForStorageMigration": {
|
|
31174
|
+
capName: "pipeline-orchestrator",
|
|
31175
|
+
capScope: "system",
|
|
31176
|
+
addonId: null,
|
|
31177
|
+
access: "create"
|
|
31178
|
+
},
|
|
30972
31179
|
"pipelineOrchestrator.saveTemplate": {
|
|
30973
31180
|
capName: "pipeline-orchestrator",
|
|
30974
31181
|
capScope: "system",
|
|
@@ -31365,7 +31572,7 @@ Object.freeze({
|
|
|
31365
31572
|
addonId: null,
|
|
31366
31573
|
access: "create"
|
|
31367
31574
|
},
|
|
31368
|
-
"recording.
|
|
31575
|
+
"recording.cancelStorageMigrationMove": {
|
|
31369
31576
|
capName: "recording",
|
|
31370
31577
|
capScope: "system",
|
|
31371
31578
|
addonId: null,
|
|
@@ -31401,7 +31608,7 @@ Object.freeze({
|
|
|
31401
31608
|
addonId: null,
|
|
31402
31609
|
access: "view"
|
|
31403
31610
|
},
|
|
31404
|
-
"recording.
|
|
31611
|
+
"recording.getStorageMigrationMoveStatus": {
|
|
31405
31612
|
capName: "recording",
|
|
31406
31613
|
capScope: "system",
|
|
31407
31614
|
addonId: null,
|
|
@@ -31425,6 +31632,12 @@ Object.freeze({
|
|
|
31425
31632
|
addonId: null,
|
|
31426
31633
|
access: "view"
|
|
31427
31634
|
},
|
|
31635
|
+
"recording.pauseForStorageMigration": {
|
|
31636
|
+
capName: "recording",
|
|
31637
|
+
capScope: "system",
|
|
31638
|
+
addonId: null,
|
|
31639
|
+
access: "create"
|
|
31640
|
+
},
|
|
31428
31641
|
"recording.pruneFootage": {
|
|
31429
31642
|
capName: "recording",
|
|
31430
31643
|
capScope: "system",
|
|
@@ -31443,7 +31656,7 @@ Object.freeze({
|
|
|
31443
31656
|
addonId: null,
|
|
31444
31657
|
access: "view"
|
|
31445
31658
|
},
|
|
31446
|
-
"recording.
|
|
31659
|
+
"recording.refreshStorageLocationsForMigration": {
|
|
31447
31660
|
capName: "recording",
|
|
31448
31661
|
capScope: "system",
|
|
31449
31662
|
addonId: null,
|
|
@@ -31467,12 +31680,24 @@ Object.freeze({
|
|
|
31467
31680
|
addonId: null,
|
|
31468
31681
|
access: "create"
|
|
31469
31682
|
},
|
|
31683
|
+
"recording.resumeForStorageMigration": {
|
|
31684
|
+
capName: "recording",
|
|
31685
|
+
capScope: "system",
|
|
31686
|
+
addonId: null,
|
|
31687
|
+
access: "create"
|
|
31688
|
+
},
|
|
31470
31689
|
"recording.setDeviceConfig": {
|
|
31471
31690
|
capName: "recording",
|
|
31472
31691
|
capScope: "system",
|
|
31473
31692
|
addonId: null,
|
|
31474
31693
|
access: "create"
|
|
31475
31694
|
},
|
|
31695
|
+
"recording.startStorageMigrationMove": {
|
|
31696
|
+
capName: "recording",
|
|
31697
|
+
capScope: "system",
|
|
31698
|
+
addonId: null,
|
|
31699
|
+
access: "create"
|
|
31700
|
+
},
|
|
31476
31701
|
"recordingExport.cancelExport": {
|
|
31477
31702
|
capName: "recordingExport",
|
|
31478
31703
|
capScope: "system",
|
|
@@ -31863,6 +32088,30 @@ Object.freeze({
|
|
|
31863
32088
|
addonId: null,
|
|
31864
32089
|
access: "view"
|
|
31865
32090
|
},
|
|
32091
|
+
"storageMigration.cancel": {
|
|
32092
|
+
capName: "storage-migration",
|
|
32093
|
+
capScope: "system",
|
|
32094
|
+
addonId: null,
|
|
32095
|
+
access: "create"
|
|
32096
|
+
},
|
|
32097
|
+
"storageMigration.plan": {
|
|
32098
|
+
capName: "storage-migration",
|
|
32099
|
+
capScope: "system",
|
|
32100
|
+
addonId: null,
|
|
32101
|
+
access: "view"
|
|
32102
|
+
},
|
|
32103
|
+
"storageMigration.start": {
|
|
32104
|
+
capName: "storage-migration",
|
|
32105
|
+
capScope: "system",
|
|
32106
|
+
addonId: null,
|
|
32107
|
+
access: "create"
|
|
32108
|
+
},
|
|
32109
|
+
"storageMigration.status": {
|
|
32110
|
+
capName: "storage-migration",
|
|
32111
|
+
capScope: "system",
|
|
32112
|
+
addonId: null,
|
|
32113
|
+
access: "view"
|
|
32114
|
+
},
|
|
31866
32115
|
"storageProvider.abortUpload": {
|
|
31867
32116
|
capName: "storage-provider",
|
|
31868
32117
|
capScope: "system",
|
|
@@ -32241,12 +32490,42 @@ Object.freeze({
|
|
|
32241
32490
|
addonId: null,
|
|
32242
32491
|
access: "create"
|
|
32243
32492
|
},
|
|
32493
|
+
"terminalSession.adoptLegacyMonitor": {
|
|
32494
|
+
capName: "terminal-session",
|
|
32495
|
+
capScope: "system",
|
|
32496
|
+
addonId: null,
|
|
32497
|
+
access: "create"
|
|
32498
|
+
},
|
|
32244
32499
|
"terminalSession.close": {
|
|
32245
32500
|
capName: "terminal-session",
|
|
32246
32501
|
capScope: "system",
|
|
32247
32502
|
addonId: null,
|
|
32248
32503
|
access: "create"
|
|
32249
32504
|
},
|
|
32505
|
+
"terminalSession.createInstance": {
|
|
32506
|
+
capName: "terminal-session",
|
|
32507
|
+
capScope: "system",
|
|
32508
|
+
addonId: null,
|
|
32509
|
+
access: "create"
|
|
32510
|
+
},
|
|
32511
|
+
"terminalSession.deleteInstance": {
|
|
32512
|
+
capName: "terminal-session",
|
|
32513
|
+
capScope: "system",
|
|
32514
|
+
addonId: null,
|
|
32515
|
+
access: "delete"
|
|
32516
|
+
},
|
|
32517
|
+
"terminalSession.listInstances": {
|
|
32518
|
+
capName: "terminal-session",
|
|
32519
|
+
capScope: "system",
|
|
32520
|
+
addonId: null,
|
|
32521
|
+
access: "view"
|
|
32522
|
+
},
|
|
32523
|
+
"terminalSession.listLegacyCameras": {
|
|
32524
|
+
capName: "terminal-session",
|
|
32525
|
+
capScope: "system",
|
|
32526
|
+
addonId: null,
|
|
32527
|
+
access: "view"
|
|
32528
|
+
},
|
|
32250
32529
|
"terminalSession.listProfiles": {
|
|
32251
32530
|
capName: "terminal-session",
|
|
32252
32531
|
capScope: "system",
|
|
@@ -32277,6 +32556,12 @@ Object.freeze({
|
|
|
32277
32556
|
addonId: null,
|
|
32278
32557
|
access: "create"
|
|
32279
32558
|
},
|
|
32559
|
+
"terminalSession.setInstanceEnabled": {
|
|
32560
|
+
capName: "terminal-session",
|
|
32561
|
+
capScope: "system",
|
|
32562
|
+
addonId: null,
|
|
32563
|
+
access: "create"
|
|
32564
|
+
},
|
|
32280
32565
|
"terminalSession.writeInput": {
|
|
32281
32566
|
capName: "terminal-session",
|
|
32282
32567
|
capScope: "system",
|
package/dist/addon.mjs
CHANGED
|
@@ -7588,12 +7588,11 @@ var RecordingConfigSchema = object({
|
|
|
7588
7588
|
/**
|
|
7589
7589
|
* Entity-relocation job state (storage entity-routing spec, Phase 4).
|
|
7590
7590
|
*
|
|
7591
|
-
* One shape shared by the recorder
|
|
7592
|
-
*
|
|
7593
|
-
*
|
|
7594
|
-
*
|
|
7595
|
-
*
|
|
7596
|
-
* row on the owning addon's surface.
|
|
7591
|
+
* One shape shared by the recorder and pipeline-analytics internal movers.
|
|
7592
|
+
* The public admin surface is `storage-migration`; child jobs remain in RAM
|
|
7593
|
+
* because copy-if-absent, verify, delete and index/row repoint are resumable.
|
|
7594
|
+
* Each completed/failed run also lands one durable ops-log row on its owning
|
|
7595
|
+
* addon surface.
|
|
7597
7596
|
*/
|
|
7598
7597
|
var RelocateJobStateSchema = _enum([
|
|
7599
7598
|
"running",
|
|
@@ -7620,19 +7619,100 @@ var RelocateJobSchema = object({
|
|
|
7620
7619
|
finishedAt: number().nullable(),
|
|
7621
7620
|
error: string().nullable()
|
|
7622
7621
|
});
|
|
7622
|
+
/** Profile-derived footage selection used only by the migration coordinator:
|
|
7623
|
+
* `recordings` owns high+mid; `recordingsLow` owns low. */
|
|
7624
|
+
var RelocateFootageClassSchema = _enum(["recordings", "recordingsLow"]);
|
|
7623
7625
|
var RelocateFootageInputSchema = object({
|
|
7624
|
-
deviceId: number().optional(),
|
|
7625
7626
|
fromLocationId: string(),
|
|
7626
7627
|
toLocationId: string(),
|
|
7627
7628
|
entities: array(_enum(["segments"])).optional(),
|
|
7629
|
+
/** Limits relocation to the logical profile class. Omit only for the
|
|
7630
|
+
* pre-orchestration compatibility path. */
|
|
7631
|
+
footageClass: RelocateFootageClassSchema.optional(),
|
|
7628
7632
|
/** Copy throttle in MB/s (default 40) — the drain is a background chore,
|
|
7629
7633
|
* never allowed to starve live writers. */
|
|
7630
7634
|
throttleMbps: number().min(1).max(1e3).optional()
|
|
7631
7635
|
});
|
|
7632
|
-
|
|
7633
|
-
|
|
7636
|
+
/** Internal, lease-scoped participant operation. It is intentionally separate
|
|
7637
|
+
* from persistent recording settings: a migration never changes
|
|
7638
|
+
* `RecordingConfig.enabled` or camera wrapper bindings. */
|
|
7639
|
+
var StorageMigrationLeaseInputSchema = object({ leaseId: string().min(1) });
|
|
7640
|
+
var StorageMigrationFootageMoveInputSchema = RelocateFootageInputSchema.extend({ leaseId: string().min(1) });
|
|
7641
|
+
var StorageMigrationMediaMoveInputSchema = object({
|
|
7634
7642
|
toLocationId: string(),
|
|
7635
7643
|
throttleMbps: number().min(1).max(1e3).optional()
|
|
7644
|
+
}).extend({ leaseId: string().min(1) });
|
|
7645
|
+
/** The independently selectable logical storage classes. `recordings`
|
|
7646
|
+
* encompasses the high and mid segment profiles; `recordingsLow` is low
|
|
7647
|
+
* segments; `eventMedia` is post-analysis blobs. */
|
|
7648
|
+
var StorageMigrationClassSchema = _enum([
|
|
7649
|
+
"recordings",
|
|
7650
|
+
"recordingsLow",
|
|
7651
|
+
"eventMedia"
|
|
7652
|
+
]);
|
|
7653
|
+
/** A destination is always an existing, fully-qualified location id. The
|
|
7654
|
+
* migration API intentionally never changes a source location's `basePath`:
|
|
7655
|
+
* callers create a new `<type>:<slug>` location, then select it here. */
|
|
7656
|
+
var StorageMigrationDestinationsSchema = object({
|
|
7657
|
+
recordings: string().min(1).optional(),
|
|
7658
|
+
recordingsLow: string().min(1).optional(),
|
|
7659
|
+
eventMedia: string().min(1).optional()
|
|
7660
|
+
}).refine((value) => Object.keys(value).length > 0, { message: "select at least one storage class" });
|
|
7661
|
+
/** Shared input for planning and starting an orchestrated storage migration. */
|
|
7662
|
+
var StorageMigrationInputSchema = object({
|
|
7663
|
+
destinations: StorageMigrationDestinationsSchema,
|
|
7664
|
+
throttleMbps: number().min(1).max(1e3).optional()
|
|
7665
|
+
});
|
|
7666
|
+
/** The durable coordinator state machine. The only phase that changes default
|
|
7667
|
+
* locations is `repointing`, after every selected mover has completed and been
|
|
7668
|
+
* verified. */
|
|
7669
|
+
var StorageMigrationPhaseSchema = _enum([
|
|
7670
|
+
"planning",
|
|
7671
|
+
"pausing",
|
|
7672
|
+
"moving",
|
|
7673
|
+
"verifying",
|
|
7674
|
+
"repointing",
|
|
7675
|
+
"refreshing",
|
|
7676
|
+
"resuming",
|
|
7677
|
+
"done",
|
|
7678
|
+
"failed",
|
|
7679
|
+
"cancelled"
|
|
7680
|
+
]);
|
|
7681
|
+
var StorageMigrationParticipantSchema = _enum([
|
|
7682
|
+
"pipeline",
|
|
7683
|
+
"recorder",
|
|
7684
|
+
"analytics"
|
|
7685
|
+
]);
|
|
7686
|
+
var StorageMigrationMoveSchema = object({
|
|
7687
|
+
storageClass: StorageMigrationClassSchema,
|
|
7688
|
+
fromLocationId: string(),
|
|
7689
|
+
toLocationId: string(),
|
|
7690
|
+
moverJobId: string().nullable(),
|
|
7691
|
+
state: RelocateJobStateSchema.nullable(),
|
|
7692
|
+
error: string().nullable()
|
|
7693
|
+
});
|
|
7694
|
+
var StorageMigrationJobSchema = object({
|
|
7695
|
+
jobId: string(),
|
|
7696
|
+
phase: StorageMigrationPhaseSchema,
|
|
7697
|
+
destinations: StorageMigrationDestinationsSchema,
|
|
7698
|
+
throttleMbps: number(),
|
|
7699
|
+
moves: array(StorageMigrationMoveSchema),
|
|
7700
|
+
pauseLeaseId: string().nullable(),
|
|
7701
|
+
pausedParticipants: array(StorageMigrationParticipantSchema),
|
|
7702
|
+
repointed: boolean(),
|
|
7703
|
+
cancelRequested: boolean(),
|
|
7704
|
+
startedAt: number(),
|
|
7705
|
+
updatedAt: number(),
|
|
7706
|
+
finishedAt: number().nullable(),
|
|
7707
|
+
error: string().nullable()
|
|
7708
|
+
});
|
|
7709
|
+
var StorageMigrationPlanSchema = object({
|
|
7710
|
+
destinations: StorageMigrationDestinationsSchema,
|
|
7711
|
+
moves: array(object({
|
|
7712
|
+
storageClass: StorageMigrationClassSchema,
|
|
7713
|
+
fromLocationId: string(),
|
|
7714
|
+
toLocationId: string()
|
|
7715
|
+
}))
|
|
7636
7716
|
});
|
|
7637
7717
|
/**
|
|
7638
7718
|
* `StorageLocationType` — an addon-declared id that identifies the *kind* of
|
|
@@ -16303,13 +16383,19 @@ DeviceType.Camera, method(object({ deviceId: number() }), array(TrackSchema).rea
|
|
|
16303
16383
|
}), method(object({ deviceId: number() }), EventPruneCountsSchema, {
|
|
16304
16384
|
kind: "mutation",
|
|
16305
16385
|
auth: "admin"
|
|
16306
|
-
}), method(
|
|
16386
|
+
}), method(StorageMigrationLeaseInputSchema, object({ paused: literal(true) }), {
|
|
16307
16387
|
kind: "mutation",
|
|
16308
16388
|
auth: "admin"
|
|
16309
|
-
}), method(object({
|
|
16310
|
-
kind: "
|
|
16389
|
+
}), method(StorageMigrationLeaseInputSchema, object({ resumed: literal(true) }), {
|
|
16390
|
+
kind: "mutation",
|
|
16391
|
+
auth: "admin"
|
|
16392
|
+
}), method(StorageMigrationLeaseInputSchema, object({ refreshed: literal(true) }), {
|
|
16393
|
+
kind: "mutation",
|
|
16394
|
+
auth: "admin"
|
|
16395
|
+
}), method(StorageMigrationMediaMoveInputSchema, object({ jobId: string() }), {
|
|
16396
|
+
kind: "mutation",
|
|
16311
16397
|
auth: "admin"
|
|
16312
|
-
}), method(object({ jobId: string() }), object({ cancelled: boolean() }), {
|
|
16398
|
+
}), method(object({ jobId: string() }), RelocateJobSchema.nullable(), { auth: "admin" }), method(object({ jobId: string() }), object({ cancelled: boolean() }), {
|
|
16313
16399
|
kind: "mutation",
|
|
16314
16400
|
auth: "admin"
|
|
16315
16401
|
}), method(OpsLogQueryInputSchema, array(OpsLogEntrySchema).readonly(), {
|
|
@@ -17839,7 +17925,13 @@ var NodeInferenceDevicesSchema = object({
|
|
|
17839
17925
|
reachable: boolean(),
|
|
17840
17926
|
devices: array(NodeInferenceDeviceSchema).readonly()
|
|
17841
17927
|
});
|
|
17842
|
-
method(object({
|
|
17928
|
+
method(StorageMigrationLeaseInputSchema, object({ paused: literal(true) }), {
|
|
17929
|
+
kind: "mutation",
|
|
17930
|
+
auth: "admin"
|
|
17931
|
+
}), method(StorageMigrationLeaseInputSchema, object({ resumed: literal(true) }), {
|
|
17932
|
+
kind: "mutation",
|
|
17933
|
+
auth: "admin"
|
|
17934
|
+
}), method(object({
|
|
17843
17935
|
deviceId: number(),
|
|
17844
17936
|
agentNodeId: string()
|
|
17845
17937
|
}), object({ success: literal(true) }), {
|
|
@@ -18513,6 +18605,13 @@ method(object({ locationId: string() }), EvictableUsageSchema), method(object({
|
|
|
18513
18605
|
locationId: string(),
|
|
18514
18606
|
targetBytes: number().int().positive()
|
|
18515
18607
|
}), EvictResultSchema, { kind: "mutation" });
|
|
18608
|
+
method(StorageMigrationInputSchema, StorageMigrationPlanSchema, { auth: "admin" }), method(StorageMigrationInputSchema, object({ jobId: string() }), {
|
|
18609
|
+
kind: "mutation",
|
|
18610
|
+
auth: "admin"
|
|
18611
|
+
}), method(object({ jobId: string().optional() }), StorageMigrationJobSchema.nullable(), { auth: "admin" }), method(object({ jobId: string() }), object({ cancelled: boolean() }), {
|
|
18612
|
+
kind: "mutation",
|
|
18613
|
+
auth: "admin"
|
|
18614
|
+
});
|
|
18516
18615
|
var ProviderInfoSchema = discriminatedUnion("shouldSaveDiskSpace", [object({
|
|
18517
18616
|
providerId: string().min(1),
|
|
18518
18617
|
displayName: string().min(1),
|
|
@@ -18616,6 +18715,28 @@ var TerminalProfileInfoSchema = object({
|
|
|
18616
18715
|
label: string(),
|
|
18617
18716
|
description: string().optional()
|
|
18618
18717
|
});
|
|
18718
|
+
/**
|
|
18719
|
+
* A durable operator-created Terminal instance. Profiles are templates; only
|
|
18720
|
+
* an instance declares a camera.
|
|
18721
|
+
*/
|
|
18722
|
+
var TerminalInstanceInfoSchema = object({
|
|
18723
|
+
instanceId: string(),
|
|
18724
|
+
cameraStableId: string(),
|
|
18725
|
+
nodeId: string(),
|
|
18726
|
+
profileId: string(),
|
|
18727
|
+
profileLabel: string(),
|
|
18728
|
+
name: string(),
|
|
18729
|
+
enabled: boolean()
|
|
18730
|
+
});
|
|
18731
|
+
var TerminalLegacyCameraSchema = object({
|
|
18732
|
+
stableId: string(),
|
|
18733
|
+
nodeId: string(),
|
|
18734
|
+
profileId: string(),
|
|
18735
|
+
profileLabel: string(),
|
|
18736
|
+
name: string(),
|
|
18737
|
+
/** Only legacy monitor cameras can retain their historic stable identity. */
|
|
18738
|
+
adoptable: boolean()
|
|
18739
|
+
});
|
|
18619
18740
|
var TerminalOutputEventSchema = discriminatedUnion("kind", [object({
|
|
18620
18741
|
seq: number().int().positive(),
|
|
18621
18742
|
kind: literal("data"),
|
|
@@ -18632,7 +18753,29 @@ var TerminalOutputBatchSchema = object({
|
|
|
18632
18753
|
snapshot: string().optional(),
|
|
18633
18754
|
events: array(TerminalOutputEventSchema).readonly()
|
|
18634
18755
|
});
|
|
18635
|
-
method(_void(), array(TerminalProfileInfoSchema).readonly(), { auth: "admin" }), method(_void(), array(
|
|
18756
|
+
method(_void(), array(TerminalProfileInfoSchema).readonly(), { auth: "admin" }), method(_void(), array(TerminalInstanceInfoSchema).readonly(), { auth: "admin" }), method(object({
|
|
18757
|
+
targetNodeId: string().min(1),
|
|
18758
|
+
profileId: string().min(1),
|
|
18759
|
+
name: string().trim().min(1).max(160).optional()
|
|
18760
|
+
}), TerminalInstanceInfoSchema, {
|
|
18761
|
+
kind: "mutation",
|
|
18762
|
+
auth: "admin"
|
|
18763
|
+
}), method(object({ instanceId: string().min(1) }), _void(), {
|
|
18764
|
+
kind: "mutation",
|
|
18765
|
+
auth: "admin"
|
|
18766
|
+
}), method(object({
|
|
18767
|
+
instanceId: string().min(1),
|
|
18768
|
+
enabled: boolean()
|
|
18769
|
+
}), TerminalInstanceInfoSchema, {
|
|
18770
|
+
kind: "mutation",
|
|
18771
|
+
auth: "admin"
|
|
18772
|
+
}), method(_void(), array(TerminalLegacyCameraSchema).readonly(), { auth: "admin" }), method(object({
|
|
18773
|
+
stableId: string().min(1),
|
|
18774
|
+
name: string().trim().min(1).max(160).optional()
|
|
18775
|
+
}), TerminalInstanceInfoSchema, {
|
|
18776
|
+
kind: "mutation",
|
|
18777
|
+
auth: "admin"
|
|
18778
|
+
}), method(_void(), array(TerminalSessionInfoSchema).readonly(), { auth: "admin" }), method(object({
|
|
18636
18779
|
profileId: string(),
|
|
18637
18780
|
cols: number().int().positive(),
|
|
18638
18781
|
rows: number().int().positive()
|
|
@@ -18649,7 +18792,13 @@ method(_void(), array(TerminalProfileInfoSchema).readonly(), { auth: "admin" }),
|
|
|
18649
18792
|
}), method(object({
|
|
18650
18793
|
sessionId: string(),
|
|
18651
18794
|
afterSeq: number().int().nonnegative(),
|
|
18652
|
-
waitMs: number().int().min(0).max(2e3).default(0)
|
|
18795
|
+
waitMs: number().int().min(0).max(2e3).default(0),
|
|
18796
|
+
/**
|
|
18797
|
+
* Wait when a just-opened session has no output yet. Kept opt-in so a
|
|
18798
|
+
* browser's initial repaint remains immediate; the camera snapshot
|
|
18799
|
+
* relay uses it to avoid encoding a blank startup frame.
|
|
18800
|
+
*/
|
|
18801
|
+
waitForOutput: boolean().optional()
|
|
18653
18802
|
}), TerminalOutputBatchSchema, {
|
|
18654
18803
|
kind: "mutation",
|
|
18655
18804
|
auth: "admin",
|
|
@@ -21155,6 +21304,7 @@ var FaceInfoSchema = object({
|
|
|
21155
21304
|
var FaceFilterEnum = _enum([
|
|
21156
21305
|
"unassigned",
|
|
21157
21306
|
"recognized",
|
|
21307
|
+
"identified",
|
|
21158
21308
|
"all"
|
|
21159
21309
|
]);
|
|
21160
21310
|
var MediaFileLiteSchema$1 = object({
|
|
@@ -21183,6 +21333,8 @@ method(_void(), array(IdentitySchema).readonly()), method(object({ name: string(
|
|
|
21183
21333
|
kind: "mutation",
|
|
21184
21334
|
auth: "admin"
|
|
21185
21335
|
}), method(object({
|
|
21336
|
+
/** Restrict to one camera. Absent keeps the cluster-wide gallery view. */
|
|
21337
|
+
deviceId: number().int().optional(),
|
|
21186
21338
|
limit: number().int().positive().optional(),
|
|
21187
21339
|
filter: FaceFilterEnum.optional(),
|
|
21188
21340
|
/**
|
|
@@ -23412,6 +23564,10 @@ var OsdSourceSchema = discriminatedUnion("kind", [
|
|
|
23412
23564
|
capName: string().min(1).max(64),
|
|
23413
23565
|
/** Dot path inside the slice, e.g. `detected`, `value`, `mode`. */
|
|
23414
23566
|
valuePath: string().min(1).max(64)
|
|
23567
|
+
}),
|
|
23568
|
+
object({
|
|
23569
|
+
kind: literal("latest-recognition"),
|
|
23570
|
+
recognition: _enum(["person", "plate"])
|
|
23415
23571
|
})
|
|
23416
23572
|
]);
|
|
23417
23573
|
var OsdSlotBindingSchema = object({
|
|
@@ -23517,6 +23673,15 @@ method(object({ deviceId: number().int() }), object({
|
|
|
23517
23673
|
}), object({ success: literal(true) }), {
|
|
23518
23674
|
kind: "mutation",
|
|
23519
23675
|
auth: "admin"
|
|
23676
|
+
}), method(object({
|
|
23677
|
+
sourceDeviceId: number().int(),
|
|
23678
|
+
targetDeviceId: number().int()
|
|
23679
|
+
}), object({
|
|
23680
|
+
copied: number().int().nonnegative(),
|
|
23681
|
+
skipped: number().int().nonnegative()
|
|
23682
|
+
}), {
|
|
23683
|
+
kind: "mutation",
|
|
23684
|
+
auth: "admin"
|
|
23520
23685
|
}), method(object({
|
|
23521
23686
|
deviceId: number().int(),
|
|
23522
23687
|
slotId: string().min(1),
|
|
@@ -24614,13 +24779,19 @@ method(object({
|
|
|
24614
24779
|
}), {
|
|
24615
24780
|
kind: "mutation",
|
|
24616
24781
|
auth: "admin"
|
|
24617
|
-
}), method(
|
|
24782
|
+
}), method(StorageMigrationLeaseInputSchema, object({ paused: literal(true) }), {
|
|
24618
24783
|
kind: "mutation",
|
|
24619
24784
|
auth: "admin"
|
|
24620
|
-
}), method(object({
|
|
24621
|
-
kind: "
|
|
24785
|
+
}), method(StorageMigrationLeaseInputSchema, object({ resumed: literal(true) }), {
|
|
24786
|
+
kind: "mutation",
|
|
24622
24787
|
auth: "admin"
|
|
24623
|
-
}), method(
|
|
24788
|
+
}), method(StorageMigrationLeaseInputSchema, object({ refreshed: literal(true) }), {
|
|
24789
|
+
kind: "mutation",
|
|
24790
|
+
auth: "admin"
|
|
24791
|
+
}), method(StorageMigrationFootageMoveInputSchema, object({ jobId: string() }), {
|
|
24792
|
+
kind: "mutation",
|
|
24793
|
+
auth: "admin"
|
|
24794
|
+
}), method(object({ jobId: string() }), RelocateJobSchema.nullable(), { auth: "admin" }), method(object({ jobId: string() }), object({ cancelled: boolean() }), {
|
|
24624
24795
|
kind: "mutation",
|
|
24625
24796
|
auth: "admin"
|
|
24626
24797
|
});
|
|
@@ -30226,6 +30397,12 @@ Object.freeze({
|
|
|
30226
30397
|
addonId: null,
|
|
30227
30398
|
access: "delete"
|
|
30228
30399
|
},
|
|
30400
|
+
"osdManager.copyDeviceConfiguration": {
|
|
30401
|
+
capName: "osd-manager",
|
|
30402
|
+
capScope: "system",
|
|
30403
|
+
addonId: null,
|
|
30404
|
+
access: "create"
|
|
30405
|
+
},
|
|
30229
30406
|
"osdManager.getConditionSupport": {
|
|
30230
30407
|
capName: "osd-manager",
|
|
30231
30408
|
capScope: "system",
|
|
@@ -30322,7 +30499,7 @@ Object.freeze({
|
|
|
30322
30499
|
addonId: null,
|
|
30323
30500
|
access: "create"
|
|
30324
30501
|
},
|
|
30325
|
-
"pipelineAnalytics.
|
|
30502
|
+
"pipelineAnalytics.cancelStorageMigrationMove": {
|
|
30326
30503
|
capName: "pipeline-analytics",
|
|
30327
30504
|
capScope: "device",
|
|
30328
30505
|
addonId: null,
|
|
@@ -30394,12 +30571,6 @@ Object.freeze({
|
|
|
30394
30571
|
addonId: null,
|
|
30395
30572
|
access: "view"
|
|
30396
30573
|
},
|
|
30397
|
-
"pipelineAnalytics.getMediaRelocateStatus": {
|
|
30398
|
-
capName: "pipeline-analytics",
|
|
30399
|
-
capScope: "device",
|
|
30400
|
-
addonId: null,
|
|
30401
|
-
access: "view"
|
|
30402
|
-
},
|
|
30403
30574
|
"pipelineAnalytics.getMotionEvents": {
|
|
30404
30575
|
capName: "pipeline-analytics",
|
|
30405
30576
|
capScope: "device",
|
|
@@ -30436,6 +30607,12 @@ Object.freeze({
|
|
|
30436
30607
|
addonId: null,
|
|
30437
30608
|
access: "view"
|
|
30438
30609
|
},
|
|
30610
|
+
"pipelineAnalytics.getStorageMigrationMoveStatus": {
|
|
30611
|
+
capName: "pipeline-analytics",
|
|
30612
|
+
capScope: "device",
|
|
30613
|
+
addonId: null,
|
|
30614
|
+
access: "view"
|
|
30615
|
+
},
|
|
30439
30616
|
"pipelineAnalytics.getTrack": {
|
|
30440
30617
|
capName: "pipeline-analytics",
|
|
30441
30618
|
capScope: "device",
|
|
@@ -30514,6 +30691,12 @@ Object.freeze({
|
|
|
30514
30691
|
addonId: null,
|
|
30515
30692
|
access: "view"
|
|
30516
30693
|
},
|
|
30694
|
+
"pipelineAnalytics.pauseForStorageMigration": {
|
|
30695
|
+
capName: "pipeline-analytics",
|
|
30696
|
+
capScope: "device",
|
|
30697
|
+
addonId: null,
|
|
30698
|
+
access: "create"
|
|
30699
|
+
},
|
|
30517
30700
|
"pipelineAnalytics.proposeRetrainAnnotations": {
|
|
30518
30701
|
capName: "pipeline-analytics",
|
|
30519
30702
|
capScope: "device",
|
|
@@ -30544,7 +30727,7 @@ Object.freeze({
|
|
|
30544
30727
|
addonId: null,
|
|
30545
30728
|
access: "create"
|
|
30546
30729
|
},
|
|
30547
|
-
"pipelineAnalytics.
|
|
30730
|
+
"pipelineAnalytics.refreshStorageLocationsForMigration": {
|
|
30548
30731
|
capName: "pipeline-analytics",
|
|
30549
30732
|
capScope: "device",
|
|
30550
30733
|
addonId: null,
|
|
@@ -30556,6 +30739,12 @@ Object.freeze({
|
|
|
30556
30739
|
addonId: null,
|
|
30557
30740
|
access: "create"
|
|
30558
30741
|
},
|
|
30742
|
+
"pipelineAnalytics.resumeForStorageMigration": {
|
|
30743
|
+
capName: "pipeline-analytics",
|
|
30744
|
+
capScope: "device",
|
|
30745
|
+
addonId: null,
|
|
30746
|
+
access: "create"
|
|
30747
|
+
},
|
|
30559
30748
|
"pipelineAnalytics.saveRetrainAnnotations": {
|
|
30560
30749
|
capName: "pipeline-analytics",
|
|
30561
30750
|
capScope: "device",
|
|
@@ -30580,6 +30769,12 @@ Object.freeze({
|
|
|
30580
30769
|
addonId: null,
|
|
30581
30770
|
access: "create"
|
|
30582
30771
|
},
|
|
30772
|
+
"pipelineAnalytics.startStorageMigrationMove": {
|
|
30773
|
+
capName: "pipeline-analytics",
|
|
30774
|
+
capScope: "device",
|
|
30775
|
+
addonId: null,
|
|
30776
|
+
access: "create"
|
|
30777
|
+
},
|
|
30583
30778
|
"pipelineAnalytics.wipeAllAnalytics": {
|
|
30584
30779
|
capName: "pipeline-analytics",
|
|
30585
30780
|
capScope: "device",
|
|
@@ -30946,6 +31141,12 @@ Object.freeze({
|
|
|
30946
31141
|
addonId: null,
|
|
30947
31142
|
access: "view"
|
|
30948
31143
|
},
|
|
31144
|
+
"pipelineOrchestrator.pauseForStorageMigration": {
|
|
31145
|
+
capName: "pipeline-orchestrator",
|
|
31146
|
+
capScope: "system",
|
|
31147
|
+
addonId: null,
|
|
31148
|
+
access: "create"
|
|
31149
|
+
},
|
|
30949
31150
|
"pipelineOrchestrator.rebalance": {
|
|
30950
31151
|
capName: "pipeline-orchestrator",
|
|
30951
31152
|
capScope: "system",
|
|
@@ -30970,6 +31171,12 @@ Object.freeze({
|
|
|
30970
31171
|
addonId: null,
|
|
30971
31172
|
access: "view"
|
|
30972
31173
|
},
|
|
31174
|
+
"pipelineOrchestrator.resumeForStorageMigration": {
|
|
31175
|
+
capName: "pipeline-orchestrator",
|
|
31176
|
+
capScope: "system",
|
|
31177
|
+
addonId: null,
|
|
31178
|
+
access: "create"
|
|
31179
|
+
},
|
|
30973
31180
|
"pipelineOrchestrator.saveTemplate": {
|
|
30974
31181
|
capName: "pipeline-orchestrator",
|
|
30975
31182
|
capScope: "system",
|
|
@@ -31366,7 +31573,7 @@ Object.freeze({
|
|
|
31366
31573
|
addonId: null,
|
|
31367
31574
|
access: "create"
|
|
31368
31575
|
},
|
|
31369
|
-
"recording.
|
|
31576
|
+
"recording.cancelStorageMigrationMove": {
|
|
31370
31577
|
capName: "recording",
|
|
31371
31578
|
capScope: "system",
|
|
31372
31579
|
addonId: null,
|
|
@@ -31402,7 +31609,7 @@ Object.freeze({
|
|
|
31402
31609
|
addonId: null,
|
|
31403
31610
|
access: "view"
|
|
31404
31611
|
},
|
|
31405
|
-
"recording.
|
|
31612
|
+
"recording.getStorageMigrationMoveStatus": {
|
|
31406
31613
|
capName: "recording",
|
|
31407
31614
|
capScope: "system",
|
|
31408
31615
|
addonId: null,
|
|
@@ -31426,6 +31633,12 @@ Object.freeze({
|
|
|
31426
31633
|
addonId: null,
|
|
31427
31634
|
access: "view"
|
|
31428
31635
|
},
|
|
31636
|
+
"recording.pauseForStorageMigration": {
|
|
31637
|
+
capName: "recording",
|
|
31638
|
+
capScope: "system",
|
|
31639
|
+
addonId: null,
|
|
31640
|
+
access: "create"
|
|
31641
|
+
},
|
|
31429
31642
|
"recording.pruneFootage": {
|
|
31430
31643
|
capName: "recording",
|
|
31431
31644
|
capScope: "system",
|
|
@@ -31444,7 +31657,7 @@ Object.freeze({
|
|
|
31444
31657
|
addonId: null,
|
|
31445
31658
|
access: "view"
|
|
31446
31659
|
},
|
|
31447
|
-
"recording.
|
|
31660
|
+
"recording.refreshStorageLocationsForMigration": {
|
|
31448
31661
|
capName: "recording",
|
|
31449
31662
|
capScope: "system",
|
|
31450
31663
|
addonId: null,
|
|
@@ -31468,12 +31681,24 @@ Object.freeze({
|
|
|
31468
31681
|
addonId: null,
|
|
31469
31682
|
access: "create"
|
|
31470
31683
|
},
|
|
31684
|
+
"recording.resumeForStorageMigration": {
|
|
31685
|
+
capName: "recording",
|
|
31686
|
+
capScope: "system",
|
|
31687
|
+
addonId: null,
|
|
31688
|
+
access: "create"
|
|
31689
|
+
},
|
|
31471
31690
|
"recording.setDeviceConfig": {
|
|
31472
31691
|
capName: "recording",
|
|
31473
31692
|
capScope: "system",
|
|
31474
31693
|
addonId: null,
|
|
31475
31694
|
access: "create"
|
|
31476
31695
|
},
|
|
31696
|
+
"recording.startStorageMigrationMove": {
|
|
31697
|
+
capName: "recording",
|
|
31698
|
+
capScope: "system",
|
|
31699
|
+
addonId: null,
|
|
31700
|
+
access: "create"
|
|
31701
|
+
},
|
|
31477
31702
|
"recordingExport.cancelExport": {
|
|
31478
31703
|
capName: "recordingExport",
|
|
31479
31704
|
capScope: "system",
|
|
@@ -31864,6 +32089,30 @@ Object.freeze({
|
|
|
31864
32089
|
addonId: null,
|
|
31865
32090
|
access: "view"
|
|
31866
32091
|
},
|
|
32092
|
+
"storageMigration.cancel": {
|
|
32093
|
+
capName: "storage-migration",
|
|
32094
|
+
capScope: "system",
|
|
32095
|
+
addonId: null,
|
|
32096
|
+
access: "create"
|
|
32097
|
+
},
|
|
32098
|
+
"storageMigration.plan": {
|
|
32099
|
+
capName: "storage-migration",
|
|
32100
|
+
capScope: "system",
|
|
32101
|
+
addonId: null,
|
|
32102
|
+
access: "view"
|
|
32103
|
+
},
|
|
32104
|
+
"storageMigration.start": {
|
|
32105
|
+
capName: "storage-migration",
|
|
32106
|
+
capScope: "system",
|
|
32107
|
+
addonId: null,
|
|
32108
|
+
access: "create"
|
|
32109
|
+
},
|
|
32110
|
+
"storageMigration.status": {
|
|
32111
|
+
capName: "storage-migration",
|
|
32112
|
+
capScope: "system",
|
|
32113
|
+
addonId: null,
|
|
32114
|
+
access: "view"
|
|
32115
|
+
},
|
|
31867
32116
|
"storageProvider.abortUpload": {
|
|
31868
32117
|
capName: "storage-provider",
|
|
31869
32118
|
capScope: "system",
|
|
@@ -32242,12 +32491,42 @@ Object.freeze({
|
|
|
32242
32491
|
addonId: null,
|
|
32243
32492
|
access: "create"
|
|
32244
32493
|
},
|
|
32494
|
+
"terminalSession.adoptLegacyMonitor": {
|
|
32495
|
+
capName: "terminal-session",
|
|
32496
|
+
capScope: "system",
|
|
32497
|
+
addonId: null,
|
|
32498
|
+
access: "create"
|
|
32499
|
+
},
|
|
32245
32500
|
"terminalSession.close": {
|
|
32246
32501
|
capName: "terminal-session",
|
|
32247
32502
|
capScope: "system",
|
|
32248
32503
|
addonId: null,
|
|
32249
32504
|
access: "create"
|
|
32250
32505
|
},
|
|
32506
|
+
"terminalSession.createInstance": {
|
|
32507
|
+
capName: "terminal-session",
|
|
32508
|
+
capScope: "system",
|
|
32509
|
+
addonId: null,
|
|
32510
|
+
access: "create"
|
|
32511
|
+
},
|
|
32512
|
+
"terminalSession.deleteInstance": {
|
|
32513
|
+
capName: "terminal-session",
|
|
32514
|
+
capScope: "system",
|
|
32515
|
+
addonId: null,
|
|
32516
|
+
access: "delete"
|
|
32517
|
+
},
|
|
32518
|
+
"terminalSession.listInstances": {
|
|
32519
|
+
capName: "terminal-session",
|
|
32520
|
+
capScope: "system",
|
|
32521
|
+
addonId: null,
|
|
32522
|
+
access: "view"
|
|
32523
|
+
},
|
|
32524
|
+
"terminalSession.listLegacyCameras": {
|
|
32525
|
+
capName: "terminal-session",
|
|
32526
|
+
capScope: "system",
|
|
32527
|
+
addonId: null,
|
|
32528
|
+
access: "view"
|
|
32529
|
+
},
|
|
32251
32530
|
"terminalSession.listProfiles": {
|
|
32252
32531
|
capName: "terminal-session",
|
|
32253
32532
|
capScope: "system",
|
|
@@ -32278,6 +32557,12 @@ Object.freeze({
|
|
|
32278
32557
|
addonId: null,
|
|
32279
32558
|
access: "create"
|
|
32280
32559
|
},
|
|
32560
|
+
"terminalSession.setInstanceEnabled": {
|
|
32561
|
+
capName: "terminal-session",
|
|
32562
|
+
capScope: "system",
|
|
32563
|
+
addonId: null,
|
|
32564
|
+
access: "create"
|
|
32565
|
+
},
|
|
32281
32566
|
"terminalSession.writeInput": {
|
|
32282
32567
|
capName: "terminal-session",
|
|
32283
32568
|
capScope: "system",
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@camstack/addon-provider-dreo",
|
|
3
|
-
"version": "0.2.
|
|
3
|
+
"version": "0.2.13",
|
|
4
4
|
"description": "Dreo smart-device (fan / air-circulator / purifier / heater / humidifier) device-provider addon for CamStack — wraps the @apocaliss92/nodedreo Dreo cloud client (REST + WebSocket)",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"camstack",
|