@camstack/addon-provider-rademacher 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
|
@@ -8550,12 +8550,11 @@ var RecordingConfigSchema = object({
|
|
|
8550
8550
|
/**
|
|
8551
8551
|
* Entity-relocation job state (storage entity-routing spec, Phase 4).
|
|
8552
8552
|
*
|
|
8553
|
-
* One shape shared by the recorder
|
|
8554
|
-
*
|
|
8555
|
-
*
|
|
8556
|
-
*
|
|
8557
|
-
*
|
|
8558
|
-
* row on the owning addon's surface.
|
|
8553
|
+
* One shape shared by the recorder and pipeline-analytics internal movers.
|
|
8554
|
+
* The public admin surface is `storage-migration`; child jobs remain in RAM
|
|
8555
|
+
* because copy-if-absent, verify, delete and index/row repoint are resumable.
|
|
8556
|
+
* Each completed/failed run also lands one durable ops-log row on its owning
|
|
8557
|
+
* addon surface.
|
|
8559
8558
|
*/
|
|
8560
8559
|
var RelocateJobStateSchema = _enum([
|
|
8561
8560
|
"running",
|
|
@@ -8582,19 +8581,100 @@ var RelocateJobSchema = object({
|
|
|
8582
8581
|
finishedAt: number().nullable(),
|
|
8583
8582
|
error: string().nullable()
|
|
8584
8583
|
});
|
|
8584
|
+
/** Profile-derived footage selection used only by the migration coordinator:
|
|
8585
|
+
* `recordings` owns high+mid; `recordingsLow` owns low. */
|
|
8586
|
+
var RelocateFootageClassSchema = _enum(["recordings", "recordingsLow"]);
|
|
8585
8587
|
var RelocateFootageInputSchema = object({
|
|
8586
|
-
deviceId: number().optional(),
|
|
8587
8588
|
fromLocationId: string(),
|
|
8588
8589
|
toLocationId: string(),
|
|
8589
8590
|
entities: array(_enum(["segments"])).optional(),
|
|
8591
|
+
/** Limits relocation to the logical profile class. Omit only for the
|
|
8592
|
+
* pre-orchestration compatibility path. */
|
|
8593
|
+
footageClass: RelocateFootageClassSchema.optional(),
|
|
8590
8594
|
/** Copy throttle in MB/s (default 40) — the drain is a background chore,
|
|
8591
8595
|
* never allowed to starve live writers. */
|
|
8592
8596
|
throttleMbps: number().min(1).max(1e3).optional()
|
|
8593
8597
|
});
|
|
8594
|
-
|
|
8595
|
-
|
|
8598
|
+
/** Internal, lease-scoped participant operation. It is intentionally separate
|
|
8599
|
+
* from persistent recording settings: a migration never changes
|
|
8600
|
+
* `RecordingConfig.enabled` or camera wrapper bindings. */
|
|
8601
|
+
var StorageMigrationLeaseInputSchema = object({ leaseId: string().min(1) });
|
|
8602
|
+
var StorageMigrationFootageMoveInputSchema = RelocateFootageInputSchema.extend({ leaseId: string().min(1) });
|
|
8603
|
+
var StorageMigrationMediaMoveInputSchema = object({
|
|
8596
8604
|
toLocationId: string(),
|
|
8597
8605
|
throttleMbps: number().min(1).max(1e3).optional()
|
|
8606
|
+
}).extend({ leaseId: string().min(1) });
|
|
8607
|
+
/** The independently selectable logical storage classes. `recordings`
|
|
8608
|
+
* encompasses the high and mid segment profiles; `recordingsLow` is low
|
|
8609
|
+
* segments; `eventMedia` is post-analysis blobs. */
|
|
8610
|
+
var StorageMigrationClassSchema = _enum([
|
|
8611
|
+
"recordings",
|
|
8612
|
+
"recordingsLow",
|
|
8613
|
+
"eventMedia"
|
|
8614
|
+
]);
|
|
8615
|
+
/** A destination is always an existing, fully-qualified location id. The
|
|
8616
|
+
* migration API intentionally never changes a source location's `basePath`:
|
|
8617
|
+
* callers create a new `<type>:<slug>` location, then select it here. */
|
|
8618
|
+
var StorageMigrationDestinationsSchema = object({
|
|
8619
|
+
recordings: string().min(1).optional(),
|
|
8620
|
+
recordingsLow: string().min(1).optional(),
|
|
8621
|
+
eventMedia: string().min(1).optional()
|
|
8622
|
+
}).refine((value) => Object.keys(value).length > 0, { message: "select at least one storage class" });
|
|
8623
|
+
/** Shared input for planning and starting an orchestrated storage migration. */
|
|
8624
|
+
var StorageMigrationInputSchema = object({
|
|
8625
|
+
destinations: StorageMigrationDestinationsSchema,
|
|
8626
|
+
throttleMbps: number().min(1).max(1e3).optional()
|
|
8627
|
+
});
|
|
8628
|
+
/** The durable coordinator state machine. The only phase that changes default
|
|
8629
|
+
* locations is `repointing`, after every selected mover has completed and been
|
|
8630
|
+
* verified. */
|
|
8631
|
+
var StorageMigrationPhaseSchema = _enum([
|
|
8632
|
+
"planning",
|
|
8633
|
+
"pausing",
|
|
8634
|
+
"moving",
|
|
8635
|
+
"verifying",
|
|
8636
|
+
"repointing",
|
|
8637
|
+
"refreshing",
|
|
8638
|
+
"resuming",
|
|
8639
|
+
"done",
|
|
8640
|
+
"failed",
|
|
8641
|
+
"cancelled"
|
|
8642
|
+
]);
|
|
8643
|
+
var StorageMigrationParticipantSchema = _enum([
|
|
8644
|
+
"pipeline",
|
|
8645
|
+
"recorder",
|
|
8646
|
+
"analytics"
|
|
8647
|
+
]);
|
|
8648
|
+
var StorageMigrationMoveSchema = object({
|
|
8649
|
+
storageClass: StorageMigrationClassSchema,
|
|
8650
|
+
fromLocationId: string(),
|
|
8651
|
+
toLocationId: string(),
|
|
8652
|
+
moverJobId: string().nullable(),
|
|
8653
|
+
state: RelocateJobStateSchema.nullable(),
|
|
8654
|
+
error: string().nullable()
|
|
8655
|
+
});
|
|
8656
|
+
var StorageMigrationJobSchema = object({
|
|
8657
|
+
jobId: string(),
|
|
8658
|
+
phase: StorageMigrationPhaseSchema,
|
|
8659
|
+
destinations: StorageMigrationDestinationsSchema,
|
|
8660
|
+
throttleMbps: number(),
|
|
8661
|
+
moves: array(StorageMigrationMoveSchema),
|
|
8662
|
+
pauseLeaseId: string().nullable(),
|
|
8663
|
+
pausedParticipants: array(StorageMigrationParticipantSchema),
|
|
8664
|
+
repointed: boolean(),
|
|
8665
|
+
cancelRequested: boolean(),
|
|
8666
|
+
startedAt: number(),
|
|
8667
|
+
updatedAt: number(),
|
|
8668
|
+
finishedAt: number().nullable(),
|
|
8669
|
+
error: string().nullable()
|
|
8670
|
+
});
|
|
8671
|
+
var StorageMigrationPlanSchema = object({
|
|
8672
|
+
destinations: StorageMigrationDestinationsSchema,
|
|
8673
|
+
moves: array(object({
|
|
8674
|
+
storageClass: StorageMigrationClassSchema,
|
|
8675
|
+
fromLocationId: string(),
|
|
8676
|
+
toLocationId: string()
|
|
8677
|
+
}))
|
|
8598
8678
|
});
|
|
8599
8679
|
/**
|
|
8600
8680
|
* `StorageLocationType` — an addon-declared id that identifies the *kind* of
|
|
@@ -17248,13 +17328,19 @@ DeviceType.Camera, method(object({ deviceId: number() }), array(TrackSchema).rea
|
|
|
17248
17328
|
}), method(object({ deviceId: number() }), EventPruneCountsSchema, {
|
|
17249
17329
|
kind: "mutation",
|
|
17250
17330
|
auth: "admin"
|
|
17251
|
-
}), method(
|
|
17331
|
+
}), method(StorageMigrationLeaseInputSchema, object({ paused: literal(true) }), {
|
|
17252
17332
|
kind: "mutation",
|
|
17253
17333
|
auth: "admin"
|
|
17254
|
-
}), method(object({
|
|
17255
|
-
kind: "
|
|
17334
|
+
}), method(StorageMigrationLeaseInputSchema, object({ resumed: literal(true) }), {
|
|
17335
|
+
kind: "mutation",
|
|
17336
|
+
auth: "admin"
|
|
17337
|
+
}), method(StorageMigrationLeaseInputSchema, object({ refreshed: literal(true) }), {
|
|
17338
|
+
kind: "mutation",
|
|
17339
|
+
auth: "admin"
|
|
17340
|
+
}), method(StorageMigrationMediaMoveInputSchema, object({ jobId: string() }), {
|
|
17341
|
+
kind: "mutation",
|
|
17256
17342
|
auth: "admin"
|
|
17257
|
-
}), method(object({ jobId: string() }), object({ cancelled: boolean() }), {
|
|
17343
|
+
}), method(object({ jobId: string() }), RelocateJobSchema.nullable(), { auth: "admin" }), method(object({ jobId: string() }), object({ cancelled: boolean() }), {
|
|
17258
17344
|
kind: "mutation",
|
|
17259
17345
|
auth: "admin"
|
|
17260
17346
|
}), method(OpsLogQueryInputSchema, array(OpsLogEntrySchema).readonly(), {
|
|
@@ -18784,7 +18870,13 @@ var NodeInferenceDevicesSchema = object({
|
|
|
18784
18870
|
reachable: boolean(),
|
|
18785
18871
|
devices: array(NodeInferenceDeviceSchema).readonly()
|
|
18786
18872
|
});
|
|
18787
|
-
method(object({
|
|
18873
|
+
method(StorageMigrationLeaseInputSchema, object({ paused: literal(true) }), {
|
|
18874
|
+
kind: "mutation",
|
|
18875
|
+
auth: "admin"
|
|
18876
|
+
}), method(StorageMigrationLeaseInputSchema, object({ resumed: literal(true) }), {
|
|
18877
|
+
kind: "mutation",
|
|
18878
|
+
auth: "admin"
|
|
18879
|
+
}), method(object({
|
|
18788
18880
|
deviceId: number(),
|
|
18789
18881
|
agentNodeId: string()
|
|
18790
18882
|
}), object({ success: literal(true) }), {
|
|
@@ -19458,6 +19550,13 @@ method(object({ locationId: string() }), EvictableUsageSchema), method(object({
|
|
|
19458
19550
|
locationId: string(),
|
|
19459
19551
|
targetBytes: number().int().positive()
|
|
19460
19552
|
}), EvictResultSchema, { kind: "mutation" });
|
|
19553
|
+
method(StorageMigrationInputSchema, StorageMigrationPlanSchema, { auth: "admin" }), method(StorageMigrationInputSchema, object({ jobId: string() }), {
|
|
19554
|
+
kind: "mutation",
|
|
19555
|
+
auth: "admin"
|
|
19556
|
+
}), method(object({ jobId: string().optional() }), StorageMigrationJobSchema.nullable(), { auth: "admin" }), method(object({ jobId: string() }), object({ cancelled: boolean() }), {
|
|
19557
|
+
kind: "mutation",
|
|
19558
|
+
auth: "admin"
|
|
19559
|
+
});
|
|
19461
19560
|
var ProviderInfoSchema = discriminatedUnion("shouldSaveDiskSpace", [object({
|
|
19462
19561
|
providerId: string().min(1),
|
|
19463
19562
|
displayName: string().min(1),
|
|
@@ -19561,6 +19660,28 @@ var TerminalProfileInfoSchema = object({
|
|
|
19561
19660
|
label: string(),
|
|
19562
19661
|
description: string().optional()
|
|
19563
19662
|
});
|
|
19663
|
+
/**
|
|
19664
|
+
* A durable operator-created Terminal instance. Profiles are templates; only
|
|
19665
|
+
* an instance declares a camera.
|
|
19666
|
+
*/
|
|
19667
|
+
var TerminalInstanceInfoSchema = object({
|
|
19668
|
+
instanceId: string(),
|
|
19669
|
+
cameraStableId: string(),
|
|
19670
|
+
nodeId: string(),
|
|
19671
|
+
profileId: string(),
|
|
19672
|
+
profileLabel: string(),
|
|
19673
|
+
name: string(),
|
|
19674
|
+
enabled: boolean()
|
|
19675
|
+
});
|
|
19676
|
+
var TerminalLegacyCameraSchema = object({
|
|
19677
|
+
stableId: string(),
|
|
19678
|
+
nodeId: string(),
|
|
19679
|
+
profileId: string(),
|
|
19680
|
+
profileLabel: string(),
|
|
19681
|
+
name: string(),
|
|
19682
|
+
/** Only legacy monitor cameras can retain their historic stable identity. */
|
|
19683
|
+
adoptable: boolean()
|
|
19684
|
+
});
|
|
19564
19685
|
var TerminalOutputEventSchema = discriminatedUnion("kind", [object({
|
|
19565
19686
|
seq: number().int().positive(),
|
|
19566
19687
|
kind: literal("data"),
|
|
@@ -19577,7 +19698,29 @@ var TerminalOutputBatchSchema = object({
|
|
|
19577
19698
|
snapshot: string().optional(),
|
|
19578
19699
|
events: array(TerminalOutputEventSchema).readonly()
|
|
19579
19700
|
});
|
|
19580
|
-
method(_void(), array(TerminalProfileInfoSchema).readonly(), { auth: "admin" }), method(_void(), array(
|
|
19701
|
+
method(_void(), array(TerminalProfileInfoSchema).readonly(), { auth: "admin" }), method(_void(), array(TerminalInstanceInfoSchema).readonly(), { auth: "admin" }), method(object({
|
|
19702
|
+
targetNodeId: string().min(1),
|
|
19703
|
+
profileId: string().min(1),
|
|
19704
|
+
name: string().trim().min(1).max(160).optional()
|
|
19705
|
+
}), TerminalInstanceInfoSchema, {
|
|
19706
|
+
kind: "mutation",
|
|
19707
|
+
auth: "admin"
|
|
19708
|
+
}), method(object({ instanceId: string().min(1) }), _void(), {
|
|
19709
|
+
kind: "mutation",
|
|
19710
|
+
auth: "admin"
|
|
19711
|
+
}), method(object({
|
|
19712
|
+
instanceId: string().min(1),
|
|
19713
|
+
enabled: boolean()
|
|
19714
|
+
}), TerminalInstanceInfoSchema, {
|
|
19715
|
+
kind: "mutation",
|
|
19716
|
+
auth: "admin"
|
|
19717
|
+
}), method(_void(), array(TerminalLegacyCameraSchema).readonly(), { auth: "admin" }), method(object({
|
|
19718
|
+
stableId: string().min(1),
|
|
19719
|
+
name: string().trim().min(1).max(160).optional()
|
|
19720
|
+
}), TerminalInstanceInfoSchema, {
|
|
19721
|
+
kind: "mutation",
|
|
19722
|
+
auth: "admin"
|
|
19723
|
+
}), method(_void(), array(TerminalSessionInfoSchema).readonly(), { auth: "admin" }), method(object({
|
|
19581
19724
|
profileId: string(),
|
|
19582
19725
|
cols: number().int().positive(),
|
|
19583
19726
|
rows: number().int().positive()
|
|
@@ -19594,7 +19737,13 @@ method(_void(), array(TerminalProfileInfoSchema).readonly(), { auth: "admin" }),
|
|
|
19594
19737
|
}), method(object({
|
|
19595
19738
|
sessionId: string(),
|
|
19596
19739
|
afterSeq: number().int().nonnegative(),
|
|
19597
|
-
waitMs: number().int().min(0).max(2e3).default(0)
|
|
19740
|
+
waitMs: number().int().min(0).max(2e3).default(0),
|
|
19741
|
+
/**
|
|
19742
|
+
* Wait when a just-opened session has no output yet. Kept opt-in so a
|
|
19743
|
+
* browser's initial repaint remains immediate; the camera snapshot
|
|
19744
|
+
* relay uses it to avoid encoding a blank startup frame.
|
|
19745
|
+
*/
|
|
19746
|
+
waitForOutput: boolean().optional()
|
|
19598
19747
|
}), TerminalOutputBatchSchema, {
|
|
19599
19748
|
kind: "mutation",
|
|
19600
19749
|
auth: "admin",
|
|
@@ -22092,6 +22241,7 @@ var FaceInfoSchema = object({
|
|
|
22092
22241
|
var FaceFilterEnum = _enum([
|
|
22093
22242
|
"unassigned",
|
|
22094
22243
|
"recognized",
|
|
22244
|
+
"identified",
|
|
22095
22245
|
"all"
|
|
22096
22246
|
]);
|
|
22097
22247
|
var MediaFileLiteSchema$1 = object({
|
|
@@ -22120,6 +22270,8 @@ method(_void(), array(IdentitySchema).readonly()), method(object({ name: string(
|
|
|
22120
22270
|
kind: "mutation",
|
|
22121
22271
|
auth: "admin"
|
|
22122
22272
|
}), method(object({
|
|
22273
|
+
/** Restrict to one camera. Absent keeps the cluster-wide gallery view. */
|
|
22274
|
+
deviceId: number().int().optional(),
|
|
22123
22275
|
limit: number().int().positive().optional(),
|
|
22124
22276
|
filter: FaceFilterEnum.optional(),
|
|
22125
22277
|
/**
|
|
@@ -24349,6 +24501,10 @@ var OsdSourceSchema = discriminatedUnion("kind", [
|
|
|
24349
24501
|
capName: string().min(1).max(64),
|
|
24350
24502
|
/** Dot path inside the slice, e.g. `detected`, `value`, `mode`. */
|
|
24351
24503
|
valuePath: string().min(1).max(64)
|
|
24504
|
+
}),
|
|
24505
|
+
object({
|
|
24506
|
+
kind: literal("latest-recognition"),
|
|
24507
|
+
recognition: _enum(["person", "plate"])
|
|
24352
24508
|
})
|
|
24353
24509
|
]);
|
|
24354
24510
|
var OsdSlotBindingSchema = object({
|
|
@@ -24454,6 +24610,15 @@ method(object({ deviceId: number().int() }), object({
|
|
|
24454
24610
|
}), object({ success: literal(true) }), {
|
|
24455
24611
|
kind: "mutation",
|
|
24456
24612
|
auth: "admin"
|
|
24613
|
+
}), method(object({
|
|
24614
|
+
sourceDeviceId: number().int(),
|
|
24615
|
+
targetDeviceId: number().int()
|
|
24616
|
+
}), object({
|
|
24617
|
+
copied: number().int().nonnegative(),
|
|
24618
|
+
skipped: number().int().nonnegative()
|
|
24619
|
+
}), {
|
|
24620
|
+
kind: "mutation",
|
|
24621
|
+
auth: "admin"
|
|
24457
24622
|
}), method(object({
|
|
24458
24623
|
deviceId: number().int(),
|
|
24459
24624
|
slotId: string().min(1),
|
|
@@ -25551,13 +25716,19 @@ method(object({
|
|
|
25551
25716
|
}), {
|
|
25552
25717
|
kind: "mutation",
|
|
25553
25718
|
auth: "admin"
|
|
25554
|
-
}), method(
|
|
25719
|
+
}), method(StorageMigrationLeaseInputSchema, object({ paused: literal(true) }), {
|
|
25555
25720
|
kind: "mutation",
|
|
25556
25721
|
auth: "admin"
|
|
25557
|
-
}), method(object({
|
|
25558
|
-
kind: "
|
|
25722
|
+
}), method(StorageMigrationLeaseInputSchema, object({ resumed: literal(true) }), {
|
|
25723
|
+
kind: "mutation",
|
|
25559
25724
|
auth: "admin"
|
|
25560
|
-
}), method(
|
|
25725
|
+
}), method(StorageMigrationLeaseInputSchema, object({ refreshed: literal(true) }), {
|
|
25726
|
+
kind: "mutation",
|
|
25727
|
+
auth: "admin"
|
|
25728
|
+
}), method(StorageMigrationFootageMoveInputSchema, object({ jobId: string() }), {
|
|
25729
|
+
kind: "mutation",
|
|
25730
|
+
auth: "admin"
|
|
25731
|
+
}), method(object({ jobId: string() }), RelocateJobSchema.nullable(), { auth: "admin" }), method(object({ jobId: string() }), object({ cancelled: boolean() }), {
|
|
25561
25732
|
kind: "mutation",
|
|
25562
25733
|
auth: "admin"
|
|
25563
25734
|
});
|
|
@@ -31163,6 +31334,12 @@ Object.freeze({
|
|
|
31163
31334
|
addonId: null,
|
|
31164
31335
|
access: "delete"
|
|
31165
31336
|
},
|
|
31337
|
+
"osdManager.copyDeviceConfiguration": {
|
|
31338
|
+
capName: "osd-manager",
|
|
31339
|
+
capScope: "system",
|
|
31340
|
+
addonId: null,
|
|
31341
|
+
access: "create"
|
|
31342
|
+
},
|
|
31166
31343
|
"osdManager.getConditionSupport": {
|
|
31167
31344
|
capName: "osd-manager",
|
|
31168
31345
|
capScope: "system",
|
|
@@ -31259,7 +31436,7 @@ Object.freeze({
|
|
|
31259
31436
|
addonId: null,
|
|
31260
31437
|
access: "create"
|
|
31261
31438
|
},
|
|
31262
|
-
"pipelineAnalytics.
|
|
31439
|
+
"pipelineAnalytics.cancelStorageMigrationMove": {
|
|
31263
31440
|
capName: "pipeline-analytics",
|
|
31264
31441
|
capScope: "device",
|
|
31265
31442
|
addonId: null,
|
|
@@ -31331,12 +31508,6 @@ Object.freeze({
|
|
|
31331
31508
|
addonId: null,
|
|
31332
31509
|
access: "view"
|
|
31333
31510
|
},
|
|
31334
|
-
"pipelineAnalytics.getMediaRelocateStatus": {
|
|
31335
|
-
capName: "pipeline-analytics",
|
|
31336
|
-
capScope: "device",
|
|
31337
|
-
addonId: null,
|
|
31338
|
-
access: "view"
|
|
31339
|
-
},
|
|
31340
31511
|
"pipelineAnalytics.getMotionEvents": {
|
|
31341
31512
|
capName: "pipeline-analytics",
|
|
31342
31513
|
capScope: "device",
|
|
@@ -31373,6 +31544,12 @@ Object.freeze({
|
|
|
31373
31544
|
addonId: null,
|
|
31374
31545
|
access: "view"
|
|
31375
31546
|
},
|
|
31547
|
+
"pipelineAnalytics.getStorageMigrationMoveStatus": {
|
|
31548
|
+
capName: "pipeline-analytics",
|
|
31549
|
+
capScope: "device",
|
|
31550
|
+
addonId: null,
|
|
31551
|
+
access: "view"
|
|
31552
|
+
},
|
|
31376
31553
|
"pipelineAnalytics.getTrack": {
|
|
31377
31554
|
capName: "pipeline-analytics",
|
|
31378
31555
|
capScope: "device",
|
|
@@ -31451,6 +31628,12 @@ Object.freeze({
|
|
|
31451
31628
|
addonId: null,
|
|
31452
31629
|
access: "view"
|
|
31453
31630
|
},
|
|
31631
|
+
"pipelineAnalytics.pauseForStorageMigration": {
|
|
31632
|
+
capName: "pipeline-analytics",
|
|
31633
|
+
capScope: "device",
|
|
31634
|
+
addonId: null,
|
|
31635
|
+
access: "create"
|
|
31636
|
+
},
|
|
31454
31637
|
"pipelineAnalytics.proposeRetrainAnnotations": {
|
|
31455
31638
|
capName: "pipeline-analytics",
|
|
31456
31639
|
capScope: "device",
|
|
@@ -31481,7 +31664,7 @@ Object.freeze({
|
|
|
31481
31664
|
addonId: null,
|
|
31482
31665
|
access: "create"
|
|
31483
31666
|
},
|
|
31484
|
-
"pipelineAnalytics.
|
|
31667
|
+
"pipelineAnalytics.refreshStorageLocationsForMigration": {
|
|
31485
31668
|
capName: "pipeline-analytics",
|
|
31486
31669
|
capScope: "device",
|
|
31487
31670
|
addonId: null,
|
|
@@ -31493,6 +31676,12 @@ Object.freeze({
|
|
|
31493
31676
|
addonId: null,
|
|
31494
31677
|
access: "create"
|
|
31495
31678
|
},
|
|
31679
|
+
"pipelineAnalytics.resumeForStorageMigration": {
|
|
31680
|
+
capName: "pipeline-analytics",
|
|
31681
|
+
capScope: "device",
|
|
31682
|
+
addonId: null,
|
|
31683
|
+
access: "create"
|
|
31684
|
+
},
|
|
31496
31685
|
"pipelineAnalytics.saveRetrainAnnotations": {
|
|
31497
31686
|
capName: "pipeline-analytics",
|
|
31498
31687
|
capScope: "device",
|
|
@@ -31517,6 +31706,12 @@ Object.freeze({
|
|
|
31517
31706
|
addonId: null,
|
|
31518
31707
|
access: "create"
|
|
31519
31708
|
},
|
|
31709
|
+
"pipelineAnalytics.startStorageMigrationMove": {
|
|
31710
|
+
capName: "pipeline-analytics",
|
|
31711
|
+
capScope: "device",
|
|
31712
|
+
addonId: null,
|
|
31713
|
+
access: "create"
|
|
31714
|
+
},
|
|
31520
31715
|
"pipelineAnalytics.wipeAllAnalytics": {
|
|
31521
31716
|
capName: "pipeline-analytics",
|
|
31522
31717
|
capScope: "device",
|
|
@@ -31883,6 +32078,12 @@ Object.freeze({
|
|
|
31883
32078
|
addonId: null,
|
|
31884
32079
|
access: "view"
|
|
31885
32080
|
},
|
|
32081
|
+
"pipelineOrchestrator.pauseForStorageMigration": {
|
|
32082
|
+
capName: "pipeline-orchestrator",
|
|
32083
|
+
capScope: "system",
|
|
32084
|
+
addonId: null,
|
|
32085
|
+
access: "create"
|
|
32086
|
+
},
|
|
31886
32087
|
"pipelineOrchestrator.rebalance": {
|
|
31887
32088
|
capName: "pipeline-orchestrator",
|
|
31888
32089
|
capScope: "system",
|
|
@@ -31907,6 +32108,12 @@ Object.freeze({
|
|
|
31907
32108
|
addonId: null,
|
|
31908
32109
|
access: "view"
|
|
31909
32110
|
},
|
|
32111
|
+
"pipelineOrchestrator.resumeForStorageMigration": {
|
|
32112
|
+
capName: "pipeline-orchestrator",
|
|
32113
|
+
capScope: "system",
|
|
32114
|
+
addonId: null,
|
|
32115
|
+
access: "create"
|
|
32116
|
+
},
|
|
31910
32117
|
"pipelineOrchestrator.saveTemplate": {
|
|
31911
32118
|
capName: "pipeline-orchestrator",
|
|
31912
32119
|
capScope: "system",
|
|
@@ -32303,7 +32510,7 @@ Object.freeze({
|
|
|
32303
32510
|
addonId: null,
|
|
32304
32511
|
access: "create"
|
|
32305
32512
|
},
|
|
32306
|
-
"recording.
|
|
32513
|
+
"recording.cancelStorageMigrationMove": {
|
|
32307
32514
|
capName: "recording",
|
|
32308
32515
|
capScope: "system",
|
|
32309
32516
|
addonId: null,
|
|
@@ -32339,7 +32546,7 @@ Object.freeze({
|
|
|
32339
32546
|
addonId: null,
|
|
32340
32547
|
access: "view"
|
|
32341
32548
|
},
|
|
32342
|
-
"recording.
|
|
32549
|
+
"recording.getStorageMigrationMoveStatus": {
|
|
32343
32550
|
capName: "recording",
|
|
32344
32551
|
capScope: "system",
|
|
32345
32552
|
addonId: null,
|
|
@@ -32363,6 +32570,12 @@ Object.freeze({
|
|
|
32363
32570
|
addonId: null,
|
|
32364
32571
|
access: "view"
|
|
32365
32572
|
},
|
|
32573
|
+
"recording.pauseForStorageMigration": {
|
|
32574
|
+
capName: "recording",
|
|
32575
|
+
capScope: "system",
|
|
32576
|
+
addonId: null,
|
|
32577
|
+
access: "create"
|
|
32578
|
+
},
|
|
32366
32579
|
"recording.pruneFootage": {
|
|
32367
32580
|
capName: "recording",
|
|
32368
32581
|
capScope: "system",
|
|
@@ -32381,7 +32594,7 @@ Object.freeze({
|
|
|
32381
32594
|
addonId: null,
|
|
32382
32595
|
access: "view"
|
|
32383
32596
|
},
|
|
32384
|
-
"recording.
|
|
32597
|
+
"recording.refreshStorageLocationsForMigration": {
|
|
32385
32598
|
capName: "recording",
|
|
32386
32599
|
capScope: "system",
|
|
32387
32600
|
addonId: null,
|
|
@@ -32405,12 +32618,24 @@ Object.freeze({
|
|
|
32405
32618
|
addonId: null,
|
|
32406
32619
|
access: "create"
|
|
32407
32620
|
},
|
|
32621
|
+
"recording.resumeForStorageMigration": {
|
|
32622
|
+
capName: "recording",
|
|
32623
|
+
capScope: "system",
|
|
32624
|
+
addonId: null,
|
|
32625
|
+
access: "create"
|
|
32626
|
+
},
|
|
32408
32627
|
"recording.setDeviceConfig": {
|
|
32409
32628
|
capName: "recording",
|
|
32410
32629
|
capScope: "system",
|
|
32411
32630
|
addonId: null,
|
|
32412
32631
|
access: "create"
|
|
32413
32632
|
},
|
|
32633
|
+
"recording.startStorageMigrationMove": {
|
|
32634
|
+
capName: "recording",
|
|
32635
|
+
capScope: "system",
|
|
32636
|
+
addonId: null,
|
|
32637
|
+
access: "create"
|
|
32638
|
+
},
|
|
32414
32639
|
"recordingExport.cancelExport": {
|
|
32415
32640
|
capName: "recordingExport",
|
|
32416
32641
|
capScope: "system",
|
|
@@ -32801,6 +33026,30 @@ Object.freeze({
|
|
|
32801
33026
|
addonId: null,
|
|
32802
33027
|
access: "view"
|
|
32803
33028
|
},
|
|
33029
|
+
"storageMigration.cancel": {
|
|
33030
|
+
capName: "storage-migration",
|
|
33031
|
+
capScope: "system",
|
|
33032
|
+
addonId: null,
|
|
33033
|
+
access: "create"
|
|
33034
|
+
},
|
|
33035
|
+
"storageMigration.plan": {
|
|
33036
|
+
capName: "storage-migration",
|
|
33037
|
+
capScope: "system",
|
|
33038
|
+
addonId: null,
|
|
33039
|
+
access: "view"
|
|
33040
|
+
},
|
|
33041
|
+
"storageMigration.start": {
|
|
33042
|
+
capName: "storage-migration",
|
|
33043
|
+
capScope: "system",
|
|
33044
|
+
addonId: null,
|
|
33045
|
+
access: "create"
|
|
33046
|
+
},
|
|
33047
|
+
"storageMigration.status": {
|
|
33048
|
+
capName: "storage-migration",
|
|
33049
|
+
capScope: "system",
|
|
33050
|
+
addonId: null,
|
|
33051
|
+
access: "view"
|
|
33052
|
+
},
|
|
32804
33053
|
"storageProvider.abortUpload": {
|
|
32805
33054
|
capName: "storage-provider",
|
|
32806
33055
|
capScope: "system",
|
|
@@ -33179,12 +33428,42 @@ Object.freeze({
|
|
|
33179
33428
|
addonId: null,
|
|
33180
33429
|
access: "create"
|
|
33181
33430
|
},
|
|
33431
|
+
"terminalSession.adoptLegacyMonitor": {
|
|
33432
|
+
capName: "terminal-session",
|
|
33433
|
+
capScope: "system",
|
|
33434
|
+
addonId: null,
|
|
33435
|
+
access: "create"
|
|
33436
|
+
},
|
|
33182
33437
|
"terminalSession.close": {
|
|
33183
33438
|
capName: "terminal-session",
|
|
33184
33439
|
capScope: "system",
|
|
33185
33440
|
addonId: null,
|
|
33186
33441
|
access: "create"
|
|
33187
33442
|
},
|
|
33443
|
+
"terminalSession.createInstance": {
|
|
33444
|
+
capName: "terminal-session",
|
|
33445
|
+
capScope: "system",
|
|
33446
|
+
addonId: null,
|
|
33447
|
+
access: "create"
|
|
33448
|
+
},
|
|
33449
|
+
"terminalSession.deleteInstance": {
|
|
33450
|
+
capName: "terminal-session",
|
|
33451
|
+
capScope: "system",
|
|
33452
|
+
addonId: null,
|
|
33453
|
+
access: "delete"
|
|
33454
|
+
},
|
|
33455
|
+
"terminalSession.listInstances": {
|
|
33456
|
+
capName: "terminal-session",
|
|
33457
|
+
capScope: "system",
|
|
33458
|
+
addonId: null,
|
|
33459
|
+
access: "view"
|
|
33460
|
+
},
|
|
33461
|
+
"terminalSession.listLegacyCameras": {
|
|
33462
|
+
capName: "terminal-session",
|
|
33463
|
+
capScope: "system",
|
|
33464
|
+
addonId: null,
|
|
33465
|
+
access: "view"
|
|
33466
|
+
},
|
|
33188
33467
|
"terminalSession.listProfiles": {
|
|
33189
33468
|
capName: "terminal-session",
|
|
33190
33469
|
capScope: "system",
|
|
@@ -33215,6 +33494,12 @@ Object.freeze({
|
|
|
33215
33494
|
addonId: null,
|
|
33216
33495
|
access: "create"
|
|
33217
33496
|
},
|
|
33497
|
+
"terminalSession.setInstanceEnabled": {
|
|
33498
|
+
capName: "terminal-session",
|
|
33499
|
+
capScope: "system",
|
|
33500
|
+
addonId: null,
|
|
33501
|
+
access: "create"
|
|
33502
|
+
},
|
|
33218
33503
|
"terminalSession.writeInput": {
|
|
33219
33504
|
capName: "terminal-session",
|
|
33220
33505
|
capScope: "system",
|
package/dist/addon.mjs
CHANGED
|
@@ -8549,12 +8549,11 @@ var RecordingConfigSchema = object({
|
|
|
8549
8549
|
/**
|
|
8550
8550
|
* Entity-relocation job state (storage entity-routing spec, Phase 4).
|
|
8551
8551
|
*
|
|
8552
|
-
* One shape shared by the recorder
|
|
8553
|
-
*
|
|
8554
|
-
*
|
|
8555
|
-
*
|
|
8556
|
-
*
|
|
8557
|
-
* row on the owning addon's surface.
|
|
8552
|
+
* One shape shared by the recorder and pipeline-analytics internal movers.
|
|
8553
|
+
* The public admin surface is `storage-migration`; child jobs remain in RAM
|
|
8554
|
+
* because copy-if-absent, verify, delete and index/row repoint are resumable.
|
|
8555
|
+
* Each completed/failed run also lands one durable ops-log row on its owning
|
|
8556
|
+
* addon surface.
|
|
8558
8557
|
*/
|
|
8559
8558
|
var RelocateJobStateSchema = _enum([
|
|
8560
8559
|
"running",
|
|
@@ -8581,19 +8580,100 @@ var RelocateJobSchema = object({
|
|
|
8581
8580
|
finishedAt: number().nullable(),
|
|
8582
8581
|
error: string().nullable()
|
|
8583
8582
|
});
|
|
8583
|
+
/** Profile-derived footage selection used only by the migration coordinator:
|
|
8584
|
+
* `recordings` owns high+mid; `recordingsLow` owns low. */
|
|
8585
|
+
var RelocateFootageClassSchema = _enum(["recordings", "recordingsLow"]);
|
|
8584
8586
|
var RelocateFootageInputSchema = object({
|
|
8585
|
-
deviceId: number().optional(),
|
|
8586
8587
|
fromLocationId: string(),
|
|
8587
8588
|
toLocationId: string(),
|
|
8588
8589
|
entities: array(_enum(["segments"])).optional(),
|
|
8590
|
+
/** Limits relocation to the logical profile class. Omit only for the
|
|
8591
|
+
* pre-orchestration compatibility path. */
|
|
8592
|
+
footageClass: RelocateFootageClassSchema.optional(),
|
|
8589
8593
|
/** Copy throttle in MB/s (default 40) — the drain is a background chore,
|
|
8590
8594
|
* never allowed to starve live writers. */
|
|
8591
8595
|
throttleMbps: number().min(1).max(1e3).optional()
|
|
8592
8596
|
});
|
|
8593
|
-
|
|
8594
|
-
|
|
8597
|
+
/** Internal, lease-scoped participant operation. It is intentionally separate
|
|
8598
|
+
* from persistent recording settings: a migration never changes
|
|
8599
|
+
* `RecordingConfig.enabled` or camera wrapper bindings. */
|
|
8600
|
+
var StorageMigrationLeaseInputSchema = object({ leaseId: string().min(1) });
|
|
8601
|
+
var StorageMigrationFootageMoveInputSchema = RelocateFootageInputSchema.extend({ leaseId: string().min(1) });
|
|
8602
|
+
var StorageMigrationMediaMoveInputSchema = object({
|
|
8595
8603
|
toLocationId: string(),
|
|
8596
8604
|
throttleMbps: number().min(1).max(1e3).optional()
|
|
8605
|
+
}).extend({ leaseId: string().min(1) });
|
|
8606
|
+
/** The independently selectable logical storage classes. `recordings`
|
|
8607
|
+
* encompasses the high and mid segment profiles; `recordingsLow` is low
|
|
8608
|
+
* segments; `eventMedia` is post-analysis blobs. */
|
|
8609
|
+
var StorageMigrationClassSchema = _enum([
|
|
8610
|
+
"recordings",
|
|
8611
|
+
"recordingsLow",
|
|
8612
|
+
"eventMedia"
|
|
8613
|
+
]);
|
|
8614
|
+
/** A destination is always an existing, fully-qualified location id. The
|
|
8615
|
+
* migration API intentionally never changes a source location's `basePath`:
|
|
8616
|
+
* callers create a new `<type>:<slug>` location, then select it here. */
|
|
8617
|
+
var StorageMigrationDestinationsSchema = object({
|
|
8618
|
+
recordings: string().min(1).optional(),
|
|
8619
|
+
recordingsLow: string().min(1).optional(),
|
|
8620
|
+
eventMedia: string().min(1).optional()
|
|
8621
|
+
}).refine((value) => Object.keys(value).length > 0, { message: "select at least one storage class" });
|
|
8622
|
+
/** Shared input for planning and starting an orchestrated storage migration. */
|
|
8623
|
+
var StorageMigrationInputSchema = object({
|
|
8624
|
+
destinations: StorageMigrationDestinationsSchema,
|
|
8625
|
+
throttleMbps: number().min(1).max(1e3).optional()
|
|
8626
|
+
});
|
|
8627
|
+
/** The durable coordinator state machine. The only phase that changes default
|
|
8628
|
+
* locations is `repointing`, after every selected mover has completed and been
|
|
8629
|
+
* verified. */
|
|
8630
|
+
var StorageMigrationPhaseSchema = _enum([
|
|
8631
|
+
"planning",
|
|
8632
|
+
"pausing",
|
|
8633
|
+
"moving",
|
|
8634
|
+
"verifying",
|
|
8635
|
+
"repointing",
|
|
8636
|
+
"refreshing",
|
|
8637
|
+
"resuming",
|
|
8638
|
+
"done",
|
|
8639
|
+
"failed",
|
|
8640
|
+
"cancelled"
|
|
8641
|
+
]);
|
|
8642
|
+
var StorageMigrationParticipantSchema = _enum([
|
|
8643
|
+
"pipeline",
|
|
8644
|
+
"recorder",
|
|
8645
|
+
"analytics"
|
|
8646
|
+
]);
|
|
8647
|
+
var StorageMigrationMoveSchema = object({
|
|
8648
|
+
storageClass: StorageMigrationClassSchema,
|
|
8649
|
+
fromLocationId: string(),
|
|
8650
|
+
toLocationId: string(),
|
|
8651
|
+
moverJobId: string().nullable(),
|
|
8652
|
+
state: RelocateJobStateSchema.nullable(),
|
|
8653
|
+
error: string().nullable()
|
|
8654
|
+
});
|
|
8655
|
+
var StorageMigrationJobSchema = object({
|
|
8656
|
+
jobId: string(),
|
|
8657
|
+
phase: StorageMigrationPhaseSchema,
|
|
8658
|
+
destinations: StorageMigrationDestinationsSchema,
|
|
8659
|
+
throttleMbps: number(),
|
|
8660
|
+
moves: array(StorageMigrationMoveSchema),
|
|
8661
|
+
pauseLeaseId: string().nullable(),
|
|
8662
|
+
pausedParticipants: array(StorageMigrationParticipantSchema),
|
|
8663
|
+
repointed: boolean(),
|
|
8664
|
+
cancelRequested: boolean(),
|
|
8665
|
+
startedAt: number(),
|
|
8666
|
+
updatedAt: number(),
|
|
8667
|
+
finishedAt: number().nullable(),
|
|
8668
|
+
error: string().nullable()
|
|
8669
|
+
});
|
|
8670
|
+
var StorageMigrationPlanSchema = object({
|
|
8671
|
+
destinations: StorageMigrationDestinationsSchema,
|
|
8672
|
+
moves: array(object({
|
|
8673
|
+
storageClass: StorageMigrationClassSchema,
|
|
8674
|
+
fromLocationId: string(),
|
|
8675
|
+
toLocationId: string()
|
|
8676
|
+
}))
|
|
8597
8677
|
});
|
|
8598
8678
|
/**
|
|
8599
8679
|
* `StorageLocationType` — an addon-declared id that identifies the *kind* of
|
|
@@ -17247,13 +17327,19 @@ DeviceType.Camera, method(object({ deviceId: number() }), array(TrackSchema).rea
|
|
|
17247
17327
|
}), method(object({ deviceId: number() }), EventPruneCountsSchema, {
|
|
17248
17328
|
kind: "mutation",
|
|
17249
17329
|
auth: "admin"
|
|
17250
|
-
}), method(
|
|
17330
|
+
}), method(StorageMigrationLeaseInputSchema, object({ paused: literal(true) }), {
|
|
17251
17331
|
kind: "mutation",
|
|
17252
17332
|
auth: "admin"
|
|
17253
|
-
}), method(object({
|
|
17254
|
-
kind: "
|
|
17333
|
+
}), method(StorageMigrationLeaseInputSchema, object({ resumed: literal(true) }), {
|
|
17334
|
+
kind: "mutation",
|
|
17335
|
+
auth: "admin"
|
|
17336
|
+
}), method(StorageMigrationLeaseInputSchema, object({ refreshed: literal(true) }), {
|
|
17337
|
+
kind: "mutation",
|
|
17338
|
+
auth: "admin"
|
|
17339
|
+
}), method(StorageMigrationMediaMoveInputSchema, object({ jobId: string() }), {
|
|
17340
|
+
kind: "mutation",
|
|
17255
17341
|
auth: "admin"
|
|
17256
|
-
}), method(object({ jobId: string() }), object({ cancelled: boolean() }), {
|
|
17342
|
+
}), method(object({ jobId: string() }), RelocateJobSchema.nullable(), { auth: "admin" }), method(object({ jobId: string() }), object({ cancelled: boolean() }), {
|
|
17257
17343
|
kind: "mutation",
|
|
17258
17344
|
auth: "admin"
|
|
17259
17345
|
}), method(OpsLogQueryInputSchema, array(OpsLogEntrySchema).readonly(), {
|
|
@@ -18783,7 +18869,13 @@ var NodeInferenceDevicesSchema = object({
|
|
|
18783
18869
|
reachable: boolean(),
|
|
18784
18870
|
devices: array(NodeInferenceDeviceSchema).readonly()
|
|
18785
18871
|
});
|
|
18786
|
-
method(object({
|
|
18872
|
+
method(StorageMigrationLeaseInputSchema, object({ paused: literal(true) }), {
|
|
18873
|
+
kind: "mutation",
|
|
18874
|
+
auth: "admin"
|
|
18875
|
+
}), method(StorageMigrationLeaseInputSchema, object({ resumed: literal(true) }), {
|
|
18876
|
+
kind: "mutation",
|
|
18877
|
+
auth: "admin"
|
|
18878
|
+
}), method(object({
|
|
18787
18879
|
deviceId: number(),
|
|
18788
18880
|
agentNodeId: string()
|
|
18789
18881
|
}), object({ success: literal(true) }), {
|
|
@@ -19457,6 +19549,13 @@ method(object({ locationId: string() }), EvictableUsageSchema), method(object({
|
|
|
19457
19549
|
locationId: string(),
|
|
19458
19550
|
targetBytes: number().int().positive()
|
|
19459
19551
|
}), EvictResultSchema, { kind: "mutation" });
|
|
19552
|
+
method(StorageMigrationInputSchema, StorageMigrationPlanSchema, { auth: "admin" }), method(StorageMigrationInputSchema, object({ jobId: string() }), {
|
|
19553
|
+
kind: "mutation",
|
|
19554
|
+
auth: "admin"
|
|
19555
|
+
}), method(object({ jobId: string().optional() }), StorageMigrationJobSchema.nullable(), { auth: "admin" }), method(object({ jobId: string() }), object({ cancelled: boolean() }), {
|
|
19556
|
+
kind: "mutation",
|
|
19557
|
+
auth: "admin"
|
|
19558
|
+
});
|
|
19460
19559
|
var ProviderInfoSchema = discriminatedUnion("shouldSaveDiskSpace", [object({
|
|
19461
19560
|
providerId: string().min(1),
|
|
19462
19561
|
displayName: string().min(1),
|
|
@@ -19560,6 +19659,28 @@ var TerminalProfileInfoSchema = object({
|
|
|
19560
19659
|
label: string(),
|
|
19561
19660
|
description: string().optional()
|
|
19562
19661
|
});
|
|
19662
|
+
/**
|
|
19663
|
+
* A durable operator-created Terminal instance. Profiles are templates; only
|
|
19664
|
+
* an instance declares a camera.
|
|
19665
|
+
*/
|
|
19666
|
+
var TerminalInstanceInfoSchema = object({
|
|
19667
|
+
instanceId: string(),
|
|
19668
|
+
cameraStableId: string(),
|
|
19669
|
+
nodeId: string(),
|
|
19670
|
+
profileId: string(),
|
|
19671
|
+
profileLabel: string(),
|
|
19672
|
+
name: string(),
|
|
19673
|
+
enabled: boolean()
|
|
19674
|
+
});
|
|
19675
|
+
var TerminalLegacyCameraSchema = object({
|
|
19676
|
+
stableId: string(),
|
|
19677
|
+
nodeId: string(),
|
|
19678
|
+
profileId: string(),
|
|
19679
|
+
profileLabel: string(),
|
|
19680
|
+
name: string(),
|
|
19681
|
+
/** Only legacy monitor cameras can retain their historic stable identity. */
|
|
19682
|
+
adoptable: boolean()
|
|
19683
|
+
});
|
|
19563
19684
|
var TerminalOutputEventSchema = discriminatedUnion("kind", [object({
|
|
19564
19685
|
seq: number().int().positive(),
|
|
19565
19686
|
kind: literal("data"),
|
|
@@ -19576,7 +19697,29 @@ var TerminalOutputBatchSchema = object({
|
|
|
19576
19697
|
snapshot: string().optional(),
|
|
19577
19698
|
events: array(TerminalOutputEventSchema).readonly()
|
|
19578
19699
|
});
|
|
19579
|
-
method(_void(), array(TerminalProfileInfoSchema).readonly(), { auth: "admin" }), method(_void(), array(
|
|
19700
|
+
method(_void(), array(TerminalProfileInfoSchema).readonly(), { auth: "admin" }), method(_void(), array(TerminalInstanceInfoSchema).readonly(), { auth: "admin" }), method(object({
|
|
19701
|
+
targetNodeId: string().min(1),
|
|
19702
|
+
profileId: string().min(1),
|
|
19703
|
+
name: string().trim().min(1).max(160).optional()
|
|
19704
|
+
}), TerminalInstanceInfoSchema, {
|
|
19705
|
+
kind: "mutation",
|
|
19706
|
+
auth: "admin"
|
|
19707
|
+
}), method(object({ instanceId: string().min(1) }), _void(), {
|
|
19708
|
+
kind: "mutation",
|
|
19709
|
+
auth: "admin"
|
|
19710
|
+
}), method(object({
|
|
19711
|
+
instanceId: string().min(1),
|
|
19712
|
+
enabled: boolean()
|
|
19713
|
+
}), TerminalInstanceInfoSchema, {
|
|
19714
|
+
kind: "mutation",
|
|
19715
|
+
auth: "admin"
|
|
19716
|
+
}), method(_void(), array(TerminalLegacyCameraSchema).readonly(), { auth: "admin" }), method(object({
|
|
19717
|
+
stableId: string().min(1),
|
|
19718
|
+
name: string().trim().min(1).max(160).optional()
|
|
19719
|
+
}), TerminalInstanceInfoSchema, {
|
|
19720
|
+
kind: "mutation",
|
|
19721
|
+
auth: "admin"
|
|
19722
|
+
}), method(_void(), array(TerminalSessionInfoSchema).readonly(), { auth: "admin" }), method(object({
|
|
19580
19723
|
profileId: string(),
|
|
19581
19724
|
cols: number().int().positive(),
|
|
19582
19725
|
rows: number().int().positive()
|
|
@@ -19593,7 +19736,13 @@ method(_void(), array(TerminalProfileInfoSchema).readonly(), { auth: "admin" }),
|
|
|
19593
19736
|
}), method(object({
|
|
19594
19737
|
sessionId: string(),
|
|
19595
19738
|
afterSeq: number().int().nonnegative(),
|
|
19596
|
-
waitMs: number().int().min(0).max(2e3).default(0)
|
|
19739
|
+
waitMs: number().int().min(0).max(2e3).default(0),
|
|
19740
|
+
/**
|
|
19741
|
+
* Wait when a just-opened session has no output yet. Kept opt-in so a
|
|
19742
|
+
* browser's initial repaint remains immediate; the camera snapshot
|
|
19743
|
+
* relay uses it to avoid encoding a blank startup frame.
|
|
19744
|
+
*/
|
|
19745
|
+
waitForOutput: boolean().optional()
|
|
19597
19746
|
}), TerminalOutputBatchSchema, {
|
|
19598
19747
|
kind: "mutation",
|
|
19599
19748
|
auth: "admin",
|
|
@@ -22091,6 +22240,7 @@ var FaceInfoSchema = object({
|
|
|
22091
22240
|
var FaceFilterEnum = _enum([
|
|
22092
22241
|
"unassigned",
|
|
22093
22242
|
"recognized",
|
|
22243
|
+
"identified",
|
|
22094
22244
|
"all"
|
|
22095
22245
|
]);
|
|
22096
22246
|
var MediaFileLiteSchema$1 = object({
|
|
@@ -22119,6 +22269,8 @@ method(_void(), array(IdentitySchema).readonly()), method(object({ name: string(
|
|
|
22119
22269
|
kind: "mutation",
|
|
22120
22270
|
auth: "admin"
|
|
22121
22271
|
}), method(object({
|
|
22272
|
+
/** Restrict to one camera. Absent keeps the cluster-wide gallery view. */
|
|
22273
|
+
deviceId: number().int().optional(),
|
|
22122
22274
|
limit: number().int().positive().optional(),
|
|
22123
22275
|
filter: FaceFilterEnum.optional(),
|
|
22124
22276
|
/**
|
|
@@ -24348,6 +24500,10 @@ var OsdSourceSchema = discriminatedUnion("kind", [
|
|
|
24348
24500
|
capName: string().min(1).max(64),
|
|
24349
24501
|
/** Dot path inside the slice, e.g. `detected`, `value`, `mode`. */
|
|
24350
24502
|
valuePath: string().min(1).max(64)
|
|
24503
|
+
}),
|
|
24504
|
+
object({
|
|
24505
|
+
kind: literal("latest-recognition"),
|
|
24506
|
+
recognition: _enum(["person", "plate"])
|
|
24351
24507
|
})
|
|
24352
24508
|
]);
|
|
24353
24509
|
var OsdSlotBindingSchema = object({
|
|
@@ -24453,6 +24609,15 @@ method(object({ deviceId: number().int() }), object({
|
|
|
24453
24609
|
}), object({ success: literal(true) }), {
|
|
24454
24610
|
kind: "mutation",
|
|
24455
24611
|
auth: "admin"
|
|
24612
|
+
}), method(object({
|
|
24613
|
+
sourceDeviceId: number().int(),
|
|
24614
|
+
targetDeviceId: number().int()
|
|
24615
|
+
}), object({
|
|
24616
|
+
copied: number().int().nonnegative(),
|
|
24617
|
+
skipped: number().int().nonnegative()
|
|
24618
|
+
}), {
|
|
24619
|
+
kind: "mutation",
|
|
24620
|
+
auth: "admin"
|
|
24456
24621
|
}), method(object({
|
|
24457
24622
|
deviceId: number().int(),
|
|
24458
24623
|
slotId: string().min(1),
|
|
@@ -25550,13 +25715,19 @@ method(object({
|
|
|
25550
25715
|
}), {
|
|
25551
25716
|
kind: "mutation",
|
|
25552
25717
|
auth: "admin"
|
|
25553
|
-
}), method(
|
|
25718
|
+
}), method(StorageMigrationLeaseInputSchema, object({ paused: literal(true) }), {
|
|
25554
25719
|
kind: "mutation",
|
|
25555
25720
|
auth: "admin"
|
|
25556
|
-
}), method(object({
|
|
25557
|
-
kind: "
|
|
25721
|
+
}), method(StorageMigrationLeaseInputSchema, object({ resumed: literal(true) }), {
|
|
25722
|
+
kind: "mutation",
|
|
25558
25723
|
auth: "admin"
|
|
25559
|
-
}), method(
|
|
25724
|
+
}), method(StorageMigrationLeaseInputSchema, object({ refreshed: literal(true) }), {
|
|
25725
|
+
kind: "mutation",
|
|
25726
|
+
auth: "admin"
|
|
25727
|
+
}), method(StorageMigrationFootageMoveInputSchema, object({ jobId: string() }), {
|
|
25728
|
+
kind: "mutation",
|
|
25729
|
+
auth: "admin"
|
|
25730
|
+
}), method(object({ jobId: string() }), RelocateJobSchema.nullable(), { auth: "admin" }), method(object({ jobId: string() }), object({ cancelled: boolean() }), {
|
|
25560
25731
|
kind: "mutation",
|
|
25561
25732
|
auth: "admin"
|
|
25562
25733
|
});
|
|
@@ -31162,6 +31333,12 @@ Object.freeze({
|
|
|
31162
31333
|
addonId: null,
|
|
31163
31334
|
access: "delete"
|
|
31164
31335
|
},
|
|
31336
|
+
"osdManager.copyDeviceConfiguration": {
|
|
31337
|
+
capName: "osd-manager",
|
|
31338
|
+
capScope: "system",
|
|
31339
|
+
addonId: null,
|
|
31340
|
+
access: "create"
|
|
31341
|
+
},
|
|
31165
31342
|
"osdManager.getConditionSupport": {
|
|
31166
31343
|
capName: "osd-manager",
|
|
31167
31344
|
capScope: "system",
|
|
@@ -31258,7 +31435,7 @@ Object.freeze({
|
|
|
31258
31435
|
addonId: null,
|
|
31259
31436
|
access: "create"
|
|
31260
31437
|
},
|
|
31261
|
-
"pipelineAnalytics.
|
|
31438
|
+
"pipelineAnalytics.cancelStorageMigrationMove": {
|
|
31262
31439
|
capName: "pipeline-analytics",
|
|
31263
31440
|
capScope: "device",
|
|
31264
31441
|
addonId: null,
|
|
@@ -31330,12 +31507,6 @@ Object.freeze({
|
|
|
31330
31507
|
addonId: null,
|
|
31331
31508
|
access: "view"
|
|
31332
31509
|
},
|
|
31333
|
-
"pipelineAnalytics.getMediaRelocateStatus": {
|
|
31334
|
-
capName: "pipeline-analytics",
|
|
31335
|
-
capScope: "device",
|
|
31336
|
-
addonId: null,
|
|
31337
|
-
access: "view"
|
|
31338
|
-
},
|
|
31339
31510
|
"pipelineAnalytics.getMotionEvents": {
|
|
31340
31511
|
capName: "pipeline-analytics",
|
|
31341
31512
|
capScope: "device",
|
|
@@ -31372,6 +31543,12 @@ Object.freeze({
|
|
|
31372
31543
|
addonId: null,
|
|
31373
31544
|
access: "view"
|
|
31374
31545
|
},
|
|
31546
|
+
"pipelineAnalytics.getStorageMigrationMoveStatus": {
|
|
31547
|
+
capName: "pipeline-analytics",
|
|
31548
|
+
capScope: "device",
|
|
31549
|
+
addonId: null,
|
|
31550
|
+
access: "view"
|
|
31551
|
+
},
|
|
31375
31552
|
"pipelineAnalytics.getTrack": {
|
|
31376
31553
|
capName: "pipeline-analytics",
|
|
31377
31554
|
capScope: "device",
|
|
@@ -31450,6 +31627,12 @@ Object.freeze({
|
|
|
31450
31627
|
addonId: null,
|
|
31451
31628
|
access: "view"
|
|
31452
31629
|
},
|
|
31630
|
+
"pipelineAnalytics.pauseForStorageMigration": {
|
|
31631
|
+
capName: "pipeline-analytics",
|
|
31632
|
+
capScope: "device",
|
|
31633
|
+
addonId: null,
|
|
31634
|
+
access: "create"
|
|
31635
|
+
},
|
|
31453
31636
|
"pipelineAnalytics.proposeRetrainAnnotations": {
|
|
31454
31637
|
capName: "pipeline-analytics",
|
|
31455
31638
|
capScope: "device",
|
|
@@ -31480,7 +31663,7 @@ Object.freeze({
|
|
|
31480
31663
|
addonId: null,
|
|
31481
31664
|
access: "create"
|
|
31482
31665
|
},
|
|
31483
|
-
"pipelineAnalytics.
|
|
31666
|
+
"pipelineAnalytics.refreshStorageLocationsForMigration": {
|
|
31484
31667
|
capName: "pipeline-analytics",
|
|
31485
31668
|
capScope: "device",
|
|
31486
31669
|
addonId: null,
|
|
@@ -31492,6 +31675,12 @@ Object.freeze({
|
|
|
31492
31675
|
addonId: null,
|
|
31493
31676
|
access: "create"
|
|
31494
31677
|
},
|
|
31678
|
+
"pipelineAnalytics.resumeForStorageMigration": {
|
|
31679
|
+
capName: "pipeline-analytics",
|
|
31680
|
+
capScope: "device",
|
|
31681
|
+
addonId: null,
|
|
31682
|
+
access: "create"
|
|
31683
|
+
},
|
|
31495
31684
|
"pipelineAnalytics.saveRetrainAnnotations": {
|
|
31496
31685
|
capName: "pipeline-analytics",
|
|
31497
31686
|
capScope: "device",
|
|
@@ -31516,6 +31705,12 @@ Object.freeze({
|
|
|
31516
31705
|
addonId: null,
|
|
31517
31706
|
access: "create"
|
|
31518
31707
|
},
|
|
31708
|
+
"pipelineAnalytics.startStorageMigrationMove": {
|
|
31709
|
+
capName: "pipeline-analytics",
|
|
31710
|
+
capScope: "device",
|
|
31711
|
+
addonId: null,
|
|
31712
|
+
access: "create"
|
|
31713
|
+
},
|
|
31519
31714
|
"pipelineAnalytics.wipeAllAnalytics": {
|
|
31520
31715
|
capName: "pipeline-analytics",
|
|
31521
31716
|
capScope: "device",
|
|
@@ -31882,6 +32077,12 @@ Object.freeze({
|
|
|
31882
32077
|
addonId: null,
|
|
31883
32078
|
access: "view"
|
|
31884
32079
|
},
|
|
32080
|
+
"pipelineOrchestrator.pauseForStorageMigration": {
|
|
32081
|
+
capName: "pipeline-orchestrator",
|
|
32082
|
+
capScope: "system",
|
|
32083
|
+
addonId: null,
|
|
32084
|
+
access: "create"
|
|
32085
|
+
},
|
|
31885
32086
|
"pipelineOrchestrator.rebalance": {
|
|
31886
32087
|
capName: "pipeline-orchestrator",
|
|
31887
32088
|
capScope: "system",
|
|
@@ -31906,6 +32107,12 @@ Object.freeze({
|
|
|
31906
32107
|
addonId: null,
|
|
31907
32108
|
access: "view"
|
|
31908
32109
|
},
|
|
32110
|
+
"pipelineOrchestrator.resumeForStorageMigration": {
|
|
32111
|
+
capName: "pipeline-orchestrator",
|
|
32112
|
+
capScope: "system",
|
|
32113
|
+
addonId: null,
|
|
32114
|
+
access: "create"
|
|
32115
|
+
},
|
|
31909
32116
|
"pipelineOrchestrator.saveTemplate": {
|
|
31910
32117
|
capName: "pipeline-orchestrator",
|
|
31911
32118
|
capScope: "system",
|
|
@@ -32302,7 +32509,7 @@ Object.freeze({
|
|
|
32302
32509
|
addonId: null,
|
|
32303
32510
|
access: "create"
|
|
32304
32511
|
},
|
|
32305
|
-
"recording.
|
|
32512
|
+
"recording.cancelStorageMigrationMove": {
|
|
32306
32513
|
capName: "recording",
|
|
32307
32514
|
capScope: "system",
|
|
32308
32515
|
addonId: null,
|
|
@@ -32338,7 +32545,7 @@ Object.freeze({
|
|
|
32338
32545
|
addonId: null,
|
|
32339
32546
|
access: "view"
|
|
32340
32547
|
},
|
|
32341
|
-
"recording.
|
|
32548
|
+
"recording.getStorageMigrationMoveStatus": {
|
|
32342
32549
|
capName: "recording",
|
|
32343
32550
|
capScope: "system",
|
|
32344
32551
|
addonId: null,
|
|
@@ -32362,6 +32569,12 @@ Object.freeze({
|
|
|
32362
32569
|
addonId: null,
|
|
32363
32570
|
access: "view"
|
|
32364
32571
|
},
|
|
32572
|
+
"recording.pauseForStorageMigration": {
|
|
32573
|
+
capName: "recording",
|
|
32574
|
+
capScope: "system",
|
|
32575
|
+
addonId: null,
|
|
32576
|
+
access: "create"
|
|
32577
|
+
},
|
|
32365
32578
|
"recording.pruneFootage": {
|
|
32366
32579
|
capName: "recording",
|
|
32367
32580
|
capScope: "system",
|
|
@@ -32380,7 +32593,7 @@ Object.freeze({
|
|
|
32380
32593
|
addonId: null,
|
|
32381
32594
|
access: "view"
|
|
32382
32595
|
},
|
|
32383
|
-
"recording.
|
|
32596
|
+
"recording.refreshStorageLocationsForMigration": {
|
|
32384
32597
|
capName: "recording",
|
|
32385
32598
|
capScope: "system",
|
|
32386
32599
|
addonId: null,
|
|
@@ -32404,12 +32617,24 @@ Object.freeze({
|
|
|
32404
32617
|
addonId: null,
|
|
32405
32618
|
access: "create"
|
|
32406
32619
|
},
|
|
32620
|
+
"recording.resumeForStorageMigration": {
|
|
32621
|
+
capName: "recording",
|
|
32622
|
+
capScope: "system",
|
|
32623
|
+
addonId: null,
|
|
32624
|
+
access: "create"
|
|
32625
|
+
},
|
|
32407
32626
|
"recording.setDeviceConfig": {
|
|
32408
32627
|
capName: "recording",
|
|
32409
32628
|
capScope: "system",
|
|
32410
32629
|
addonId: null,
|
|
32411
32630
|
access: "create"
|
|
32412
32631
|
},
|
|
32632
|
+
"recording.startStorageMigrationMove": {
|
|
32633
|
+
capName: "recording",
|
|
32634
|
+
capScope: "system",
|
|
32635
|
+
addonId: null,
|
|
32636
|
+
access: "create"
|
|
32637
|
+
},
|
|
32413
32638
|
"recordingExport.cancelExport": {
|
|
32414
32639
|
capName: "recordingExport",
|
|
32415
32640
|
capScope: "system",
|
|
@@ -32800,6 +33025,30 @@ Object.freeze({
|
|
|
32800
33025
|
addonId: null,
|
|
32801
33026
|
access: "view"
|
|
32802
33027
|
},
|
|
33028
|
+
"storageMigration.cancel": {
|
|
33029
|
+
capName: "storage-migration",
|
|
33030
|
+
capScope: "system",
|
|
33031
|
+
addonId: null,
|
|
33032
|
+
access: "create"
|
|
33033
|
+
},
|
|
33034
|
+
"storageMigration.plan": {
|
|
33035
|
+
capName: "storage-migration",
|
|
33036
|
+
capScope: "system",
|
|
33037
|
+
addonId: null,
|
|
33038
|
+
access: "view"
|
|
33039
|
+
},
|
|
33040
|
+
"storageMigration.start": {
|
|
33041
|
+
capName: "storage-migration",
|
|
33042
|
+
capScope: "system",
|
|
33043
|
+
addonId: null,
|
|
33044
|
+
access: "create"
|
|
33045
|
+
},
|
|
33046
|
+
"storageMigration.status": {
|
|
33047
|
+
capName: "storage-migration",
|
|
33048
|
+
capScope: "system",
|
|
33049
|
+
addonId: null,
|
|
33050
|
+
access: "view"
|
|
33051
|
+
},
|
|
32803
33052
|
"storageProvider.abortUpload": {
|
|
32804
33053
|
capName: "storage-provider",
|
|
32805
33054
|
capScope: "system",
|
|
@@ -33178,12 +33427,42 @@ Object.freeze({
|
|
|
33178
33427
|
addonId: null,
|
|
33179
33428
|
access: "create"
|
|
33180
33429
|
},
|
|
33430
|
+
"terminalSession.adoptLegacyMonitor": {
|
|
33431
|
+
capName: "terminal-session",
|
|
33432
|
+
capScope: "system",
|
|
33433
|
+
addonId: null,
|
|
33434
|
+
access: "create"
|
|
33435
|
+
},
|
|
33181
33436
|
"terminalSession.close": {
|
|
33182
33437
|
capName: "terminal-session",
|
|
33183
33438
|
capScope: "system",
|
|
33184
33439
|
addonId: null,
|
|
33185
33440
|
access: "create"
|
|
33186
33441
|
},
|
|
33442
|
+
"terminalSession.createInstance": {
|
|
33443
|
+
capName: "terminal-session",
|
|
33444
|
+
capScope: "system",
|
|
33445
|
+
addonId: null,
|
|
33446
|
+
access: "create"
|
|
33447
|
+
},
|
|
33448
|
+
"terminalSession.deleteInstance": {
|
|
33449
|
+
capName: "terminal-session",
|
|
33450
|
+
capScope: "system",
|
|
33451
|
+
addonId: null,
|
|
33452
|
+
access: "delete"
|
|
33453
|
+
},
|
|
33454
|
+
"terminalSession.listInstances": {
|
|
33455
|
+
capName: "terminal-session",
|
|
33456
|
+
capScope: "system",
|
|
33457
|
+
addonId: null,
|
|
33458
|
+
access: "view"
|
|
33459
|
+
},
|
|
33460
|
+
"terminalSession.listLegacyCameras": {
|
|
33461
|
+
capName: "terminal-session",
|
|
33462
|
+
capScope: "system",
|
|
33463
|
+
addonId: null,
|
|
33464
|
+
access: "view"
|
|
33465
|
+
},
|
|
33187
33466
|
"terminalSession.listProfiles": {
|
|
33188
33467
|
capName: "terminal-session",
|
|
33189
33468
|
capScope: "system",
|
|
@@ -33214,6 +33493,12 @@ Object.freeze({
|
|
|
33214
33493
|
addonId: null,
|
|
33215
33494
|
access: "create"
|
|
33216
33495
|
},
|
|
33496
|
+
"terminalSession.setInstanceEnabled": {
|
|
33497
|
+
capName: "terminal-session",
|
|
33498
|
+
capScope: "system",
|
|
33499
|
+
addonId: null,
|
|
33500
|
+
access: "create"
|
|
33501
|
+
},
|
|
33217
33502
|
"terminalSession.writeInput": {
|
|
33218
33503
|
capName: "terminal-session",
|
|
33219
33504
|
capScope: "system",
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@camstack/addon-provider-rademacher",
|
|
3
|
-
"version": "0.2.
|
|
3
|
+
"version": "0.2.12",
|
|
4
4
|
"description": "Rademacher HomePilot device-provider addon for CamStack — wraps the @apocaliss92/noderademacher local-hub client (roller shutters over the cover cap)",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"camstack",
|