@camstack/addon-provider-wyze 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
|
@@ -7582,12 +7582,11 @@ var RecordingConfigSchema = object({
|
|
|
7582
7582
|
/**
|
|
7583
7583
|
* Entity-relocation job state (storage entity-routing spec, Phase 4).
|
|
7584
7584
|
*
|
|
7585
|
-
* One shape shared by the recorder
|
|
7586
|
-
*
|
|
7587
|
-
*
|
|
7588
|
-
*
|
|
7589
|
-
*
|
|
7590
|
-
* row on the owning addon's surface.
|
|
7585
|
+
* One shape shared by the recorder and pipeline-analytics internal movers.
|
|
7586
|
+
* The public admin surface is `storage-migration`; child jobs remain in RAM
|
|
7587
|
+
* because copy-if-absent, verify, delete and index/row repoint are resumable.
|
|
7588
|
+
* Each completed/failed run also lands one durable ops-log row on its owning
|
|
7589
|
+
* addon surface.
|
|
7591
7590
|
*/
|
|
7592
7591
|
var RelocateJobStateSchema = _enum([
|
|
7593
7592
|
"running",
|
|
@@ -7614,19 +7613,100 @@ var RelocateJobSchema = object({
|
|
|
7614
7613
|
finishedAt: number().nullable(),
|
|
7615
7614
|
error: string().nullable()
|
|
7616
7615
|
});
|
|
7616
|
+
/** Profile-derived footage selection used only by the migration coordinator:
|
|
7617
|
+
* `recordings` owns high+mid; `recordingsLow` owns low. */
|
|
7618
|
+
var RelocateFootageClassSchema = _enum(["recordings", "recordingsLow"]);
|
|
7617
7619
|
var RelocateFootageInputSchema = object({
|
|
7618
|
-
deviceId: number().optional(),
|
|
7619
7620
|
fromLocationId: string(),
|
|
7620
7621
|
toLocationId: string(),
|
|
7621
7622
|
entities: array(_enum(["segments"])).optional(),
|
|
7623
|
+
/** Limits relocation to the logical profile class. Omit only for the
|
|
7624
|
+
* pre-orchestration compatibility path. */
|
|
7625
|
+
footageClass: RelocateFootageClassSchema.optional(),
|
|
7622
7626
|
/** Copy throttle in MB/s (default 40) — the drain is a background chore,
|
|
7623
7627
|
* never allowed to starve live writers. */
|
|
7624
7628
|
throttleMbps: number().min(1).max(1e3).optional()
|
|
7625
7629
|
});
|
|
7626
|
-
|
|
7627
|
-
|
|
7630
|
+
/** Internal, lease-scoped participant operation. It is intentionally separate
|
|
7631
|
+
* from persistent recording settings: a migration never changes
|
|
7632
|
+
* `RecordingConfig.enabled` or camera wrapper bindings. */
|
|
7633
|
+
var StorageMigrationLeaseInputSchema = object({ leaseId: string().min(1) });
|
|
7634
|
+
var StorageMigrationFootageMoveInputSchema = RelocateFootageInputSchema.extend({ leaseId: string().min(1) });
|
|
7635
|
+
var StorageMigrationMediaMoveInputSchema = object({
|
|
7628
7636
|
toLocationId: string(),
|
|
7629
7637
|
throttleMbps: number().min(1).max(1e3).optional()
|
|
7638
|
+
}).extend({ leaseId: string().min(1) });
|
|
7639
|
+
/** The independently selectable logical storage classes. `recordings`
|
|
7640
|
+
* encompasses the high and mid segment profiles; `recordingsLow` is low
|
|
7641
|
+
* segments; `eventMedia` is post-analysis blobs. */
|
|
7642
|
+
var StorageMigrationClassSchema = _enum([
|
|
7643
|
+
"recordings",
|
|
7644
|
+
"recordingsLow",
|
|
7645
|
+
"eventMedia"
|
|
7646
|
+
]);
|
|
7647
|
+
/** A destination is always an existing, fully-qualified location id. The
|
|
7648
|
+
* migration API intentionally never changes a source location's `basePath`:
|
|
7649
|
+
* callers create a new `<type>:<slug>` location, then select it here. */
|
|
7650
|
+
var StorageMigrationDestinationsSchema = object({
|
|
7651
|
+
recordings: string().min(1).optional(),
|
|
7652
|
+
recordingsLow: string().min(1).optional(),
|
|
7653
|
+
eventMedia: string().min(1).optional()
|
|
7654
|
+
}).refine((value) => Object.keys(value).length > 0, { message: "select at least one storage class" });
|
|
7655
|
+
/** Shared input for planning and starting an orchestrated storage migration. */
|
|
7656
|
+
var StorageMigrationInputSchema = object({
|
|
7657
|
+
destinations: StorageMigrationDestinationsSchema,
|
|
7658
|
+
throttleMbps: number().min(1).max(1e3).optional()
|
|
7659
|
+
});
|
|
7660
|
+
/** The durable coordinator state machine. The only phase that changes default
|
|
7661
|
+
* locations is `repointing`, after every selected mover has completed and been
|
|
7662
|
+
* verified. */
|
|
7663
|
+
var StorageMigrationPhaseSchema = _enum([
|
|
7664
|
+
"planning",
|
|
7665
|
+
"pausing",
|
|
7666
|
+
"moving",
|
|
7667
|
+
"verifying",
|
|
7668
|
+
"repointing",
|
|
7669
|
+
"refreshing",
|
|
7670
|
+
"resuming",
|
|
7671
|
+
"done",
|
|
7672
|
+
"failed",
|
|
7673
|
+
"cancelled"
|
|
7674
|
+
]);
|
|
7675
|
+
var StorageMigrationParticipantSchema = _enum([
|
|
7676
|
+
"pipeline",
|
|
7677
|
+
"recorder",
|
|
7678
|
+
"analytics"
|
|
7679
|
+
]);
|
|
7680
|
+
var StorageMigrationMoveSchema = object({
|
|
7681
|
+
storageClass: StorageMigrationClassSchema,
|
|
7682
|
+
fromLocationId: string(),
|
|
7683
|
+
toLocationId: string(),
|
|
7684
|
+
moverJobId: string().nullable(),
|
|
7685
|
+
state: RelocateJobStateSchema.nullable(),
|
|
7686
|
+
error: string().nullable()
|
|
7687
|
+
});
|
|
7688
|
+
var StorageMigrationJobSchema = object({
|
|
7689
|
+
jobId: string(),
|
|
7690
|
+
phase: StorageMigrationPhaseSchema,
|
|
7691
|
+
destinations: StorageMigrationDestinationsSchema,
|
|
7692
|
+
throttleMbps: number(),
|
|
7693
|
+
moves: array(StorageMigrationMoveSchema),
|
|
7694
|
+
pauseLeaseId: string().nullable(),
|
|
7695
|
+
pausedParticipants: array(StorageMigrationParticipantSchema),
|
|
7696
|
+
repointed: boolean(),
|
|
7697
|
+
cancelRequested: boolean(),
|
|
7698
|
+
startedAt: number(),
|
|
7699
|
+
updatedAt: number(),
|
|
7700
|
+
finishedAt: number().nullable(),
|
|
7701
|
+
error: string().nullable()
|
|
7702
|
+
});
|
|
7703
|
+
var StorageMigrationPlanSchema = object({
|
|
7704
|
+
destinations: StorageMigrationDestinationsSchema,
|
|
7705
|
+
moves: array(object({
|
|
7706
|
+
storageClass: StorageMigrationClassSchema,
|
|
7707
|
+
fromLocationId: string(),
|
|
7708
|
+
toLocationId: string()
|
|
7709
|
+
}))
|
|
7630
7710
|
});
|
|
7631
7711
|
/**
|
|
7632
7712
|
* `StorageLocationType` — an addon-declared id that identifies the *kind* of
|
|
@@ -16297,13 +16377,19 @@ DeviceType.Camera, method(object({ deviceId: number() }), array(TrackSchema).rea
|
|
|
16297
16377
|
}), method(object({ deviceId: number() }), EventPruneCountsSchema, {
|
|
16298
16378
|
kind: "mutation",
|
|
16299
16379
|
auth: "admin"
|
|
16300
|
-
}), method(
|
|
16380
|
+
}), method(StorageMigrationLeaseInputSchema, object({ paused: literal(true) }), {
|
|
16301
16381
|
kind: "mutation",
|
|
16302
16382
|
auth: "admin"
|
|
16303
|
-
}), method(object({
|
|
16304
|
-
kind: "
|
|
16383
|
+
}), method(StorageMigrationLeaseInputSchema, object({ resumed: literal(true) }), {
|
|
16384
|
+
kind: "mutation",
|
|
16305
16385
|
auth: "admin"
|
|
16306
|
-
}), method(
|
|
16386
|
+
}), method(StorageMigrationLeaseInputSchema, object({ refreshed: literal(true) }), {
|
|
16387
|
+
kind: "mutation",
|
|
16388
|
+
auth: "admin"
|
|
16389
|
+
}), method(StorageMigrationMediaMoveInputSchema, object({ jobId: string() }), {
|
|
16390
|
+
kind: "mutation",
|
|
16391
|
+
auth: "admin"
|
|
16392
|
+
}), method(object({ jobId: string() }), RelocateJobSchema.nullable(), { auth: "admin" }), method(object({ jobId: string() }), object({ cancelled: boolean() }), {
|
|
16307
16393
|
kind: "mutation",
|
|
16308
16394
|
auth: "admin"
|
|
16309
16395
|
}), method(OpsLogQueryInputSchema, array(OpsLogEntrySchema).readonly(), {
|
|
@@ -17833,7 +17919,13 @@ var NodeInferenceDevicesSchema = object({
|
|
|
17833
17919
|
reachable: boolean(),
|
|
17834
17920
|
devices: array(NodeInferenceDeviceSchema).readonly()
|
|
17835
17921
|
});
|
|
17836
|
-
method(object({
|
|
17922
|
+
method(StorageMigrationLeaseInputSchema, object({ paused: literal(true) }), {
|
|
17923
|
+
kind: "mutation",
|
|
17924
|
+
auth: "admin"
|
|
17925
|
+
}), method(StorageMigrationLeaseInputSchema, object({ resumed: literal(true) }), {
|
|
17926
|
+
kind: "mutation",
|
|
17927
|
+
auth: "admin"
|
|
17928
|
+
}), method(object({
|
|
17837
17929
|
deviceId: number(),
|
|
17838
17930
|
agentNodeId: string()
|
|
17839
17931
|
}), object({ success: literal(true) }), {
|
|
@@ -18598,6 +18690,13 @@ method(object({ locationId: string() }), EvictableUsageSchema), method(object({
|
|
|
18598
18690
|
locationId: string(),
|
|
18599
18691
|
targetBytes: number().int().positive()
|
|
18600
18692
|
}), EvictResultSchema, { kind: "mutation" });
|
|
18693
|
+
method(StorageMigrationInputSchema, StorageMigrationPlanSchema, { auth: "admin" }), method(StorageMigrationInputSchema, object({ jobId: string() }), {
|
|
18694
|
+
kind: "mutation",
|
|
18695
|
+
auth: "admin"
|
|
18696
|
+
}), method(object({ jobId: string().optional() }), StorageMigrationJobSchema.nullable(), { auth: "admin" }), method(object({ jobId: string() }), object({ cancelled: boolean() }), {
|
|
18697
|
+
kind: "mutation",
|
|
18698
|
+
auth: "admin"
|
|
18699
|
+
});
|
|
18601
18700
|
var ProviderInfoSchema = discriminatedUnion("shouldSaveDiskSpace", [object({
|
|
18602
18701
|
providerId: string().min(1),
|
|
18603
18702
|
displayName: string().min(1),
|
|
@@ -18701,7 +18800,67 @@ var TerminalProfileInfoSchema = object({
|
|
|
18701
18800
|
label: string(),
|
|
18702
18801
|
description: string().optional()
|
|
18703
18802
|
});
|
|
18704
|
-
|
|
18803
|
+
/**
|
|
18804
|
+
* A durable operator-created Terminal instance. Profiles are templates; only
|
|
18805
|
+
* an instance declares a camera.
|
|
18806
|
+
*/
|
|
18807
|
+
var TerminalInstanceInfoSchema = object({
|
|
18808
|
+
instanceId: string(),
|
|
18809
|
+
cameraStableId: string(),
|
|
18810
|
+
nodeId: string(),
|
|
18811
|
+
profileId: string(),
|
|
18812
|
+
profileLabel: string(),
|
|
18813
|
+
name: string(),
|
|
18814
|
+
enabled: boolean()
|
|
18815
|
+
});
|
|
18816
|
+
var TerminalLegacyCameraSchema = object({
|
|
18817
|
+
stableId: string(),
|
|
18818
|
+
nodeId: string(),
|
|
18819
|
+
profileId: string(),
|
|
18820
|
+
profileLabel: string(),
|
|
18821
|
+
name: string(),
|
|
18822
|
+
/** Only legacy monitor cameras can retain their historic stable identity. */
|
|
18823
|
+
adoptable: boolean()
|
|
18824
|
+
});
|
|
18825
|
+
var TerminalOutputEventSchema = discriminatedUnion("kind", [object({
|
|
18826
|
+
seq: number().int().positive(),
|
|
18827
|
+
kind: literal("data"),
|
|
18828
|
+
data: string()
|
|
18829
|
+
}), object({
|
|
18830
|
+
seq: number().int().positive(),
|
|
18831
|
+
kind: literal("exit"),
|
|
18832
|
+
exitCode: number().int(),
|
|
18833
|
+
signal: number().int().optional()
|
|
18834
|
+
})]);
|
|
18835
|
+
var TerminalOutputBatchSchema = object({
|
|
18836
|
+
cursor: number().int().nonnegative(),
|
|
18837
|
+
reset: boolean(),
|
|
18838
|
+
snapshot: string().optional(),
|
|
18839
|
+
events: array(TerminalOutputEventSchema).readonly()
|
|
18840
|
+
});
|
|
18841
|
+
method(_void(), array(TerminalProfileInfoSchema).readonly(), { auth: "admin" }), method(_void(), array(TerminalInstanceInfoSchema).readonly(), { auth: "admin" }), method(object({
|
|
18842
|
+
targetNodeId: string().min(1),
|
|
18843
|
+
profileId: string().min(1),
|
|
18844
|
+
name: string().trim().min(1).max(160).optional()
|
|
18845
|
+
}), TerminalInstanceInfoSchema, {
|
|
18846
|
+
kind: "mutation",
|
|
18847
|
+
auth: "admin"
|
|
18848
|
+
}), method(object({ instanceId: string().min(1) }), _void(), {
|
|
18849
|
+
kind: "mutation",
|
|
18850
|
+
auth: "admin"
|
|
18851
|
+
}), method(object({
|
|
18852
|
+
instanceId: string().min(1),
|
|
18853
|
+
enabled: boolean()
|
|
18854
|
+
}), TerminalInstanceInfoSchema, {
|
|
18855
|
+
kind: "mutation",
|
|
18856
|
+
auth: "admin"
|
|
18857
|
+
}), method(_void(), array(TerminalLegacyCameraSchema).readonly(), { auth: "admin" }), method(object({
|
|
18858
|
+
stableId: string().min(1),
|
|
18859
|
+
name: string().trim().min(1).max(160).optional()
|
|
18860
|
+
}), TerminalInstanceInfoSchema, {
|
|
18861
|
+
kind: "mutation",
|
|
18862
|
+
auth: "admin"
|
|
18863
|
+
}), method(_void(), array(TerminalSessionInfoSchema).readonly(), { auth: "admin" }), method(object({
|
|
18705
18864
|
profileId: string(),
|
|
18706
18865
|
cols: number().int().positive(),
|
|
18707
18866
|
rows: number().int().positive()
|
|
@@ -18715,6 +18874,26 @@ method(_void(), array(TerminalProfileInfoSchema).readonly(), { auth: "admin" }),
|
|
|
18715
18874
|
}), _void(), {
|
|
18716
18875
|
kind: "mutation",
|
|
18717
18876
|
auth: "admin"
|
|
18877
|
+
}), method(object({
|
|
18878
|
+
sessionId: string(),
|
|
18879
|
+
afterSeq: number().int().nonnegative(),
|
|
18880
|
+
waitMs: number().int().min(0).max(2e3).default(0),
|
|
18881
|
+
/**
|
|
18882
|
+
* Wait when a just-opened session has no output yet. Kept opt-in so a
|
|
18883
|
+
* browser's initial repaint remains immediate; the camera snapshot
|
|
18884
|
+
* relay uses it to avoid encoding a blank startup frame.
|
|
18885
|
+
*/
|
|
18886
|
+
waitForOutput: boolean().optional()
|
|
18887
|
+
}), TerminalOutputBatchSchema, {
|
|
18888
|
+
kind: "mutation",
|
|
18889
|
+
auth: "admin",
|
|
18890
|
+
timeoutMs: 15e3
|
|
18891
|
+
}), method(object({
|
|
18892
|
+
sessionId: string(),
|
|
18893
|
+
data: string().max(64 * 1024)
|
|
18894
|
+
}), _void(), {
|
|
18895
|
+
kind: "mutation",
|
|
18896
|
+
auth: "admin"
|
|
18718
18897
|
}), method(object({ sessionId: string() }), _void(), {
|
|
18719
18898
|
kind: "mutation",
|
|
18720
18899
|
auth: "admin"
|
|
@@ -21202,6 +21381,7 @@ var FaceInfoSchema = object({
|
|
|
21202
21381
|
var FaceFilterEnum = _enum([
|
|
21203
21382
|
"unassigned",
|
|
21204
21383
|
"recognized",
|
|
21384
|
+
"identified",
|
|
21205
21385
|
"all"
|
|
21206
21386
|
]);
|
|
21207
21387
|
var MediaFileLiteSchema$1 = object({
|
|
@@ -21230,6 +21410,8 @@ method(_void(), array(IdentitySchema).readonly()), method(object({ name: string(
|
|
|
21230
21410
|
kind: "mutation",
|
|
21231
21411
|
auth: "admin"
|
|
21232
21412
|
}), method(object({
|
|
21413
|
+
/** Restrict to one camera. Absent keeps the cluster-wide gallery view. */
|
|
21414
|
+
deviceId: number().int().optional(),
|
|
21233
21415
|
limit: number().int().positive().optional(),
|
|
21234
21416
|
filter: FaceFilterEnum.optional(),
|
|
21235
21417
|
/**
|
|
@@ -23510,6 +23692,10 @@ var OsdSourceSchema = discriminatedUnion("kind", [
|
|
|
23510
23692
|
capName: string().min(1).max(64),
|
|
23511
23693
|
/** Dot path inside the slice, e.g. `detected`, `value`, `mode`. */
|
|
23512
23694
|
valuePath: string().min(1).max(64)
|
|
23695
|
+
}),
|
|
23696
|
+
object({
|
|
23697
|
+
kind: literal("latest-recognition"),
|
|
23698
|
+
recognition: _enum(["person", "plate"])
|
|
23513
23699
|
})
|
|
23514
23700
|
]);
|
|
23515
23701
|
var OsdSlotBindingSchema = object({
|
|
@@ -23615,6 +23801,15 @@ method(object({ deviceId: number().int() }), object({
|
|
|
23615
23801
|
}), object({ success: literal(true) }), {
|
|
23616
23802
|
kind: "mutation",
|
|
23617
23803
|
auth: "admin"
|
|
23804
|
+
}), method(object({
|
|
23805
|
+
sourceDeviceId: number().int(),
|
|
23806
|
+
targetDeviceId: number().int()
|
|
23807
|
+
}), object({
|
|
23808
|
+
copied: number().int().nonnegative(),
|
|
23809
|
+
skipped: number().int().nonnegative()
|
|
23810
|
+
}), {
|
|
23811
|
+
kind: "mutation",
|
|
23812
|
+
auth: "admin"
|
|
23618
23813
|
}), method(object({
|
|
23619
23814
|
deviceId: number().int(),
|
|
23620
23815
|
slotId: string().min(1),
|
|
@@ -24712,13 +24907,19 @@ method(object({
|
|
|
24712
24907
|
}), {
|
|
24713
24908
|
kind: "mutation",
|
|
24714
24909
|
auth: "admin"
|
|
24715
|
-
}), method(
|
|
24910
|
+
}), method(StorageMigrationLeaseInputSchema, object({ paused: literal(true) }), {
|
|
24716
24911
|
kind: "mutation",
|
|
24717
24912
|
auth: "admin"
|
|
24718
|
-
}), method(object({
|
|
24719
|
-
kind: "
|
|
24913
|
+
}), method(StorageMigrationLeaseInputSchema, object({ resumed: literal(true) }), {
|
|
24914
|
+
kind: "mutation",
|
|
24720
24915
|
auth: "admin"
|
|
24721
|
-
}), method(
|
|
24916
|
+
}), method(StorageMigrationLeaseInputSchema, object({ refreshed: literal(true) }), {
|
|
24917
|
+
kind: "mutation",
|
|
24918
|
+
auth: "admin"
|
|
24919
|
+
}), method(StorageMigrationFootageMoveInputSchema, object({ jobId: string() }), {
|
|
24920
|
+
kind: "mutation",
|
|
24921
|
+
auth: "admin"
|
|
24922
|
+
}), method(object({ jobId: string() }), RelocateJobSchema.nullable(), { auth: "admin" }), method(object({ jobId: string() }), object({ cancelled: boolean() }), {
|
|
24722
24923
|
kind: "mutation",
|
|
24723
24924
|
auth: "admin"
|
|
24724
24925
|
});
|
|
@@ -30337,6 +30538,12 @@ Object.freeze({
|
|
|
30337
30538
|
addonId: null,
|
|
30338
30539
|
access: "delete"
|
|
30339
30540
|
},
|
|
30541
|
+
"osdManager.copyDeviceConfiguration": {
|
|
30542
|
+
capName: "osd-manager",
|
|
30543
|
+
capScope: "system",
|
|
30544
|
+
addonId: null,
|
|
30545
|
+
access: "create"
|
|
30546
|
+
},
|
|
30340
30547
|
"osdManager.getConditionSupport": {
|
|
30341
30548
|
capName: "osd-manager",
|
|
30342
30549
|
capScope: "system",
|
|
@@ -30433,7 +30640,7 @@ Object.freeze({
|
|
|
30433
30640
|
addonId: null,
|
|
30434
30641
|
access: "create"
|
|
30435
30642
|
},
|
|
30436
|
-
"pipelineAnalytics.
|
|
30643
|
+
"pipelineAnalytics.cancelStorageMigrationMove": {
|
|
30437
30644
|
capName: "pipeline-analytics",
|
|
30438
30645
|
capScope: "device",
|
|
30439
30646
|
addonId: null,
|
|
@@ -30505,12 +30712,6 @@ Object.freeze({
|
|
|
30505
30712
|
addonId: null,
|
|
30506
30713
|
access: "view"
|
|
30507
30714
|
},
|
|
30508
|
-
"pipelineAnalytics.getMediaRelocateStatus": {
|
|
30509
|
-
capName: "pipeline-analytics",
|
|
30510
|
-
capScope: "device",
|
|
30511
|
-
addonId: null,
|
|
30512
|
-
access: "view"
|
|
30513
|
-
},
|
|
30514
30715
|
"pipelineAnalytics.getMotionEvents": {
|
|
30515
30716
|
capName: "pipeline-analytics",
|
|
30516
30717
|
capScope: "device",
|
|
@@ -30547,6 +30748,12 @@ Object.freeze({
|
|
|
30547
30748
|
addonId: null,
|
|
30548
30749
|
access: "view"
|
|
30549
30750
|
},
|
|
30751
|
+
"pipelineAnalytics.getStorageMigrationMoveStatus": {
|
|
30752
|
+
capName: "pipeline-analytics",
|
|
30753
|
+
capScope: "device",
|
|
30754
|
+
addonId: null,
|
|
30755
|
+
access: "view"
|
|
30756
|
+
},
|
|
30550
30757
|
"pipelineAnalytics.getTrack": {
|
|
30551
30758
|
capName: "pipeline-analytics",
|
|
30552
30759
|
capScope: "device",
|
|
@@ -30625,6 +30832,12 @@ Object.freeze({
|
|
|
30625
30832
|
addonId: null,
|
|
30626
30833
|
access: "view"
|
|
30627
30834
|
},
|
|
30835
|
+
"pipelineAnalytics.pauseForStorageMigration": {
|
|
30836
|
+
capName: "pipeline-analytics",
|
|
30837
|
+
capScope: "device",
|
|
30838
|
+
addonId: null,
|
|
30839
|
+
access: "create"
|
|
30840
|
+
},
|
|
30628
30841
|
"pipelineAnalytics.proposeRetrainAnnotations": {
|
|
30629
30842
|
capName: "pipeline-analytics",
|
|
30630
30843
|
capScope: "device",
|
|
@@ -30655,7 +30868,7 @@ Object.freeze({
|
|
|
30655
30868
|
addonId: null,
|
|
30656
30869
|
access: "create"
|
|
30657
30870
|
},
|
|
30658
|
-
"pipelineAnalytics.
|
|
30871
|
+
"pipelineAnalytics.refreshStorageLocationsForMigration": {
|
|
30659
30872
|
capName: "pipeline-analytics",
|
|
30660
30873
|
capScope: "device",
|
|
30661
30874
|
addonId: null,
|
|
@@ -30667,6 +30880,12 @@ Object.freeze({
|
|
|
30667
30880
|
addonId: null,
|
|
30668
30881
|
access: "create"
|
|
30669
30882
|
},
|
|
30883
|
+
"pipelineAnalytics.resumeForStorageMigration": {
|
|
30884
|
+
capName: "pipeline-analytics",
|
|
30885
|
+
capScope: "device",
|
|
30886
|
+
addonId: null,
|
|
30887
|
+
access: "create"
|
|
30888
|
+
},
|
|
30670
30889
|
"pipelineAnalytics.saveRetrainAnnotations": {
|
|
30671
30890
|
capName: "pipeline-analytics",
|
|
30672
30891
|
capScope: "device",
|
|
@@ -30691,6 +30910,12 @@ Object.freeze({
|
|
|
30691
30910
|
addonId: null,
|
|
30692
30911
|
access: "create"
|
|
30693
30912
|
},
|
|
30913
|
+
"pipelineAnalytics.startStorageMigrationMove": {
|
|
30914
|
+
capName: "pipeline-analytics",
|
|
30915
|
+
capScope: "device",
|
|
30916
|
+
addonId: null,
|
|
30917
|
+
access: "create"
|
|
30918
|
+
},
|
|
30694
30919
|
"pipelineAnalytics.wipeAllAnalytics": {
|
|
30695
30920
|
capName: "pipeline-analytics",
|
|
30696
30921
|
capScope: "device",
|
|
@@ -31057,6 +31282,12 @@ Object.freeze({
|
|
|
31057
31282
|
addonId: null,
|
|
31058
31283
|
access: "view"
|
|
31059
31284
|
},
|
|
31285
|
+
"pipelineOrchestrator.pauseForStorageMigration": {
|
|
31286
|
+
capName: "pipeline-orchestrator",
|
|
31287
|
+
capScope: "system",
|
|
31288
|
+
addonId: null,
|
|
31289
|
+
access: "create"
|
|
31290
|
+
},
|
|
31060
31291
|
"pipelineOrchestrator.rebalance": {
|
|
31061
31292
|
capName: "pipeline-orchestrator",
|
|
31062
31293
|
capScope: "system",
|
|
@@ -31081,6 +31312,12 @@ Object.freeze({
|
|
|
31081
31312
|
addonId: null,
|
|
31082
31313
|
access: "view"
|
|
31083
31314
|
},
|
|
31315
|
+
"pipelineOrchestrator.resumeForStorageMigration": {
|
|
31316
|
+
capName: "pipeline-orchestrator",
|
|
31317
|
+
capScope: "system",
|
|
31318
|
+
addonId: null,
|
|
31319
|
+
access: "create"
|
|
31320
|
+
},
|
|
31084
31321
|
"pipelineOrchestrator.saveTemplate": {
|
|
31085
31322
|
capName: "pipeline-orchestrator",
|
|
31086
31323
|
capScope: "system",
|
|
@@ -31477,7 +31714,7 @@ Object.freeze({
|
|
|
31477
31714
|
addonId: null,
|
|
31478
31715
|
access: "create"
|
|
31479
31716
|
},
|
|
31480
|
-
"recording.
|
|
31717
|
+
"recording.cancelStorageMigrationMove": {
|
|
31481
31718
|
capName: "recording",
|
|
31482
31719
|
capScope: "system",
|
|
31483
31720
|
addonId: null,
|
|
@@ -31513,7 +31750,7 @@ Object.freeze({
|
|
|
31513
31750
|
addonId: null,
|
|
31514
31751
|
access: "view"
|
|
31515
31752
|
},
|
|
31516
|
-
"recording.
|
|
31753
|
+
"recording.getStorageMigrationMoveStatus": {
|
|
31517
31754
|
capName: "recording",
|
|
31518
31755
|
capScope: "system",
|
|
31519
31756
|
addonId: null,
|
|
@@ -31537,6 +31774,12 @@ Object.freeze({
|
|
|
31537
31774
|
addonId: null,
|
|
31538
31775
|
access: "view"
|
|
31539
31776
|
},
|
|
31777
|
+
"recording.pauseForStorageMigration": {
|
|
31778
|
+
capName: "recording",
|
|
31779
|
+
capScope: "system",
|
|
31780
|
+
addonId: null,
|
|
31781
|
+
access: "create"
|
|
31782
|
+
},
|
|
31540
31783
|
"recording.pruneFootage": {
|
|
31541
31784
|
capName: "recording",
|
|
31542
31785
|
capScope: "system",
|
|
@@ -31555,7 +31798,7 @@ Object.freeze({
|
|
|
31555
31798
|
addonId: null,
|
|
31556
31799
|
access: "view"
|
|
31557
31800
|
},
|
|
31558
|
-
"recording.
|
|
31801
|
+
"recording.refreshStorageLocationsForMigration": {
|
|
31559
31802
|
capName: "recording",
|
|
31560
31803
|
capScope: "system",
|
|
31561
31804
|
addonId: null,
|
|
@@ -31579,12 +31822,24 @@ Object.freeze({
|
|
|
31579
31822
|
addonId: null,
|
|
31580
31823
|
access: "create"
|
|
31581
31824
|
},
|
|
31825
|
+
"recording.resumeForStorageMigration": {
|
|
31826
|
+
capName: "recording",
|
|
31827
|
+
capScope: "system",
|
|
31828
|
+
addonId: null,
|
|
31829
|
+
access: "create"
|
|
31830
|
+
},
|
|
31582
31831
|
"recording.setDeviceConfig": {
|
|
31583
31832
|
capName: "recording",
|
|
31584
31833
|
capScope: "system",
|
|
31585
31834
|
addonId: null,
|
|
31586
31835
|
access: "create"
|
|
31587
31836
|
},
|
|
31837
|
+
"recording.startStorageMigrationMove": {
|
|
31838
|
+
capName: "recording",
|
|
31839
|
+
capScope: "system",
|
|
31840
|
+
addonId: null,
|
|
31841
|
+
access: "create"
|
|
31842
|
+
},
|
|
31588
31843
|
"recordingExport.cancelExport": {
|
|
31589
31844
|
capName: "recordingExport",
|
|
31590
31845
|
capScope: "system",
|
|
@@ -31975,6 +32230,30 @@ Object.freeze({
|
|
|
31975
32230
|
addonId: null,
|
|
31976
32231
|
access: "view"
|
|
31977
32232
|
},
|
|
32233
|
+
"storageMigration.cancel": {
|
|
32234
|
+
capName: "storage-migration",
|
|
32235
|
+
capScope: "system",
|
|
32236
|
+
addonId: null,
|
|
32237
|
+
access: "create"
|
|
32238
|
+
},
|
|
32239
|
+
"storageMigration.plan": {
|
|
32240
|
+
capName: "storage-migration",
|
|
32241
|
+
capScope: "system",
|
|
32242
|
+
addonId: null,
|
|
32243
|
+
access: "view"
|
|
32244
|
+
},
|
|
32245
|
+
"storageMigration.start": {
|
|
32246
|
+
capName: "storage-migration",
|
|
32247
|
+
capScope: "system",
|
|
32248
|
+
addonId: null,
|
|
32249
|
+
access: "create"
|
|
32250
|
+
},
|
|
32251
|
+
"storageMigration.status": {
|
|
32252
|
+
capName: "storage-migration",
|
|
32253
|
+
capScope: "system",
|
|
32254
|
+
addonId: null,
|
|
32255
|
+
access: "view"
|
|
32256
|
+
},
|
|
31978
32257
|
"storageProvider.abortUpload": {
|
|
31979
32258
|
capName: "storage-provider",
|
|
31980
32259
|
capScope: "system",
|
|
@@ -32353,12 +32632,42 @@ Object.freeze({
|
|
|
32353
32632
|
addonId: null,
|
|
32354
32633
|
access: "create"
|
|
32355
32634
|
},
|
|
32635
|
+
"terminalSession.adoptLegacyMonitor": {
|
|
32636
|
+
capName: "terminal-session",
|
|
32637
|
+
capScope: "system",
|
|
32638
|
+
addonId: null,
|
|
32639
|
+
access: "create"
|
|
32640
|
+
},
|
|
32356
32641
|
"terminalSession.close": {
|
|
32357
32642
|
capName: "terminal-session",
|
|
32358
32643
|
capScope: "system",
|
|
32359
32644
|
addonId: null,
|
|
32360
32645
|
access: "create"
|
|
32361
32646
|
},
|
|
32647
|
+
"terminalSession.createInstance": {
|
|
32648
|
+
capName: "terminal-session",
|
|
32649
|
+
capScope: "system",
|
|
32650
|
+
addonId: null,
|
|
32651
|
+
access: "create"
|
|
32652
|
+
},
|
|
32653
|
+
"terminalSession.deleteInstance": {
|
|
32654
|
+
capName: "terminal-session",
|
|
32655
|
+
capScope: "system",
|
|
32656
|
+
addonId: null,
|
|
32657
|
+
access: "delete"
|
|
32658
|
+
},
|
|
32659
|
+
"terminalSession.listInstances": {
|
|
32660
|
+
capName: "terminal-session",
|
|
32661
|
+
capScope: "system",
|
|
32662
|
+
addonId: null,
|
|
32663
|
+
access: "view"
|
|
32664
|
+
},
|
|
32665
|
+
"terminalSession.listLegacyCameras": {
|
|
32666
|
+
capName: "terminal-session",
|
|
32667
|
+
capScope: "system",
|
|
32668
|
+
addonId: null,
|
|
32669
|
+
access: "view"
|
|
32670
|
+
},
|
|
32362
32671
|
"terminalSession.listProfiles": {
|
|
32363
32672
|
capName: "terminal-session",
|
|
32364
32673
|
capScope: "system",
|
|
@@ -32377,12 +32686,30 @@ Object.freeze({
|
|
|
32377
32686
|
addonId: null,
|
|
32378
32687
|
access: "create"
|
|
32379
32688
|
},
|
|
32689
|
+
"terminalSession.pullOutput": {
|
|
32690
|
+
capName: "terminal-session",
|
|
32691
|
+
capScope: "system",
|
|
32692
|
+
addonId: null,
|
|
32693
|
+
access: "create"
|
|
32694
|
+
},
|
|
32380
32695
|
"terminalSession.resize": {
|
|
32381
32696
|
capName: "terminal-session",
|
|
32382
32697
|
capScope: "system",
|
|
32383
32698
|
addonId: null,
|
|
32384
32699
|
access: "create"
|
|
32385
32700
|
},
|
|
32701
|
+
"terminalSession.setInstanceEnabled": {
|
|
32702
|
+
capName: "terminal-session",
|
|
32703
|
+
capScope: "system",
|
|
32704
|
+
addonId: null,
|
|
32705
|
+
access: "create"
|
|
32706
|
+
},
|
|
32707
|
+
"terminalSession.writeInput": {
|
|
32708
|
+
capName: "terminal-session",
|
|
32709
|
+
capScope: "system",
|
|
32710
|
+
addonId: null,
|
|
32711
|
+
access: "create"
|
|
32712
|
+
},
|
|
32386
32713
|
"toast.onToast": {
|
|
32387
32714
|
capName: "toast",
|
|
32388
32715
|
capScope: "system",
|
package/dist/addon.mjs
CHANGED
|
@@ -7561,12 +7561,11 @@ var RecordingConfigSchema = object({
|
|
|
7561
7561
|
/**
|
|
7562
7562
|
* Entity-relocation job state (storage entity-routing spec, Phase 4).
|
|
7563
7563
|
*
|
|
7564
|
-
* One shape shared by the recorder
|
|
7565
|
-
*
|
|
7566
|
-
*
|
|
7567
|
-
*
|
|
7568
|
-
*
|
|
7569
|
-
* row on the owning addon's surface.
|
|
7564
|
+
* One shape shared by the recorder and pipeline-analytics internal movers.
|
|
7565
|
+
* The public admin surface is `storage-migration`; child jobs remain in RAM
|
|
7566
|
+
* because copy-if-absent, verify, delete and index/row repoint are resumable.
|
|
7567
|
+
* Each completed/failed run also lands one durable ops-log row on its owning
|
|
7568
|
+
* addon surface.
|
|
7570
7569
|
*/
|
|
7571
7570
|
var RelocateJobStateSchema = _enum([
|
|
7572
7571
|
"running",
|
|
@@ -7593,19 +7592,100 @@ var RelocateJobSchema = object({
|
|
|
7593
7592
|
finishedAt: number().nullable(),
|
|
7594
7593
|
error: string().nullable()
|
|
7595
7594
|
});
|
|
7595
|
+
/** Profile-derived footage selection used only by the migration coordinator:
|
|
7596
|
+
* `recordings` owns high+mid; `recordingsLow` owns low. */
|
|
7597
|
+
var RelocateFootageClassSchema = _enum(["recordings", "recordingsLow"]);
|
|
7596
7598
|
var RelocateFootageInputSchema = object({
|
|
7597
|
-
deviceId: number().optional(),
|
|
7598
7599
|
fromLocationId: string(),
|
|
7599
7600
|
toLocationId: string(),
|
|
7600
7601
|
entities: array(_enum(["segments"])).optional(),
|
|
7602
|
+
/** Limits relocation to the logical profile class. Omit only for the
|
|
7603
|
+
* pre-orchestration compatibility path. */
|
|
7604
|
+
footageClass: RelocateFootageClassSchema.optional(),
|
|
7601
7605
|
/** Copy throttle in MB/s (default 40) — the drain is a background chore,
|
|
7602
7606
|
* never allowed to starve live writers. */
|
|
7603
7607
|
throttleMbps: number().min(1).max(1e3).optional()
|
|
7604
7608
|
});
|
|
7605
|
-
|
|
7606
|
-
|
|
7609
|
+
/** Internal, lease-scoped participant operation. It is intentionally separate
|
|
7610
|
+
* from persistent recording settings: a migration never changes
|
|
7611
|
+
* `RecordingConfig.enabled` or camera wrapper bindings. */
|
|
7612
|
+
var StorageMigrationLeaseInputSchema = object({ leaseId: string().min(1) });
|
|
7613
|
+
var StorageMigrationFootageMoveInputSchema = RelocateFootageInputSchema.extend({ leaseId: string().min(1) });
|
|
7614
|
+
var StorageMigrationMediaMoveInputSchema = object({
|
|
7607
7615
|
toLocationId: string(),
|
|
7608
7616
|
throttleMbps: number().min(1).max(1e3).optional()
|
|
7617
|
+
}).extend({ leaseId: string().min(1) });
|
|
7618
|
+
/** The independently selectable logical storage classes. `recordings`
|
|
7619
|
+
* encompasses the high and mid segment profiles; `recordingsLow` is low
|
|
7620
|
+
* segments; `eventMedia` is post-analysis blobs. */
|
|
7621
|
+
var StorageMigrationClassSchema = _enum([
|
|
7622
|
+
"recordings",
|
|
7623
|
+
"recordingsLow",
|
|
7624
|
+
"eventMedia"
|
|
7625
|
+
]);
|
|
7626
|
+
/** A destination is always an existing, fully-qualified location id. The
|
|
7627
|
+
* migration API intentionally never changes a source location's `basePath`:
|
|
7628
|
+
* callers create a new `<type>:<slug>` location, then select it here. */
|
|
7629
|
+
var StorageMigrationDestinationsSchema = object({
|
|
7630
|
+
recordings: string().min(1).optional(),
|
|
7631
|
+
recordingsLow: string().min(1).optional(),
|
|
7632
|
+
eventMedia: string().min(1).optional()
|
|
7633
|
+
}).refine((value) => Object.keys(value).length > 0, { message: "select at least one storage class" });
|
|
7634
|
+
/** Shared input for planning and starting an orchestrated storage migration. */
|
|
7635
|
+
var StorageMigrationInputSchema = object({
|
|
7636
|
+
destinations: StorageMigrationDestinationsSchema,
|
|
7637
|
+
throttleMbps: number().min(1).max(1e3).optional()
|
|
7638
|
+
});
|
|
7639
|
+
/** The durable coordinator state machine. The only phase that changes default
|
|
7640
|
+
* locations is `repointing`, after every selected mover has completed and been
|
|
7641
|
+
* verified. */
|
|
7642
|
+
var StorageMigrationPhaseSchema = _enum([
|
|
7643
|
+
"planning",
|
|
7644
|
+
"pausing",
|
|
7645
|
+
"moving",
|
|
7646
|
+
"verifying",
|
|
7647
|
+
"repointing",
|
|
7648
|
+
"refreshing",
|
|
7649
|
+
"resuming",
|
|
7650
|
+
"done",
|
|
7651
|
+
"failed",
|
|
7652
|
+
"cancelled"
|
|
7653
|
+
]);
|
|
7654
|
+
var StorageMigrationParticipantSchema = _enum([
|
|
7655
|
+
"pipeline",
|
|
7656
|
+
"recorder",
|
|
7657
|
+
"analytics"
|
|
7658
|
+
]);
|
|
7659
|
+
var StorageMigrationMoveSchema = object({
|
|
7660
|
+
storageClass: StorageMigrationClassSchema,
|
|
7661
|
+
fromLocationId: string(),
|
|
7662
|
+
toLocationId: string(),
|
|
7663
|
+
moverJobId: string().nullable(),
|
|
7664
|
+
state: RelocateJobStateSchema.nullable(),
|
|
7665
|
+
error: string().nullable()
|
|
7666
|
+
});
|
|
7667
|
+
var StorageMigrationJobSchema = object({
|
|
7668
|
+
jobId: string(),
|
|
7669
|
+
phase: StorageMigrationPhaseSchema,
|
|
7670
|
+
destinations: StorageMigrationDestinationsSchema,
|
|
7671
|
+
throttleMbps: number(),
|
|
7672
|
+
moves: array(StorageMigrationMoveSchema),
|
|
7673
|
+
pauseLeaseId: string().nullable(),
|
|
7674
|
+
pausedParticipants: array(StorageMigrationParticipantSchema),
|
|
7675
|
+
repointed: boolean(),
|
|
7676
|
+
cancelRequested: boolean(),
|
|
7677
|
+
startedAt: number(),
|
|
7678
|
+
updatedAt: number(),
|
|
7679
|
+
finishedAt: number().nullable(),
|
|
7680
|
+
error: string().nullable()
|
|
7681
|
+
});
|
|
7682
|
+
var StorageMigrationPlanSchema = object({
|
|
7683
|
+
destinations: StorageMigrationDestinationsSchema,
|
|
7684
|
+
moves: array(object({
|
|
7685
|
+
storageClass: StorageMigrationClassSchema,
|
|
7686
|
+
fromLocationId: string(),
|
|
7687
|
+
toLocationId: string()
|
|
7688
|
+
}))
|
|
7609
7689
|
});
|
|
7610
7690
|
/**
|
|
7611
7691
|
* `StorageLocationType` — an addon-declared id that identifies the *kind* of
|
|
@@ -16276,13 +16356,19 @@ DeviceType.Camera, method(object({ deviceId: number() }), array(TrackSchema).rea
|
|
|
16276
16356
|
}), method(object({ deviceId: number() }), EventPruneCountsSchema, {
|
|
16277
16357
|
kind: "mutation",
|
|
16278
16358
|
auth: "admin"
|
|
16279
|
-
}), method(
|
|
16359
|
+
}), method(StorageMigrationLeaseInputSchema, object({ paused: literal(true) }), {
|
|
16280
16360
|
kind: "mutation",
|
|
16281
16361
|
auth: "admin"
|
|
16282
|
-
}), method(object({
|
|
16283
|
-
kind: "
|
|
16362
|
+
}), method(StorageMigrationLeaseInputSchema, object({ resumed: literal(true) }), {
|
|
16363
|
+
kind: "mutation",
|
|
16284
16364
|
auth: "admin"
|
|
16285
|
-
}), method(
|
|
16365
|
+
}), method(StorageMigrationLeaseInputSchema, object({ refreshed: literal(true) }), {
|
|
16366
|
+
kind: "mutation",
|
|
16367
|
+
auth: "admin"
|
|
16368
|
+
}), method(StorageMigrationMediaMoveInputSchema, object({ jobId: string() }), {
|
|
16369
|
+
kind: "mutation",
|
|
16370
|
+
auth: "admin"
|
|
16371
|
+
}), method(object({ jobId: string() }), RelocateJobSchema.nullable(), { auth: "admin" }), method(object({ jobId: string() }), object({ cancelled: boolean() }), {
|
|
16286
16372
|
kind: "mutation",
|
|
16287
16373
|
auth: "admin"
|
|
16288
16374
|
}), method(OpsLogQueryInputSchema, array(OpsLogEntrySchema).readonly(), {
|
|
@@ -17812,7 +17898,13 @@ var NodeInferenceDevicesSchema = object({
|
|
|
17812
17898
|
reachable: boolean(),
|
|
17813
17899
|
devices: array(NodeInferenceDeviceSchema).readonly()
|
|
17814
17900
|
});
|
|
17815
|
-
method(object({
|
|
17901
|
+
method(StorageMigrationLeaseInputSchema, object({ paused: literal(true) }), {
|
|
17902
|
+
kind: "mutation",
|
|
17903
|
+
auth: "admin"
|
|
17904
|
+
}), method(StorageMigrationLeaseInputSchema, object({ resumed: literal(true) }), {
|
|
17905
|
+
kind: "mutation",
|
|
17906
|
+
auth: "admin"
|
|
17907
|
+
}), method(object({
|
|
17816
17908
|
deviceId: number(),
|
|
17817
17909
|
agentNodeId: string()
|
|
17818
17910
|
}), object({ success: literal(true) }), {
|
|
@@ -18577,6 +18669,13 @@ method(object({ locationId: string() }), EvictableUsageSchema), method(object({
|
|
|
18577
18669
|
locationId: string(),
|
|
18578
18670
|
targetBytes: number().int().positive()
|
|
18579
18671
|
}), EvictResultSchema, { kind: "mutation" });
|
|
18672
|
+
method(StorageMigrationInputSchema, StorageMigrationPlanSchema, { auth: "admin" }), method(StorageMigrationInputSchema, object({ jobId: string() }), {
|
|
18673
|
+
kind: "mutation",
|
|
18674
|
+
auth: "admin"
|
|
18675
|
+
}), method(object({ jobId: string().optional() }), StorageMigrationJobSchema.nullable(), { auth: "admin" }), method(object({ jobId: string() }), object({ cancelled: boolean() }), {
|
|
18676
|
+
kind: "mutation",
|
|
18677
|
+
auth: "admin"
|
|
18678
|
+
});
|
|
18580
18679
|
var ProviderInfoSchema = discriminatedUnion("shouldSaveDiskSpace", [object({
|
|
18581
18680
|
providerId: string().min(1),
|
|
18582
18681
|
displayName: string().min(1),
|
|
@@ -18680,7 +18779,67 @@ var TerminalProfileInfoSchema = object({
|
|
|
18680
18779
|
label: string(),
|
|
18681
18780
|
description: string().optional()
|
|
18682
18781
|
});
|
|
18683
|
-
|
|
18782
|
+
/**
|
|
18783
|
+
* A durable operator-created Terminal instance. Profiles are templates; only
|
|
18784
|
+
* an instance declares a camera.
|
|
18785
|
+
*/
|
|
18786
|
+
var TerminalInstanceInfoSchema = object({
|
|
18787
|
+
instanceId: string(),
|
|
18788
|
+
cameraStableId: string(),
|
|
18789
|
+
nodeId: string(),
|
|
18790
|
+
profileId: string(),
|
|
18791
|
+
profileLabel: string(),
|
|
18792
|
+
name: string(),
|
|
18793
|
+
enabled: boolean()
|
|
18794
|
+
});
|
|
18795
|
+
var TerminalLegacyCameraSchema = object({
|
|
18796
|
+
stableId: string(),
|
|
18797
|
+
nodeId: string(),
|
|
18798
|
+
profileId: string(),
|
|
18799
|
+
profileLabel: string(),
|
|
18800
|
+
name: string(),
|
|
18801
|
+
/** Only legacy monitor cameras can retain their historic stable identity. */
|
|
18802
|
+
adoptable: boolean()
|
|
18803
|
+
});
|
|
18804
|
+
var TerminalOutputEventSchema = discriminatedUnion("kind", [object({
|
|
18805
|
+
seq: number().int().positive(),
|
|
18806
|
+
kind: literal("data"),
|
|
18807
|
+
data: string()
|
|
18808
|
+
}), object({
|
|
18809
|
+
seq: number().int().positive(),
|
|
18810
|
+
kind: literal("exit"),
|
|
18811
|
+
exitCode: number().int(),
|
|
18812
|
+
signal: number().int().optional()
|
|
18813
|
+
})]);
|
|
18814
|
+
var TerminalOutputBatchSchema = object({
|
|
18815
|
+
cursor: number().int().nonnegative(),
|
|
18816
|
+
reset: boolean(),
|
|
18817
|
+
snapshot: string().optional(),
|
|
18818
|
+
events: array(TerminalOutputEventSchema).readonly()
|
|
18819
|
+
});
|
|
18820
|
+
method(_void(), array(TerminalProfileInfoSchema).readonly(), { auth: "admin" }), method(_void(), array(TerminalInstanceInfoSchema).readonly(), { auth: "admin" }), method(object({
|
|
18821
|
+
targetNodeId: string().min(1),
|
|
18822
|
+
profileId: string().min(1),
|
|
18823
|
+
name: string().trim().min(1).max(160).optional()
|
|
18824
|
+
}), TerminalInstanceInfoSchema, {
|
|
18825
|
+
kind: "mutation",
|
|
18826
|
+
auth: "admin"
|
|
18827
|
+
}), method(object({ instanceId: string().min(1) }), _void(), {
|
|
18828
|
+
kind: "mutation",
|
|
18829
|
+
auth: "admin"
|
|
18830
|
+
}), method(object({
|
|
18831
|
+
instanceId: string().min(1),
|
|
18832
|
+
enabled: boolean()
|
|
18833
|
+
}), TerminalInstanceInfoSchema, {
|
|
18834
|
+
kind: "mutation",
|
|
18835
|
+
auth: "admin"
|
|
18836
|
+
}), method(_void(), array(TerminalLegacyCameraSchema).readonly(), { auth: "admin" }), method(object({
|
|
18837
|
+
stableId: string().min(1),
|
|
18838
|
+
name: string().trim().min(1).max(160).optional()
|
|
18839
|
+
}), TerminalInstanceInfoSchema, {
|
|
18840
|
+
kind: "mutation",
|
|
18841
|
+
auth: "admin"
|
|
18842
|
+
}), method(_void(), array(TerminalSessionInfoSchema).readonly(), { auth: "admin" }), method(object({
|
|
18684
18843
|
profileId: string(),
|
|
18685
18844
|
cols: number().int().positive(),
|
|
18686
18845
|
rows: number().int().positive()
|
|
@@ -18694,6 +18853,26 @@ method(_void(), array(TerminalProfileInfoSchema).readonly(), { auth: "admin" }),
|
|
|
18694
18853
|
}), _void(), {
|
|
18695
18854
|
kind: "mutation",
|
|
18696
18855
|
auth: "admin"
|
|
18856
|
+
}), method(object({
|
|
18857
|
+
sessionId: string(),
|
|
18858
|
+
afterSeq: number().int().nonnegative(),
|
|
18859
|
+
waitMs: number().int().min(0).max(2e3).default(0),
|
|
18860
|
+
/**
|
|
18861
|
+
* Wait when a just-opened session has no output yet. Kept opt-in so a
|
|
18862
|
+
* browser's initial repaint remains immediate; the camera snapshot
|
|
18863
|
+
* relay uses it to avoid encoding a blank startup frame.
|
|
18864
|
+
*/
|
|
18865
|
+
waitForOutput: boolean().optional()
|
|
18866
|
+
}), TerminalOutputBatchSchema, {
|
|
18867
|
+
kind: "mutation",
|
|
18868
|
+
auth: "admin",
|
|
18869
|
+
timeoutMs: 15e3
|
|
18870
|
+
}), method(object({
|
|
18871
|
+
sessionId: string(),
|
|
18872
|
+
data: string().max(64 * 1024)
|
|
18873
|
+
}), _void(), {
|
|
18874
|
+
kind: "mutation",
|
|
18875
|
+
auth: "admin"
|
|
18697
18876
|
}), method(object({ sessionId: string() }), _void(), {
|
|
18698
18877
|
kind: "mutation",
|
|
18699
18878
|
auth: "admin"
|
|
@@ -21181,6 +21360,7 @@ var FaceInfoSchema = object({
|
|
|
21181
21360
|
var FaceFilterEnum = _enum([
|
|
21182
21361
|
"unassigned",
|
|
21183
21362
|
"recognized",
|
|
21363
|
+
"identified",
|
|
21184
21364
|
"all"
|
|
21185
21365
|
]);
|
|
21186
21366
|
var MediaFileLiteSchema$1 = object({
|
|
@@ -21209,6 +21389,8 @@ method(_void(), array(IdentitySchema).readonly()), method(object({ name: string(
|
|
|
21209
21389
|
kind: "mutation",
|
|
21210
21390
|
auth: "admin"
|
|
21211
21391
|
}), method(object({
|
|
21392
|
+
/** Restrict to one camera. Absent keeps the cluster-wide gallery view. */
|
|
21393
|
+
deviceId: number().int().optional(),
|
|
21212
21394
|
limit: number().int().positive().optional(),
|
|
21213
21395
|
filter: FaceFilterEnum.optional(),
|
|
21214
21396
|
/**
|
|
@@ -23489,6 +23671,10 @@ var OsdSourceSchema = discriminatedUnion("kind", [
|
|
|
23489
23671
|
capName: string().min(1).max(64),
|
|
23490
23672
|
/** Dot path inside the slice, e.g. `detected`, `value`, `mode`. */
|
|
23491
23673
|
valuePath: string().min(1).max(64)
|
|
23674
|
+
}),
|
|
23675
|
+
object({
|
|
23676
|
+
kind: literal("latest-recognition"),
|
|
23677
|
+
recognition: _enum(["person", "plate"])
|
|
23492
23678
|
})
|
|
23493
23679
|
]);
|
|
23494
23680
|
var OsdSlotBindingSchema = object({
|
|
@@ -23594,6 +23780,15 @@ method(object({ deviceId: number().int() }), object({
|
|
|
23594
23780
|
}), object({ success: literal(true) }), {
|
|
23595
23781
|
kind: "mutation",
|
|
23596
23782
|
auth: "admin"
|
|
23783
|
+
}), method(object({
|
|
23784
|
+
sourceDeviceId: number().int(),
|
|
23785
|
+
targetDeviceId: number().int()
|
|
23786
|
+
}), object({
|
|
23787
|
+
copied: number().int().nonnegative(),
|
|
23788
|
+
skipped: number().int().nonnegative()
|
|
23789
|
+
}), {
|
|
23790
|
+
kind: "mutation",
|
|
23791
|
+
auth: "admin"
|
|
23597
23792
|
}), method(object({
|
|
23598
23793
|
deviceId: number().int(),
|
|
23599
23794
|
slotId: string().min(1),
|
|
@@ -24691,13 +24886,19 @@ method(object({
|
|
|
24691
24886
|
}), {
|
|
24692
24887
|
kind: "mutation",
|
|
24693
24888
|
auth: "admin"
|
|
24694
|
-
}), method(
|
|
24889
|
+
}), method(StorageMigrationLeaseInputSchema, object({ paused: literal(true) }), {
|
|
24695
24890
|
kind: "mutation",
|
|
24696
24891
|
auth: "admin"
|
|
24697
|
-
}), method(object({
|
|
24698
|
-
kind: "
|
|
24892
|
+
}), method(StorageMigrationLeaseInputSchema, object({ resumed: literal(true) }), {
|
|
24893
|
+
kind: "mutation",
|
|
24699
24894
|
auth: "admin"
|
|
24700
|
-
}), method(
|
|
24895
|
+
}), method(StorageMigrationLeaseInputSchema, object({ refreshed: literal(true) }), {
|
|
24896
|
+
kind: "mutation",
|
|
24897
|
+
auth: "admin"
|
|
24898
|
+
}), method(StorageMigrationFootageMoveInputSchema, object({ jobId: string() }), {
|
|
24899
|
+
kind: "mutation",
|
|
24900
|
+
auth: "admin"
|
|
24901
|
+
}), method(object({ jobId: string() }), RelocateJobSchema.nullable(), { auth: "admin" }), method(object({ jobId: string() }), object({ cancelled: boolean() }), {
|
|
24701
24902
|
kind: "mutation",
|
|
24702
24903
|
auth: "admin"
|
|
24703
24904
|
});
|
|
@@ -30316,6 +30517,12 @@ Object.freeze({
|
|
|
30316
30517
|
addonId: null,
|
|
30317
30518
|
access: "delete"
|
|
30318
30519
|
},
|
|
30520
|
+
"osdManager.copyDeviceConfiguration": {
|
|
30521
|
+
capName: "osd-manager",
|
|
30522
|
+
capScope: "system",
|
|
30523
|
+
addonId: null,
|
|
30524
|
+
access: "create"
|
|
30525
|
+
},
|
|
30319
30526
|
"osdManager.getConditionSupport": {
|
|
30320
30527
|
capName: "osd-manager",
|
|
30321
30528
|
capScope: "system",
|
|
@@ -30412,7 +30619,7 @@ Object.freeze({
|
|
|
30412
30619
|
addonId: null,
|
|
30413
30620
|
access: "create"
|
|
30414
30621
|
},
|
|
30415
|
-
"pipelineAnalytics.
|
|
30622
|
+
"pipelineAnalytics.cancelStorageMigrationMove": {
|
|
30416
30623
|
capName: "pipeline-analytics",
|
|
30417
30624
|
capScope: "device",
|
|
30418
30625
|
addonId: null,
|
|
@@ -30484,12 +30691,6 @@ Object.freeze({
|
|
|
30484
30691
|
addonId: null,
|
|
30485
30692
|
access: "view"
|
|
30486
30693
|
},
|
|
30487
|
-
"pipelineAnalytics.getMediaRelocateStatus": {
|
|
30488
|
-
capName: "pipeline-analytics",
|
|
30489
|
-
capScope: "device",
|
|
30490
|
-
addonId: null,
|
|
30491
|
-
access: "view"
|
|
30492
|
-
},
|
|
30493
30694
|
"pipelineAnalytics.getMotionEvents": {
|
|
30494
30695
|
capName: "pipeline-analytics",
|
|
30495
30696
|
capScope: "device",
|
|
@@ -30526,6 +30727,12 @@ Object.freeze({
|
|
|
30526
30727
|
addonId: null,
|
|
30527
30728
|
access: "view"
|
|
30528
30729
|
},
|
|
30730
|
+
"pipelineAnalytics.getStorageMigrationMoveStatus": {
|
|
30731
|
+
capName: "pipeline-analytics",
|
|
30732
|
+
capScope: "device",
|
|
30733
|
+
addonId: null,
|
|
30734
|
+
access: "view"
|
|
30735
|
+
},
|
|
30529
30736
|
"pipelineAnalytics.getTrack": {
|
|
30530
30737
|
capName: "pipeline-analytics",
|
|
30531
30738
|
capScope: "device",
|
|
@@ -30604,6 +30811,12 @@ Object.freeze({
|
|
|
30604
30811
|
addonId: null,
|
|
30605
30812
|
access: "view"
|
|
30606
30813
|
},
|
|
30814
|
+
"pipelineAnalytics.pauseForStorageMigration": {
|
|
30815
|
+
capName: "pipeline-analytics",
|
|
30816
|
+
capScope: "device",
|
|
30817
|
+
addonId: null,
|
|
30818
|
+
access: "create"
|
|
30819
|
+
},
|
|
30607
30820
|
"pipelineAnalytics.proposeRetrainAnnotations": {
|
|
30608
30821
|
capName: "pipeline-analytics",
|
|
30609
30822
|
capScope: "device",
|
|
@@ -30634,7 +30847,7 @@ Object.freeze({
|
|
|
30634
30847
|
addonId: null,
|
|
30635
30848
|
access: "create"
|
|
30636
30849
|
},
|
|
30637
|
-
"pipelineAnalytics.
|
|
30850
|
+
"pipelineAnalytics.refreshStorageLocationsForMigration": {
|
|
30638
30851
|
capName: "pipeline-analytics",
|
|
30639
30852
|
capScope: "device",
|
|
30640
30853
|
addonId: null,
|
|
@@ -30646,6 +30859,12 @@ Object.freeze({
|
|
|
30646
30859
|
addonId: null,
|
|
30647
30860
|
access: "create"
|
|
30648
30861
|
},
|
|
30862
|
+
"pipelineAnalytics.resumeForStorageMigration": {
|
|
30863
|
+
capName: "pipeline-analytics",
|
|
30864
|
+
capScope: "device",
|
|
30865
|
+
addonId: null,
|
|
30866
|
+
access: "create"
|
|
30867
|
+
},
|
|
30649
30868
|
"pipelineAnalytics.saveRetrainAnnotations": {
|
|
30650
30869
|
capName: "pipeline-analytics",
|
|
30651
30870
|
capScope: "device",
|
|
@@ -30670,6 +30889,12 @@ Object.freeze({
|
|
|
30670
30889
|
addonId: null,
|
|
30671
30890
|
access: "create"
|
|
30672
30891
|
},
|
|
30892
|
+
"pipelineAnalytics.startStorageMigrationMove": {
|
|
30893
|
+
capName: "pipeline-analytics",
|
|
30894
|
+
capScope: "device",
|
|
30895
|
+
addonId: null,
|
|
30896
|
+
access: "create"
|
|
30897
|
+
},
|
|
30673
30898
|
"pipelineAnalytics.wipeAllAnalytics": {
|
|
30674
30899
|
capName: "pipeline-analytics",
|
|
30675
30900
|
capScope: "device",
|
|
@@ -31036,6 +31261,12 @@ Object.freeze({
|
|
|
31036
31261
|
addonId: null,
|
|
31037
31262
|
access: "view"
|
|
31038
31263
|
},
|
|
31264
|
+
"pipelineOrchestrator.pauseForStorageMigration": {
|
|
31265
|
+
capName: "pipeline-orchestrator",
|
|
31266
|
+
capScope: "system",
|
|
31267
|
+
addonId: null,
|
|
31268
|
+
access: "create"
|
|
31269
|
+
},
|
|
31039
31270
|
"pipelineOrchestrator.rebalance": {
|
|
31040
31271
|
capName: "pipeline-orchestrator",
|
|
31041
31272
|
capScope: "system",
|
|
@@ -31060,6 +31291,12 @@ Object.freeze({
|
|
|
31060
31291
|
addonId: null,
|
|
31061
31292
|
access: "view"
|
|
31062
31293
|
},
|
|
31294
|
+
"pipelineOrchestrator.resumeForStorageMigration": {
|
|
31295
|
+
capName: "pipeline-orchestrator",
|
|
31296
|
+
capScope: "system",
|
|
31297
|
+
addonId: null,
|
|
31298
|
+
access: "create"
|
|
31299
|
+
},
|
|
31063
31300
|
"pipelineOrchestrator.saveTemplate": {
|
|
31064
31301
|
capName: "pipeline-orchestrator",
|
|
31065
31302
|
capScope: "system",
|
|
@@ -31456,7 +31693,7 @@ Object.freeze({
|
|
|
31456
31693
|
addonId: null,
|
|
31457
31694
|
access: "create"
|
|
31458
31695
|
},
|
|
31459
|
-
"recording.
|
|
31696
|
+
"recording.cancelStorageMigrationMove": {
|
|
31460
31697
|
capName: "recording",
|
|
31461
31698
|
capScope: "system",
|
|
31462
31699
|
addonId: null,
|
|
@@ -31492,7 +31729,7 @@ Object.freeze({
|
|
|
31492
31729
|
addonId: null,
|
|
31493
31730
|
access: "view"
|
|
31494
31731
|
},
|
|
31495
|
-
"recording.
|
|
31732
|
+
"recording.getStorageMigrationMoveStatus": {
|
|
31496
31733
|
capName: "recording",
|
|
31497
31734
|
capScope: "system",
|
|
31498
31735
|
addonId: null,
|
|
@@ -31516,6 +31753,12 @@ Object.freeze({
|
|
|
31516
31753
|
addonId: null,
|
|
31517
31754
|
access: "view"
|
|
31518
31755
|
},
|
|
31756
|
+
"recording.pauseForStorageMigration": {
|
|
31757
|
+
capName: "recording",
|
|
31758
|
+
capScope: "system",
|
|
31759
|
+
addonId: null,
|
|
31760
|
+
access: "create"
|
|
31761
|
+
},
|
|
31519
31762
|
"recording.pruneFootage": {
|
|
31520
31763
|
capName: "recording",
|
|
31521
31764
|
capScope: "system",
|
|
@@ -31534,7 +31777,7 @@ Object.freeze({
|
|
|
31534
31777
|
addonId: null,
|
|
31535
31778
|
access: "view"
|
|
31536
31779
|
},
|
|
31537
|
-
"recording.
|
|
31780
|
+
"recording.refreshStorageLocationsForMigration": {
|
|
31538
31781
|
capName: "recording",
|
|
31539
31782
|
capScope: "system",
|
|
31540
31783
|
addonId: null,
|
|
@@ -31558,12 +31801,24 @@ Object.freeze({
|
|
|
31558
31801
|
addonId: null,
|
|
31559
31802
|
access: "create"
|
|
31560
31803
|
},
|
|
31804
|
+
"recording.resumeForStorageMigration": {
|
|
31805
|
+
capName: "recording",
|
|
31806
|
+
capScope: "system",
|
|
31807
|
+
addonId: null,
|
|
31808
|
+
access: "create"
|
|
31809
|
+
},
|
|
31561
31810
|
"recording.setDeviceConfig": {
|
|
31562
31811
|
capName: "recording",
|
|
31563
31812
|
capScope: "system",
|
|
31564
31813
|
addonId: null,
|
|
31565
31814
|
access: "create"
|
|
31566
31815
|
},
|
|
31816
|
+
"recording.startStorageMigrationMove": {
|
|
31817
|
+
capName: "recording",
|
|
31818
|
+
capScope: "system",
|
|
31819
|
+
addonId: null,
|
|
31820
|
+
access: "create"
|
|
31821
|
+
},
|
|
31567
31822
|
"recordingExport.cancelExport": {
|
|
31568
31823
|
capName: "recordingExport",
|
|
31569
31824
|
capScope: "system",
|
|
@@ -31954,6 +32209,30 @@ Object.freeze({
|
|
|
31954
32209
|
addonId: null,
|
|
31955
32210
|
access: "view"
|
|
31956
32211
|
},
|
|
32212
|
+
"storageMigration.cancel": {
|
|
32213
|
+
capName: "storage-migration",
|
|
32214
|
+
capScope: "system",
|
|
32215
|
+
addonId: null,
|
|
32216
|
+
access: "create"
|
|
32217
|
+
},
|
|
32218
|
+
"storageMigration.plan": {
|
|
32219
|
+
capName: "storage-migration",
|
|
32220
|
+
capScope: "system",
|
|
32221
|
+
addonId: null,
|
|
32222
|
+
access: "view"
|
|
32223
|
+
},
|
|
32224
|
+
"storageMigration.start": {
|
|
32225
|
+
capName: "storage-migration",
|
|
32226
|
+
capScope: "system",
|
|
32227
|
+
addonId: null,
|
|
32228
|
+
access: "create"
|
|
32229
|
+
},
|
|
32230
|
+
"storageMigration.status": {
|
|
32231
|
+
capName: "storage-migration",
|
|
32232
|
+
capScope: "system",
|
|
32233
|
+
addonId: null,
|
|
32234
|
+
access: "view"
|
|
32235
|
+
},
|
|
31957
32236
|
"storageProvider.abortUpload": {
|
|
31958
32237
|
capName: "storage-provider",
|
|
31959
32238
|
capScope: "system",
|
|
@@ -32332,12 +32611,42 @@ Object.freeze({
|
|
|
32332
32611
|
addonId: null,
|
|
32333
32612
|
access: "create"
|
|
32334
32613
|
},
|
|
32614
|
+
"terminalSession.adoptLegacyMonitor": {
|
|
32615
|
+
capName: "terminal-session",
|
|
32616
|
+
capScope: "system",
|
|
32617
|
+
addonId: null,
|
|
32618
|
+
access: "create"
|
|
32619
|
+
},
|
|
32335
32620
|
"terminalSession.close": {
|
|
32336
32621
|
capName: "terminal-session",
|
|
32337
32622
|
capScope: "system",
|
|
32338
32623
|
addonId: null,
|
|
32339
32624
|
access: "create"
|
|
32340
32625
|
},
|
|
32626
|
+
"terminalSession.createInstance": {
|
|
32627
|
+
capName: "terminal-session",
|
|
32628
|
+
capScope: "system",
|
|
32629
|
+
addonId: null,
|
|
32630
|
+
access: "create"
|
|
32631
|
+
},
|
|
32632
|
+
"terminalSession.deleteInstance": {
|
|
32633
|
+
capName: "terminal-session",
|
|
32634
|
+
capScope: "system",
|
|
32635
|
+
addonId: null,
|
|
32636
|
+
access: "delete"
|
|
32637
|
+
},
|
|
32638
|
+
"terminalSession.listInstances": {
|
|
32639
|
+
capName: "terminal-session",
|
|
32640
|
+
capScope: "system",
|
|
32641
|
+
addonId: null,
|
|
32642
|
+
access: "view"
|
|
32643
|
+
},
|
|
32644
|
+
"terminalSession.listLegacyCameras": {
|
|
32645
|
+
capName: "terminal-session",
|
|
32646
|
+
capScope: "system",
|
|
32647
|
+
addonId: null,
|
|
32648
|
+
access: "view"
|
|
32649
|
+
},
|
|
32341
32650
|
"terminalSession.listProfiles": {
|
|
32342
32651
|
capName: "terminal-session",
|
|
32343
32652
|
capScope: "system",
|
|
@@ -32356,12 +32665,30 @@ Object.freeze({
|
|
|
32356
32665
|
addonId: null,
|
|
32357
32666
|
access: "create"
|
|
32358
32667
|
},
|
|
32668
|
+
"terminalSession.pullOutput": {
|
|
32669
|
+
capName: "terminal-session",
|
|
32670
|
+
capScope: "system",
|
|
32671
|
+
addonId: null,
|
|
32672
|
+
access: "create"
|
|
32673
|
+
},
|
|
32359
32674
|
"terminalSession.resize": {
|
|
32360
32675
|
capName: "terminal-session",
|
|
32361
32676
|
capScope: "system",
|
|
32362
32677
|
addonId: null,
|
|
32363
32678
|
access: "create"
|
|
32364
32679
|
},
|
|
32680
|
+
"terminalSession.setInstanceEnabled": {
|
|
32681
|
+
capName: "terminal-session",
|
|
32682
|
+
capScope: "system",
|
|
32683
|
+
addonId: null,
|
|
32684
|
+
access: "create"
|
|
32685
|
+
},
|
|
32686
|
+
"terminalSession.writeInput": {
|
|
32687
|
+
capName: "terminal-session",
|
|
32688
|
+
capScope: "system",
|
|
32689
|
+
addonId: null,
|
|
32690
|
+
access: "create"
|
|
32691
|
+
},
|
|
32365
32692
|
"toast.onToast": {
|
|
32366
32693
|
capName: "toast",
|
|
32367
32694
|
capScope: "system",
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@camstack/addon-provider-wyze",
|
|
3
|
-
"version": "0.2.
|
|
3
|
+
"version": "0.2.12",
|
|
4
4
|
"description": "Wyze camera device-provider addon for CamStack — wraps the @apocaliss92/wyze-bridge-js P2P/DTLS client, feeding the stream-broker via the pull-rfc4571 lazy-publish path (a structural twin of addon-provider-reolink)",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"camstack",
|