@camstack/addon-provider-rademacher 0.2.10 → 0.2.12
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/addon.js +357 -30
- package/dist/addon.mjs +357 -30
- package/package.json +1 -1
package/dist/addon.js
CHANGED
|
@@ -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",
|
|
17256
17336
|
auth: "admin"
|
|
17257
|
-
}), method(
|
|
17337
|
+
}), method(StorageMigrationLeaseInputSchema, object({ refreshed: literal(true) }), {
|
|
17338
|
+
kind: "mutation",
|
|
17339
|
+
auth: "admin"
|
|
17340
|
+
}), method(StorageMigrationMediaMoveInputSchema, object({ jobId: string() }), {
|
|
17341
|
+
kind: "mutation",
|
|
17342
|
+
auth: "admin"
|
|
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,7 +19660,67 @@ var TerminalProfileInfoSchema = object({
|
|
|
19561
19660
|
label: string(),
|
|
19562
19661
|
description: string().optional()
|
|
19563
19662
|
});
|
|
19564
|
-
|
|
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
|
+
});
|
|
19685
|
+
var TerminalOutputEventSchema = discriminatedUnion("kind", [object({
|
|
19686
|
+
seq: number().int().positive(),
|
|
19687
|
+
kind: literal("data"),
|
|
19688
|
+
data: string()
|
|
19689
|
+
}), object({
|
|
19690
|
+
seq: number().int().positive(),
|
|
19691
|
+
kind: literal("exit"),
|
|
19692
|
+
exitCode: number().int(),
|
|
19693
|
+
signal: number().int().optional()
|
|
19694
|
+
})]);
|
|
19695
|
+
var TerminalOutputBatchSchema = object({
|
|
19696
|
+
cursor: number().int().nonnegative(),
|
|
19697
|
+
reset: boolean(),
|
|
19698
|
+
snapshot: string().optional(),
|
|
19699
|
+
events: array(TerminalOutputEventSchema).readonly()
|
|
19700
|
+
});
|
|
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({
|
|
19565
19724
|
profileId: string(),
|
|
19566
19725
|
cols: number().int().positive(),
|
|
19567
19726
|
rows: number().int().positive()
|
|
@@ -19575,6 +19734,26 @@ method(_void(), array(TerminalProfileInfoSchema).readonly(), { auth: "admin" }),
|
|
|
19575
19734
|
}), _void(), {
|
|
19576
19735
|
kind: "mutation",
|
|
19577
19736
|
auth: "admin"
|
|
19737
|
+
}), method(object({
|
|
19738
|
+
sessionId: string(),
|
|
19739
|
+
afterSeq: number().int().nonnegative(),
|
|
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()
|
|
19747
|
+
}), TerminalOutputBatchSchema, {
|
|
19748
|
+
kind: "mutation",
|
|
19749
|
+
auth: "admin",
|
|
19750
|
+
timeoutMs: 15e3
|
|
19751
|
+
}), method(object({
|
|
19752
|
+
sessionId: string(),
|
|
19753
|
+
data: string().max(64 * 1024)
|
|
19754
|
+
}), _void(), {
|
|
19755
|
+
kind: "mutation",
|
|
19756
|
+
auth: "admin"
|
|
19578
19757
|
}), method(object({ sessionId: string() }), _void(), {
|
|
19579
19758
|
kind: "mutation",
|
|
19580
19759
|
auth: "admin"
|
|
@@ -22062,6 +22241,7 @@ var FaceInfoSchema = object({
|
|
|
22062
22241
|
var FaceFilterEnum = _enum([
|
|
22063
22242
|
"unassigned",
|
|
22064
22243
|
"recognized",
|
|
22244
|
+
"identified",
|
|
22065
22245
|
"all"
|
|
22066
22246
|
]);
|
|
22067
22247
|
var MediaFileLiteSchema$1 = object({
|
|
@@ -22090,6 +22270,8 @@ method(_void(), array(IdentitySchema).readonly()), method(object({ name: string(
|
|
|
22090
22270
|
kind: "mutation",
|
|
22091
22271
|
auth: "admin"
|
|
22092
22272
|
}), method(object({
|
|
22273
|
+
/** Restrict to one camera. Absent keeps the cluster-wide gallery view. */
|
|
22274
|
+
deviceId: number().int().optional(),
|
|
22093
22275
|
limit: number().int().positive().optional(),
|
|
22094
22276
|
filter: FaceFilterEnum.optional(),
|
|
22095
22277
|
/**
|
|
@@ -24319,6 +24501,10 @@ var OsdSourceSchema = discriminatedUnion("kind", [
|
|
|
24319
24501
|
capName: string().min(1).max(64),
|
|
24320
24502
|
/** Dot path inside the slice, e.g. `detected`, `value`, `mode`. */
|
|
24321
24503
|
valuePath: string().min(1).max(64)
|
|
24504
|
+
}),
|
|
24505
|
+
object({
|
|
24506
|
+
kind: literal("latest-recognition"),
|
|
24507
|
+
recognition: _enum(["person", "plate"])
|
|
24322
24508
|
})
|
|
24323
24509
|
]);
|
|
24324
24510
|
var OsdSlotBindingSchema = object({
|
|
@@ -24424,6 +24610,15 @@ method(object({ deviceId: number().int() }), object({
|
|
|
24424
24610
|
}), object({ success: literal(true) }), {
|
|
24425
24611
|
kind: "mutation",
|
|
24426
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"
|
|
24427
24622
|
}), method(object({
|
|
24428
24623
|
deviceId: number().int(),
|
|
24429
24624
|
slotId: string().min(1),
|
|
@@ -25521,13 +25716,19 @@ method(object({
|
|
|
25521
25716
|
}), {
|
|
25522
25717
|
kind: "mutation",
|
|
25523
25718
|
auth: "admin"
|
|
25524
|
-
}), method(
|
|
25719
|
+
}), method(StorageMigrationLeaseInputSchema, object({ paused: literal(true) }), {
|
|
25525
25720
|
kind: "mutation",
|
|
25526
25721
|
auth: "admin"
|
|
25527
|
-
}), method(object({
|
|
25528
|
-
kind: "
|
|
25722
|
+
}), method(StorageMigrationLeaseInputSchema, object({ resumed: literal(true) }), {
|
|
25723
|
+
kind: "mutation",
|
|
25529
25724
|
auth: "admin"
|
|
25530
|
-
}), 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() }), {
|
|
25531
25732
|
kind: "mutation",
|
|
25532
25733
|
auth: "admin"
|
|
25533
25734
|
});
|
|
@@ -31133,6 +31334,12 @@ Object.freeze({
|
|
|
31133
31334
|
addonId: null,
|
|
31134
31335
|
access: "delete"
|
|
31135
31336
|
},
|
|
31337
|
+
"osdManager.copyDeviceConfiguration": {
|
|
31338
|
+
capName: "osd-manager",
|
|
31339
|
+
capScope: "system",
|
|
31340
|
+
addonId: null,
|
|
31341
|
+
access: "create"
|
|
31342
|
+
},
|
|
31136
31343
|
"osdManager.getConditionSupport": {
|
|
31137
31344
|
capName: "osd-manager",
|
|
31138
31345
|
capScope: "system",
|
|
@@ -31229,7 +31436,7 @@ Object.freeze({
|
|
|
31229
31436
|
addonId: null,
|
|
31230
31437
|
access: "create"
|
|
31231
31438
|
},
|
|
31232
|
-
"pipelineAnalytics.
|
|
31439
|
+
"pipelineAnalytics.cancelStorageMigrationMove": {
|
|
31233
31440
|
capName: "pipeline-analytics",
|
|
31234
31441
|
capScope: "device",
|
|
31235
31442
|
addonId: null,
|
|
@@ -31301,12 +31508,6 @@ Object.freeze({
|
|
|
31301
31508
|
addonId: null,
|
|
31302
31509
|
access: "view"
|
|
31303
31510
|
},
|
|
31304
|
-
"pipelineAnalytics.getMediaRelocateStatus": {
|
|
31305
|
-
capName: "pipeline-analytics",
|
|
31306
|
-
capScope: "device",
|
|
31307
|
-
addonId: null,
|
|
31308
|
-
access: "view"
|
|
31309
|
-
},
|
|
31310
31511
|
"pipelineAnalytics.getMotionEvents": {
|
|
31311
31512
|
capName: "pipeline-analytics",
|
|
31312
31513
|
capScope: "device",
|
|
@@ -31343,6 +31544,12 @@ Object.freeze({
|
|
|
31343
31544
|
addonId: null,
|
|
31344
31545
|
access: "view"
|
|
31345
31546
|
},
|
|
31547
|
+
"pipelineAnalytics.getStorageMigrationMoveStatus": {
|
|
31548
|
+
capName: "pipeline-analytics",
|
|
31549
|
+
capScope: "device",
|
|
31550
|
+
addonId: null,
|
|
31551
|
+
access: "view"
|
|
31552
|
+
},
|
|
31346
31553
|
"pipelineAnalytics.getTrack": {
|
|
31347
31554
|
capName: "pipeline-analytics",
|
|
31348
31555
|
capScope: "device",
|
|
@@ -31421,6 +31628,12 @@ Object.freeze({
|
|
|
31421
31628
|
addonId: null,
|
|
31422
31629
|
access: "view"
|
|
31423
31630
|
},
|
|
31631
|
+
"pipelineAnalytics.pauseForStorageMigration": {
|
|
31632
|
+
capName: "pipeline-analytics",
|
|
31633
|
+
capScope: "device",
|
|
31634
|
+
addonId: null,
|
|
31635
|
+
access: "create"
|
|
31636
|
+
},
|
|
31424
31637
|
"pipelineAnalytics.proposeRetrainAnnotations": {
|
|
31425
31638
|
capName: "pipeline-analytics",
|
|
31426
31639
|
capScope: "device",
|
|
@@ -31451,7 +31664,7 @@ Object.freeze({
|
|
|
31451
31664
|
addonId: null,
|
|
31452
31665
|
access: "create"
|
|
31453
31666
|
},
|
|
31454
|
-
"pipelineAnalytics.
|
|
31667
|
+
"pipelineAnalytics.refreshStorageLocationsForMigration": {
|
|
31455
31668
|
capName: "pipeline-analytics",
|
|
31456
31669
|
capScope: "device",
|
|
31457
31670
|
addonId: null,
|
|
@@ -31463,6 +31676,12 @@ Object.freeze({
|
|
|
31463
31676
|
addonId: null,
|
|
31464
31677
|
access: "create"
|
|
31465
31678
|
},
|
|
31679
|
+
"pipelineAnalytics.resumeForStorageMigration": {
|
|
31680
|
+
capName: "pipeline-analytics",
|
|
31681
|
+
capScope: "device",
|
|
31682
|
+
addonId: null,
|
|
31683
|
+
access: "create"
|
|
31684
|
+
},
|
|
31466
31685
|
"pipelineAnalytics.saveRetrainAnnotations": {
|
|
31467
31686
|
capName: "pipeline-analytics",
|
|
31468
31687
|
capScope: "device",
|
|
@@ -31487,6 +31706,12 @@ Object.freeze({
|
|
|
31487
31706
|
addonId: null,
|
|
31488
31707
|
access: "create"
|
|
31489
31708
|
},
|
|
31709
|
+
"pipelineAnalytics.startStorageMigrationMove": {
|
|
31710
|
+
capName: "pipeline-analytics",
|
|
31711
|
+
capScope: "device",
|
|
31712
|
+
addonId: null,
|
|
31713
|
+
access: "create"
|
|
31714
|
+
},
|
|
31490
31715
|
"pipelineAnalytics.wipeAllAnalytics": {
|
|
31491
31716
|
capName: "pipeline-analytics",
|
|
31492
31717
|
capScope: "device",
|
|
@@ -31853,6 +32078,12 @@ Object.freeze({
|
|
|
31853
32078
|
addonId: null,
|
|
31854
32079
|
access: "view"
|
|
31855
32080
|
},
|
|
32081
|
+
"pipelineOrchestrator.pauseForStorageMigration": {
|
|
32082
|
+
capName: "pipeline-orchestrator",
|
|
32083
|
+
capScope: "system",
|
|
32084
|
+
addonId: null,
|
|
32085
|
+
access: "create"
|
|
32086
|
+
},
|
|
31856
32087
|
"pipelineOrchestrator.rebalance": {
|
|
31857
32088
|
capName: "pipeline-orchestrator",
|
|
31858
32089
|
capScope: "system",
|
|
@@ -31877,6 +32108,12 @@ Object.freeze({
|
|
|
31877
32108
|
addonId: null,
|
|
31878
32109
|
access: "view"
|
|
31879
32110
|
},
|
|
32111
|
+
"pipelineOrchestrator.resumeForStorageMigration": {
|
|
32112
|
+
capName: "pipeline-orchestrator",
|
|
32113
|
+
capScope: "system",
|
|
32114
|
+
addonId: null,
|
|
32115
|
+
access: "create"
|
|
32116
|
+
},
|
|
31880
32117
|
"pipelineOrchestrator.saveTemplate": {
|
|
31881
32118
|
capName: "pipeline-orchestrator",
|
|
31882
32119
|
capScope: "system",
|
|
@@ -32273,7 +32510,7 @@ Object.freeze({
|
|
|
32273
32510
|
addonId: null,
|
|
32274
32511
|
access: "create"
|
|
32275
32512
|
},
|
|
32276
|
-
"recording.
|
|
32513
|
+
"recording.cancelStorageMigrationMove": {
|
|
32277
32514
|
capName: "recording",
|
|
32278
32515
|
capScope: "system",
|
|
32279
32516
|
addonId: null,
|
|
@@ -32309,7 +32546,7 @@ Object.freeze({
|
|
|
32309
32546
|
addonId: null,
|
|
32310
32547
|
access: "view"
|
|
32311
32548
|
},
|
|
32312
|
-
"recording.
|
|
32549
|
+
"recording.getStorageMigrationMoveStatus": {
|
|
32313
32550
|
capName: "recording",
|
|
32314
32551
|
capScope: "system",
|
|
32315
32552
|
addonId: null,
|
|
@@ -32333,6 +32570,12 @@ Object.freeze({
|
|
|
32333
32570
|
addonId: null,
|
|
32334
32571
|
access: "view"
|
|
32335
32572
|
},
|
|
32573
|
+
"recording.pauseForStorageMigration": {
|
|
32574
|
+
capName: "recording",
|
|
32575
|
+
capScope: "system",
|
|
32576
|
+
addonId: null,
|
|
32577
|
+
access: "create"
|
|
32578
|
+
},
|
|
32336
32579
|
"recording.pruneFootage": {
|
|
32337
32580
|
capName: "recording",
|
|
32338
32581
|
capScope: "system",
|
|
@@ -32351,7 +32594,7 @@ Object.freeze({
|
|
|
32351
32594
|
addonId: null,
|
|
32352
32595
|
access: "view"
|
|
32353
32596
|
},
|
|
32354
|
-
"recording.
|
|
32597
|
+
"recording.refreshStorageLocationsForMigration": {
|
|
32355
32598
|
capName: "recording",
|
|
32356
32599
|
capScope: "system",
|
|
32357
32600
|
addonId: null,
|
|
@@ -32375,12 +32618,24 @@ Object.freeze({
|
|
|
32375
32618
|
addonId: null,
|
|
32376
32619
|
access: "create"
|
|
32377
32620
|
},
|
|
32621
|
+
"recording.resumeForStorageMigration": {
|
|
32622
|
+
capName: "recording",
|
|
32623
|
+
capScope: "system",
|
|
32624
|
+
addonId: null,
|
|
32625
|
+
access: "create"
|
|
32626
|
+
},
|
|
32378
32627
|
"recording.setDeviceConfig": {
|
|
32379
32628
|
capName: "recording",
|
|
32380
32629
|
capScope: "system",
|
|
32381
32630
|
addonId: null,
|
|
32382
32631
|
access: "create"
|
|
32383
32632
|
},
|
|
32633
|
+
"recording.startStorageMigrationMove": {
|
|
32634
|
+
capName: "recording",
|
|
32635
|
+
capScope: "system",
|
|
32636
|
+
addonId: null,
|
|
32637
|
+
access: "create"
|
|
32638
|
+
},
|
|
32384
32639
|
"recordingExport.cancelExport": {
|
|
32385
32640
|
capName: "recordingExport",
|
|
32386
32641
|
capScope: "system",
|
|
@@ -32771,6 +33026,30 @@ Object.freeze({
|
|
|
32771
33026
|
addonId: null,
|
|
32772
33027
|
access: "view"
|
|
32773
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
|
+
},
|
|
32774
33053
|
"storageProvider.abortUpload": {
|
|
32775
33054
|
capName: "storage-provider",
|
|
32776
33055
|
capScope: "system",
|
|
@@ -33149,12 +33428,42 @@ Object.freeze({
|
|
|
33149
33428
|
addonId: null,
|
|
33150
33429
|
access: "create"
|
|
33151
33430
|
},
|
|
33431
|
+
"terminalSession.adoptLegacyMonitor": {
|
|
33432
|
+
capName: "terminal-session",
|
|
33433
|
+
capScope: "system",
|
|
33434
|
+
addonId: null,
|
|
33435
|
+
access: "create"
|
|
33436
|
+
},
|
|
33152
33437
|
"terminalSession.close": {
|
|
33153
33438
|
capName: "terminal-session",
|
|
33154
33439
|
capScope: "system",
|
|
33155
33440
|
addonId: null,
|
|
33156
33441
|
access: "create"
|
|
33157
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
|
+
},
|
|
33158
33467
|
"terminalSession.listProfiles": {
|
|
33159
33468
|
capName: "terminal-session",
|
|
33160
33469
|
capScope: "system",
|
|
@@ -33173,12 +33482,30 @@ Object.freeze({
|
|
|
33173
33482
|
addonId: null,
|
|
33174
33483
|
access: "create"
|
|
33175
33484
|
},
|
|
33485
|
+
"terminalSession.pullOutput": {
|
|
33486
|
+
capName: "terminal-session",
|
|
33487
|
+
capScope: "system",
|
|
33488
|
+
addonId: null,
|
|
33489
|
+
access: "create"
|
|
33490
|
+
},
|
|
33176
33491
|
"terminalSession.resize": {
|
|
33177
33492
|
capName: "terminal-session",
|
|
33178
33493
|
capScope: "system",
|
|
33179
33494
|
addonId: null,
|
|
33180
33495
|
access: "create"
|
|
33181
33496
|
},
|
|
33497
|
+
"terminalSession.setInstanceEnabled": {
|
|
33498
|
+
capName: "terminal-session",
|
|
33499
|
+
capScope: "system",
|
|
33500
|
+
addonId: null,
|
|
33501
|
+
access: "create"
|
|
33502
|
+
},
|
|
33503
|
+
"terminalSession.writeInput": {
|
|
33504
|
+
capName: "terminal-session",
|
|
33505
|
+
capScope: "system",
|
|
33506
|
+
addonId: null,
|
|
33507
|
+
access: "create"
|
|
33508
|
+
},
|
|
33182
33509
|
"toast.onToast": {
|
|
33183
33510
|
capName: "toast",
|
|
33184
33511
|
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",
|
|
17255
17335
|
auth: "admin"
|
|
17256
|
-
}), method(
|
|
17336
|
+
}), method(StorageMigrationLeaseInputSchema, object({ refreshed: literal(true) }), {
|
|
17337
|
+
kind: "mutation",
|
|
17338
|
+
auth: "admin"
|
|
17339
|
+
}), method(StorageMigrationMediaMoveInputSchema, object({ jobId: string() }), {
|
|
17340
|
+
kind: "mutation",
|
|
17341
|
+
auth: "admin"
|
|
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,7 +19659,67 @@ var TerminalProfileInfoSchema = object({
|
|
|
19560
19659
|
label: string(),
|
|
19561
19660
|
description: string().optional()
|
|
19562
19661
|
});
|
|
19563
|
-
|
|
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
|
+
});
|
|
19684
|
+
var TerminalOutputEventSchema = discriminatedUnion("kind", [object({
|
|
19685
|
+
seq: number().int().positive(),
|
|
19686
|
+
kind: literal("data"),
|
|
19687
|
+
data: string()
|
|
19688
|
+
}), object({
|
|
19689
|
+
seq: number().int().positive(),
|
|
19690
|
+
kind: literal("exit"),
|
|
19691
|
+
exitCode: number().int(),
|
|
19692
|
+
signal: number().int().optional()
|
|
19693
|
+
})]);
|
|
19694
|
+
var TerminalOutputBatchSchema = object({
|
|
19695
|
+
cursor: number().int().nonnegative(),
|
|
19696
|
+
reset: boolean(),
|
|
19697
|
+
snapshot: string().optional(),
|
|
19698
|
+
events: array(TerminalOutputEventSchema).readonly()
|
|
19699
|
+
});
|
|
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({
|
|
19564
19723
|
profileId: string(),
|
|
19565
19724
|
cols: number().int().positive(),
|
|
19566
19725
|
rows: number().int().positive()
|
|
@@ -19574,6 +19733,26 @@ method(_void(), array(TerminalProfileInfoSchema).readonly(), { auth: "admin" }),
|
|
|
19574
19733
|
}), _void(), {
|
|
19575
19734
|
kind: "mutation",
|
|
19576
19735
|
auth: "admin"
|
|
19736
|
+
}), method(object({
|
|
19737
|
+
sessionId: string(),
|
|
19738
|
+
afterSeq: number().int().nonnegative(),
|
|
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()
|
|
19746
|
+
}), TerminalOutputBatchSchema, {
|
|
19747
|
+
kind: "mutation",
|
|
19748
|
+
auth: "admin",
|
|
19749
|
+
timeoutMs: 15e3
|
|
19750
|
+
}), method(object({
|
|
19751
|
+
sessionId: string(),
|
|
19752
|
+
data: string().max(64 * 1024)
|
|
19753
|
+
}), _void(), {
|
|
19754
|
+
kind: "mutation",
|
|
19755
|
+
auth: "admin"
|
|
19577
19756
|
}), method(object({ sessionId: string() }), _void(), {
|
|
19578
19757
|
kind: "mutation",
|
|
19579
19758
|
auth: "admin"
|
|
@@ -22061,6 +22240,7 @@ var FaceInfoSchema = object({
|
|
|
22061
22240
|
var FaceFilterEnum = _enum([
|
|
22062
22241
|
"unassigned",
|
|
22063
22242
|
"recognized",
|
|
22243
|
+
"identified",
|
|
22064
22244
|
"all"
|
|
22065
22245
|
]);
|
|
22066
22246
|
var MediaFileLiteSchema$1 = object({
|
|
@@ -22089,6 +22269,8 @@ method(_void(), array(IdentitySchema).readonly()), method(object({ name: string(
|
|
|
22089
22269
|
kind: "mutation",
|
|
22090
22270
|
auth: "admin"
|
|
22091
22271
|
}), method(object({
|
|
22272
|
+
/** Restrict to one camera. Absent keeps the cluster-wide gallery view. */
|
|
22273
|
+
deviceId: number().int().optional(),
|
|
22092
22274
|
limit: number().int().positive().optional(),
|
|
22093
22275
|
filter: FaceFilterEnum.optional(),
|
|
22094
22276
|
/**
|
|
@@ -24318,6 +24500,10 @@ var OsdSourceSchema = discriminatedUnion("kind", [
|
|
|
24318
24500
|
capName: string().min(1).max(64),
|
|
24319
24501
|
/** Dot path inside the slice, e.g. `detected`, `value`, `mode`. */
|
|
24320
24502
|
valuePath: string().min(1).max(64)
|
|
24503
|
+
}),
|
|
24504
|
+
object({
|
|
24505
|
+
kind: literal("latest-recognition"),
|
|
24506
|
+
recognition: _enum(["person", "plate"])
|
|
24321
24507
|
})
|
|
24322
24508
|
]);
|
|
24323
24509
|
var OsdSlotBindingSchema = object({
|
|
@@ -24423,6 +24609,15 @@ method(object({ deviceId: number().int() }), object({
|
|
|
24423
24609
|
}), object({ success: literal(true) }), {
|
|
24424
24610
|
kind: "mutation",
|
|
24425
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"
|
|
24426
24621
|
}), method(object({
|
|
24427
24622
|
deviceId: number().int(),
|
|
24428
24623
|
slotId: string().min(1),
|
|
@@ -25520,13 +25715,19 @@ method(object({
|
|
|
25520
25715
|
}), {
|
|
25521
25716
|
kind: "mutation",
|
|
25522
25717
|
auth: "admin"
|
|
25523
|
-
}), method(
|
|
25718
|
+
}), method(StorageMigrationLeaseInputSchema, object({ paused: literal(true) }), {
|
|
25524
25719
|
kind: "mutation",
|
|
25525
25720
|
auth: "admin"
|
|
25526
|
-
}), method(object({
|
|
25527
|
-
kind: "
|
|
25721
|
+
}), method(StorageMigrationLeaseInputSchema, object({ resumed: literal(true) }), {
|
|
25722
|
+
kind: "mutation",
|
|
25528
25723
|
auth: "admin"
|
|
25529
|
-
}), 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() }), {
|
|
25530
25731
|
kind: "mutation",
|
|
25531
25732
|
auth: "admin"
|
|
25532
25733
|
});
|
|
@@ -31132,6 +31333,12 @@ Object.freeze({
|
|
|
31132
31333
|
addonId: null,
|
|
31133
31334
|
access: "delete"
|
|
31134
31335
|
},
|
|
31336
|
+
"osdManager.copyDeviceConfiguration": {
|
|
31337
|
+
capName: "osd-manager",
|
|
31338
|
+
capScope: "system",
|
|
31339
|
+
addonId: null,
|
|
31340
|
+
access: "create"
|
|
31341
|
+
},
|
|
31135
31342
|
"osdManager.getConditionSupport": {
|
|
31136
31343
|
capName: "osd-manager",
|
|
31137
31344
|
capScope: "system",
|
|
@@ -31228,7 +31435,7 @@ Object.freeze({
|
|
|
31228
31435
|
addonId: null,
|
|
31229
31436
|
access: "create"
|
|
31230
31437
|
},
|
|
31231
|
-
"pipelineAnalytics.
|
|
31438
|
+
"pipelineAnalytics.cancelStorageMigrationMove": {
|
|
31232
31439
|
capName: "pipeline-analytics",
|
|
31233
31440
|
capScope: "device",
|
|
31234
31441
|
addonId: null,
|
|
@@ -31300,12 +31507,6 @@ Object.freeze({
|
|
|
31300
31507
|
addonId: null,
|
|
31301
31508
|
access: "view"
|
|
31302
31509
|
},
|
|
31303
|
-
"pipelineAnalytics.getMediaRelocateStatus": {
|
|
31304
|
-
capName: "pipeline-analytics",
|
|
31305
|
-
capScope: "device",
|
|
31306
|
-
addonId: null,
|
|
31307
|
-
access: "view"
|
|
31308
|
-
},
|
|
31309
31510
|
"pipelineAnalytics.getMotionEvents": {
|
|
31310
31511
|
capName: "pipeline-analytics",
|
|
31311
31512
|
capScope: "device",
|
|
@@ -31342,6 +31543,12 @@ Object.freeze({
|
|
|
31342
31543
|
addonId: null,
|
|
31343
31544
|
access: "view"
|
|
31344
31545
|
},
|
|
31546
|
+
"pipelineAnalytics.getStorageMigrationMoveStatus": {
|
|
31547
|
+
capName: "pipeline-analytics",
|
|
31548
|
+
capScope: "device",
|
|
31549
|
+
addonId: null,
|
|
31550
|
+
access: "view"
|
|
31551
|
+
},
|
|
31345
31552
|
"pipelineAnalytics.getTrack": {
|
|
31346
31553
|
capName: "pipeline-analytics",
|
|
31347
31554
|
capScope: "device",
|
|
@@ -31420,6 +31627,12 @@ Object.freeze({
|
|
|
31420
31627
|
addonId: null,
|
|
31421
31628
|
access: "view"
|
|
31422
31629
|
},
|
|
31630
|
+
"pipelineAnalytics.pauseForStorageMigration": {
|
|
31631
|
+
capName: "pipeline-analytics",
|
|
31632
|
+
capScope: "device",
|
|
31633
|
+
addonId: null,
|
|
31634
|
+
access: "create"
|
|
31635
|
+
},
|
|
31423
31636
|
"pipelineAnalytics.proposeRetrainAnnotations": {
|
|
31424
31637
|
capName: "pipeline-analytics",
|
|
31425
31638
|
capScope: "device",
|
|
@@ -31450,7 +31663,7 @@ Object.freeze({
|
|
|
31450
31663
|
addonId: null,
|
|
31451
31664
|
access: "create"
|
|
31452
31665
|
},
|
|
31453
|
-
"pipelineAnalytics.
|
|
31666
|
+
"pipelineAnalytics.refreshStorageLocationsForMigration": {
|
|
31454
31667
|
capName: "pipeline-analytics",
|
|
31455
31668
|
capScope: "device",
|
|
31456
31669
|
addonId: null,
|
|
@@ -31462,6 +31675,12 @@ Object.freeze({
|
|
|
31462
31675
|
addonId: null,
|
|
31463
31676
|
access: "create"
|
|
31464
31677
|
},
|
|
31678
|
+
"pipelineAnalytics.resumeForStorageMigration": {
|
|
31679
|
+
capName: "pipeline-analytics",
|
|
31680
|
+
capScope: "device",
|
|
31681
|
+
addonId: null,
|
|
31682
|
+
access: "create"
|
|
31683
|
+
},
|
|
31465
31684
|
"pipelineAnalytics.saveRetrainAnnotations": {
|
|
31466
31685
|
capName: "pipeline-analytics",
|
|
31467
31686
|
capScope: "device",
|
|
@@ -31486,6 +31705,12 @@ Object.freeze({
|
|
|
31486
31705
|
addonId: null,
|
|
31487
31706
|
access: "create"
|
|
31488
31707
|
},
|
|
31708
|
+
"pipelineAnalytics.startStorageMigrationMove": {
|
|
31709
|
+
capName: "pipeline-analytics",
|
|
31710
|
+
capScope: "device",
|
|
31711
|
+
addonId: null,
|
|
31712
|
+
access: "create"
|
|
31713
|
+
},
|
|
31489
31714
|
"pipelineAnalytics.wipeAllAnalytics": {
|
|
31490
31715
|
capName: "pipeline-analytics",
|
|
31491
31716
|
capScope: "device",
|
|
@@ -31852,6 +32077,12 @@ Object.freeze({
|
|
|
31852
32077
|
addonId: null,
|
|
31853
32078
|
access: "view"
|
|
31854
32079
|
},
|
|
32080
|
+
"pipelineOrchestrator.pauseForStorageMigration": {
|
|
32081
|
+
capName: "pipeline-orchestrator",
|
|
32082
|
+
capScope: "system",
|
|
32083
|
+
addonId: null,
|
|
32084
|
+
access: "create"
|
|
32085
|
+
},
|
|
31855
32086
|
"pipelineOrchestrator.rebalance": {
|
|
31856
32087
|
capName: "pipeline-orchestrator",
|
|
31857
32088
|
capScope: "system",
|
|
@@ -31876,6 +32107,12 @@ Object.freeze({
|
|
|
31876
32107
|
addonId: null,
|
|
31877
32108
|
access: "view"
|
|
31878
32109
|
},
|
|
32110
|
+
"pipelineOrchestrator.resumeForStorageMigration": {
|
|
32111
|
+
capName: "pipeline-orchestrator",
|
|
32112
|
+
capScope: "system",
|
|
32113
|
+
addonId: null,
|
|
32114
|
+
access: "create"
|
|
32115
|
+
},
|
|
31879
32116
|
"pipelineOrchestrator.saveTemplate": {
|
|
31880
32117
|
capName: "pipeline-orchestrator",
|
|
31881
32118
|
capScope: "system",
|
|
@@ -32272,7 +32509,7 @@ Object.freeze({
|
|
|
32272
32509
|
addonId: null,
|
|
32273
32510
|
access: "create"
|
|
32274
32511
|
},
|
|
32275
|
-
"recording.
|
|
32512
|
+
"recording.cancelStorageMigrationMove": {
|
|
32276
32513
|
capName: "recording",
|
|
32277
32514
|
capScope: "system",
|
|
32278
32515
|
addonId: null,
|
|
@@ -32308,7 +32545,7 @@ Object.freeze({
|
|
|
32308
32545
|
addonId: null,
|
|
32309
32546
|
access: "view"
|
|
32310
32547
|
},
|
|
32311
|
-
"recording.
|
|
32548
|
+
"recording.getStorageMigrationMoveStatus": {
|
|
32312
32549
|
capName: "recording",
|
|
32313
32550
|
capScope: "system",
|
|
32314
32551
|
addonId: null,
|
|
@@ -32332,6 +32569,12 @@ Object.freeze({
|
|
|
32332
32569
|
addonId: null,
|
|
32333
32570
|
access: "view"
|
|
32334
32571
|
},
|
|
32572
|
+
"recording.pauseForStorageMigration": {
|
|
32573
|
+
capName: "recording",
|
|
32574
|
+
capScope: "system",
|
|
32575
|
+
addonId: null,
|
|
32576
|
+
access: "create"
|
|
32577
|
+
},
|
|
32335
32578
|
"recording.pruneFootage": {
|
|
32336
32579
|
capName: "recording",
|
|
32337
32580
|
capScope: "system",
|
|
@@ -32350,7 +32593,7 @@ Object.freeze({
|
|
|
32350
32593
|
addonId: null,
|
|
32351
32594
|
access: "view"
|
|
32352
32595
|
},
|
|
32353
|
-
"recording.
|
|
32596
|
+
"recording.refreshStorageLocationsForMigration": {
|
|
32354
32597
|
capName: "recording",
|
|
32355
32598
|
capScope: "system",
|
|
32356
32599
|
addonId: null,
|
|
@@ -32374,12 +32617,24 @@ Object.freeze({
|
|
|
32374
32617
|
addonId: null,
|
|
32375
32618
|
access: "create"
|
|
32376
32619
|
},
|
|
32620
|
+
"recording.resumeForStorageMigration": {
|
|
32621
|
+
capName: "recording",
|
|
32622
|
+
capScope: "system",
|
|
32623
|
+
addonId: null,
|
|
32624
|
+
access: "create"
|
|
32625
|
+
},
|
|
32377
32626
|
"recording.setDeviceConfig": {
|
|
32378
32627
|
capName: "recording",
|
|
32379
32628
|
capScope: "system",
|
|
32380
32629
|
addonId: null,
|
|
32381
32630
|
access: "create"
|
|
32382
32631
|
},
|
|
32632
|
+
"recording.startStorageMigrationMove": {
|
|
32633
|
+
capName: "recording",
|
|
32634
|
+
capScope: "system",
|
|
32635
|
+
addonId: null,
|
|
32636
|
+
access: "create"
|
|
32637
|
+
},
|
|
32383
32638
|
"recordingExport.cancelExport": {
|
|
32384
32639
|
capName: "recordingExport",
|
|
32385
32640
|
capScope: "system",
|
|
@@ -32770,6 +33025,30 @@ Object.freeze({
|
|
|
32770
33025
|
addonId: null,
|
|
32771
33026
|
access: "view"
|
|
32772
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
|
+
},
|
|
32773
33052
|
"storageProvider.abortUpload": {
|
|
32774
33053
|
capName: "storage-provider",
|
|
32775
33054
|
capScope: "system",
|
|
@@ -33148,12 +33427,42 @@ Object.freeze({
|
|
|
33148
33427
|
addonId: null,
|
|
33149
33428
|
access: "create"
|
|
33150
33429
|
},
|
|
33430
|
+
"terminalSession.adoptLegacyMonitor": {
|
|
33431
|
+
capName: "terminal-session",
|
|
33432
|
+
capScope: "system",
|
|
33433
|
+
addonId: null,
|
|
33434
|
+
access: "create"
|
|
33435
|
+
},
|
|
33151
33436
|
"terminalSession.close": {
|
|
33152
33437
|
capName: "terminal-session",
|
|
33153
33438
|
capScope: "system",
|
|
33154
33439
|
addonId: null,
|
|
33155
33440
|
access: "create"
|
|
33156
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
|
+
},
|
|
33157
33466
|
"terminalSession.listProfiles": {
|
|
33158
33467
|
capName: "terminal-session",
|
|
33159
33468
|
capScope: "system",
|
|
@@ -33172,12 +33481,30 @@ Object.freeze({
|
|
|
33172
33481
|
addonId: null,
|
|
33173
33482
|
access: "create"
|
|
33174
33483
|
},
|
|
33484
|
+
"terminalSession.pullOutput": {
|
|
33485
|
+
capName: "terminal-session",
|
|
33486
|
+
capScope: "system",
|
|
33487
|
+
addonId: null,
|
|
33488
|
+
access: "create"
|
|
33489
|
+
},
|
|
33175
33490
|
"terminalSession.resize": {
|
|
33176
33491
|
capName: "terminal-session",
|
|
33177
33492
|
capScope: "system",
|
|
33178
33493
|
addonId: null,
|
|
33179
33494
|
access: "create"
|
|
33180
33495
|
},
|
|
33496
|
+
"terminalSession.setInstanceEnabled": {
|
|
33497
|
+
capName: "terminal-session",
|
|
33498
|
+
capScope: "system",
|
|
33499
|
+
addonId: null,
|
|
33500
|
+
access: "create"
|
|
33501
|
+
},
|
|
33502
|
+
"terminalSession.writeInput": {
|
|
33503
|
+
capName: "terminal-session",
|
|
33504
|
+
capScope: "system",
|
|
33505
|
+
addonId: null,
|
|
33506
|
+
access: "create"
|
|
33507
|
+
},
|
|
33181
33508
|
"toast.onToast": {
|
|
33182
33509
|
capName: "toast",
|
|
33183
33510
|
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",
|