@camstack/addon-provider-gree 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
|
@@ -7568,12 +7568,11 @@ var RecordingConfigSchema = object({
|
|
|
7568
7568
|
/**
|
|
7569
7569
|
* Entity-relocation job state (storage entity-routing spec, Phase 4).
|
|
7570
7570
|
*
|
|
7571
|
-
* One shape shared by the recorder
|
|
7572
|
-
*
|
|
7573
|
-
*
|
|
7574
|
-
*
|
|
7575
|
-
*
|
|
7576
|
-
* row on the owning addon's surface.
|
|
7571
|
+
* One shape shared by the recorder and pipeline-analytics internal movers.
|
|
7572
|
+
* The public admin surface is `storage-migration`; child jobs remain in RAM
|
|
7573
|
+
* because copy-if-absent, verify, delete and index/row repoint are resumable.
|
|
7574
|
+
* Each completed/failed run also lands one durable ops-log row on its owning
|
|
7575
|
+
* addon surface.
|
|
7577
7576
|
*/
|
|
7578
7577
|
var RelocateJobStateSchema = _enum([
|
|
7579
7578
|
"running",
|
|
@@ -7600,19 +7599,100 @@ var RelocateJobSchema = object({
|
|
|
7600
7599
|
finishedAt: number().nullable(),
|
|
7601
7600
|
error: string().nullable()
|
|
7602
7601
|
});
|
|
7602
|
+
/** Profile-derived footage selection used only by the migration coordinator:
|
|
7603
|
+
* `recordings` owns high+mid; `recordingsLow` owns low. */
|
|
7604
|
+
var RelocateFootageClassSchema = _enum(["recordings", "recordingsLow"]);
|
|
7603
7605
|
var RelocateFootageInputSchema = object({
|
|
7604
|
-
deviceId: number().optional(),
|
|
7605
7606
|
fromLocationId: string(),
|
|
7606
7607
|
toLocationId: string(),
|
|
7607
7608
|
entities: array(_enum(["segments"])).optional(),
|
|
7609
|
+
/** Limits relocation to the logical profile class. Omit only for the
|
|
7610
|
+
* pre-orchestration compatibility path. */
|
|
7611
|
+
footageClass: RelocateFootageClassSchema.optional(),
|
|
7608
7612
|
/** Copy throttle in MB/s (default 40) — the drain is a background chore,
|
|
7609
7613
|
* never allowed to starve live writers. */
|
|
7610
7614
|
throttleMbps: number().min(1).max(1e3).optional()
|
|
7611
7615
|
});
|
|
7612
|
-
|
|
7613
|
-
|
|
7616
|
+
/** Internal, lease-scoped participant operation. It is intentionally separate
|
|
7617
|
+
* from persistent recording settings: a migration never changes
|
|
7618
|
+
* `RecordingConfig.enabled` or camera wrapper bindings. */
|
|
7619
|
+
var StorageMigrationLeaseInputSchema = object({ leaseId: string().min(1) });
|
|
7620
|
+
var StorageMigrationFootageMoveInputSchema = RelocateFootageInputSchema.extend({ leaseId: string().min(1) });
|
|
7621
|
+
var StorageMigrationMediaMoveInputSchema = object({
|
|
7614
7622
|
toLocationId: string(),
|
|
7615
7623
|
throttleMbps: number().min(1).max(1e3).optional()
|
|
7624
|
+
}).extend({ leaseId: string().min(1) });
|
|
7625
|
+
/** The independently selectable logical storage classes. `recordings`
|
|
7626
|
+
* encompasses the high and mid segment profiles; `recordingsLow` is low
|
|
7627
|
+
* segments; `eventMedia` is post-analysis blobs. */
|
|
7628
|
+
var StorageMigrationClassSchema = _enum([
|
|
7629
|
+
"recordings",
|
|
7630
|
+
"recordingsLow",
|
|
7631
|
+
"eventMedia"
|
|
7632
|
+
]);
|
|
7633
|
+
/** A destination is always an existing, fully-qualified location id. The
|
|
7634
|
+
* migration API intentionally never changes a source location's `basePath`:
|
|
7635
|
+
* callers create a new `<type>:<slug>` location, then select it here. */
|
|
7636
|
+
var StorageMigrationDestinationsSchema = object({
|
|
7637
|
+
recordings: string().min(1).optional(),
|
|
7638
|
+
recordingsLow: string().min(1).optional(),
|
|
7639
|
+
eventMedia: string().min(1).optional()
|
|
7640
|
+
}).refine((value) => Object.keys(value).length > 0, { message: "select at least one storage class" });
|
|
7641
|
+
/** Shared input for planning and starting an orchestrated storage migration. */
|
|
7642
|
+
var StorageMigrationInputSchema = object({
|
|
7643
|
+
destinations: StorageMigrationDestinationsSchema,
|
|
7644
|
+
throttleMbps: number().min(1).max(1e3).optional()
|
|
7645
|
+
});
|
|
7646
|
+
/** The durable coordinator state machine. The only phase that changes default
|
|
7647
|
+
* locations is `repointing`, after every selected mover has completed and been
|
|
7648
|
+
* verified. */
|
|
7649
|
+
var StorageMigrationPhaseSchema = _enum([
|
|
7650
|
+
"planning",
|
|
7651
|
+
"pausing",
|
|
7652
|
+
"moving",
|
|
7653
|
+
"verifying",
|
|
7654
|
+
"repointing",
|
|
7655
|
+
"refreshing",
|
|
7656
|
+
"resuming",
|
|
7657
|
+
"done",
|
|
7658
|
+
"failed",
|
|
7659
|
+
"cancelled"
|
|
7660
|
+
]);
|
|
7661
|
+
var StorageMigrationParticipantSchema = _enum([
|
|
7662
|
+
"pipeline",
|
|
7663
|
+
"recorder",
|
|
7664
|
+
"analytics"
|
|
7665
|
+
]);
|
|
7666
|
+
var StorageMigrationMoveSchema = object({
|
|
7667
|
+
storageClass: StorageMigrationClassSchema,
|
|
7668
|
+
fromLocationId: string(),
|
|
7669
|
+
toLocationId: string(),
|
|
7670
|
+
moverJobId: string().nullable(),
|
|
7671
|
+
state: RelocateJobStateSchema.nullable(),
|
|
7672
|
+
error: string().nullable()
|
|
7673
|
+
});
|
|
7674
|
+
var StorageMigrationJobSchema = object({
|
|
7675
|
+
jobId: string(),
|
|
7676
|
+
phase: StorageMigrationPhaseSchema,
|
|
7677
|
+
destinations: StorageMigrationDestinationsSchema,
|
|
7678
|
+
throttleMbps: number(),
|
|
7679
|
+
moves: array(StorageMigrationMoveSchema),
|
|
7680
|
+
pauseLeaseId: string().nullable(),
|
|
7681
|
+
pausedParticipants: array(StorageMigrationParticipantSchema),
|
|
7682
|
+
repointed: boolean(),
|
|
7683
|
+
cancelRequested: boolean(),
|
|
7684
|
+
startedAt: number(),
|
|
7685
|
+
updatedAt: number(),
|
|
7686
|
+
finishedAt: number().nullable(),
|
|
7687
|
+
error: string().nullable()
|
|
7688
|
+
});
|
|
7689
|
+
var StorageMigrationPlanSchema = object({
|
|
7690
|
+
destinations: StorageMigrationDestinationsSchema,
|
|
7691
|
+
moves: array(object({
|
|
7692
|
+
storageClass: StorageMigrationClassSchema,
|
|
7693
|
+
fromLocationId: string(),
|
|
7694
|
+
toLocationId: string()
|
|
7695
|
+
}))
|
|
7616
7696
|
});
|
|
7617
7697
|
/**
|
|
7618
7698
|
* `StorageLocationType` — an addon-declared id that identifies the *kind* of
|
|
@@ -16266,13 +16346,19 @@ DeviceType.Camera, method(object({ deviceId: number() }), array(TrackSchema).rea
|
|
|
16266
16346
|
}), method(object({ deviceId: number() }), EventPruneCountsSchema, {
|
|
16267
16347
|
kind: "mutation",
|
|
16268
16348
|
auth: "admin"
|
|
16269
|
-
}), method(
|
|
16349
|
+
}), method(StorageMigrationLeaseInputSchema, object({ paused: literal(true) }), {
|
|
16270
16350
|
kind: "mutation",
|
|
16271
16351
|
auth: "admin"
|
|
16272
|
-
}), method(object({
|
|
16273
|
-
kind: "
|
|
16352
|
+
}), method(StorageMigrationLeaseInputSchema, object({ resumed: literal(true) }), {
|
|
16353
|
+
kind: "mutation",
|
|
16354
|
+
auth: "admin"
|
|
16355
|
+
}), method(StorageMigrationLeaseInputSchema, object({ refreshed: literal(true) }), {
|
|
16356
|
+
kind: "mutation",
|
|
16357
|
+
auth: "admin"
|
|
16358
|
+
}), method(StorageMigrationMediaMoveInputSchema, object({ jobId: string() }), {
|
|
16359
|
+
kind: "mutation",
|
|
16274
16360
|
auth: "admin"
|
|
16275
|
-
}), method(object({ jobId: string() }), object({ cancelled: boolean() }), {
|
|
16361
|
+
}), method(object({ jobId: string() }), RelocateJobSchema.nullable(), { auth: "admin" }), method(object({ jobId: string() }), object({ cancelled: boolean() }), {
|
|
16276
16362
|
kind: "mutation",
|
|
16277
16363
|
auth: "admin"
|
|
16278
16364
|
}), method(OpsLogQueryInputSchema, array(OpsLogEntrySchema).readonly(), {
|
|
@@ -17802,7 +17888,13 @@ var NodeInferenceDevicesSchema = object({
|
|
|
17802
17888
|
reachable: boolean(),
|
|
17803
17889
|
devices: array(NodeInferenceDeviceSchema).readonly()
|
|
17804
17890
|
});
|
|
17805
|
-
method(object({
|
|
17891
|
+
method(StorageMigrationLeaseInputSchema, object({ paused: literal(true) }), {
|
|
17892
|
+
kind: "mutation",
|
|
17893
|
+
auth: "admin"
|
|
17894
|
+
}), method(StorageMigrationLeaseInputSchema, object({ resumed: literal(true) }), {
|
|
17895
|
+
kind: "mutation",
|
|
17896
|
+
auth: "admin"
|
|
17897
|
+
}), method(object({
|
|
17806
17898
|
deviceId: number(),
|
|
17807
17899
|
agentNodeId: string()
|
|
17808
17900
|
}), object({ success: literal(true) }), {
|
|
@@ -18476,6 +18568,13 @@ method(object({ locationId: string() }), EvictableUsageSchema), method(object({
|
|
|
18476
18568
|
locationId: string(),
|
|
18477
18569
|
targetBytes: number().int().positive()
|
|
18478
18570
|
}), EvictResultSchema, { kind: "mutation" });
|
|
18571
|
+
method(StorageMigrationInputSchema, StorageMigrationPlanSchema, { auth: "admin" }), method(StorageMigrationInputSchema, object({ jobId: string() }), {
|
|
18572
|
+
kind: "mutation",
|
|
18573
|
+
auth: "admin"
|
|
18574
|
+
}), method(object({ jobId: string().optional() }), StorageMigrationJobSchema.nullable(), { auth: "admin" }), method(object({ jobId: string() }), object({ cancelled: boolean() }), {
|
|
18575
|
+
kind: "mutation",
|
|
18576
|
+
auth: "admin"
|
|
18577
|
+
});
|
|
18479
18578
|
var ProviderInfoSchema = discriminatedUnion("shouldSaveDiskSpace", [object({
|
|
18480
18579
|
providerId: string().min(1),
|
|
18481
18580
|
displayName: string().min(1),
|
|
@@ -18579,6 +18678,28 @@ var TerminalProfileInfoSchema = object({
|
|
|
18579
18678
|
label: string(),
|
|
18580
18679
|
description: string().optional()
|
|
18581
18680
|
});
|
|
18681
|
+
/**
|
|
18682
|
+
* A durable operator-created Terminal instance. Profiles are templates; only
|
|
18683
|
+
* an instance declares a camera.
|
|
18684
|
+
*/
|
|
18685
|
+
var TerminalInstanceInfoSchema = object({
|
|
18686
|
+
instanceId: string(),
|
|
18687
|
+
cameraStableId: string(),
|
|
18688
|
+
nodeId: string(),
|
|
18689
|
+
profileId: string(),
|
|
18690
|
+
profileLabel: string(),
|
|
18691
|
+
name: string(),
|
|
18692
|
+
enabled: boolean()
|
|
18693
|
+
});
|
|
18694
|
+
var TerminalLegacyCameraSchema = object({
|
|
18695
|
+
stableId: string(),
|
|
18696
|
+
nodeId: string(),
|
|
18697
|
+
profileId: string(),
|
|
18698
|
+
profileLabel: string(),
|
|
18699
|
+
name: string(),
|
|
18700
|
+
/** Only legacy monitor cameras can retain their historic stable identity. */
|
|
18701
|
+
adoptable: boolean()
|
|
18702
|
+
});
|
|
18582
18703
|
var TerminalOutputEventSchema = discriminatedUnion("kind", [object({
|
|
18583
18704
|
seq: number().int().positive(),
|
|
18584
18705
|
kind: literal("data"),
|
|
@@ -18595,7 +18716,29 @@ var TerminalOutputBatchSchema = object({
|
|
|
18595
18716
|
snapshot: string().optional(),
|
|
18596
18717
|
events: array(TerminalOutputEventSchema).readonly()
|
|
18597
18718
|
});
|
|
18598
|
-
method(_void(), array(TerminalProfileInfoSchema).readonly(), { auth: "admin" }), method(_void(), array(
|
|
18719
|
+
method(_void(), array(TerminalProfileInfoSchema).readonly(), { auth: "admin" }), method(_void(), array(TerminalInstanceInfoSchema).readonly(), { auth: "admin" }), method(object({
|
|
18720
|
+
targetNodeId: string().min(1),
|
|
18721
|
+
profileId: string().min(1),
|
|
18722
|
+
name: string().trim().min(1).max(160).optional()
|
|
18723
|
+
}), TerminalInstanceInfoSchema, {
|
|
18724
|
+
kind: "mutation",
|
|
18725
|
+
auth: "admin"
|
|
18726
|
+
}), method(object({ instanceId: string().min(1) }), _void(), {
|
|
18727
|
+
kind: "mutation",
|
|
18728
|
+
auth: "admin"
|
|
18729
|
+
}), method(object({
|
|
18730
|
+
instanceId: string().min(1),
|
|
18731
|
+
enabled: boolean()
|
|
18732
|
+
}), TerminalInstanceInfoSchema, {
|
|
18733
|
+
kind: "mutation",
|
|
18734
|
+
auth: "admin"
|
|
18735
|
+
}), method(_void(), array(TerminalLegacyCameraSchema).readonly(), { auth: "admin" }), method(object({
|
|
18736
|
+
stableId: string().min(1),
|
|
18737
|
+
name: string().trim().min(1).max(160).optional()
|
|
18738
|
+
}), TerminalInstanceInfoSchema, {
|
|
18739
|
+
kind: "mutation",
|
|
18740
|
+
auth: "admin"
|
|
18741
|
+
}), method(_void(), array(TerminalSessionInfoSchema).readonly(), { auth: "admin" }), method(object({
|
|
18599
18742
|
profileId: string(),
|
|
18600
18743
|
cols: number().int().positive(),
|
|
18601
18744
|
rows: number().int().positive()
|
|
@@ -18612,7 +18755,13 @@ method(_void(), array(TerminalProfileInfoSchema).readonly(), { auth: "admin" }),
|
|
|
18612
18755
|
}), method(object({
|
|
18613
18756
|
sessionId: string(),
|
|
18614
18757
|
afterSeq: number().int().nonnegative(),
|
|
18615
|
-
waitMs: number().int().min(0).max(2e3).default(0)
|
|
18758
|
+
waitMs: number().int().min(0).max(2e3).default(0),
|
|
18759
|
+
/**
|
|
18760
|
+
* Wait when a just-opened session has no output yet. Kept opt-in so a
|
|
18761
|
+
* browser's initial repaint remains immediate; the camera snapshot
|
|
18762
|
+
* relay uses it to avoid encoding a blank startup frame.
|
|
18763
|
+
*/
|
|
18764
|
+
waitForOutput: boolean().optional()
|
|
18616
18765
|
}), TerminalOutputBatchSchema, {
|
|
18617
18766
|
kind: "mutation",
|
|
18618
18767
|
auth: "admin",
|
|
@@ -21110,6 +21259,7 @@ var FaceInfoSchema = object({
|
|
|
21110
21259
|
var FaceFilterEnum = _enum([
|
|
21111
21260
|
"unassigned",
|
|
21112
21261
|
"recognized",
|
|
21262
|
+
"identified",
|
|
21113
21263
|
"all"
|
|
21114
21264
|
]);
|
|
21115
21265
|
var MediaFileLiteSchema$1 = object({
|
|
@@ -21138,6 +21288,8 @@ method(_void(), array(IdentitySchema).readonly()), method(object({ name: string(
|
|
|
21138
21288
|
kind: "mutation",
|
|
21139
21289
|
auth: "admin"
|
|
21140
21290
|
}), method(object({
|
|
21291
|
+
/** Restrict to one camera. Absent keeps the cluster-wide gallery view. */
|
|
21292
|
+
deviceId: number().int().optional(),
|
|
21141
21293
|
limit: number().int().positive().optional(),
|
|
21142
21294
|
filter: FaceFilterEnum.optional(),
|
|
21143
21295
|
/**
|
|
@@ -23367,6 +23519,10 @@ var OsdSourceSchema = discriminatedUnion("kind", [
|
|
|
23367
23519
|
capName: string().min(1).max(64),
|
|
23368
23520
|
/** Dot path inside the slice, e.g. `detected`, `value`, `mode`. */
|
|
23369
23521
|
valuePath: string().min(1).max(64)
|
|
23522
|
+
}),
|
|
23523
|
+
object({
|
|
23524
|
+
kind: literal("latest-recognition"),
|
|
23525
|
+
recognition: _enum(["person", "plate"])
|
|
23370
23526
|
})
|
|
23371
23527
|
]);
|
|
23372
23528
|
var OsdSlotBindingSchema = object({
|
|
@@ -23472,6 +23628,15 @@ method(object({ deviceId: number().int() }), object({
|
|
|
23472
23628
|
}), object({ success: literal(true) }), {
|
|
23473
23629
|
kind: "mutation",
|
|
23474
23630
|
auth: "admin"
|
|
23631
|
+
}), method(object({
|
|
23632
|
+
sourceDeviceId: number().int(),
|
|
23633
|
+
targetDeviceId: number().int()
|
|
23634
|
+
}), object({
|
|
23635
|
+
copied: number().int().nonnegative(),
|
|
23636
|
+
skipped: number().int().nonnegative()
|
|
23637
|
+
}), {
|
|
23638
|
+
kind: "mutation",
|
|
23639
|
+
auth: "admin"
|
|
23475
23640
|
}), method(object({
|
|
23476
23641
|
deviceId: number().int(),
|
|
23477
23642
|
slotId: string().min(1),
|
|
@@ -24569,13 +24734,19 @@ method(object({
|
|
|
24569
24734
|
}), {
|
|
24570
24735
|
kind: "mutation",
|
|
24571
24736
|
auth: "admin"
|
|
24572
|
-
}), method(
|
|
24737
|
+
}), method(StorageMigrationLeaseInputSchema, object({ paused: literal(true) }), {
|
|
24573
24738
|
kind: "mutation",
|
|
24574
24739
|
auth: "admin"
|
|
24575
|
-
}), method(object({
|
|
24576
|
-
kind: "
|
|
24740
|
+
}), method(StorageMigrationLeaseInputSchema, object({ resumed: literal(true) }), {
|
|
24741
|
+
kind: "mutation",
|
|
24577
24742
|
auth: "admin"
|
|
24578
|
-
}), method(
|
|
24743
|
+
}), method(StorageMigrationLeaseInputSchema, object({ refreshed: literal(true) }), {
|
|
24744
|
+
kind: "mutation",
|
|
24745
|
+
auth: "admin"
|
|
24746
|
+
}), method(StorageMigrationFootageMoveInputSchema, object({ jobId: string() }), {
|
|
24747
|
+
kind: "mutation",
|
|
24748
|
+
auth: "admin"
|
|
24749
|
+
}), method(object({ jobId: string() }), RelocateJobSchema.nullable(), { auth: "admin" }), method(object({ jobId: string() }), object({ cancelled: boolean() }), {
|
|
24579
24750
|
kind: "mutation",
|
|
24580
24751
|
auth: "admin"
|
|
24581
24752
|
});
|
|
@@ -30181,6 +30352,12 @@ Object.freeze({
|
|
|
30181
30352
|
addonId: null,
|
|
30182
30353
|
access: "delete"
|
|
30183
30354
|
},
|
|
30355
|
+
"osdManager.copyDeviceConfiguration": {
|
|
30356
|
+
capName: "osd-manager",
|
|
30357
|
+
capScope: "system",
|
|
30358
|
+
addonId: null,
|
|
30359
|
+
access: "create"
|
|
30360
|
+
},
|
|
30184
30361
|
"osdManager.getConditionSupport": {
|
|
30185
30362
|
capName: "osd-manager",
|
|
30186
30363
|
capScope: "system",
|
|
@@ -30277,7 +30454,7 @@ Object.freeze({
|
|
|
30277
30454
|
addonId: null,
|
|
30278
30455
|
access: "create"
|
|
30279
30456
|
},
|
|
30280
|
-
"pipelineAnalytics.
|
|
30457
|
+
"pipelineAnalytics.cancelStorageMigrationMove": {
|
|
30281
30458
|
capName: "pipeline-analytics",
|
|
30282
30459
|
capScope: "device",
|
|
30283
30460
|
addonId: null,
|
|
@@ -30349,12 +30526,6 @@ Object.freeze({
|
|
|
30349
30526
|
addonId: null,
|
|
30350
30527
|
access: "view"
|
|
30351
30528
|
},
|
|
30352
|
-
"pipelineAnalytics.getMediaRelocateStatus": {
|
|
30353
|
-
capName: "pipeline-analytics",
|
|
30354
|
-
capScope: "device",
|
|
30355
|
-
addonId: null,
|
|
30356
|
-
access: "view"
|
|
30357
|
-
},
|
|
30358
30529
|
"pipelineAnalytics.getMotionEvents": {
|
|
30359
30530
|
capName: "pipeline-analytics",
|
|
30360
30531
|
capScope: "device",
|
|
@@ -30391,6 +30562,12 @@ Object.freeze({
|
|
|
30391
30562
|
addonId: null,
|
|
30392
30563
|
access: "view"
|
|
30393
30564
|
},
|
|
30565
|
+
"pipelineAnalytics.getStorageMigrationMoveStatus": {
|
|
30566
|
+
capName: "pipeline-analytics",
|
|
30567
|
+
capScope: "device",
|
|
30568
|
+
addonId: null,
|
|
30569
|
+
access: "view"
|
|
30570
|
+
},
|
|
30394
30571
|
"pipelineAnalytics.getTrack": {
|
|
30395
30572
|
capName: "pipeline-analytics",
|
|
30396
30573
|
capScope: "device",
|
|
@@ -30469,6 +30646,12 @@ Object.freeze({
|
|
|
30469
30646
|
addonId: null,
|
|
30470
30647
|
access: "view"
|
|
30471
30648
|
},
|
|
30649
|
+
"pipelineAnalytics.pauseForStorageMigration": {
|
|
30650
|
+
capName: "pipeline-analytics",
|
|
30651
|
+
capScope: "device",
|
|
30652
|
+
addonId: null,
|
|
30653
|
+
access: "create"
|
|
30654
|
+
},
|
|
30472
30655
|
"pipelineAnalytics.proposeRetrainAnnotations": {
|
|
30473
30656
|
capName: "pipeline-analytics",
|
|
30474
30657
|
capScope: "device",
|
|
@@ -30499,7 +30682,7 @@ Object.freeze({
|
|
|
30499
30682
|
addonId: null,
|
|
30500
30683
|
access: "create"
|
|
30501
30684
|
},
|
|
30502
|
-
"pipelineAnalytics.
|
|
30685
|
+
"pipelineAnalytics.refreshStorageLocationsForMigration": {
|
|
30503
30686
|
capName: "pipeline-analytics",
|
|
30504
30687
|
capScope: "device",
|
|
30505
30688
|
addonId: null,
|
|
@@ -30511,6 +30694,12 @@ Object.freeze({
|
|
|
30511
30694
|
addonId: null,
|
|
30512
30695
|
access: "create"
|
|
30513
30696
|
},
|
|
30697
|
+
"pipelineAnalytics.resumeForStorageMigration": {
|
|
30698
|
+
capName: "pipeline-analytics",
|
|
30699
|
+
capScope: "device",
|
|
30700
|
+
addonId: null,
|
|
30701
|
+
access: "create"
|
|
30702
|
+
},
|
|
30514
30703
|
"pipelineAnalytics.saveRetrainAnnotations": {
|
|
30515
30704
|
capName: "pipeline-analytics",
|
|
30516
30705
|
capScope: "device",
|
|
@@ -30535,6 +30724,12 @@ Object.freeze({
|
|
|
30535
30724
|
addonId: null,
|
|
30536
30725
|
access: "create"
|
|
30537
30726
|
},
|
|
30727
|
+
"pipelineAnalytics.startStorageMigrationMove": {
|
|
30728
|
+
capName: "pipeline-analytics",
|
|
30729
|
+
capScope: "device",
|
|
30730
|
+
addonId: null,
|
|
30731
|
+
access: "create"
|
|
30732
|
+
},
|
|
30538
30733
|
"pipelineAnalytics.wipeAllAnalytics": {
|
|
30539
30734
|
capName: "pipeline-analytics",
|
|
30540
30735
|
capScope: "device",
|
|
@@ -30901,6 +31096,12 @@ Object.freeze({
|
|
|
30901
31096
|
addonId: null,
|
|
30902
31097
|
access: "view"
|
|
30903
31098
|
},
|
|
31099
|
+
"pipelineOrchestrator.pauseForStorageMigration": {
|
|
31100
|
+
capName: "pipeline-orchestrator",
|
|
31101
|
+
capScope: "system",
|
|
31102
|
+
addonId: null,
|
|
31103
|
+
access: "create"
|
|
31104
|
+
},
|
|
30904
31105
|
"pipelineOrchestrator.rebalance": {
|
|
30905
31106
|
capName: "pipeline-orchestrator",
|
|
30906
31107
|
capScope: "system",
|
|
@@ -30925,6 +31126,12 @@ Object.freeze({
|
|
|
30925
31126
|
addonId: null,
|
|
30926
31127
|
access: "view"
|
|
30927
31128
|
},
|
|
31129
|
+
"pipelineOrchestrator.resumeForStorageMigration": {
|
|
31130
|
+
capName: "pipeline-orchestrator",
|
|
31131
|
+
capScope: "system",
|
|
31132
|
+
addonId: null,
|
|
31133
|
+
access: "create"
|
|
31134
|
+
},
|
|
30928
31135
|
"pipelineOrchestrator.saveTemplate": {
|
|
30929
31136
|
capName: "pipeline-orchestrator",
|
|
30930
31137
|
capScope: "system",
|
|
@@ -31321,7 +31528,7 @@ Object.freeze({
|
|
|
31321
31528
|
addonId: null,
|
|
31322
31529
|
access: "create"
|
|
31323
31530
|
},
|
|
31324
|
-
"recording.
|
|
31531
|
+
"recording.cancelStorageMigrationMove": {
|
|
31325
31532
|
capName: "recording",
|
|
31326
31533
|
capScope: "system",
|
|
31327
31534
|
addonId: null,
|
|
@@ -31357,7 +31564,7 @@ Object.freeze({
|
|
|
31357
31564
|
addonId: null,
|
|
31358
31565
|
access: "view"
|
|
31359
31566
|
},
|
|
31360
|
-
"recording.
|
|
31567
|
+
"recording.getStorageMigrationMoveStatus": {
|
|
31361
31568
|
capName: "recording",
|
|
31362
31569
|
capScope: "system",
|
|
31363
31570
|
addonId: null,
|
|
@@ -31381,6 +31588,12 @@ Object.freeze({
|
|
|
31381
31588
|
addonId: null,
|
|
31382
31589
|
access: "view"
|
|
31383
31590
|
},
|
|
31591
|
+
"recording.pauseForStorageMigration": {
|
|
31592
|
+
capName: "recording",
|
|
31593
|
+
capScope: "system",
|
|
31594
|
+
addonId: null,
|
|
31595
|
+
access: "create"
|
|
31596
|
+
},
|
|
31384
31597
|
"recording.pruneFootage": {
|
|
31385
31598
|
capName: "recording",
|
|
31386
31599
|
capScope: "system",
|
|
@@ -31399,7 +31612,7 @@ Object.freeze({
|
|
|
31399
31612
|
addonId: null,
|
|
31400
31613
|
access: "view"
|
|
31401
31614
|
},
|
|
31402
|
-
"recording.
|
|
31615
|
+
"recording.refreshStorageLocationsForMigration": {
|
|
31403
31616
|
capName: "recording",
|
|
31404
31617
|
capScope: "system",
|
|
31405
31618
|
addonId: null,
|
|
@@ -31423,12 +31636,24 @@ Object.freeze({
|
|
|
31423
31636
|
addonId: null,
|
|
31424
31637
|
access: "create"
|
|
31425
31638
|
},
|
|
31639
|
+
"recording.resumeForStorageMigration": {
|
|
31640
|
+
capName: "recording",
|
|
31641
|
+
capScope: "system",
|
|
31642
|
+
addonId: null,
|
|
31643
|
+
access: "create"
|
|
31644
|
+
},
|
|
31426
31645
|
"recording.setDeviceConfig": {
|
|
31427
31646
|
capName: "recording",
|
|
31428
31647
|
capScope: "system",
|
|
31429
31648
|
addonId: null,
|
|
31430
31649
|
access: "create"
|
|
31431
31650
|
},
|
|
31651
|
+
"recording.startStorageMigrationMove": {
|
|
31652
|
+
capName: "recording",
|
|
31653
|
+
capScope: "system",
|
|
31654
|
+
addonId: null,
|
|
31655
|
+
access: "create"
|
|
31656
|
+
},
|
|
31432
31657
|
"recordingExport.cancelExport": {
|
|
31433
31658
|
capName: "recordingExport",
|
|
31434
31659
|
capScope: "system",
|
|
@@ -31819,6 +32044,30 @@ Object.freeze({
|
|
|
31819
32044
|
addonId: null,
|
|
31820
32045
|
access: "view"
|
|
31821
32046
|
},
|
|
32047
|
+
"storageMigration.cancel": {
|
|
32048
|
+
capName: "storage-migration",
|
|
32049
|
+
capScope: "system",
|
|
32050
|
+
addonId: null,
|
|
32051
|
+
access: "create"
|
|
32052
|
+
},
|
|
32053
|
+
"storageMigration.plan": {
|
|
32054
|
+
capName: "storage-migration",
|
|
32055
|
+
capScope: "system",
|
|
32056
|
+
addonId: null,
|
|
32057
|
+
access: "view"
|
|
32058
|
+
},
|
|
32059
|
+
"storageMigration.start": {
|
|
32060
|
+
capName: "storage-migration",
|
|
32061
|
+
capScope: "system",
|
|
32062
|
+
addonId: null,
|
|
32063
|
+
access: "create"
|
|
32064
|
+
},
|
|
32065
|
+
"storageMigration.status": {
|
|
32066
|
+
capName: "storage-migration",
|
|
32067
|
+
capScope: "system",
|
|
32068
|
+
addonId: null,
|
|
32069
|
+
access: "view"
|
|
32070
|
+
},
|
|
31822
32071
|
"storageProvider.abortUpload": {
|
|
31823
32072
|
capName: "storage-provider",
|
|
31824
32073
|
capScope: "system",
|
|
@@ -32197,12 +32446,42 @@ Object.freeze({
|
|
|
32197
32446
|
addonId: null,
|
|
32198
32447
|
access: "create"
|
|
32199
32448
|
},
|
|
32449
|
+
"terminalSession.adoptLegacyMonitor": {
|
|
32450
|
+
capName: "terminal-session",
|
|
32451
|
+
capScope: "system",
|
|
32452
|
+
addonId: null,
|
|
32453
|
+
access: "create"
|
|
32454
|
+
},
|
|
32200
32455
|
"terminalSession.close": {
|
|
32201
32456
|
capName: "terminal-session",
|
|
32202
32457
|
capScope: "system",
|
|
32203
32458
|
addonId: null,
|
|
32204
32459
|
access: "create"
|
|
32205
32460
|
},
|
|
32461
|
+
"terminalSession.createInstance": {
|
|
32462
|
+
capName: "terminal-session",
|
|
32463
|
+
capScope: "system",
|
|
32464
|
+
addonId: null,
|
|
32465
|
+
access: "create"
|
|
32466
|
+
},
|
|
32467
|
+
"terminalSession.deleteInstance": {
|
|
32468
|
+
capName: "terminal-session",
|
|
32469
|
+
capScope: "system",
|
|
32470
|
+
addonId: null,
|
|
32471
|
+
access: "delete"
|
|
32472
|
+
},
|
|
32473
|
+
"terminalSession.listInstances": {
|
|
32474
|
+
capName: "terminal-session",
|
|
32475
|
+
capScope: "system",
|
|
32476
|
+
addonId: null,
|
|
32477
|
+
access: "view"
|
|
32478
|
+
},
|
|
32479
|
+
"terminalSession.listLegacyCameras": {
|
|
32480
|
+
capName: "terminal-session",
|
|
32481
|
+
capScope: "system",
|
|
32482
|
+
addonId: null,
|
|
32483
|
+
access: "view"
|
|
32484
|
+
},
|
|
32206
32485
|
"terminalSession.listProfiles": {
|
|
32207
32486
|
capName: "terminal-session",
|
|
32208
32487
|
capScope: "system",
|
|
@@ -32233,6 +32512,12 @@ Object.freeze({
|
|
|
32233
32512
|
addonId: null,
|
|
32234
32513
|
access: "create"
|
|
32235
32514
|
},
|
|
32515
|
+
"terminalSession.setInstanceEnabled": {
|
|
32516
|
+
capName: "terminal-session",
|
|
32517
|
+
capScope: "system",
|
|
32518
|
+
addonId: null,
|
|
32519
|
+
access: "create"
|
|
32520
|
+
},
|
|
32236
32521
|
"terminalSession.writeInput": {
|
|
32237
32522
|
capName: "terminal-session",
|
|
32238
32523
|
capScope: "system",
|
package/dist/addon.mjs
CHANGED
|
@@ -7567,12 +7567,11 @@ var RecordingConfigSchema = object({
|
|
|
7567
7567
|
/**
|
|
7568
7568
|
* Entity-relocation job state (storage entity-routing spec, Phase 4).
|
|
7569
7569
|
*
|
|
7570
|
-
* One shape shared by the recorder
|
|
7571
|
-
*
|
|
7572
|
-
*
|
|
7573
|
-
*
|
|
7574
|
-
*
|
|
7575
|
-
* row on the owning addon's surface.
|
|
7570
|
+
* One shape shared by the recorder and pipeline-analytics internal movers.
|
|
7571
|
+
* The public admin surface is `storage-migration`; child jobs remain in RAM
|
|
7572
|
+
* because copy-if-absent, verify, delete and index/row repoint are resumable.
|
|
7573
|
+
* Each completed/failed run also lands one durable ops-log row on its owning
|
|
7574
|
+
* addon surface.
|
|
7576
7575
|
*/
|
|
7577
7576
|
var RelocateJobStateSchema = _enum([
|
|
7578
7577
|
"running",
|
|
@@ -7599,19 +7598,100 @@ var RelocateJobSchema = object({
|
|
|
7599
7598
|
finishedAt: number().nullable(),
|
|
7600
7599
|
error: string().nullable()
|
|
7601
7600
|
});
|
|
7601
|
+
/** Profile-derived footage selection used only by the migration coordinator:
|
|
7602
|
+
* `recordings` owns high+mid; `recordingsLow` owns low. */
|
|
7603
|
+
var RelocateFootageClassSchema = _enum(["recordings", "recordingsLow"]);
|
|
7602
7604
|
var RelocateFootageInputSchema = object({
|
|
7603
|
-
deviceId: number().optional(),
|
|
7604
7605
|
fromLocationId: string(),
|
|
7605
7606
|
toLocationId: string(),
|
|
7606
7607
|
entities: array(_enum(["segments"])).optional(),
|
|
7608
|
+
/** Limits relocation to the logical profile class. Omit only for the
|
|
7609
|
+
* pre-orchestration compatibility path. */
|
|
7610
|
+
footageClass: RelocateFootageClassSchema.optional(),
|
|
7607
7611
|
/** Copy throttle in MB/s (default 40) — the drain is a background chore,
|
|
7608
7612
|
* never allowed to starve live writers. */
|
|
7609
7613
|
throttleMbps: number().min(1).max(1e3).optional()
|
|
7610
7614
|
});
|
|
7611
|
-
|
|
7612
|
-
|
|
7615
|
+
/** Internal, lease-scoped participant operation. It is intentionally separate
|
|
7616
|
+
* from persistent recording settings: a migration never changes
|
|
7617
|
+
* `RecordingConfig.enabled` or camera wrapper bindings. */
|
|
7618
|
+
var StorageMigrationLeaseInputSchema = object({ leaseId: string().min(1) });
|
|
7619
|
+
var StorageMigrationFootageMoveInputSchema = RelocateFootageInputSchema.extend({ leaseId: string().min(1) });
|
|
7620
|
+
var StorageMigrationMediaMoveInputSchema = object({
|
|
7613
7621
|
toLocationId: string(),
|
|
7614
7622
|
throttleMbps: number().min(1).max(1e3).optional()
|
|
7623
|
+
}).extend({ leaseId: string().min(1) });
|
|
7624
|
+
/** The independently selectable logical storage classes. `recordings`
|
|
7625
|
+
* encompasses the high and mid segment profiles; `recordingsLow` is low
|
|
7626
|
+
* segments; `eventMedia` is post-analysis blobs. */
|
|
7627
|
+
var StorageMigrationClassSchema = _enum([
|
|
7628
|
+
"recordings",
|
|
7629
|
+
"recordingsLow",
|
|
7630
|
+
"eventMedia"
|
|
7631
|
+
]);
|
|
7632
|
+
/** A destination is always an existing, fully-qualified location id. The
|
|
7633
|
+
* migration API intentionally never changes a source location's `basePath`:
|
|
7634
|
+
* callers create a new `<type>:<slug>` location, then select it here. */
|
|
7635
|
+
var StorageMigrationDestinationsSchema = object({
|
|
7636
|
+
recordings: string().min(1).optional(),
|
|
7637
|
+
recordingsLow: string().min(1).optional(),
|
|
7638
|
+
eventMedia: string().min(1).optional()
|
|
7639
|
+
}).refine((value) => Object.keys(value).length > 0, { message: "select at least one storage class" });
|
|
7640
|
+
/** Shared input for planning and starting an orchestrated storage migration. */
|
|
7641
|
+
var StorageMigrationInputSchema = object({
|
|
7642
|
+
destinations: StorageMigrationDestinationsSchema,
|
|
7643
|
+
throttleMbps: number().min(1).max(1e3).optional()
|
|
7644
|
+
});
|
|
7645
|
+
/** The durable coordinator state machine. The only phase that changes default
|
|
7646
|
+
* locations is `repointing`, after every selected mover has completed and been
|
|
7647
|
+
* verified. */
|
|
7648
|
+
var StorageMigrationPhaseSchema = _enum([
|
|
7649
|
+
"planning",
|
|
7650
|
+
"pausing",
|
|
7651
|
+
"moving",
|
|
7652
|
+
"verifying",
|
|
7653
|
+
"repointing",
|
|
7654
|
+
"refreshing",
|
|
7655
|
+
"resuming",
|
|
7656
|
+
"done",
|
|
7657
|
+
"failed",
|
|
7658
|
+
"cancelled"
|
|
7659
|
+
]);
|
|
7660
|
+
var StorageMigrationParticipantSchema = _enum([
|
|
7661
|
+
"pipeline",
|
|
7662
|
+
"recorder",
|
|
7663
|
+
"analytics"
|
|
7664
|
+
]);
|
|
7665
|
+
var StorageMigrationMoveSchema = object({
|
|
7666
|
+
storageClass: StorageMigrationClassSchema,
|
|
7667
|
+
fromLocationId: string(),
|
|
7668
|
+
toLocationId: string(),
|
|
7669
|
+
moverJobId: string().nullable(),
|
|
7670
|
+
state: RelocateJobStateSchema.nullable(),
|
|
7671
|
+
error: string().nullable()
|
|
7672
|
+
});
|
|
7673
|
+
var StorageMigrationJobSchema = object({
|
|
7674
|
+
jobId: string(),
|
|
7675
|
+
phase: StorageMigrationPhaseSchema,
|
|
7676
|
+
destinations: StorageMigrationDestinationsSchema,
|
|
7677
|
+
throttleMbps: number(),
|
|
7678
|
+
moves: array(StorageMigrationMoveSchema),
|
|
7679
|
+
pauseLeaseId: string().nullable(),
|
|
7680
|
+
pausedParticipants: array(StorageMigrationParticipantSchema),
|
|
7681
|
+
repointed: boolean(),
|
|
7682
|
+
cancelRequested: boolean(),
|
|
7683
|
+
startedAt: number(),
|
|
7684
|
+
updatedAt: number(),
|
|
7685
|
+
finishedAt: number().nullable(),
|
|
7686
|
+
error: string().nullable()
|
|
7687
|
+
});
|
|
7688
|
+
var StorageMigrationPlanSchema = object({
|
|
7689
|
+
destinations: StorageMigrationDestinationsSchema,
|
|
7690
|
+
moves: array(object({
|
|
7691
|
+
storageClass: StorageMigrationClassSchema,
|
|
7692
|
+
fromLocationId: string(),
|
|
7693
|
+
toLocationId: string()
|
|
7694
|
+
}))
|
|
7615
7695
|
});
|
|
7616
7696
|
/**
|
|
7617
7697
|
* `StorageLocationType` — an addon-declared id that identifies the *kind* of
|
|
@@ -16265,13 +16345,19 @@ DeviceType.Camera, method(object({ deviceId: number() }), array(TrackSchema).rea
|
|
|
16265
16345
|
}), method(object({ deviceId: number() }), EventPruneCountsSchema, {
|
|
16266
16346
|
kind: "mutation",
|
|
16267
16347
|
auth: "admin"
|
|
16268
|
-
}), method(
|
|
16348
|
+
}), method(StorageMigrationLeaseInputSchema, object({ paused: literal(true) }), {
|
|
16269
16349
|
kind: "mutation",
|
|
16270
16350
|
auth: "admin"
|
|
16271
|
-
}), method(object({
|
|
16272
|
-
kind: "
|
|
16351
|
+
}), method(StorageMigrationLeaseInputSchema, object({ resumed: literal(true) }), {
|
|
16352
|
+
kind: "mutation",
|
|
16353
|
+
auth: "admin"
|
|
16354
|
+
}), method(StorageMigrationLeaseInputSchema, object({ refreshed: literal(true) }), {
|
|
16355
|
+
kind: "mutation",
|
|
16356
|
+
auth: "admin"
|
|
16357
|
+
}), method(StorageMigrationMediaMoveInputSchema, object({ jobId: string() }), {
|
|
16358
|
+
kind: "mutation",
|
|
16273
16359
|
auth: "admin"
|
|
16274
|
-
}), method(object({ jobId: string() }), object({ cancelled: boolean() }), {
|
|
16360
|
+
}), method(object({ jobId: string() }), RelocateJobSchema.nullable(), { auth: "admin" }), method(object({ jobId: string() }), object({ cancelled: boolean() }), {
|
|
16275
16361
|
kind: "mutation",
|
|
16276
16362
|
auth: "admin"
|
|
16277
16363
|
}), method(OpsLogQueryInputSchema, array(OpsLogEntrySchema).readonly(), {
|
|
@@ -17801,7 +17887,13 @@ var NodeInferenceDevicesSchema = object({
|
|
|
17801
17887
|
reachable: boolean(),
|
|
17802
17888
|
devices: array(NodeInferenceDeviceSchema).readonly()
|
|
17803
17889
|
});
|
|
17804
|
-
method(object({
|
|
17890
|
+
method(StorageMigrationLeaseInputSchema, object({ paused: literal(true) }), {
|
|
17891
|
+
kind: "mutation",
|
|
17892
|
+
auth: "admin"
|
|
17893
|
+
}), method(StorageMigrationLeaseInputSchema, object({ resumed: literal(true) }), {
|
|
17894
|
+
kind: "mutation",
|
|
17895
|
+
auth: "admin"
|
|
17896
|
+
}), method(object({
|
|
17805
17897
|
deviceId: number(),
|
|
17806
17898
|
agentNodeId: string()
|
|
17807
17899
|
}), object({ success: literal(true) }), {
|
|
@@ -18475,6 +18567,13 @@ method(object({ locationId: string() }), EvictableUsageSchema), method(object({
|
|
|
18475
18567
|
locationId: string(),
|
|
18476
18568
|
targetBytes: number().int().positive()
|
|
18477
18569
|
}), EvictResultSchema, { kind: "mutation" });
|
|
18570
|
+
method(StorageMigrationInputSchema, StorageMigrationPlanSchema, { auth: "admin" }), method(StorageMigrationInputSchema, object({ jobId: string() }), {
|
|
18571
|
+
kind: "mutation",
|
|
18572
|
+
auth: "admin"
|
|
18573
|
+
}), method(object({ jobId: string().optional() }), StorageMigrationJobSchema.nullable(), { auth: "admin" }), method(object({ jobId: string() }), object({ cancelled: boolean() }), {
|
|
18574
|
+
kind: "mutation",
|
|
18575
|
+
auth: "admin"
|
|
18576
|
+
});
|
|
18478
18577
|
var ProviderInfoSchema = discriminatedUnion("shouldSaveDiskSpace", [object({
|
|
18479
18578
|
providerId: string().min(1),
|
|
18480
18579
|
displayName: string().min(1),
|
|
@@ -18578,6 +18677,28 @@ var TerminalProfileInfoSchema = object({
|
|
|
18578
18677
|
label: string(),
|
|
18579
18678
|
description: string().optional()
|
|
18580
18679
|
});
|
|
18680
|
+
/**
|
|
18681
|
+
* A durable operator-created Terminal instance. Profiles are templates; only
|
|
18682
|
+
* an instance declares a camera.
|
|
18683
|
+
*/
|
|
18684
|
+
var TerminalInstanceInfoSchema = object({
|
|
18685
|
+
instanceId: string(),
|
|
18686
|
+
cameraStableId: string(),
|
|
18687
|
+
nodeId: string(),
|
|
18688
|
+
profileId: string(),
|
|
18689
|
+
profileLabel: string(),
|
|
18690
|
+
name: string(),
|
|
18691
|
+
enabled: boolean()
|
|
18692
|
+
});
|
|
18693
|
+
var TerminalLegacyCameraSchema = object({
|
|
18694
|
+
stableId: string(),
|
|
18695
|
+
nodeId: string(),
|
|
18696
|
+
profileId: string(),
|
|
18697
|
+
profileLabel: string(),
|
|
18698
|
+
name: string(),
|
|
18699
|
+
/** Only legacy monitor cameras can retain their historic stable identity. */
|
|
18700
|
+
adoptable: boolean()
|
|
18701
|
+
});
|
|
18581
18702
|
var TerminalOutputEventSchema = discriminatedUnion("kind", [object({
|
|
18582
18703
|
seq: number().int().positive(),
|
|
18583
18704
|
kind: literal("data"),
|
|
@@ -18594,7 +18715,29 @@ var TerminalOutputBatchSchema = object({
|
|
|
18594
18715
|
snapshot: string().optional(),
|
|
18595
18716
|
events: array(TerminalOutputEventSchema).readonly()
|
|
18596
18717
|
});
|
|
18597
|
-
method(_void(), array(TerminalProfileInfoSchema).readonly(), { auth: "admin" }), method(_void(), array(
|
|
18718
|
+
method(_void(), array(TerminalProfileInfoSchema).readonly(), { auth: "admin" }), method(_void(), array(TerminalInstanceInfoSchema).readonly(), { auth: "admin" }), method(object({
|
|
18719
|
+
targetNodeId: string().min(1),
|
|
18720
|
+
profileId: string().min(1),
|
|
18721
|
+
name: string().trim().min(1).max(160).optional()
|
|
18722
|
+
}), TerminalInstanceInfoSchema, {
|
|
18723
|
+
kind: "mutation",
|
|
18724
|
+
auth: "admin"
|
|
18725
|
+
}), method(object({ instanceId: string().min(1) }), _void(), {
|
|
18726
|
+
kind: "mutation",
|
|
18727
|
+
auth: "admin"
|
|
18728
|
+
}), method(object({
|
|
18729
|
+
instanceId: string().min(1),
|
|
18730
|
+
enabled: boolean()
|
|
18731
|
+
}), TerminalInstanceInfoSchema, {
|
|
18732
|
+
kind: "mutation",
|
|
18733
|
+
auth: "admin"
|
|
18734
|
+
}), method(_void(), array(TerminalLegacyCameraSchema).readonly(), { auth: "admin" }), method(object({
|
|
18735
|
+
stableId: string().min(1),
|
|
18736
|
+
name: string().trim().min(1).max(160).optional()
|
|
18737
|
+
}), TerminalInstanceInfoSchema, {
|
|
18738
|
+
kind: "mutation",
|
|
18739
|
+
auth: "admin"
|
|
18740
|
+
}), method(_void(), array(TerminalSessionInfoSchema).readonly(), { auth: "admin" }), method(object({
|
|
18598
18741
|
profileId: string(),
|
|
18599
18742
|
cols: number().int().positive(),
|
|
18600
18743
|
rows: number().int().positive()
|
|
@@ -18611,7 +18754,13 @@ method(_void(), array(TerminalProfileInfoSchema).readonly(), { auth: "admin" }),
|
|
|
18611
18754
|
}), method(object({
|
|
18612
18755
|
sessionId: string(),
|
|
18613
18756
|
afterSeq: number().int().nonnegative(),
|
|
18614
|
-
waitMs: number().int().min(0).max(2e3).default(0)
|
|
18757
|
+
waitMs: number().int().min(0).max(2e3).default(0),
|
|
18758
|
+
/**
|
|
18759
|
+
* Wait when a just-opened session has no output yet. Kept opt-in so a
|
|
18760
|
+
* browser's initial repaint remains immediate; the camera snapshot
|
|
18761
|
+
* relay uses it to avoid encoding a blank startup frame.
|
|
18762
|
+
*/
|
|
18763
|
+
waitForOutput: boolean().optional()
|
|
18615
18764
|
}), TerminalOutputBatchSchema, {
|
|
18616
18765
|
kind: "mutation",
|
|
18617
18766
|
auth: "admin",
|
|
@@ -21109,6 +21258,7 @@ var FaceInfoSchema = object({
|
|
|
21109
21258
|
var FaceFilterEnum = _enum([
|
|
21110
21259
|
"unassigned",
|
|
21111
21260
|
"recognized",
|
|
21261
|
+
"identified",
|
|
21112
21262
|
"all"
|
|
21113
21263
|
]);
|
|
21114
21264
|
var MediaFileLiteSchema$1 = object({
|
|
@@ -21137,6 +21287,8 @@ method(_void(), array(IdentitySchema).readonly()), method(object({ name: string(
|
|
|
21137
21287
|
kind: "mutation",
|
|
21138
21288
|
auth: "admin"
|
|
21139
21289
|
}), method(object({
|
|
21290
|
+
/** Restrict to one camera. Absent keeps the cluster-wide gallery view. */
|
|
21291
|
+
deviceId: number().int().optional(),
|
|
21140
21292
|
limit: number().int().positive().optional(),
|
|
21141
21293
|
filter: FaceFilterEnum.optional(),
|
|
21142
21294
|
/**
|
|
@@ -23366,6 +23518,10 @@ var OsdSourceSchema = discriminatedUnion("kind", [
|
|
|
23366
23518
|
capName: string().min(1).max(64),
|
|
23367
23519
|
/** Dot path inside the slice, e.g. `detected`, `value`, `mode`. */
|
|
23368
23520
|
valuePath: string().min(1).max(64)
|
|
23521
|
+
}),
|
|
23522
|
+
object({
|
|
23523
|
+
kind: literal("latest-recognition"),
|
|
23524
|
+
recognition: _enum(["person", "plate"])
|
|
23369
23525
|
})
|
|
23370
23526
|
]);
|
|
23371
23527
|
var OsdSlotBindingSchema = object({
|
|
@@ -23471,6 +23627,15 @@ method(object({ deviceId: number().int() }), object({
|
|
|
23471
23627
|
}), object({ success: literal(true) }), {
|
|
23472
23628
|
kind: "mutation",
|
|
23473
23629
|
auth: "admin"
|
|
23630
|
+
}), method(object({
|
|
23631
|
+
sourceDeviceId: number().int(),
|
|
23632
|
+
targetDeviceId: number().int()
|
|
23633
|
+
}), object({
|
|
23634
|
+
copied: number().int().nonnegative(),
|
|
23635
|
+
skipped: number().int().nonnegative()
|
|
23636
|
+
}), {
|
|
23637
|
+
kind: "mutation",
|
|
23638
|
+
auth: "admin"
|
|
23474
23639
|
}), method(object({
|
|
23475
23640
|
deviceId: number().int(),
|
|
23476
23641
|
slotId: string().min(1),
|
|
@@ -24568,13 +24733,19 @@ method(object({
|
|
|
24568
24733
|
}), {
|
|
24569
24734
|
kind: "mutation",
|
|
24570
24735
|
auth: "admin"
|
|
24571
|
-
}), method(
|
|
24736
|
+
}), method(StorageMigrationLeaseInputSchema, object({ paused: literal(true) }), {
|
|
24572
24737
|
kind: "mutation",
|
|
24573
24738
|
auth: "admin"
|
|
24574
|
-
}), method(object({
|
|
24575
|
-
kind: "
|
|
24739
|
+
}), method(StorageMigrationLeaseInputSchema, object({ resumed: literal(true) }), {
|
|
24740
|
+
kind: "mutation",
|
|
24576
24741
|
auth: "admin"
|
|
24577
|
-
}), method(
|
|
24742
|
+
}), method(StorageMigrationLeaseInputSchema, object({ refreshed: literal(true) }), {
|
|
24743
|
+
kind: "mutation",
|
|
24744
|
+
auth: "admin"
|
|
24745
|
+
}), method(StorageMigrationFootageMoveInputSchema, object({ jobId: string() }), {
|
|
24746
|
+
kind: "mutation",
|
|
24747
|
+
auth: "admin"
|
|
24748
|
+
}), method(object({ jobId: string() }), RelocateJobSchema.nullable(), { auth: "admin" }), method(object({ jobId: string() }), object({ cancelled: boolean() }), {
|
|
24578
24749
|
kind: "mutation",
|
|
24579
24750
|
auth: "admin"
|
|
24580
24751
|
});
|
|
@@ -30180,6 +30351,12 @@ Object.freeze({
|
|
|
30180
30351
|
addonId: null,
|
|
30181
30352
|
access: "delete"
|
|
30182
30353
|
},
|
|
30354
|
+
"osdManager.copyDeviceConfiguration": {
|
|
30355
|
+
capName: "osd-manager",
|
|
30356
|
+
capScope: "system",
|
|
30357
|
+
addonId: null,
|
|
30358
|
+
access: "create"
|
|
30359
|
+
},
|
|
30183
30360
|
"osdManager.getConditionSupport": {
|
|
30184
30361
|
capName: "osd-manager",
|
|
30185
30362
|
capScope: "system",
|
|
@@ -30276,7 +30453,7 @@ Object.freeze({
|
|
|
30276
30453
|
addonId: null,
|
|
30277
30454
|
access: "create"
|
|
30278
30455
|
},
|
|
30279
|
-
"pipelineAnalytics.
|
|
30456
|
+
"pipelineAnalytics.cancelStorageMigrationMove": {
|
|
30280
30457
|
capName: "pipeline-analytics",
|
|
30281
30458
|
capScope: "device",
|
|
30282
30459
|
addonId: null,
|
|
@@ -30348,12 +30525,6 @@ Object.freeze({
|
|
|
30348
30525
|
addonId: null,
|
|
30349
30526
|
access: "view"
|
|
30350
30527
|
},
|
|
30351
|
-
"pipelineAnalytics.getMediaRelocateStatus": {
|
|
30352
|
-
capName: "pipeline-analytics",
|
|
30353
|
-
capScope: "device",
|
|
30354
|
-
addonId: null,
|
|
30355
|
-
access: "view"
|
|
30356
|
-
},
|
|
30357
30528
|
"pipelineAnalytics.getMotionEvents": {
|
|
30358
30529
|
capName: "pipeline-analytics",
|
|
30359
30530
|
capScope: "device",
|
|
@@ -30390,6 +30561,12 @@ Object.freeze({
|
|
|
30390
30561
|
addonId: null,
|
|
30391
30562
|
access: "view"
|
|
30392
30563
|
},
|
|
30564
|
+
"pipelineAnalytics.getStorageMigrationMoveStatus": {
|
|
30565
|
+
capName: "pipeline-analytics",
|
|
30566
|
+
capScope: "device",
|
|
30567
|
+
addonId: null,
|
|
30568
|
+
access: "view"
|
|
30569
|
+
},
|
|
30393
30570
|
"pipelineAnalytics.getTrack": {
|
|
30394
30571
|
capName: "pipeline-analytics",
|
|
30395
30572
|
capScope: "device",
|
|
@@ -30468,6 +30645,12 @@ Object.freeze({
|
|
|
30468
30645
|
addonId: null,
|
|
30469
30646
|
access: "view"
|
|
30470
30647
|
},
|
|
30648
|
+
"pipelineAnalytics.pauseForStorageMigration": {
|
|
30649
|
+
capName: "pipeline-analytics",
|
|
30650
|
+
capScope: "device",
|
|
30651
|
+
addonId: null,
|
|
30652
|
+
access: "create"
|
|
30653
|
+
},
|
|
30471
30654
|
"pipelineAnalytics.proposeRetrainAnnotations": {
|
|
30472
30655
|
capName: "pipeline-analytics",
|
|
30473
30656
|
capScope: "device",
|
|
@@ -30498,7 +30681,7 @@ Object.freeze({
|
|
|
30498
30681
|
addonId: null,
|
|
30499
30682
|
access: "create"
|
|
30500
30683
|
},
|
|
30501
|
-
"pipelineAnalytics.
|
|
30684
|
+
"pipelineAnalytics.refreshStorageLocationsForMigration": {
|
|
30502
30685
|
capName: "pipeline-analytics",
|
|
30503
30686
|
capScope: "device",
|
|
30504
30687
|
addonId: null,
|
|
@@ -30510,6 +30693,12 @@ Object.freeze({
|
|
|
30510
30693
|
addonId: null,
|
|
30511
30694
|
access: "create"
|
|
30512
30695
|
},
|
|
30696
|
+
"pipelineAnalytics.resumeForStorageMigration": {
|
|
30697
|
+
capName: "pipeline-analytics",
|
|
30698
|
+
capScope: "device",
|
|
30699
|
+
addonId: null,
|
|
30700
|
+
access: "create"
|
|
30701
|
+
},
|
|
30513
30702
|
"pipelineAnalytics.saveRetrainAnnotations": {
|
|
30514
30703
|
capName: "pipeline-analytics",
|
|
30515
30704
|
capScope: "device",
|
|
@@ -30534,6 +30723,12 @@ Object.freeze({
|
|
|
30534
30723
|
addonId: null,
|
|
30535
30724
|
access: "create"
|
|
30536
30725
|
},
|
|
30726
|
+
"pipelineAnalytics.startStorageMigrationMove": {
|
|
30727
|
+
capName: "pipeline-analytics",
|
|
30728
|
+
capScope: "device",
|
|
30729
|
+
addonId: null,
|
|
30730
|
+
access: "create"
|
|
30731
|
+
},
|
|
30537
30732
|
"pipelineAnalytics.wipeAllAnalytics": {
|
|
30538
30733
|
capName: "pipeline-analytics",
|
|
30539
30734
|
capScope: "device",
|
|
@@ -30900,6 +31095,12 @@ Object.freeze({
|
|
|
30900
31095
|
addonId: null,
|
|
30901
31096
|
access: "view"
|
|
30902
31097
|
},
|
|
31098
|
+
"pipelineOrchestrator.pauseForStorageMigration": {
|
|
31099
|
+
capName: "pipeline-orchestrator",
|
|
31100
|
+
capScope: "system",
|
|
31101
|
+
addonId: null,
|
|
31102
|
+
access: "create"
|
|
31103
|
+
},
|
|
30903
31104
|
"pipelineOrchestrator.rebalance": {
|
|
30904
31105
|
capName: "pipeline-orchestrator",
|
|
30905
31106
|
capScope: "system",
|
|
@@ -30924,6 +31125,12 @@ Object.freeze({
|
|
|
30924
31125
|
addonId: null,
|
|
30925
31126
|
access: "view"
|
|
30926
31127
|
},
|
|
31128
|
+
"pipelineOrchestrator.resumeForStorageMigration": {
|
|
31129
|
+
capName: "pipeline-orchestrator",
|
|
31130
|
+
capScope: "system",
|
|
31131
|
+
addonId: null,
|
|
31132
|
+
access: "create"
|
|
31133
|
+
},
|
|
30927
31134
|
"pipelineOrchestrator.saveTemplate": {
|
|
30928
31135
|
capName: "pipeline-orchestrator",
|
|
30929
31136
|
capScope: "system",
|
|
@@ -31320,7 +31527,7 @@ Object.freeze({
|
|
|
31320
31527
|
addonId: null,
|
|
31321
31528
|
access: "create"
|
|
31322
31529
|
},
|
|
31323
|
-
"recording.
|
|
31530
|
+
"recording.cancelStorageMigrationMove": {
|
|
31324
31531
|
capName: "recording",
|
|
31325
31532
|
capScope: "system",
|
|
31326
31533
|
addonId: null,
|
|
@@ -31356,7 +31563,7 @@ Object.freeze({
|
|
|
31356
31563
|
addonId: null,
|
|
31357
31564
|
access: "view"
|
|
31358
31565
|
},
|
|
31359
|
-
"recording.
|
|
31566
|
+
"recording.getStorageMigrationMoveStatus": {
|
|
31360
31567
|
capName: "recording",
|
|
31361
31568
|
capScope: "system",
|
|
31362
31569
|
addonId: null,
|
|
@@ -31380,6 +31587,12 @@ Object.freeze({
|
|
|
31380
31587
|
addonId: null,
|
|
31381
31588
|
access: "view"
|
|
31382
31589
|
},
|
|
31590
|
+
"recording.pauseForStorageMigration": {
|
|
31591
|
+
capName: "recording",
|
|
31592
|
+
capScope: "system",
|
|
31593
|
+
addonId: null,
|
|
31594
|
+
access: "create"
|
|
31595
|
+
},
|
|
31383
31596
|
"recording.pruneFootage": {
|
|
31384
31597
|
capName: "recording",
|
|
31385
31598
|
capScope: "system",
|
|
@@ -31398,7 +31611,7 @@ Object.freeze({
|
|
|
31398
31611
|
addonId: null,
|
|
31399
31612
|
access: "view"
|
|
31400
31613
|
},
|
|
31401
|
-
"recording.
|
|
31614
|
+
"recording.refreshStorageLocationsForMigration": {
|
|
31402
31615
|
capName: "recording",
|
|
31403
31616
|
capScope: "system",
|
|
31404
31617
|
addonId: null,
|
|
@@ -31422,12 +31635,24 @@ Object.freeze({
|
|
|
31422
31635
|
addonId: null,
|
|
31423
31636
|
access: "create"
|
|
31424
31637
|
},
|
|
31638
|
+
"recording.resumeForStorageMigration": {
|
|
31639
|
+
capName: "recording",
|
|
31640
|
+
capScope: "system",
|
|
31641
|
+
addonId: null,
|
|
31642
|
+
access: "create"
|
|
31643
|
+
},
|
|
31425
31644
|
"recording.setDeviceConfig": {
|
|
31426
31645
|
capName: "recording",
|
|
31427
31646
|
capScope: "system",
|
|
31428
31647
|
addonId: null,
|
|
31429
31648
|
access: "create"
|
|
31430
31649
|
},
|
|
31650
|
+
"recording.startStorageMigrationMove": {
|
|
31651
|
+
capName: "recording",
|
|
31652
|
+
capScope: "system",
|
|
31653
|
+
addonId: null,
|
|
31654
|
+
access: "create"
|
|
31655
|
+
},
|
|
31431
31656
|
"recordingExport.cancelExport": {
|
|
31432
31657
|
capName: "recordingExport",
|
|
31433
31658
|
capScope: "system",
|
|
@@ -31818,6 +32043,30 @@ Object.freeze({
|
|
|
31818
32043
|
addonId: null,
|
|
31819
32044
|
access: "view"
|
|
31820
32045
|
},
|
|
32046
|
+
"storageMigration.cancel": {
|
|
32047
|
+
capName: "storage-migration",
|
|
32048
|
+
capScope: "system",
|
|
32049
|
+
addonId: null,
|
|
32050
|
+
access: "create"
|
|
32051
|
+
},
|
|
32052
|
+
"storageMigration.plan": {
|
|
32053
|
+
capName: "storage-migration",
|
|
32054
|
+
capScope: "system",
|
|
32055
|
+
addonId: null,
|
|
32056
|
+
access: "view"
|
|
32057
|
+
},
|
|
32058
|
+
"storageMigration.start": {
|
|
32059
|
+
capName: "storage-migration",
|
|
32060
|
+
capScope: "system",
|
|
32061
|
+
addonId: null,
|
|
32062
|
+
access: "create"
|
|
32063
|
+
},
|
|
32064
|
+
"storageMigration.status": {
|
|
32065
|
+
capName: "storage-migration",
|
|
32066
|
+
capScope: "system",
|
|
32067
|
+
addonId: null,
|
|
32068
|
+
access: "view"
|
|
32069
|
+
},
|
|
31821
32070
|
"storageProvider.abortUpload": {
|
|
31822
32071
|
capName: "storage-provider",
|
|
31823
32072
|
capScope: "system",
|
|
@@ -32196,12 +32445,42 @@ Object.freeze({
|
|
|
32196
32445
|
addonId: null,
|
|
32197
32446
|
access: "create"
|
|
32198
32447
|
},
|
|
32448
|
+
"terminalSession.adoptLegacyMonitor": {
|
|
32449
|
+
capName: "terminal-session",
|
|
32450
|
+
capScope: "system",
|
|
32451
|
+
addonId: null,
|
|
32452
|
+
access: "create"
|
|
32453
|
+
},
|
|
32199
32454
|
"terminalSession.close": {
|
|
32200
32455
|
capName: "terminal-session",
|
|
32201
32456
|
capScope: "system",
|
|
32202
32457
|
addonId: null,
|
|
32203
32458
|
access: "create"
|
|
32204
32459
|
},
|
|
32460
|
+
"terminalSession.createInstance": {
|
|
32461
|
+
capName: "terminal-session",
|
|
32462
|
+
capScope: "system",
|
|
32463
|
+
addonId: null,
|
|
32464
|
+
access: "create"
|
|
32465
|
+
},
|
|
32466
|
+
"terminalSession.deleteInstance": {
|
|
32467
|
+
capName: "terminal-session",
|
|
32468
|
+
capScope: "system",
|
|
32469
|
+
addonId: null,
|
|
32470
|
+
access: "delete"
|
|
32471
|
+
},
|
|
32472
|
+
"terminalSession.listInstances": {
|
|
32473
|
+
capName: "terminal-session",
|
|
32474
|
+
capScope: "system",
|
|
32475
|
+
addonId: null,
|
|
32476
|
+
access: "view"
|
|
32477
|
+
},
|
|
32478
|
+
"terminalSession.listLegacyCameras": {
|
|
32479
|
+
capName: "terminal-session",
|
|
32480
|
+
capScope: "system",
|
|
32481
|
+
addonId: null,
|
|
32482
|
+
access: "view"
|
|
32483
|
+
},
|
|
32205
32484
|
"terminalSession.listProfiles": {
|
|
32206
32485
|
capName: "terminal-session",
|
|
32207
32486
|
capScope: "system",
|
|
@@ -32232,6 +32511,12 @@ Object.freeze({
|
|
|
32232
32511
|
addonId: null,
|
|
32233
32512
|
access: "create"
|
|
32234
32513
|
},
|
|
32514
|
+
"terminalSession.setInstanceEnabled": {
|
|
32515
|
+
capName: "terminal-session",
|
|
32516
|
+
capScope: "system",
|
|
32517
|
+
addonId: null,
|
|
32518
|
+
access: "create"
|
|
32519
|
+
},
|
|
32235
32520
|
"terminalSession.writeInput": {
|
|
32236
32521
|
capName: "terminal-session",
|
|
32237
32522
|
capScope: "system",
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@camstack/addon-provider-gree",
|
|
3
|
-
"version": "0.2.
|
|
3
|
+
"version": "0.2.12",
|
|
4
4
|
"description": "Gree air-conditioner device-provider addon for CamStack — wraps the @apocaliss92/nodegree local-UDP client (LAN discovery + AES control), exposing climate-control and fan-control",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"camstack",
|