@camstack/addon-export-alexa 1.2.15 → 1.2.17
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/export-alexa.addon.js +357 -30
- package/dist/export-alexa.addon.mjs +357 -30
- package/package.json +1 -1
|
@@ -7719,12 +7719,11 @@ var RecordingConfigSchema = object({
|
|
|
7719
7719
|
/**
|
|
7720
7720
|
* Entity-relocation job state (storage entity-routing spec, Phase 4).
|
|
7721
7721
|
*
|
|
7722
|
-
* One shape shared by the recorder
|
|
7723
|
-
*
|
|
7724
|
-
*
|
|
7725
|
-
*
|
|
7726
|
-
*
|
|
7727
|
-
* row on the owning addon's surface.
|
|
7722
|
+
* One shape shared by the recorder and pipeline-analytics internal movers.
|
|
7723
|
+
* The public admin surface is `storage-migration`; child jobs remain in RAM
|
|
7724
|
+
* because copy-if-absent, verify, delete and index/row repoint are resumable.
|
|
7725
|
+
* Each completed/failed run also lands one durable ops-log row on its owning
|
|
7726
|
+
* addon surface.
|
|
7728
7727
|
*/
|
|
7729
7728
|
var RelocateJobStateSchema = _enum([
|
|
7730
7729
|
"running",
|
|
@@ -7751,19 +7750,100 @@ var RelocateJobSchema = object({
|
|
|
7751
7750
|
finishedAt: number().nullable(),
|
|
7752
7751
|
error: string().nullable()
|
|
7753
7752
|
});
|
|
7753
|
+
/** Profile-derived footage selection used only by the migration coordinator:
|
|
7754
|
+
* `recordings` owns high+mid; `recordingsLow` owns low. */
|
|
7755
|
+
var RelocateFootageClassSchema = _enum(["recordings", "recordingsLow"]);
|
|
7754
7756
|
var RelocateFootageInputSchema = object({
|
|
7755
|
-
deviceId: number().optional(),
|
|
7756
7757
|
fromLocationId: string(),
|
|
7757
7758
|
toLocationId: string(),
|
|
7758
7759
|
entities: array(_enum(["segments"])).optional(),
|
|
7760
|
+
/** Limits relocation to the logical profile class. Omit only for the
|
|
7761
|
+
* pre-orchestration compatibility path. */
|
|
7762
|
+
footageClass: RelocateFootageClassSchema.optional(),
|
|
7759
7763
|
/** Copy throttle in MB/s (default 40) — the drain is a background chore,
|
|
7760
7764
|
* never allowed to starve live writers. */
|
|
7761
7765
|
throttleMbps: number().min(1).max(1e3).optional()
|
|
7762
7766
|
});
|
|
7763
|
-
|
|
7764
|
-
|
|
7767
|
+
/** Internal, lease-scoped participant operation. It is intentionally separate
|
|
7768
|
+
* from persistent recording settings: a migration never changes
|
|
7769
|
+
* `RecordingConfig.enabled` or camera wrapper bindings. */
|
|
7770
|
+
var StorageMigrationLeaseInputSchema = object({ leaseId: string().min(1) });
|
|
7771
|
+
var StorageMigrationFootageMoveInputSchema = RelocateFootageInputSchema.extend({ leaseId: string().min(1) });
|
|
7772
|
+
var StorageMigrationMediaMoveInputSchema = object({
|
|
7765
7773
|
toLocationId: string(),
|
|
7766
7774
|
throttleMbps: number().min(1).max(1e3).optional()
|
|
7775
|
+
}).extend({ leaseId: string().min(1) });
|
|
7776
|
+
/** The independently selectable logical storage classes. `recordings`
|
|
7777
|
+
* encompasses the high and mid segment profiles; `recordingsLow` is low
|
|
7778
|
+
* segments; `eventMedia` is post-analysis blobs. */
|
|
7779
|
+
var StorageMigrationClassSchema = _enum([
|
|
7780
|
+
"recordings",
|
|
7781
|
+
"recordingsLow",
|
|
7782
|
+
"eventMedia"
|
|
7783
|
+
]);
|
|
7784
|
+
/** A destination is always an existing, fully-qualified location id. The
|
|
7785
|
+
* migration API intentionally never changes a source location's `basePath`:
|
|
7786
|
+
* callers create a new `<type>:<slug>` location, then select it here. */
|
|
7787
|
+
var StorageMigrationDestinationsSchema = object({
|
|
7788
|
+
recordings: string().min(1).optional(),
|
|
7789
|
+
recordingsLow: string().min(1).optional(),
|
|
7790
|
+
eventMedia: string().min(1).optional()
|
|
7791
|
+
}).refine((value) => Object.keys(value).length > 0, { message: "select at least one storage class" });
|
|
7792
|
+
/** Shared input for planning and starting an orchestrated storage migration. */
|
|
7793
|
+
var StorageMigrationInputSchema = object({
|
|
7794
|
+
destinations: StorageMigrationDestinationsSchema,
|
|
7795
|
+
throttleMbps: number().min(1).max(1e3).optional()
|
|
7796
|
+
});
|
|
7797
|
+
/** The durable coordinator state machine. The only phase that changes default
|
|
7798
|
+
* locations is `repointing`, after every selected mover has completed and been
|
|
7799
|
+
* verified. */
|
|
7800
|
+
var StorageMigrationPhaseSchema = _enum([
|
|
7801
|
+
"planning",
|
|
7802
|
+
"pausing",
|
|
7803
|
+
"moving",
|
|
7804
|
+
"verifying",
|
|
7805
|
+
"repointing",
|
|
7806
|
+
"refreshing",
|
|
7807
|
+
"resuming",
|
|
7808
|
+
"done",
|
|
7809
|
+
"failed",
|
|
7810
|
+
"cancelled"
|
|
7811
|
+
]);
|
|
7812
|
+
var StorageMigrationParticipantSchema = _enum([
|
|
7813
|
+
"pipeline",
|
|
7814
|
+
"recorder",
|
|
7815
|
+
"analytics"
|
|
7816
|
+
]);
|
|
7817
|
+
var StorageMigrationMoveSchema = object({
|
|
7818
|
+
storageClass: StorageMigrationClassSchema,
|
|
7819
|
+
fromLocationId: string(),
|
|
7820
|
+
toLocationId: string(),
|
|
7821
|
+
moverJobId: string().nullable(),
|
|
7822
|
+
state: RelocateJobStateSchema.nullable(),
|
|
7823
|
+
error: string().nullable()
|
|
7824
|
+
});
|
|
7825
|
+
var StorageMigrationJobSchema = object({
|
|
7826
|
+
jobId: string(),
|
|
7827
|
+
phase: StorageMigrationPhaseSchema,
|
|
7828
|
+
destinations: StorageMigrationDestinationsSchema,
|
|
7829
|
+
throttleMbps: number(),
|
|
7830
|
+
moves: array(StorageMigrationMoveSchema),
|
|
7831
|
+
pauseLeaseId: string().nullable(),
|
|
7832
|
+
pausedParticipants: array(StorageMigrationParticipantSchema),
|
|
7833
|
+
repointed: boolean(),
|
|
7834
|
+
cancelRequested: boolean(),
|
|
7835
|
+
startedAt: number(),
|
|
7836
|
+
updatedAt: number(),
|
|
7837
|
+
finishedAt: number().nullable(),
|
|
7838
|
+
error: string().nullable()
|
|
7839
|
+
});
|
|
7840
|
+
var StorageMigrationPlanSchema = object({
|
|
7841
|
+
destinations: StorageMigrationDestinationsSchema,
|
|
7842
|
+
moves: array(object({
|
|
7843
|
+
storageClass: StorageMigrationClassSchema,
|
|
7844
|
+
fromLocationId: string(),
|
|
7845
|
+
toLocationId: string()
|
|
7846
|
+
}))
|
|
7767
7847
|
});
|
|
7768
7848
|
/**
|
|
7769
7849
|
* `StorageLocationType` — an addon-declared id that identifies the *kind* of
|
|
@@ -16272,13 +16352,19 @@ DeviceType.Camera, method(object({ deviceId: number() }), array(TrackSchema).rea
|
|
|
16272
16352
|
}), method(object({ deviceId: number() }), EventPruneCountsSchema, {
|
|
16273
16353
|
kind: "mutation",
|
|
16274
16354
|
auth: "admin"
|
|
16275
|
-
}), method(
|
|
16355
|
+
}), method(StorageMigrationLeaseInputSchema, object({ paused: literal(true) }), {
|
|
16276
16356
|
kind: "mutation",
|
|
16277
16357
|
auth: "admin"
|
|
16278
|
-
}), method(object({
|
|
16279
|
-
kind: "
|
|
16358
|
+
}), method(StorageMigrationLeaseInputSchema, object({ resumed: literal(true) }), {
|
|
16359
|
+
kind: "mutation",
|
|
16280
16360
|
auth: "admin"
|
|
16281
|
-
}), method(
|
|
16361
|
+
}), method(StorageMigrationLeaseInputSchema, object({ refreshed: literal(true) }), {
|
|
16362
|
+
kind: "mutation",
|
|
16363
|
+
auth: "admin"
|
|
16364
|
+
}), method(StorageMigrationMediaMoveInputSchema, object({ jobId: string() }), {
|
|
16365
|
+
kind: "mutation",
|
|
16366
|
+
auth: "admin"
|
|
16367
|
+
}), method(object({ jobId: string() }), RelocateJobSchema.nullable(), { auth: "admin" }), method(object({ jobId: string() }), object({ cancelled: boolean() }), {
|
|
16282
16368
|
kind: "mutation",
|
|
16283
16369
|
auth: "admin"
|
|
16284
16370
|
}), method(OpsLogQueryInputSchema, array(OpsLogEntrySchema).readonly(), {
|
|
@@ -17775,7 +17861,13 @@ var NodeInferenceDevicesSchema = object({
|
|
|
17775
17861
|
reachable: boolean(),
|
|
17776
17862
|
devices: array(NodeInferenceDeviceSchema).readonly()
|
|
17777
17863
|
});
|
|
17778
|
-
method(object({
|
|
17864
|
+
method(StorageMigrationLeaseInputSchema, object({ paused: literal(true) }), {
|
|
17865
|
+
kind: "mutation",
|
|
17866
|
+
auth: "admin"
|
|
17867
|
+
}), method(StorageMigrationLeaseInputSchema, object({ resumed: literal(true) }), {
|
|
17868
|
+
kind: "mutation",
|
|
17869
|
+
auth: "admin"
|
|
17870
|
+
}), method(object({
|
|
17779
17871
|
deviceId: number(),
|
|
17780
17872
|
agentNodeId: string()
|
|
17781
17873
|
}), object({ success: literal(true) }), {
|
|
@@ -18449,6 +18541,13 @@ method(object({ locationId: string() }), EvictableUsageSchema), method(object({
|
|
|
18449
18541
|
locationId: string(),
|
|
18450
18542
|
targetBytes: number().int().positive()
|
|
18451
18543
|
}), EvictResultSchema, { kind: "mutation" });
|
|
18544
|
+
method(StorageMigrationInputSchema, StorageMigrationPlanSchema, { auth: "admin" }), method(StorageMigrationInputSchema, object({ jobId: string() }), {
|
|
18545
|
+
kind: "mutation",
|
|
18546
|
+
auth: "admin"
|
|
18547
|
+
}), method(object({ jobId: string().optional() }), StorageMigrationJobSchema.nullable(), { auth: "admin" }), method(object({ jobId: string() }), object({ cancelled: boolean() }), {
|
|
18548
|
+
kind: "mutation",
|
|
18549
|
+
auth: "admin"
|
|
18550
|
+
});
|
|
18452
18551
|
var ProviderInfoSchema = discriminatedUnion("shouldSaveDiskSpace", [object({
|
|
18453
18552
|
providerId: string().min(1),
|
|
18454
18553
|
displayName: string().min(1),
|
|
@@ -18552,7 +18651,67 @@ var TerminalProfileInfoSchema = object({
|
|
|
18552
18651
|
label: string(),
|
|
18553
18652
|
description: string().optional()
|
|
18554
18653
|
});
|
|
18555
|
-
|
|
18654
|
+
/**
|
|
18655
|
+
* A durable operator-created Terminal instance. Profiles are templates; only
|
|
18656
|
+
* an instance declares a camera.
|
|
18657
|
+
*/
|
|
18658
|
+
var TerminalInstanceInfoSchema = object({
|
|
18659
|
+
instanceId: string(),
|
|
18660
|
+
cameraStableId: string(),
|
|
18661
|
+
nodeId: string(),
|
|
18662
|
+
profileId: string(),
|
|
18663
|
+
profileLabel: string(),
|
|
18664
|
+
name: string(),
|
|
18665
|
+
enabled: boolean()
|
|
18666
|
+
});
|
|
18667
|
+
var TerminalLegacyCameraSchema = object({
|
|
18668
|
+
stableId: string(),
|
|
18669
|
+
nodeId: string(),
|
|
18670
|
+
profileId: string(),
|
|
18671
|
+
profileLabel: string(),
|
|
18672
|
+
name: string(),
|
|
18673
|
+
/** Only legacy monitor cameras can retain their historic stable identity. */
|
|
18674
|
+
adoptable: boolean()
|
|
18675
|
+
});
|
|
18676
|
+
var TerminalOutputEventSchema = discriminatedUnion("kind", [object({
|
|
18677
|
+
seq: number().int().positive(),
|
|
18678
|
+
kind: literal("data"),
|
|
18679
|
+
data: string()
|
|
18680
|
+
}), object({
|
|
18681
|
+
seq: number().int().positive(),
|
|
18682
|
+
kind: literal("exit"),
|
|
18683
|
+
exitCode: number().int(),
|
|
18684
|
+
signal: number().int().optional()
|
|
18685
|
+
})]);
|
|
18686
|
+
var TerminalOutputBatchSchema = object({
|
|
18687
|
+
cursor: number().int().nonnegative(),
|
|
18688
|
+
reset: boolean(),
|
|
18689
|
+
snapshot: string().optional(),
|
|
18690
|
+
events: array(TerminalOutputEventSchema).readonly()
|
|
18691
|
+
});
|
|
18692
|
+
method(_void(), array(TerminalProfileInfoSchema).readonly(), { auth: "admin" }), method(_void(), array(TerminalInstanceInfoSchema).readonly(), { auth: "admin" }), method(object({
|
|
18693
|
+
targetNodeId: string().min(1),
|
|
18694
|
+
profileId: string().min(1),
|
|
18695
|
+
name: string().trim().min(1).max(160).optional()
|
|
18696
|
+
}), TerminalInstanceInfoSchema, {
|
|
18697
|
+
kind: "mutation",
|
|
18698
|
+
auth: "admin"
|
|
18699
|
+
}), method(object({ instanceId: string().min(1) }), _void(), {
|
|
18700
|
+
kind: "mutation",
|
|
18701
|
+
auth: "admin"
|
|
18702
|
+
}), method(object({
|
|
18703
|
+
instanceId: string().min(1),
|
|
18704
|
+
enabled: boolean()
|
|
18705
|
+
}), TerminalInstanceInfoSchema, {
|
|
18706
|
+
kind: "mutation",
|
|
18707
|
+
auth: "admin"
|
|
18708
|
+
}), method(_void(), array(TerminalLegacyCameraSchema).readonly(), { auth: "admin" }), method(object({
|
|
18709
|
+
stableId: string().min(1),
|
|
18710
|
+
name: string().trim().min(1).max(160).optional()
|
|
18711
|
+
}), TerminalInstanceInfoSchema, {
|
|
18712
|
+
kind: "mutation",
|
|
18713
|
+
auth: "admin"
|
|
18714
|
+
}), method(_void(), array(TerminalSessionInfoSchema).readonly(), { auth: "admin" }), method(object({
|
|
18556
18715
|
profileId: string(),
|
|
18557
18716
|
cols: number().int().positive(),
|
|
18558
18717
|
rows: number().int().positive()
|
|
@@ -18566,6 +18725,26 @@ method(_void(), array(TerminalProfileInfoSchema).readonly(), { auth: "admin" }),
|
|
|
18566
18725
|
}), _void(), {
|
|
18567
18726
|
kind: "mutation",
|
|
18568
18727
|
auth: "admin"
|
|
18728
|
+
}), method(object({
|
|
18729
|
+
sessionId: string(),
|
|
18730
|
+
afterSeq: number().int().nonnegative(),
|
|
18731
|
+
waitMs: number().int().min(0).max(2e3).default(0),
|
|
18732
|
+
/**
|
|
18733
|
+
* Wait when a just-opened session has no output yet. Kept opt-in so a
|
|
18734
|
+
* browser's initial repaint remains immediate; the camera snapshot
|
|
18735
|
+
* relay uses it to avoid encoding a blank startup frame.
|
|
18736
|
+
*/
|
|
18737
|
+
waitForOutput: boolean().optional()
|
|
18738
|
+
}), TerminalOutputBatchSchema, {
|
|
18739
|
+
kind: "mutation",
|
|
18740
|
+
auth: "admin",
|
|
18741
|
+
timeoutMs: 15e3
|
|
18742
|
+
}), method(object({
|
|
18743
|
+
sessionId: string(),
|
|
18744
|
+
data: string().max(64 * 1024)
|
|
18745
|
+
}), _void(), {
|
|
18746
|
+
kind: "mutation",
|
|
18747
|
+
auth: "admin"
|
|
18569
18748
|
}), method(object({ sessionId: string() }), _void(), {
|
|
18570
18749
|
kind: "mutation",
|
|
18571
18750
|
auth: "admin"
|
|
@@ -20496,6 +20675,7 @@ var FaceInfoSchema = object({
|
|
|
20496
20675
|
var FaceFilterEnum = _enum([
|
|
20497
20676
|
"unassigned",
|
|
20498
20677
|
"recognized",
|
|
20678
|
+
"identified",
|
|
20499
20679
|
"all"
|
|
20500
20680
|
]);
|
|
20501
20681
|
var MediaFileLiteSchema$1 = object({
|
|
@@ -20524,6 +20704,8 @@ method(_void(), array(IdentitySchema).readonly()), method(object({ name: string(
|
|
|
20524
20704
|
kind: "mutation",
|
|
20525
20705
|
auth: "admin"
|
|
20526
20706
|
}), method(object({
|
|
20707
|
+
/** Restrict to one camera. Absent keeps the cluster-wide gallery view. */
|
|
20708
|
+
deviceId: number().int().optional(),
|
|
20527
20709
|
limit: number().int().positive().optional(),
|
|
20528
20710
|
filter: FaceFilterEnum.optional(),
|
|
20529
20711
|
/**
|
|
@@ -22289,6 +22471,10 @@ var OsdSourceSchema = discriminatedUnion("kind", [
|
|
|
22289
22471
|
capName: string().min(1).max(64),
|
|
22290
22472
|
/** Dot path inside the slice, e.g. `detected`, `value`, `mode`. */
|
|
22291
22473
|
valuePath: string().min(1).max(64)
|
|
22474
|
+
}),
|
|
22475
|
+
object({
|
|
22476
|
+
kind: literal("latest-recognition"),
|
|
22477
|
+
recognition: _enum(["person", "plate"])
|
|
22292
22478
|
})
|
|
22293
22479
|
]);
|
|
22294
22480
|
var OsdSlotBindingSchema = object({
|
|
@@ -22394,6 +22580,15 @@ method(object({ deviceId: number().int() }), object({
|
|
|
22394
22580
|
}), object({ success: literal(true) }), {
|
|
22395
22581
|
kind: "mutation",
|
|
22396
22582
|
auth: "admin"
|
|
22583
|
+
}), method(object({
|
|
22584
|
+
sourceDeviceId: number().int(),
|
|
22585
|
+
targetDeviceId: number().int()
|
|
22586
|
+
}), object({
|
|
22587
|
+
copied: number().int().nonnegative(),
|
|
22588
|
+
skipped: number().int().nonnegative()
|
|
22589
|
+
}), {
|
|
22590
|
+
kind: "mutation",
|
|
22591
|
+
auth: "admin"
|
|
22397
22592
|
}), method(object({
|
|
22398
22593
|
deviceId: number().int(),
|
|
22399
22594
|
slotId: string().min(1),
|
|
@@ -23279,13 +23474,19 @@ method(object({
|
|
|
23279
23474
|
}), {
|
|
23280
23475
|
kind: "mutation",
|
|
23281
23476
|
auth: "admin"
|
|
23282
|
-
}), method(
|
|
23477
|
+
}), method(StorageMigrationLeaseInputSchema, object({ paused: literal(true) }), {
|
|
23283
23478
|
kind: "mutation",
|
|
23284
23479
|
auth: "admin"
|
|
23285
|
-
}), method(object({
|
|
23286
|
-
kind: "
|
|
23480
|
+
}), method(StorageMigrationLeaseInputSchema, object({ resumed: literal(true) }), {
|
|
23481
|
+
kind: "mutation",
|
|
23287
23482
|
auth: "admin"
|
|
23288
|
-
}), method(
|
|
23483
|
+
}), method(StorageMigrationLeaseInputSchema, object({ refreshed: literal(true) }), {
|
|
23484
|
+
kind: "mutation",
|
|
23485
|
+
auth: "admin"
|
|
23486
|
+
}), method(StorageMigrationFootageMoveInputSchema, object({ jobId: string() }), {
|
|
23487
|
+
kind: "mutation",
|
|
23488
|
+
auth: "admin"
|
|
23489
|
+
}), method(object({ jobId: string() }), RelocateJobSchema.nullable(), { auth: "admin" }), method(object({ jobId: string() }), object({ cancelled: boolean() }), {
|
|
23289
23490
|
kind: "mutation",
|
|
23290
23491
|
auth: "admin"
|
|
23291
23492
|
});
|
|
@@ -27407,6 +27608,12 @@ Object.freeze({
|
|
|
27407
27608
|
addonId: null,
|
|
27408
27609
|
access: "delete"
|
|
27409
27610
|
},
|
|
27611
|
+
"osdManager.copyDeviceConfiguration": {
|
|
27612
|
+
capName: "osd-manager",
|
|
27613
|
+
capScope: "system",
|
|
27614
|
+
addonId: null,
|
|
27615
|
+
access: "create"
|
|
27616
|
+
},
|
|
27410
27617
|
"osdManager.getConditionSupport": {
|
|
27411
27618
|
capName: "osd-manager",
|
|
27412
27619
|
capScope: "system",
|
|
@@ -27503,7 +27710,7 @@ Object.freeze({
|
|
|
27503
27710
|
addonId: null,
|
|
27504
27711
|
access: "create"
|
|
27505
27712
|
},
|
|
27506
|
-
"pipelineAnalytics.
|
|
27713
|
+
"pipelineAnalytics.cancelStorageMigrationMove": {
|
|
27507
27714
|
capName: "pipeline-analytics",
|
|
27508
27715
|
capScope: "device",
|
|
27509
27716
|
addonId: null,
|
|
@@ -27575,12 +27782,6 @@ Object.freeze({
|
|
|
27575
27782
|
addonId: null,
|
|
27576
27783
|
access: "view"
|
|
27577
27784
|
},
|
|
27578
|
-
"pipelineAnalytics.getMediaRelocateStatus": {
|
|
27579
|
-
capName: "pipeline-analytics",
|
|
27580
|
-
capScope: "device",
|
|
27581
|
-
addonId: null,
|
|
27582
|
-
access: "view"
|
|
27583
|
-
},
|
|
27584
27785
|
"pipelineAnalytics.getMotionEvents": {
|
|
27585
27786
|
capName: "pipeline-analytics",
|
|
27586
27787
|
capScope: "device",
|
|
@@ -27617,6 +27818,12 @@ Object.freeze({
|
|
|
27617
27818
|
addonId: null,
|
|
27618
27819
|
access: "view"
|
|
27619
27820
|
},
|
|
27821
|
+
"pipelineAnalytics.getStorageMigrationMoveStatus": {
|
|
27822
|
+
capName: "pipeline-analytics",
|
|
27823
|
+
capScope: "device",
|
|
27824
|
+
addonId: null,
|
|
27825
|
+
access: "view"
|
|
27826
|
+
},
|
|
27620
27827
|
"pipelineAnalytics.getTrack": {
|
|
27621
27828
|
capName: "pipeline-analytics",
|
|
27622
27829
|
capScope: "device",
|
|
@@ -27695,6 +27902,12 @@ Object.freeze({
|
|
|
27695
27902
|
addonId: null,
|
|
27696
27903
|
access: "view"
|
|
27697
27904
|
},
|
|
27905
|
+
"pipelineAnalytics.pauseForStorageMigration": {
|
|
27906
|
+
capName: "pipeline-analytics",
|
|
27907
|
+
capScope: "device",
|
|
27908
|
+
addonId: null,
|
|
27909
|
+
access: "create"
|
|
27910
|
+
},
|
|
27698
27911
|
"pipelineAnalytics.proposeRetrainAnnotations": {
|
|
27699
27912
|
capName: "pipeline-analytics",
|
|
27700
27913
|
capScope: "device",
|
|
@@ -27725,7 +27938,7 @@ Object.freeze({
|
|
|
27725
27938
|
addonId: null,
|
|
27726
27939
|
access: "create"
|
|
27727
27940
|
},
|
|
27728
|
-
"pipelineAnalytics.
|
|
27941
|
+
"pipelineAnalytics.refreshStorageLocationsForMigration": {
|
|
27729
27942
|
capName: "pipeline-analytics",
|
|
27730
27943
|
capScope: "device",
|
|
27731
27944
|
addonId: null,
|
|
@@ -27737,6 +27950,12 @@ Object.freeze({
|
|
|
27737
27950
|
addonId: null,
|
|
27738
27951
|
access: "create"
|
|
27739
27952
|
},
|
|
27953
|
+
"pipelineAnalytics.resumeForStorageMigration": {
|
|
27954
|
+
capName: "pipeline-analytics",
|
|
27955
|
+
capScope: "device",
|
|
27956
|
+
addonId: null,
|
|
27957
|
+
access: "create"
|
|
27958
|
+
},
|
|
27740
27959
|
"pipelineAnalytics.saveRetrainAnnotations": {
|
|
27741
27960
|
capName: "pipeline-analytics",
|
|
27742
27961
|
capScope: "device",
|
|
@@ -27761,6 +27980,12 @@ Object.freeze({
|
|
|
27761
27980
|
addonId: null,
|
|
27762
27981
|
access: "create"
|
|
27763
27982
|
},
|
|
27983
|
+
"pipelineAnalytics.startStorageMigrationMove": {
|
|
27984
|
+
capName: "pipeline-analytics",
|
|
27985
|
+
capScope: "device",
|
|
27986
|
+
addonId: null,
|
|
27987
|
+
access: "create"
|
|
27988
|
+
},
|
|
27764
27989
|
"pipelineAnalytics.wipeAllAnalytics": {
|
|
27765
27990
|
capName: "pipeline-analytics",
|
|
27766
27991
|
capScope: "device",
|
|
@@ -28127,6 +28352,12 @@ Object.freeze({
|
|
|
28127
28352
|
addonId: null,
|
|
28128
28353
|
access: "view"
|
|
28129
28354
|
},
|
|
28355
|
+
"pipelineOrchestrator.pauseForStorageMigration": {
|
|
28356
|
+
capName: "pipeline-orchestrator",
|
|
28357
|
+
capScope: "system",
|
|
28358
|
+
addonId: null,
|
|
28359
|
+
access: "create"
|
|
28360
|
+
},
|
|
28130
28361
|
"pipelineOrchestrator.rebalance": {
|
|
28131
28362
|
capName: "pipeline-orchestrator",
|
|
28132
28363
|
capScope: "system",
|
|
@@ -28151,6 +28382,12 @@ Object.freeze({
|
|
|
28151
28382
|
addonId: null,
|
|
28152
28383
|
access: "view"
|
|
28153
28384
|
},
|
|
28385
|
+
"pipelineOrchestrator.resumeForStorageMigration": {
|
|
28386
|
+
capName: "pipeline-orchestrator",
|
|
28387
|
+
capScope: "system",
|
|
28388
|
+
addonId: null,
|
|
28389
|
+
access: "create"
|
|
28390
|
+
},
|
|
28154
28391
|
"pipelineOrchestrator.saveTemplate": {
|
|
28155
28392
|
capName: "pipeline-orchestrator",
|
|
28156
28393
|
capScope: "system",
|
|
@@ -28547,7 +28784,7 @@ Object.freeze({
|
|
|
28547
28784
|
addonId: null,
|
|
28548
28785
|
access: "create"
|
|
28549
28786
|
},
|
|
28550
|
-
"recording.
|
|
28787
|
+
"recording.cancelStorageMigrationMove": {
|
|
28551
28788
|
capName: "recording",
|
|
28552
28789
|
capScope: "system",
|
|
28553
28790
|
addonId: null,
|
|
@@ -28583,7 +28820,7 @@ Object.freeze({
|
|
|
28583
28820
|
addonId: null,
|
|
28584
28821
|
access: "view"
|
|
28585
28822
|
},
|
|
28586
|
-
"recording.
|
|
28823
|
+
"recording.getStorageMigrationMoveStatus": {
|
|
28587
28824
|
capName: "recording",
|
|
28588
28825
|
capScope: "system",
|
|
28589
28826
|
addonId: null,
|
|
@@ -28607,6 +28844,12 @@ Object.freeze({
|
|
|
28607
28844
|
addonId: null,
|
|
28608
28845
|
access: "view"
|
|
28609
28846
|
},
|
|
28847
|
+
"recording.pauseForStorageMigration": {
|
|
28848
|
+
capName: "recording",
|
|
28849
|
+
capScope: "system",
|
|
28850
|
+
addonId: null,
|
|
28851
|
+
access: "create"
|
|
28852
|
+
},
|
|
28610
28853
|
"recording.pruneFootage": {
|
|
28611
28854
|
capName: "recording",
|
|
28612
28855
|
capScope: "system",
|
|
@@ -28625,7 +28868,7 @@ Object.freeze({
|
|
|
28625
28868
|
addonId: null,
|
|
28626
28869
|
access: "view"
|
|
28627
28870
|
},
|
|
28628
|
-
"recording.
|
|
28871
|
+
"recording.refreshStorageLocationsForMigration": {
|
|
28629
28872
|
capName: "recording",
|
|
28630
28873
|
capScope: "system",
|
|
28631
28874
|
addonId: null,
|
|
@@ -28649,12 +28892,24 @@ Object.freeze({
|
|
|
28649
28892
|
addonId: null,
|
|
28650
28893
|
access: "create"
|
|
28651
28894
|
},
|
|
28895
|
+
"recording.resumeForStorageMigration": {
|
|
28896
|
+
capName: "recording",
|
|
28897
|
+
capScope: "system",
|
|
28898
|
+
addonId: null,
|
|
28899
|
+
access: "create"
|
|
28900
|
+
},
|
|
28652
28901
|
"recording.setDeviceConfig": {
|
|
28653
28902
|
capName: "recording",
|
|
28654
28903
|
capScope: "system",
|
|
28655
28904
|
addonId: null,
|
|
28656
28905
|
access: "create"
|
|
28657
28906
|
},
|
|
28907
|
+
"recording.startStorageMigrationMove": {
|
|
28908
|
+
capName: "recording",
|
|
28909
|
+
capScope: "system",
|
|
28910
|
+
addonId: null,
|
|
28911
|
+
access: "create"
|
|
28912
|
+
},
|
|
28658
28913
|
"recordingExport.cancelExport": {
|
|
28659
28914
|
capName: "recordingExport",
|
|
28660
28915
|
capScope: "system",
|
|
@@ -29045,6 +29300,30 @@ Object.freeze({
|
|
|
29045
29300
|
addonId: null,
|
|
29046
29301
|
access: "view"
|
|
29047
29302
|
},
|
|
29303
|
+
"storageMigration.cancel": {
|
|
29304
|
+
capName: "storage-migration",
|
|
29305
|
+
capScope: "system",
|
|
29306
|
+
addonId: null,
|
|
29307
|
+
access: "create"
|
|
29308
|
+
},
|
|
29309
|
+
"storageMigration.plan": {
|
|
29310
|
+
capName: "storage-migration",
|
|
29311
|
+
capScope: "system",
|
|
29312
|
+
addonId: null,
|
|
29313
|
+
access: "view"
|
|
29314
|
+
},
|
|
29315
|
+
"storageMigration.start": {
|
|
29316
|
+
capName: "storage-migration",
|
|
29317
|
+
capScope: "system",
|
|
29318
|
+
addonId: null,
|
|
29319
|
+
access: "create"
|
|
29320
|
+
},
|
|
29321
|
+
"storageMigration.status": {
|
|
29322
|
+
capName: "storage-migration",
|
|
29323
|
+
capScope: "system",
|
|
29324
|
+
addonId: null,
|
|
29325
|
+
access: "view"
|
|
29326
|
+
},
|
|
29048
29327
|
"storageProvider.abortUpload": {
|
|
29049
29328
|
capName: "storage-provider",
|
|
29050
29329
|
capScope: "system",
|
|
@@ -29423,12 +29702,42 @@ Object.freeze({
|
|
|
29423
29702
|
addonId: null,
|
|
29424
29703
|
access: "create"
|
|
29425
29704
|
},
|
|
29705
|
+
"terminalSession.adoptLegacyMonitor": {
|
|
29706
|
+
capName: "terminal-session",
|
|
29707
|
+
capScope: "system",
|
|
29708
|
+
addonId: null,
|
|
29709
|
+
access: "create"
|
|
29710
|
+
},
|
|
29426
29711
|
"terminalSession.close": {
|
|
29427
29712
|
capName: "terminal-session",
|
|
29428
29713
|
capScope: "system",
|
|
29429
29714
|
addonId: null,
|
|
29430
29715
|
access: "create"
|
|
29431
29716
|
},
|
|
29717
|
+
"terminalSession.createInstance": {
|
|
29718
|
+
capName: "terminal-session",
|
|
29719
|
+
capScope: "system",
|
|
29720
|
+
addonId: null,
|
|
29721
|
+
access: "create"
|
|
29722
|
+
},
|
|
29723
|
+
"terminalSession.deleteInstance": {
|
|
29724
|
+
capName: "terminal-session",
|
|
29725
|
+
capScope: "system",
|
|
29726
|
+
addonId: null,
|
|
29727
|
+
access: "delete"
|
|
29728
|
+
},
|
|
29729
|
+
"terminalSession.listInstances": {
|
|
29730
|
+
capName: "terminal-session",
|
|
29731
|
+
capScope: "system",
|
|
29732
|
+
addonId: null,
|
|
29733
|
+
access: "view"
|
|
29734
|
+
},
|
|
29735
|
+
"terminalSession.listLegacyCameras": {
|
|
29736
|
+
capName: "terminal-session",
|
|
29737
|
+
capScope: "system",
|
|
29738
|
+
addonId: null,
|
|
29739
|
+
access: "view"
|
|
29740
|
+
},
|
|
29432
29741
|
"terminalSession.listProfiles": {
|
|
29433
29742
|
capName: "terminal-session",
|
|
29434
29743
|
capScope: "system",
|
|
@@ -29447,12 +29756,30 @@ Object.freeze({
|
|
|
29447
29756
|
addonId: null,
|
|
29448
29757
|
access: "create"
|
|
29449
29758
|
},
|
|
29759
|
+
"terminalSession.pullOutput": {
|
|
29760
|
+
capName: "terminal-session",
|
|
29761
|
+
capScope: "system",
|
|
29762
|
+
addonId: null,
|
|
29763
|
+
access: "create"
|
|
29764
|
+
},
|
|
29450
29765
|
"terminalSession.resize": {
|
|
29451
29766
|
capName: "terminal-session",
|
|
29452
29767
|
capScope: "system",
|
|
29453
29768
|
addonId: null,
|
|
29454
29769
|
access: "create"
|
|
29455
29770
|
},
|
|
29771
|
+
"terminalSession.setInstanceEnabled": {
|
|
29772
|
+
capName: "terminal-session",
|
|
29773
|
+
capScope: "system",
|
|
29774
|
+
addonId: null,
|
|
29775
|
+
access: "create"
|
|
29776
|
+
},
|
|
29777
|
+
"terminalSession.writeInput": {
|
|
29778
|
+
capName: "terminal-session",
|
|
29779
|
+
capScope: "system",
|
|
29780
|
+
addonId: null,
|
|
29781
|
+
access: "create"
|
|
29782
|
+
},
|
|
29456
29783
|
"toast.onToast": {
|
|
29457
29784
|
capName: "toast",
|
|
29458
29785
|
capScope: "system",
|
|
@@ -7692,12 +7692,11 @@ var RecordingConfigSchema = object({
|
|
|
7692
7692
|
/**
|
|
7693
7693
|
* Entity-relocation job state (storage entity-routing spec, Phase 4).
|
|
7694
7694
|
*
|
|
7695
|
-
* One shape shared by the recorder
|
|
7696
|
-
*
|
|
7697
|
-
*
|
|
7698
|
-
*
|
|
7699
|
-
*
|
|
7700
|
-
* row on the owning addon's surface.
|
|
7695
|
+
* One shape shared by the recorder and pipeline-analytics internal movers.
|
|
7696
|
+
* The public admin surface is `storage-migration`; child jobs remain in RAM
|
|
7697
|
+
* because copy-if-absent, verify, delete and index/row repoint are resumable.
|
|
7698
|
+
* Each completed/failed run also lands one durable ops-log row on its owning
|
|
7699
|
+
* addon surface.
|
|
7701
7700
|
*/
|
|
7702
7701
|
var RelocateJobStateSchema = _enum([
|
|
7703
7702
|
"running",
|
|
@@ -7724,19 +7723,100 @@ var RelocateJobSchema = object({
|
|
|
7724
7723
|
finishedAt: number().nullable(),
|
|
7725
7724
|
error: string().nullable()
|
|
7726
7725
|
});
|
|
7726
|
+
/** Profile-derived footage selection used only by the migration coordinator:
|
|
7727
|
+
* `recordings` owns high+mid; `recordingsLow` owns low. */
|
|
7728
|
+
var RelocateFootageClassSchema = _enum(["recordings", "recordingsLow"]);
|
|
7727
7729
|
var RelocateFootageInputSchema = object({
|
|
7728
|
-
deviceId: number().optional(),
|
|
7729
7730
|
fromLocationId: string(),
|
|
7730
7731
|
toLocationId: string(),
|
|
7731
7732
|
entities: array(_enum(["segments"])).optional(),
|
|
7733
|
+
/** Limits relocation to the logical profile class. Omit only for the
|
|
7734
|
+
* pre-orchestration compatibility path. */
|
|
7735
|
+
footageClass: RelocateFootageClassSchema.optional(),
|
|
7732
7736
|
/** Copy throttle in MB/s (default 40) — the drain is a background chore,
|
|
7733
7737
|
* never allowed to starve live writers. */
|
|
7734
7738
|
throttleMbps: number().min(1).max(1e3).optional()
|
|
7735
7739
|
});
|
|
7736
|
-
|
|
7737
|
-
|
|
7740
|
+
/** Internal, lease-scoped participant operation. It is intentionally separate
|
|
7741
|
+
* from persistent recording settings: a migration never changes
|
|
7742
|
+
* `RecordingConfig.enabled` or camera wrapper bindings. */
|
|
7743
|
+
var StorageMigrationLeaseInputSchema = object({ leaseId: string().min(1) });
|
|
7744
|
+
var StorageMigrationFootageMoveInputSchema = RelocateFootageInputSchema.extend({ leaseId: string().min(1) });
|
|
7745
|
+
var StorageMigrationMediaMoveInputSchema = object({
|
|
7738
7746
|
toLocationId: string(),
|
|
7739
7747
|
throttleMbps: number().min(1).max(1e3).optional()
|
|
7748
|
+
}).extend({ leaseId: string().min(1) });
|
|
7749
|
+
/** The independently selectable logical storage classes. `recordings`
|
|
7750
|
+
* encompasses the high and mid segment profiles; `recordingsLow` is low
|
|
7751
|
+
* segments; `eventMedia` is post-analysis blobs. */
|
|
7752
|
+
var StorageMigrationClassSchema = _enum([
|
|
7753
|
+
"recordings",
|
|
7754
|
+
"recordingsLow",
|
|
7755
|
+
"eventMedia"
|
|
7756
|
+
]);
|
|
7757
|
+
/** A destination is always an existing, fully-qualified location id. The
|
|
7758
|
+
* migration API intentionally never changes a source location's `basePath`:
|
|
7759
|
+
* callers create a new `<type>:<slug>` location, then select it here. */
|
|
7760
|
+
var StorageMigrationDestinationsSchema = object({
|
|
7761
|
+
recordings: string().min(1).optional(),
|
|
7762
|
+
recordingsLow: string().min(1).optional(),
|
|
7763
|
+
eventMedia: string().min(1).optional()
|
|
7764
|
+
}).refine((value) => Object.keys(value).length > 0, { message: "select at least one storage class" });
|
|
7765
|
+
/** Shared input for planning and starting an orchestrated storage migration. */
|
|
7766
|
+
var StorageMigrationInputSchema = object({
|
|
7767
|
+
destinations: StorageMigrationDestinationsSchema,
|
|
7768
|
+
throttleMbps: number().min(1).max(1e3).optional()
|
|
7769
|
+
});
|
|
7770
|
+
/** The durable coordinator state machine. The only phase that changes default
|
|
7771
|
+
* locations is `repointing`, after every selected mover has completed and been
|
|
7772
|
+
* verified. */
|
|
7773
|
+
var StorageMigrationPhaseSchema = _enum([
|
|
7774
|
+
"planning",
|
|
7775
|
+
"pausing",
|
|
7776
|
+
"moving",
|
|
7777
|
+
"verifying",
|
|
7778
|
+
"repointing",
|
|
7779
|
+
"refreshing",
|
|
7780
|
+
"resuming",
|
|
7781
|
+
"done",
|
|
7782
|
+
"failed",
|
|
7783
|
+
"cancelled"
|
|
7784
|
+
]);
|
|
7785
|
+
var StorageMigrationParticipantSchema = _enum([
|
|
7786
|
+
"pipeline",
|
|
7787
|
+
"recorder",
|
|
7788
|
+
"analytics"
|
|
7789
|
+
]);
|
|
7790
|
+
var StorageMigrationMoveSchema = object({
|
|
7791
|
+
storageClass: StorageMigrationClassSchema,
|
|
7792
|
+
fromLocationId: string(),
|
|
7793
|
+
toLocationId: string(),
|
|
7794
|
+
moverJobId: string().nullable(),
|
|
7795
|
+
state: RelocateJobStateSchema.nullable(),
|
|
7796
|
+
error: string().nullable()
|
|
7797
|
+
});
|
|
7798
|
+
var StorageMigrationJobSchema = object({
|
|
7799
|
+
jobId: string(),
|
|
7800
|
+
phase: StorageMigrationPhaseSchema,
|
|
7801
|
+
destinations: StorageMigrationDestinationsSchema,
|
|
7802
|
+
throttleMbps: number(),
|
|
7803
|
+
moves: array(StorageMigrationMoveSchema),
|
|
7804
|
+
pauseLeaseId: string().nullable(),
|
|
7805
|
+
pausedParticipants: array(StorageMigrationParticipantSchema),
|
|
7806
|
+
repointed: boolean(),
|
|
7807
|
+
cancelRequested: boolean(),
|
|
7808
|
+
startedAt: number(),
|
|
7809
|
+
updatedAt: number(),
|
|
7810
|
+
finishedAt: number().nullable(),
|
|
7811
|
+
error: string().nullable()
|
|
7812
|
+
});
|
|
7813
|
+
var StorageMigrationPlanSchema = object({
|
|
7814
|
+
destinations: StorageMigrationDestinationsSchema,
|
|
7815
|
+
moves: array(object({
|
|
7816
|
+
storageClass: StorageMigrationClassSchema,
|
|
7817
|
+
fromLocationId: string(),
|
|
7818
|
+
toLocationId: string()
|
|
7819
|
+
}))
|
|
7740
7820
|
});
|
|
7741
7821
|
/**
|
|
7742
7822
|
* `StorageLocationType` — an addon-declared id that identifies the *kind* of
|
|
@@ -16245,13 +16325,19 @@ DeviceType.Camera, method(object({ deviceId: number() }), array(TrackSchema).rea
|
|
|
16245
16325
|
}), method(object({ deviceId: number() }), EventPruneCountsSchema, {
|
|
16246
16326
|
kind: "mutation",
|
|
16247
16327
|
auth: "admin"
|
|
16248
|
-
}), method(
|
|
16328
|
+
}), method(StorageMigrationLeaseInputSchema, object({ paused: literal(true) }), {
|
|
16249
16329
|
kind: "mutation",
|
|
16250
16330
|
auth: "admin"
|
|
16251
|
-
}), method(object({
|
|
16252
|
-
kind: "
|
|
16331
|
+
}), method(StorageMigrationLeaseInputSchema, object({ resumed: literal(true) }), {
|
|
16332
|
+
kind: "mutation",
|
|
16253
16333
|
auth: "admin"
|
|
16254
|
-
}), method(
|
|
16334
|
+
}), method(StorageMigrationLeaseInputSchema, object({ refreshed: literal(true) }), {
|
|
16335
|
+
kind: "mutation",
|
|
16336
|
+
auth: "admin"
|
|
16337
|
+
}), method(StorageMigrationMediaMoveInputSchema, object({ jobId: string() }), {
|
|
16338
|
+
kind: "mutation",
|
|
16339
|
+
auth: "admin"
|
|
16340
|
+
}), method(object({ jobId: string() }), RelocateJobSchema.nullable(), { auth: "admin" }), method(object({ jobId: string() }), object({ cancelled: boolean() }), {
|
|
16255
16341
|
kind: "mutation",
|
|
16256
16342
|
auth: "admin"
|
|
16257
16343
|
}), method(OpsLogQueryInputSchema, array(OpsLogEntrySchema).readonly(), {
|
|
@@ -17748,7 +17834,13 @@ var NodeInferenceDevicesSchema = object({
|
|
|
17748
17834
|
reachable: boolean(),
|
|
17749
17835
|
devices: array(NodeInferenceDeviceSchema).readonly()
|
|
17750
17836
|
});
|
|
17751
|
-
method(object({
|
|
17837
|
+
method(StorageMigrationLeaseInputSchema, object({ paused: literal(true) }), {
|
|
17838
|
+
kind: "mutation",
|
|
17839
|
+
auth: "admin"
|
|
17840
|
+
}), method(StorageMigrationLeaseInputSchema, object({ resumed: literal(true) }), {
|
|
17841
|
+
kind: "mutation",
|
|
17842
|
+
auth: "admin"
|
|
17843
|
+
}), method(object({
|
|
17752
17844
|
deviceId: number(),
|
|
17753
17845
|
agentNodeId: string()
|
|
17754
17846
|
}), object({ success: literal(true) }), {
|
|
@@ -18422,6 +18514,13 @@ method(object({ locationId: string() }), EvictableUsageSchema), method(object({
|
|
|
18422
18514
|
locationId: string(),
|
|
18423
18515
|
targetBytes: number().int().positive()
|
|
18424
18516
|
}), EvictResultSchema, { kind: "mutation" });
|
|
18517
|
+
method(StorageMigrationInputSchema, StorageMigrationPlanSchema, { auth: "admin" }), method(StorageMigrationInputSchema, object({ jobId: string() }), {
|
|
18518
|
+
kind: "mutation",
|
|
18519
|
+
auth: "admin"
|
|
18520
|
+
}), method(object({ jobId: string().optional() }), StorageMigrationJobSchema.nullable(), { auth: "admin" }), method(object({ jobId: string() }), object({ cancelled: boolean() }), {
|
|
18521
|
+
kind: "mutation",
|
|
18522
|
+
auth: "admin"
|
|
18523
|
+
});
|
|
18425
18524
|
var ProviderInfoSchema = discriminatedUnion("shouldSaveDiskSpace", [object({
|
|
18426
18525
|
providerId: string().min(1),
|
|
18427
18526
|
displayName: string().min(1),
|
|
@@ -18525,7 +18624,67 @@ var TerminalProfileInfoSchema = object({
|
|
|
18525
18624
|
label: string(),
|
|
18526
18625
|
description: string().optional()
|
|
18527
18626
|
});
|
|
18528
|
-
|
|
18627
|
+
/**
|
|
18628
|
+
* A durable operator-created Terminal instance. Profiles are templates; only
|
|
18629
|
+
* an instance declares a camera.
|
|
18630
|
+
*/
|
|
18631
|
+
var TerminalInstanceInfoSchema = object({
|
|
18632
|
+
instanceId: string(),
|
|
18633
|
+
cameraStableId: string(),
|
|
18634
|
+
nodeId: string(),
|
|
18635
|
+
profileId: string(),
|
|
18636
|
+
profileLabel: string(),
|
|
18637
|
+
name: string(),
|
|
18638
|
+
enabled: boolean()
|
|
18639
|
+
});
|
|
18640
|
+
var TerminalLegacyCameraSchema = object({
|
|
18641
|
+
stableId: string(),
|
|
18642
|
+
nodeId: string(),
|
|
18643
|
+
profileId: string(),
|
|
18644
|
+
profileLabel: string(),
|
|
18645
|
+
name: string(),
|
|
18646
|
+
/** Only legacy monitor cameras can retain their historic stable identity. */
|
|
18647
|
+
adoptable: boolean()
|
|
18648
|
+
});
|
|
18649
|
+
var TerminalOutputEventSchema = discriminatedUnion("kind", [object({
|
|
18650
|
+
seq: number().int().positive(),
|
|
18651
|
+
kind: literal("data"),
|
|
18652
|
+
data: string()
|
|
18653
|
+
}), object({
|
|
18654
|
+
seq: number().int().positive(),
|
|
18655
|
+
kind: literal("exit"),
|
|
18656
|
+
exitCode: number().int(),
|
|
18657
|
+
signal: number().int().optional()
|
|
18658
|
+
})]);
|
|
18659
|
+
var TerminalOutputBatchSchema = object({
|
|
18660
|
+
cursor: number().int().nonnegative(),
|
|
18661
|
+
reset: boolean(),
|
|
18662
|
+
snapshot: string().optional(),
|
|
18663
|
+
events: array(TerminalOutputEventSchema).readonly()
|
|
18664
|
+
});
|
|
18665
|
+
method(_void(), array(TerminalProfileInfoSchema).readonly(), { auth: "admin" }), method(_void(), array(TerminalInstanceInfoSchema).readonly(), { auth: "admin" }), method(object({
|
|
18666
|
+
targetNodeId: string().min(1),
|
|
18667
|
+
profileId: string().min(1),
|
|
18668
|
+
name: string().trim().min(1).max(160).optional()
|
|
18669
|
+
}), TerminalInstanceInfoSchema, {
|
|
18670
|
+
kind: "mutation",
|
|
18671
|
+
auth: "admin"
|
|
18672
|
+
}), method(object({ instanceId: string().min(1) }), _void(), {
|
|
18673
|
+
kind: "mutation",
|
|
18674
|
+
auth: "admin"
|
|
18675
|
+
}), method(object({
|
|
18676
|
+
instanceId: string().min(1),
|
|
18677
|
+
enabled: boolean()
|
|
18678
|
+
}), TerminalInstanceInfoSchema, {
|
|
18679
|
+
kind: "mutation",
|
|
18680
|
+
auth: "admin"
|
|
18681
|
+
}), method(_void(), array(TerminalLegacyCameraSchema).readonly(), { auth: "admin" }), method(object({
|
|
18682
|
+
stableId: string().min(1),
|
|
18683
|
+
name: string().trim().min(1).max(160).optional()
|
|
18684
|
+
}), TerminalInstanceInfoSchema, {
|
|
18685
|
+
kind: "mutation",
|
|
18686
|
+
auth: "admin"
|
|
18687
|
+
}), method(_void(), array(TerminalSessionInfoSchema).readonly(), { auth: "admin" }), method(object({
|
|
18529
18688
|
profileId: string(),
|
|
18530
18689
|
cols: number().int().positive(),
|
|
18531
18690
|
rows: number().int().positive()
|
|
@@ -18539,6 +18698,26 @@ method(_void(), array(TerminalProfileInfoSchema).readonly(), { auth: "admin" }),
|
|
|
18539
18698
|
}), _void(), {
|
|
18540
18699
|
kind: "mutation",
|
|
18541
18700
|
auth: "admin"
|
|
18701
|
+
}), method(object({
|
|
18702
|
+
sessionId: string(),
|
|
18703
|
+
afterSeq: number().int().nonnegative(),
|
|
18704
|
+
waitMs: number().int().min(0).max(2e3).default(0),
|
|
18705
|
+
/**
|
|
18706
|
+
* Wait when a just-opened session has no output yet. Kept opt-in so a
|
|
18707
|
+
* browser's initial repaint remains immediate; the camera snapshot
|
|
18708
|
+
* relay uses it to avoid encoding a blank startup frame.
|
|
18709
|
+
*/
|
|
18710
|
+
waitForOutput: boolean().optional()
|
|
18711
|
+
}), TerminalOutputBatchSchema, {
|
|
18712
|
+
kind: "mutation",
|
|
18713
|
+
auth: "admin",
|
|
18714
|
+
timeoutMs: 15e3
|
|
18715
|
+
}), method(object({
|
|
18716
|
+
sessionId: string(),
|
|
18717
|
+
data: string().max(64 * 1024)
|
|
18718
|
+
}), _void(), {
|
|
18719
|
+
kind: "mutation",
|
|
18720
|
+
auth: "admin"
|
|
18542
18721
|
}), method(object({ sessionId: string() }), _void(), {
|
|
18543
18722
|
kind: "mutation",
|
|
18544
18723
|
auth: "admin"
|
|
@@ -20469,6 +20648,7 @@ var FaceInfoSchema = object({
|
|
|
20469
20648
|
var FaceFilterEnum = _enum([
|
|
20470
20649
|
"unassigned",
|
|
20471
20650
|
"recognized",
|
|
20651
|
+
"identified",
|
|
20472
20652
|
"all"
|
|
20473
20653
|
]);
|
|
20474
20654
|
var MediaFileLiteSchema$1 = object({
|
|
@@ -20497,6 +20677,8 @@ method(_void(), array(IdentitySchema).readonly()), method(object({ name: string(
|
|
|
20497
20677
|
kind: "mutation",
|
|
20498
20678
|
auth: "admin"
|
|
20499
20679
|
}), method(object({
|
|
20680
|
+
/** Restrict to one camera. Absent keeps the cluster-wide gallery view. */
|
|
20681
|
+
deviceId: number().int().optional(),
|
|
20500
20682
|
limit: number().int().positive().optional(),
|
|
20501
20683
|
filter: FaceFilterEnum.optional(),
|
|
20502
20684
|
/**
|
|
@@ -22262,6 +22444,10 @@ var OsdSourceSchema = discriminatedUnion("kind", [
|
|
|
22262
22444
|
capName: string().min(1).max(64),
|
|
22263
22445
|
/** Dot path inside the slice, e.g. `detected`, `value`, `mode`. */
|
|
22264
22446
|
valuePath: string().min(1).max(64)
|
|
22447
|
+
}),
|
|
22448
|
+
object({
|
|
22449
|
+
kind: literal("latest-recognition"),
|
|
22450
|
+
recognition: _enum(["person", "plate"])
|
|
22265
22451
|
})
|
|
22266
22452
|
]);
|
|
22267
22453
|
var OsdSlotBindingSchema = object({
|
|
@@ -22367,6 +22553,15 @@ method(object({ deviceId: number().int() }), object({
|
|
|
22367
22553
|
}), object({ success: literal(true) }), {
|
|
22368
22554
|
kind: "mutation",
|
|
22369
22555
|
auth: "admin"
|
|
22556
|
+
}), method(object({
|
|
22557
|
+
sourceDeviceId: number().int(),
|
|
22558
|
+
targetDeviceId: number().int()
|
|
22559
|
+
}), object({
|
|
22560
|
+
copied: number().int().nonnegative(),
|
|
22561
|
+
skipped: number().int().nonnegative()
|
|
22562
|
+
}), {
|
|
22563
|
+
kind: "mutation",
|
|
22564
|
+
auth: "admin"
|
|
22370
22565
|
}), method(object({
|
|
22371
22566
|
deviceId: number().int(),
|
|
22372
22567
|
slotId: string().min(1),
|
|
@@ -23252,13 +23447,19 @@ method(object({
|
|
|
23252
23447
|
}), {
|
|
23253
23448
|
kind: "mutation",
|
|
23254
23449
|
auth: "admin"
|
|
23255
|
-
}), method(
|
|
23450
|
+
}), method(StorageMigrationLeaseInputSchema, object({ paused: literal(true) }), {
|
|
23256
23451
|
kind: "mutation",
|
|
23257
23452
|
auth: "admin"
|
|
23258
|
-
}), method(object({
|
|
23259
|
-
kind: "
|
|
23453
|
+
}), method(StorageMigrationLeaseInputSchema, object({ resumed: literal(true) }), {
|
|
23454
|
+
kind: "mutation",
|
|
23260
23455
|
auth: "admin"
|
|
23261
|
-
}), method(
|
|
23456
|
+
}), method(StorageMigrationLeaseInputSchema, object({ refreshed: literal(true) }), {
|
|
23457
|
+
kind: "mutation",
|
|
23458
|
+
auth: "admin"
|
|
23459
|
+
}), method(StorageMigrationFootageMoveInputSchema, object({ jobId: string() }), {
|
|
23460
|
+
kind: "mutation",
|
|
23461
|
+
auth: "admin"
|
|
23462
|
+
}), method(object({ jobId: string() }), RelocateJobSchema.nullable(), { auth: "admin" }), method(object({ jobId: string() }), object({ cancelled: boolean() }), {
|
|
23262
23463
|
kind: "mutation",
|
|
23263
23464
|
auth: "admin"
|
|
23264
23465
|
});
|
|
@@ -27380,6 +27581,12 @@ Object.freeze({
|
|
|
27380
27581
|
addonId: null,
|
|
27381
27582
|
access: "delete"
|
|
27382
27583
|
},
|
|
27584
|
+
"osdManager.copyDeviceConfiguration": {
|
|
27585
|
+
capName: "osd-manager",
|
|
27586
|
+
capScope: "system",
|
|
27587
|
+
addonId: null,
|
|
27588
|
+
access: "create"
|
|
27589
|
+
},
|
|
27383
27590
|
"osdManager.getConditionSupport": {
|
|
27384
27591
|
capName: "osd-manager",
|
|
27385
27592
|
capScope: "system",
|
|
@@ -27476,7 +27683,7 @@ Object.freeze({
|
|
|
27476
27683
|
addonId: null,
|
|
27477
27684
|
access: "create"
|
|
27478
27685
|
},
|
|
27479
|
-
"pipelineAnalytics.
|
|
27686
|
+
"pipelineAnalytics.cancelStorageMigrationMove": {
|
|
27480
27687
|
capName: "pipeline-analytics",
|
|
27481
27688
|
capScope: "device",
|
|
27482
27689
|
addonId: null,
|
|
@@ -27548,12 +27755,6 @@ Object.freeze({
|
|
|
27548
27755
|
addonId: null,
|
|
27549
27756
|
access: "view"
|
|
27550
27757
|
},
|
|
27551
|
-
"pipelineAnalytics.getMediaRelocateStatus": {
|
|
27552
|
-
capName: "pipeline-analytics",
|
|
27553
|
-
capScope: "device",
|
|
27554
|
-
addonId: null,
|
|
27555
|
-
access: "view"
|
|
27556
|
-
},
|
|
27557
27758
|
"pipelineAnalytics.getMotionEvents": {
|
|
27558
27759
|
capName: "pipeline-analytics",
|
|
27559
27760
|
capScope: "device",
|
|
@@ -27590,6 +27791,12 @@ Object.freeze({
|
|
|
27590
27791
|
addonId: null,
|
|
27591
27792
|
access: "view"
|
|
27592
27793
|
},
|
|
27794
|
+
"pipelineAnalytics.getStorageMigrationMoveStatus": {
|
|
27795
|
+
capName: "pipeline-analytics",
|
|
27796
|
+
capScope: "device",
|
|
27797
|
+
addonId: null,
|
|
27798
|
+
access: "view"
|
|
27799
|
+
},
|
|
27593
27800
|
"pipelineAnalytics.getTrack": {
|
|
27594
27801
|
capName: "pipeline-analytics",
|
|
27595
27802
|
capScope: "device",
|
|
@@ -27668,6 +27875,12 @@ Object.freeze({
|
|
|
27668
27875
|
addonId: null,
|
|
27669
27876
|
access: "view"
|
|
27670
27877
|
},
|
|
27878
|
+
"pipelineAnalytics.pauseForStorageMigration": {
|
|
27879
|
+
capName: "pipeline-analytics",
|
|
27880
|
+
capScope: "device",
|
|
27881
|
+
addonId: null,
|
|
27882
|
+
access: "create"
|
|
27883
|
+
},
|
|
27671
27884
|
"pipelineAnalytics.proposeRetrainAnnotations": {
|
|
27672
27885
|
capName: "pipeline-analytics",
|
|
27673
27886
|
capScope: "device",
|
|
@@ -27698,7 +27911,7 @@ Object.freeze({
|
|
|
27698
27911
|
addonId: null,
|
|
27699
27912
|
access: "create"
|
|
27700
27913
|
},
|
|
27701
|
-
"pipelineAnalytics.
|
|
27914
|
+
"pipelineAnalytics.refreshStorageLocationsForMigration": {
|
|
27702
27915
|
capName: "pipeline-analytics",
|
|
27703
27916
|
capScope: "device",
|
|
27704
27917
|
addonId: null,
|
|
@@ -27710,6 +27923,12 @@ Object.freeze({
|
|
|
27710
27923
|
addonId: null,
|
|
27711
27924
|
access: "create"
|
|
27712
27925
|
},
|
|
27926
|
+
"pipelineAnalytics.resumeForStorageMigration": {
|
|
27927
|
+
capName: "pipeline-analytics",
|
|
27928
|
+
capScope: "device",
|
|
27929
|
+
addonId: null,
|
|
27930
|
+
access: "create"
|
|
27931
|
+
},
|
|
27713
27932
|
"pipelineAnalytics.saveRetrainAnnotations": {
|
|
27714
27933
|
capName: "pipeline-analytics",
|
|
27715
27934
|
capScope: "device",
|
|
@@ -27734,6 +27953,12 @@ Object.freeze({
|
|
|
27734
27953
|
addonId: null,
|
|
27735
27954
|
access: "create"
|
|
27736
27955
|
},
|
|
27956
|
+
"pipelineAnalytics.startStorageMigrationMove": {
|
|
27957
|
+
capName: "pipeline-analytics",
|
|
27958
|
+
capScope: "device",
|
|
27959
|
+
addonId: null,
|
|
27960
|
+
access: "create"
|
|
27961
|
+
},
|
|
27737
27962
|
"pipelineAnalytics.wipeAllAnalytics": {
|
|
27738
27963
|
capName: "pipeline-analytics",
|
|
27739
27964
|
capScope: "device",
|
|
@@ -28100,6 +28325,12 @@ Object.freeze({
|
|
|
28100
28325
|
addonId: null,
|
|
28101
28326
|
access: "view"
|
|
28102
28327
|
},
|
|
28328
|
+
"pipelineOrchestrator.pauseForStorageMigration": {
|
|
28329
|
+
capName: "pipeline-orchestrator",
|
|
28330
|
+
capScope: "system",
|
|
28331
|
+
addonId: null,
|
|
28332
|
+
access: "create"
|
|
28333
|
+
},
|
|
28103
28334
|
"pipelineOrchestrator.rebalance": {
|
|
28104
28335
|
capName: "pipeline-orchestrator",
|
|
28105
28336
|
capScope: "system",
|
|
@@ -28124,6 +28355,12 @@ Object.freeze({
|
|
|
28124
28355
|
addonId: null,
|
|
28125
28356
|
access: "view"
|
|
28126
28357
|
},
|
|
28358
|
+
"pipelineOrchestrator.resumeForStorageMigration": {
|
|
28359
|
+
capName: "pipeline-orchestrator",
|
|
28360
|
+
capScope: "system",
|
|
28361
|
+
addonId: null,
|
|
28362
|
+
access: "create"
|
|
28363
|
+
},
|
|
28127
28364
|
"pipelineOrchestrator.saveTemplate": {
|
|
28128
28365
|
capName: "pipeline-orchestrator",
|
|
28129
28366
|
capScope: "system",
|
|
@@ -28520,7 +28757,7 @@ Object.freeze({
|
|
|
28520
28757
|
addonId: null,
|
|
28521
28758
|
access: "create"
|
|
28522
28759
|
},
|
|
28523
|
-
"recording.
|
|
28760
|
+
"recording.cancelStorageMigrationMove": {
|
|
28524
28761
|
capName: "recording",
|
|
28525
28762
|
capScope: "system",
|
|
28526
28763
|
addonId: null,
|
|
@@ -28556,7 +28793,7 @@ Object.freeze({
|
|
|
28556
28793
|
addonId: null,
|
|
28557
28794
|
access: "view"
|
|
28558
28795
|
},
|
|
28559
|
-
"recording.
|
|
28796
|
+
"recording.getStorageMigrationMoveStatus": {
|
|
28560
28797
|
capName: "recording",
|
|
28561
28798
|
capScope: "system",
|
|
28562
28799
|
addonId: null,
|
|
@@ -28580,6 +28817,12 @@ Object.freeze({
|
|
|
28580
28817
|
addonId: null,
|
|
28581
28818
|
access: "view"
|
|
28582
28819
|
},
|
|
28820
|
+
"recording.pauseForStorageMigration": {
|
|
28821
|
+
capName: "recording",
|
|
28822
|
+
capScope: "system",
|
|
28823
|
+
addonId: null,
|
|
28824
|
+
access: "create"
|
|
28825
|
+
},
|
|
28583
28826
|
"recording.pruneFootage": {
|
|
28584
28827
|
capName: "recording",
|
|
28585
28828
|
capScope: "system",
|
|
@@ -28598,7 +28841,7 @@ Object.freeze({
|
|
|
28598
28841
|
addonId: null,
|
|
28599
28842
|
access: "view"
|
|
28600
28843
|
},
|
|
28601
|
-
"recording.
|
|
28844
|
+
"recording.refreshStorageLocationsForMigration": {
|
|
28602
28845
|
capName: "recording",
|
|
28603
28846
|
capScope: "system",
|
|
28604
28847
|
addonId: null,
|
|
@@ -28622,12 +28865,24 @@ Object.freeze({
|
|
|
28622
28865
|
addonId: null,
|
|
28623
28866
|
access: "create"
|
|
28624
28867
|
},
|
|
28868
|
+
"recording.resumeForStorageMigration": {
|
|
28869
|
+
capName: "recording",
|
|
28870
|
+
capScope: "system",
|
|
28871
|
+
addonId: null,
|
|
28872
|
+
access: "create"
|
|
28873
|
+
},
|
|
28625
28874
|
"recording.setDeviceConfig": {
|
|
28626
28875
|
capName: "recording",
|
|
28627
28876
|
capScope: "system",
|
|
28628
28877
|
addonId: null,
|
|
28629
28878
|
access: "create"
|
|
28630
28879
|
},
|
|
28880
|
+
"recording.startStorageMigrationMove": {
|
|
28881
|
+
capName: "recording",
|
|
28882
|
+
capScope: "system",
|
|
28883
|
+
addonId: null,
|
|
28884
|
+
access: "create"
|
|
28885
|
+
},
|
|
28631
28886
|
"recordingExport.cancelExport": {
|
|
28632
28887
|
capName: "recordingExport",
|
|
28633
28888
|
capScope: "system",
|
|
@@ -29018,6 +29273,30 @@ Object.freeze({
|
|
|
29018
29273
|
addonId: null,
|
|
29019
29274
|
access: "view"
|
|
29020
29275
|
},
|
|
29276
|
+
"storageMigration.cancel": {
|
|
29277
|
+
capName: "storage-migration",
|
|
29278
|
+
capScope: "system",
|
|
29279
|
+
addonId: null,
|
|
29280
|
+
access: "create"
|
|
29281
|
+
},
|
|
29282
|
+
"storageMigration.plan": {
|
|
29283
|
+
capName: "storage-migration",
|
|
29284
|
+
capScope: "system",
|
|
29285
|
+
addonId: null,
|
|
29286
|
+
access: "view"
|
|
29287
|
+
},
|
|
29288
|
+
"storageMigration.start": {
|
|
29289
|
+
capName: "storage-migration",
|
|
29290
|
+
capScope: "system",
|
|
29291
|
+
addonId: null,
|
|
29292
|
+
access: "create"
|
|
29293
|
+
},
|
|
29294
|
+
"storageMigration.status": {
|
|
29295
|
+
capName: "storage-migration",
|
|
29296
|
+
capScope: "system",
|
|
29297
|
+
addonId: null,
|
|
29298
|
+
access: "view"
|
|
29299
|
+
},
|
|
29021
29300
|
"storageProvider.abortUpload": {
|
|
29022
29301
|
capName: "storage-provider",
|
|
29023
29302
|
capScope: "system",
|
|
@@ -29396,12 +29675,42 @@ Object.freeze({
|
|
|
29396
29675
|
addonId: null,
|
|
29397
29676
|
access: "create"
|
|
29398
29677
|
},
|
|
29678
|
+
"terminalSession.adoptLegacyMonitor": {
|
|
29679
|
+
capName: "terminal-session",
|
|
29680
|
+
capScope: "system",
|
|
29681
|
+
addonId: null,
|
|
29682
|
+
access: "create"
|
|
29683
|
+
},
|
|
29399
29684
|
"terminalSession.close": {
|
|
29400
29685
|
capName: "terminal-session",
|
|
29401
29686
|
capScope: "system",
|
|
29402
29687
|
addonId: null,
|
|
29403
29688
|
access: "create"
|
|
29404
29689
|
},
|
|
29690
|
+
"terminalSession.createInstance": {
|
|
29691
|
+
capName: "terminal-session",
|
|
29692
|
+
capScope: "system",
|
|
29693
|
+
addonId: null,
|
|
29694
|
+
access: "create"
|
|
29695
|
+
},
|
|
29696
|
+
"terminalSession.deleteInstance": {
|
|
29697
|
+
capName: "terminal-session",
|
|
29698
|
+
capScope: "system",
|
|
29699
|
+
addonId: null,
|
|
29700
|
+
access: "delete"
|
|
29701
|
+
},
|
|
29702
|
+
"terminalSession.listInstances": {
|
|
29703
|
+
capName: "terminal-session",
|
|
29704
|
+
capScope: "system",
|
|
29705
|
+
addonId: null,
|
|
29706
|
+
access: "view"
|
|
29707
|
+
},
|
|
29708
|
+
"terminalSession.listLegacyCameras": {
|
|
29709
|
+
capName: "terminal-session",
|
|
29710
|
+
capScope: "system",
|
|
29711
|
+
addonId: null,
|
|
29712
|
+
access: "view"
|
|
29713
|
+
},
|
|
29405
29714
|
"terminalSession.listProfiles": {
|
|
29406
29715
|
capName: "terminal-session",
|
|
29407
29716
|
capScope: "system",
|
|
@@ -29420,12 +29729,30 @@ Object.freeze({
|
|
|
29420
29729
|
addonId: null,
|
|
29421
29730
|
access: "create"
|
|
29422
29731
|
},
|
|
29732
|
+
"terminalSession.pullOutput": {
|
|
29733
|
+
capName: "terminal-session",
|
|
29734
|
+
capScope: "system",
|
|
29735
|
+
addonId: null,
|
|
29736
|
+
access: "create"
|
|
29737
|
+
},
|
|
29423
29738
|
"terminalSession.resize": {
|
|
29424
29739
|
capName: "terminal-session",
|
|
29425
29740
|
capScope: "system",
|
|
29426
29741
|
addonId: null,
|
|
29427
29742
|
access: "create"
|
|
29428
29743
|
},
|
|
29744
|
+
"terminalSession.setInstanceEnabled": {
|
|
29745
|
+
capName: "terminal-session",
|
|
29746
|
+
capScope: "system",
|
|
29747
|
+
addonId: null,
|
|
29748
|
+
access: "create"
|
|
29749
|
+
},
|
|
29750
|
+
"terminalSession.writeInput": {
|
|
29751
|
+
capName: "terminal-session",
|
|
29752
|
+
capScope: "system",
|
|
29753
|
+
addonId: null,
|
|
29754
|
+
access: "create"
|
|
29755
|
+
},
|
|
29429
29756
|
"toast.onToast": {
|
|
29430
29757
|
capName: "toast",
|
|
29431
29758
|
capScope: "system",
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@camstack/addon-export-alexa",
|
|
3
|
-
"version": "1.2.
|
|
3
|
+
"version": "1.2.17",
|
|
4
4
|
"description": "Alexa Smart Home Skill export — hub-side OAuth provider + directive handler. The companion AWS Lambda forwards Alexa directives to this addon's /addon/export-alexa/directive endpoint.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"camstack",
|