@camstack/addon-export-alexa 1.2.16 → 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 +316 -31
- package/dist/export-alexa.addon.mjs +316 -31
- 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",
|
|
16360
|
+
auth: "admin"
|
|
16361
|
+
}), method(StorageMigrationLeaseInputSchema, object({ refreshed: literal(true) }), {
|
|
16362
|
+
kind: "mutation",
|
|
16363
|
+
auth: "admin"
|
|
16364
|
+
}), method(StorageMigrationMediaMoveInputSchema, object({ jobId: string() }), {
|
|
16365
|
+
kind: "mutation",
|
|
16280
16366
|
auth: "admin"
|
|
16281
|
-
}), method(object({ jobId: string() }), object({ cancelled: boolean() }), {
|
|
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,6 +18651,28 @@ var TerminalProfileInfoSchema = object({
|
|
|
18552
18651
|
label: string(),
|
|
18553
18652
|
description: string().optional()
|
|
18554
18653
|
});
|
|
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
|
+
});
|
|
18555
18676
|
var TerminalOutputEventSchema = discriminatedUnion("kind", [object({
|
|
18556
18677
|
seq: number().int().positive(),
|
|
18557
18678
|
kind: literal("data"),
|
|
@@ -18568,7 +18689,29 @@ var TerminalOutputBatchSchema = object({
|
|
|
18568
18689
|
snapshot: string().optional(),
|
|
18569
18690
|
events: array(TerminalOutputEventSchema).readonly()
|
|
18570
18691
|
});
|
|
18571
|
-
method(_void(), array(TerminalProfileInfoSchema).readonly(), { auth: "admin" }), method(_void(), array(
|
|
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({
|
|
18572
18715
|
profileId: string(),
|
|
18573
18716
|
cols: number().int().positive(),
|
|
18574
18717
|
rows: number().int().positive()
|
|
@@ -18585,7 +18728,13 @@ method(_void(), array(TerminalProfileInfoSchema).readonly(), { auth: "admin" }),
|
|
|
18585
18728
|
}), method(object({
|
|
18586
18729
|
sessionId: string(),
|
|
18587
18730
|
afterSeq: number().int().nonnegative(),
|
|
18588
|
-
waitMs: number().int().min(0).max(2e3).default(0)
|
|
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()
|
|
18589
18738
|
}), TerminalOutputBatchSchema, {
|
|
18590
18739
|
kind: "mutation",
|
|
18591
18740
|
auth: "admin",
|
|
@@ -20526,6 +20675,7 @@ var FaceInfoSchema = object({
|
|
|
20526
20675
|
var FaceFilterEnum = _enum([
|
|
20527
20676
|
"unassigned",
|
|
20528
20677
|
"recognized",
|
|
20678
|
+
"identified",
|
|
20529
20679
|
"all"
|
|
20530
20680
|
]);
|
|
20531
20681
|
var MediaFileLiteSchema$1 = object({
|
|
@@ -20554,6 +20704,8 @@ method(_void(), array(IdentitySchema).readonly()), method(object({ name: string(
|
|
|
20554
20704
|
kind: "mutation",
|
|
20555
20705
|
auth: "admin"
|
|
20556
20706
|
}), method(object({
|
|
20707
|
+
/** Restrict to one camera. Absent keeps the cluster-wide gallery view. */
|
|
20708
|
+
deviceId: number().int().optional(),
|
|
20557
20709
|
limit: number().int().positive().optional(),
|
|
20558
20710
|
filter: FaceFilterEnum.optional(),
|
|
20559
20711
|
/**
|
|
@@ -22319,6 +22471,10 @@ var OsdSourceSchema = discriminatedUnion("kind", [
|
|
|
22319
22471
|
capName: string().min(1).max(64),
|
|
22320
22472
|
/** Dot path inside the slice, e.g. `detected`, `value`, `mode`. */
|
|
22321
22473
|
valuePath: string().min(1).max(64)
|
|
22474
|
+
}),
|
|
22475
|
+
object({
|
|
22476
|
+
kind: literal("latest-recognition"),
|
|
22477
|
+
recognition: _enum(["person", "plate"])
|
|
22322
22478
|
})
|
|
22323
22479
|
]);
|
|
22324
22480
|
var OsdSlotBindingSchema = object({
|
|
@@ -22424,6 +22580,15 @@ method(object({ deviceId: number().int() }), object({
|
|
|
22424
22580
|
}), object({ success: literal(true) }), {
|
|
22425
22581
|
kind: "mutation",
|
|
22426
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"
|
|
22427
22592
|
}), method(object({
|
|
22428
22593
|
deviceId: number().int(),
|
|
22429
22594
|
slotId: string().min(1),
|
|
@@ -23309,13 +23474,19 @@ method(object({
|
|
|
23309
23474
|
}), {
|
|
23310
23475
|
kind: "mutation",
|
|
23311
23476
|
auth: "admin"
|
|
23312
|
-
}), method(
|
|
23477
|
+
}), method(StorageMigrationLeaseInputSchema, object({ paused: literal(true) }), {
|
|
23313
23478
|
kind: "mutation",
|
|
23314
23479
|
auth: "admin"
|
|
23315
|
-
}), method(object({
|
|
23316
|
-
kind: "
|
|
23480
|
+
}), method(StorageMigrationLeaseInputSchema, object({ resumed: literal(true) }), {
|
|
23481
|
+
kind: "mutation",
|
|
23317
23482
|
auth: "admin"
|
|
23318
|
-
}), 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() }), {
|
|
23319
23490
|
kind: "mutation",
|
|
23320
23491
|
auth: "admin"
|
|
23321
23492
|
});
|
|
@@ -27437,6 +27608,12 @@ Object.freeze({
|
|
|
27437
27608
|
addonId: null,
|
|
27438
27609
|
access: "delete"
|
|
27439
27610
|
},
|
|
27611
|
+
"osdManager.copyDeviceConfiguration": {
|
|
27612
|
+
capName: "osd-manager",
|
|
27613
|
+
capScope: "system",
|
|
27614
|
+
addonId: null,
|
|
27615
|
+
access: "create"
|
|
27616
|
+
},
|
|
27440
27617
|
"osdManager.getConditionSupport": {
|
|
27441
27618
|
capName: "osd-manager",
|
|
27442
27619
|
capScope: "system",
|
|
@@ -27533,7 +27710,7 @@ Object.freeze({
|
|
|
27533
27710
|
addonId: null,
|
|
27534
27711
|
access: "create"
|
|
27535
27712
|
},
|
|
27536
|
-
"pipelineAnalytics.
|
|
27713
|
+
"pipelineAnalytics.cancelStorageMigrationMove": {
|
|
27537
27714
|
capName: "pipeline-analytics",
|
|
27538
27715
|
capScope: "device",
|
|
27539
27716
|
addonId: null,
|
|
@@ -27605,12 +27782,6 @@ Object.freeze({
|
|
|
27605
27782
|
addonId: null,
|
|
27606
27783
|
access: "view"
|
|
27607
27784
|
},
|
|
27608
|
-
"pipelineAnalytics.getMediaRelocateStatus": {
|
|
27609
|
-
capName: "pipeline-analytics",
|
|
27610
|
-
capScope: "device",
|
|
27611
|
-
addonId: null,
|
|
27612
|
-
access: "view"
|
|
27613
|
-
},
|
|
27614
27785
|
"pipelineAnalytics.getMotionEvents": {
|
|
27615
27786
|
capName: "pipeline-analytics",
|
|
27616
27787
|
capScope: "device",
|
|
@@ -27647,6 +27818,12 @@ Object.freeze({
|
|
|
27647
27818
|
addonId: null,
|
|
27648
27819
|
access: "view"
|
|
27649
27820
|
},
|
|
27821
|
+
"pipelineAnalytics.getStorageMigrationMoveStatus": {
|
|
27822
|
+
capName: "pipeline-analytics",
|
|
27823
|
+
capScope: "device",
|
|
27824
|
+
addonId: null,
|
|
27825
|
+
access: "view"
|
|
27826
|
+
},
|
|
27650
27827
|
"pipelineAnalytics.getTrack": {
|
|
27651
27828
|
capName: "pipeline-analytics",
|
|
27652
27829
|
capScope: "device",
|
|
@@ -27725,6 +27902,12 @@ Object.freeze({
|
|
|
27725
27902
|
addonId: null,
|
|
27726
27903
|
access: "view"
|
|
27727
27904
|
},
|
|
27905
|
+
"pipelineAnalytics.pauseForStorageMigration": {
|
|
27906
|
+
capName: "pipeline-analytics",
|
|
27907
|
+
capScope: "device",
|
|
27908
|
+
addonId: null,
|
|
27909
|
+
access: "create"
|
|
27910
|
+
},
|
|
27728
27911
|
"pipelineAnalytics.proposeRetrainAnnotations": {
|
|
27729
27912
|
capName: "pipeline-analytics",
|
|
27730
27913
|
capScope: "device",
|
|
@@ -27755,7 +27938,7 @@ Object.freeze({
|
|
|
27755
27938
|
addonId: null,
|
|
27756
27939
|
access: "create"
|
|
27757
27940
|
},
|
|
27758
|
-
"pipelineAnalytics.
|
|
27941
|
+
"pipelineAnalytics.refreshStorageLocationsForMigration": {
|
|
27759
27942
|
capName: "pipeline-analytics",
|
|
27760
27943
|
capScope: "device",
|
|
27761
27944
|
addonId: null,
|
|
@@ -27767,6 +27950,12 @@ Object.freeze({
|
|
|
27767
27950
|
addonId: null,
|
|
27768
27951
|
access: "create"
|
|
27769
27952
|
},
|
|
27953
|
+
"pipelineAnalytics.resumeForStorageMigration": {
|
|
27954
|
+
capName: "pipeline-analytics",
|
|
27955
|
+
capScope: "device",
|
|
27956
|
+
addonId: null,
|
|
27957
|
+
access: "create"
|
|
27958
|
+
},
|
|
27770
27959
|
"pipelineAnalytics.saveRetrainAnnotations": {
|
|
27771
27960
|
capName: "pipeline-analytics",
|
|
27772
27961
|
capScope: "device",
|
|
@@ -27791,6 +27980,12 @@ Object.freeze({
|
|
|
27791
27980
|
addonId: null,
|
|
27792
27981
|
access: "create"
|
|
27793
27982
|
},
|
|
27983
|
+
"pipelineAnalytics.startStorageMigrationMove": {
|
|
27984
|
+
capName: "pipeline-analytics",
|
|
27985
|
+
capScope: "device",
|
|
27986
|
+
addonId: null,
|
|
27987
|
+
access: "create"
|
|
27988
|
+
},
|
|
27794
27989
|
"pipelineAnalytics.wipeAllAnalytics": {
|
|
27795
27990
|
capName: "pipeline-analytics",
|
|
27796
27991
|
capScope: "device",
|
|
@@ -28157,6 +28352,12 @@ Object.freeze({
|
|
|
28157
28352
|
addonId: null,
|
|
28158
28353
|
access: "view"
|
|
28159
28354
|
},
|
|
28355
|
+
"pipelineOrchestrator.pauseForStorageMigration": {
|
|
28356
|
+
capName: "pipeline-orchestrator",
|
|
28357
|
+
capScope: "system",
|
|
28358
|
+
addonId: null,
|
|
28359
|
+
access: "create"
|
|
28360
|
+
},
|
|
28160
28361
|
"pipelineOrchestrator.rebalance": {
|
|
28161
28362
|
capName: "pipeline-orchestrator",
|
|
28162
28363
|
capScope: "system",
|
|
@@ -28181,6 +28382,12 @@ Object.freeze({
|
|
|
28181
28382
|
addonId: null,
|
|
28182
28383
|
access: "view"
|
|
28183
28384
|
},
|
|
28385
|
+
"pipelineOrchestrator.resumeForStorageMigration": {
|
|
28386
|
+
capName: "pipeline-orchestrator",
|
|
28387
|
+
capScope: "system",
|
|
28388
|
+
addonId: null,
|
|
28389
|
+
access: "create"
|
|
28390
|
+
},
|
|
28184
28391
|
"pipelineOrchestrator.saveTemplate": {
|
|
28185
28392
|
capName: "pipeline-orchestrator",
|
|
28186
28393
|
capScope: "system",
|
|
@@ -28577,7 +28784,7 @@ Object.freeze({
|
|
|
28577
28784
|
addonId: null,
|
|
28578
28785
|
access: "create"
|
|
28579
28786
|
},
|
|
28580
|
-
"recording.
|
|
28787
|
+
"recording.cancelStorageMigrationMove": {
|
|
28581
28788
|
capName: "recording",
|
|
28582
28789
|
capScope: "system",
|
|
28583
28790
|
addonId: null,
|
|
@@ -28613,7 +28820,7 @@ Object.freeze({
|
|
|
28613
28820
|
addonId: null,
|
|
28614
28821
|
access: "view"
|
|
28615
28822
|
},
|
|
28616
|
-
"recording.
|
|
28823
|
+
"recording.getStorageMigrationMoveStatus": {
|
|
28617
28824
|
capName: "recording",
|
|
28618
28825
|
capScope: "system",
|
|
28619
28826
|
addonId: null,
|
|
@@ -28637,6 +28844,12 @@ Object.freeze({
|
|
|
28637
28844
|
addonId: null,
|
|
28638
28845
|
access: "view"
|
|
28639
28846
|
},
|
|
28847
|
+
"recording.pauseForStorageMigration": {
|
|
28848
|
+
capName: "recording",
|
|
28849
|
+
capScope: "system",
|
|
28850
|
+
addonId: null,
|
|
28851
|
+
access: "create"
|
|
28852
|
+
},
|
|
28640
28853
|
"recording.pruneFootage": {
|
|
28641
28854
|
capName: "recording",
|
|
28642
28855
|
capScope: "system",
|
|
@@ -28655,7 +28868,7 @@ Object.freeze({
|
|
|
28655
28868
|
addonId: null,
|
|
28656
28869
|
access: "view"
|
|
28657
28870
|
},
|
|
28658
|
-
"recording.
|
|
28871
|
+
"recording.refreshStorageLocationsForMigration": {
|
|
28659
28872
|
capName: "recording",
|
|
28660
28873
|
capScope: "system",
|
|
28661
28874
|
addonId: null,
|
|
@@ -28679,12 +28892,24 @@ Object.freeze({
|
|
|
28679
28892
|
addonId: null,
|
|
28680
28893
|
access: "create"
|
|
28681
28894
|
},
|
|
28895
|
+
"recording.resumeForStorageMigration": {
|
|
28896
|
+
capName: "recording",
|
|
28897
|
+
capScope: "system",
|
|
28898
|
+
addonId: null,
|
|
28899
|
+
access: "create"
|
|
28900
|
+
},
|
|
28682
28901
|
"recording.setDeviceConfig": {
|
|
28683
28902
|
capName: "recording",
|
|
28684
28903
|
capScope: "system",
|
|
28685
28904
|
addonId: null,
|
|
28686
28905
|
access: "create"
|
|
28687
28906
|
},
|
|
28907
|
+
"recording.startStorageMigrationMove": {
|
|
28908
|
+
capName: "recording",
|
|
28909
|
+
capScope: "system",
|
|
28910
|
+
addonId: null,
|
|
28911
|
+
access: "create"
|
|
28912
|
+
},
|
|
28688
28913
|
"recordingExport.cancelExport": {
|
|
28689
28914
|
capName: "recordingExport",
|
|
28690
28915
|
capScope: "system",
|
|
@@ -29075,6 +29300,30 @@ Object.freeze({
|
|
|
29075
29300
|
addonId: null,
|
|
29076
29301
|
access: "view"
|
|
29077
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
|
+
},
|
|
29078
29327
|
"storageProvider.abortUpload": {
|
|
29079
29328
|
capName: "storage-provider",
|
|
29080
29329
|
capScope: "system",
|
|
@@ -29453,12 +29702,42 @@ Object.freeze({
|
|
|
29453
29702
|
addonId: null,
|
|
29454
29703
|
access: "create"
|
|
29455
29704
|
},
|
|
29705
|
+
"terminalSession.adoptLegacyMonitor": {
|
|
29706
|
+
capName: "terminal-session",
|
|
29707
|
+
capScope: "system",
|
|
29708
|
+
addonId: null,
|
|
29709
|
+
access: "create"
|
|
29710
|
+
},
|
|
29456
29711
|
"terminalSession.close": {
|
|
29457
29712
|
capName: "terminal-session",
|
|
29458
29713
|
capScope: "system",
|
|
29459
29714
|
addonId: null,
|
|
29460
29715
|
access: "create"
|
|
29461
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
|
+
},
|
|
29462
29741
|
"terminalSession.listProfiles": {
|
|
29463
29742
|
capName: "terminal-session",
|
|
29464
29743
|
capScope: "system",
|
|
@@ -29489,6 +29768,12 @@ Object.freeze({
|
|
|
29489
29768
|
addonId: null,
|
|
29490
29769
|
access: "create"
|
|
29491
29770
|
},
|
|
29771
|
+
"terminalSession.setInstanceEnabled": {
|
|
29772
|
+
capName: "terminal-session",
|
|
29773
|
+
capScope: "system",
|
|
29774
|
+
addonId: null,
|
|
29775
|
+
access: "create"
|
|
29776
|
+
},
|
|
29492
29777
|
"terminalSession.writeInput": {
|
|
29493
29778
|
capName: "terminal-session",
|
|
29494
29779
|
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",
|
|
16333
|
+
auth: "admin"
|
|
16334
|
+
}), method(StorageMigrationLeaseInputSchema, object({ refreshed: literal(true) }), {
|
|
16335
|
+
kind: "mutation",
|
|
16336
|
+
auth: "admin"
|
|
16337
|
+
}), method(StorageMigrationMediaMoveInputSchema, object({ jobId: string() }), {
|
|
16338
|
+
kind: "mutation",
|
|
16253
16339
|
auth: "admin"
|
|
16254
|
-
}), method(object({ jobId: string() }), object({ cancelled: boolean() }), {
|
|
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,6 +18624,28 @@ var TerminalProfileInfoSchema = object({
|
|
|
18525
18624
|
label: string(),
|
|
18526
18625
|
description: string().optional()
|
|
18527
18626
|
});
|
|
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
|
+
});
|
|
18528
18649
|
var TerminalOutputEventSchema = discriminatedUnion("kind", [object({
|
|
18529
18650
|
seq: number().int().positive(),
|
|
18530
18651
|
kind: literal("data"),
|
|
@@ -18541,7 +18662,29 @@ var TerminalOutputBatchSchema = object({
|
|
|
18541
18662
|
snapshot: string().optional(),
|
|
18542
18663
|
events: array(TerminalOutputEventSchema).readonly()
|
|
18543
18664
|
});
|
|
18544
|
-
method(_void(), array(TerminalProfileInfoSchema).readonly(), { auth: "admin" }), method(_void(), array(
|
|
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({
|
|
18545
18688
|
profileId: string(),
|
|
18546
18689
|
cols: number().int().positive(),
|
|
18547
18690
|
rows: number().int().positive()
|
|
@@ -18558,7 +18701,13 @@ method(_void(), array(TerminalProfileInfoSchema).readonly(), { auth: "admin" }),
|
|
|
18558
18701
|
}), method(object({
|
|
18559
18702
|
sessionId: string(),
|
|
18560
18703
|
afterSeq: number().int().nonnegative(),
|
|
18561
|
-
waitMs: number().int().min(0).max(2e3).default(0)
|
|
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()
|
|
18562
18711
|
}), TerminalOutputBatchSchema, {
|
|
18563
18712
|
kind: "mutation",
|
|
18564
18713
|
auth: "admin",
|
|
@@ -20499,6 +20648,7 @@ var FaceInfoSchema = object({
|
|
|
20499
20648
|
var FaceFilterEnum = _enum([
|
|
20500
20649
|
"unassigned",
|
|
20501
20650
|
"recognized",
|
|
20651
|
+
"identified",
|
|
20502
20652
|
"all"
|
|
20503
20653
|
]);
|
|
20504
20654
|
var MediaFileLiteSchema$1 = object({
|
|
@@ -20527,6 +20677,8 @@ method(_void(), array(IdentitySchema).readonly()), method(object({ name: string(
|
|
|
20527
20677
|
kind: "mutation",
|
|
20528
20678
|
auth: "admin"
|
|
20529
20679
|
}), method(object({
|
|
20680
|
+
/** Restrict to one camera. Absent keeps the cluster-wide gallery view. */
|
|
20681
|
+
deviceId: number().int().optional(),
|
|
20530
20682
|
limit: number().int().positive().optional(),
|
|
20531
20683
|
filter: FaceFilterEnum.optional(),
|
|
20532
20684
|
/**
|
|
@@ -22292,6 +22444,10 @@ var OsdSourceSchema = discriminatedUnion("kind", [
|
|
|
22292
22444
|
capName: string().min(1).max(64),
|
|
22293
22445
|
/** Dot path inside the slice, e.g. `detected`, `value`, `mode`. */
|
|
22294
22446
|
valuePath: string().min(1).max(64)
|
|
22447
|
+
}),
|
|
22448
|
+
object({
|
|
22449
|
+
kind: literal("latest-recognition"),
|
|
22450
|
+
recognition: _enum(["person", "plate"])
|
|
22295
22451
|
})
|
|
22296
22452
|
]);
|
|
22297
22453
|
var OsdSlotBindingSchema = object({
|
|
@@ -22397,6 +22553,15 @@ method(object({ deviceId: number().int() }), object({
|
|
|
22397
22553
|
}), object({ success: literal(true) }), {
|
|
22398
22554
|
kind: "mutation",
|
|
22399
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"
|
|
22400
22565
|
}), method(object({
|
|
22401
22566
|
deviceId: number().int(),
|
|
22402
22567
|
slotId: string().min(1),
|
|
@@ -23282,13 +23447,19 @@ method(object({
|
|
|
23282
23447
|
}), {
|
|
23283
23448
|
kind: "mutation",
|
|
23284
23449
|
auth: "admin"
|
|
23285
|
-
}), method(
|
|
23450
|
+
}), method(StorageMigrationLeaseInputSchema, object({ paused: literal(true) }), {
|
|
23286
23451
|
kind: "mutation",
|
|
23287
23452
|
auth: "admin"
|
|
23288
|
-
}), method(object({
|
|
23289
|
-
kind: "
|
|
23453
|
+
}), method(StorageMigrationLeaseInputSchema, object({ resumed: literal(true) }), {
|
|
23454
|
+
kind: "mutation",
|
|
23290
23455
|
auth: "admin"
|
|
23291
|
-
}), 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() }), {
|
|
23292
23463
|
kind: "mutation",
|
|
23293
23464
|
auth: "admin"
|
|
23294
23465
|
});
|
|
@@ -27410,6 +27581,12 @@ Object.freeze({
|
|
|
27410
27581
|
addonId: null,
|
|
27411
27582
|
access: "delete"
|
|
27412
27583
|
},
|
|
27584
|
+
"osdManager.copyDeviceConfiguration": {
|
|
27585
|
+
capName: "osd-manager",
|
|
27586
|
+
capScope: "system",
|
|
27587
|
+
addonId: null,
|
|
27588
|
+
access: "create"
|
|
27589
|
+
},
|
|
27413
27590
|
"osdManager.getConditionSupport": {
|
|
27414
27591
|
capName: "osd-manager",
|
|
27415
27592
|
capScope: "system",
|
|
@@ -27506,7 +27683,7 @@ Object.freeze({
|
|
|
27506
27683
|
addonId: null,
|
|
27507
27684
|
access: "create"
|
|
27508
27685
|
},
|
|
27509
|
-
"pipelineAnalytics.
|
|
27686
|
+
"pipelineAnalytics.cancelStorageMigrationMove": {
|
|
27510
27687
|
capName: "pipeline-analytics",
|
|
27511
27688
|
capScope: "device",
|
|
27512
27689
|
addonId: null,
|
|
@@ -27578,12 +27755,6 @@ Object.freeze({
|
|
|
27578
27755
|
addonId: null,
|
|
27579
27756
|
access: "view"
|
|
27580
27757
|
},
|
|
27581
|
-
"pipelineAnalytics.getMediaRelocateStatus": {
|
|
27582
|
-
capName: "pipeline-analytics",
|
|
27583
|
-
capScope: "device",
|
|
27584
|
-
addonId: null,
|
|
27585
|
-
access: "view"
|
|
27586
|
-
},
|
|
27587
27758
|
"pipelineAnalytics.getMotionEvents": {
|
|
27588
27759
|
capName: "pipeline-analytics",
|
|
27589
27760
|
capScope: "device",
|
|
@@ -27620,6 +27791,12 @@ Object.freeze({
|
|
|
27620
27791
|
addonId: null,
|
|
27621
27792
|
access: "view"
|
|
27622
27793
|
},
|
|
27794
|
+
"pipelineAnalytics.getStorageMigrationMoveStatus": {
|
|
27795
|
+
capName: "pipeline-analytics",
|
|
27796
|
+
capScope: "device",
|
|
27797
|
+
addonId: null,
|
|
27798
|
+
access: "view"
|
|
27799
|
+
},
|
|
27623
27800
|
"pipelineAnalytics.getTrack": {
|
|
27624
27801
|
capName: "pipeline-analytics",
|
|
27625
27802
|
capScope: "device",
|
|
@@ -27698,6 +27875,12 @@ Object.freeze({
|
|
|
27698
27875
|
addonId: null,
|
|
27699
27876
|
access: "view"
|
|
27700
27877
|
},
|
|
27878
|
+
"pipelineAnalytics.pauseForStorageMigration": {
|
|
27879
|
+
capName: "pipeline-analytics",
|
|
27880
|
+
capScope: "device",
|
|
27881
|
+
addonId: null,
|
|
27882
|
+
access: "create"
|
|
27883
|
+
},
|
|
27701
27884
|
"pipelineAnalytics.proposeRetrainAnnotations": {
|
|
27702
27885
|
capName: "pipeline-analytics",
|
|
27703
27886
|
capScope: "device",
|
|
@@ -27728,7 +27911,7 @@ Object.freeze({
|
|
|
27728
27911
|
addonId: null,
|
|
27729
27912
|
access: "create"
|
|
27730
27913
|
},
|
|
27731
|
-
"pipelineAnalytics.
|
|
27914
|
+
"pipelineAnalytics.refreshStorageLocationsForMigration": {
|
|
27732
27915
|
capName: "pipeline-analytics",
|
|
27733
27916
|
capScope: "device",
|
|
27734
27917
|
addonId: null,
|
|
@@ -27740,6 +27923,12 @@ Object.freeze({
|
|
|
27740
27923
|
addonId: null,
|
|
27741
27924
|
access: "create"
|
|
27742
27925
|
},
|
|
27926
|
+
"pipelineAnalytics.resumeForStorageMigration": {
|
|
27927
|
+
capName: "pipeline-analytics",
|
|
27928
|
+
capScope: "device",
|
|
27929
|
+
addonId: null,
|
|
27930
|
+
access: "create"
|
|
27931
|
+
},
|
|
27743
27932
|
"pipelineAnalytics.saveRetrainAnnotations": {
|
|
27744
27933
|
capName: "pipeline-analytics",
|
|
27745
27934
|
capScope: "device",
|
|
@@ -27764,6 +27953,12 @@ Object.freeze({
|
|
|
27764
27953
|
addonId: null,
|
|
27765
27954
|
access: "create"
|
|
27766
27955
|
},
|
|
27956
|
+
"pipelineAnalytics.startStorageMigrationMove": {
|
|
27957
|
+
capName: "pipeline-analytics",
|
|
27958
|
+
capScope: "device",
|
|
27959
|
+
addonId: null,
|
|
27960
|
+
access: "create"
|
|
27961
|
+
},
|
|
27767
27962
|
"pipelineAnalytics.wipeAllAnalytics": {
|
|
27768
27963
|
capName: "pipeline-analytics",
|
|
27769
27964
|
capScope: "device",
|
|
@@ -28130,6 +28325,12 @@ Object.freeze({
|
|
|
28130
28325
|
addonId: null,
|
|
28131
28326
|
access: "view"
|
|
28132
28327
|
},
|
|
28328
|
+
"pipelineOrchestrator.pauseForStorageMigration": {
|
|
28329
|
+
capName: "pipeline-orchestrator",
|
|
28330
|
+
capScope: "system",
|
|
28331
|
+
addonId: null,
|
|
28332
|
+
access: "create"
|
|
28333
|
+
},
|
|
28133
28334
|
"pipelineOrchestrator.rebalance": {
|
|
28134
28335
|
capName: "pipeline-orchestrator",
|
|
28135
28336
|
capScope: "system",
|
|
@@ -28154,6 +28355,12 @@ Object.freeze({
|
|
|
28154
28355
|
addonId: null,
|
|
28155
28356
|
access: "view"
|
|
28156
28357
|
},
|
|
28358
|
+
"pipelineOrchestrator.resumeForStorageMigration": {
|
|
28359
|
+
capName: "pipeline-orchestrator",
|
|
28360
|
+
capScope: "system",
|
|
28361
|
+
addonId: null,
|
|
28362
|
+
access: "create"
|
|
28363
|
+
},
|
|
28157
28364
|
"pipelineOrchestrator.saveTemplate": {
|
|
28158
28365
|
capName: "pipeline-orchestrator",
|
|
28159
28366
|
capScope: "system",
|
|
@@ -28550,7 +28757,7 @@ Object.freeze({
|
|
|
28550
28757
|
addonId: null,
|
|
28551
28758
|
access: "create"
|
|
28552
28759
|
},
|
|
28553
|
-
"recording.
|
|
28760
|
+
"recording.cancelStorageMigrationMove": {
|
|
28554
28761
|
capName: "recording",
|
|
28555
28762
|
capScope: "system",
|
|
28556
28763
|
addonId: null,
|
|
@@ -28586,7 +28793,7 @@ Object.freeze({
|
|
|
28586
28793
|
addonId: null,
|
|
28587
28794
|
access: "view"
|
|
28588
28795
|
},
|
|
28589
|
-
"recording.
|
|
28796
|
+
"recording.getStorageMigrationMoveStatus": {
|
|
28590
28797
|
capName: "recording",
|
|
28591
28798
|
capScope: "system",
|
|
28592
28799
|
addonId: null,
|
|
@@ -28610,6 +28817,12 @@ Object.freeze({
|
|
|
28610
28817
|
addonId: null,
|
|
28611
28818
|
access: "view"
|
|
28612
28819
|
},
|
|
28820
|
+
"recording.pauseForStorageMigration": {
|
|
28821
|
+
capName: "recording",
|
|
28822
|
+
capScope: "system",
|
|
28823
|
+
addonId: null,
|
|
28824
|
+
access: "create"
|
|
28825
|
+
},
|
|
28613
28826
|
"recording.pruneFootage": {
|
|
28614
28827
|
capName: "recording",
|
|
28615
28828
|
capScope: "system",
|
|
@@ -28628,7 +28841,7 @@ Object.freeze({
|
|
|
28628
28841
|
addonId: null,
|
|
28629
28842
|
access: "view"
|
|
28630
28843
|
},
|
|
28631
|
-
"recording.
|
|
28844
|
+
"recording.refreshStorageLocationsForMigration": {
|
|
28632
28845
|
capName: "recording",
|
|
28633
28846
|
capScope: "system",
|
|
28634
28847
|
addonId: null,
|
|
@@ -28652,12 +28865,24 @@ Object.freeze({
|
|
|
28652
28865
|
addonId: null,
|
|
28653
28866
|
access: "create"
|
|
28654
28867
|
},
|
|
28868
|
+
"recording.resumeForStorageMigration": {
|
|
28869
|
+
capName: "recording",
|
|
28870
|
+
capScope: "system",
|
|
28871
|
+
addonId: null,
|
|
28872
|
+
access: "create"
|
|
28873
|
+
},
|
|
28655
28874
|
"recording.setDeviceConfig": {
|
|
28656
28875
|
capName: "recording",
|
|
28657
28876
|
capScope: "system",
|
|
28658
28877
|
addonId: null,
|
|
28659
28878
|
access: "create"
|
|
28660
28879
|
},
|
|
28880
|
+
"recording.startStorageMigrationMove": {
|
|
28881
|
+
capName: "recording",
|
|
28882
|
+
capScope: "system",
|
|
28883
|
+
addonId: null,
|
|
28884
|
+
access: "create"
|
|
28885
|
+
},
|
|
28661
28886
|
"recordingExport.cancelExport": {
|
|
28662
28887
|
capName: "recordingExport",
|
|
28663
28888
|
capScope: "system",
|
|
@@ -29048,6 +29273,30 @@ Object.freeze({
|
|
|
29048
29273
|
addonId: null,
|
|
29049
29274
|
access: "view"
|
|
29050
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
|
+
},
|
|
29051
29300
|
"storageProvider.abortUpload": {
|
|
29052
29301
|
capName: "storage-provider",
|
|
29053
29302
|
capScope: "system",
|
|
@@ -29426,12 +29675,42 @@ Object.freeze({
|
|
|
29426
29675
|
addonId: null,
|
|
29427
29676
|
access: "create"
|
|
29428
29677
|
},
|
|
29678
|
+
"terminalSession.adoptLegacyMonitor": {
|
|
29679
|
+
capName: "terminal-session",
|
|
29680
|
+
capScope: "system",
|
|
29681
|
+
addonId: null,
|
|
29682
|
+
access: "create"
|
|
29683
|
+
},
|
|
29429
29684
|
"terminalSession.close": {
|
|
29430
29685
|
capName: "terminal-session",
|
|
29431
29686
|
capScope: "system",
|
|
29432
29687
|
addonId: null,
|
|
29433
29688
|
access: "create"
|
|
29434
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
|
+
},
|
|
29435
29714
|
"terminalSession.listProfiles": {
|
|
29436
29715
|
capName: "terminal-session",
|
|
29437
29716
|
capScope: "system",
|
|
@@ -29462,6 +29741,12 @@ Object.freeze({
|
|
|
29462
29741
|
addonId: null,
|
|
29463
29742
|
access: "create"
|
|
29464
29743
|
},
|
|
29744
|
+
"terminalSession.setInstanceEnabled": {
|
|
29745
|
+
capName: "terminal-session",
|
|
29746
|
+
capScope: "system",
|
|
29747
|
+
addonId: null,
|
|
29748
|
+
access: "create"
|
|
29749
|
+
},
|
|
29465
29750
|
"terminalSession.writeInput": {
|
|
29466
29751
|
capName: "terminal-session",
|
|
29467
29752
|
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",
|