@camstack/addon-mqtt-broker 1.2.12 → 1.2.13
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/mqtt-broker.addon.js +316 -31
- package/dist/mqtt-broker.addon.mjs +316 -31
- package/package.json +1 -1
|
@@ -7580,12 +7580,11 @@ var RecordingConfigSchema = object({
|
|
|
7580
7580
|
/**
|
|
7581
7581
|
* Entity-relocation job state (storage entity-routing spec, Phase 4).
|
|
7582
7582
|
*
|
|
7583
|
-
* One shape shared by the recorder
|
|
7584
|
-
*
|
|
7585
|
-
*
|
|
7586
|
-
*
|
|
7587
|
-
*
|
|
7588
|
-
* row on the owning addon's surface.
|
|
7583
|
+
* One shape shared by the recorder and pipeline-analytics internal movers.
|
|
7584
|
+
* The public admin surface is `storage-migration`; child jobs remain in RAM
|
|
7585
|
+
* because copy-if-absent, verify, delete and index/row repoint are resumable.
|
|
7586
|
+
* Each completed/failed run also lands one durable ops-log row on its owning
|
|
7587
|
+
* addon surface.
|
|
7589
7588
|
*/
|
|
7590
7589
|
var RelocateJobStateSchema = _enum([
|
|
7591
7590
|
"running",
|
|
@@ -7612,19 +7611,100 @@ var RelocateJobSchema = object({
|
|
|
7612
7611
|
finishedAt: number().nullable(),
|
|
7613
7612
|
error: string().nullable()
|
|
7614
7613
|
});
|
|
7614
|
+
/** Profile-derived footage selection used only by the migration coordinator:
|
|
7615
|
+
* `recordings` owns high+mid; `recordingsLow` owns low. */
|
|
7616
|
+
var RelocateFootageClassSchema = _enum(["recordings", "recordingsLow"]);
|
|
7615
7617
|
var RelocateFootageInputSchema = object({
|
|
7616
|
-
deviceId: number().optional(),
|
|
7617
7618
|
fromLocationId: string(),
|
|
7618
7619
|
toLocationId: string(),
|
|
7619
7620
|
entities: array(_enum(["segments"])).optional(),
|
|
7621
|
+
/** Limits relocation to the logical profile class. Omit only for the
|
|
7622
|
+
* pre-orchestration compatibility path. */
|
|
7623
|
+
footageClass: RelocateFootageClassSchema.optional(),
|
|
7620
7624
|
/** Copy throttle in MB/s (default 40) — the drain is a background chore,
|
|
7621
7625
|
* never allowed to starve live writers. */
|
|
7622
7626
|
throttleMbps: number().min(1).max(1e3).optional()
|
|
7623
7627
|
});
|
|
7624
|
-
|
|
7625
|
-
|
|
7628
|
+
/** Internal, lease-scoped participant operation. It is intentionally separate
|
|
7629
|
+
* from persistent recording settings: a migration never changes
|
|
7630
|
+
* `RecordingConfig.enabled` or camera wrapper bindings. */
|
|
7631
|
+
var StorageMigrationLeaseInputSchema = object({ leaseId: string().min(1) });
|
|
7632
|
+
var StorageMigrationFootageMoveInputSchema = RelocateFootageInputSchema.extend({ leaseId: string().min(1) });
|
|
7633
|
+
var StorageMigrationMediaMoveInputSchema = object({
|
|
7626
7634
|
toLocationId: string(),
|
|
7627
7635
|
throttleMbps: number().min(1).max(1e3).optional()
|
|
7636
|
+
}).extend({ leaseId: string().min(1) });
|
|
7637
|
+
/** The independently selectable logical storage classes. `recordings`
|
|
7638
|
+
* encompasses the high and mid segment profiles; `recordingsLow` is low
|
|
7639
|
+
* segments; `eventMedia` is post-analysis blobs. */
|
|
7640
|
+
var StorageMigrationClassSchema = _enum([
|
|
7641
|
+
"recordings",
|
|
7642
|
+
"recordingsLow",
|
|
7643
|
+
"eventMedia"
|
|
7644
|
+
]);
|
|
7645
|
+
/** A destination is always an existing, fully-qualified location id. The
|
|
7646
|
+
* migration API intentionally never changes a source location's `basePath`:
|
|
7647
|
+
* callers create a new `<type>:<slug>` location, then select it here. */
|
|
7648
|
+
var StorageMigrationDestinationsSchema = object({
|
|
7649
|
+
recordings: string().min(1).optional(),
|
|
7650
|
+
recordingsLow: string().min(1).optional(),
|
|
7651
|
+
eventMedia: string().min(1).optional()
|
|
7652
|
+
}).refine((value) => Object.keys(value).length > 0, { message: "select at least one storage class" });
|
|
7653
|
+
/** Shared input for planning and starting an orchestrated storage migration. */
|
|
7654
|
+
var StorageMigrationInputSchema = object({
|
|
7655
|
+
destinations: StorageMigrationDestinationsSchema,
|
|
7656
|
+
throttleMbps: number().min(1).max(1e3).optional()
|
|
7657
|
+
});
|
|
7658
|
+
/** The durable coordinator state machine. The only phase that changes default
|
|
7659
|
+
* locations is `repointing`, after every selected mover has completed and been
|
|
7660
|
+
* verified. */
|
|
7661
|
+
var StorageMigrationPhaseSchema = _enum([
|
|
7662
|
+
"planning",
|
|
7663
|
+
"pausing",
|
|
7664
|
+
"moving",
|
|
7665
|
+
"verifying",
|
|
7666
|
+
"repointing",
|
|
7667
|
+
"refreshing",
|
|
7668
|
+
"resuming",
|
|
7669
|
+
"done",
|
|
7670
|
+
"failed",
|
|
7671
|
+
"cancelled"
|
|
7672
|
+
]);
|
|
7673
|
+
var StorageMigrationParticipantSchema = _enum([
|
|
7674
|
+
"pipeline",
|
|
7675
|
+
"recorder",
|
|
7676
|
+
"analytics"
|
|
7677
|
+
]);
|
|
7678
|
+
var StorageMigrationMoveSchema = object({
|
|
7679
|
+
storageClass: StorageMigrationClassSchema,
|
|
7680
|
+
fromLocationId: string(),
|
|
7681
|
+
toLocationId: string(),
|
|
7682
|
+
moverJobId: string().nullable(),
|
|
7683
|
+
state: RelocateJobStateSchema.nullable(),
|
|
7684
|
+
error: string().nullable()
|
|
7685
|
+
});
|
|
7686
|
+
var StorageMigrationJobSchema = object({
|
|
7687
|
+
jobId: string(),
|
|
7688
|
+
phase: StorageMigrationPhaseSchema,
|
|
7689
|
+
destinations: StorageMigrationDestinationsSchema,
|
|
7690
|
+
throttleMbps: number(),
|
|
7691
|
+
moves: array(StorageMigrationMoveSchema),
|
|
7692
|
+
pauseLeaseId: string().nullable(),
|
|
7693
|
+
pausedParticipants: array(StorageMigrationParticipantSchema),
|
|
7694
|
+
repointed: boolean(),
|
|
7695
|
+
cancelRequested: boolean(),
|
|
7696
|
+
startedAt: number(),
|
|
7697
|
+
updatedAt: number(),
|
|
7698
|
+
finishedAt: number().nullable(),
|
|
7699
|
+
error: string().nullable()
|
|
7700
|
+
});
|
|
7701
|
+
var StorageMigrationPlanSchema = object({
|
|
7702
|
+
destinations: StorageMigrationDestinationsSchema,
|
|
7703
|
+
moves: array(object({
|
|
7704
|
+
storageClass: StorageMigrationClassSchema,
|
|
7705
|
+
fromLocationId: string(),
|
|
7706
|
+
toLocationId: string()
|
|
7707
|
+
}))
|
|
7628
7708
|
});
|
|
7629
7709
|
/**
|
|
7630
7710
|
* `StorageLocationType` — an addon-declared id that identifies the *kind* of
|
|
@@ -16068,13 +16148,19 @@ DeviceType.Camera, method(object({ deviceId: number() }), array(TrackSchema).rea
|
|
|
16068
16148
|
}), method(object({ deviceId: number() }), EventPruneCountsSchema, {
|
|
16069
16149
|
kind: "mutation",
|
|
16070
16150
|
auth: "admin"
|
|
16071
|
-
}), method(
|
|
16151
|
+
}), method(StorageMigrationLeaseInputSchema, object({ paused: literal(true) }), {
|
|
16072
16152
|
kind: "mutation",
|
|
16073
16153
|
auth: "admin"
|
|
16074
|
-
}), method(object({
|
|
16075
|
-
kind: "
|
|
16154
|
+
}), method(StorageMigrationLeaseInputSchema, object({ resumed: literal(true) }), {
|
|
16155
|
+
kind: "mutation",
|
|
16156
|
+
auth: "admin"
|
|
16157
|
+
}), method(StorageMigrationLeaseInputSchema, object({ refreshed: literal(true) }), {
|
|
16158
|
+
kind: "mutation",
|
|
16159
|
+
auth: "admin"
|
|
16160
|
+
}), method(StorageMigrationMediaMoveInputSchema, object({ jobId: string() }), {
|
|
16161
|
+
kind: "mutation",
|
|
16076
16162
|
auth: "admin"
|
|
16077
|
-
}), method(object({ jobId: string() }), object({ cancelled: boolean() }), {
|
|
16163
|
+
}), method(object({ jobId: string() }), RelocateJobSchema.nullable(), { auth: "admin" }), method(object({ jobId: string() }), object({ cancelled: boolean() }), {
|
|
16078
16164
|
kind: "mutation",
|
|
16079
16165
|
auth: "admin"
|
|
16080
16166
|
}), method(OpsLogQueryInputSchema, array(OpsLogEntrySchema).readonly(), {
|
|
@@ -17571,7 +17657,13 @@ var NodeInferenceDevicesSchema = object({
|
|
|
17571
17657
|
reachable: boolean(),
|
|
17572
17658
|
devices: array(NodeInferenceDeviceSchema).readonly()
|
|
17573
17659
|
});
|
|
17574
|
-
method(object({
|
|
17660
|
+
method(StorageMigrationLeaseInputSchema, object({ paused: literal(true) }), {
|
|
17661
|
+
kind: "mutation",
|
|
17662
|
+
auth: "admin"
|
|
17663
|
+
}), method(StorageMigrationLeaseInputSchema, object({ resumed: literal(true) }), {
|
|
17664
|
+
kind: "mutation",
|
|
17665
|
+
auth: "admin"
|
|
17666
|
+
}), method(object({
|
|
17575
17667
|
deviceId: number(),
|
|
17576
17668
|
agentNodeId: string()
|
|
17577
17669
|
}), object({ success: literal(true) }), {
|
|
@@ -18245,6 +18337,13 @@ method(object({ locationId: string() }), EvictableUsageSchema), method(object({
|
|
|
18245
18337
|
locationId: string(),
|
|
18246
18338
|
targetBytes: number().int().positive()
|
|
18247
18339
|
}), EvictResultSchema, { kind: "mutation" });
|
|
18340
|
+
method(StorageMigrationInputSchema, StorageMigrationPlanSchema, { auth: "admin" }), method(StorageMigrationInputSchema, object({ jobId: string() }), {
|
|
18341
|
+
kind: "mutation",
|
|
18342
|
+
auth: "admin"
|
|
18343
|
+
}), method(object({ jobId: string().optional() }), StorageMigrationJobSchema.nullable(), { auth: "admin" }), method(object({ jobId: string() }), object({ cancelled: boolean() }), {
|
|
18344
|
+
kind: "mutation",
|
|
18345
|
+
auth: "admin"
|
|
18346
|
+
});
|
|
18248
18347
|
var ProviderInfoSchema = discriminatedUnion("shouldSaveDiskSpace", [object({
|
|
18249
18348
|
providerId: string().min(1),
|
|
18250
18349
|
displayName: string().min(1),
|
|
@@ -18348,6 +18447,28 @@ var TerminalProfileInfoSchema = object({
|
|
|
18348
18447
|
label: string(),
|
|
18349
18448
|
description: string().optional()
|
|
18350
18449
|
});
|
|
18450
|
+
/**
|
|
18451
|
+
* A durable operator-created Terminal instance. Profiles are templates; only
|
|
18452
|
+
* an instance declares a camera.
|
|
18453
|
+
*/
|
|
18454
|
+
var TerminalInstanceInfoSchema = object({
|
|
18455
|
+
instanceId: string(),
|
|
18456
|
+
cameraStableId: string(),
|
|
18457
|
+
nodeId: string(),
|
|
18458
|
+
profileId: string(),
|
|
18459
|
+
profileLabel: string(),
|
|
18460
|
+
name: string(),
|
|
18461
|
+
enabled: boolean()
|
|
18462
|
+
});
|
|
18463
|
+
var TerminalLegacyCameraSchema = object({
|
|
18464
|
+
stableId: string(),
|
|
18465
|
+
nodeId: string(),
|
|
18466
|
+
profileId: string(),
|
|
18467
|
+
profileLabel: string(),
|
|
18468
|
+
name: string(),
|
|
18469
|
+
/** Only legacy monitor cameras can retain their historic stable identity. */
|
|
18470
|
+
adoptable: boolean()
|
|
18471
|
+
});
|
|
18351
18472
|
var TerminalOutputEventSchema = discriminatedUnion("kind", [object({
|
|
18352
18473
|
seq: number().int().positive(),
|
|
18353
18474
|
kind: literal("data"),
|
|
@@ -18364,7 +18485,29 @@ var TerminalOutputBatchSchema = object({
|
|
|
18364
18485
|
snapshot: string().optional(),
|
|
18365
18486
|
events: array(TerminalOutputEventSchema).readonly()
|
|
18366
18487
|
});
|
|
18367
|
-
method(_void(), array(TerminalProfileInfoSchema).readonly(), { auth: "admin" }), method(_void(), array(
|
|
18488
|
+
method(_void(), array(TerminalProfileInfoSchema).readonly(), { auth: "admin" }), method(_void(), array(TerminalInstanceInfoSchema).readonly(), { auth: "admin" }), method(object({
|
|
18489
|
+
targetNodeId: string().min(1),
|
|
18490
|
+
profileId: string().min(1),
|
|
18491
|
+
name: string().trim().min(1).max(160).optional()
|
|
18492
|
+
}), TerminalInstanceInfoSchema, {
|
|
18493
|
+
kind: "mutation",
|
|
18494
|
+
auth: "admin"
|
|
18495
|
+
}), method(object({ instanceId: string().min(1) }), _void(), {
|
|
18496
|
+
kind: "mutation",
|
|
18497
|
+
auth: "admin"
|
|
18498
|
+
}), method(object({
|
|
18499
|
+
instanceId: string().min(1),
|
|
18500
|
+
enabled: boolean()
|
|
18501
|
+
}), TerminalInstanceInfoSchema, {
|
|
18502
|
+
kind: "mutation",
|
|
18503
|
+
auth: "admin"
|
|
18504
|
+
}), method(_void(), array(TerminalLegacyCameraSchema).readonly(), { auth: "admin" }), method(object({
|
|
18505
|
+
stableId: string().min(1),
|
|
18506
|
+
name: string().trim().min(1).max(160).optional()
|
|
18507
|
+
}), TerminalInstanceInfoSchema, {
|
|
18508
|
+
kind: "mutation",
|
|
18509
|
+
auth: "admin"
|
|
18510
|
+
}), method(_void(), array(TerminalSessionInfoSchema).readonly(), { auth: "admin" }), method(object({
|
|
18368
18511
|
profileId: string(),
|
|
18369
18512
|
cols: number().int().positive(),
|
|
18370
18513
|
rows: number().int().positive()
|
|
@@ -18381,7 +18524,13 @@ method(_void(), array(TerminalProfileInfoSchema).readonly(), { auth: "admin" }),
|
|
|
18381
18524
|
}), method(object({
|
|
18382
18525
|
sessionId: string(),
|
|
18383
18526
|
afterSeq: number().int().nonnegative(),
|
|
18384
|
-
waitMs: number().int().min(0).max(2e3).default(0)
|
|
18527
|
+
waitMs: number().int().min(0).max(2e3).default(0),
|
|
18528
|
+
/**
|
|
18529
|
+
* Wait when a just-opened session has no output yet. Kept opt-in so a
|
|
18530
|
+
* browser's initial repaint remains immediate; the camera snapshot
|
|
18531
|
+
* relay uses it to avoid encoding a blank startup frame.
|
|
18532
|
+
*/
|
|
18533
|
+
waitForOutput: boolean().optional()
|
|
18385
18534
|
}), TerminalOutputBatchSchema, {
|
|
18386
18535
|
kind: "mutation",
|
|
18387
18536
|
auth: "admin",
|
|
@@ -20322,6 +20471,7 @@ var FaceInfoSchema = object({
|
|
|
20322
20471
|
var FaceFilterEnum = _enum([
|
|
20323
20472
|
"unassigned",
|
|
20324
20473
|
"recognized",
|
|
20474
|
+
"identified",
|
|
20325
20475
|
"all"
|
|
20326
20476
|
]);
|
|
20327
20477
|
var MediaFileLiteSchema$1 = object({
|
|
@@ -20350,6 +20500,8 @@ method(_void(), array(IdentitySchema).readonly()), method(object({ name: string(
|
|
|
20350
20500
|
kind: "mutation",
|
|
20351
20501
|
auth: "admin"
|
|
20352
20502
|
}), method(object({
|
|
20503
|
+
/** Restrict to one camera. Absent keeps the cluster-wide gallery view. */
|
|
20504
|
+
deviceId: number().int().optional(),
|
|
20353
20505
|
limit: number().int().positive().optional(),
|
|
20354
20506
|
filter: FaceFilterEnum.optional(),
|
|
20355
20507
|
/**
|
|
@@ -22115,6 +22267,10 @@ var OsdSourceSchema = discriminatedUnion("kind", [
|
|
|
22115
22267
|
capName: string().min(1).max(64),
|
|
22116
22268
|
/** Dot path inside the slice, e.g. `detected`, `value`, `mode`. */
|
|
22117
22269
|
valuePath: string().min(1).max(64)
|
|
22270
|
+
}),
|
|
22271
|
+
object({
|
|
22272
|
+
kind: literal("latest-recognition"),
|
|
22273
|
+
recognition: _enum(["person", "plate"])
|
|
22118
22274
|
})
|
|
22119
22275
|
]);
|
|
22120
22276
|
var OsdSlotBindingSchema = object({
|
|
@@ -22220,6 +22376,15 @@ method(object({ deviceId: number().int() }), object({
|
|
|
22220
22376
|
}), object({ success: literal(true) }), {
|
|
22221
22377
|
kind: "mutation",
|
|
22222
22378
|
auth: "admin"
|
|
22379
|
+
}), method(object({
|
|
22380
|
+
sourceDeviceId: number().int(),
|
|
22381
|
+
targetDeviceId: number().int()
|
|
22382
|
+
}), object({
|
|
22383
|
+
copied: number().int().nonnegative(),
|
|
22384
|
+
skipped: number().int().nonnegative()
|
|
22385
|
+
}), {
|
|
22386
|
+
kind: "mutation",
|
|
22387
|
+
auth: "admin"
|
|
22223
22388
|
}), method(object({
|
|
22224
22389
|
deviceId: number().int(),
|
|
22225
22390
|
slotId: string().min(1),
|
|
@@ -23105,13 +23270,19 @@ method(object({
|
|
|
23105
23270
|
}), {
|
|
23106
23271
|
kind: "mutation",
|
|
23107
23272
|
auth: "admin"
|
|
23108
|
-
}), method(
|
|
23273
|
+
}), method(StorageMigrationLeaseInputSchema, object({ paused: literal(true) }), {
|
|
23109
23274
|
kind: "mutation",
|
|
23110
23275
|
auth: "admin"
|
|
23111
|
-
}), method(object({
|
|
23112
|
-
kind: "
|
|
23276
|
+
}), method(StorageMigrationLeaseInputSchema, object({ resumed: literal(true) }), {
|
|
23277
|
+
kind: "mutation",
|
|
23113
23278
|
auth: "admin"
|
|
23114
|
-
}), method(
|
|
23279
|
+
}), method(StorageMigrationLeaseInputSchema, object({ refreshed: literal(true) }), {
|
|
23280
|
+
kind: "mutation",
|
|
23281
|
+
auth: "admin"
|
|
23282
|
+
}), method(StorageMigrationFootageMoveInputSchema, object({ jobId: string() }), {
|
|
23283
|
+
kind: "mutation",
|
|
23284
|
+
auth: "admin"
|
|
23285
|
+
}), method(object({ jobId: string() }), RelocateJobSchema.nullable(), { auth: "admin" }), method(object({ jobId: string() }), object({ cancelled: boolean() }), {
|
|
23115
23286
|
kind: "mutation",
|
|
23116
23287
|
auth: "admin"
|
|
23117
23288
|
});
|
|
@@ -27233,6 +27404,12 @@ Object.freeze({
|
|
|
27233
27404
|
addonId: null,
|
|
27234
27405
|
access: "delete"
|
|
27235
27406
|
},
|
|
27407
|
+
"osdManager.copyDeviceConfiguration": {
|
|
27408
|
+
capName: "osd-manager",
|
|
27409
|
+
capScope: "system",
|
|
27410
|
+
addonId: null,
|
|
27411
|
+
access: "create"
|
|
27412
|
+
},
|
|
27236
27413
|
"osdManager.getConditionSupport": {
|
|
27237
27414
|
capName: "osd-manager",
|
|
27238
27415
|
capScope: "system",
|
|
@@ -27329,7 +27506,7 @@ Object.freeze({
|
|
|
27329
27506
|
addonId: null,
|
|
27330
27507
|
access: "create"
|
|
27331
27508
|
},
|
|
27332
|
-
"pipelineAnalytics.
|
|
27509
|
+
"pipelineAnalytics.cancelStorageMigrationMove": {
|
|
27333
27510
|
capName: "pipeline-analytics",
|
|
27334
27511
|
capScope: "device",
|
|
27335
27512
|
addonId: null,
|
|
@@ -27401,12 +27578,6 @@ Object.freeze({
|
|
|
27401
27578
|
addonId: null,
|
|
27402
27579
|
access: "view"
|
|
27403
27580
|
},
|
|
27404
|
-
"pipelineAnalytics.getMediaRelocateStatus": {
|
|
27405
|
-
capName: "pipeline-analytics",
|
|
27406
|
-
capScope: "device",
|
|
27407
|
-
addonId: null,
|
|
27408
|
-
access: "view"
|
|
27409
|
-
},
|
|
27410
27581
|
"pipelineAnalytics.getMotionEvents": {
|
|
27411
27582
|
capName: "pipeline-analytics",
|
|
27412
27583
|
capScope: "device",
|
|
@@ -27443,6 +27614,12 @@ Object.freeze({
|
|
|
27443
27614
|
addonId: null,
|
|
27444
27615
|
access: "view"
|
|
27445
27616
|
},
|
|
27617
|
+
"pipelineAnalytics.getStorageMigrationMoveStatus": {
|
|
27618
|
+
capName: "pipeline-analytics",
|
|
27619
|
+
capScope: "device",
|
|
27620
|
+
addonId: null,
|
|
27621
|
+
access: "view"
|
|
27622
|
+
},
|
|
27446
27623
|
"pipelineAnalytics.getTrack": {
|
|
27447
27624
|
capName: "pipeline-analytics",
|
|
27448
27625
|
capScope: "device",
|
|
@@ -27521,6 +27698,12 @@ Object.freeze({
|
|
|
27521
27698
|
addonId: null,
|
|
27522
27699
|
access: "view"
|
|
27523
27700
|
},
|
|
27701
|
+
"pipelineAnalytics.pauseForStorageMigration": {
|
|
27702
|
+
capName: "pipeline-analytics",
|
|
27703
|
+
capScope: "device",
|
|
27704
|
+
addonId: null,
|
|
27705
|
+
access: "create"
|
|
27706
|
+
},
|
|
27524
27707
|
"pipelineAnalytics.proposeRetrainAnnotations": {
|
|
27525
27708
|
capName: "pipeline-analytics",
|
|
27526
27709
|
capScope: "device",
|
|
@@ -27551,7 +27734,7 @@ Object.freeze({
|
|
|
27551
27734
|
addonId: null,
|
|
27552
27735
|
access: "create"
|
|
27553
27736
|
},
|
|
27554
|
-
"pipelineAnalytics.
|
|
27737
|
+
"pipelineAnalytics.refreshStorageLocationsForMigration": {
|
|
27555
27738
|
capName: "pipeline-analytics",
|
|
27556
27739
|
capScope: "device",
|
|
27557
27740
|
addonId: null,
|
|
@@ -27563,6 +27746,12 @@ Object.freeze({
|
|
|
27563
27746
|
addonId: null,
|
|
27564
27747
|
access: "create"
|
|
27565
27748
|
},
|
|
27749
|
+
"pipelineAnalytics.resumeForStorageMigration": {
|
|
27750
|
+
capName: "pipeline-analytics",
|
|
27751
|
+
capScope: "device",
|
|
27752
|
+
addonId: null,
|
|
27753
|
+
access: "create"
|
|
27754
|
+
},
|
|
27566
27755
|
"pipelineAnalytics.saveRetrainAnnotations": {
|
|
27567
27756
|
capName: "pipeline-analytics",
|
|
27568
27757
|
capScope: "device",
|
|
@@ -27587,6 +27776,12 @@ Object.freeze({
|
|
|
27587
27776
|
addonId: null,
|
|
27588
27777
|
access: "create"
|
|
27589
27778
|
},
|
|
27779
|
+
"pipelineAnalytics.startStorageMigrationMove": {
|
|
27780
|
+
capName: "pipeline-analytics",
|
|
27781
|
+
capScope: "device",
|
|
27782
|
+
addonId: null,
|
|
27783
|
+
access: "create"
|
|
27784
|
+
},
|
|
27590
27785
|
"pipelineAnalytics.wipeAllAnalytics": {
|
|
27591
27786
|
capName: "pipeline-analytics",
|
|
27592
27787
|
capScope: "device",
|
|
@@ -27953,6 +28148,12 @@ Object.freeze({
|
|
|
27953
28148
|
addonId: null,
|
|
27954
28149
|
access: "view"
|
|
27955
28150
|
},
|
|
28151
|
+
"pipelineOrchestrator.pauseForStorageMigration": {
|
|
28152
|
+
capName: "pipeline-orchestrator",
|
|
28153
|
+
capScope: "system",
|
|
28154
|
+
addonId: null,
|
|
28155
|
+
access: "create"
|
|
28156
|
+
},
|
|
27956
28157
|
"pipelineOrchestrator.rebalance": {
|
|
27957
28158
|
capName: "pipeline-orchestrator",
|
|
27958
28159
|
capScope: "system",
|
|
@@ -27977,6 +28178,12 @@ Object.freeze({
|
|
|
27977
28178
|
addonId: null,
|
|
27978
28179
|
access: "view"
|
|
27979
28180
|
},
|
|
28181
|
+
"pipelineOrchestrator.resumeForStorageMigration": {
|
|
28182
|
+
capName: "pipeline-orchestrator",
|
|
28183
|
+
capScope: "system",
|
|
28184
|
+
addonId: null,
|
|
28185
|
+
access: "create"
|
|
28186
|
+
},
|
|
27980
28187
|
"pipelineOrchestrator.saveTemplate": {
|
|
27981
28188
|
capName: "pipeline-orchestrator",
|
|
27982
28189
|
capScope: "system",
|
|
@@ -28373,7 +28580,7 @@ Object.freeze({
|
|
|
28373
28580
|
addonId: null,
|
|
28374
28581
|
access: "create"
|
|
28375
28582
|
},
|
|
28376
|
-
"recording.
|
|
28583
|
+
"recording.cancelStorageMigrationMove": {
|
|
28377
28584
|
capName: "recording",
|
|
28378
28585
|
capScope: "system",
|
|
28379
28586
|
addonId: null,
|
|
@@ -28409,7 +28616,7 @@ Object.freeze({
|
|
|
28409
28616
|
addonId: null,
|
|
28410
28617
|
access: "view"
|
|
28411
28618
|
},
|
|
28412
|
-
"recording.
|
|
28619
|
+
"recording.getStorageMigrationMoveStatus": {
|
|
28413
28620
|
capName: "recording",
|
|
28414
28621
|
capScope: "system",
|
|
28415
28622
|
addonId: null,
|
|
@@ -28433,6 +28640,12 @@ Object.freeze({
|
|
|
28433
28640
|
addonId: null,
|
|
28434
28641
|
access: "view"
|
|
28435
28642
|
},
|
|
28643
|
+
"recording.pauseForStorageMigration": {
|
|
28644
|
+
capName: "recording",
|
|
28645
|
+
capScope: "system",
|
|
28646
|
+
addonId: null,
|
|
28647
|
+
access: "create"
|
|
28648
|
+
},
|
|
28436
28649
|
"recording.pruneFootage": {
|
|
28437
28650
|
capName: "recording",
|
|
28438
28651
|
capScope: "system",
|
|
@@ -28451,7 +28664,7 @@ Object.freeze({
|
|
|
28451
28664
|
addonId: null,
|
|
28452
28665
|
access: "view"
|
|
28453
28666
|
},
|
|
28454
|
-
"recording.
|
|
28667
|
+
"recording.refreshStorageLocationsForMigration": {
|
|
28455
28668
|
capName: "recording",
|
|
28456
28669
|
capScope: "system",
|
|
28457
28670
|
addonId: null,
|
|
@@ -28475,12 +28688,24 @@ Object.freeze({
|
|
|
28475
28688
|
addonId: null,
|
|
28476
28689
|
access: "create"
|
|
28477
28690
|
},
|
|
28691
|
+
"recording.resumeForStorageMigration": {
|
|
28692
|
+
capName: "recording",
|
|
28693
|
+
capScope: "system",
|
|
28694
|
+
addonId: null,
|
|
28695
|
+
access: "create"
|
|
28696
|
+
},
|
|
28478
28697
|
"recording.setDeviceConfig": {
|
|
28479
28698
|
capName: "recording",
|
|
28480
28699
|
capScope: "system",
|
|
28481
28700
|
addonId: null,
|
|
28482
28701
|
access: "create"
|
|
28483
28702
|
},
|
|
28703
|
+
"recording.startStorageMigrationMove": {
|
|
28704
|
+
capName: "recording",
|
|
28705
|
+
capScope: "system",
|
|
28706
|
+
addonId: null,
|
|
28707
|
+
access: "create"
|
|
28708
|
+
},
|
|
28484
28709
|
"recordingExport.cancelExport": {
|
|
28485
28710
|
capName: "recordingExport",
|
|
28486
28711
|
capScope: "system",
|
|
@@ -28871,6 +29096,30 @@ Object.freeze({
|
|
|
28871
29096
|
addonId: null,
|
|
28872
29097
|
access: "view"
|
|
28873
29098
|
},
|
|
29099
|
+
"storageMigration.cancel": {
|
|
29100
|
+
capName: "storage-migration",
|
|
29101
|
+
capScope: "system",
|
|
29102
|
+
addonId: null,
|
|
29103
|
+
access: "create"
|
|
29104
|
+
},
|
|
29105
|
+
"storageMigration.plan": {
|
|
29106
|
+
capName: "storage-migration",
|
|
29107
|
+
capScope: "system",
|
|
29108
|
+
addonId: null,
|
|
29109
|
+
access: "view"
|
|
29110
|
+
},
|
|
29111
|
+
"storageMigration.start": {
|
|
29112
|
+
capName: "storage-migration",
|
|
29113
|
+
capScope: "system",
|
|
29114
|
+
addonId: null,
|
|
29115
|
+
access: "create"
|
|
29116
|
+
},
|
|
29117
|
+
"storageMigration.status": {
|
|
29118
|
+
capName: "storage-migration",
|
|
29119
|
+
capScope: "system",
|
|
29120
|
+
addonId: null,
|
|
29121
|
+
access: "view"
|
|
29122
|
+
},
|
|
28874
29123
|
"storageProvider.abortUpload": {
|
|
28875
29124
|
capName: "storage-provider",
|
|
28876
29125
|
capScope: "system",
|
|
@@ -29249,12 +29498,42 @@ Object.freeze({
|
|
|
29249
29498
|
addonId: null,
|
|
29250
29499
|
access: "create"
|
|
29251
29500
|
},
|
|
29501
|
+
"terminalSession.adoptLegacyMonitor": {
|
|
29502
|
+
capName: "terminal-session",
|
|
29503
|
+
capScope: "system",
|
|
29504
|
+
addonId: null,
|
|
29505
|
+
access: "create"
|
|
29506
|
+
},
|
|
29252
29507
|
"terminalSession.close": {
|
|
29253
29508
|
capName: "terminal-session",
|
|
29254
29509
|
capScope: "system",
|
|
29255
29510
|
addonId: null,
|
|
29256
29511
|
access: "create"
|
|
29257
29512
|
},
|
|
29513
|
+
"terminalSession.createInstance": {
|
|
29514
|
+
capName: "terminal-session",
|
|
29515
|
+
capScope: "system",
|
|
29516
|
+
addonId: null,
|
|
29517
|
+
access: "create"
|
|
29518
|
+
},
|
|
29519
|
+
"terminalSession.deleteInstance": {
|
|
29520
|
+
capName: "terminal-session",
|
|
29521
|
+
capScope: "system",
|
|
29522
|
+
addonId: null,
|
|
29523
|
+
access: "delete"
|
|
29524
|
+
},
|
|
29525
|
+
"terminalSession.listInstances": {
|
|
29526
|
+
capName: "terminal-session",
|
|
29527
|
+
capScope: "system",
|
|
29528
|
+
addonId: null,
|
|
29529
|
+
access: "view"
|
|
29530
|
+
},
|
|
29531
|
+
"terminalSession.listLegacyCameras": {
|
|
29532
|
+
capName: "terminal-session",
|
|
29533
|
+
capScope: "system",
|
|
29534
|
+
addonId: null,
|
|
29535
|
+
access: "view"
|
|
29536
|
+
},
|
|
29258
29537
|
"terminalSession.listProfiles": {
|
|
29259
29538
|
capName: "terminal-session",
|
|
29260
29539
|
capScope: "system",
|
|
@@ -29285,6 +29564,12 @@ Object.freeze({
|
|
|
29285
29564
|
addonId: null,
|
|
29286
29565
|
access: "create"
|
|
29287
29566
|
},
|
|
29567
|
+
"terminalSession.setInstanceEnabled": {
|
|
29568
|
+
capName: "terminal-session",
|
|
29569
|
+
capScope: "system",
|
|
29570
|
+
addonId: null,
|
|
29571
|
+
access: "create"
|
|
29572
|
+
},
|
|
29288
29573
|
"terminalSession.writeInput": {
|
|
29289
29574
|
capName: "terminal-session",
|
|
29290
29575
|
capScope: "system",
|
|
@@ -7575,12 +7575,11 @@ var RecordingConfigSchema = object({
|
|
|
7575
7575
|
/**
|
|
7576
7576
|
* Entity-relocation job state (storage entity-routing spec, Phase 4).
|
|
7577
7577
|
*
|
|
7578
|
-
* One shape shared by the recorder
|
|
7579
|
-
*
|
|
7580
|
-
*
|
|
7581
|
-
*
|
|
7582
|
-
*
|
|
7583
|
-
* row on the owning addon's surface.
|
|
7578
|
+
* One shape shared by the recorder and pipeline-analytics internal movers.
|
|
7579
|
+
* The public admin surface is `storage-migration`; child jobs remain in RAM
|
|
7580
|
+
* because copy-if-absent, verify, delete and index/row repoint are resumable.
|
|
7581
|
+
* Each completed/failed run also lands one durable ops-log row on its owning
|
|
7582
|
+
* addon surface.
|
|
7584
7583
|
*/
|
|
7585
7584
|
var RelocateJobStateSchema = _enum([
|
|
7586
7585
|
"running",
|
|
@@ -7607,19 +7606,100 @@ var RelocateJobSchema = object({
|
|
|
7607
7606
|
finishedAt: number().nullable(),
|
|
7608
7607
|
error: string().nullable()
|
|
7609
7608
|
});
|
|
7609
|
+
/** Profile-derived footage selection used only by the migration coordinator:
|
|
7610
|
+
* `recordings` owns high+mid; `recordingsLow` owns low. */
|
|
7611
|
+
var RelocateFootageClassSchema = _enum(["recordings", "recordingsLow"]);
|
|
7610
7612
|
var RelocateFootageInputSchema = object({
|
|
7611
|
-
deviceId: number().optional(),
|
|
7612
7613
|
fromLocationId: string(),
|
|
7613
7614
|
toLocationId: string(),
|
|
7614
7615
|
entities: array(_enum(["segments"])).optional(),
|
|
7616
|
+
/** Limits relocation to the logical profile class. Omit only for the
|
|
7617
|
+
* pre-orchestration compatibility path. */
|
|
7618
|
+
footageClass: RelocateFootageClassSchema.optional(),
|
|
7615
7619
|
/** Copy throttle in MB/s (default 40) — the drain is a background chore,
|
|
7616
7620
|
* never allowed to starve live writers. */
|
|
7617
7621
|
throttleMbps: number().min(1).max(1e3).optional()
|
|
7618
7622
|
});
|
|
7619
|
-
|
|
7620
|
-
|
|
7623
|
+
/** Internal, lease-scoped participant operation. It is intentionally separate
|
|
7624
|
+
* from persistent recording settings: a migration never changes
|
|
7625
|
+
* `RecordingConfig.enabled` or camera wrapper bindings. */
|
|
7626
|
+
var StorageMigrationLeaseInputSchema = object({ leaseId: string().min(1) });
|
|
7627
|
+
var StorageMigrationFootageMoveInputSchema = RelocateFootageInputSchema.extend({ leaseId: string().min(1) });
|
|
7628
|
+
var StorageMigrationMediaMoveInputSchema = object({
|
|
7621
7629
|
toLocationId: string(),
|
|
7622
7630
|
throttleMbps: number().min(1).max(1e3).optional()
|
|
7631
|
+
}).extend({ leaseId: string().min(1) });
|
|
7632
|
+
/** The independently selectable logical storage classes. `recordings`
|
|
7633
|
+
* encompasses the high and mid segment profiles; `recordingsLow` is low
|
|
7634
|
+
* segments; `eventMedia` is post-analysis blobs. */
|
|
7635
|
+
var StorageMigrationClassSchema = _enum([
|
|
7636
|
+
"recordings",
|
|
7637
|
+
"recordingsLow",
|
|
7638
|
+
"eventMedia"
|
|
7639
|
+
]);
|
|
7640
|
+
/** A destination is always an existing, fully-qualified location id. The
|
|
7641
|
+
* migration API intentionally never changes a source location's `basePath`:
|
|
7642
|
+
* callers create a new `<type>:<slug>` location, then select it here. */
|
|
7643
|
+
var StorageMigrationDestinationsSchema = object({
|
|
7644
|
+
recordings: string().min(1).optional(),
|
|
7645
|
+
recordingsLow: string().min(1).optional(),
|
|
7646
|
+
eventMedia: string().min(1).optional()
|
|
7647
|
+
}).refine((value) => Object.keys(value).length > 0, { message: "select at least one storage class" });
|
|
7648
|
+
/** Shared input for planning and starting an orchestrated storage migration. */
|
|
7649
|
+
var StorageMigrationInputSchema = object({
|
|
7650
|
+
destinations: StorageMigrationDestinationsSchema,
|
|
7651
|
+
throttleMbps: number().min(1).max(1e3).optional()
|
|
7652
|
+
});
|
|
7653
|
+
/** The durable coordinator state machine. The only phase that changes default
|
|
7654
|
+
* locations is `repointing`, after every selected mover has completed and been
|
|
7655
|
+
* verified. */
|
|
7656
|
+
var StorageMigrationPhaseSchema = _enum([
|
|
7657
|
+
"planning",
|
|
7658
|
+
"pausing",
|
|
7659
|
+
"moving",
|
|
7660
|
+
"verifying",
|
|
7661
|
+
"repointing",
|
|
7662
|
+
"refreshing",
|
|
7663
|
+
"resuming",
|
|
7664
|
+
"done",
|
|
7665
|
+
"failed",
|
|
7666
|
+
"cancelled"
|
|
7667
|
+
]);
|
|
7668
|
+
var StorageMigrationParticipantSchema = _enum([
|
|
7669
|
+
"pipeline",
|
|
7670
|
+
"recorder",
|
|
7671
|
+
"analytics"
|
|
7672
|
+
]);
|
|
7673
|
+
var StorageMigrationMoveSchema = object({
|
|
7674
|
+
storageClass: StorageMigrationClassSchema,
|
|
7675
|
+
fromLocationId: string(),
|
|
7676
|
+
toLocationId: string(),
|
|
7677
|
+
moverJobId: string().nullable(),
|
|
7678
|
+
state: RelocateJobStateSchema.nullable(),
|
|
7679
|
+
error: string().nullable()
|
|
7680
|
+
});
|
|
7681
|
+
var StorageMigrationJobSchema = object({
|
|
7682
|
+
jobId: string(),
|
|
7683
|
+
phase: StorageMigrationPhaseSchema,
|
|
7684
|
+
destinations: StorageMigrationDestinationsSchema,
|
|
7685
|
+
throttleMbps: number(),
|
|
7686
|
+
moves: array(StorageMigrationMoveSchema),
|
|
7687
|
+
pauseLeaseId: string().nullable(),
|
|
7688
|
+
pausedParticipants: array(StorageMigrationParticipantSchema),
|
|
7689
|
+
repointed: boolean(),
|
|
7690
|
+
cancelRequested: boolean(),
|
|
7691
|
+
startedAt: number(),
|
|
7692
|
+
updatedAt: number(),
|
|
7693
|
+
finishedAt: number().nullable(),
|
|
7694
|
+
error: string().nullable()
|
|
7695
|
+
});
|
|
7696
|
+
var StorageMigrationPlanSchema = object({
|
|
7697
|
+
destinations: StorageMigrationDestinationsSchema,
|
|
7698
|
+
moves: array(object({
|
|
7699
|
+
storageClass: StorageMigrationClassSchema,
|
|
7700
|
+
fromLocationId: string(),
|
|
7701
|
+
toLocationId: string()
|
|
7702
|
+
}))
|
|
7623
7703
|
});
|
|
7624
7704
|
/**
|
|
7625
7705
|
* `StorageLocationType` — an addon-declared id that identifies the *kind* of
|
|
@@ -16063,13 +16143,19 @@ DeviceType.Camera, method(object({ deviceId: number() }), array(TrackSchema).rea
|
|
|
16063
16143
|
}), method(object({ deviceId: number() }), EventPruneCountsSchema, {
|
|
16064
16144
|
kind: "mutation",
|
|
16065
16145
|
auth: "admin"
|
|
16066
|
-
}), method(
|
|
16146
|
+
}), method(StorageMigrationLeaseInputSchema, object({ paused: literal(true) }), {
|
|
16067
16147
|
kind: "mutation",
|
|
16068
16148
|
auth: "admin"
|
|
16069
|
-
}), method(object({
|
|
16070
|
-
kind: "
|
|
16149
|
+
}), method(StorageMigrationLeaseInputSchema, object({ resumed: literal(true) }), {
|
|
16150
|
+
kind: "mutation",
|
|
16151
|
+
auth: "admin"
|
|
16152
|
+
}), method(StorageMigrationLeaseInputSchema, object({ refreshed: literal(true) }), {
|
|
16153
|
+
kind: "mutation",
|
|
16154
|
+
auth: "admin"
|
|
16155
|
+
}), method(StorageMigrationMediaMoveInputSchema, object({ jobId: string() }), {
|
|
16156
|
+
kind: "mutation",
|
|
16071
16157
|
auth: "admin"
|
|
16072
|
-
}), method(object({ jobId: string() }), object({ cancelled: boolean() }), {
|
|
16158
|
+
}), method(object({ jobId: string() }), RelocateJobSchema.nullable(), { auth: "admin" }), method(object({ jobId: string() }), object({ cancelled: boolean() }), {
|
|
16073
16159
|
kind: "mutation",
|
|
16074
16160
|
auth: "admin"
|
|
16075
16161
|
}), method(OpsLogQueryInputSchema, array(OpsLogEntrySchema).readonly(), {
|
|
@@ -17566,7 +17652,13 @@ var NodeInferenceDevicesSchema = object({
|
|
|
17566
17652
|
reachable: boolean(),
|
|
17567
17653
|
devices: array(NodeInferenceDeviceSchema).readonly()
|
|
17568
17654
|
});
|
|
17569
|
-
method(object({
|
|
17655
|
+
method(StorageMigrationLeaseInputSchema, object({ paused: literal(true) }), {
|
|
17656
|
+
kind: "mutation",
|
|
17657
|
+
auth: "admin"
|
|
17658
|
+
}), method(StorageMigrationLeaseInputSchema, object({ resumed: literal(true) }), {
|
|
17659
|
+
kind: "mutation",
|
|
17660
|
+
auth: "admin"
|
|
17661
|
+
}), method(object({
|
|
17570
17662
|
deviceId: number(),
|
|
17571
17663
|
agentNodeId: string()
|
|
17572
17664
|
}), object({ success: literal(true) }), {
|
|
@@ -18240,6 +18332,13 @@ method(object({ locationId: string() }), EvictableUsageSchema), method(object({
|
|
|
18240
18332
|
locationId: string(),
|
|
18241
18333
|
targetBytes: number().int().positive()
|
|
18242
18334
|
}), EvictResultSchema, { kind: "mutation" });
|
|
18335
|
+
method(StorageMigrationInputSchema, StorageMigrationPlanSchema, { auth: "admin" }), method(StorageMigrationInputSchema, object({ jobId: string() }), {
|
|
18336
|
+
kind: "mutation",
|
|
18337
|
+
auth: "admin"
|
|
18338
|
+
}), method(object({ jobId: string().optional() }), StorageMigrationJobSchema.nullable(), { auth: "admin" }), method(object({ jobId: string() }), object({ cancelled: boolean() }), {
|
|
18339
|
+
kind: "mutation",
|
|
18340
|
+
auth: "admin"
|
|
18341
|
+
});
|
|
18243
18342
|
var ProviderInfoSchema = discriminatedUnion("shouldSaveDiskSpace", [object({
|
|
18244
18343
|
providerId: string().min(1),
|
|
18245
18344
|
displayName: string().min(1),
|
|
@@ -18343,6 +18442,28 @@ var TerminalProfileInfoSchema = object({
|
|
|
18343
18442
|
label: string(),
|
|
18344
18443
|
description: string().optional()
|
|
18345
18444
|
});
|
|
18445
|
+
/**
|
|
18446
|
+
* A durable operator-created Terminal instance. Profiles are templates; only
|
|
18447
|
+
* an instance declares a camera.
|
|
18448
|
+
*/
|
|
18449
|
+
var TerminalInstanceInfoSchema = object({
|
|
18450
|
+
instanceId: string(),
|
|
18451
|
+
cameraStableId: string(),
|
|
18452
|
+
nodeId: string(),
|
|
18453
|
+
profileId: string(),
|
|
18454
|
+
profileLabel: string(),
|
|
18455
|
+
name: string(),
|
|
18456
|
+
enabled: boolean()
|
|
18457
|
+
});
|
|
18458
|
+
var TerminalLegacyCameraSchema = object({
|
|
18459
|
+
stableId: string(),
|
|
18460
|
+
nodeId: string(),
|
|
18461
|
+
profileId: string(),
|
|
18462
|
+
profileLabel: string(),
|
|
18463
|
+
name: string(),
|
|
18464
|
+
/** Only legacy monitor cameras can retain their historic stable identity. */
|
|
18465
|
+
adoptable: boolean()
|
|
18466
|
+
});
|
|
18346
18467
|
var TerminalOutputEventSchema = discriminatedUnion("kind", [object({
|
|
18347
18468
|
seq: number().int().positive(),
|
|
18348
18469
|
kind: literal("data"),
|
|
@@ -18359,7 +18480,29 @@ var TerminalOutputBatchSchema = object({
|
|
|
18359
18480
|
snapshot: string().optional(),
|
|
18360
18481
|
events: array(TerminalOutputEventSchema).readonly()
|
|
18361
18482
|
});
|
|
18362
|
-
method(_void(), array(TerminalProfileInfoSchema).readonly(), { auth: "admin" }), method(_void(), array(
|
|
18483
|
+
method(_void(), array(TerminalProfileInfoSchema).readonly(), { auth: "admin" }), method(_void(), array(TerminalInstanceInfoSchema).readonly(), { auth: "admin" }), method(object({
|
|
18484
|
+
targetNodeId: string().min(1),
|
|
18485
|
+
profileId: string().min(1),
|
|
18486
|
+
name: string().trim().min(1).max(160).optional()
|
|
18487
|
+
}), TerminalInstanceInfoSchema, {
|
|
18488
|
+
kind: "mutation",
|
|
18489
|
+
auth: "admin"
|
|
18490
|
+
}), method(object({ instanceId: string().min(1) }), _void(), {
|
|
18491
|
+
kind: "mutation",
|
|
18492
|
+
auth: "admin"
|
|
18493
|
+
}), method(object({
|
|
18494
|
+
instanceId: string().min(1),
|
|
18495
|
+
enabled: boolean()
|
|
18496
|
+
}), TerminalInstanceInfoSchema, {
|
|
18497
|
+
kind: "mutation",
|
|
18498
|
+
auth: "admin"
|
|
18499
|
+
}), method(_void(), array(TerminalLegacyCameraSchema).readonly(), { auth: "admin" }), method(object({
|
|
18500
|
+
stableId: string().min(1),
|
|
18501
|
+
name: string().trim().min(1).max(160).optional()
|
|
18502
|
+
}), TerminalInstanceInfoSchema, {
|
|
18503
|
+
kind: "mutation",
|
|
18504
|
+
auth: "admin"
|
|
18505
|
+
}), method(_void(), array(TerminalSessionInfoSchema).readonly(), { auth: "admin" }), method(object({
|
|
18363
18506
|
profileId: string(),
|
|
18364
18507
|
cols: number().int().positive(),
|
|
18365
18508
|
rows: number().int().positive()
|
|
@@ -18376,7 +18519,13 @@ method(_void(), array(TerminalProfileInfoSchema).readonly(), { auth: "admin" }),
|
|
|
18376
18519
|
}), method(object({
|
|
18377
18520
|
sessionId: string(),
|
|
18378
18521
|
afterSeq: number().int().nonnegative(),
|
|
18379
|
-
waitMs: number().int().min(0).max(2e3).default(0)
|
|
18522
|
+
waitMs: number().int().min(0).max(2e3).default(0),
|
|
18523
|
+
/**
|
|
18524
|
+
* Wait when a just-opened session has no output yet. Kept opt-in so a
|
|
18525
|
+
* browser's initial repaint remains immediate; the camera snapshot
|
|
18526
|
+
* relay uses it to avoid encoding a blank startup frame.
|
|
18527
|
+
*/
|
|
18528
|
+
waitForOutput: boolean().optional()
|
|
18380
18529
|
}), TerminalOutputBatchSchema, {
|
|
18381
18530
|
kind: "mutation",
|
|
18382
18531
|
auth: "admin",
|
|
@@ -20317,6 +20466,7 @@ var FaceInfoSchema = object({
|
|
|
20317
20466
|
var FaceFilterEnum = _enum([
|
|
20318
20467
|
"unassigned",
|
|
20319
20468
|
"recognized",
|
|
20469
|
+
"identified",
|
|
20320
20470
|
"all"
|
|
20321
20471
|
]);
|
|
20322
20472
|
var MediaFileLiteSchema$1 = object({
|
|
@@ -20345,6 +20495,8 @@ method(_void(), array(IdentitySchema).readonly()), method(object({ name: string(
|
|
|
20345
20495
|
kind: "mutation",
|
|
20346
20496
|
auth: "admin"
|
|
20347
20497
|
}), method(object({
|
|
20498
|
+
/** Restrict to one camera. Absent keeps the cluster-wide gallery view. */
|
|
20499
|
+
deviceId: number().int().optional(),
|
|
20348
20500
|
limit: number().int().positive().optional(),
|
|
20349
20501
|
filter: FaceFilterEnum.optional(),
|
|
20350
20502
|
/**
|
|
@@ -22110,6 +22262,10 @@ var OsdSourceSchema = discriminatedUnion("kind", [
|
|
|
22110
22262
|
capName: string().min(1).max(64),
|
|
22111
22263
|
/** Dot path inside the slice, e.g. `detected`, `value`, `mode`. */
|
|
22112
22264
|
valuePath: string().min(1).max(64)
|
|
22265
|
+
}),
|
|
22266
|
+
object({
|
|
22267
|
+
kind: literal("latest-recognition"),
|
|
22268
|
+
recognition: _enum(["person", "plate"])
|
|
22113
22269
|
})
|
|
22114
22270
|
]);
|
|
22115
22271
|
var OsdSlotBindingSchema = object({
|
|
@@ -22215,6 +22371,15 @@ method(object({ deviceId: number().int() }), object({
|
|
|
22215
22371
|
}), object({ success: literal(true) }), {
|
|
22216
22372
|
kind: "mutation",
|
|
22217
22373
|
auth: "admin"
|
|
22374
|
+
}), method(object({
|
|
22375
|
+
sourceDeviceId: number().int(),
|
|
22376
|
+
targetDeviceId: number().int()
|
|
22377
|
+
}), object({
|
|
22378
|
+
copied: number().int().nonnegative(),
|
|
22379
|
+
skipped: number().int().nonnegative()
|
|
22380
|
+
}), {
|
|
22381
|
+
kind: "mutation",
|
|
22382
|
+
auth: "admin"
|
|
22218
22383
|
}), method(object({
|
|
22219
22384
|
deviceId: number().int(),
|
|
22220
22385
|
slotId: string().min(1),
|
|
@@ -23100,13 +23265,19 @@ method(object({
|
|
|
23100
23265
|
}), {
|
|
23101
23266
|
kind: "mutation",
|
|
23102
23267
|
auth: "admin"
|
|
23103
|
-
}), method(
|
|
23268
|
+
}), method(StorageMigrationLeaseInputSchema, object({ paused: literal(true) }), {
|
|
23104
23269
|
kind: "mutation",
|
|
23105
23270
|
auth: "admin"
|
|
23106
|
-
}), method(object({
|
|
23107
|
-
kind: "
|
|
23271
|
+
}), method(StorageMigrationLeaseInputSchema, object({ resumed: literal(true) }), {
|
|
23272
|
+
kind: "mutation",
|
|
23108
23273
|
auth: "admin"
|
|
23109
|
-
}), method(
|
|
23274
|
+
}), method(StorageMigrationLeaseInputSchema, object({ refreshed: literal(true) }), {
|
|
23275
|
+
kind: "mutation",
|
|
23276
|
+
auth: "admin"
|
|
23277
|
+
}), method(StorageMigrationFootageMoveInputSchema, object({ jobId: string() }), {
|
|
23278
|
+
kind: "mutation",
|
|
23279
|
+
auth: "admin"
|
|
23280
|
+
}), method(object({ jobId: string() }), RelocateJobSchema.nullable(), { auth: "admin" }), method(object({ jobId: string() }), object({ cancelled: boolean() }), {
|
|
23110
23281
|
kind: "mutation",
|
|
23111
23282
|
auth: "admin"
|
|
23112
23283
|
});
|
|
@@ -27228,6 +27399,12 @@ Object.freeze({
|
|
|
27228
27399
|
addonId: null,
|
|
27229
27400
|
access: "delete"
|
|
27230
27401
|
},
|
|
27402
|
+
"osdManager.copyDeviceConfiguration": {
|
|
27403
|
+
capName: "osd-manager",
|
|
27404
|
+
capScope: "system",
|
|
27405
|
+
addonId: null,
|
|
27406
|
+
access: "create"
|
|
27407
|
+
},
|
|
27231
27408
|
"osdManager.getConditionSupport": {
|
|
27232
27409
|
capName: "osd-manager",
|
|
27233
27410
|
capScope: "system",
|
|
@@ -27324,7 +27501,7 @@ Object.freeze({
|
|
|
27324
27501
|
addonId: null,
|
|
27325
27502
|
access: "create"
|
|
27326
27503
|
},
|
|
27327
|
-
"pipelineAnalytics.
|
|
27504
|
+
"pipelineAnalytics.cancelStorageMigrationMove": {
|
|
27328
27505
|
capName: "pipeline-analytics",
|
|
27329
27506
|
capScope: "device",
|
|
27330
27507
|
addonId: null,
|
|
@@ -27396,12 +27573,6 @@ Object.freeze({
|
|
|
27396
27573
|
addonId: null,
|
|
27397
27574
|
access: "view"
|
|
27398
27575
|
},
|
|
27399
|
-
"pipelineAnalytics.getMediaRelocateStatus": {
|
|
27400
|
-
capName: "pipeline-analytics",
|
|
27401
|
-
capScope: "device",
|
|
27402
|
-
addonId: null,
|
|
27403
|
-
access: "view"
|
|
27404
|
-
},
|
|
27405
27576
|
"pipelineAnalytics.getMotionEvents": {
|
|
27406
27577
|
capName: "pipeline-analytics",
|
|
27407
27578
|
capScope: "device",
|
|
@@ -27438,6 +27609,12 @@ Object.freeze({
|
|
|
27438
27609
|
addonId: null,
|
|
27439
27610
|
access: "view"
|
|
27440
27611
|
},
|
|
27612
|
+
"pipelineAnalytics.getStorageMigrationMoveStatus": {
|
|
27613
|
+
capName: "pipeline-analytics",
|
|
27614
|
+
capScope: "device",
|
|
27615
|
+
addonId: null,
|
|
27616
|
+
access: "view"
|
|
27617
|
+
},
|
|
27441
27618
|
"pipelineAnalytics.getTrack": {
|
|
27442
27619
|
capName: "pipeline-analytics",
|
|
27443
27620
|
capScope: "device",
|
|
@@ -27516,6 +27693,12 @@ Object.freeze({
|
|
|
27516
27693
|
addonId: null,
|
|
27517
27694
|
access: "view"
|
|
27518
27695
|
},
|
|
27696
|
+
"pipelineAnalytics.pauseForStorageMigration": {
|
|
27697
|
+
capName: "pipeline-analytics",
|
|
27698
|
+
capScope: "device",
|
|
27699
|
+
addonId: null,
|
|
27700
|
+
access: "create"
|
|
27701
|
+
},
|
|
27519
27702
|
"pipelineAnalytics.proposeRetrainAnnotations": {
|
|
27520
27703
|
capName: "pipeline-analytics",
|
|
27521
27704
|
capScope: "device",
|
|
@@ -27546,7 +27729,7 @@ Object.freeze({
|
|
|
27546
27729
|
addonId: null,
|
|
27547
27730
|
access: "create"
|
|
27548
27731
|
},
|
|
27549
|
-
"pipelineAnalytics.
|
|
27732
|
+
"pipelineAnalytics.refreshStorageLocationsForMigration": {
|
|
27550
27733
|
capName: "pipeline-analytics",
|
|
27551
27734
|
capScope: "device",
|
|
27552
27735
|
addonId: null,
|
|
@@ -27558,6 +27741,12 @@ Object.freeze({
|
|
|
27558
27741
|
addonId: null,
|
|
27559
27742
|
access: "create"
|
|
27560
27743
|
},
|
|
27744
|
+
"pipelineAnalytics.resumeForStorageMigration": {
|
|
27745
|
+
capName: "pipeline-analytics",
|
|
27746
|
+
capScope: "device",
|
|
27747
|
+
addonId: null,
|
|
27748
|
+
access: "create"
|
|
27749
|
+
},
|
|
27561
27750
|
"pipelineAnalytics.saveRetrainAnnotations": {
|
|
27562
27751
|
capName: "pipeline-analytics",
|
|
27563
27752
|
capScope: "device",
|
|
@@ -27582,6 +27771,12 @@ Object.freeze({
|
|
|
27582
27771
|
addonId: null,
|
|
27583
27772
|
access: "create"
|
|
27584
27773
|
},
|
|
27774
|
+
"pipelineAnalytics.startStorageMigrationMove": {
|
|
27775
|
+
capName: "pipeline-analytics",
|
|
27776
|
+
capScope: "device",
|
|
27777
|
+
addonId: null,
|
|
27778
|
+
access: "create"
|
|
27779
|
+
},
|
|
27585
27780
|
"pipelineAnalytics.wipeAllAnalytics": {
|
|
27586
27781
|
capName: "pipeline-analytics",
|
|
27587
27782
|
capScope: "device",
|
|
@@ -27948,6 +28143,12 @@ Object.freeze({
|
|
|
27948
28143
|
addonId: null,
|
|
27949
28144
|
access: "view"
|
|
27950
28145
|
},
|
|
28146
|
+
"pipelineOrchestrator.pauseForStorageMigration": {
|
|
28147
|
+
capName: "pipeline-orchestrator",
|
|
28148
|
+
capScope: "system",
|
|
28149
|
+
addonId: null,
|
|
28150
|
+
access: "create"
|
|
28151
|
+
},
|
|
27951
28152
|
"pipelineOrchestrator.rebalance": {
|
|
27952
28153
|
capName: "pipeline-orchestrator",
|
|
27953
28154
|
capScope: "system",
|
|
@@ -27972,6 +28173,12 @@ Object.freeze({
|
|
|
27972
28173
|
addonId: null,
|
|
27973
28174
|
access: "view"
|
|
27974
28175
|
},
|
|
28176
|
+
"pipelineOrchestrator.resumeForStorageMigration": {
|
|
28177
|
+
capName: "pipeline-orchestrator",
|
|
28178
|
+
capScope: "system",
|
|
28179
|
+
addonId: null,
|
|
28180
|
+
access: "create"
|
|
28181
|
+
},
|
|
27975
28182
|
"pipelineOrchestrator.saveTemplate": {
|
|
27976
28183
|
capName: "pipeline-orchestrator",
|
|
27977
28184
|
capScope: "system",
|
|
@@ -28368,7 +28575,7 @@ Object.freeze({
|
|
|
28368
28575
|
addonId: null,
|
|
28369
28576
|
access: "create"
|
|
28370
28577
|
},
|
|
28371
|
-
"recording.
|
|
28578
|
+
"recording.cancelStorageMigrationMove": {
|
|
28372
28579
|
capName: "recording",
|
|
28373
28580
|
capScope: "system",
|
|
28374
28581
|
addonId: null,
|
|
@@ -28404,7 +28611,7 @@ Object.freeze({
|
|
|
28404
28611
|
addonId: null,
|
|
28405
28612
|
access: "view"
|
|
28406
28613
|
},
|
|
28407
|
-
"recording.
|
|
28614
|
+
"recording.getStorageMigrationMoveStatus": {
|
|
28408
28615
|
capName: "recording",
|
|
28409
28616
|
capScope: "system",
|
|
28410
28617
|
addonId: null,
|
|
@@ -28428,6 +28635,12 @@ Object.freeze({
|
|
|
28428
28635
|
addonId: null,
|
|
28429
28636
|
access: "view"
|
|
28430
28637
|
},
|
|
28638
|
+
"recording.pauseForStorageMigration": {
|
|
28639
|
+
capName: "recording",
|
|
28640
|
+
capScope: "system",
|
|
28641
|
+
addonId: null,
|
|
28642
|
+
access: "create"
|
|
28643
|
+
},
|
|
28431
28644
|
"recording.pruneFootage": {
|
|
28432
28645
|
capName: "recording",
|
|
28433
28646
|
capScope: "system",
|
|
@@ -28446,7 +28659,7 @@ Object.freeze({
|
|
|
28446
28659
|
addonId: null,
|
|
28447
28660
|
access: "view"
|
|
28448
28661
|
},
|
|
28449
|
-
"recording.
|
|
28662
|
+
"recording.refreshStorageLocationsForMigration": {
|
|
28450
28663
|
capName: "recording",
|
|
28451
28664
|
capScope: "system",
|
|
28452
28665
|
addonId: null,
|
|
@@ -28470,12 +28683,24 @@ Object.freeze({
|
|
|
28470
28683
|
addonId: null,
|
|
28471
28684
|
access: "create"
|
|
28472
28685
|
},
|
|
28686
|
+
"recording.resumeForStorageMigration": {
|
|
28687
|
+
capName: "recording",
|
|
28688
|
+
capScope: "system",
|
|
28689
|
+
addonId: null,
|
|
28690
|
+
access: "create"
|
|
28691
|
+
},
|
|
28473
28692
|
"recording.setDeviceConfig": {
|
|
28474
28693
|
capName: "recording",
|
|
28475
28694
|
capScope: "system",
|
|
28476
28695
|
addonId: null,
|
|
28477
28696
|
access: "create"
|
|
28478
28697
|
},
|
|
28698
|
+
"recording.startStorageMigrationMove": {
|
|
28699
|
+
capName: "recording",
|
|
28700
|
+
capScope: "system",
|
|
28701
|
+
addonId: null,
|
|
28702
|
+
access: "create"
|
|
28703
|
+
},
|
|
28479
28704
|
"recordingExport.cancelExport": {
|
|
28480
28705
|
capName: "recordingExport",
|
|
28481
28706
|
capScope: "system",
|
|
@@ -28866,6 +29091,30 @@ Object.freeze({
|
|
|
28866
29091
|
addonId: null,
|
|
28867
29092
|
access: "view"
|
|
28868
29093
|
},
|
|
29094
|
+
"storageMigration.cancel": {
|
|
29095
|
+
capName: "storage-migration",
|
|
29096
|
+
capScope: "system",
|
|
29097
|
+
addonId: null,
|
|
29098
|
+
access: "create"
|
|
29099
|
+
},
|
|
29100
|
+
"storageMigration.plan": {
|
|
29101
|
+
capName: "storage-migration",
|
|
29102
|
+
capScope: "system",
|
|
29103
|
+
addonId: null,
|
|
29104
|
+
access: "view"
|
|
29105
|
+
},
|
|
29106
|
+
"storageMigration.start": {
|
|
29107
|
+
capName: "storage-migration",
|
|
29108
|
+
capScope: "system",
|
|
29109
|
+
addonId: null,
|
|
29110
|
+
access: "create"
|
|
29111
|
+
},
|
|
29112
|
+
"storageMigration.status": {
|
|
29113
|
+
capName: "storage-migration",
|
|
29114
|
+
capScope: "system",
|
|
29115
|
+
addonId: null,
|
|
29116
|
+
access: "view"
|
|
29117
|
+
},
|
|
28869
29118
|
"storageProvider.abortUpload": {
|
|
28870
29119
|
capName: "storage-provider",
|
|
28871
29120
|
capScope: "system",
|
|
@@ -29244,12 +29493,42 @@ Object.freeze({
|
|
|
29244
29493
|
addonId: null,
|
|
29245
29494
|
access: "create"
|
|
29246
29495
|
},
|
|
29496
|
+
"terminalSession.adoptLegacyMonitor": {
|
|
29497
|
+
capName: "terminal-session",
|
|
29498
|
+
capScope: "system",
|
|
29499
|
+
addonId: null,
|
|
29500
|
+
access: "create"
|
|
29501
|
+
},
|
|
29247
29502
|
"terminalSession.close": {
|
|
29248
29503
|
capName: "terminal-session",
|
|
29249
29504
|
capScope: "system",
|
|
29250
29505
|
addonId: null,
|
|
29251
29506
|
access: "create"
|
|
29252
29507
|
},
|
|
29508
|
+
"terminalSession.createInstance": {
|
|
29509
|
+
capName: "terminal-session",
|
|
29510
|
+
capScope: "system",
|
|
29511
|
+
addonId: null,
|
|
29512
|
+
access: "create"
|
|
29513
|
+
},
|
|
29514
|
+
"terminalSession.deleteInstance": {
|
|
29515
|
+
capName: "terminal-session",
|
|
29516
|
+
capScope: "system",
|
|
29517
|
+
addonId: null,
|
|
29518
|
+
access: "delete"
|
|
29519
|
+
},
|
|
29520
|
+
"terminalSession.listInstances": {
|
|
29521
|
+
capName: "terminal-session",
|
|
29522
|
+
capScope: "system",
|
|
29523
|
+
addonId: null,
|
|
29524
|
+
access: "view"
|
|
29525
|
+
},
|
|
29526
|
+
"terminalSession.listLegacyCameras": {
|
|
29527
|
+
capName: "terminal-session",
|
|
29528
|
+
capScope: "system",
|
|
29529
|
+
addonId: null,
|
|
29530
|
+
access: "view"
|
|
29531
|
+
},
|
|
29253
29532
|
"terminalSession.listProfiles": {
|
|
29254
29533
|
capName: "terminal-session",
|
|
29255
29534
|
capScope: "system",
|
|
@@ -29280,6 +29559,12 @@ Object.freeze({
|
|
|
29280
29559
|
addonId: null,
|
|
29281
29560
|
access: "create"
|
|
29282
29561
|
},
|
|
29562
|
+
"terminalSession.setInstanceEnabled": {
|
|
29563
|
+
capName: "terminal-session",
|
|
29564
|
+
capScope: "system",
|
|
29565
|
+
addonId: null,
|
|
29566
|
+
access: "create"
|
|
29567
|
+
},
|
|
29283
29568
|
"terminalSession.writeInput": {
|
|
29284
29569
|
capName: "terminal-session",
|
|
29285
29570
|
capScope: "system",
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@camstack/addon-mqtt-broker",
|
|
3
|
-
"version": "1.2.
|
|
3
|
+
"version": "1.2.13",
|
|
4
4
|
"description": "MQTT broker registry addon for CamStack — manages external broker entries + an optional embedded aedes broker. Consumers spin up their own `mqtt.js` clients via the `mqtt-broker` cap.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"camstack",
|