@camstack/addon-provider-ecowitt 0.2.10 → 0.2.12
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
|
@@ -7568,12 +7568,11 @@ var RecordingConfigSchema = object({
|
|
|
7568
7568
|
/**
|
|
7569
7569
|
* Entity-relocation job state (storage entity-routing spec, Phase 4).
|
|
7570
7570
|
*
|
|
7571
|
-
* One shape shared by the recorder
|
|
7572
|
-
*
|
|
7573
|
-
*
|
|
7574
|
-
*
|
|
7575
|
-
*
|
|
7576
|
-
* row on the owning addon's surface.
|
|
7571
|
+
* One shape shared by the recorder and pipeline-analytics internal movers.
|
|
7572
|
+
* The public admin surface is `storage-migration`; child jobs remain in RAM
|
|
7573
|
+
* because copy-if-absent, verify, delete and index/row repoint are resumable.
|
|
7574
|
+
* Each completed/failed run also lands one durable ops-log row on its owning
|
|
7575
|
+
* addon surface.
|
|
7577
7576
|
*/
|
|
7578
7577
|
var RelocateJobStateSchema = _enum([
|
|
7579
7578
|
"running",
|
|
@@ -7600,19 +7599,100 @@ var RelocateJobSchema = object({
|
|
|
7600
7599
|
finishedAt: number().nullable(),
|
|
7601
7600
|
error: string().nullable()
|
|
7602
7601
|
});
|
|
7602
|
+
/** Profile-derived footage selection used only by the migration coordinator:
|
|
7603
|
+
* `recordings` owns high+mid; `recordingsLow` owns low. */
|
|
7604
|
+
var RelocateFootageClassSchema = _enum(["recordings", "recordingsLow"]);
|
|
7603
7605
|
var RelocateFootageInputSchema = object({
|
|
7604
|
-
deviceId: number().optional(),
|
|
7605
7606
|
fromLocationId: string(),
|
|
7606
7607
|
toLocationId: string(),
|
|
7607
7608
|
entities: array(_enum(["segments"])).optional(),
|
|
7609
|
+
/** Limits relocation to the logical profile class. Omit only for the
|
|
7610
|
+
* pre-orchestration compatibility path. */
|
|
7611
|
+
footageClass: RelocateFootageClassSchema.optional(),
|
|
7608
7612
|
/** Copy throttle in MB/s (default 40) — the drain is a background chore,
|
|
7609
7613
|
* never allowed to starve live writers. */
|
|
7610
7614
|
throttleMbps: number().min(1).max(1e3).optional()
|
|
7611
7615
|
});
|
|
7612
|
-
|
|
7613
|
-
|
|
7616
|
+
/** Internal, lease-scoped participant operation. It is intentionally separate
|
|
7617
|
+
* from persistent recording settings: a migration never changes
|
|
7618
|
+
* `RecordingConfig.enabled` or camera wrapper bindings. */
|
|
7619
|
+
var StorageMigrationLeaseInputSchema = object({ leaseId: string().min(1) });
|
|
7620
|
+
var StorageMigrationFootageMoveInputSchema = RelocateFootageInputSchema.extend({ leaseId: string().min(1) });
|
|
7621
|
+
var StorageMigrationMediaMoveInputSchema = object({
|
|
7614
7622
|
toLocationId: string(),
|
|
7615
7623
|
throttleMbps: number().min(1).max(1e3).optional()
|
|
7624
|
+
}).extend({ leaseId: string().min(1) });
|
|
7625
|
+
/** The independently selectable logical storage classes. `recordings`
|
|
7626
|
+
* encompasses the high and mid segment profiles; `recordingsLow` is low
|
|
7627
|
+
* segments; `eventMedia` is post-analysis blobs. */
|
|
7628
|
+
var StorageMigrationClassSchema = _enum([
|
|
7629
|
+
"recordings",
|
|
7630
|
+
"recordingsLow",
|
|
7631
|
+
"eventMedia"
|
|
7632
|
+
]);
|
|
7633
|
+
/** A destination is always an existing, fully-qualified location id. The
|
|
7634
|
+
* migration API intentionally never changes a source location's `basePath`:
|
|
7635
|
+
* callers create a new `<type>:<slug>` location, then select it here. */
|
|
7636
|
+
var StorageMigrationDestinationsSchema = object({
|
|
7637
|
+
recordings: string().min(1).optional(),
|
|
7638
|
+
recordingsLow: string().min(1).optional(),
|
|
7639
|
+
eventMedia: string().min(1).optional()
|
|
7640
|
+
}).refine((value) => Object.keys(value).length > 0, { message: "select at least one storage class" });
|
|
7641
|
+
/** Shared input for planning and starting an orchestrated storage migration. */
|
|
7642
|
+
var StorageMigrationInputSchema = object({
|
|
7643
|
+
destinations: StorageMigrationDestinationsSchema,
|
|
7644
|
+
throttleMbps: number().min(1).max(1e3).optional()
|
|
7645
|
+
});
|
|
7646
|
+
/** The durable coordinator state machine. The only phase that changes default
|
|
7647
|
+
* locations is `repointing`, after every selected mover has completed and been
|
|
7648
|
+
* verified. */
|
|
7649
|
+
var StorageMigrationPhaseSchema = _enum([
|
|
7650
|
+
"planning",
|
|
7651
|
+
"pausing",
|
|
7652
|
+
"moving",
|
|
7653
|
+
"verifying",
|
|
7654
|
+
"repointing",
|
|
7655
|
+
"refreshing",
|
|
7656
|
+
"resuming",
|
|
7657
|
+
"done",
|
|
7658
|
+
"failed",
|
|
7659
|
+
"cancelled"
|
|
7660
|
+
]);
|
|
7661
|
+
var StorageMigrationParticipantSchema = _enum([
|
|
7662
|
+
"pipeline",
|
|
7663
|
+
"recorder",
|
|
7664
|
+
"analytics"
|
|
7665
|
+
]);
|
|
7666
|
+
var StorageMigrationMoveSchema = object({
|
|
7667
|
+
storageClass: StorageMigrationClassSchema,
|
|
7668
|
+
fromLocationId: string(),
|
|
7669
|
+
toLocationId: string(),
|
|
7670
|
+
moverJobId: string().nullable(),
|
|
7671
|
+
state: RelocateJobStateSchema.nullable(),
|
|
7672
|
+
error: string().nullable()
|
|
7673
|
+
});
|
|
7674
|
+
var StorageMigrationJobSchema = object({
|
|
7675
|
+
jobId: string(),
|
|
7676
|
+
phase: StorageMigrationPhaseSchema,
|
|
7677
|
+
destinations: StorageMigrationDestinationsSchema,
|
|
7678
|
+
throttleMbps: number(),
|
|
7679
|
+
moves: array(StorageMigrationMoveSchema),
|
|
7680
|
+
pauseLeaseId: string().nullable(),
|
|
7681
|
+
pausedParticipants: array(StorageMigrationParticipantSchema),
|
|
7682
|
+
repointed: boolean(),
|
|
7683
|
+
cancelRequested: boolean(),
|
|
7684
|
+
startedAt: number(),
|
|
7685
|
+
updatedAt: number(),
|
|
7686
|
+
finishedAt: number().nullable(),
|
|
7687
|
+
error: string().nullable()
|
|
7688
|
+
});
|
|
7689
|
+
var StorageMigrationPlanSchema = object({
|
|
7690
|
+
destinations: StorageMigrationDestinationsSchema,
|
|
7691
|
+
moves: array(object({
|
|
7692
|
+
storageClass: StorageMigrationClassSchema,
|
|
7693
|
+
fromLocationId: string(),
|
|
7694
|
+
toLocationId: string()
|
|
7695
|
+
}))
|
|
7616
7696
|
});
|
|
7617
7697
|
/**
|
|
7618
7698
|
* `StorageLocationType` — an addon-declared id that identifies the *kind* of
|
|
@@ -16266,13 +16346,19 @@ DeviceType.Camera, method(object({ deviceId: number() }), array(TrackSchema).rea
|
|
|
16266
16346
|
}), method(object({ deviceId: number() }), EventPruneCountsSchema, {
|
|
16267
16347
|
kind: "mutation",
|
|
16268
16348
|
auth: "admin"
|
|
16269
|
-
}), method(
|
|
16349
|
+
}), method(StorageMigrationLeaseInputSchema, object({ paused: literal(true) }), {
|
|
16270
16350
|
kind: "mutation",
|
|
16271
16351
|
auth: "admin"
|
|
16272
|
-
}), method(object({
|
|
16273
|
-
kind: "
|
|
16352
|
+
}), method(StorageMigrationLeaseInputSchema, object({ resumed: literal(true) }), {
|
|
16353
|
+
kind: "mutation",
|
|
16274
16354
|
auth: "admin"
|
|
16275
|
-
}), method(
|
|
16355
|
+
}), method(StorageMigrationLeaseInputSchema, object({ refreshed: literal(true) }), {
|
|
16356
|
+
kind: "mutation",
|
|
16357
|
+
auth: "admin"
|
|
16358
|
+
}), method(StorageMigrationMediaMoveInputSchema, object({ jobId: string() }), {
|
|
16359
|
+
kind: "mutation",
|
|
16360
|
+
auth: "admin"
|
|
16361
|
+
}), method(object({ jobId: string() }), RelocateJobSchema.nullable(), { auth: "admin" }), method(object({ jobId: string() }), object({ cancelled: boolean() }), {
|
|
16276
16362
|
kind: "mutation",
|
|
16277
16363
|
auth: "admin"
|
|
16278
16364
|
}), method(OpsLogQueryInputSchema, array(OpsLogEntrySchema).readonly(), {
|
|
@@ -17802,7 +17888,13 @@ var NodeInferenceDevicesSchema = object({
|
|
|
17802
17888
|
reachable: boolean(),
|
|
17803
17889
|
devices: array(NodeInferenceDeviceSchema).readonly()
|
|
17804
17890
|
});
|
|
17805
|
-
method(object({
|
|
17891
|
+
method(StorageMigrationLeaseInputSchema, object({ paused: literal(true) }), {
|
|
17892
|
+
kind: "mutation",
|
|
17893
|
+
auth: "admin"
|
|
17894
|
+
}), method(StorageMigrationLeaseInputSchema, object({ resumed: literal(true) }), {
|
|
17895
|
+
kind: "mutation",
|
|
17896
|
+
auth: "admin"
|
|
17897
|
+
}), method(object({
|
|
17806
17898
|
deviceId: number(),
|
|
17807
17899
|
agentNodeId: string()
|
|
17808
17900
|
}), object({ success: literal(true) }), {
|
|
@@ -18476,6 +18568,13 @@ method(object({ locationId: string() }), EvictableUsageSchema), method(object({
|
|
|
18476
18568
|
locationId: string(),
|
|
18477
18569
|
targetBytes: number().int().positive()
|
|
18478
18570
|
}), EvictResultSchema, { kind: "mutation" });
|
|
18571
|
+
method(StorageMigrationInputSchema, StorageMigrationPlanSchema, { auth: "admin" }), method(StorageMigrationInputSchema, object({ jobId: string() }), {
|
|
18572
|
+
kind: "mutation",
|
|
18573
|
+
auth: "admin"
|
|
18574
|
+
}), method(object({ jobId: string().optional() }), StorageMigrationJobSchema.nullable(), { auth: "admin" }), method(object({ jobId: string() }), object({ cancelled: boolean() }), {
|
|
18575
|
+
kind: "mutation",
|
|
18576
|
+
auth: "admin"
|
|
18577
|
+
});
|
|
18479
18578
|
var ProviderInfoSchema = discriminatedUnion("shouldSaveDiskSpace", [object({
|
|
18480
18579
|
providerId: string().min(1),
|
|
18481
18580
|
displayName: string().min(1),
|
|
@@ -18579,7 +18678,67 @@ var TerminalProfileInfoSchema = object({
|
|
|
18579
18678
|
label: string(),
|
|
18580
18679
|
description: string().optional()
|
|
18581
18680
|
});
|
|
18582
|
-
|
|
18681
|
+
/**
|
|
18682
|
+
* A durable operator-created Terminal instance. Profiles are templates; only
|
|
18683
|
+
* an instance declares a camera.
|
|
18684
|
+
*/
|
|
18685
|
+
var TerminalInstanceInfoSchema = object({
|
|
18686
|
+
instanceId: string(),
|
|
18687
|
+
cameraStableId: string(),
|
|
18688
|
+
nodeId: string(),
|
|
18689
|
+
profileId: string(),
|
|
18690
|
+
profileLabel: string(),
|
|
18691
|
+
name: string(),
|
|
18692
|
+
enabled: boolean()
|
|
18693
|
+
});
|
|
18694
|
+
var TerminalLegacyCameraSchema = object({
|
|
18695
|
+
stableId: string(),
|
|
18696
|
+
nodeId: string(),
|
|
18697
|
+
profileId: string(),
|
|
18698
|
+
profileLabel: string(),
|
|
18699
|
+
name: string(),
|
|
18700
|
+
/** Only legacy monitor cameras can retain their historic stable identity. */
|
|
18701
|
+
adoptable: boolean()
|
|
18702
|
+
});
|
|
18703
|
+
var TerminalOutputEventSchema = discriminatedUnion("kind", [object({
|
|
18704
|
+
seq: number().int().positive(),
|
|
18705
|
+
kind: literal("data"),
|
|
18706
|
+
data: string()
|
|
18707
|
+
}), object({
|
|
18708
|
+
seq: number().int().positive(),
|
|
18709
|
+
kind: literal("exit"),
|
|
18710
|
+
exitCode: number().int(),
|
|
18711
|
+
signal: number().int().optional()
|
|
18712
|
+
})]);
|
|
18713
|
+
var TerminalOutputBatchSchema = object({
|
|
18714
|
+
cursor: number().int().nonnegative(),
|
|
18715
|
+
reset: boolean(),
|
|
18716
|
+
snapshot: string().optional(),
|
|
18717
|
+
events: array(TerminalOutputEventSchema).readonly()
|
|
18718
|
+
});
|
|
18719
|
+
method(_void(), array(TerminalProfileInfoSchema).readonly(), { auth: "admin" }), method(_void(), array(TerminalInstanceInfoSchema).readonly(), { auth: "admin" }), method(object({
|
|
18720
|
+
targetNodeId: string().min(1),
|
|
18721
|
+
profileId: string().min(1),
|
|
18722
|
+
name: string().trim().min(1).max(160).optional()
|
|
18723
|
+
}), TerminalInstanceInfoSchema, {
|
|
18724
|
+
kind: "mutation",
|
|
18725
|
+
auth: "admin"
|
|
18726
|
+
}), method(object({ instanceId: string().min(1) }), _void(), {
|
|
18727
|
+
kind: "mutation",
|
|
18728
|
+
auth: "admin"
|
|
18729
|
+
}), method(object({
|
|
18730
|
+
instanceId: string().min(1),
|
|
18731
|
+
enabled: boolean()
|
|
18732
|
+
}), TerminalInstanceInfoSchema, {
|
|
18733
|
+
kind: "mutation",
|
|
18734
|
+
auth: "admin"
|
|
18735
|
+
}), method(_void(), array(TerminalLegacyCameraSchema).readonly(), { auth: "admin" }), method(object({
|
|
18736
|
+
stableId: string().min(1),
|
|
18737
|
+
name: string().trim().min(1).max(160).optional()
|
|
18738
|
+
}), TerminalInstanceInfoSchema, {
|
|
18739
|
+
kind: "mutation",
|
|
18740
|
+
auth: "admin"
|
|
18741
|
+
}), method(_void(), array(TerminalSessionInfoSchema).readonly(), { auth: "admin" }), method(object({
|
|
18583
18742
|
profileId: string(),
|
|
18584
18743
|
cols: number().int().positive(),
|
|
18585
18744
|
rows: number().int().positive()
|
|
@@ -18593,6 +18752,26 @@ method(_void(), array(TerminalProfileInfoSchema).readonly(), { auth: "admin" }),
|
|
|
18593
18752
|
}), _void(), {
|
|
18594
18753
|
kind: "mutation",
|
|
18595
18754
|
auth: "admin"
|
|
18755
|
+
}), method(object({
|
|
18756
|
+
sessionId: string(),
|
|
18757
|
+
afterSeq: number().int().nonnegative(),
|
|
18758
|
+
waitMs: number().int().min(0).max(2e3).default(0),
|
|
18759
|
+
/**
|
|
18760
|
+
* Wait when a just-opened session has no output yet. Kept opt-in so a
|
|
18761
|
+
* browser's initial repaint remains immediate; the camera snapshot
|
|
18762
|
+
* relay uses it to avoid encoding a blank startup frame.
|
|
18763
|
+
*/
|
|
18764
|
+
waitForOutput: boolean().optional()
|
|
18765
|
+
}), TerminalOutputBatchSchema, {
|
|
18766
|
+
kind: "mutation",
|
|
18767
|
+
auth: "admin",
|
|
18768
|
+
timeoutMs: 15e3
|
|
18769
|
+
}), method(object({
|
|
18770
|
+
sessionId: string(),
|
|
18771
|
+
data: string().max(64 * 1024)
|
|
18772
|
+
}), _void(), {
|
|
18773
|
+
kind: "mutation",
|
|
18774
|
+
auth: "admin"
|
|
18596
18775
|
}), method(object({ sessionId: string() }), _void(), {
|
|
18597
18776
|
kind: "mutation",
|
|
18598
18777
|
auth: "admin"
|
|
@@ -21080,6 +21259,7 @@ var FaceInfoSchema = object({
|
|
|
21080
21259
|
var FaceFilterEnum = _enum([
|
|
21081
21260
|
"unassigned",
|
|
21082
21261
|
"recognized",
|
|
21262
|
+
"identified",
|
|
21083
21263
|
"all"
|
|
21084
21264
|
]);
|
|
21085
21265
|
var MediaFileLiteSchema$1 = object({
|
|
@@ -21108,6 +21288,8 @@ method(_void(), array(IdentitySchema).readonly()), method(object({ name: string(
|
|
|
21108
21288
|
kind: "mutation",
|
|
21109
21289
|
auth: "admin"
|
|
21110
21290
|
}), method(object({
|
|
21291
|
+
/** Restrict to one camera. Absent keeps the cluster-wide gallery view. */
|
|
21292
|
+
deviceId: number().int().optional(),
|
|
21111
21293
|
limit: number().int().positive().optional(),
|
|
21112
21294
|
filter: FaceFilterEnum.optional(),
|
|
21113
21295
|
/**
|
|
@@ -23337,6 +23519,10 @@ var OsdSourceSchema = discriminatedUnion("kind", [
|
|
|
23337
23519
|
capName: string().min(1).max(64),
|
|
23338
23520
|
/** Dot path inside the slice, e.g. `detected`, `value`, `mode`. */
|
|
23339
23521
|
valuePath: string().min(1).max(64)
|
|
23522
|
+
}),
|
|
23523
|
+
object({
|
|
23524
|
+
kind: literal("latest-recognition"),
|
|
23525
|
+
recognition: _enum(["person", "plate"])
|
|
23340
23526
|
})
|
|
23341
23527
|
]);
|
|
23342
23528
|
var OsdSlotBindingSchema = object({
|
|
@@ -23442,6 +23628,15 @@ method(object({ deviceId: number().int() }), object({
|
|
|
23442
23628
|
}), object({ success: literal(true) }), {
|
|
23443
23629
|
kind: "mutation",
|
|
23444
23630
|
auth: "admin"
|
|
23631
|
+
}), method(object({
|
|
23632
|
+
sourceDeviceId: number().int(),
|
|
23633
|
+
targetDeviceId: number().int()
|
|
23634
|
+
}), object({
|
|
23635
|
+
copied: number().int().nonnegative(),
|
|
23636
|
+
skipped: number().int().nonnegative()
|
|
23637
|
+
}), {
|
|
23638
|
+
kind: "mutation",
|
|
23639
|
+
auth: "admin"
|
|
23445
23640
|
}), method(object({
|
|
23446
23641
|
deviceId: number().int(),
|
|
23447
23642
|
slotId: string().min(1),
|
|
@@ -24539,13 +24734,19 @@ method(object({
|
|
|
24539
24734
|
}), {
|
|
24540
24735
|
kind: "mutation",
|
|
24541
24736
|
auth: "admin"
|
|
24542
|
-
}), method(
|
|
24737
|
+
}), method(StorageMigrationLeaseInputSchema, object({ paused: literal(true) }), {
|
|
24543
24738
|
kind: "mutation",
|
|
24544
24739
|
auth: "admin"
|
|
24545
|
-
}), method(object({
|
|
24546
|
-
kind: "
|
|
24740
|
+
}), method(StorageMigrationLeaseInputSchema, object({ resumed: literal(true) }), {
|
|
24741
|
+
kind: "mutation",
|
|
24547
24742
|
auth: "admin"
|
|
24548
|
-
}), method(
|
|
24743
|
+
}), method(StorageMigrationLeaseInputSchema, object({ refreshed: literal(true) }), {
|
|
24744
|
+
kind: "mutation",
|
|
24745
|
+
auth: "admin"
|
|
24746
|
+
}), method(StorageMigrationFootageMoveInputSchema, object({ jobId: string() }), {
|
|
24747
|
+
kind: "mutation",
|
|
24748
|
+
auth: "admin"
|
|
24749
|
+
}), method(object({ jobId: string() }), RelocateJobSchema.nullable(), { auth: "admin" }), method(object({ jobId: string() }), object({ cancelled: boolean() }), {
|
|
24549
24750
|
kind: "mutation",
|
|
24550
24751
|
auth: "admin"
|
|
24551
24752
|
});
|
|
@@ -30151,6 +30352,12 @@ Object.freeze({
|
|
|
30151
30352
|
addonId: null,
|
|
30152
30353
|
access: "delete"
|
|
30153
30354
|
},
|
|
30355
|
+
"osdManager.copyDeviceConfiguration": {
|
|
30356
|
+
capName: "osd-manager",
|
|
30357
|
+
capScope: "system",
|
|
30358
|
+
addonId: null,
|
|
30359
|
+
access: "create"
|
|
30360
|
+
},
|
|
30154
30361
|
"osdManager.getConditionSupport": {
|
|
30155
30362
|
capName: "osd-manager",
|
|
30156
30363
|
capScope: "system",
|
|
@@ -30247,7 +30454,7 @@ Object.freeze({
|
|
|
30247
30454
|
addonId: null,
|
|
30248
30455
|
access: "create"
|
|
30249
30456
|
},
|
|
30250
|
-
"pipelineAnalytics.
|
|
30457
|
+
"pipelineAnalytics.cancelStorageMigrationMove": {
|
|
30251
30458
|
capName: "pipeline-analytics",
|
|
30252
30459
|
capScope: "device",
|
|
30253
30460
|
addonId: null,
|
|
@@ -30319,12 +30526,6 @@ Object.freeze({
|
|
|
30319
30526
|
addonId: null,
|
|
30320
30527
|
access: "view"
|
|
30321
30528
|
},
|
|
30322
|
-
"pipelineAnalytics.getMediaRelocateStatus": {
|
|
30323
|
-
capName: "pipeline-analytics",
|
|
30324
|
-
capScope: "device",
|
|
30325
|
-
addonId: null,
|
|
30326
|
-
access: "view"
|
|
30327
|
-
},
|
|
30328
30529
|
"pipelineAnalytics.getMotionEvents": {
|
|
30329
30530
|
capName: "pipeline-analytics",
|
|
30330
30531
|
capScope: "device",
|
|
@@ -30361,6 +30562,12 @@ Object.freeze({
|
|
|
30361
30562
|
addonId: null,
|
|
30362
30563
|
access: "view"
|
|
30363
30564
|
},
|
|
30565
|
+
"pipelineAnalytics.getStorageMigrationMoveStatus": {
|
|
30566
|
+
capName: "pipeline-analytics",
|
|
30567
|
+
capScope: "device",
|
|
30568
|
+
addonId: null,
|
|
30569
|
+
access: "view"
|
|
30570
|
+
},
|
|
30364
30571
|
"pipelineAnalytics.getTrack": {
|
|
30365
30572
|
capName: "pipeline-analytics",
|
|
30366
30573
|
capScope: "device",
|
|
@@ -30439,6 +30646,12 @@ Object.freeze({
|
|
|
30439
30646
|
addonId: null,
|
|
30440
30647
|
access: "view"
|
|
30441
30648
|
},
|
|
30649
|
+
"pipelineAnalytics.pauseForStorageMigration": {
|
|
30650
|
+
capName: "pipeline-analytics",
|
|
30651
|
+
capScope: "device",
|
|
30652
|
+
addonId: null,
|
|
30653
|
+
access: "create"
|
|
30654
|
+
},
|
|
30442
30655
|
"pipelineAnalytics.proposeRetrainAnnotations": {
|
|
30443
30656
|
capName: "pipeline-analytics",
|
|
30444
30657
|
capScope: "device",
|
|
@@ -30469,7 +30682,7 @@ Object.freeze({
|
|
|
30469
30682
|
addonId: null,
|
|
30470
30683
|
access: "create"
|
|
30471
30684
|
},
|
|
30472
|
-
"pipelineAnalytics.
|
|
30685
|
+
"pipelineAnalytics.refreshStorageLocationsForMigration": {
|
|
30473
30686
|
capName: "pipeline-analytics",
|
|
30474
30687
|
capScope: "device",
|
|
30475
30688
|
addonId: null,
|
|
@@ -30481,6 +30694,12 @@ Object.freeze({
|
|
|
30481
30694
|
addonId: null,
|
|
30482
30695
|
access: "create"
|
|
30483
30696
|
},
|
|
30697
|
+
"pipelineAnalytics.resumeForStorageMigration": {
|
|
30698
|
+
capName: "pipeline-analytics",
|
|
30699
|
+
capScope: "device",
|
|
30700
|
+
addonId: null,
|
|
30701
|
+
access: "create"
|
|
30702
|
+
},
|
|
30484
30703
|
"pipelineAnalytics.saveRetrainAnnotations": {
|
|
30485
30704
|
capName: "pipeline-analytics",
|
|
30486
30705
|
capScope: "device",
|
|
@@ -30505,6 +30724,12 @@ Object.freeze({
|
|
|
30505
30724
|
addonId: null,
|
|
30506
30725
|
access: "create"
|
|
30507
30726
|
},
|
|
30727
|
+
"pipelineAnalytics.startStorageMigrationMove": {
|
|
30728
|
+
capName: "pipeline-analytics",
|
|
30729
|
+
capScope: "device",
|
|
30730
|
+
addonId: null,
|
|
30731
|
+
access: "create"
|
|
30732
|
+
},
|
|
30508
30733
|
"pipelineAnalytics.wipeAllAnalytics": {
|
|
30509
30734
|
capName: "pipeline-analytics",
|
|
30510
30735
|
capScope: "device",
|
|
@@ -30871,6 +31096,12 @@ Object.freeze({
|
|
|
30871
31096
|
addonId: null,
|
|
30872
31097
|
access: "view"
|
|
30873
31098
|
},
|
|
31099
|
+
"pipelineOrchestrator.pauseForStorageMigration": {
|
|
31100
|
+
capName: "pipeline-orchestrator",
|
|
31101
|
+
capScope: "system",
|
|
31102
|
+
addonId: null,
|
|
31103
|
+
access: "create"
|
|
31104
|
+
},
|
|
30874
31105
|
"pipelineOrchestrator.rebalance": {
|
|
30875
31106
|
capName: "pipeline-orchestrator",
|
|
30876
31107
|
capScope: "system",
|
|
@@ -30895,6 +31126,12 @@ Object.freeze({
|
|
|
30895
31126
|
addonId: null,
|
|
30896
31127
|
access: "view"
|
|
30897
31128
|
},
|
|
31129
|
+
"pipelineOrchestrator.resumeForStorageMigration": {
|
|
31130
|
+
capName: "pipeline-orchestrator",
|
|
31131
|
+
capScope: "system",
|
|
31132
|
+
addonId: null,
|
|
31133
|
+
access: "create"
|
|
31134
|
+
},
|
|
30898
31135
|
"pipelineOrchestrator.saveTemplate": {
|
|
30899
31136
|
capName: "pipeline-orchestrator",
|
|
30900
31137
|
capScope: "system",
|
|
@@ -31291,7 +31528,7 @@ Object.freeze({
|
|
|
31291
31528
|
addonId: null,
|
|
31292
31529
|
access: "create"
|
|
31293
31530
|
},
|
|
31294
|
-
"recording.
|
|
31531
|
+
"recording.cancelStorageMigrationMove": {
|
|
31295
31532
|
capName: "recording",
|
|
31296
31533
|
capScope: "system",
|
|
31297
31534
|
addonId: null,
|
|
@@ -31327,7 +31564,7 @@ Object.freeze({
|
|
|
31327
31564
|
addonId: null,
|
|
31328
31565
|
access: "view"
|
|
31329
31566
|
},
|
|
31330
|
-
"recording.
|
|
31567
|
+
"recording.getStorageMigrationMoveStatus": {
|
|
31331
31568
|
capName: "recording",
|
|
31332
31569
|
capScope: "system",
|
|
31333
31570
|
addonId: null,
|
|
@@ -31351,6 +31588,12 @@ Object.freeze({
|
|
|
31351
31588
|
addonId: null,
|
|
31352
31589
|
access: "view"
|
|
31353
31590
|
},
|
|
31591
|
+
"recording.pauseForStorageMigration": {
|
|
31592
|
+
capName: "recording",
|
|
31593
|
+
capScope: "system",
|
|
31594
|
+
addonId: null,
|
|
31595
|
+
access: "create"
|
|
31596
|
+
},
|
|
31354
31597
|
"recording.pruneFootage": {
|
|
31355
31598
|
capName: "recording",
|
|
31356
31599
|
capScope: "system",
|
|
@@ -31369,7 +31612,7 @@ Object.freeze({
|
|
|
31369
31612
|
addonId: null,
|
|
31370
31613
|
access: "view"
|
|
31371
31614
|
},
|
|
31372
|
-
"recording.
|
|
31615
|
+
"recording.refreshStorageLocationsForMigration": {
|
|
31373
31616
|
capName: "recording",
|
|
31374
31617
|
capScope: "system",
|
|
31375
31618
|
addonId: null,
|
|
@@ -31393,12 +31636,24 @@ Object.freeze({
|
|
|
31393
31636
|
addonId: null,
|
|
31394
31637
|
access: "create"
|
|
31395
31638
|
},
|
|
31639
|
+
"recording.resumeForStorageMigration": {
|
|
31640
|
+
capName: "recording",
|
|
31641
|
+
capScope: "system",
|
|
31642
|
+
addonId: null,
|
|
31643
|
+
access: "create"
|
|
31644
|
+
},
|
|
31396
31645
|
"recording.setDeviceConfig": {
|
|
31397
31646
|
capName: "recording",
|
|
31398
31647
|
capScope: "system",
|
|
31399
31648
|
addonId: null,
|
|
31400
31649
|
access: "create"
|
|
31401
31650
|
},
|
|
31651
|
+
"recording.startStorageMigrationMove": {
|
|
31652
|
+
capName: "recording",
|
|
31653
|
+
capScope: "system",
|
|
31654
|
+
addonId: null,
|
|
31655
|
+
access: "create"
|
|
31656
|
+
},
|
|
31402
31657
|
"recordingExport.cancelExport": {
|
|
31403
31658
|
capName: "recordingExport",
|
|
31404
31659
|
capScope: "system",
|
|
@@ -31789,6 +32044,30 @@ Object.freeze({
|
|
|
31789
32044
|
addonId: null,
|
|
31790
32045
|
access: "view"
|
|
31791
32046
|
},
|
|
32047
|
+
"storageMigration.cancel": {
|
|
32048
|
+
capName: "storage-migration",
|
|
32049
|
+
capScope: "system",
|
|
32050
|
+
addonId: null,
|
|
32051
|
+
access: "create"
|
|
32052
|
+
},
|
|
32053
|
+
"storageMigration.plan": {
|
|
32054
|
+
capName: "storage-migration",
|
|
32055
|
+
capScope: "system",
|
|
32056
|
+
addonId: null,
|
|
32057
|
+
access: "view"
|
|
32058
|
+
},
|
|
32059
|
+
"storageMigration.start": {
|
|
32060
|
+
capName: "storage-migration",
|
|
32061
|
+
capScope: "system",
|
|
32062
|
+
addonId: null,
|
|
32063
|
+
access: "create"
|
|
32064
|
+
},
|
|
32065
|
+
"storageMigration.status": {
|
|
32066
|
+
capName: "storage-migration",
|
|
32067
|
+
capScope: "system",
|
|
32068
|
+
addonId: null,
|
|
32069
|
+
access: "view"
|
|
32070
|
+
},
|
|
31792
32071
|
"storageProvider.abortUpload": {
|
|
31793
32072
|
capName: "storage-provider",
|
|
31794
32073
|
capScope: "system",
|
|
@@ -32167,12 +32446,42 @@ Object.freeze({
|
|
|
32167
32446
|
addonId: null,
|
|
32168
32447
|
access: "create"
|
|
32169
32448
|
},
|
|
32449
|
+
"terminalSession.adoptLegacyMonitor": {
|
|
32450
|
+
capName: "terminal-session",
|
|
32451
|
+
capScope: "system",
|
|
32452
|
+
addonId: null,
|
|
32453
|
+
access: "create"
|
|
32454
|
+
},
|
|
32170
32455
|
"terminalSession.close": {
|
|
32171
32456
|
capName: "terminal-session",
|
|
32172
32457
|
capScope: "system",
|
|
32173
32458
|
addonId: null,
|
|
32174
32459
|
access: "create"
|
|
32175
32460
|
},
|
|
32461
|
+
"terminalSession.createInstance": {
|
|
32462
|
+
capName: "terminal-session",
|
|
32463
|
+
capScope: "system",
|
|
32464
|
+
addonId: null,
|
|
32465
|
+
access: "create"
|
|
32466
|
+
},
|
|
32467
|
+
"terminalSession.deleteInstance": {
|
|
32468
|
+
capName: "terminal-session",
|
|
32469
|
+
capScope: "system",
|
|
32470
|
+
addonId: null,
|
|
32471
|
+
access: "delete"
|
|
32472
|
+
},
|
|
32473
|
+
"terminalSession.listInstances": {
|
|
32474
|
+
capName: "terminal-session",
|
|
32475
|
+
capScope: "system",
|
|
32476
|
+
addonId: null,
|
|
32477
|
+
access: "view"
|
|
32478
|
+
},
|
|
32479
|
+
"terminalSession.listLegacyCameras": {
|
|
32480
|
+
capName: "terminal-session",
|
|
32481
|
+
capScope: "system",
|
|
32482
|
+
addonId: null,
|
|
32483
|
+
access: "view"
|
|
32484
|
+
},
|
|
32176
32485
|
"terminalSession.listProfiles": {
|
|
32177
32486
|
capName: "terminal-session",
|
|
32178
32487
|
capScope: "system",
|
|
@@ -32191,12 +32500,30 @@ Object.freeze({
|
|
|
32191
32500
|
addonId: null,
|
|
32192
32501
|
access: "create"
|
|
32193
32502
|
},
|
|
32503
|
+
"terminalSession.pullOutput": {
|
|
32504
|
+
capName: "terminal-session",
|
|
32505
|
+
capScope: "system",
|
|
32506
|
+
addonId: null,
|
|
32507
|
+
access: "create"
|
|
32508
|
+
},
|
|
32194
32509
|
"terminalSession.resize": {
|
|
32195
32510
|
capName: "terminal-session",
|
|
32196
32511
|
capScope: "system",
|
|
32197
32512
|
addonId: null,
|
|
32198
32513
|
access: "create"
|
|
32199
32514
|
},
|
|
32515
|
+
"terminalSession.setInstanceEnabled": {
|
|
32516
|
+
capName: "terminal-session",
|
|
32517
|
+
capScope: "system",
|
|
32518
|
+
addonId: null,
|
|
32519
|
+
access: "create"
|
|
32520
|
+
},
|
|
32521
|
+
"terminalSession.writeInput": {
|
|
32522
|
+
capName: "terminal-session",
|
|
32523
|
+
capScope: "system",
|
|
32524
|
+
addonId: null,
|
|
32525
|
+
access: "create"
|
|
32526
|
+
},
|
|
32200
32527
|
"toast.onToast": {
|
|
32201
32528
|
capName: "toast",
|
|
32202
32529
|
capScope: "system",
|
package/dist/addon.mjs
CHANGED
|
@@ -7567,12 +7567,11 @@ var RecordingConfigSchema = object({
|
|
|
7567
7567
|
/**
|
|
7568
7568
|
* Entity-relocation job state (storage entity-routing spec, Phase 4).
|
|
7569
7569
|
*
|
|
7570
|
-
* One shape shared by the recorder
|
|
7571
|
-
*
|
|
7572
|
-
*
|
|
7573
|
-
*
|
|
7574
|
-
*
|
|
7575
|
-
* row on the owning addon's surface.
|
|
7570
|
+
* One shape shared by the recorder and pipeline-analytics internal movers.
|
|
7571
|
+
* The public admin surface is `storage-migration`; child jobs remain in RAM
|
|
7572
|
+
* because copy-if-absent, verify, delete and index/row repoint are resumable.
|
|
7573
|
+
* Each completed/failed run also lands one durable ops-log row on its owning
|
|
7574
|
+
* addon surface.
|
|
7576
7575
|
*/
|
|
7577
7576
|
var RelocateJobStateSchema = _enum([
|
|
7578
7577
|
"running",
|
|
@@ -7599,19 +7598,100 @@ var RelocateJobSchema = object({
|
|
|
7599
7598
|
finishedAt: number().nullable(),
|
|
7600
7599
|
error: string().nullable()
|
|
7601
7600
|
});
|
|
7601
|
+
/** Profile-derived footage selection used only by the migration coordinator:
|
|
7602
|
+
* `recordings` owns high+mid; `recordingsLow` owns low. */
|
|
7603
|
+
var RelocateFootageClassSchema = _enum(["recordings", "recordingsLow"]);
|
|
7602
7604
|
var RelocateFootageInputSchema = object({
|
|
7603
|
-
deviceId: number().optional(),
|
|
7604
7605
|
fromLocationId: string(),
|
|
7605
7606
|
toLocationId: string(),
|
|
7606
7607
|
entities: array(_enum(["segments"])).optional(),
|
|
7608
|
+
/** Limits relocation to the logical profile class. Omit only for the
|
|
7609
|
+
* pre-orchestration compatibility path. */
|
|
7610
|
+
footageClass: RelocateFootageClassSchema.optional(),
|
|
7607
7611
|
/** Copy throttle in MB/s (default 40) — the drain is a background chore,
|
|
7608
7612
|
* never allowed to starve live writers. */
|
|
7609
7613
|
throttleMbps: number().min(1).max(1e3).optional()
|
|
7610
7614
|
});
|
|
7611
|
-
|
|
7612
|
-
|
|
7615
|
+
/** Internal, lease-scoped participant operation. It is intentionally separate
|
|
7616
|
+
* from persistent recording settings: a migration never changes
|
|
7617
|
+
* `RecordingConfig.enabled` or camera wrapper bindings. */
|
|
7618
|
+
var StorageMigrationLeaseInputSchema = object({ leaseId: string().min(1) });
|
|
7619
|
+
var StorageMigrationFootageMoveInputSchema = RelocateFootageInputSchema.extend({ leaseId: string().min(1) });
|
|
7620
|
+
var StorageMigrationMediaMoveInputSchema = object({
|
|
7613
7621
|
toLocationId: string(),
|
|
7614
7622
|
throttleMbps: number().min(1).max(1e3).optional()
|
|
7623
|
+
}).extend({ leaseId: string().min(1) });
|
|
7624
|
+
/** The independently selectable logical storage classes. `recordings`
|
|
7625
|
+
* encompasses the high and mid segment profiles; `recordingsLow` is low
|
|
7626
|
+
* segments; `eventMedia` is post-analysis blobs. */
|
|
7627
|
+
var StorageMigrationClassSchema = _enum([
|
|
7628
|
+
"recordings",
|
|
7629
|
+
"recordingsLow",
|
|
7630
|
+
"eventMedia"
|
|
7631
|
+
]);
|
|
7632
|
+
/** A destination is always an existing, fully-qualified location id. The
|
|
7633
|
+
* migration API intentionally never changes a source location's `basePath`:
|
|
7634
|
+
* callers create a new `<type>:<slug>` location, then select it here. */
|
|
7635
|
+
var StorageMigrationDestinationsSchema = object({
|
|
7636
|
+
recordings: string().min(1).optional(),
|
|
7637
|
+
recordingsLow: string().min(1).optional(),
|
|
7638
|
+
eventMedia: string().min(1).optional()
|
|
7639
|
+
}).refine((value) => Object.keys(value).length > 0, { message: "select at least one storage class" });
|
|
7640
|
+
/** Shared input for planning and starting an orchestrated storage migration. */
|
|
7641
|
+
var StorageMigrationInputSchema = object({
|
|
7642
|
+
destinations: StorageMigrationDestinationsSchema,
|
|
7643
|
+
throttleMbps: number().min(1).max(1e3).optional()
|
|
7644
|
+
});
|
|
7645
|
+
/** The durable coordinator state machine. The only phase that changes default
|
|
7646
|
+
* locations is `repointing`, after every selected mover has completed and been
|
|
7647
|
+
* verified. */
|
|
7648
|
+
var StorageMigrationPhaseSchema = _enum([
|
|
7649
|
+
"planning",
|
|
7650
|
+
"pausing",
|
|
7651
|
+
"moving",
|
|
7652
|
+
"verifying",
|
|
7653
|
+
"repointing",
|
|
7654
|
+
"refreshing",
|
|
7655
|
+
"resuming",
|
|
7656
|
+
"done",
|
|
7657
|
+
"failed",
|
|
7658
|
+
"cancelled"
|
|
7659
|
+
]);
|
|
7660
|
+
var StorageMigrationParticipantSchema = _enum([
|
|
7661
|
+
"pipeline",
|
|
7662
|
+
"recorder",
|
|
7663
|
+
"analytics"
|
|
7664
|
+
]);
|
|
7665
|
+
var StorageMigrationMoveSchema = object({
|
|
7666
|
+
storageClass: StorageMigrationClassSchema,
|
|
7667
|
+
fromLocationId: string(),
|
|
7668
|
+
toLocationId: string(),
|
|
7669
|
+
moverJobId: string().nullable(),
|
|
7670
|
+
state: RelocateJobStateSchema.nullable(),
|
|
7671
|
+
error: string().nullable()
|
|
7672
|
+
});
|
|
7673
|
+
var StorageMigrationJobSchema = object({
|
|
7674
|
+
jobId: string(),
|
|
7675
|
+
phase: StorageMigrationPhaseSchema,
|
|
7676
|
+
destinations: StorageMigrationDestinationsSchema,
|
|
7677
|
+
throttleMbps: number(),
|
|
7678
|
+
moves: array(StorageMigrationMoveSchema),
|
|
7679
|
+
pauseLeaseId: string().nullable(),
|
|
7680
|
+
pausedParticipants: array(StorageMigrationParticipantSchema),
|
|
7681
|
+
repointed: boolean(),
|
|
7682
|
+
cancelRequested: boolean(),
|
|
7683
|
+
startedAt: number(),
|
|
7684
|
+
updatedAt: number(),
|
|
7685
|
+
finishedAt: number().nullable(),
|
|
7686
|
+
error: string().nullable()
|
|
7687
|
+
});
|
|
7688
|
+
var StorageMigrationPlanSchema = object({
|
|
7689
|
+
destinations: StorageMigrationDestinationsSchema,
|
|
7690
|
+
moves: array(object({
|
|
7691
|
+
storageClass: StorageMigrationClassSchema,
|
|
7692
|
+
fromLocationId: string(),
|
|
7693
|
+
toLocationId: string()
|
|
7694
|
+
}))
|
|
7615
7695
|
});
|
|
7616
7696
|
/**
|
|
7617
7697
|
* `StorageLocationType` — an addon-declared id that identifies the *kind* of
|
|
@@ -16265,13 +16345,19 @@ DeviceType.Camera, method(object({ deviceId: number() }), array(TrackSchema).rea
|
|
|
16265
16345
|
}), method(object({ deviceId: number() }), EventPruneCountsSchema, {
|
|
16266
16346
|
kind: "mutation",
|
|
16267
16347
|
auth: "admin"
|
|
16268
|
-
}), method(
|
|
16348
|
+
}), method(StorageMigrationLeaseInputSchema, object({ paused: literal(true) }), {
|
|
16269
16349
|
kind: "mutation",
|
|
16270
16350
|
auth: "admin"
|
|
16271
|
-
}), method(object({
|
|
16272
|
-
kind: "
|
|
16351
|
+
}), method(StorageMigrationLeaseInputSchema, object({ resumed: literal(true) }), {
|
|
16352
|
+
kind: "mutation",
|
|
16273
16353
|
auth: "admin"
|
|
16274
|
-
}), method(
|
|
16354
|
+
}), method(StorageMigrationLeaseInputSchema, object({ refreshed: literal(true) }), {
|
|
16355
|
+
kind: "mutation",
|
|
16356
|
+
auth: "admin"
|
|
16357
|
+
}), method(StorageMigrationMediaMoveInputSchema, object({ jobId: string() }), {
|
|
16358
|
+
kind: "mutation",
|
|
16359
|
+
auth: "admin"
|
|
16360
|
+
}), method(object({ jobId: string() }), RelocateJobSchema.nullable(), { auth: "admin" }), method(object({ jobId: string() }), object({ cancelled: boolean() }), {
|
|
16275
16361
|
kind: "mutation",
|
|
16276
16362
|
auth: "admin"
|
|
16277
16363
|
}), method(OpsLogQueryInputSchema, array(OpsLogEntrySchema).readonly(), {
|
|
@@ -17801,7 +17887,13 @@ var NodeInferenceDevicesSchema = object({
|
|
|
17801
17887
|
reachable: boolean(),
|
|
17802
17888
|
devices: array(NodeInferenceDeviceSchema).readonly()
|
|
17803
17889
|
});
|
|
17804
|
-
method(object({
|
|
17890
|
+
method(StorageMigrationLeaseInputSchema, object({ paused: literal(true) }), {
|
|
17891
|
+
kind: "mutation",
|
|
17892
|
+
auth: "admin"
|
|
17893
|
+
}), method(StorageMigrationLeaseInputSchema, object({ resumed: literal(true) }), {
|
|
17894
|
+
kind: "mutation",
|
|
17895
|
+
auth: "admin"
|
|
17896
|
+
}), method(object({
|
|
17805
17897
|
deviceId: number(),
|
|
17806
17898
|
agentNodeId: string()
|
|
17807
17899
|
}), object({ success: literal(true) }), {
|
|
@@ -18475,6 +18567,13 @@ method(object({ locationId: string() }), EvictableUsageSchema), method(object({
|
|
|
18475
18567
|
locationId: string(),
|
|
18476
18568
|
targetBytes: number().int().positive()
|
|
18477
18569
|
}), EvictResultSchema, { kind: "mutation" });
|
|
18570
|
+
method(StorageMigrationInputSchema, StorageMigrationPlanSchema, { auth: "admin" }), method(StorageMigrationInputSchema, object({ jobId: string() }), {
|
|
18571
|
+
kind: "mutation",
|
|
18572
|
+
auth: "admin"
|
|
18573
|
+
}), method(object({ jobId: string().optional() }), StorageMigrationJobSchema.nullable(), { auth: "admin" }), method(object({ jobId: string() }), object({ cancelled: boolean() }), {
|
|
18574
|
+
kind: "mutation",
|
|
18575
|
+
auth: "admin"
|
|
18576
|
+
});
|
|
18478
18577
|
var ProviderInfoSchema = discriminatedUnion("shouldSaveDiskSpace", [object({
|
|
18479
18578
|
providerId: string().min(1),
|
|
18480
18579
|
displayName: string().min(1),
|
|
@@ -18578,7 +18677,67 @@ var TerminalProfileInfoSchema = object({
|
|
|
18578
18677
|
label: string(),
|
|
18579
18678
|
description: string().optional()
|
|
18580
18679
|
});
|
|
18581
|
-
|
|
18680
|
+
/**
|
|
18681
|
+
* A durable operator-created Terminal instance. Profiles are templates; only
|
|
18682
|
+
* an instance declares a camera.
|
|
18683
|
+
*/
|
|
18684
|
+
var TerminalInstanceInfoSchema = object({
|
|
18685
|
+
instanceId: string(),
|
|
18686
|
+
cameraStableId: string(),
|
|
18687
|
+
nodeId: string(),
|
|
18688
|
+
profileId: string(),
|
|
18689
|
+
profileLabel: string(),
|
|
18690
|
+
name: string(),
|
|
18691
|
+
enabled: boolean()
|
|
18692
|
+
});
|
|
18693
|
+
var TerminalLegacyCameraSchema = object({
|
|
18694
|
+
stableId: string(),
|
|
18695
|
+
nodeId: string(),
|
|
18696
|
+
profileId: string(),
|
|
18697
|
+
profileLabel: string(),
|
|
18698
|
+
name: string(),
|
|
18699
|
+
/** Only legacy monitor cameras can retain their historic stable identity. */
|
|
18700
|
+
adoptable: boolean()
|
|
18701
|
+
});
|
|
18702
|
+
var TerminalOutputEventSchema = discriminatedUnion("kind", [object({
|
|
18703
|
+
seq: number().int().positive(),
|
|
18704
|
+
kind: literal("data"),
|
|
18705
|
+
data: string()
|
|
18706
|
+
}), object({
|
|
18707
|
+
seq: number().int().positive(),
|
|
18708
|
+
kind: literal("exit"),
|
|
18709
|
+
exitCode: number().int(),
|
|
18710
|
+
signal: number().int().optional()
|
|
18711
|
+
})]);
|
|
18712
|
+
var TerminalOutputBatchSchema = object({
|
|
18713
|
+
cursor: number().int().nonnegative(),
|
|
18714
|
+
reset: boolean(),
|
|
18715
|
+
snapshot: string().optional(),
|
|
18716
|
+
events: array(TerminalOutputEventSchema).readonly()
|
|
18717
|
+
});
|
|
18718
|
+
method(_void(), array(TerminalProfileInfoSchema).readonly(), { auth: "admin" }), method(_void(), array(TerminalInstanceInfoSchema).readonly(), { auth: "admin" }), method(object({
|
|
18719
|
+
targetNodeId: string().min(1),
|
|
18720
|
+
profileId: string().min(1),
|
|
18721
|
+
name: string().trim().min(1).max(160).optional()
|
|
18722
|
+
}), TerminalInstanceInfoSchema, {
|
|
18723
|
+
kind: "mutation",
|
|
18724
|
+
auth: "admin"
|
|
18725
|
+
}), method(object({ instanceId: string().min(1) }), _void(), {
|
|
18726
|
+
kind: "mutation",
|
|
18727
|
+
auth: "admin"
|
|
18728
|
+
}), method(object({
|
|
18729
|
+
instanceId: string().min(1),
|
|
18730
|
+
enabled: boolean()
|
|
18731
|
+
}), TerminalInstanceInfoSchema, {
|
|
18732
|
+
kind: "mutation",
|
|
18733
|
+
auth: "admin"
|
|
18734
|
+
}), method(_void(), array(TerminalLegacyCameraSchema).readonly(), { auth: "admin" }), method(object({
|
|
18735
|
+
stableId: string().min(1),
|
|
18736
|
+
name: string().trim().min(1).max(160).optional()
|
|
18737
|
+
}), TerminalInstanceInfoSchema, {
|
|
18738
|
+
kind: "mutation",
|
|
18739
|
+
auth: "admin"
|
|
18740
|
+
}), method(_void(), array(TerminalSessionInfoSchema).readonly(), { auth: "admin" }), method(object({
|
|
18582
18741
|
profileId: string(),
|
|
18583
18742
|
cols: number().int().positive(),
|
|
18584
18743
|
rows: number().int().positive()
|
|
@@ -18592,6 +18751,26 @@ method(_void(), array(TerminalProfileInfoSchema).readonly(), { auth: "admin" }),
|
|
|
18592
18751
|
}), _void(), {
|
|
18593
18752
|
kind: "mutation",
|
|
18594
18753
|
auth: "admin"
|
|
18754
|
+
}), method(object({
|
|
18755
|
+
sessionId: string(),
|
|
18756
|
+
afterSeq: number().int().nonnegative(),
|
|
18757
|
+
waitMs: number().int().min(0).max(2e3).default(0),
|
|
18758
|
+
/**
|
|
18759
|
+
* Wait when a just-opened session has no output yet. Kept opt-in so a
|
|
18760
|
+
* browser's initial repaint remains immediate; the camera snapshot
|
|
18761
|
+
* relay uses it to avoid encoding a blank startup frame.
|
|
18762
|
+
*/
|
|
18763
|
+
waitForOutput: boolean().optional()
|
|
18764
|
+
}), TerminalOutputBatchSchema, {
|
|
18765
|
+
kind: "mutation",
|
|
18766
|
+
auth: "admin",
|
|
18767
|
+
timeoutMs: 15e3
|
|
18768
|
+
}), method(object({
|
|
18769
|
+
sessionId: string(),
|
|
18770
|
+
data: string().max(64 * 1024)
|
|
18771
|
+
}), _void(), {
|
|
18772
|
+
kind: "mutation",
|
|
18773
|
+
auth: "admin"
|
|
18595
18774
|
}), method(object({ sessionId: string() }), _void(), {
|
|
18596
18775
|
kind: "mutation",
|
|
18597
18776
|
auth: "admin"
|
|
@@ -21079,6 +21258,7 @@ var FaceInfoSchema = object({
|
|
|
21079
21258
|
var FaceFilterEnum = _enum([
|
|
21080
21259
|
"unassigned",
|
|
21081
21260
|
"recognized",
|
|
21261
|
+
"identified",
|
|
21082
21262
|
"all"
|
|
21083
21263
|
]);
|
|
21084
21264
|
var MediaFileLiteSchema$1 = object({
|
|
@@ -21107,6 +21287,8 @@ method(_void(), array(IdentitySchema).readonly()), method(object({ name: string(
|
|
|
21107
21287
|
kind: "mutation",
|
|
21108
21288
|
auth: "admin"
|
|
21109
21289
|
}), method(object({
|
|
21290
|
+
/** Restrict to one camera. Absent keeps the cluster-wide gallery view. */
|
|
21291
|
+
deviceId: number().int().optional(),
|
|
21110
21292
|
limit: number().int().positive().optional(),
|
|
21111
21293
|
filter: FaceFilterEnum.optional(),
|
|
21112
21294
|
/**
|
|
@@ -23336,6 +23518,10 @@ var OsdSourceSchema = discriminatedUnion("kind", [
|
|
|
23336
23518
|
capName: string().min(1).max(64),
|
|
23337
23519
|
/** Dot path inside the slice, e.g. `detected`, `value`, `mode`. */
|
|
23338
23520
|
valuePath: string().min(1).max(64)
|
|
23521
|
+
}),
|
|
23522
|
+
object({
|
|
23523
|
+
kind: literal("latest-recognition"),
|
|
23524
|
+
recognition: _enum(["person", "plate"])
|
|
23339
23525
|
})
|
|
23340
23526
|
]);
|
|
23341
23527
|
var OsdSlotBindingSchema = object({
|
|
@@ -23441,6 +23627,15 @@ method(object({ deviceId: number().int() }), object({
|
|
|
23441
23627
|
}), object({ success: literal(true) }), {
|
|
23442
23628
|
kind: "mutation",
|
|
23443
23629
|
auth: "admin"
|
|
23630
|
+
}), method(object({
|
|
23631
|
+
sourceDeviceId: number().int(),
|
|
23632
|
+
targetDeviceId: number().int()
|
|
23633
|
+
}), object({
|
|
23634
|
+
copied: number().int().nonnegative(),
|
|
23635
|
+
skipped: number().int().nonnegative()
|
|
23636
|
+
}), {
|
|
23637
|
+
kind: "mutation",
|
|
23638
|
+
auth: "admin"
|
|
23444
23639
|
}), method(object({
|
|
23445
23640
|
deviceId: number().int(),
|
|
23446
23641
|
slotId: string().min(1),
|
|
@@ -24538,13 +24733,19 @@ method(object({
|
|
|
24538
24733
|
}), {
|
|
24539
24734
|
kind: "mutation",
|
|
24540
24735
|
auth: "admin"
|
|
24541
|
-
}), method(
|
|
24736
|
+
}), method(StorageMigrationLeaseInputSchema, object({ paused: literal(true) }), {
|
|
24542
24737
|
kind: "mutation",
|
|
24543
24738
|
auth: "admin"
|
|
24544
|
-
}), method(object({
|
|
24545
|
-
kind: "
|
|
24739
|
+
}), method(StorageMigrationLeaseInputSchema, object({ resumed: literal(true) }), {
|
|
24740
|
+
kind: "mutation",
|
|
24546
24741
|
auth: "admin"
|
|
24547
|
-
}), method(
|
|
24742
|
+
}), method(StorageMigrationLeaseInputSchema, object({ refreshed: literal(true) }), {
|
|
24743
|
+
kind: "mutation",
|
|
24744
|
+
auth: "admin"
|
|
24745
|
+
}), method(StorageMigrationFootageMoveInputSchema, object({ jobId: string() }), {
|
|
24746
|
+
kind: "mutation",
|
|
24747
|
+
auth: "admin"
|
|
24748
|
+
}), method(object({ jobId: string() }), RelocateJobSchema.nullable(), { auth: "admin" }), method(object({ jobId: string() }), object({ cancelled: boolean() }), {
|
|
24548
24749
|
kind: "mutation",
|
|
24549
24750
|
auth: "admin"
|
|
24550
24751
|
});
|
|
@@ -30150,6 +30351,12 @@ Object.freeze({
|
|
|
30150
30351
|
addonId: null,
|
|
30151
30352
|
access: "delete"
|
|
30152
30353
|
},
|
|
30354
|
+
"osdManager.copyDeviceConfiguration": {
|
|
30355
|
+
capName: "osd-manager",
|
|
30356
|
+
capScope: "system",
|
|
30357
|
+
addonId: null,
|
|
30358
|
+
access: "create"
|
|
30359
|
+
},
|
|
30153
30360
|
"osdManager.getConditionSupport": {
|
|
30154
30361
|
capName: "osd-manager",
|
|
30155
30362
|
capScope: "system",
|
|
@@ -30246,7 +30453,7 @@ Object.freeze({
|
|
|
30246
30453
|
addonId: null,
|
|
30247
30454
|
access: "create"
|
|
30248
30455
|
},
|
|
30249
|
-
"pipelineAnalytics.
|
|
30456
|
+
"pipelineAnalytics.cancelStorageMigrationMove": {
|
|
30250
30457
|
capName: "pipeline-analytics",
|
|
30251
30458
|
capScope: "device",
|
|
30252
30459
|
addonId: null,
|
|
@@ -30318,12 +30525,6 @@ Object.freeze({
|
|
|
30318
30525
|
addonId: null,
|
|
30319
30526
|
access: "view"
|
|
30320
30527
|
},
|
|
30321
|
-
"pipelineAnalytics.getMediaRelocateStatus": {
|
|
30322
|
-
capName: "pipeline-analytics",
|
|
30323
|
-
capScope: "device",
|
|
30324
|
-
addonId: null,
|
|
30325
|
-
access: "view"
|
|
30326
|
-
},
|
|
30327
30528
|
"pipelineAnalytics.getMotionEvents": {
|
|
30328
30529
|
capName: "pipeline-analytics",
|
|
30329
30530
|
capScope: "device",
|
|
@@ -30360,6 +30561,12 @@ Object.freeze({
|
|
|
30360
30561
|
addonId: null,
|
|
30361
30562
|
access: "view"
|
|
30362
30563
|
},
|
|
30564
|
+
"pipelineAnalytics.getStorageMigrationMoveStatus": {
|
|
30565
|
+
capName: "pipeline-analytics",
|
|
30566
|
+
capScope: "device",
|
|
30567
|
+
addonId: null,
|
|
30568
|
+
access: "view"
|
|
30569
|
+
},
|
|
30363
30570
|
"pipelineAnalytics.getTrack": {
|
|
30364
30571
|
capName: "pipeline-analytics",
|
|
30365
30572
|
capScope: "device",
|
|
@@ -30438,6 +30645,12 @@ Object.freeze({
|
|
|
30438
30645
|
addonId: null,
|
|
30439
30646
|
access: "view"
|
|
30440
30647
|
},
|
|
30648
|
+
"pipelineAnalytics.pauseForStorageMigration": {
|
|
30649
|
+
capName: "pipeline-analytics",
|
|
30650
|
+
capScope: "device",
|
|
30651
|
+
addonId: null,
|
|
30652
|
+
access: "create"
|
|
30653
|
+
},
|
|
30441
30654
|
"pipelineAnalytics.proposeRetrainAnnotations": {
|
|
30442
30655
|
capName: "pipeline-analytics",
|
|
30443
30656
|
capScope: "device",
|
|
@@ -30468,7 +30681,7 @@ Object.freeze({
|
|
|
30468
30681
|
addonId: null,
|
|
30469
30682
|
access: "create"
|
|
30470
30683
|
},
|
|
30471
|
-
"pipelineAnalytics.
|
|
30684
|
+
"pipelineAnalytics.refreshStorageLocationsForMigration": {
|
|
30472
30685
|
capName: "pipeline-analytics",
|
|
30473
30686
|
capScope: "device",
|
|
30474
30687
|
addonId: null,
|
|
@@ -30480,6 +30693,12 @@ Object.freeze({
|
|
|
30480
30693
|
addonId: null,
|
|
30481
30694
|
access: "create"
|
|
30482
30695
|
},
|
|
30696
|
+
"pipelineAnalytics.resumeForStorageMigration": {
|
|
30697
|
+
capName: "pipeline-analytics",
|
|
30698
|
+
capScope: "device",
|
|
30699
|
+
addonId: null,
|
|
30700
|
+
access: "create"
|
|
30701
|
+
},
|
|
30483
30702
|
"pipelineAnalytics.saveRetrainAnnotations": {
|
|
30484
30703
|
capName: "pipeline-analytics",
|
|
30485
30704
|
capScope: "device",
|
|
@@ -30504,6 +30723,12 @@ Object.freeze({
|
|
|
30504
30723
|
addonId: null,
|
|
30505
30724
|
access: "create"
|
|
30506
30725
|
},
|
|
30726
|
+
"pipelineAnalytics.startStorageMigrationMove": {
|
|
30727
|
+
capName: "pipeline-analytics",
|
|
30728
|
+
capScope: "device",
|
|
30729
|
+
addonId: null,
|
|
30730
|
+
access: "create"
|
|
30731
|
+
},
|
|
30507
30732
|
"pipelineAnalytics.wipeAllAnalytics": {
|
|
30508
30733
|
capName: "pipeline-analytics",
|
|
30509
30734
|
capScope: "device",
|
|
@@ -30870,6 +31095,12 @@ Object.freeze({
|
|
|
30870
31095
|
addonId: null,
|
|
30871
31096
|
access: "view"
|
|
30872
31097
|
},
|
|
31098
|
+
"pipelineOrchestrator.pauseForStorageMigration": {
|
|
31099
|
+
capName: "pipeline-orchestrator",
|
|
31100
|
+
capScope: "system",
|
|
31101
|
+
addonId: null,
|
|
31102
|
+
access: "create"
|
|
31103
|
+
},
|
|
30873
31104
|
"pipelineOrchestrator.rebalance": {
|
|
30874
31105
|
capName: "pipeline-orchestrator",
|
|
30875
31106
|
capScope: "system",
|
|
@@ -30894,6 +31125,12 @@ Object.freeze({
|
|
|
30894
31125
|
addonId: null,
|
|
30895
31126
|
access: "view"
|
|
30896
31127
|
},
|
|
31128
|
+
"pipelineOrchestrator.resumeForStorageMigration": {
|
|
31129
|
+
capName: "pipeline-orchestrator",
|
|
31130
|
+
capScope: "system",
|
|
31131
|
+
addonId: null,
|
|
31132
|
+
access: "create"
|
|
31133
|
+
},
|
|
30897
31134
|
"pipelineOrchestrator.saveTemplate": {
|
|
30898
31135
|
capName: "pipeline-orchestrator",
|
|
30899
31136
|
capScope: "system",
|
|
@@ -31290,7 +31527,7 @@ Object.freeze({
|
|
|
31290
31527
|
addonId: null,
|
|
31291
31528
|
access: "create"
|
|
31292
31529
|
},
|
|
31293
|
-
"recording.
|
|
31530
|
+
"recording.cancelStorageMigrationMove": {
|
|
31294
31531
|
capName: "recording",
|
|
31295
31532
|
capScope: "system",
|
|
31296
31533
|
addonId: null,
|
|
@@ -31326,7 +31563,7 @@ Object.freeze({
|
|
|
31326
31563
|
addonId: null,
|
|
31327
31564
|
access: "view"
|
|
31328
31565
|
},
|
|
31329
|
-
"recording.
|
|
31566
|
+
"recording.getStorageMigrationMoveStatus": {
|
|
31330
31567
|
capName: "recording",
|
|
31331
31568
|
capScope: "system",
|
|
31332
31569
|
addonId: null,
|
|
@@ -31350,6 +31587,12 @@ Object.freeze({
|
|
|
31350
31587
|
addonId: null,
|
|
31351
31588
|
access: "view"
|
|
31352
31589
|
},
|
|
31590
|
+
"recording.pauseForStorageMigration": {
|
|
31591
|
+
capName: "recording",
|
|
31592
|
+
capScope: "system",
|
|
31593
|
+
addonId: null,
|
|
31594
|
+
access: "create"
|
|
31595
|
+
},
|
|
31353
31596
|
"recording.pruneFootage": {
|
|
31354
31597
|
capName: "recording",
|
|
31355
31598
|
capScope: "system",
|
|
@@ -31368,7 +31611,7 @@ Object.freeze({
|
|
|
31368
31611
|
addonId: null,
|
|
31369
31612
|
access: "view"
|
|
31370
31613
|
},
|
|
31371
|
-
"recording.
|
|
31614
|
+
"recording.refreshStorageLocationsForMigration": {
|
|
31372
31615
|
capName: "recording",
|
|
31373
31616
|
capScope: "system",
|
|
31374
31617
|
addonId: null,
|
|
@@ -31392,12 +31635,24 @@ Object.freeze({
|
|
|
31392
31635
|
addonId: null,
|
|
31393
31636
|
access: "create"
|
|
31394
31637
|
},
|
|
31638
|
+
"recording.resumeForStorageMigration": {
|
|
31639
|
+
capName: "recording",
|
|
31640
|
+
capScope: "system",
|
|
31641
|
+
addonId: null,
|
|
31642
|
+
access: "create"
|
|
31643
|
+
},
|
|
31395
31644
|
"recording.setDeviceConfig": {
|
|
31396
31645
|
capName: "recording",
|
|
31397
31646
|
capScope: "system",
|
|
31398
31647
|
addonId: null,
|
|
31399
31648
|
access: "create"
|
|
31400
31649
|
},
|
|
31650
|
+
"recording.startStorageMigrationMove": {
|
|
31651
|
+
capName: "recording",
|
|
31652
|
+
capScope: "system",
|
|
31653
|
+
addonId: null,
|
|
31654
|
+
access: "create"
|
|
31655
|
+
},
|
|
31401
31656
|
"recordingExport.cancelExport": {
|
|
31402
31657
|
capName: "recordingExport",
|
|
31403
31658
|
capScope: "system",
|
|
@@ -31788,6 +32043,30 @@ Object.freeze({
|
|
|
31788
32043
|
addonId: null,
|
|
31789
32044
|
access: "view"
|
|
31790
32045
|
},
|
|
32046
|
+
"storageMigration.cancel": {
|
|
32047
|
+
capName: "storage-migration",
|
|
32048
|
+
capScope: "system",
|
|
32049
|
+
addonId: null,
|
|
32050
|
+
access: "create"
|
|
32051
|
+
},
|
|
32052
|
+
"storageMigration.plan": {
|
|
32053
|
+
capName: "storage-migration",
|
|
32054
|
+
capScope: "system",
|
|
32055
|
+
addonId: null,
|
|
32056
|
+
access: "view"
|
|
32057
|
+
},
|
|
32058
|
+
"storageMigration.start": {
|
|
32059
|
+
capName: "storage-migration",
|
|
32060
|
+
capScope: "system",
|
|
32061
|
+
addonId: null,
|
|
32062
|
+
access: "create"
|
|
32063
|
+
},
|
|
32064
|
+
"storageMigration.status": {
|
|
32065
|
+
capName: "storage-migration",
|
|
32066
|
+
capScope: "system",
|
|
32067
|
+
addonId: null,
|
|
32068
|
+
access: "view"
|
|
32069
|
+
},
|
|
31791
32070
|
"storageProvider.abortUpload": {
|
|
31792
32071
|
capName: "storage-provider",
|
|
31793
32072
|
capScope: "system",
|
|
@@ -32166,12 +32445,42 @@ Object.freeze({
|
|
|
32166
32445
|
addonId: null,
|
|
32167
32446
|
access: "create"
|
|
32168
32447
|
},
|
|
32448
|
+
"terminalSession.adoptLegacyMonitor": {
|
|
32449
|
+
capName: "terminal-session",
|
|
32450
|
+
capScope: "system",
|
|
32451
|
+
addonId: null,
|
|
32452
|
+
access: "create"
|
|
32453
|
+
},
|
|
32169
32454
|
"terminalSession.close": {
|
|
32170
32455
|
capName: "terminal-session",
|
|
32171
32456
|
capScope: "system",
|
|
32172
32457
|
addonId: null,
|
|
32173
32458
|
access: "create"
|
|
32174
32459
|
},
|
|
32460
|
+
"terminalSession.createInstance": {
|
|
32461
|
+
capName: "terminal-session",
|
|
32462
|
+
capScope: "system",
|
|
32463
|
+
addonId: null,
|
|
32464
|
+
access: "create"
|
|
32465
|
+
},
|
|
32466
|
+
"terminalSession.deleteInstance": {
|
|
32467
|
+
capName: "terminal-session",
|
|
32468
|
+
capScope: "system",
|
|
32469
|
+
addonId: null,
|
|
32470
|
+
access: "delete"
|
|
32471
|
+
},
|
|
32472
|
+
"terminalSession.listInstances": {
|
|
32473
|
+
capName: "terminal-session",
|
|
32474
|
+
capScope: "system",
|
|
32475
|
+
addonId: null,
|
|
32476
|
+
access: "view"
|
|
32477
|
+
},
|
|
32478
|
+
"terminalSession.listLegacyCameras": {
|
|
32479
|
+
capName: "terminal-session",
|
|
32480
|
+
capScope: "system",
|
|
32481
|
+
addonId: null,
|
|
32482
|
+
access: "view"
|
|
32483
|
+
},
|
|
32175
32484
|
"terminalSession.listProfiles": {
|
|
32176
32485
|
capName: "terminal-session",
|
|
32177
32486
|
capScope: "system",
|
|
@@ -32190,12 +32499,30 @@ Object.freeze({
|
|
|
32190
32499
|
addonId: null,
|
|
32191
32500
|
access: "create"
|
|
32192
32501
|
},
|
|
32502
|
+
"terminalSession.pullOutput": {
|
|
32503
|
+
capName: "terminal-session",
|
|
32504
|
+
capScope: "system",
|
|
32505
|
+
addonId: null,
|
|
32506
|
+
access: "create"
|
|
32507
|
+
},
|
|
32193
32508
|
"terminalSession.resize": {
|
|
32194
32509
|
capName: "terminal-session",
|
|
32195
32510
|
capScope: "system",
|
|
32196
32511
|
addonId: null,
|
|
32197
32512
|
access: "create"
|
|
32198
32513
|
},
|
|
32514
|
+
"terminalSession.setInstanceEnabled": {
|
|
32515
|
+
capName: "terminal-session",
|
|
32516
|
+
capScope: "system",
|
|
32517
|
+
addonId: null,
|
|
32518
|
+
access: "create"
|
|
32519
|
+
},
|
|
32520
|
+
"terminalSession.writeInput": {
|
|
32521
|
+
capName: "terminal-session",
|
|
32522
|
+
capScope: "system",
|
|
32523
|
+
addonId: null,
|
|
32524
|
+
access: "create"
|
|
32525
|
+
},
|
|
32199
32526
|
"toast.onToast": {
|
|
32200
32527
|
capName: "toast",
|
|
32201
32528
|
capScope: "system",
|
package/package.json
CHANGED