@camstack/addon-provider-dreo 0.2.11 → 0.2.13
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/addon.js +357 -30
- package/dist/addon.mjs +357 -30
- package/package.json +1 -1
package/dist/addon.js
CHANGED
|
@@ -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",
|
|
16310
16390
|
auth: "admin"
|
|
16311
|
-
}), method(
|
|
16391
|
+
}), method(StorageMigrationLeaseInputSchema, object({ refreshed: literal(true) }), {
|
|
16392
|
+
kind: "mutation",
|
|
16393
|
+
auth: "admin"
|
|
16394
|
+
}), method(StorageMigrationMediaMoveInputSchema, object({ jobId: string() }), {
|
|
16395
|
+
kind: "mutation",
|
|
16396
|
+
auth: "admin"
|
|
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,7 +18714,67 @@ var TerminalProfileInfoSchema = object({
|
|
|
18615
18714
|
label: string(),
|
|
18616
18715
|
description: string().optional()
|
|
18617
18716
|
});
|
|
18618
|
-
|
|
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
|
+
});
|
|
18739
|
+
var TerminalOutputEventSchema = discriminatedUnion("kind", [object({
|
|
18740
|
+
seq: number().int().positive(),
|
|
18741
|
+
kind: literal("data"),
|
|
18742
|
+
data: string()
|
|
18743
|
+
}), object({
|
|
18744
|
+
seq: number().int().positive(),
|
|
18745
|
+
kind: literal("exit"),
|
|
18746
|
+
exitCode: number().int(),
|
|
18747
|
+
signal: number().int().optional()
|
|
18748
|
+
})]);
|
|
18749
|
+
var TerminalOutputBatchSchema = object({
|
|
18750
|
+
cursor: number().int().nonnegative(),
|
|
18751
|
+
reset: boolean(),
|
|
18752
|
+
snapshot: string().optional(),
|
|
18753
|
+
events: array(TerminalOutputEventSchema).readonly()
|
|
18754
|
+
});
|
|
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({
|
|
18619
18778
|
profileId: string(),
|
|
18620
18779
|
cols: number().int().positive(),
|
|
18621
18780
|
rows: number().int().positive()
|
|
@@ -18629,6 +18788,26 @@ method(_void(), array(TerminalProfileInfoSchema).readonly(), { auth: "admin" }),
|
|
|
18629
18788
|
}), _void(), {
|
|
18630
18789
|
kind: "mutation",
|
|
18631
18790
|
auth: "admin"
|
|
18791
|
+
}), method(object({
|
|
18792
|
+
sessionId: string(),
|
|
18793
|
+
afterSeq: number().int().nonnegative(),
|
|
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()
|
|
18801
|
+
}), TerminalOutputBatchSchema, {
|
|
18802
|
+
kind: "mutation",
|
|
18803
|
+
auth: "admin",
|
|
18804
|
+
timeoutMs: 15e3
|
|
18805
|
+
}), method(object({
|
|
18806
|
+
sessionId: string(),
|
|
18807
|
+
data: string().max(64 * 1024)
|
|
18808
|
+
}), _void(), {
|
|
18809
|
+
kind: "mutation",
|
|
18810
|
+
auth: "admin"
|
|
18632
18811
|
}), method(object({ sessionId: string() }), _void(), {
|
|
18633
18812
|
kind: "mutation",
|
|
18634
18813
|
auth: "admin"
|
|
@@ -21124,6 +21303,7 @@ var FaceInfoSchema = object({
|
|
|
21124
21303
|
var FaceFilterEnum = _enum([
|
|
21125
21304
|
"unassigned",
|
|
21126
21305
|
"recognized",
|
|
21306
|
+
"identified",
|
|
21127
21307
|
"all"
|
|
21128
21308
|
]);
|
|
21129
21309
|
var MediaFileLiteSchema$1 = object({
|
|
@@ -21152,6 +21332,8 @@ method(_void(), array(IdentitySchema).readonly()), method(object({ name: string(
|
|
|
21152
21332
|
kind: "mutation",
|
|
21153
21333
|
auth: "admin"
|
|
21154
21334
|
}), method(object({
|
|
21335
|
+
/** Restrict to one camera. Absent keeps the cluster-wide gallery view. */
|
|
21336
|
+
deviceId: number().int().optional(),
|
|
21155
21337
|
limit: number().int().positive().optional(),
|
|
21156
21338
|
filter: FaceFilterEnum.optional(),
|
|
21157
21339
|
/**
|
|
@@ -23381,6 +23563,10 @@ var OsdSourceSchema = discriminatedUnion("kind", [
|
|
|
23381
23563
|
capName: string().min(1).max(64),
|
|
23382
23564
|
/** Dot path inside the slice, e.g. `detected`, `value`, `mode`. */
|
|
23383
23565
|
valuePath: string().min(1).max(64)
|
|
23566
|
+
}),
|
|
23567
|
+
object({
|
|
23568
|
+
kind: literal("latest-recognition"),
|
|
23569
|
+
recognition: _enum(["person", "plate"])
|
|
23384
23570
|
})
|
|
23385
23571
|
]);
|
|
23386
23572
|
var OsdSlotBindingSchema = object({
|
|
@@ -23486,6 +23672,15 @@ method(object({ deviceId: number().int() }), object({
|
|
|
23486
23672
|
}), object({ success: literal(true) }), {
|
|
23487
23673
|
kind: "mutation",
|
|
23488
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"
|
|
23489
23684
|
}), method(object({
|
|
23490
23685
|
deviceId: number().int(),
|
|
23491
23686
|
slotId: string().min(1),
|
|
@@ -24583,13 +24778,19 @@ method(object({
|
|
|
24583
24778
|
}), {
|
|
24584
24779
|
kind: "mutation",
|
|
24585
24780
|
auth: "admin"
|
|
24586
|
-
}), method(
|
|
24781
|
+
}), method(StorageMigrationLeaseInputSchema, object({ paused: literal(true) }), {
|
|
24587
24782
|
kind: "mutation",
|
|
24588
24783
|
auth: "admin"
|
|
24589
|
-
}), method(object({
|
|
24590
|
-
kind: "
|
|
24784
|
+
}), method(StorageMigrationLeaseInputSchema, object({ resumed: literal(true) }), {
|
|
24785
|
+
kind: "mutation",
|
|
24591
24786
|
auth: "admin"
|
|
24592
|
-
}), 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() }), {
|
|
24593
24794
|
kind: "mutation",
|
|
24594
24795
|
auth: "admin"
|
|
24595
24796
|
});
|
|
@@ -30195,6 +30396,12 @@ Object.freeze({
|
|
|
30195
30396
|
addonId: null,
|
|
30196
30397
|
access: "delete"
|
|
30197
30398
|
},
|
|
30399
|
+
"osdManager.copyDeviceConfiguration": {
|
|
30400
|
+
capName: "osd-manager",
|
|
30401
|
+
capScope: "system",
|
|
30402
|
+
addonId: null,
|
|
30403
|
+
access: "create"
|
|
30404
|
+
},
|
|
30198
30405
|
"osdManager.getConditionSupport": {
|
|
30199
30406
|
capName: "osd-manager",
|
|
30200
30407
|
capScope: "system",
|
|
@@ -30291,7 +30498,7 @@ Object.freeze({
|
|
|
30291
30498
|
addonId: null,
|
|
30292
30499
|
access: "create"
|
|
30293
30500
|
},
|
|
30294
|
-
"pipelineAnalytics.
|
|
30501
|
+
"pipelineAnalytics.cancelStorageMigrationMove": {
|
|
30295
30502
|
capName: "pipeline-analytics",
|
|
30296
30503
|
capScope: "device",
|
|
30297
30504
|
addonId: null,
|
|
@@ -30363,12 +30570,6 @@ Object.freeze({
|
|
|
30363
30570
|
addonId: null,
|
|
30364
30571
|
access: "view"
|
|
30365
30572
|
},
|
|
30366
|
-
"pipelineAnalytics.getMediaRelocateStatus": {
|
|
30367
|
-
capName: "pipeline-analytics",
|
|
30368
|
-
capScope: "device",
|
|
30369
|
-
addonId: null,
|
|
30370
|
-
access: "view"
|
|
30371
|
-
},
|
|
30372
30573
|
"pipelineAnalytics.getMotionEvents": {
|
|
30373
30574
|
capName: "pipeline-analytics",
|
|
30374
30575
|
capScope: "device",
|
|
@@ -30405,6 +30606,12 @@ Object.freeze({
|
|
|
30405
30606
|
addonId: null,
|
|
30406
30607
|
access: "view"
|
|
30407
30608
|
},
|
|
30609
|
+
"pipelineAnalytics.getStorageMigrationMoveStatus": {
|
|
30610
|
+
capName: "pipeline-analytics",
|
|
30611
|
+
capScope: "device",
|
|
30612
|
+
addonId: null,
|
|
30613
|
+
access: "view"
|
|
30614
|
+
},
|
|
30408
30615
|
"pipelineAnalytics.getTrack": {
|
|
30409
30616
|
capName: "pipeline-analytics",
|
|
30410
30617
|
capScope: "device",
|
|
@@ -30483,6 +30690,12 @@ Object.freeze({
|
|
|
30483
30690
|
addonId: null,
|
|
30484
30691
|
access: "view"
|
|
30485
30692
|
},
|
|
30693
|
+
"pipelineAnalytics.pauseForStorageMigration": {
|
|
30694
|
+
capName: "pipeline-analytics",
|
|
30695
|
+
capScope: "device",
|
|
30696
|
+
addonId: null,
|
|
30697
|
+
access: "create"
|
|
30698
|
+
},
|
|
30486
30699
|
"pipelineAnalytics.proposeRetrainAnnotations": {
|
|
30487
30700
|
capName: "pipeline-analytics",
|
|
30488
30701
|
capScope: "device",
|
|
@@ -30513,7 +30726,7 @@ Object.freeze({
|
|
|
30513
30726
|
addonId: null,
|
|
30514
30727
|
access: "create"
|
|
30515
30728
|
},
|
|
30516
|
-
"pipelineAnalytics.
|
|
30729
|
+
"pipelineAnalytics.refreshStorageLocationsForMigration": {
|
|
30517
30730
|
capName: "pipeline-analytics",
|
|
30518
30731
|
capScope: "device",
|
|
30519
30732
|
addonId: null,
|
|
@@ -30525,6 +30738,12 @@ Object.freeze({
|
|
|
30525
30738
|
addonId: null,
|
|
30526
30739
|
access: "create"
|
|
30527
30740
|
},
|
|
30741
|
+
"pipelineAnalytics.resumeForStorageMigration": {
|
|
30742
|
+
capName: "pipeline-analytics",
|
|
30743
|
+
capScope: "device",
|
|
30744
|
+
addonId: null,
|
|
30745
|
+
access: "create"
|
|
30746
|
+
},
|
|
30528
30747
|
"pipelineAnalytics.saveRetrainAnnotations": {
|
|
30529
30748
|
capName: "pipeline-analytics",
|
|
30530
30749
|
capScope: "device",
|
|
@@ -30549,6 +30768,12 @@ Object.freeze({
|
|
|
30549
30768
|
addonId: null,
|
|
30550
30769
|
access: "create"
|
|
30551
30770
|
},
|
|
30771
|
+
"pipelineAnalytics.startStorageMigrationMove": {
|
|
30772
|
+
capName: "pipeline-analytics",
|
|
30773
|
+
capScope: "device",
|
|
30774
|
+
addonId: null,
|
|
30775
|
+
access: "create"
|
|
30776
|
+
},
|
|
30552
30777
|
"pipelineAnalytics.wipeAllAnalytics": {
|
|
30553
30778
|
capName: "pipeline-analytics",
|
|
30554
30779
|
capScope: "device",
|
|
@@ -30915,6 +31140,12 @@ Object.freeze({
|
|
|
30915
31140
|
addonId: null,
|
|
30916
31141
|
access: "view"
|
|
30917
31142
|
},
|
|
31143
|
+
"pipelineOrchestrator.pauseForStorageMigration": {
|
|
31144
|
+
capName: "pipeline-orchestrator",
|
|
31145
|
+
capScope: "system",
|
|
31146
|
+
addonId: null,
|
|
31147
|
+
access: "create"
|
|
31148
|
+
},
|
|
30918
31149
|
"pipelineOrchestrator.rebalance": {
|
|
30919
31150
|
capName: "pipeline-orchestrator",
|
|
30920
31151
|
capScope: "system",
|
|
@@ -30939,6 +31170,12 @@ Object.freeze({
|
|
|
30939
31170
|
addonId: null,
|
|
30940
31171
|
access: "view"
|
|
30941
31172
|
},
|
|
31173
|
+
"pipelineOrchestrator.resumeForStorageMigration": {
|
|
31174
|
+
capName: "pipeline-orchestrator",
|
|
31175
|
+
capScope: "system",
|
|
31176
|
+
addonId: null,
|
|
31177
|
+
access: "create"
|
|
31178
|
+
},
|
|
30942
31179
|
"pipelineOrchestrator.saveTemplate": {
|
|
30943
31180
|
capName: "pipeline-orchestrator",
|
|
30944
31181
|
capScope: "system",
|
|
@@ -31335,7 +31572,7 @@ Object.freeze({
|
|
|
31335
31572
|
addonId: null,
|
|
31336
31573
|
access: "create"
|
|
31337
31574
|
},
|
|
31338
|
-
"recording.
|
|
31575
|
+
"recording.cancelStorageMigrationMove": {
|
|
31339
31576
|
capName: "recording",
|
|
31340
31577
|
capScope: "system",
|
|
31341
31578
|
addonId: null,
|
|
@@ -31371,7 +31608,7 @@ Object.freeze({
|
|
|
31371
31608
|
addonId: null,
|
|
31372
31609
|
access: "view"
|
|
31373
31610
|
},
|
|
31374
|
-
"recording.
|
|
31611
|
+
"recording.getStorageMigrationMoveStatus": {
|
|
31375
31612
|
capName: "recording",
|
|
31376
31613
|
capScope: "system",
|
|
31377
31614
|
addonId: null,
|
|
@@ -31395,6 +31632,12 @@ Object.freeze({
|
|
|
31395
31632
|
addonId: null,
|
|
31396
31633
|
access: "view"
|
|
31397
31634
|
},
|
|
31635
|
+
"recording.pauseForStorageMigration": {
|
|
31636
|
+
capName: "recording",
|
|
31637
|
+
capScope: "system",
|
|
31638
|
+
addonId: null,
|
|
31639
|
+
access: "create"
|
|
31640
|
+
},
|
|
31398
31641
|
"recording.pruneFootage": {
|
|
31399
31642
|
capName: "recording",
|
|
31400
31643
|
capScope: "system",
|
|
@@ -31413,7 +31656,7 @@ Object.freeze({
|
|
|
31413
31656
|
addonId: null,
|
|
31414
31657
|
access: "view"
|
|
31415
31658
|
},
|
|
31416
|
-
"recording.
|
|
31659
|
+
"recording.refreshStorageLocationsForMigration": {
|
|
31417
31660
|
capName: "recording",
|
|
31418
31661
|
capScope: "system",
|
|
31419
31662
|
addonId: null,
|
|
@@ -31437,12 +31680,24 @@ Object.freeze({
|
|
|
31437
31680
|
addonId: null,
|
|
31438
31681
|
access: "create"
|
|
31439
31682
|
},
|
|
31683
|
+
"recording.resumeForStorageMigration": {
|
|
31684
|
+
capName: "recording",
|
|
31685
|
+
capScope: "system",
|
|
31686
|
+
addonId: null,
|
|
31687
|
+
access: "create"
|
|
31688
|
+
},
|
|
31440
31689
|
"recording.setDeviceConfig": {
|
|
31441
31690
|
capName: "recording",
|
|
31442
31691
|
capScope: "system",
|
|
31443
31692
|
addonId: null,
|
|
31444
31693
|
access: "create"
|
|
31445
31694
|
},
|
|
31695
|
+
"recording.startStorageMigrationMove": {
|
|
31696
|
+
capName: "recording",
|
|
31697
|
+
capScope: "system",
|
|
31698
|
+
addonId: null,
|
|
31699
|
+
access: "create"
|
|
31700
|
+
},
|
|
31446
31701
|
"recordingExport.cancelExport": {
|
|
31447
31702
|
capName: "recordingExport",
|
|
31448
31703
|
capScope: "system",
|
|
@@ -31833,6 +32088,30 @@ Object.freeze({
|
|
|
31833
32088
|
addonId: null,
|
|
31834
32089
|
access: "view"
|
|
31835
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
|
+
},
|
|
31836
32115
|
"storageProvider.abortUpload": {
|
|
31837
32116
|
capName: "storage-provider",
|
|
31838
32117
|
capScope: "system",
|
|
@@ -32211,12 +32490,42 @@ Object.freeze({
|
|
|
32211
32490
|
addonId: null,
|
|
32212
32491
|
access: "create"
|
|
32213
32492
|
},
|
|
32493
|
+
"terminalSession.adoptLegacyMonitor": {
|
|
32494
|
+
capName: "terminal-session",
|
|
32495
|
+
capScope: "system",
|
|
32496
|
+
addonId: null,
|
|
32497
|
+
access: "create"
|
|
32498
|
+
},
|
|
32214
32499
|
"terminalSession.close": {
|
|
32215
32500
|
capName: "terminal-session",
|
|
32216
32501
|
capScope: "system",
|
|
32217
32502
|
addonId: null,
|
|
32218
32503
|
access: "create"
|
|
32219
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
|
+
},
|
|
32220
32529
|
"terminalSession.listProfiles": {
|
|
32221
32530
|
capName: "terminal-session",
|
|
32222
32531
|
capScope: "system",
|
|
@@ -32235,12 +32544,30 @@ Object.freeze({
|
|
|
32235
32544
|
addonId: null,
|
|
32236
32545
|
access: "create"
|
|
32237
32546
|
},
|
|
32547
|
+
"terminalSession.pullOutput": {
|
|
32548
|
+
capName: "terminal-session",
|
|
32549
|
+
capScope: "system",
|
|
32550
|
+
addonId: null,
|
|
32551
|
+
access: "create"
|
|
32552
|
+
},
|
|
32238
32553
|
"terminalSession.resize": {
|
|
32239
32554
|
capName: "terminal-session",
|
|
32240
32555
|
capScope: "system",
|
|
32241
32556
|
addonId: null,
|
|
32242
32557
|
access: "create"
|
|
32243
32558
|
},
|
|
32559
|
+
"terminalSession.setInstanceEnabled": {
|
|
32560
|
+
capName: "terminal-session",
|
|
32561
|
+
capScope: "system",
|
|
32562
|
+
addonId: null,
|
|
32563
|
+
access: "create"
|
|
32564
|
+
},
|
|
32565
|
+
"terminalSession.writeInput": {
|
|
32566
|
+
capName: "terminal-session",
|
|
32567
|
+
capScope: "system",
|
|
32568
|
+
addonId: null,
|
|
32569
|
+
access: "create"
|
|
32570
|
+
},
|
|
32244
32571
|
"toast.onToast": {
|
|
32245
32572
|
capName: "toast",
|
|
32246
32573
|
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",
|
|
16311
16391
|
auth: "admin"
|
|
16312
|
-
}), method(
|
|
16392
|
+
}), method(StorageMigrationLeaseInputSchema, object({ refreshed: literal(true) }), {
|
|
16393
|
+
kind: "mutation",
|
|
16394
|
+
auth: "admin"
|
|
16395
|
+
}), method(StorageMigrationMediaMoveInputSchema, object({ jobId: string() }), {
|
|
16396
|
+
kind: "mutation",
|
|
16397
|
+
auth: "admin"
|
|
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,7 +18715,67 @@ var TerminalProfileInfoSchema = object({
|
|
|
18616
18715
|
label: string(),
|
|
18617
18716
|
description: string().optional()
|
|
18618
18717
|
});
|
|
18619
|
-
|
|
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
|
+
});
|
|
18740
|
+
var TerminalOutputEventSchema = discriminatedUnion("kind", [object({
|
|
18741
|
+
seq: number().int().positive(),
|
|
18742
|
+
kind: literal("data"),
|
|
18743
|
+
data: string()
|
|
18744
|
+
}), object({
|
|
18745
|
+
seq: number().int().positive(),
|
|
18746
|
+
kind: literal("exit"),
|
|
18747
|
+
exitCode: number().int(),
|
|
18748
|
+
signal: number().int().optional()
|
|
18749
|
+
})]);
|
|
18750
|
+
var TerminalOutputBatchSchema = object({
|
|
18751
|
+
cursor: number().int().nonnegative(),
|
|
18752
|
+
reset: boolean(),
|
|
18753
|
+
snapshot: string().optional(),
|
|
18754
|
+
events: array(TerminalOutputEventSchema).readonly()
|
|
18755
|
+
});
|
|
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({
|
|
18620
18779
|
profileId: string(),
|
|
18621
18780
|
cols: number().int().positive(),
|
|
18622
18781
|
rows: number().int().positive()
|
|
@@ -18630,6 +18789,26 @@ method(_void(), array(TerminalProfileInfoSchema).readonly(), { auth: "admin" }),
|
|
|
18630
18789
|
}), _void(), {
|
|
18631
18790
|
kind: "mutation",
|
|
18632
18791
|
auth: "admin"
|
|
18792
|
+
}), method(object({
|
|
18793
|
+
sessionId: string(),
|
|
18794
|
+
afterSeq: number().int().nonnegative(),
|
|
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()
|
|
18802
|
+
}), TerminalOutputBatchSchema, {
|
|
18803
|
+
kind: "mutation",
|
|
18804
|
+
auth: "admin",
|
|
18805
|
+
timeoutMs: 15e3
|
|
18806
|
+
}), method(object({
|
|
18807
|
+
sessionId: string(),
|
|
18808
|
+
data: string().max(64 * 1024)
|
|
18809
|
+
}), _void(), {
|
|
18810
|
+
kind: "mutation",
|
|
18811
|
+
auth: "admin"
|
|
18633
18812
|
}), method(object({ sessionId: string() }), _void(), {
|
|
18634
18813
|
kind: "mutation",
|
|
18635
18814
|
auth: "admin"
|
|
@@ -21125,6 +21304,7 @@ var FaceInfoSchema = object({
|
|
|
21125
21304
|
var FaceFilterEnum = _enum([
|
|
21126
21305
|
"unassigned",
|
|
21127
21306
|
"recognized",
|
|
21307
|
+
"identified",
|
|
21128
21308
|
"all"
|
|
21129
21309
|
]);
|
|
21130
21310
|
var MediaFileLiteSchema$1 = object({
|
|
@@ -21153,6 +21333,8 @@ method(_void(), array(IdentitySchema).readonly()), method(object({ name: string(
|
|
|
21153
21333
|
kind: "mutation",
|
|
21154
21334
|
auth: "admin"
|
|
21155
21335
|
}), method(object({
|
|
21336
|
+
/** Restrict to one camera. Absent keeps the cluster-wide gallery view. */
|
|
21337
|
+
deviceId: number().int().optional(),
|
|
21156
21338
|
limit: number().int().positive().optional(),
|
|
21157
21339
|
filter: FaceFilterEnum.optional(),
|
|
21158
21340
|
/**
|
|
@@ -23382,6 +23564,10 @@ var OsdSourceSchema = discriminatedUnion("kind", [
|
|
|
23382
23564
|
capName: string().min(1).max(64),
|
|
23383
23565
|
/** Dot path inside the slice, e.g. `detected`, `value`, `mode`. */
|
|
23384
23566
|
valuePath: string().min(1).max(64)
|
|
23567
|
+
}),
|
|
23568
|
+
object({
|
|
23569
|
+
kind: literal("latest-recognition"),
|
|
23570
|
+
recognition: _enum(["person", "plate"])
|
|
23385
23571
|
})
|
|
23386
23572
|
]);
|
|
23387
23573
|
var OsdSlotBindingSchema = object({
|
|
@@ -23487,6 +23673,15 @@ method(object({ deviceId: number().int() }), object({
|
|
|
23487
23673
|
}), object({ success: literal(true) }), {
|
|
23488
23674
|
kind: "mutation",
|
|
23489
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"
|
|
23490
23685
|
}), method(object({
|
|
23491
23686
|
deviceId: number().int(),
|
|
23492
23687
|
slotId: string().min(1),
|
|
@@ -24584,13 +24779,19 @@ method(object({
|
|
|
24584
24779
|
}), {
|
|
24585
24780
|
kind: "mutation",
|
|
24586
24781
|
auth: "admin"
|
|
24587
|
-
}), method(
|
|
24782
|
+
}), method(StorageMigrationLeaseInputSchema, object({ paused: literal(true) }), {
|
|
24588
24783
|
kind: "mutation",
|
|
24589
24784
|
auth: "admin"
|
|
24590
|
-
}), method(object({
|
|
24591
|
-
kind: "
|
|
24785
|
+
}), method(StorageMigrationLeaseInputSchema, object({ resumed: literal(true) }), {
|
|
24786
|
+
kind: "mutation",
|
|
24592
24787
|
auth: "admin"
|
|
24593
|
-
}), 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() }), {
|
|
24594
24795
|
kind: "mutation",
|
|
24595
24796
|
auth: "admin"
|
|
24596
24797
|
});
|
|
@@ -30196,6 +30397,12 @@ Object.freeze({
|
|
|
30196
30397
|
addonId: null,
|
|
30197
30398
|
access: "delete"
|
|
30198
30399
|
},
|
|
30400
|
+
"osdManager.copyDeviceConfiguration": {
|
|
30401
|
+
capName: "osd-manager",
|
|
30402
|
+
capScope: "system",
|
|
30403
|
+
addonId: null,
|
|
30404
|
+
access: "create"
|
|
30405
|
+
},
|
|
30199
30406
|
"osdManager.getConditionSupport": {
|
|
30200
30407
|
capName: "osd-manager",
|
|
30201
30408
|
capScope: "system",
|
|
@@ -30292,7 +30499,7 @@ Object.freeze({
|
|
|
30292
30499
|
addonId: null,
|
|
30293
30500
|
access: "create"
|
|
30294
30501
|
},
|
|
30295
|
-
"pipelineAnalytics.
|
|
30502
|
+
"pipelineAnalytics.cancelStorageMigrationMove": {
|
|
30296
30503
|
capName: "pipeline-analytics",
|
|
30297
30504
|
capScope: "device",
|
|
30298
30505
|
addonId: null,
|
|
@@ -30364,12 +30571,6 @@ Object.freeze({
|
|
|
30364
30571
|
addonId: null,
|
|
30365
30572
|
access: "view"
|
|
30366
30573
|
},
|
|
30367
|
-
"pipelineAnalytics.getMediaRelocateStatus": {
|
|
30368
|
-
capName: "pipeline-analytics",
|
|
30369
|
-
capScope: "device",
|
|
30370
|
-
addonId: null,
|
|
30371
|
-
access: "view"
|
|
30372
|
-
},
|
|
30373
30574
|
"pipelineAnalytics.getMotionEvents": {
|
|
30374
30575
|
capName: "pipeline-analytics",
|
|
30375
30576
|
capScope: "device",
|
|
@@ -30406,6 +30607,12 @@ Object.freeze({
|
|
|
30406
30607
|
addonId: null,
|
|
30407
30608
|
access: "view"
|
|
30408
30609
|
},
|
|
30610
|
+
"pipelineAnalytics.getStorageMigrationMoveStatus": {
|
|
30611
|
+
capName: "pipeline-analytics",
|
|
30612
|
+
capScope: "device",
|
|
30613
|
+
addonId: null,
|
|
30614
|
+
access: "view"
|
|
30615
|
+
},
|
|
30409
30616
|
"pipelineAnalytics.getTrack": {
|
|
30410
30617
|
capName: "pipeline-analytics",
|
|
30411
30618
|
capScope: "device",
|
|
@@ -30484,6 +30691,12 @@ Object.freeze({
|
|
|
30484
30691
|
addonId: null,
|
|
30485
30692
|
access: "view"
|
|
30486
30693
|
},
|
|
30694
|
+
"pipelineAnalytics.pauseForStorageMigration": {
|
|
30695
|
+
capName: "pipeline-analytics",
|
|
30696
|
+
capScope: "device",
|
|
30697
|
+
addonId: null,
|
|
30698
|
+
access: "create"
|
|
30699
|
+
},
|
|
30487
30700
|
"pipelineAnalytics.proposeRetrainAnnotations": {
|
|
30488
30701
|
capName: "pipeline-analytics",
|
|
30489
30702
|
capScope: "device",
|
|
@@ -30514,7 +30727,7 @@ Object.freeze({
|
|
|
30514
30727
|
addonId: null,
|
|
30515
30728
|
access: "create"
|
|
30516
30729
|
},
|
|
30517
|
-
"pipelineAnalytics.
|
|
30730
|
+
"pipelineAnalytics.refreshStorageLocationsForMigration": {
|
|
30518
30731
|
capName: "pipeline-analytics",
|
|
30519
30732
|
capScope: "device",
|
|
30520
30733
|
addonId: null,
|
|
@@ -30526,6 +30739,12 @@ Object.freeze({
|
|
|
30526
30739
|
addonId: null,
|
|
30527
30740
|
access: "create"
|
|
30528
30741
|
},
|
|
30742
|
+
"pipelineAnalytics.resumeForStorageMigration": {
|
|
30743
|
+
capName: "pipeline-analytics",
|
|
30744
|
+
capScope: "device",
|
|
30745
|
+
addonId: null,
|
|
30746
|
+
access: "create"
|
|
30747
|
+
},
|
|
30529
30748
|
"pipelineAnalytics.saveRetrainAnnotations": {
|
|
30530
30749
|
capName: "pipeline-analytics",
|
|
30531
30750
|
capScope: "device",
|
|
@@ -30550,6 +30769,12 @@ Object.freeze({
|
|
|
30550
30769
|
addonId: null,
|
|
30551
30770
|
access: "create"
|
|
30552
30771
|
},
|
|
30772
|
+
"pipelineAnalytics.startStorageMigrationMove": {
|
|
30773
|
+
capName: "pipeline-analytics",
|
|
30774
|
+
capScope: "device",
|
|
30775
|
+
addonId: null,
|
|
30776
|
+
access: "create"
|
|
30777
|
+
},
|
|
30553
30778
|
"pipelineAnalytics.wipeAllAnalytics": {
|
|
30554
30779
|
capName: "pipeline-analytics",
|
|
30555
30780
|
capScope: "device",
|
|
@@ -30916,6 +31141,12 @@ Object.freeze({
|
|
|
30916
31141
|
addonId: null,
|
|
30917
31142
|
access: "view"
|
|
30918
31143
|
},
|
|
31144
|
+
"pipelineOrchestrator.pauseForStorageMigration": {
|
|
31145
|
+
capName: "pipeline-orchestrator",
|
|
31146
|
+
capScope: "system",
|
|
31147
|
+
addonId: null,
|
|
31148
|
+
access: "create"
|
|
31149
|
+
},
|
|
30919
31150
|
"pipelineOrchestrator.rebalance": {
|
|
30920
31151
|
capName: "pipeline-orchestrator",
|
|
30921
31152
|
capScope: "system",
|
|
@@ -30940,6 +31171,12 @@ Object.freeze({
|
|
|
30940
31171
|
addonId: null,
|
|
30941
31172
|
access: "view"
|
|
30942
31173
|
},
|
|
31174
|
+
"pipelineOrchestrator.resumeForStorageMigration": {
|
|
31175
|
+
capName: "pipeline-orchestrator",
|
|
31176
|
+
capScope: "system",
|
|
31177
|
+
addonId: null,
|
|
31178
|
+
access: "create"
|
|
31179
|
+
},
|
|
30943
31180
|
"pipelineOrchestrator.saveTemplate": {
|
|
30944
31181
|
capName: "pipeline-orchestrator",
|
|
30945
31182
|
capScope: "system",
|
|
@@ -31336,7 +31573,7 @@ Object.freeze({
|
|
|
31336
31573
|
addonId: null,
|
|
31337
31574
|
access: "create"
|
|
31338
31575
|
},
|
|
31339
|
-
"recording.
|
|
31576
|
+
"recording.cancelStorageMigrationMove": {
|
|
31340
31577
|
capName: "recording",
|
|
31341
31578
|
capScope: "system",
|
|
31342
31579
|
addonId: null,
|
|
@@ -31372,7 +31609,7 @@ Object.freeze({
|
|
|
31372
31609
|
addonId: null,
|
|
31373
31610
|
access: "view"
|
|
31374
31611
|
},
|
|
31375
|
-
"recording.
|
|
31612
|
+
"recording.getStorageMigrationMoveStatus": {
|
|
31376
31613
|
capName: "recording",
|
|
31377
31614
|
capScope: "system",
|
|
31378
31615
|
addonId: null,
|
|
@@ -31396,6 +31633,12 @@ Object.freeze({
|
|
|
31396
31633
|
addonId: null,
|
|
31397
31634
|
access: "view"
|
|
31398
31635
|
},
|
|
31636
|
+
"recording.pauseForStorageMigration": {
|
|
31637
|
+
capName: "recording",
|
|
31638
|
+
capScope: "system",
|
|
31639
|
+
addonId: null,
|
|
31640
|
+
access: "create"
|
|
31641
|
+
},
|
|
31399
31642
|
"recording.pruneFootage": {
|
|
31400
31643
|
capName: "recording",
|
|
31401
31644
|
capScope: "system",
|
|
@@ -31414,7 +31657,7 @@ Object.freeze({
|
|
|
31414
31657
|
addonId: null,
|
|
31415
31658
|
access: "view"
|
|
31416
31659
|
},
|
|
31417
|
-
"recording.
|
|
31660
|
+
"recording.refreshStorageLocationsForMigration": {
|
|
31418
31661
|
capName: "recording",
|
|
31419
31662
|
capScope: "system",
|
|
31420
31663
|
addonId: null,
|
|
@@ -31438,12 +31681,24 @@ Object.freeze({
|
|
|
31438
31681
|
addonId: null,
|
|
31439
31682
|
access: "create"
|
|
31440
31683
|
},
|
|
31684
|
+
"recording.resumeForStorageMigration": {
|
|
31685
|
+
capName: "recording",
|
|
31686
|
+
capScope: "system",
|
|
31687
|
+
addonId: null,
|
|
31688
|
+
access: "create"
|
|
31689
|
+
},
|
|
31441
31690
|
"recording.setDeviceConfig": {
|
|
31442
31691
|
capName: "recording",
|
|
31443
31692
|
capScope: "system",
|
|
31444
31693
|
addonId: null,
|
|
31445
31694
|
access: "create"
|
|
31446
31695
|
},
|
|
31696
|
+
"recording.startStorageMigrationMove": {
|
|
31697
|
+
capName: "recording",
|
|
31698
|
+
capScope: "system",
|
|
31699
|
+
addonId: null,
|
|
31700
|
+
access: "create"
|
|
31701
|
+
},
|
|
31447
31702
|
"recordingExport.cancelExport": {
|
|
31448
31703
|
capName: "recordingExport",
|
|
31449
31704
|
capScope: "system",
|
|
@@ -31834,6 +32089,30 @@ Object.freeze({
|
|
|
31834
32089
|
addonId: null,
|
|
31835
32090
|
access: "view"
|
|
31836
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
|
+
},
|
|
31837
32116
|
"storageProvider.abortUpload": {
|
|
31838
32117
|
capName: "storage-provider",
|
|
31839
32118
|
capScope: "system",
|
|
@@ -32212,12 +32491,42 @@ Object.freeze({
|
|
|
32212
32491
|
addonId: null,
|
|
32213
32492
|
access: "create"
|
|
32214
32493
|
},
|
|
32494
|
+
"terminalSession.adoptLegacyMonitor": {
|
|
32495
|
+
capName: "terminal-session",
|
|
32496
|
+
capScope: "system",
|
|
32497
|
+
addonId: null,
|
|
32498
|
+
access: "create"
|
|
32499
|
+
},
|
|
32215
32500
|
"terminalSession.close": {
|
|
32216
32501
|
capName: "terminal-session",
|
|
32217
32502
|
capScope: "system",
|
|
32218
32503
|
addonId: null,
|
|
32219
32504
|
access: "create"
|
|
32220
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
|
+
},
|
|
32221
32530
|
"terminalSession.listProfiles": {
|
|
32222
32531
|
capName: "terminal-session",
|
|
32223
32532
|
capScope: "system",
|
|
@@ -32236,12 +32545,30 @@ Object.freeze({
|
|
|
32236
32545
|
addonId: null,
|
|
32237
32546
|
access: "create"
|
|
32238
32547
|
},
|
|
32548
|
+
"terminalSession.pullOutput": {
|
|
32549
|
+
capName: "terminal-session",
|
|
32550
|
+
capScope: "system",
|
|
32551
|
+
addonId: null,
|
|
32552
|
+
access: "create"
|
|
32553
|
+
},
|
|
32239
32554
|
"terminalSession.resize": {
|
|
32240
32555
|
capName: "terminal-session",
|
|
32241
32556
|
capScope: "system",
|
|
32242
32557
|
addonId: null,
|
|
32243
32558
|
access: "create"
|
|
32244
32559
|
},
|
|
32560
|
+
"terminalSession.setInstanceEnabled": {
|
|
32561
|
+
capName: "terminal-session",
|
|
32562
|
+
capScope: "system",
|
|
32563
|
+
addonId: null,
|
|
32564
|
+
access: "create"
|
|
32565
|
+
},
|
|
32566
|
+
"terminalSession.writeInput": {
|
|
32567
|
+
capName: "terminal-session",
|
|
32568
|
+
capScope: "system",
|
|
32569
|
+
addonId: null,
|
|
32570
|
+
access: "create"
|
|
32571
|
+
},
|
|
32245
32572
|
"toast.onToast": {
|
|
32246
32573
|
capName: "toast",
|
|
32247
32574
|
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",
|