@camstack/addon-import-alexa 0.2.10 → 0.2.12
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/addon.js +357 -30
- package/dist/addon.mjs +357 -30
- package/package.json +1 -1
package/dist/addon.js
CHANGED
|
@@ -7723,12 +7723,11 @@ var RecordingConfigSchema = object({
|
|
|
7723
7723
|
/**
|
|
7724
7724
|
* Entity-relocation job state (storage entity-routing spec, Phase 4).
|
|
7725
7725
|
*
|
|
7726
|
-
* One shape shared by the recorder
|
|
7727
|
-
*
|
|
7728
|
-
*
|
|
7729
|
-
*
|
|
7730
|
-
*
|
|
7731
|
-
* row on the owning addon's surface.
|
|
7726
|
+
* One shape shared by the recorder and pipeline-analytics internal movers.
|
|
7727
|
+
* The public admin surface is `storage-migration`; child jobs remain in RAM
|
|
7728
|
+
* because copy-if-absent, verify, delete and index/row repoint are resumable.
|
|
7729
|
+
* Each completed/failed run also lands one durable ops-log row on its owning
|
|
7730
|
+
* addon surface.
|
|
7732
7731
|
*/
|
|
7733
7732
|
var RelocateJobStateSchema = _enum([
|
|
7734
7733
|
"running",
|
|
@@ -7755,19 +7754,100 @@ var RelocateJobSchema = object({
|
|
|
7755
7754
|
finishedAt: number().nullable(),
|
|
7756
7755
|
error: string().nullable()
|
|
7757
7756
|
});
|
|
7757
|
+
/** Profile-derived footage selection used only by the migration coordinator:
|
|
7758
|
+
* `recordings` owns high+mid; `recordingsLow` owns low. */
|
|
7759
|
+
var RelocateFootageClassSchema = _enum(["recordings", "recordingsLow"]);
|
|
7758
7760
|
var RelocateFootageInputSchema = object({
|
|
7759
|
-
deviceId: number().optional(),
|
|
7760
7761
|
fromLocationId: string(),
|
|
7761
7762
|
toLocationId: string(),
|
|
7762
7763
|
entities: array(_enum(["segments"])).optional(),
|
|
7764
|
+
/** Limits relocation to the logical profile class. Omit only for the
|
|
7765
|
+
* pre-orchestration compatibility path. */
|
|
7766
|
+
footageClass: RelocateFootageClassSchema.optional(),
|
|
7763
7767
|
/** Copy throttle in MB/s (default 40) — the drain is a background chore,
|
|
7764
7768
|
* never allowed to starve live writers. */
|
|
7765
7769
|
throttleMbps: number().min(1).max(1e3).optional()
|
|
7766
7770
|
});
|
|
7767
|
-
|
|
7768
|
-
|
|
7771
|
+
/** Internal, lease-scoped participant operation. It is intentionally separate
|
|
7772
|
+
* from persistent recording settings: a migration never changes
|
|
7773
|
+
* `RecordingConfig.enabled` or camera wrapper bindings. */
|
|
7774
|
+
var StorageMigrationLeaseInputSchema = object({ leaseId: string().min(1) });
|
|
7775
|
+
var StorageMigrationFootageMoveInputSchema = RelocateFootageInputSchema.extend({ leaseId: string().min(1) });
|
|
7776
|
+
var StorageMigrationMediaMoveInputSchema = object({
|
|
7769
7777
|
toLocationId: string(),
|
|
7770
7778
|
throttleMbps: number().min(1).max(1e3).optional()
|
|
7779
|
+
}).extend({ leaseId: string().min(1) });
|
|
7780
|
+
/** The independently selectable logical storage classes. `recordings`
|
|
7781
|
+
* encompasses the high and mid segment profiles; `recordingsLow` is low
|
|
7782
|
+
* segments; `eventMedia` is post-analysis blobs. */
|
|
7783
|
+
var StorageMigrationClassSchema = _enum([
|
|
7784
|
+
"recordings",
|
|
7785
|
+
"recordingsLow",
|
|
7786
|
+
"eventMedia"
|
|
7787
|
+
]);
|
|
7788
|
+
/** A destination is always an existing, fully-qualified location id. The
|
|
7789
|
+
* migration API intentionally never changes a source location's `basePath`:
|
|
7790
|
+
* callers create a new `<type>:<slug>` location, then select it here. */
|
|
7791
|
+
var StorageMigrationDestinationsSchema = object({
|
|
7792
|
+
recordings: string().min(1).optional(),
|
|
7793
|
+
recordingsLow: string().min(1).optional(),
|
|
7794
|
+
eventMedia: string().min(1).optional()
|
|
7795
|
+
}).refine((value) => Object.keys(value).length > 0, { message: "select at least one storage class" });
|
|
7796
|
+
/** Shared input for planning and starting an orchestrated storage migration. */
|
|
7797
|
+
var StorageMigrationInputSchema = object({
|
|
7798
|
+
destinations: StorageMigrationDestinationsSchema,
|
|
7799
|
+
throttleMbps: number().min(1).max(1e3).optional()
|
|
7800
|
+
});
|
|
7801
|
+
/** The durable coordinator state machine. The only phase that changes default
|
|
7802
|
+
* locations is `repointing`, after every selected mover has completed and been
|
|
7803
|
+
* verified. */
|
|
7804
|
+
var StorageMigrationPhaseSchema = _enum([
|
|
7805
|
+
"planning",
|
|
7806
|
+
"pausing",
|
|
7807
|
+
"moving",
|
|
7808
|
+
"verifying",
|
|
7809
|
+
"repointing",
|
|
7810
|
+
"refreshing",
|
|
7811
|
+
"resuming",
|
|
7812
|
+
"done",
|
|
7813
|
+
"failed",
|
|
7814
|
+
"cancelled"
|
|
7815
|
+
]);
|
|
7816
|
+
var StorageMigrationParticipantSchema = _enum([
|
|
7817
|
+
"pipeline",
|
|
7818
|
+
"recorder",
|
|
7819
|
+
"analytics"
|
|
7820
|
+
]);
|
|
7821
|
+
var StorageMigrationMoveSchema = object({
|
|
7822
|
+
storageClass: StorageMigrationClassSchema,
|
|
7823
|
+
fromLocationId: string(),
|
|
7824
|
+
toLocationId: string(),
|
|
7825
|
+
moverJobId: string().nullable(),
|
|
7826
|
+
state: RelocateJobStateSchema.nullable(),
|
|
7827
|
+
error: string().nullable()
|
|
7828
|
+
});
|
|
7829
|
+
var StorageMigrationJobSchema = object({
|
|
7830
|
+
jobId: string(),
|
|
7831
|
+
phase: StorageMigrationPhaseSchema,
|
|
7832
|
+
destinations: StorageMigrationDestinationsSchema,
|
|
7833
|
+
throttleMbps: number(),
|
|
7834
|
+
moves: array(StorageMigrationMoveSchema),
|
|
7835
|
+
pauseLeaseId: string().nullable(),
|
|
7836
|
+
pausedParticipants: array(StorageMigrationParticipantSchema),
|
|
7837
|
+
repointed: boolean(),
|
|
7838
|
+
cancelRequested: boolean(),
|
|
7839
|
+
startedAt: number(),
|
|
7840
|
+
updatedAt: number(),
|
|
7841
|
+
finishedAt: number().nullable(),
|
|
7842
|
+
error: string().nullable()
|
|
7843
|
+
});
|
|
7844
|
+
var StorageMigrationPlanSchema = object({
|
|
7845
|
+
destinations: StorageMigrationDestinationsSchema,
|
|
7846
|
+
moves: array(object({
|
|
7847
|
+
storageClass: StorageMigrationClassSchema,
|
|
7848
|
+
fromLocationId: string(),
|
|
7849
|
+
toLocationId: string()
|
|
7850
|
+
}))
|
|
7771
7851
|
});
|
|
7772
7852
|
/**
|
|
7773
7853
|
* `StorageLocationType` — an addon-declared id that identifies the *kind* of
|
|
@@ -16506,13 +16586,19 @@ DeviceType.Camera, method(object({ deviceId: number() }), array(TrackSchema).rea
|
|
|
16506
16586
|
}), method(object({ deviceId: number() }), EventPruneCountsSchema, {
|
|
16507
16587
|
kind: "mutation",
|
|
16508
16588
|
auth: "admin"
|
|
16509
|
-
}), method(
|
|
16589
|
+
}), method(StorageMigrationLeaseInputSchema, object({ paused: literal(true) }), {
|
|
16510
16590
|
kind: "mutation",
|
|
16511
16591
|
auth: "admin"
|
|
16512
|
-
}), method(object({
|
|
16513
|
-
kind: "
|
|
16592
|
+
}), method(StorageMigrationLeaseInputSchema, object({ resumed: literal(true) }), {
|
|
16593
|
+
kind: "mutation",
|
|
16514
16594
|
auth: "admin"
|
|
16515
|
-
}), method(
|
|
16595
|
+
}), method(StorageMigrationLeaseInputSchema, object({ refreshed: literal(true) }), {
|
|
16596
|
+
kind: "mutation",
|
|
16597
|
+
auth: "admin"
|
|
16598
|
+
}), method(StorageMigrationMediaMoveInputSchema, object({ jobId: string() }), {
|
|
16599
|
+
kind: "mutation",
|
|
16600
|
+
auth: "admin"
|
|
16601
|
+
}), method(object({ jobId: string() }), RelocateJobSchema.nullable(), { auth: "admin" }), method(object({ jobId: string() }), object({ cancelled: boolean() }), {
|
|
16516
16602
|
kind: "mutation",
|
|
16517
16603
|
auth: "admin"
|
|
16518
16604
|
}), method(OpsLogQueryInputSchema, array(OpsLogEntrySchema).readonly(), {
|
|
@@ -18042,7 +18128,13 @@ var NodeInferenceDevicesSchema = object({
|
|
|
18042
18128
|
reachable: boolean(),
|
|
18043
18129
|
devices: array(NodeInferenceDeviceSchema).readonly()
|
|
18044
18130
|
});
|
|
18045
|
-
method(object({
|
|
18131
|
+
method(StorageMigrationLeaseInputSchema, object({ paused: literal(true) }), {
|
|
18132
|
+
kind: "mutation",
|
|
18133
|
+
auth: "admin"
|
|
18134
|
+
}), method(StorageMigrationLeaseInputSchema, object({ resumed: literal(true) }), {
|
|
18135
|
+
kind: "mutation",
|
|
18136
|
+
auth: "admin"
|
|
18137
|
+
}), method(object({
|
|
18046
18138
|
deviceId: number(),
|
|
18047
18139
|
agentNodeId: string()
|
|
18048
18140
|
}), object({ success: literal(true) }), {
|
|
@@ -18716,6 +18808,13 @@ method(object({ locationId: string() }), EvictableUsageSchema), method(object({
|
|
|
18716
18808
|
locationId: string(),
|
|
18717
18809
|
targetBytes: number().int().positive()
|
|
18718
18810
|
}), EvictResultSchema, { kind: "mutation" });
|
|
18811
|
+
method(StorageMigrationInputSchema, StorageMigrationPlanSchema, { auth: "admin" }), method(StorageMigrationInputSchema, object({ jobId: string() }), {
|
|
18812
|
+
kind: "mutation",
|
|
18813
|
+
auth: "admin"
|
|
18814
|
+
}), method(object({ jobId: string().optional() }), StorageMigrationJobSchema.nullable(), { auth: "admin" }), method(object({ jobId: string() }), object({ cancelled: boolean() }), {
|
|
18815
|
+
kind: "mutation",
|
|
18816
|
+
auth: "admin"
|
|
18817
|
+
});
|
|
18719
18818
|
var ProviderInfoSchema = discriminatedUnion("shouldSaveDiskSpace", [object({
|
|
18720
18819
|
providerId: string().min(1),
|
|
18721
18820
|
displayName: string().min(1),
|
|
@@ -18819,7 +18918,67 @@ var TerminalProfileInfoSchema = object({
|
|
|
18819
18918
|
label: string(),
|
|
18820
18919
|
description: string().optional()
|
|
18821
18920
|
});
|
|
18822
|
-
|
|
18921
|
+
/**
|
|
18922
|
+
* A durable operator-created Terminal instance. Profiles are templates; only
|
|
18923
|
+
* an instance declares a camera.
|
|
18924
|
+
*/
|
|
18925
|
+
var TerminalInstanceInfoSchema = object({
|
|
18926
|
+
instanceId: string(),
|
|
18927
|
+
cameraStableId: string(),
|
|
18928
|
+
nodeId: string(),
|
|
18929
|
+
profileId: string(),
|
|
18930
|
+
profileLabel: string(),
|
|
18931
|
+
name: string(),
|
|
18932
|
+
enabled: boolean()
|
|
18933
|
+
});
|
|
18934
|
+
var TerminalLegacyCameraSchema = object({
|
|
18935
|
+
stableId: string(),
|
|
18936
|
+
nodeId: string(),
|
|
18937
|
+
profileId: string(),
|
|
18938
|
+
profileLabel: string(),
|
|
18939
|
+
name: string(),
|
|
18940
|
+
/** Only legacy monitor cameras can retain their historic stable identity. */
|
|
18941
|
+
adoptable: boolean()
|
|
18942
|
+
});
|
|
18943
|
+
var TerminalOutputEventSchema = discriminatedUnion("kind", [object({
|
|
18944
|
+
seq: number().int().positive(),
|
|
18945
|
+
kind: literal("data"),
|
|
18946
|
+
data: string()
|
|
18947
|
+
}), object({
|
|
18948
|
+
seq: number().int().positive(),
|
|
18949
|
+
kind: literal("exit"),
|
|
18950
|
+
exitCode: number().int(),
|
|
18951
|
+
signal: number().int().optional()
|
|
18952
|
+
})]);
|
|
18953
|
+
var TerminalOutputBatchSchema = object({
|
|
18954
|
+
cursor: number().int().nonnegative(),
|
|
18955
|
+
reset: boolean(),
|
|
18956
|
+
snapshot: string().optional(),
|
|
18957
|
+
events: array(TerminalOutputEventSchema).readonly()
|
|
18958
|
+
});
|
|
18959
|
+
method(_void(), array(TerminalProfileInfoSchema).readonly(), { auth: "admin" }), method(_void(), array(TerminalInstanceInfoSchema).readonly(), { auth: "admin" }), method(object({
|
|
18960
|
+
targetNodeId: string().min(1),
|
|
18961
|
+
profileId: string().min(1),
|
|
18962
|
+
name: string().trim().min(1).max(160).optional()
|
|
18963
|
+
}), TerminalInstanceInfoSchema, {
|
|
18964
|
+
kind: "mutation",
|
|
18965
|
+
auth: "admin"
|
|
18966
|
+
}), method(object({ instanceId: string().min(1) }), _void(), {
|
|
18967
|
+
kind: "mutation",
|
|
18968
|
+
auth: "admin"
|
|
18969
|
+
}), method(object({
|
|
18970
|
+
instanceId: string().min(1),
|
|
18971
|
+
enabled: boolean()
|
|
18972
|
+
}), TerminalInstanceInfoSchema, {
|
|
18973
|
+
kind: "mutation",
|
|
18974
|
+
auth: "admin"
|
|
18975
|
+
}), method(_void(), array(TerminalLegacyCameraSchema).readonly(), { auth: "admin" }), method(object({
|
|
18976
|
+
stableId: string().min(1),
|
|
18977
|
+
name: string().trim().min(1).max(160).optional()
|
|
18978
|
+
}), TerminalInstanceInfoSchema, {
|
|
18979
|
+
kind: "mutation",
|
|
18980
|
+
auth: "admin"
|
|
18981
|
+
}), method(_void(), array(TerminalSessionInfoSchema).readonly(), { auth: "admin" }), method(object({
|
|
18823
18982
|
profileId: string(),
|
|
18824
18983
|
cols: number().int().positive(),
|
|
18825
18984
|
rows: number().int().positive()
|
|
@@ -18833,6 +18992,26 @@ method(_void(), array(TerminalProfileInfoSchema).readonly(), { auth: "admin" }),
|
|
|
18833
18992
|
}), _void(), {
|
|
18834
18993
|
kind: "mutation",
|
|
18835
18994
|
auth: "admin"
|
|
18995
|
+
}), method(object({
|
|
18996
|
+
sessionId: string(),
|
|
18997
|
+
afterSeq: number().int().nonnegative(),
|
|
18998
|
+
waitMs: number().int().min(0).max(2e3).default(0),
|
|
18999
|
+
/**
|
|
19000
|
+
* Wait when a just-opened session has no output yet. Kept opt-in so a
|
|
19001
|
+
* browser's initial repaint remains immediate; the camera snapshot
|
|
19002
|
+
* relay uses it to avoid encoding a blank startup frame.
|
|
19003
|
+
*/
|
|
19004
|
+
waitForOutput: boolean().optional()
|
|
19005
|
+
}), TerminalOutputBatchSchema, {
|
|
19006
|
+
kind: "mutation",
|
|
19007
|
+
auth: "admin",
|
|
19008
|
+
timeoutMs: 15e3
|
|
19009
|
+
}), method(object({
|
|
19010
|
+
sessionId: string(),
|
|
19011
|
+
data: string().max(64 * 1024)
|
|
19012
|
+
}), _void(), {
|
|
19013
|
+
kind: "mutation",
|
|
19014
|
+
auth: "admin"
|
|
18836
19015
|
}), method(object({ sessionId: string() }), _void(), {
|
|
18837
19016
|
kind: "mutation",
|
|
18838
19017
|
auth: "admin"
|
|
@@ -21337,6 +21516,7 @@ var FaceInfoSchema = object({
|
|
|
21337
21516
|
var FaceFilterEnum = _enum([
|
|
21338
21517
|
"unassigned",
|
|
21339
21518
|
"recognized",
|
|
21519
|
+
"identified",
|
|
21340
21520
|
"all"
|
|
21341
21521
|
]);
|
|
21342
21522
|
var MediaFileLiteSchema$1 = object({
|
|
@@ -21365,6 +21545,8 @@ method(_void(), array(IdentitySchema).readonly()), method(object({ name: string(
|
|
|
21365
21545
|
kind: "mutation",
|
|
21366
21546
|
auth: "admin"
|
|
21367
21547
|
}), method(object({
|
|
21548
|
+
/** Restrict to one camera. Absent keeps the cluster-wide gallery view. */
|
|
21549
|
+
deviceId: number().int().optional(),
|
|
21368
21550
|
limit: number().int().positive().optional(),
|
|
21369
21551
|
filter: FaceFilterEnum.optional(),
|
|
21370
21552
|
/**
|
|
@@ -23594,6 +23776,10 @@ var OsdSourceSchema = discriminatedUnion("kind", [
|
|
|
23594
23776
|
capName: string().min(1).max(64),
|
|
23595
23777
|
/** Dot path inside the slice, e.g. `detected`, `value`, `mode`. */
|
|
23596
23778
|
valuePath: string().min(1).max(64)
|
|
23779
|
+
}),
|
|
23780
|
+
object({
|
|
23781
|
+
kind: literal("latest-recognition"),
|
|
23782
|
+
recognition: _enum(["person", "plate"])
|
|
23597
23783
|
})
|
|
23598
23784
|
]);
|
|
23599
23785
|
var OsdSlotBindingSchema = object({
|
|
@@ -23699,6 +23885,15 @@ method(object({ deviceId: number().int() }), object({
|
|
|
23699
23885
|
}), object({ success: literal(true) }), {
|
|
23700
23886
|
kind: "mutation",
|
|
23701
23887
|
auth: "admin"
|
|
23888
|
+
}), method(object({
|
|
23889
|
+
sourceDeviceId: number().int(),
|
|
23890
|
+
targetDeviceId: number().int()
|
|
23891
|
+
}), object({
|
|
23892
|
+
copied: number().int().nonnegative(),
|
|
23893
|
+
skipped: number().int().nonnegative()
|
|
23894
|
+
}), {
|
|
23895
|
+
kind: "mutation",
|
|
23896
|
+
auth: "admin"
|
|
23702
23897
|
}), method(object({
|
|
23703
23898
|
deviceId: number().int(),
|
|
23704
23899
|
slotId: string().min(1),
|
|
@@ -24796,13 +24991,19 @@ method(object({
|
|
|
24796
24991
|
}), {
|
|
24797
24992
|
kind: "mutation",
|
|
24798
24993
|
auth: "admin"
|
|
24799
|
-
}), method(
|
|
24994
|
+
}), method(StorageMigrationLeaseInputSchema, object({ paused: literal(true) }), {
|
|
24800
24995
|
kind: "mutation",
|
|
24801
24996
|
auth: "admin"
|
|
24802
|
-
}), method(object({
|
|
24803
|
-
kind: "
|
|
24997
|
+
}), method(StorageMigrationLeaseInputSchema, object({ resumed: literal(true) }), {
|
|
24998
|
+
kind: "mutation",
|
|
24804
24999
|
auth: "admin"
|
|
24805
|
-
}), method(
|
|
25000
|
+
}), method(StorageMigrationLeaseInputSchema, object({ refreshed: literal(true) }), {
|
|
25001
|
+
kind: "mutation",
|
|
25002
|
+
auth: "admin"
|
|
25003
|
+
}), method(StorageMigrationFootageMoveInputSchema, object({ jobId: string() }), {
|
|
25004
|
+
kind: "mutation",
|
|
25005
|
+
auth: "admin"
|
|
25006
|
+
}), method(object({ jobId: string() }), RelocateJobSchema.nullable(), { auth: "admin" }), method(object({ jobId: string() }), object({ cancelled: boolean() }), {
|
|
24806
25007
|
kind: "mutation",
|
|
24807
25008
|
auth: "admin"
|
|
24808
25009
|
});
|
|
@@ -30408,6 +30609,12 @@ Object.freeze({
|
|
|
30408
30609
|
addonId: null,
|
|
30409
30610
|
access: "delete"
|
|
30410
30611
|
},
|
|
30612
|
+
"osdManager.copyDeviceConfiguration": {
|
|
30613
|
+
capName: "osd-manager",
|
|
30614
|
+
capScope: "system",
|
|
30615
|
+
addonId: null,
|
|
30616
|
+
access: "create"
|
|
30617
|
+
},
|
|
30411
30618
|
"osdManager.getConditionSupport": {
|
|
30412
30619
|
capName: "osd-manager",
|
|
30413
30620
|
capScope: "system",
|
|
@@ -30504,7 +30711,7 @@ Object.freeze({
|
|
|
30504
30711
|
addonId: null,
|
|
30505
30712
|
access: "create"
|
|
30506
30713
|
},
|
|
30507
|
-
"pipelineAnalytics.
|
|
30714
|
+
"pipelineAnalytics.cancelStorageMigrationMove": {
|
|
30508
30715
|
capName: "pipeline-analytics",
|
|
30509
30716
|
capScope: "device",
|
|
30510
30717
|
addonId: null,
|
|
@@ -30576,12 +30783,6 @@ Object.freeze({
|
|
|
30576
30783
|
addonId: null,
|
|
30577
30784
|
access: "view"
|
|
30578
30785
|
},
|
|
30579
|
-
"pipelineAnalytics.getMediaRelocateStatus": {
|
|
30580
|
-
capName: "pipeline-analytics",
|
|
30581
|
-
capScope: "device",
|
|
30582
|
-
addonId: null,
|
|
30583
|
-
access: "view"
|
|
30584
|
-
},
|
|
30585
30786
|
"pipelineAnalytics.getMotionEvents": {
|
|
30586
30787
|
capName: "pipeline-analytics",
|
|
30587
30788
|
capScope: "device",
|
|
@@ -30618,6 +30819,12 @@ Object.freeze({
|
|
|
30618
30819
|
addonId: null,
|
|
30619
30820
|
access: "view"
|
|
30620
30821
|
},
|
|
30822
|
+
"pipelineAnalytics.getStorageMigrationMoveStatus": {
|
|
30823
|
+
capName: "pipeline-analytics",
|
|
30824
|
+
capScope: "device",
|
|
30825
|
+
addonId: null,
|
|
30826
|
+
access: "view"
|
|
30827
|
+
},
|
|
30621
30828
|
"pipelineAnalytics.getTrack": {
|
|
30622
30829
|
capName: "pipeline-analytics",
|
|
30623
30830
|
capScope: "device",
|
|
@@ -30696,6 +30903,12 @@ Object.freeze({
|
|
|
30696
30903
|
addonId: null,
|
|
30697
30904
|
access: "view"
|
|
30698
30905
|
},
|
|
30906
|
+
"pipelineAnalytics.pauseForStorageMigration": {
|
|
30907
|
+
capName: "pipeline-analytics",
|
|
30908
|
+
capScope: "device",
|
|
30909
|
+
addonId: null,
|
|
30910
|
+
access: "create"
|
|
30911
|
+
},
|
|
30699
30912
|
"pipelineAnalytics.proposeRetrainAnnotations": {
|
|
30700
30913
|
capName: "pipeline-analytics",
|
|
30701
30914
|
capScope: "device",
|
|
@@ -30726,7 +30939,7 @@ Object.freeze({
|
|
|
30726
30939
|
addonId: null,
|
|
30727
30940
|
access: "create"
|
|
30728
30941
|
},
|
|
30729
|
-
"pipelineAnalytics.
|
|
30942
|
+
"pipelineAnalytics.refreshStorageLocationsForMigration": {
|
|
30730
30943
|
capName: "pipeline-analytics",
|
|
30731
30944
|
capScope: "device",
|
|
30732
30945
|
addonId: null,
|
|
@@ -30738,6 +30951,12 @@ Object.freeze({
|
|
|
30738
30951
|
addonId: null,
|
|
30739
30952
|
access: "create"
|
|
30740
30953
|
},
|
|
30954
|
+
"pipelineAnalytics.resumeForStorageMigration": {
|
|
30955
|
+
capName: "pipeline-analytics",
|
|
30956
|
+
capScope: "device",
|
|
30957
|
+
addonId: null,
|
|
30958
|
+
access: "create"
|
|
30959
|
+
},
|
|
30741
30960
|
"pipelineAnalytics.saveRetrainAnnotations": {
|
|
30742
30961
|
capName: "pipeline-analytics",
|
|
30743
30962
|
capScope: "device",
|
|
@@ -30762,6 +30981,12 @@ Object.freeze({
|
|
|
30762
30981
|
addonId: null,
|
|
30763
30982
|
access: "create"
|
|
30764
30983
|
},
|
|
30984
|
+
"pipelineAnalytics.startStorageMigrationMove": {
|
|
30985
|
+
capName: "pipeline-analytics",
|
|
30986
|
+
capScope: "device",
|
|
30987
|
+
addonId: null,
|
|
30988
|
+
access: "create"
|
|
30989
|
+
},
|
|
30765
30990
|
"pipelineAnalytics.wipeAllAnalytics": {
|
|
30766
30991
|
capName: "pipeline-analytics",
|
|
30767
30992
|
capScope: "device",
|
|
@@ -31128,6 +31353,12 @@ Object.freeze({
|
|
|
31128
31353
|
addonId: null,
|
|
31129
31354
|
access: "view"
|
|
31130
31355
|
},
|
|
31356
|
+
"pipelineOrchestrator.pauseForStorageMigration": {
|
|
31357
|
+
capName: "pipeline-orchestrator",
|
|
31358
|
+
capScope: "system",
|
|
31359
|
+
addonId: null,
|
|
31360
|
+
access: "create"
|
|
31361
|
+
},
|
|
31131
31362
|
"pipelineOrchestrator.rebalance": {
|
|
31132
31363
|
capName: "pipeline-orchestrator",
|
|
31133
31364
|
capScope: "system",
|
|
@@ -31152,6 +31383,12 @@ Object.freeze({
|
|
|
31152
31383
|
addonId: null,
|
|
31153
31384
|
access: "view"
|
|
31154
31385
|
},
|
|
31386
|
+
"pipelineOrchestrator.resumeForStorageMigration": {
|
|
31387
|
+
capName: "pipeline-orchestrator",
|
|
31388
|
+
capScope: "system",
|
|
31389
|
+
addonId: null,
|
|
31390
|
+
access: "create"
|
|
31391
|
+
},
|
|
31155
31392
|
"pipelineOrchestrator.saveTemplate": {
|
|
31156
31393
|
capName: "pipeline-orchestrator",
|
|
31157
31394
|
capScope: "system",
|
|
@@ -31548,7 +31785,7 @@ Object.freeze({
|
|
|
31548
31785
|
addonId: null,
|
|
31549
31786
|
access: "create"
|
|
31550
31787
|
},
|
|
31551
|
-
"recording.
|
|
31788
|
+
"recording.cancelStorageMigrationMove": {
|
|
31552
31789
|
capName: "recording",
|
|
31553
31790
|
capScope: "system",
|
|
31554
31791
|
addonId: null,
|
|
@@ -31584,7 +31821,7 @@ Object.freeze({
|
|
|
31584
31821
|
addonId: null,
|
|
31585
31822
|
access: "view"
|
|
31586
31823
|
},
|
|
31587
|
-
"recording.
|
|
31824
|
+
"recording.getStorageMigrationMoveStatus": {
|
|
31588
31825
|
capName: "recording",
|
|
31589
31826
|
capScope: "system",
|
|
31590
31827
|
addonId: null,
|
|
@@ -31608,6 +31845,12 @@ Object.freeze({
|
|
|
31608
31845
|
addonId: null,
|
|
31609
31846
|
access: "view"
|
|
31610
31847
|
},
|
|
31848
|
+
"recording.pauseForStorageMigration": {
|
|
31849
|
+
capName: "recording",
|
|
31850
|
+
capScope: "system",
|
|
31851
|
+
addonId: null,
|
|
31852
|
+
access: "create"
|
|
31853
|
+
},
|
|
31611
31854
|
"recording.pruneFootage": {
|
|
31612
31855
|
capName: "recording",
|
|
31613
31856
|
capScope: "system",
|
|
@@ -31626,7 +31869,7 @@ Object.freeze({
|
|
|
31626
31869
|
addonId: null,
|
|
31627
31870
|
access: "view"
|
|
31628
31871
|
},
|
|
31629
|
-
"recording.
|
|
31872
|
+
"recording.refreshStorageLocationsForMigration": {
|
|
31630
31873
|
capName: "recording",
|
|
31631
31874
|
capScope: "system",
|
|
31632
31875
|
addonId: null,
|
|
@@ -31650,12 +31893,24 @@ Object.freeze({
|
|
|
31650
31893
|
addonId: null,
|
|
31651
31894
|
access: "create"
|
|
31652
31895
|
},
|
|
31896
|
+
"recording.resumeForStorageMigration": {
|
|
31897
|
+
capName: "recording",
|
|
31898
|
+
capScope: "system",
|
|
31899
|
+
addonId: null,
|
|
31900
|
+
access: "create"
|
|
31901
|
+
},
|
|
31653
31902
|
"recording.setDeviceConfig": {
|
|
31654
31903
|
capName: "recording",
|
|
31655
31904
|
capScope: "system",
|
|
31656
31905
|
addonId: null,
|
|
31657
31906
|
access: "create"
|
|
31658
31907
|
},
|
|
31908
|
+
"recording.startStorageMigrationMove": {
|
|
31909
|
+
capName: "recording",
|
|
31910
|
+
capScope: "system",
|
|
31911
|
+
addonId: null,
|
|
31912
|
+
access: "create"
|
|
31913
|
+
},
|
|
31659
31914
|
"recordingExport.cancelExport": {
|
|
31660
31915
|
capName: "recordingExport",
|
|
31661
31916
|
capScope: "system",
|
|
@@ -32046,6 +32301,30 @@ Object.freeze({
|
|
|
32046
32301
|
addonId: null,
|
|
32047
32302
|
access: "view"
|
|
32048
32303
|
},
|
|
32304
|
+
"storageMigration.cancel": {
|
|
32305
|
+
capName: "storage-migration",
|
|
32306
|
+
capScope: "system",
|
|
32307
|
+
addonId: null,
|
|
32308
|
+
access: "create"
|
|
32309
|
+
},
|
|
32310
|
+
"storageMigration.plan": {
|
|
32311
|
+
capName: "storage-migration",
|
|
32312
|
+
capScope: "system",
|
|
32313
|
+
addonId: null,
|
|
32314
|
+
access: "view"
|
|
32315
|
+
},
|
|
32316
|
+
"storageMigration.start": {
|
|
32317
|
+
capName: "storage-migration",
|
|
32318
|
+
capScope: "system",
|
|
32319
|
+
addonId: null,
|
|
32320
|
+
access: "create"
|
|
32321
|
+
},
|
|
32322
|
+
"storageMigration.status": {
|
|
32323
|
+
capName: "storage-migration",
|
|
32324
|
+
capScope: "system",
|
|
32325
|
+
addonId: null,
|
|
32326
|
+
access: "view"
|
|
32327
|
+
},
|
|
32049
32328
|
"storageProvider.abortUpload": {
|
|
32050
32329
|
capName: "storage-provider",
|
|
32051
32330
|
capScope: "system",
|
|
@@ -32424,12 +32703,42 @@ Object.freeze({
|
|
|
32424
32703
|
addonId: null,
|
|
32425
32704
|
access: "create"
|
|
32426
32705
|
},
|
|
32706
|
+
"terminalSession.adoptLegacyMonitor": {
|
|
32707
|
+
capName: "terminal-session",
|
|
32708
|
+
capScope: "system",
|
|
32709
|
+
addonId: null,
|
|
32710
|
+
access: "create"
|
|
32711
|
+
},
|
|
32427
32712
|
"terminalSession.close": {
|
|
32428
32713
|
capName: "terminal-session",
|
|
32429
32714
|
capScope: "system",
|
|
32430
32715
|
addonId: null,
|
|
32431
32716
|
access: "create"
|
|
32432
32717
|
},
|
|
32718
|
+
"terminalSession.createInstance": {
|
|
32719
|
+
capName: "terminal-session",
|
|
32720
|
+
capScope: "system",
|
|
32721
|
+
addonId: null,
|
|
32722
|
+
access: "create"
|
|
32723
|
+
},
|
|
32724
|
+
"terminalSession.deleteInstance": {
|
|
32725
|
+
capName: "terminal-session",
|
|
32726
|
+
capScope: "system",
|
|
32727
|
+
addonId: null,
|
|
32728
|
+
access: "delete"
|
|
32729
|
+
},
|
|
32730
|
+
"terminalSession.listInstances": {
|
|
32731
|
+
capName: "terminal-session",
|
|
32732
|
+
capScope: "system",
|
|
32733
|
+
addonId: null,
|
|
32734
|
+
access: "view"
|
|
32735
|
+
},
|
|
32736
|
+
"terminalSession.listLegacyCameras": {
|
|
32737
|
+
capName: "terminal-session",
|
|
32738
|
+
capScope: "system",
|
|
32739
|
+
addonId: null,
|
|
32740
|
+
access: "view"
|
|
32741
|
+
},
|
|
32433
32742
|
"terminalSession.listProfiles": {
|
|
32434
32743
|
capName: "terminal-session",
|
|
32435
32744
|
capScope: "system",
|
|
@@ -32448,12 +32757,30 @@ Object.freeze({
|
|
|
32448
32757
|
addonId: null,
|
|
32449
32758
|
access: "create"
|
|
32450
32759
|
},
|
|
32760
|
+
"terminalSession.pullOutput": {
|
|
32761
|
+
capName: "terminal-session",
|
|
32762
|
+
capScope: "system",
|
|
32763
|
+
addonId: null,
|
|
32764
|
+
access: "create"
|
|
32765
|
+
},
|
|
32451
32766
|
"terminalSession.resize": {
|
|
32452
32767
|
capName: "terminal-session",
|
|
32453
32768
|
capScope: "system",
|
|
32454
32769
|
addonId: null,
|
|
32455
32770
|
access: "create"
|
|
32456
32771
|
},
|
|
32772
|
+
"terminalSession.setInstanceEnabled": {
|
|
32773
|
+
capName: "terminal-session",
|
|
32774
|
+
capScope: "system",
|
|
32775
|
+
addonId: null,
|
|
32776
|
+
access: "create"
|
|
32777
|
+
},
|
|
32778
|
+
"terminalSession.writeInput": {
|
|
32779
|
+
capName: "terminal-session",
|
|
32780
|
+
capScope: "system",
|
|
32781
|
+
addonId: null,
|
|
32782
|
+
access: "create"
|
|
32783
|
+
},
|
|
32457
32784
|
"toast.onToast": {
|
|
32458
32785
|
capName: "toast",
|
|
32459
32786
|
capScope: "system",
|
package/dist/addon.mjs
CHANGED
|
@@ -7723,12 +7723,11 @@ var RecordingConfigSchema = object({
|
|
|
7723
7723
|
/**
|
|
7724
7724
|
* Entity-relocation job state (storage entity-routing spec, Phase 4).
|
|
7725
7725
|
*
|
|
7726
|
-
* One shape shared by the recorder
|
|
7727
|
-
*
|
|
7728
|
-
*
|
|
7729
|
-
*
|
|
7730
|
-
*
|
|
7731
|
-
* row on the owning addon's surface.
|
|
7726
|
+
* One shape shared by the recorder and pipeline-analytics internal movers.
|
|
7727
|
+
* The public admin surface is `storage-migration`; child jobs remain in RAM
|
|
7728
|
+
* because copy-if-absent, verify, delete and index/row repoint are resumable.
|
|
7729
|
+
* Each completed/failed run also lands one durable ops-log row on its owning
|
|
7730
|
+
* addon surface.
|
|
7732
7731
|
*/
|
|
7733
7732
|
var RelocateJobStateSchema = _enum([
|
|
7734
7733
|
"running",
|
|
@@ -7755,19 +7754,100 @@ var RelocateJobSchema = object({
|
|
|
7755
7754
|
finishedAt: number().nullable(),
|
|
7756
7755
|
error: string().nullable()
|
|
7757
7756
|
});
|
|
7757
|
+
/** Profile-derived footage selection used only by the migration coordinator:
|
|
7758
|
+
* `recordings` owns high+mid; `recordingsLow` owns low. */
|
|
7759
|
+
var RelocateFootageClassSchema = _enum(["recordings", "recordingsLow"]);
|
|
7758
7760
|
var RelocateFootageInputSchema = object({
|
|
7759
|
-
deviceId: number().optional(),
|
|
7760
7761
|
fromLocationId: string(),
|
|
7761
7762
|
toLocationId: string(),
|
|
7762
7763
|
entities: array(_enum(["segments"])).optional(),
|
|
7764
|
+
/** Limits relocation to the logical profile class. Omit only for the
|
|
7765
|
+
* pre-orchestration compatibility path. */
|
|
7766
|
+
footageClass: RelocateFootageClassSchema.optional(),
|
|
7763
7767
|
/** Copy throttle in MB/s (default 40) — the drain is a background chore,
|
|
7764
7768
|
* never allowed to starve live writers. */
|
|
7765
7769
|
throttleMbps: number().min(1).max(1e3).optional()
|
|
7766
7770
|
});
|
|
7767
|
-
|
|
7768
|
-
|
|
7771
|
+
/** Internal, lease-scoped participant operation. It is intentionally separate
|
|
7772
|
+
* from persistent recording settings: a migration never changes
|
|
7773
|
+
* `RecordingConfig.enabled` or camera wrapper bindings. */
|
|
7774
|
+
var StorageMigrationLeaseInputSchema = object({ leaseId: string().min(1) });
|
|
7775
|
+
var StorageMigrationFootageMoveInputSchema = RelocateFootageInputSchema.extend({ leaseId: string().min(1) });
|
|
7776
|
+
var StorageMigrationMediaMoveInputSchema = object({
|
|
7769
7777
|
toLocationId: string(),
|
|
7770
7778
|
throttleMbps: number().min(1).max(1e3).optional()
|
|
7779
|
+
}).extend({ leaseId: string().min(1) });
|
|
7780
|
+
/** The independently selectable logical storage classes. `recordings`
|
|
7781
|
+
* encompasses the high and mid segment profiles; `recordingsLow` is low
|
|
7782
|
+
* segments; `eventMedia` is post-analysis blobs. */
|
|
7783
|
+
var StorageMigrationClassSchema = _enum([
|
|
7784
|
+
"recordings",
|
|
7785
|
+
"recordingsLow",
|
|
7786
|
+
"eventMedia"
|
|
7787
|
+
]);
|
|
7788
|
+
/** A destination is always an existing, fully-qualified location id. The
|
|
7789
|
+
* migration API intentionally never changes a source location's `basePath`:
|
|
7790
|
+
* callers create a new `<type>:<slug>` location, then select it here. */
|
|
7791
|
+
var StorageMigrationDestinationsSchema = object({
|
|
7792
|
+
recordings: string().min(1).optional(),
|
|
7793
|
+
recordingsLow: string().min(1).optional(),
|
|
7794
|
+
eventMedia: string().min(1).optional()
|
|
7795
|
+
}).refine((value) => Object.keys(value).length > 0, { message: "select at least one storage class" });
|
|
7796
|
+
/** Shared input for planning and starting an orchestrated storage migration. */
|
|
7797
|
+
var StorageMigrationInputSchema = object({
|
|
7798
|
+
destinations: StorageMigrationDestinationsSchema,
|
|
7799
|
+
throttleMbps: number().min(1).max(1e3).optional()
|
|
7800
|
+
});
|
|
7801
|
+
/** The durable coordinator state machine. The only phase that changes default
|
|
7802
|
+
* locations is `repointing`, after every selected mover has completed and been
|
|
7803
|
+
* verified. */
|
|
7804
|
+
var StorageMigrationPhaseSchema = _enum([
|
|
7805
|
+
"planning",
|
|
7806
|
+
"pausing",
|
|
7807
|
+
"moving",
|
|
7808
|
+
"verifying",
|
|
7809
|
+
"repointing",
|
|
7810
|
+
"refreshing",
|
|
7811
|
+
"resuming",
|
|
7812
|
+
"done",
|
|
7813
|
+
"failed",
|
|
7814
|
+
"cancelled"
|
|
7815
|
+
]);
|
|
7816
|
+
var StorageMigrationParticipantSchema = _enum([
|
|
7817
|
+
"pipeline",
|
|
7818
|
+
"recorder",
|
|
7819
|
+
"analytics"
|
|
7820
|
+
]);
|
|
7821
|
+
var StorageMigrationMoveSchema = object({
|
|
7822
|
+
storageClass: StorageMigrationClassSchema,
|
|
7823
|
+
fromLocationId: string(),
|
|
7824
|
+
toLocationId: string(),
|
|
7825
|
+
moverJobId: string().nullable(),
|
|
7826
|
+
state: RelocateJobStateSchema.nullable(),
|
|
7827
|
+
error: string().nullable()
|
|
7828
|
+
});
|
|
7829
|
+
var StorageMigrationJobSchema = object({
|
|
7830
|
+
jobId: string(),
|
|
7831
|
+
phase: StorageMigrationPhaseSchema,
|
|
7832
|
+
destinations: StorageMigrationDestinationsSchema,
|
|
7833
|
+
throttleMbps: number(),
|
|
7834
|
+
moves: array(StorageMigrationMoveSchema),
|
|
7835
|
+
pauseLeaseId: string().nullable(),
|
|
7836
|
+
pausedParticipants: array(StorageMigrationParticipantSchema),
|
|
7837
|
+
repointed: boolean(),
|
|
7838
|
+
cancelRequested: boolean(),
|
|
7839
|
+
startedAt: number(),
|
|
7840
|
+
updatedAt: number(),
|
|
7841
|
+
finishedAt: number().nullable(),
|
|
7842
|
+
error: string().nullable()
|
|
7843
|
+
});
|
|
7844
|
+
var StorageMigrationPlanSchema = object({
|
|
7845
|
+
destinations: StorageMigrationDestinationsSchema,
|
|
7846
|
+
moves: array(object({
|
|
7847
|
+
storageClass: StorageMigrationClassSchema,
|
|
7848
|
+
fromLocationId: string(),
|
|
7849
|
+
toLocationId: string()
|
|
7850
|
+
}))
|
|
7771
7851
|
});
|
|
7772
7852
|
/**
|
|
7773
7853
|
* `StorageLocationType` — an addon-declared id that identifies the *kind* of
|
|
@@ -16506,13 +16586,19 @@ DeviceType.Camera, method(object({ deviceId: number() }), array(TrackSchema).rea
|
|
|
16506
16586
|
}), method(object({ deviceId: number() }), EventPruneCountsSchema, {
|
|
16507
16587
|
kind: "mutation",
|
|
16508
16588
|
auth: "admin"
|
|
16509
|
-
}), method(
|
|
16589
|
+
}), method(StorageMigrationLeaseInputSchema, object({ paused: literal(true) }), {
|
|
16510
16590
|
kind: "mutation",
|
|
16511
16591
|
auth: "admin"
|
|
16512
|
-
}), method(object({
|
|
16513
|
-
kind: "
|
|
16592
|
+
}), method(StorageMigrationLeaseInputSchema, object({ resumed: literal(true) }), {
|
|
16593
|
+
kind: "mutation",
|
|
16514
16594
|
auth: "admin"
|
|
16515
|
-
}), method(
|
|
16595
|
+
}), method(StorageMigrationLeaseInputSchema, object({ refreshed: literal(true) }), {
|
|
16596
|
+
kind: "mutation",
|
|
16597
|
+
auth: "admin"
|
|
16598
|
+
}), method(StorageMigrationMediaMoveInputSchema, object({ jobId: string() }), {
|
|
16599
|
+
kind: "mutation",
|
|
16600
|
+
auth: "admin"
|
|
16601
|
+
}), method(object({ jobId: string() }), RelocateJobSchema.nullable(), { auth: "admin" }), method(object({ jobId: string() }), object({ cancelled: boolean() }), {
|
|
16516
16602
|
kind: "mutation",
|
|
16517
16603
|
auth: "admin"
|
|
16518
16604
|
}), method(OpsLogQueryInputSchema, array(OpsLogEntrySchema).readonly(), {
|
|
@@ -18042,7 +18128,13 @@ var NodeInferenceDevicesSchema = object({
|
|
|
18042
18128
|
reachable: boolean(),
|
|
18043
18129
|
devices: array(NodeInferenceDeviceSchema).readonly()
|
|
18044
18130
|
});
|
|
18045
|
-
method(object({
|
|
18131
|
+
method(StorageMigrationLeaseInputSchema, object({ paused: literal(true) }), {
|
|
18132
|
+
kind: "mutation",
|
|
18133
|
+
auth: "admin"
|
|
18134
|
+
}), method(StorageMigrationLeaseInputSchema, object({ resumed: literal(true) }), {
|
|
18135
|
+
kind: "mutation",
|
|
18136
|
+
auth: "admin"
|
|
18137
|
+
}), method(object({
|
|
18046
18138
|
deviceId: number(),
|
|
18047
18139
|
agentNodeId: string()
|
|
18048
18140
|
}), object({ success: literal(true) }), {
|
|
@@ -18716,6 +18808,13 @@ method(object({ locationId: string() }), EvictableUsageSchema), method(object({
|
|
|
18716
18808
|
locationId: string(),
|
|
18717
18809
|
targetBytes: number().int().positive()
|
|
18718
18810
|
}), EvictResultSchema, { kind: "mutation" });
|
|
18811
|
+
method(StorageMigrationInputSchema, StorageMigrationPlanSchema, { auth: "admin" }), method(StorageMigrationInputSchema, object({ jobId: string() }), {
|
|
18812
|
+
kind: "mutation",
|
|
18813
|
+
auth: "admin"
|
|
18814
|
+
}), method(object({ jobId: string().optional() }), StorageMigrationJobSchema.nullable(), { auth: "admin" }), method(object({ jobId: string() }), object({ cancelled: boolean() }), {
|
|
18815
|
+
kind: "mutation",
|
|
18816
|
+
auth: "admin"
|
|
18817
|
+
});
|
|
18719
18818
|
var ProviderInfoSchema = discriminatedUnion("shouldSaveDiskSpace", [object({
|
|
18720
18819
|
providerId: string().min(1),
|
|
18721
18820
|
displayName: string().min(1),
|
|
@@ -18819,7 +18918,67 @@ var TerminalProfileInfoSchema = object({
|
|
|
18819
18918
|
label: string(),
|
|
18820
18919
|
description: string().optional()
|
|
18821
18920
|
});
|
|
18822
|
-
|
|
18921
|
+
/**
|
|
18922
|
+
* A durable operator-created Terminal instance. Profiles are templates; only
|
|
18923
|
+
* an instance declares a camera.
|
|
18924
|
+
*/
|
|
18925
|
+
var TerminalInstanceInfoSchema = object({
|
|
18926
|
+
instanceId: string(),
|
|
18927
|
+
cameraStableId: string(),
|
|
18928
|
+
nodeId: string(),
|
|
18929
|
+
profileId: string(),
|
|
18930
|
+
profileLabel: string(),
|
|
18931
|
+
name: string(),
|
|
18932
|
+
enabled: boolean()
|
|
18933
|
+
});
|
|
18934
|
+
var TerminalLegacyCameraSchema = object({
|
|
18935
|
+
stableId: string(),
|
|
18936
|
+
nodeId: string(),
|
|
18937
|
+
profileId: string(),
|
|
18938
|
+
profileLabel: string(),
|
|
18939
|
+
name: string(),
|
|
18940
|
+
/** Only legacy monitor cameras can retain their historic stable identity. */
|
|
18941
|
+
adoptable: boolean()
|
|
18942
|
+
});
|
|
18943
|
+
var TerminalOutputEventSchema = discriminatedUnion("kind", [object({
|
|
18944
|
+
seq: number().int().positive(),
|
|
18945
|
+
kind: literal("data"),
|
|
18946
|
+
data: string()
|
|
18947
|
+
}), object({
|
|
18948
|
+
seq: number().int().positive(),
|
|
18949
|
+
kind: literal("exit"),
|
|
18950
|
+
exitCode: number().int(),
|
|
18951
|
+
signal: number().int().optional()
|
|
18952
|
+
})]);
|
|
18953
|
+
var TerminalOutputBatchSchema = object({
|
|
18954
|
+
cursor: number().int().nonnegative(),
|
|
18955
|
+
reset: boolean(),
|
|
18956
|
+
snapshot: string().optional(),
|
|
18957
|
+
events: array(TerminalOutputEventSchema).readonly()
|
|
18958
|
+
});
|
|
18959
|
+
method(_void(), array(TerminalProfileInfoSchema).readonly(), { auth: "admin" }), method(_void(), array(TerminalInstanceInfoSchema).readonly(), { auth: "admin" }), method(object({
|
|
18960
|
+
targetNodeId: string().min(1),
|
|
18961
|
+
profileId: string().min(1),
|
|
18962
|
+
name: string().trim().min(1).max(160).optional()
|
|
18963
|
+
}), TerminalInstanceInfoSchema, {
|
|
18964
|
+
kind: "mutation",
|
|
18965
|
+
auth: "admin"
|
|
18966
|
+
}), method(object({ instanceId: string().min(1) }), _void(), {
|
|
18967
|
+
kind: "mutation",
|
|
18968
|
+
auth: "admin"
|
|
18969
|
+
}), method(object({
|
|
18970
|
+
instanceId: string().min(1),
|
|
18971
|
+
enabled: boolean()
|
|
18972
|
+
}), TerminalInstanceInfoSchema, {
|
|
18973
|
+
kind: "mutation",
|
|
18974
|
+
auth: "admin"
|
|
18975
|
+
}), method(_void(), array(TerminalLegacyCameraSchema).readonly(), { auth: "admin" }), method(object({
|
|
18976
|
+
stableId: string().min(1),
|
|
18977
|
+
name: string().trim().min(1).max(160).optional()
|
|
18978
|
+
}), TerminalInstanceInfoSchema, {
|
|
18979
|
+
kind: "mutation",
|
|
18980
|
+
auth: "admin"
|
|
18981
|
+
}), method(_void(), array(TerminalSessionInfoSchema).readonly(), { auth: "admin" }), method(object({
|
|
18823
18982
|
profileId: string(),
|
|
18824
18983
|
cols: number().int().positive(),
|
|
18825
18984
|
rows: number().int().positive()
|
|
@@ -18833,6 +18992,26 @@ method(_void(), array(TerminalProfileInfoSchema).readonly(), { auth: "admin" }),
|
|
|
18833
18992
|
}), _void(), {
|
|
18834
18993
|
kind: "mutation",
|
|
18835
18994
|
auth: "admin"
|
|
18995
|
+
}), method(object({
|
|
18996
|
+
sessionId: string(),
|
|
18997
|
+
afterSeq: number().int().nonnegative(),
|
|
18998
|
+
waitMs: number().int().min(0).max(2e3).default(0),
|
|
18999
|
+
/**
|
|
19000
|
+
* Wait when a just-opened session has no output yet. Kept opt-in so a
|
|
19001
|
+
* browser's initial repaint remains immediate; the camera snapshot
|
|
19002
|
+
* relay uses it to avoid encoding a blank startup frame.
|
|
19003
|
+
*/
|
|
19004
|
+
waitForOutput: boolean().optional()
|
|
19005
|
+
}), TerminalOutputBatchSchema, {
|
|
19006
|
+
kind: "mutation",
|
|
19007
|
+
auth: "admin",
|
|
19008
|
+
timeoutMs: 15e3
|
|
19009
|
+
}), method(object({
|
|
19010
|
+
sessionId: string(),
|
|
19011
|
+
data: string().max(64 * 1024)
|
|
19012
|
+
}), _void(), {
|
|
19013
|
+
kind: "mutation",
|
|
19014
|
+
auth: "admin"
|
|
18836
19015
|
}), method(object({ sessionId: string() }), _void(), {
|
|
18837
19016
|
kind: "mutation",
|
|
18838
19017
|
auth: "admin"
|
|
@@ -21337,6 +21516,7 @@ var FaceInfoSchema = object({
|
|
|
21337
21516
|
var FaceFilterEnum = _enum([
|
|
21338
21517
|
"unassigned",
|
|
21339
21518
|
"recognized",
|
|
21519
|
+
"identified",
|
|
21340
21520
|
"all"
|
|
21341
21521
|
]);
|
|
21342
21522
|
var MediaFileLiteSchema$1 = object({
|
|
@@ -21365,6 +21545,8 @@ method(_void(), array(IdentitySchema).readonly()), method(object({ name: string(
|
|
|
21365
21545
|
kind: "mutation",
|
|
21366
21546
|
auth: "admin"
|
|
21367
21547
|
}), method(object({
|
|
21548
|
+
/** Restrict to one camera. Absent keeps the cluster-wide gallery view. */
|
|
21549
|
+
deviceId: number().int().optional(),
|
|
21368
21550
|
limit: number().int().positive().optional(),
|
|
21369
21551
|
filter: FaceFilterEnum.optional(),
|
|
21370
21552
|
/**
|
|
@@ -23594,6 +23776,10 @@ var OsdSourceSchema = discriminatedUnion("kind", [
|
|
|
23594
23776
|
capName: string().min(1).max(64),
|
|
23595
23777
|
/** Dot path inside the slice, e.g. `detected`, `value`, `mode`. */
|
|
23596
23778
|
valuePath: string().min(1).max(64)
|
|
23779
|
+
}),
|
|
23780
|
+
object({
|
|
23781
|
+
kind: literal("latest-recognition"),
|
|
23782
|
+
recognition: _enum(["person", "plate"])
|
|
23597
23783
|
})
|
|
23598
23784
|
]);
|
|
23599
23785
|
var OsdSlotBindingSchema = object({
|
|
@@ -23699,6 +23885,15 @@ method(object({ deviceId: number().int() }), object({
|
|
|
23699
23885
|
}), object({ success: literal(true) }), {
|
|
23700
23886
|
kind: "mutation",
|
|
23701
23887
|
auth: "admin"
|
|
23888
|
+
}), method(object({
|
|
23889
|
+
sourceDeviceId: number().int(),
|
|
23890
|
+
targetDeviceId: number().int()
|
|
23891
|
+
}), object({
|
|
23892
|
+
copied: number().int().nonnegative(),
|
|
23893
|
+
skipped: number().int().nonnegative()
|
|
23894
|
+
}), {
|
|
23895
|
+
kind: "mutation",
|
|
23896
|
+
auth: "admin"
|
|
23702
23897
|
}), method(object({
|
|
23703
23898
|
deviceId: number().int(),
|
|
23704
23899
|
slotId: string().min(1),
|
|
@@ -24796,13 +24991,19 @@ method(object({
|
|
|
24796
24991
|
}), {
|
|
24797
24992
|
kind: "mutation",
|
|
24798
24993
|
auth: "admin"
|
|
24799
|
-
}), method(
|
|
24994
|
+
}), method(StorageMigrationLeaseInputSchema, object({ paused: literal(true) }), {
|
|
24800
24995
|
kind: "mutation",
|
|
24801
24996
|
auth: "admin"
|
|
24802
|
-
}), method(object({
|
|
24803
|
-
kind: "
|
|
24997
|
+
}), method(StorageMigrationLeaseInputSchema, object({ resumed: literal(true) }), {
|
|
24998
|
+
kind: "mutation",
|
|
24804
24999
|
auth: "admin"
|
|
24805
|
-
}), method(
|
|
25000
|
+
}), method(StorageMigrationLeaseInputSchema, object({ refreshed: literal(true) }), {
|
|
25001
|
+
kind: "mutation",
|
|
25002
|
+
auth: "admin"
|
|
25003
|
+
}), method(StorageMigrationFootageMoveInputSchema, object({ jobId: string() }), {
|
|
25004
|
+
kind: "mutation",
|
|
25005
|
+
auth: "admin"
|
|
25006
|
+
}), method(object({ jobId: string() }), RelocateJobSchema.nullable(), { auth: "admin" }), method(object({ jobId: string() }), object({ cancelled: boolean() }), {
|
|
24806
25007
|
kind: "mutation",
|
|
24807
25008
|
auth: "admin"
|
|
24808
25009
|
});
|
|
@@ -30408,6 +30609,12 @@ Object.freeze({
|
|
|
30408
30609
|
addonId: null,
|
|
30409
30610
|
access: "delete"
|
|
30410
30611
|
},
|
|
30612
|
+
"osdManager.copyDeviceConfiguration": {
|
|
30613
|
+
capName: "osd-manager",
|
|
30614
|
+
capScope: "system",
|
|
30615
|
+
addonId: null,
|
|
30616
|
+
access: "create"
|
|
30617
|
+
},
|
|
30411
30618
|
"osdManager.getConditionSupport": {
|
|
30412
30619
|
capName: "osd-manager",
|
|
30413
30620
|
capScope: "system",
|
|
@@ -30504,7 +30711,7 @@ Object.freeze({
|
|
|
30504
30711
|
addonId: null,
|
|
30505
30712
|
access: "create"
|
|
30506
30713
|
},
|
|
30507
|
-
"pipelineAnalytics.
|
|
30714
|
+
"pipelineAnalytics.cancelStorageMigrationMove": {
|
|
30508
30715
|
capName: "pipeline-analytics",
|
|
30509
30716
|
capScope: "device",
|
|
30510
30717
|
addonId: null,
|
|
@@ -30576,12 +30783,6 @@ Object.freeze({
|
|
|
30576
30783
|
addonId: null,
|
|
30577
30784
|
access: "view"
|
|
30578
30785
|
},
|
|
30579
|
-
"pipelineAnalytics.getMediaRelocateStatus": {
|
|
30580
|
-
capName: "pipeline-analytics",
|
|
30581
|
-
capScope: "device",
|
|
30582
|
-
addonId: null,
|
|
30583
|
-
access: "view"
|
|
30584
|
-
},
|
|
30585
30786
|
"pipelineAnalytics.getMotionEvents": {
|
|
30586
30787
|
capName: "pipeline-analytics",
|
|
30587
30788
|
capScope: "device",
|
|
@@ -30618,6 +30819,12 @@ Object.freeze({
|
|
|
30618
30819
|
addonId: null,
|
|
30619
30820
|
access: "view"
|
|
30620
30821
|
},
|
|
30822
|
+
"pipelineAnalytics.getStorageMigrationMoveStatus": {
|
|
30823
|
+
capName: "pipeline-analytics",
|
|
30824
|
+
capScope: "device",
|
|
30825
|
+
addonId: null,
|
|
30826
|
+
access: "view"
|
|
30827
|
+
},
|
|
30621
30828
|
"pipelineAnalytics.getTrack": {
|
|
30622
30829
|
capName: "pipeline-analytics",
|
|
30623
30830
|
capScope: "device",
|
|
@@ -30696,6 +30903,12 @@ Object.freeze({
|
|
|
30696
30903
|
addonId: null,
|
|
30697
30904
|
access: "view"
|
|
30698
30905
|
},
|
|
30906
|
+
"pipelineAnalytics.pauseForStorageMigration": {
|
|
30907
|
+
capName: "pipeline-analytics",
|
|
30908
|
+
capScope: "device",
|
|
30909
|
+
addonId: null,
|
|
30910
|
+
access: "create"
|
|
30911
|
+
},
|
|
30699
30912
|
"pipelineAnalytics.proposeRetrainAnnotations": {
|
|
30700
30913
|
capName: "pipeline-analytics",
|
|
30701
30914
|
capScope: "device",
|
|
@@ -30726,7 +30939,7 @@ Object.freeze({
|
|
|
30726
30939
|
addonId: null,
|
|
30727
30940
|
access: "create"
|
|
30728
30941
|
},
|
|
30729
|
-
"pipelineAnalytics.
|
|
30942
|
+
"pipelineAnalytics.refreshStorageLocationsForMigration": {
|
|
30730
30943
|
capName: "pipeline-analytics",
|
|
30731
30944
|
capScope: "device",
|
|
30732
30945
|
addonId: null,
|
|
@@ -30738,6 +30951,12 @@ Object.freeze({
|
|
|
30738
30951
|
addonId: null,
|
|
30739
30952
|
access: "create"
|
|
30740
30953
|
},
|
|
30954
|
+
"pipelineAnalytics.resumeForStorageMigration": {
|
|
30955
|
+
capName: "pipeline-analytics",
|
|
30956
|
+
capScope: "device",
|
|
30957
|
+
addonId: null,
|
|
30958
|
+
access: "create"
|
|
30959
|
+
},
|
|
30741
30960
|
"pipelineAnalytics.saveRetrainAnnotations": {
|
|
30742
30961
|
capName: "pipeline-analytics",
|
|
30743
30962
|
capScope: "device",
|
|
@@ -30762,6 +30981,12 @@ Object.freeze({
|
|
|
30762
30981
|
addonId: null,
|
|
30763
30982
|
access: "create"
|
|
30764
30983
|
},
|
|
30984
|
+
"pipelineAnalytics.startStorageMigrationMove": {
|
|
30985
|
+
capName: "pipeline-analytics",
|
|
30986
|
+
capScope: "device",
|
|
30987
|
+
addonId: null,
|
|
30988
|
+
access: "create"
|
|
30989
|
+
},
|
|
30765
30990
|
"pipelineAnalytics.wipeAllAnalytics": {
|
|
30766
30991
|
capName: "pipeline-analytics",
|
|
30767
30992
|
capScope: "device",
|
|
@@ -31128,6 +31353,12 @@ Object.freeze({
|
|
|
31128
31353
|
addonId: null,
|
|
31129
31354
|
access: "view"
|
|
31130
31355
|
},
|
|
31356
|
+
"pipelineOrchestrator.pauseForStorageMigration": {
|
|
31357
|
+
capName: "pipeline-orchestrator",
|
|
31358
|
+
capScope: "system",
|
|
31359
|
+
addonId: null,
|
|
31360
|
+
access: "create"
|
|
31361
|
+
},
|
|
31131
31362
|
"pipelineOrchestrator.rebalance": {
|
|
31132
31363
|
capName: "pipeline-orchestrator",
|
|
31133
31364
|
capScope: "system",
|
|
@@ -31152,6 +31383,12 @@ Object.freeze({
|
|
|
31152
31383
|
addonId: null,
|
|
31153
31384
|
access: "view"
|
|
31154
31385
|
},
|
|
31386
|
+
"pipelineOrchestrator.resumeForStorageMigration": {
|
|
31387
|
+
capName: "pipeline-orchestrator",
|
|
31388
|
+
capScope: "system",
|
|
31389
|
+
addonId: null,
|
|
31390
|
+
access: "create"
|
|
31391
|
+
},
|
|
31155
31392
|
"pipelineOrchestrator.saveTemplate": {
|
|
31156
31393
|
capName: "pipeline-orchestrator",
|
|
31157
31394
|
capScope: "system",
|
|
@@ -31548,7 +31785,7 @@ Object.freeze({
|
|
|
31548
31785
|
addonId: null,
|
|
31549
31786
|
access: "create"
|
|
31550
31787
|
},
|
|
31551
|
-
"recording.
|
|
31788
|
+
"recording.cancelStorageMigrationMove": {
|
|
31552
31789
|
capName: "recording",
|
|
31553
31790
|
capScope: "system",
|
|
31554
31791
|
addonId: null,
|
|
@@ -31584,7 +31821,7 @@ Object.freeze({
|
|
|
31584
31821
|
addonId: null,
|
|
31585
31822
|
access: "view"
|
|
31586
31823
|
},
|
|
31587
|
-
"recording.
|
|
31824
|
+
"recording.getStorageMigrationMoveStatus": {
|
|
31588
31825
|
capName: "recording",
|
|
31589
31826
|
capScope: "system",
|
|
31590
31827
|
addonId: null,
|
|
@@ -31608,6 +31845,12 @@ Object.freeze({
|
|
|
31608
31845
|
addonId: null,
|
|
31609
31846
|
access: "view"
|
|
31610
31847
|
},
|
|
31848
|
+
"recording.pauseForStorageMigration": {
|
|
31849
|
+
capName: "recording",
|
|
31850
|
+
capScope: "system",
|
|
31851
|
+
addonId: null,
|
|
31852
|
+
access: "create"
|
|
31853
|
+
},
|
|
31611
31854
|
"recording.pruneFootage": {
|
|
31612
31855
|
capName: "recording",
|
|
31613
31856
|
capScope: "system",
|
|
@@ -31626,7 +31869,7 @@ Object.freeze({
|
|
|
31626
31869
|
addonId: null,
|
|
31627
31870
|
access: "view"
|
|
31628
31871
|
},
|
|
31629
|
-
"recording.
|
|
31872
|
+
"recording.refreshStorageLocationsForMigration": {
|
|
31630
31873
|
capName: "recording",
|
|
31631
31874
|
capScope: "system",
|
|
31632
31875
|
addonId: null,
|
|
@@ -31650,12 +31893,24 @@ Object.freeze({
|
|
|
31650
31893
|
addonId: null,
|
|
31651
31894
|
access: "create"
|
|
31652
31895
|
},
|
|
31896
|
+
"recording.resumeForStorageMigration": {
|
|
31897
|
+
capName: "recording",
|
|
31898
|
+
capScope: "system",
|
|
31899
|
+
addonId: null,
|
|
31900
|
+
access: "create"
|
|
31901
|
+
},
|
|
31653
31902
|
"recording.setDeviceConfig": {
|
|
31654
31903
|
capName: "recording",
|
|
31655
31904
|
capScope: "system",
|
|
31656
31905
|
addonId: null,
|
|
31657
31906
|
access: "create"
|
|
31658
31907
|
},
|
|
31908
|
+
"recording.startStorageMigrationMove": {
|
|
31909
|
+
capName: "recording",
|
|
31910
|
+
capScope: "system",
|
|
31911
|
+
addonId: null,
|
|
31912
|
+
access: "create"
|
|
31913
|
+
},
|
|
31659
31914
|
"recordingExport.cancelExport": {
|
|
31660
31915
|
capName: "recordingExport",
|
|
31661
31916
|
capScope: "system",
|
|
@@ -32046,6 +32301,30 @@ Object.freeze({
|
|
|
32046
32301
|
addonId: null,
|
|
32047
32302
|
access: "view"
|
|
32048
32303
|
},
|
|
32304
|
+
"storageMigration.cancel": {
|
|
32305
|
+
capName: "storage-migration",
|
|
32306
|
+
capScope: "system",
|
|
32307
|
+
addonId: null,
|
|
32308
|
+
access: "create"
|
|
32309
|
+
},
|
|
32310
|
+
"storageMigration.plan": {
|
|
32311
|
+
capName: "storage-migration",
|
|
32312
|
+
capScope: "system",
|
|
32313
|
+
addonId: null,
|
|
32314
|
+
access: "view"
|
|
32315
|
+
},
|
|
32316
|
+
"storageMigration.start": {
|
|
32317
|
+
capName: "storage-migration",
|
|
32318
|
+
capScope: "system",
|
|
32319
|
+
addonId: null,
|
|
32320
|
+
access: "create"
|
|
32321
|
+
},
|
|
32322
|
+
"storageMigration.status": {
|
|
32323
|
+
capName: "storage-migration",
|
|
32324
|
+
capScope: "system",
|
|
32325
|
+
addonId: null,
|
|
32326
|
+
access: "view"
|
|
32327
|
+
},
|
|
32049
32328
|
"storageProvider.abortUpload": {
|
|
32050
32329
|
capName: "storage-provider",
|
|
32051
32330
|
capScope: "system",
|
|
@@ -32424,12 +32703,42 @@ Object.freeze({
|
|
|
32424
32703
|
addonId: null,
|
|
32425
32704
|
access: "create"
|
|
32426
32705
|
},
|
|
32706
|
+
"terminalSession.adoptLegacyMonitor": {
|
|
32707
|
+
capName: "terminal-session",
|
|
32708
|
+
capScope: "system",
|
|
32709
|
+
addonId: null,
|
|
32710
|
+
access: "create"
|
|
32711
|
+
},
|
|
32427
32712
|
"terminalSession.close": {
|
|
32428
32713
|
capName: "terminal-session",
|
|
32429
32714
|
capScope: "system",
|
|
32430
32715
|
addonId: null,
|
|
32431
32716
|
access: "create"
|
|
32432
32717
|
},
|
|
32718
|
+
"terminalSession.createInstance": {
|
|
32719
|
+
capName: "terminal-session",
|
|
32720
|
+
capScope: "system",
|
|
32721
|
+
addonId: null,
|
|
32722
|
+
access: "create"
|
|
32723
|
+
},
|
|
32724
|
+
"terminalSession.deleteInstance": {
|
|
32725
|
+
capName: "terminal-session",
|
|
32726
|
+
capScope: "system",
|
|
32727
|
+
addonId: null,
|
|
32728
|
+
access: "delete"
|
|
32729
|
+
},
|
|
32730
|
+
"terminalSession.listInstances": {
|
|
32731
|
+
capName: "terminal-session",
|
|
32732
|
+
capScope: "system",
|
|
32733
|
+
addonId: null,
|
|
32734
|
+
access: "view"
|
|
32735
|
+
},
|
|
32736
|
+
"terminalSession.listLegacyCameras": {
|
|
32737
|
+
capName: "terminal-session",
|
|
32738
|
+
capScope: "system",
|
|
32739
|
+
addonId: null,
|
|
32740
|
+
access: "view"
|
|
32741
|
+
},
|
|
32433
32742
|
"terminalSession.listProfiles": {
|
|
32434
32743
|
capName: "terminal-session",
|
|
32435
32744
|
capScope: "system",
|
|
@@ -32448,12 +32757,30 @@ Object.freeze({
|
|
|
32448
32757
|
addonId: null,
|
|
32449
32758
|
access: "create"
|
|
32450
32759
|
},
|
|
32760
|
+
"terminalSession.pullOutput": {
|
|
32761
|
+
capName: "terminal-session",
|
|
32762
|
+
capScope: "system",
|
|
32763
|
+
addonId: null,
|
|
32764
|
+
access: "create"
|
|
32765
|
+
},
|
|
32451
32766
|
"terminalSession.resize": {
|
|
32452
32767
|
capName: "terminal-session",
|
|
32453
32768
|
capScope: "system",
|
|
32454
32769
|
addonId: null,
|
|
32455
32770
|
access: "create"
|
|
32456
32771
|
},
|
|
32772
|
+
"terminalSession.setInstanceEnabled": {
|
|
32773
|
+
capName: "terminal-session",
|
|
32774
|
+
capScope: "system",
|
|
32775
|
+
addonId: null,
|
|
32776
|
+
access: "create"
|
|
32777
|
+
},
|
|
32778
|
+
"terminalSession.writeInput": {
|
|
32779
|
+
capName: "terminal-session",
|
|
32780
|
+
capScope: "system",
|
|
32781
|
+
addonId: null,
|
|
32782
|
+
access: "create"
|
|
32783
|
+
},
|
|
32457
32784
|
"toast.onToast": {
|
|
32458
32785
|
capName: "toast",
|
|
32459
32786
|
capScope: "system",
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@camstack/addon-import-alexa",
|
|
3
|
-
"version": "0.2.
|
|
3
|
+
"version": "0.2.12",
|
|
4
4
|
"description": "Alexa device-import provider for CamStack — imports the smart-home devices in a user's Alexa account via the unofficial alexa-remote2 cookie/token client (the inverse of the Alexa exporter)",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"camstack",
|