@camstack/addon-provider-wyze 0.2.11 → 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 +316 -31
- package/dist/addon.mjs +316 -31
- 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",
|
|
16385
|
+
auth: "admin"
|
|
16386
|
+
}), method(StorageMigrationLeaseInputSchema, object({ refreshed: literal(true) }), {
|
|
16387
|
+
kind: "mutation",
|
|
16388
|
+
auth: "admin"
|
|
16389
|
+
}), method(StorageMigrationMediaMoveInputSchema, object({ jobId: string() }), {
|
|
16390
|
+
kind: "mutation",
|
|
16305
16391
|
auth: "admin"
|
|
16306
|
-
}), method(object({ jobId: string() }), object({ cancelled: boolean() }), {
|
|
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,6 +18800,28 @@ var TerminalProfileInfoSchema = object({
|
|
|
18701
18800
|
label: string(),
|
|
18702
18801
|
description: string().optional()
|
|
18703
18802
|
});
|
|
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
|
+
});
|
|
18704
18825
|
var TerminalOutputEventSchema = discriminatedUnion("kind", [object({
|
|
18705
18826
|
seq: number().int().positive(),
|
|
18706
18827
|
kind: literal("data"),
|
|
@@ -18717,7 +18838,29 @@ var TerminalOutputBatchSchema = object({
|
|
|
18717
18838
|
snapshot: string().optional(),
|
|
18718
18839
|
events: array(TerminalOutputEventSchema).readonly()
|
|
18719
18840
|
});
|
|
18720
|
-
method(_void(), array(TerminalProfileInfoSchema).readonly(), { auth: "admin" }), method(_void(), array(
|
|
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({
|
|
18721
18864
|
profileId: string(),
|
|
18722
18865
|
cols: number().int().positive(),
|
|
18723
18866
|
rows: number().int().positive()
|
|
@@ -18734,7 +18877,13 @@ method(_void(), array(TerminalProfileInfoSchema).readonly(), { auth: "admin" }),
|
|
|
18734
18877
|
}), method(object({
|
|
18735
18878
|
sessionId: string(),
|
|
18736
18879
|
afterSeq: number().int().nonnegative(),
|
|
18737
|
-
waitMs: number().int().min(0).max(2e3).default(0)
|
|
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()
|
|
18738
18887
|
}), TerminalOutputBatchSchema, {
|
|
18739
18888
|
kind: "mutation",
|
|
18740
18889
|
auth: "admin",
|
|
@@ -21232,6 +21381,7 @@ var FaceInfoSchema = object({
|
|
|
21232
21381
|
var FaceFilterEnum = _enum([
|
|
21233
21382
|
"unassigned",
|
|
21234
21383
|
"recognized",
|
|
21384
|
+
"identified",
|
|
21235
21385
|
"all"
|
|
21236
21386
|
]);
|
|
21237
21387
|
var MediaFileLiteSchema$1 = object({
|
|
@@ -21260,6 +21410,8 @@ method(_void(), array(IdentitySchema).readonly()), method(object({ name: string(
|
|
|
21260
21410
|
kind: "mutation",
|
|
21261
21411
|
auth: "admin"
|
|
21262
21412
|
}), method(object({
|
|
21413
|
+
/** Restrict to one camera. Absent keeps the cluster-wide gallery view. */
|
|
21414
|
+
deviceId: number().int().optional(),
|
|
21263
21415
|
limit: number().int().positive().optional(),
|
|
21264
21416
|
filter: FaceFilterEnum.optional(),
|
|
21265
21417
|
/**
|
|
@@ -23540,6 +23692,10 @@ var OsdSourceSchema = discriminatedUnion("kind", [
|
|
|
23540
23692
|
capName: string().min(1).max(64),
|
|
23541
23693
|
/** Dot path inside the slice, e.g. `detected`, `value`, `mode`. */
|
|
23542
23694
|
valuePath: string().min(1).max(64)
|
|
23695
|
+
}),
|
|
23696
|
+
object({
|
|
23697
|
+
kind: literal("latest-recognition"),
|
|
23698
|
+
recognition: _enum(["person", "plate"])
|
|
23543
23699
|
})
|
|
23544
23700
|
]);
|
|
23545
23701
|
var OsdSlotBindingSchema = object({
|
|
@@ -23645,6 +23801,15 @@ method(object({ deviceId: number().int() }), object({
|
|
|
23645
23801
|
}), object({ success: literal(true) }), {
|
|
23646
23802
|
kind: "mutation",
|
|
23647
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"
|
|
23648
23813
|
}), method(object({
|
|
23649
23814
|
deviceId: number().int(),
|
|
23650
23815
|
slotId: string().min(1),
|
|
@@ -24742,13 +24907,19 @@ method(object({
|
|
|
24742
24907
|
}), {
|
|
24743
24908
|
kind: "mutation",
|
|
24744
24909
|
auth: "admin"
|
|
24745
|
-
}), method(
|
|
24910
|
+
}), method(StorageMigrationLeaseInputSchema, object({ paused: literal(true) }), {
|
|
24746
24911
|
kind: "mutation",
|
|
24747
24912
|
auth: "admin"
|
|
24748
|
-
}), method(object({
|
|
24749
|
-
kind: "
|
|
24913
|
+
}), method(StorageMigrationLeaseInputSchema, object({ resumed: literal(true) }), {
|
|
24914
|
+
kind: "mutation",
|
|
24750
24915
|
auth: "admin"
|
|
24751
|
-
}), 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() }), {
|
|
24752
24923
|
kind: "mutation",
|
|
24753
24924
|
auth: "admin"
|
|
24754
24925
|
});
|
|
@@ -30367,6 +30538,12 @@ Object.freeze({
|
|
|
30367
30538
|
addonId: null,
|
|
30368
30539
|
access: "delete"
|
|
30369
30540
|
},
|
|
30541
|
+
"osdManager.copyDeviceConfiguration": {
|
|
30542
|
+
capName: "osd-manager",
|
|
30543
|
+
capScope: "system",
|
|
30544
|
+
addonId: null,
|
|
30545
|
+
access: "create"
|
|
30546
|
+
},
|
|
30370
30547
|
"osdManager.getConditionSupport": {
|
|
30371
30548
|
capName: "osd-manager",
|
|
30372
30549
|
capScope: "system",
|
|
@@ -30463,7 +30640,7 @@ Object.freeze({
|
|
|
30463
30640
|
addonId: null,
|
|
30464
30641
|
access: "create"
|
|
30465
30642
|
},
|
|
30466
|
-
"pipelineAnalytics.
|
|
30643
|
+
"pipelineAnalytics.cancelStorageMigrationMove": {
|
|
30467
30644
|
capName: "pipeline-analytics",
|
|
30468
30645
|
capScope: "device",
|
|
30469
30646
|
addonId: null,
|
|
@@ -30535,12 +30712,6 @@ Object.freeze({
|
|
|
30535
30712
|
addonId: null,
|
|
30536
30713
|
access: "view"
|
|
30537
30714
|
},
|
|
30538
|
-
"pipelineAnalytics.getMediaRelocateStatus": {
|
|
30539
|
-
capName: "pipeline-analytics",
|
|
30540
|
-
capScope: "device",
|
|
30541
|
-
addonId: null,
|
|
30542
|
-
access: "view"
|
|
30543
|
-
},
|
|
30544
30715
|
"pipelineAnalytics.getMotionEvents": {
|
|
30545
30716
|
capName: "pipeline-analytics",
|
|
30546
30717
|
capScope: "device",
|
|
@@ -30577,6 +30748,12 @@ Object.freeze({
|
|
|
30577
30748
|
addonId: null,
|
|
30578
30749
|
access: "view"
|
|
30579
30750
|
},
|
|
30751
|
+
"pipelineAnalytics.getStorageMigrationMoveStatus": {
|
|
30752
|
+
capName: "pipeline-analytics",
|
|
30753
|
+
capScope: "device",
|
|
30754
|
+
addonId: null,
|
|
30755
|
+
access: "view"
|
|
30756
|
+
},
|
|
30580
30757
|
"pipelineAnalytics.getTrack": {
|
|
30581
30758
|
capName: "pipeline-analytics",
|
|
30582
30759
|
capScope: "device",
|
|
@@ -30655,6 +30832,12 @@ Object.freeze({
|
|
|
30655
30832
|
addonId: null,
|
|
30656
30833
|
access: "view"
|
|
30657
30834
|
},
|
|
30835
|
+
"pipelineAnalytics.pauseForStorageMigration": {
|
|
30836
|
+
capName: "pipeline-analytics",
|
|
30837
|
+
capScope: "device",
|
|
30838
|
+
addonId: null,
|
|
30839
|
+
access: "create"
|
|
30840
|
+
},
|
|
30658
30841
|
"pipelineAnalytics.proposeRetrainAnnotations": {
|
|
30659
30842
|
capName: "pipeline-analytics",
|
|
30660
30843
|
capScope: "device",
|
|
@@ -30685,7 +30868,7 @@ Object.freeze({
|
|
|
30685
30868
|
addonId: null,
|
|
30686
30869
|
access: "create"
|
|
30687
30870
|
},
|
|
30688
|
-
"pipelineAnalytics.
|
|
30871
|
+
"pipelineAnalytics.refreshStorageLocationsForMigration": {
|
|
30689
30872
|
capName: "pipeline-analytics",
|
|
30690
30873
|
capScope: "device",
|
|
30691
30874
|
addonId: null,
|
|
@@ -30697,6 +30880,12 @@ Object.freeze({
|
|
|
30697
30880
|
addonId: null,
|
|
30698
30881
|
access: "create"
|
|
30699
30882
|
},
|
|
30883
|
+
"pipelineAnalytics.resumeForStorageMigration": {
|
|
30884
|
+
capName: "pipeline-analytics",
|
|
30885
|
+
capScope: "device",
|
|
30886
|
+
addonId: null,
|
|
30887
|
+
access: "create"
|
|
30888
|
+
},
|
|
30700
30889
|
"pipelineAnalytics.saveRetrainAnnotations": {
|
|
30701
30890
|
capName: "pipeline-analytics",
|
|
30702
30891
|
capScope: "device",
|
|
@@ -30721,6 +30910,12 @@ Object.freeze({
|
|
|
30721
30910
|
addonId: null,
|
|
30722
30911
|
access: "create"
|
|
30723
30912
|
},
|
|
30913
|
+
"pipelineAnalytics.startStorageMigrationMove": {
|
|
30914
|
+
capName: "pipeline-analytics",
|
|
30915
|
+
capScope: "device",
|
|
30916
|
+
addonId: null,
|
|
30917
|
+
access: "create"
|
|
30918
|
+
},
|
|
30724
30919
|
"pipelineAnalytics.wipeAllAnalytics": {
|
|
30725
30920
|
capName: "pipeline-analytics",
|
|
30726
30921
|
capScope: "device",
|
|
@@ -31087,6 +31282,12 @@ Object.freeze({
|
|
|
31087
31282
|
addonId: null,
|
|
31088
31283
|
access: "view"
|
|
31089
31284
|
},
|
|
31285
|
+
"pipelineOrchestrator.pauseForStorageMigration": {
|
|
31286
|
+
capName: "pipeline-orchestrator",
|
|
31287
|
+
capScope: "system",
|
|
31288
|
+
addonId: null,
|
|
31289
|
+
access: "create"
|
|
31290
|
+
},
|
|
31090
31291
|
"pipelineOrchestrator.rebalance": {
|
|
31091
31292
|
capName: "pipeline-orchestrator",
|
|
31092
31293
|
capScope: "system",
|
|
@@ -31111,6 +31312,12 @@ Object.freeze({
|
|
|
31111
31312
|
addonId: null,
|
|
31112
31313
|
access: "view"
|
|
31113
31314
|
},
|
|
31315
|
+
"pipelineOrchestrator.resumeForStorageMigration": {
|
|
31316
|
+
capName: "pipeline-orchestrator",
|
|
31317
|
+
capScope: "system",
|
|
31318
|
+
addonId: null,
|
|
31319
|
+
access: "create"
|
|
31320
|
+
},
|
|
31114
31321
|
"pipelineOrchestrator.saveTemplate": {
|
|
31115
31322
|
capName: "pipeline-orchestrator",
|
|
31116
31323
|
capScope: "system",
|
|
@@ -31507,7 +31714,7 @@ Object.freeze({
|
|
|
31507
31714
|
addonId: null,
|
|
31508
31715
|
access: "create"
|
|
31509
31716
|
},
|
|
31510
|
-
"recording.
|
|
31717
|
+
"recording.cancelStorageMigrationMove": {
|
|
31511
31718
|
capName: "recording",
|
|
31512
31719
|
capScope: "system",
|
|
31513
31720
|
addonId: null,
|
|
@@ -31543,7 +31750,7 @@ Object.freeze({
|
|
|
31543
31750
|
addonId: null,
|
|
31544
31751
|
access: "view"
|
|
31545
31752
|
},
|
|
31546
|
-
"recording.
|
|
31753
|
+
"recording.getStorageMigrationMoveStatus": {
|
|
31547
31754
|
capName: "recording",
|
|
31548
31755
|
capScope: "system",
|
|
31549
31756
|
addonId: null,
|
|
@@ -31567,6 +31774,12 @@ Object.freeze({
|
|
|
31567
31774
|
addonId: null,
|
|
31568
31775
|
access: "view"
|
|
31569
31776
|
},
|
|
31777
|
+
"recording.pauseForStorageMigration": {
|
|
31778
|
+
capName: "recording",
|
|
31779
|
+
capScope: "system",
|
|
31780
|
+
addonId: null,
|
|
31781
|
+
access: "create"
|
|
31782
|
+
},
|
|
31570
31783
|
"recording.pruneFootage": {
|
|
31571
31784
|
capName: "recording",
|
|
31572
31785
|
capScope: "system",
|
|
@@ -31585,7 +31798,7 @@ Object.freeze({
|
|
|
31585
31798
|
addonId: null,
|
|
31586
31799
|
access: "view"
|
|
31587
31800
|
},
|
|
31588
|
-
"recording.
|
|
31801
|
+
"recording.refreshStorageLocationsForMigration": {
|
|
31589
31802
|
capName: "recording",
|
|
31590
31803
|
capScope: "system",
|
|
31591
31804
|
addonId: null,
|
|
@@ -31609,12 +31822,24 @@ Object.freeze({
|
|
|
31609
31822
|
addonId: null,
|
|
31610
31823
|
access: "create"
|
|
31611
31824
|
},
|
|
31825
|
+
"recording.resumeForStorageMigration": {
|
|
31826
|
+
capName: "recording",
|
|
31827
|
+
capScope: "system",
|
|
31828
|
+
addonId: null,
|
|
31829
|
+
access: "create"
|
|
31830
|
+
},
|
|
31612
31831
|
"recording.setDeviceConfig": {
|
|
31613
31832
|
capName: "recording",
|
|
31614
31833
|
capScope: "system",
|
|
31615
31834
|
addonId: null,
|
|
31616
31835
|
access: "create"
|
|
31617
31836
|
},
|
|
31837
|
+
"recording.startStorageMigrationMove": {
|
|
31838
|
+
capName: "recording",
|
|
31839
|
+
capScope: "system",
|
|
31840
|
+
addonId: null,
|
|
31841
|
+
access: "create"
|
|
31842
|
+
},
|
|
31618
31843
|
"recordingExport.cancelExport": {
|
|
31619
31844
|
capName: "recordingExport",
|
|
31620
31845
|
capScope: "system",
|
|
@@ -32005,6 +32230,30 @@ Object.freeze({
|
|
|
32005
32230
|
addonId: null,
|
|
32006
32231
|
access: "view"
|
|
32007
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
|
+
},
|
|
32008
32257
|
"storageProvider.abortUpload": {
|
|
32009
32258
|
capName: "storage-provider",
|
|
32010
32259
|
capScope: "system",
|
|
@@ -32383,12 +32632,42 @@ Object.freeze({
|
|
|
32383
32632
|
addonId: null,
|
|
32384
32633
|
access: "create"
|
|
32385
32634
|
},
|
|
32635
|
+
"terminalSession.adoptLegacyMonitor": {
|
|
32636
|
+
capName: "terminal-session",
|
|
32637
|
+
capScope: "system",
|
|
32638
|
+
addonId: null,
|
|
32639
|
+
access: "create"
|
|
32640
|
+
},
|
|
32386
32641
|
"terminalSession.close": {
|
|
32387
32642
|
capName: "terminal-session",
|
|
32388
32643
|
capScope: "system",
|
|
32389
32644
|
addonId: null,
|
|
32390
32645
|
access: "create"
|
|
32391
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
|
+
},
|
|
32392
32671
|
"terminalSession.listProfiles": {
|
|
32393
32672
|
capName: "terminal-session",
|
|
32394
32673
|
capScope: "system",
|
|
@@ -32419,6 +32698,12 @@ Object.freeze({
|
|
|
32419
32698
|
addonId: null,
|
|
32420
32699
|
access: "create"
|
|
32421
32700
|
},
|
|
32701
|
+
"terminalSession.setInstanceEnabled": {
|
|
32702
|
+
capName: "terminal-session",
|
|
32703
|
+
capScope: "system",
|
|
32704
|
+
addonId: null,
|
|
32705
|
+
access: "create"
|
|
32706
|
+
},
|
|
32422
32707
|
"terminalSession.writeInput": {
|
|
32423
32708
|
capName: "terminal-session",
|
|
32424
32709
|
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",
|
|
16364
|
+
auth: "admin"
|
|
16365
|
+
}), method(StorageMigrationLeaseInputSchema, object({ refreshed: literal(true) }), {
|
|
16366
|
+
kind: "mutation",
|
|
16367
|
+
auth: "admin"
|
|
16368
|
+
}), method(StorageMigrationMediaMoveInputSchema, object({ jobId: string() }), {
|
|
16369
|
+
kind: "mutation",
|
|
16284
16370
|
auth: "admin"
|
|
16285
|
-
}), method(object({ jobId: string() }), object({ cancelled: boolean() }), {
|
|
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,6 +18779,28 @@ var TerminalProfileInfoSchema = object({
|
|
|
18680
18779
|
label: string(),
|
|
18681
18780
|
description: string().optional()
|
|
18682
18781
|
});
|
|
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
|
+
});
|
|
18683
18804
|
var TerminalOutputEventSchema = discriminatedUnion("kind", [object({
|
|
18684
18805
|
seq: number().int().positive(),
|
|
18685
18806
|
kind: literal("data"),
|
|
@@ -18696,7 +18817,29 @@ var TerminalOutputBatchSchema = object({
|
|
|
18696
18817
|
snapshot: string().optional(),
|
|
18697
18818
|
events: array(TerminalOutputEventSchema).readonly()
|
|
18698
18819
|
});
|
|
18699
|
-
method(_void(), array(TerminalProfileInfoSchema).readonly(), { auth: "admin" }), method(_void(), array(
|
|
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({
|
|
18700
18843
|
profileId: string(),
|
|
18701
18844
|
cols: number().int().positive(),
|
|
18702
18845
|
rows: number().int().positive()
|
|
@@ -18713,7 +18856,13 @@ method(_void(), array(TerminalProfileInfoSchema).readonly(), { auth: "admin" }),
|
|
|
18713
18856
|
}), method(object({
|
|
18714
18857
|
sessionId: string(),
|
|
18715
18858
|
afterSeq: number().int().nonnegative(),
|
|
18716
|
-
waitMs: number().int().min(0).max(2e3).default(0)
|
|
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()
|
|
18717
18866
|
}), TerminalOutputBatchSchema, {
|
|
18718
18867
|
kind: "mutation",
|
|
18719
18868
|
auth: "admin",
|
|
@@ -21211,6 +21360,7 @@ var FaceInfoSchema = object({
|
|
|
21211
21360
|
var FaceFilterEnum = _enum([
|
|
21212
21361
|
"unassigned",
|
|
21213
21362
|
"recognized",
|
|
21363
|
+
"identified",
|
|
21214
21364
|
"all"
|
|
21215
21365
|
]);
|
|
21216
21366
|
var MediaFileLiteSchema$1 = object({
|
|
@@ -21239,6 +21389,8 @@ method(_void(), array(IdentitySchema).readonly()), method(object({ name: string(
|
|
|
21239
21389
|
kind: "mutation",
|
|
21240
21390
|
auth: "admin"
|
|
21241
21391
|
}), method(object({
|
|
21392
|
+
/** Restrict to one camera. Absent keeps the cluster-wide gallery view. */
|
|
21393
|
+
deviceId: number().int().optional(),
|
|
21242
21394
|
limit: number().int().positive().optional(),
|
|
21243
21395
|
filter: FaceFilterEnum.optional(),
|
|
21244
21396
|
/**
|
|
@@ -23519,6 +23671,10 @@ var OsdSourceSchema = discriminatedUnion("kind", [
|
|
|
23519
23671
|
capName: string().min(1).max(64),
|
|
23520
23672
|
/** Dot path inside the slice, e.g. `detected`, `value`, `mode`. */
|
|
23521
23673
|
valuePath: string().min(1).max(64)
|
|
23674
|
+
}),
|
|
23675
|
+
object({
|
|
23676
|
+
kind: literal("latest-recognition"),
|
|
23677
|
+
recognition: _enum(["person", "plate"])
|
|
23522
23678
|
})
|
|
23523
23679
|
]);
|
|
23524
23680
|
var OsdSlotBindingSchema = object({
|
|
@@ -23624,6 +23780,15 @@ method(object({ deviceId: number().int() }), object({
|
|
|
23624
23780
|
}), object({ success: literal(true) }), {
|
|
23625
23781
|
kind: "mutation",
|
|
23626
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"
|
|
23627
23792
|
}), method(object({
|
|
23628
23793
|
deviceId: number().int(),
|
|
23629
23794
|
slotId: string().min(1),
|
|
@@ -24721,13 +24886,19 @@ method(object({
|
|
|
24721
24886
|
}), {
|
|
24722
24887
|
kind: "mutation",
|
|
24723
24888
|
auth: "admin"
|
|
24724
|
-
}), method(
|
|
24889
|
+
}), method(StorageMigrationLeaseInputSchema, object({ paused: literal(true) }), {
|
|
24725
24890
|
kind: "mutation",
|
|
24726
24891
|
auth: "admin"
|
|
24727
|
-
}), method(object({
|
|
24728
|
-
kind: "
|
|
24892
|
+
}), method(StorageMigrationLeaseInputSchema, object({ resumed: literal(true) }), {
|
|
24893
|
+
kind: "mutation",
|
|
24729
24894
|
auth: "admin"
|
|
24730
|
-
}), 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() }), {
|
|
24731
24902
|
kind: "mutation",
|
|
24732
24903
|
auth: "admin"
|
|
24733
24904
|
});
|
|
@@ -30346,6 +30517,12 @@ Object.freeze({
|
|
|
30346
30517
|
addonId: null,
|
|
30347
30518
|
access: "delete"
|
|
30348
30519
|
},
|
|
30520
|
+
"osdManager.copyDeviceConfiguration": {
|
|
30521
|
+
capName: "osd-manager",
|
|
30522
|
+
capScope: "system",
|
|
30523
|
+
addonId: null,
|
|
30524
|
+
access: "create"
|
|
30525
|
+
},
|
|
30349
30526
|
"osdManager.getConditionSupport": {
|
|
30350
30527
|
capName: "osd-manager",
|
|
30351
30528
|
capScope: "system",
|
|
@@ -30442,7 +30619,7 @@ Object.freeze({
|
|
|
30442
30619
|
addonId: null,
|
|
30443
30620
|
access: "create"
|
|
30444
30621
|
},
|
|
30445
|
-
"pipelineAnalytics.
|
|
30622
|
+
"pipelineAnalytics.cancelStorageMigrationMove": {
|
|
30446
30623
|
capName: "pipeline-analytics",
|
|
30447
30624
|
capScope: "device",
|
|
30448
30625
|
addonId: null,
|
|
@@ -30514,12 +30691,6 @@ Object.freeze({
|
|
|
30514
30691
|
addonId: null,
|
|
30515
30692
|
access: "view"
|
|
30516
30693
|
},
|
|
30517
|
-
"pipelineAnalytics.getMediaRelocateStatus": {
|
|
30518
|
-
capName: "pipeline-analytics",
|
|
30519
|
-
capScope: "device",
|
|
30520
|
-
addonId: null,
|
|
30521
|
-
access: "view"
|
|
30522
|
-
},
|
|
30523
30694
|
"pipelineAnalytics.getMotionEvents": {
|
|
30524
30695
|
capName: "pipeline-analytics",
|
|
30525
30696
|
capScope: "device",
|
|
@@ -30556,6 +30727,12 @@ Object.freeze({
|
|
|
30556
30727
|
addonId: null,
|
|
30557
30728
|
access: "view"
|
|
30558
30729
|
},
|
|
30730
|
+
"pipelineAnalytics.getStorageMigrationMoveStatus": {
|
|
30731
|
+
capName: "pipeline-analytics",
|
|
30732
|
+
capScope: "device",
|
|
30733
|
+
addonId: null,
|
|
30734
|
+
access: "view"
|
|
30735
|
+
},
|
|
30559
30736
|
"pipelineAnalytics.getTrack": {
|
|
30560
30737
|
capName: "pipeline-analytics",
|
|
30561
30738
|
capScope: "device",
|
|
@@ -30634,6 +30811,12 @@ Object.freeze({
|
|
|
30634
30811
|
addonId: null,
|
|
30635
30812
|
access: "view"
|
|
30636
30813
|
},
|
|
30814
|
+
"pipelineAnalytics.pauseForStorageMigration": {
|
|
30815
|
+
capName: "pipeline-analytics",
|
|
30816
|
+
capScope: "device",
|
|
30817
|
+
addonId: null,
|
|
30818
|
+
access: "create"
|
|
30819
|
+
},
|
|
30637
30820
|
"pipelineAnalytics.proposeRetrainAnnotations": {
|
|
30638
30821
|
capName: "pipeline-analytics",
|
|
30639
30822
|
capScope: "device",
|
|
@@ -30664,7 +30847,7 @@ Object.freeze({
|
|
|
30664
30847
|
addonId: null,
|
|
30665
30848
|
access: "create"
|
|
30666
30849
|
},
|
|
30667
|
-
"pipelineAnalytics.
|
|
30850
|
+
"pipelineAnalytics.refreshStorageLocationsForMigration": {
|
|
30668
30851
|
capName: "pipeline-analytics",
|
|
30669
30852
|
capScope: "device",
|
|
30670
30853
|
addonId: null,
|
|
@@ -30676,6 +30859,12 @@ Object.freeze({
|
|
|
30676
30859
|
addonId: null,
|
|
30677
30860
|
access: "create"
|
|
30678
30861
|
},
|
|
30862
|
+
"pipelineAnalytics.resumeForStorageMigration": {
|
|
30863
|
+
capName: "pipeline-analytics",
|
|
30864
|
+
capScope: "device",
|
|
30865
|
+
addonId: null,
|
|
30866
|
+
access: "create"
|
|
30867
|
+
},
|
|
30679
30868
|
"pipelineAnalytics.saveRetrainAnnotations": {
|
|
30680
30869
|
capName: "pipeline-analytics",
|
|
30681
30870
|
capScope: "device",
|
|
@@ -30700,6 +30889,12 @@ Object.freeze({
|
|
|
30700
30889
|
addonId: null,
|
|
30701
30890
|
access: "create"
|
|
30702
30891
|
},
|
|
30892
|
+
"pipelineAnalytics.startStorageMigrationMove": {
|
|
30893
|
+
capName: "pipeline-analytics",
|
|
30894
|
+
capScope: "device",
|
|
30895
|
+
addonId: null,
|
|
30896
|
+
access: "create"
|
|
30897
|
+
},
|
|
30703
30898
|
"pipelineAnalytics.wipeAllAnalytics": {
|
|
30704
30899
|
capName: "pipeline-analytics",
|
|
30705
30900
|
capScope: "device",
|
|
@@ -31066,6 +31261,12 @@ Object.freeze({
|
|
|
31066
31261
|
addonId: null,
|
|
31067
31262
|
access: "view"
|
|
31068
31263
|
},
|
|
31264
|
+
"pipelineOrchestrator.pauseForStorageMigration": {
|
|
31265
|
+
capName: "pipeline-orchestrator",
|
|
31266
|
+
capScope: "system",
|
|
31267
|
+
addonId: null,
|
|
31268
|
+
access: "create"
|
|
31269
|
+
},
|
|
31069
31270
|
"pipelineOrchestrator.rebalance": {
|
|
31070
31271
|
capName: "pipeline-orchestrator",
|
|
31071
31272
|
capScope: "system",
|
|
@@ -31090,6 +31291,12 @@ Object.freeze({
|
|
|
31090
31291
|
addonId: null,
|
|
31091
31292
|
access: "view"
|
|
31092
31293
|
},
|
|
31294
|
+
"pipelineOrchestrator.resumeForStorageMigration": {
|
|
31295
|
+
capName: "pipeline-orchestrator",
|
|
31296
|
+
capScope: "system",
|
|
31297
|
+
addonId: null,
|
|
31298
|
+
access: "create"
|
|
31299
|
+
},
|
|
31093
31300
|
"pipelineOrchestrator.saveTemplate": {
|
|
31094
31301
|
capName: "pipeline-orchestrator",
|
|
31095
31302
|
capScope: "system",
|
|
@@ -31486,7 +31693,7 @@ Object.freeze({
|
|
|
31486
31693
|
addonId: null,
|
|
31487
31694
|
access: "create"
|
|
31488
31695
|
},
|
|
31489
|
-
"recording.
|
|
31696
|
+
"recording.cancelStorageMigrationMove": {
|
|
31490
31697
|
capName: "recording",
|
|
31491
31698
|
capScope: "system",
|
|
31492
31699
|
addonId: null,
|
|
@@ -31522,7 +31729,7 @@ Object.freeze({
|
|
|
31522
31729
|
addonId: null,
|
|
31523
31730
|
access: "view"
|
|
31524
31731
|
},
|
|
31525
|
-
"recording.
|
|
31732
|
+
"recording.getStorageMigrationMoveStatus": {
|
|
31526
31733
|
capName: "recording",
|
|
31527
31734
|
capScope: "system",
|
|
31528
31735
|
addonId: null,
|
|
@@ -31546,6 +31753,12 @@ Object.freeze({
|
|
|
31546
31753
|
addonId: null,
|
|
31547
31754
|
access: "view"
|
|
31548
31755
|
},
|
|
31756
|
+
"recording.pauseForStorageMigration": {
|
|
31757
|
+
capName: "recording",
|
|
31758
|
+
capScope: "system",
|
|
31759
|
+
addonId: null,
|
|
31760
|
+
access: "create"
|
|
31761
|
+
},
|
|
31549
31762
|
"recording.pruneFootage": {
|
|
31550
31763
|
capName: "recording",
|
|
31551
31764
|
capScope: "system",
|
|
@@ -31564,7 +31777,7 @@ Object.freeze({
|
|
|
31564
31777
|
addonId: null,
|
|
31565
31778
|
access: "view"
|
|
31566
31779
|
},
|
|
31567
|
-
"recording.
|
|
31780
|
+
"recording.refreshStorageLocationsForMigration": {
|
|
31568
31781
|
capName: "recording",
|
|
31569
31782
|
capScope: "system",
|
|
31570
31783
|
addonId: null,
|
|
@@ -31588,12 +31801,24 @@ Object.freeze({
|
|
|
31588
31801
|
addonId: null,
|
|
31589
31802
|
access: "create"
|
|
31590
31803
|
},
|
|
31804
|
+
"recording.resumeForStorageMigration": {
|
|
31805
|
+
capName: "recording",
|
|
31806
|
+
capScope: "system",
|
|
31807
|
+
addonId: null,
|
|
31808
|
+
access: "create"
|
|
31809
|
+
},
|
|
31591
31810
|
"recording.setDeviceConfig": {
|
|
31592
31811
|
capName: "recording",
|
|
31593
31812
|
capScope: "system",
|
|
31594
31813
|
addonId: null,
|
|
31595
31814
|
access: "create"
|
|
31596
31815
|
},
|
|
31816
|
+
"recording.startStorageMigrationMove": {
|
|
31817
|
+
capName: "recording",
|
|
31818
|
+
capScope: "system",
|
|
31819
|
+
addonId: null,
|
|
31820
|
+
access: "create"
|
|
31821
|
+
},
|
|
31597
31822
|
"recordingExport.cancelExport": {
|
|
31598
31823
|
capName: "recordingExport",
|
|
31599
31824
|
capScope: "system",
|
|
@@ -31984,6 +32209,30 @@ Object.freeze({
|
|
|
31984
32209
|
addonId: null,
|
|
31985
32210
|
access: "view"
|
|
31986
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
|
+
},
|
|
31987
32236
|
"storageProvider.abortUpload": {
|
|
31988
32237
|
capName: "storage-provider",
|
|
31989
32238
|
capScope: "system",
|
|
@@ -32362,12 +32611,42 @@ Object.freeze({
|
|
|
32362
32611
|
addonId: null,
|
|
32363
32612
|
access: "create"
|
|
32364
32613
|
},
|
|
32614
|
+
"terminalSession.adoptLegacyMonitor": {
|
|
32615
|
+
capName: "terminal-session",
|
|
32616
|
+
capScope: "system",
|
|
32617
|
+
addonId: null,
|
|
32618
|
+
access: "create"
|
|
32619
|
+
},
|
|
32365
32620
|
"terminalSession.close": {
|
|
32366
32621
|
capName: "terminal-session",
|
|
32367
32622
|
capScope: "system",
|
|
32368
32623
|
addonId: null,
|
|
32369
32624
|
access: "create"
|
|
32370
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
|
+
},
|
|
32371
32650
|
"terminalSession.listProfiles": {
|
|
32372
32651
|
capName: "terminal-session",
|
|
32373
32652
|
capScope: "system",
|
|
@@ -32398,6 +32677,12 @@ Object.freeze({
|
|
|
32398
32677
|
addonId: null,
|
|
32399
32678
|
access: "create"
|
|
32400
32679
|
},
|
|
32680
|
+
"terminalSession.setInstanceEnabled": {
|
|
32681
|
+
capName: "terminal-session",
|
|
32682
|
+
capScope: "system",
|
|
32683
|
+
addonId: null,
|
|
32684
|
+
access: "create"
|
|
32685
|
+
},
|
|
32401
32686
|
"terminalSession.writeInput": {
|
|
32402
32687
|
capName: "terminal-session",
|
|
32403
32688
|
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",
|