@camstack/addon-agent-ui 1.2.50 → 1.2.52
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 +235 -74
- package/package.json +1 -1
package/dist/addon.js
CHANGED
|
@@ -8099,6 +8099,13 @@ var MediaRelocateModeSchema = _enum([
|
|
|
8099
8099
|
]);
|
|
8100
8100
|
var RelocateMediaInputSchema = object({
|
|
8101
8101
|
toLocationId: string(),
|
|
8102
|
+
/**
|
|
8103
|
+
* Restrict the pass to rows currently on this location. Omitted / `'*'` =
|
|
8104
|
+
* every row that is not already on `toLocationId` (the historical
|
|
8105
|
+
* behaviour). A named source is what a from→to migration needs: without it
|
|
8106
|
+
* "move events off disk 2" also emptied disk 1.
|
|
8107
|
+
*/
|
|
8108
|
+
fromLocationId: string().optional(),
|
|
8102
8109
|
throttleMbps: number().min(1).max(1e3).optional(),
|
|
8103
8110
|
/** Omitted = `move`, the pre-existing behaviour. */
|
|
8104
8111
|
mode: MediaRelocateModeSchema.optional()
|
|
@@ -8166,6 +8173,19 @@ var StorageMigrationDestinationsSchema = object({
|
|
|
8166
8173
|
galleryMedia: string().min(1).optional()
|
|
8167
8174
|
}).refine((value) => Object.keys(value).length > 0, { message: "select at least one storage class" });
|
|
8168
8175
|
/**
|
|
8176
|
+
* Optional named source per class. Omitted = the class's current default
|
|
8177
|
+
* (the historical behaviour). A named source that is NOT the default is a
|
|
8178
|
+
* drain of that disk: bytes move, the default stays, and the source is
|
|
8179
|
+
* disabled when the move finishes.
|
|
8180
|
+
*/
|
|
8181
|
+
var StorageMigrationSourcesSchema = object({
|
|
8182
|
+
recordings: string().min(1).optional(),
|
|
8183
|
+
recordingsLow: string().min(1).optional(),
|
|
8184
|
+
eventMedia: string().min(1).optional(),
|
|
8185
|
+
backups: string().min(1).optional(),
|
|
8186
|
+
galleryMedia: string().min(1).optional()
|
|
8187
|
+
}).optional();
|
|
8188
|
+
/**
|
|
8169
8189
|
* How a migration sequences the cutover against the byte move.
|
|
8170
8190
|
*
|
|
8171
8191
|
* - `blocking` — the historical order: pause, move every byte, repoint,
|
|
@@ -8187,6 +8207,8 @@ var StorageMigrationModeSchema = _enum(["blocking", "nonBlocking"]);
|
|
|
8187
8207
|
/** Shared input for planning and starting an orchestrated storage migration. */
|
|
8188
8208
|
var StorageMigrationInputSchema = object({
|
|
8189
8209
|
destinations: StorageMigrationDestinationsSchema,
|
|
8210
|
+
/** Omitted = each class's current default. */
|
|
8211
|
+
sources: StorageMigrationSourcesSchema,
|
|
8190
8212
|
throttleMbps: number().min(1).max(1e3).optional(),
|
|
8191
8213
|
/** Omitted = `blocking`, which stays the default. */
|
|
8192
8214
|
mode: StorageMigrationModeSchema.optional()
|
|
@@ -8266,6 +8288,13 @@ var StorageMigrationMoveSchema = object({
|
|
|
8266
8288
|
storageClass: StorageMigrationClassSchema,
|
|
8267
8289
|
fromLocationId: string(),
|
|
8268
8290
|
toLocationId: string(),
|
|
8291
|
+
/**
|
|
8292
|
+
* True when `from` was NOT the class default at plan time. The move still
|
|
8293
|
+
* copies bytes, but the default is left alone and the source is disabled
|
|
8294
|
+
* once the copy verifies. Absent on jobs planned before this field existed
|
|
8295
|
+
* — those jobs always repointed, which is `false`.
|
|
8296
|
+
*/
|
|
8297
|
+
freezeSource: boolean().optional(),
|
|
8269
8298
|
moverJobId: string().nullable(),
|
|
8270
8299
|
state: RelocateJobStateSchema.nullable(),
|
|
8271
8300
|
error: string().nullable(),
|
|
@@ -8279,6 +8308,7 @@ var StorageMigrationJobSchema = object({
|
|
|
8279
8308
|
* can tell a seconds-long cutover from a thirty-hour one. */
|
|
8280
8309
|
mode: StorageMigrationModeSchema,
|
|
8281
8310
|
destinations: StorageMigrationDestinationsSchema,
|
|
8311
|
+
sources: StorageMigrationSourcesSchema,
|
|
8282
8312
|
throttleMbps: number(),
|
|
8283
8313
|
moves: array(StorageMigrationMoveSchema),
|
|
8284
8314
|
pauseLeaseId: string().nullable(),
|
|
@@ -8304,6 +8334,7 @@ var StorageMigrationFindingSchema = object({
|
|
|
8304
8334
|
});
|
|
8305
8335
|
var StorageMigrationPlanSchema = object({
|
|
8306
8336
|
destinations: StorageMigrationDestinationsSchema,
|
|
8337
|
+
sources: StorageMigrationSourcesSchema,
|
|
8307
8338
|
/** The mode this plan was built for. A plan is only valid for its mode: the
|
|
8308
8339
|
* `eventMedia` seal gate and the single-cardinality refusal both depend on
|
|
8309
8340
|
* it. */
|
|
@@ -8311,7 +8342,8 @@ var StorageMigrationPlanSchema = object({
|
|
|
8311
8342
|
moves: array(object({
|
|
8312
8343
|
storageClass: StorageMigrationClassSchema,
|
|
8313
8344
|
fromLocationId: string(),
|
|
8314
|
-
toLocationId: string()
|
|
8345
|
+
toLocationId: string(),
|
|
8346
|
+
freezeSource: boolean().optional()
|
|
8315
8347
|
})),
|
|
8316
8348
|
findings: array(StorageMigrationFindingSchema)
|
|
8317
8349
|
});
|
|
@@ -8489,10 +8521,51 @@ var LedgerWalkReportSchema = object({
|
|
|
8489
8521
|
var RelocatableMediaCountSchema = object({ rows: number().int().nonnegative() }).nullable();
|
|
8490
8522
|
var RelocatableMediaCountInputSchema = object({
|
|
8491
8523
|
toLocationId: string().min(1),
|
|
8524
|
+
/** Restrict the count to one source; omitted / `'*'` = every non-target row. */
|
|
8525
|
+
fromLocationId: string().optional(),
|
|
8492
8526
|
/** Omitted = `move`. */
|
|
8493
8527
|
mode: MediaRelocateModeSchema.optional()
|
|
8494
8528
|
});
|
|
8495
8529
|
/**
|
|
8530
|
+
* Operator cleanup of leftover analytics rows, optional debug media, and
|
|
8531
|
+
* ghost ledger entries on frozen footage locations.
|
|
8532
|
+
*
|
|
8533
|
+
* A pass is tens of minutes on a standing backlog. The hub method RETURNS
|
|
8534
|
+
* `{ jobId }` immediately; progress is `cleanupStatus`. Awaiting the work
|
|
8535
|
+
* is how `addons.custom` hit the 60 s UDS deadline while reclaim continued
|
|
8536
|
+
* with no operator-visible status.
|
|
8537
|
+
*/
|
|
8538
|
+
var StorageCleanupPhaseSchema = _enum([
|
|
8539
|
+
"orphans",
|
|
8540
|
+
"debug-media",
|
|
8541
|
+
"ghost-ledger",
|
|
8542
|
+
"done",
|
|
8543
|
+
"failed",
|
|
8544
|
+
"cancelled"
|
|
8545
|
+
]);
|
|
8546
|
+
var StorageCleanupInputSchema = object({
|
|
8547
|
+
/** Also walk motion stills / track filmstrips. Off by default. */
|
|
8548
|
+
includeDebugMedia: boolean().optional() });
|
|
8549
|
+
var StorageCleanupJobSchema = object({
|
|
8550
|
+
jobId: string(),
|
|
8551
|
+
phase: StorageCleanupPhaseSchema,
|
|
8552
|
+
includeDebugMedia: boolean(),
|
|
8553
|
+
orphansReclaimed: number().int().nonnegative(),
|
|
8554
|
+
orphanBytesReclaimed: number().int().nonnegative(),
|
|
8555
|
+
debugMediaReclaimed: number().int().nonnegative(),
|
|
8556
|
+
debugMediaBytesReclaimed: number().int().nonnegative(),
|
|
8557
|
+
ghostsForgotten: number().int().nonnegative(),
|
|
8558
|
+
ghostBytesForgotten: number().int().nonnegative(),
|
|
8559
|
+
/** Short operator-facing line: current collection, pass, or location. */
|
|
8560
|
+
detail: string().nullable(),
|
|
8561
|
+
cancelRequested: boolean(),
|
|
8562
|
+
startedAt: number(),
|
|
8563
|
+
updatedAt: number(),
|
|
8564
|
+
finishedAt: number().nullable(),
|
|
8565
|
+
error: string().nullable()
|
|
8566
|
+
});
|
|
8567
|
+
var StorageCleanupStatusInputSchema = object({ jobId: string().optional() });
|
|
8568
|
+
/**
|
|
8496
8569
|
* `StorageLocationType` — an addon-declared id that identifies the *kind* of
|
|
8497
8570
|
* storage a location serves. Defined here (not in `capabilities/storage.cap.ts`)
|
|
8498
8571
|
* so the persisted record schema and the consumer-facing cap can both consume it
|
|
@@ -8520,11 +8593,10 @@ var StorageLocationTypeSchema = string().regex(/^[a-z][a-zA-Z0-9-]*$/);
|
|
|
8520
8593
|
* The default location for a type uses `id === <type>:default` by
|
|
8521
8594
|
* convention (the bare type ref like `'backups'` resolves to it).
|
|
8522
8595
|
*
|
|
8523
|
-
* `isSystem
|
|
8524
|
-
*
|
|
8525
|
-
*
|
|
8526
|
-
*
|
|
8527
|
-
* deleting it is rejected at the cap level.
|
|
8596
|
+
* `isSystem` is a legacy persisted flag. Seed still creates the initial
|
|
8597
|
+
* `<type>:default` locations; the flag is no longer a lock, a badge, or a
|
|
8598
|
+
* prune selector. New writes leave it false. Deletion is gated on uniqueness
|
|
8599
|
+
* / last-enabled, not on this bit.
|
|
8528
8600
|
*/
|
|
8529
8601
|
var StorageLocationSchema = object({
|
|
8530
8602
|
id: string().regex(/^[a-z][a-zA-Z0-9-]*:[a-zA-Z0-9-]+$/),
|
|
@@ -12786,6 +12858,12 @@ method(object({
|
|
|
12786
12858
|
}), _void(), {
|
|
12787
12859
|
kind: "mutation",
|
|
12788
12860
|
auth: "admin"
|
|
12861
|
+
}), method(object({
|
|
12862
|
+
from: string(),
|
|
12863
|
+
to: string()
|
|
12864
|
+
}), object({ moved: number() }), {
|
|
12865
|
+
kind: "mutation",
|
|
12866
|
+
auth: "admin"
|
|
12789
12867
|
}), method(object({
|
|
12790
12868
|
deviceId: number(),
|
|
12791
12869
|
disabled: boolean()
|
|
@@ -18716,46 +18794,6 @@ var RecentTracksPageSchema = object({
|
|
|
18716
18794
|
/** Cursor for the next page, or null when this page is the last. */
|
|
18717
18795
|
nextCursor: string().nullable()
|
|
18718
18796
|
});
|
|
18719
|
-
var LIST_GROUPS_DEFAULT_LIMIT = 40;
|
|
18720
|
-
var LIST_GROUPS_MAX_LIMIT = 100;
|
|
18721
|
-
var AnalyticsGroupRecordSchema = object({
|
|
18722
|
-
id: string(),
|
|
18723
|
-
deviceId: number().int(),
|
|
18724
|
-
openedAt: number().int(),
|
|
18725
|
-
closedAt: number().int(),
|
|
18726
|
-
timestamp: number().int(),
|
|
18727
|
-
memberCount: number().int(),
|
|
18728
|
-
memberTrackIds: array(string()).readonly(),
|
|
18729
|
-
className: string(),
|
|
18730
|
-
classes: array(string()).readonly(),
|
|
18731
|
-
/** Relative event-media path, or null when the group has no picture yet. */
|
|
18732
|
-
mediaUrl: string().nullable(),
|
|
18733
|
-
singleton: boolean()
|
|
18734
|
-
});
|
|
18735
|
-
var AnalyticsGroupMemberSchema = object({
|
|
18736
|
-
trackId: string(),
|
|
18737
|
-
deviceId: number().int(),
|
|
18738
|
-
className: string(),
|
|
18739
|
-
firstSeen: number().int(),
|
|
18740
|
-
lastSeen: number().int(),
|
|
18741
|
-
mediaUrl: string().nullable()
|
|
18742
|
-
});
|
|
18743
|
-
var AnalyticsGroupDetailSchema = AnalyticsGroupRecordSchema.extend({ members: array(AnalyticsGroupMemberSchema).readonly() });
|
|
18744
|
-
var ListGroupsQueryInput = object({
|
|
18745
|
-
/** Devices to merge. An empty array yields `{ groups: [], nextCursor: null }`. */
|
|
18746
|
-
deviceIds: array(number()),
|
|
18747
|
-
/** Window lower bound on `closedAt` (inclusive). */
|
|
18748
|
-
since: number().optional(),
|
|
18749
|
-
/** Window upper bound on `openedAt` (inclusive). */
|
|
18750
|
-
until: number().optional(),
|
|
18751
|
-
limit: number().int().min(1).max(LIST_GROUPS_MAX_LIMIT).default(LIST_GROUPS_DEFAULT_LIMIT),
|
|
18752
|
-
/** Opaque continuation cursor from a previous page's `nextCursor`. */
|
|
18753
|
-
cursor: string().optional()
|
|
18754
|
-
});
|
|
18755
|
-
var ListGroupsPageSchema = object({
|
|
18756
|
-
groups: array(AnalyticsGroupRecordSchema).readonly(),
|
|
18757
|
-
nextCursor: string().nullable()
|
|
18758
|
-
});
|
|
18759
18797
|
var KEY_EVENTS_DEFAULT_LIMIT = 50;
|
|
18760
18798
|
var KEY_EVENTS_MAX_LIMIT = 200;
|
|
18761
18799
|
var KeyEventQueryInput = object({
|
|
@@ -18859,9 +18897,7 @@ var TrackCascadeCountsSchema = object({
|
|
|
18859
18897
|
/** Unassigned plate reads removed (best-effort; plate leg deferred to plate-intelligence). */
|
|
18860
18898
|
plates: number().int(),
|
|
18861
18899
|
/** Per-track CLIP search vectors removed (best-effort). */
|
|
18862
|
-
embeddings: number().int()
|
|
18863
|
-
/** Group membership + group rows removed with their last member (best-effort). */
|
|
18864
|
-
groups: number().int()
|
|
18900
|
+
embeddings: number().int()
|
|
18865
18901
|
});
|
|
18866
18902
|
/** Disk-wins reconcile: media rows whose blobs are gone, then empty tracks. */
|
|
18867
18903
|
var DiskReconcileCountsSchema = object({
|
|
@@ -19031,6 +19067,47 @@ var RebuildStatusSchema = object({
|
|
|
19031
19067
|
/** Present when the pass ended by throwing. */
|
|
19032
19068
|
error: string().nullable()
|
|
19033
19069
|
});
|
|
19070
|
+
/**
|
|
19071
|
+
* Acknowledgement that a debug-media reclaim STARTED.
|
|
19072
|
+
*
|
|
19073
|
+
* The pass is paced at ~2 MB/s over a standing 100 GB — tens of minutes — so
|
|
19074
|
+
* it runs detached and this returns immediately. Awaiting it is how the
|
|
19075
|
+
* `addons.custom` door hit the 60 s UDS deadline while the walk carried on
|
|
19076
|
+
* with no status. Poll {@link pipelineAnalyticsCapability.methods.getMediaReclaimStatus}.
|
|
19077
|
+
*/
|
|
19078
|
+
var MediaReclaimStartResultSchema = object({
|
|
19079
|
+
started: boolean(),
|
|
19080
|
+
/** True when a pass was already running; the new request is ignored. */
|
|
19081
|
+
alreadyRunning: boolean()
|
|
19082
|
+
});
|
|
19083
|
+
var MediaReclaimInputSchema = object({
|
|
19084
|
+
mode: _enum(["report", "reclaim"]).default("report"),
|
|
19085
|
+
scopes: array(_enum(["motion-still", "track-filmstrip"])).min(1).optional(),
|
|
19086
|
+
deviceIds: array(number().int()).min(1).optional(),
|
|
19087
|
+
restart: boolean().optional(),
|
|
19088
|
+
pageSize: number().int().min(50).max(5e3).optional(),
|
|
19089
|
+
maxRowsPerDevice: number().int().min(1).max(5e5).optional(),
|
|
19090
|
+
maxReclaimPerDevice: number().int().min(1).max(5e5).optional(),
|
|
19091
|
+
maxBytesPerRun: number().int().min(1).optional(),
|
|
19092
|
+
budgetMinutes: number().int().min(1).max(720).optional(),
|
|
19093
|
+
throttleBytesPerSec: number().int().min(64 * 1024).optional(),
|
|
19094
|
+
graceMinutes: number().int().min(1).max(10080).optional()
|
|
19095
|
+
});
|
|
19096
|
+
var MediaReclaimStatusSchema = object({
|
|
19097
|
+
running: boolean(),
|
|
19098
|
+
mode: _enum(["report", "reclaim"]).nullable(),
|
|
19099
|
+
totalExamined: number(),
|
|
19100
|
+
totalEligible: number(),
|
|
19101
|
+
totalReclaimed: number(),
|
|
19102
|
+
totalBytesReclaimed: number(),
|
|
19103
|
+
totalRefused: number(),
|
|
19104
|
+
/** Device+scope windows finished in this pass. */
|
|
19105
|
+
devicesDone: number(),
|
|
19106
|
+
complete: boolean().nullable(),
|
|
19107
|
+
startedAtMs: number().nullable(),
|
|
19108
|
+
finishedAtMs: number().nullable(),
|
|
19109
|
+
error: string().nullable()
|
|
19110
|
+
});
|
|
19034
19111
|
var ReplayFrameInputSchema = object({
|
|
19035
19112
|
timestamp: number(),
|
|
19036
19113
|
frame: PipelineRunResultBridge
|
|
@@ -19069,10 +19146,7 @@ DeviceType.Camera, method(object({ deviceId: number() }), array(TrackSchema).rea
|
|
|
19069
19146
|
* stationary registry). Default false: the timeline lists passages,
|
|
19070
19147
|
* not parking records (operator decision, 2026-08-15). */
|
|
19071
19148
|
includeStationary: boolean().optional()
|
|
19072
|
-
}), array(TrackSchema).readonly()), method(RecentTracksQueryInput, RecentTracksPageSchema), method(
|
|
19073
|
-
deviceId: number(),
|
|
19074
|
-
groupId: string().min(1)
|
|
19075
|
-
}), AnalyticsGroupDetailSchema.nullable()), method(object({ deviceId: number() }), _void(), {
|
|
19149
|
+
}), array(TrackSchema).readonly()), method(RecentTracksQueryInput, RecentTracksPageSchema), method(object({ deviceId: number() }), _void(), {
|
|
19076
19150
|
kind: "mutation",
|
|
19077
19151
|
auth: "admin"
|
|
19078
19152
|
}), method(DeviceEventQueryInput, array(MotionEventSchema).readonly()), method(ObjectEventQueryInput, array(ObjectEventSchema).readonly()), method(DeviceEventQueryInput, array(AudioEventSchema).readonly()), method(object({ deviceId: number() }), array(EventKindDescriptorSchema).readonly()), method(object({ deviceIds: array(number()).min(1).max(200) }), array(EventKindsForDeviceSchema).readonly()), method(object({
|
|
@@ -19172,6 +19246,12 @@ DeviceType.Camera, method(object({ deviceId: number() }), array(TrackSchema).rea
|
|
|
19172
19246
|
}), method(OpsLogQueryInputSchema, array(OpsLogEntrySchema).readonly(), {
|
|
19173
19247
|
kind: "query",
|
|
19174
19248
|
auth: "admin"
|
|
19249
|
+
}), method(MediaReclaimInputSchema, MediaReclaimStartResultSchema, {
|
|
19250
|
+
kind: "mutation",
|
|
19251
|
+
auth: "admin"
|
|
19252
|
+
}), method(object({}), MediaReclaimStatusSchema, {
|
|
19253
|
+
kind: "query",
|
|
19254
|
+
auth: "admin"
|
|
19175
19255
|
}), method(object({ deviceIds: array(number()).optional() }), TrainingExportSummarySchema, {
|
|
19176
19256
|
kind: "query",
|
|
19177
19257
|
auth: "admin"
|
|
@@ -21142,7 +21222,13 @@ method(StorageMigrationInputSchema, StorageMigrationPlanSchema, { auth: "admin"
|
|
|
21142
21222
|
}), method(object({}), array(StorageMigrationMoverSchema).readonly(), { auth: "admin" }), method(object({}), array(StorageMigrationResidueSchema).readonly(), { auth: "admin" }), method(StorageMigrationDrainInputSchema, object({ jobId: string() }), {
|
|
21143
21223
|
kind: "mutation",
|
|
21144
21224
|
auth: "admin"
|
|
21145
|
-
})
|
|
21225
|
+
}), method(StorageCleanupInputSchema, object({ jobId: string() }), {
|
|
21226
|
+
kind: "mutation",
|
|
21227
|
+
auth: "admin"
|
|
21228
|
+
}), method(StorageCleanupStatusInputSchema, StorageCleanupJobSchema.nullable(), { auth: "admin" }), method(object({ jobId: string() }), object({ cancelled: boolean() }), {
|
|
21229
|
+
kind: "mutation",
|
|
21230
|
+
auth: "admin"
|
|
21231
|
+
}), method(object({}), array(StorageMigrationJobSchema).readonly(), { auth: "admin" });
|
|
21146
21232
|
var ProviderInfoSchema = discriminatedUnion("shouldSaveDiskSpace", [object({
|
|
21147
21233
|
providerId: string().min(1),
|
|
21148
21234
|
displayName: string().min(1),
|
|
@@ -26520,6 +26606,33 @@ var RecordingRebalanceInputSchema = object({
|
|
|
26520
26606
|
minMoveGb: number().min(0).optional()
|
|
26521
26607
|
});
|
|
26522
26608
|
/**
|
|
26609
|
+
* Operator-facing placement of one camera onto a recordings location.
|
|
26610
|
+
*
|
|
26611
|
+
* `pinLocationId` is the operator instruction: a location id, or `null` for
|
|
26612
|
+
* Auto (the planner may move this camera). `locationId` is where high/mid
|
|
26613
|
+
* currently write — the plan, which may disagree with the pin when Auto.
|
|
26614
|
+
*/
|
|
26615
|
+
var RecordingDevicePlacementSchema = object({
|
|
26616
|
+
deviceId: number().int(),
|
|
26617
|
+
profile: string(),
|
|
26618
|
+
locationId: string()
|
|
26619
|
+
});
|
|
26620
|
+
var RecordingDevicePinSchema = object({
|
|
26621
|
+
deviceId: number().int(),
|
|
26622
|
+
/** Recordings-class location this camera is pinned to. */
|
|
26623
|
+
locationId: string()
|
|
26624
|
+
});
|
|
26625
|
+
var RecordingPlacementViewSchema = object({
|
|
26626
|
+
assignments: array(RecordingDevicePlacementSchema),
|
|
26627
|
+
pins: array(RecordingDevicePinSchema),
|
|
26628
|
+
defaultLocations: record(string(), string())
|
|
26629
|
+
});
|
|
26630
|
+
var RecordingSetDevicePlacementInputSchema = object({
|
|
26631
|
+
deviceId: number().int(),
|
|
26632
|
+
/** `null` = Auto. Otherwise a `recordings:*` location id. */
|
|
26633
|
+
locationId: string().nullable()
|
|
26634
|
+
});
|
|
26635
|
+
/**
|
|
26523
26636
|
* Result of locating footage at a wall-clock instant for one device/profile.
|
|
26524
26637
|
* `segment` carries the covering segment's window; `gap` reports the forward
|
|
26525
26638
|
* nearest covered edge (`null` past the end of footage / when none exists)
|
|
@@ -26745,6 +26858,12 @@ method(object({
|
|
|
26745
26858
|
}), method(RecordingRebalanceInputSchema, RecordingRebalancePlanSchema, {
|
|
26746
26859
|
kind: "mutation",
|
|
26747
26860
|
auth: "admin"
|
|
26861
|
+
}), method(object({}), RecordingPlacementViewSchema, {
|
|
26862
|
+
kind: "query",
|
|
26863
|
+
auth: "admin"
|
|
26864
|
+
}), method(RecordingSetDevicePlacementInputSchema, object({ ok: literal(true) }), {
|
|
26865
|
+
kind: "mutation",
|
|
26866
|
+
auth: "admin"
|
|
26748
26867
|
});
|
|
26749
26868
|
/**
|
|
26750
26869
|
* `recording-export` cap — render a footage time range into a single downloadable
|
|
@@ -30115,6 +30234,12 @@ Object.freeze({
|
|
|
30115
30234
|
addonId: null,
|
|
30116
30235
|
access: "delete"
|
|
30117
30236
|
},
|
|
30237
|
+
"deviceManager.renameLocation": {
|
|
30238
|
+
capName: "device-manager",
|
|
30239
|
+
capScope: "system",
|
|
30240
|
+
addonId: null,
|
|
30241
|
+
access: "create"
|
|
30242
|
+
},
|
|
30118
30243
|
"deviceManager.runDeviceAction": {
|
|
30119
30244
|
capName: "device-manager",
|
|
30120
30245
|
capScope: "system",
|
|
@@ -31807,19 +31932,19 @@ Object.freeze({
|
|
|
31807
31932
|
addonId: null,
|
|
31808
31933
|
access: "view"
|
|
31809
31934
|
},
|
|
31810
|
-
"pipelineAnalytics.
|
|
31935
|
+
"pipelineAnalytics.getKeyEvents": {
|
|
31811
31936
|
capName: "pipeline-analytics",
|
|
31812
31937
|
capScope: "device",
|
|
31813
31938
|
addonId: null,
|
|
31814
31939
|
access: "view"
|
|
31815
31940
|
},
|
|
31816
|
-
"pipelineAnalytics.
|
|
31941
|
+
"pipelineAnalytics.getKeyEventsBatch": {
|
|
31817
31942
|
capName: "pipeline-analytics",
|
|
31818
31943
|
capScope: "device",
|
|
31819
31944
|
addonId: null,
|
|
31820
31945
|
access: "view"
|
|
31821
31946
|
},
|
|
31822
|
-
"pipelineAnalytics.
|
|
31947
|
+
"pipelineAnalytics.getMediaReclaimStatus": {
|
|
31823
31948
|
capName: "pipeline-analytics",
|
|
31824
31949
|
capScope: "device",
|
|
31825
31950
|
addonId: null,
|
|
@@ -31909,12 +32034,6 @@ Object.freeze({
|
|
|
31909
32034
|
addonId: null,
|
|
31910
32035
|
access: "view"
|
|
31911
32036
|
},
|
|
31912
|
-
"pipelineAnalytics.listGroups": {
|
|
31913
|
-
capName: "pipeline-analytics",
|
|
31914
|
-
capScope: "device",
|
|
31915
|
-
addonId: null,
|
|
31916
|
-
access: "view"
|
|
31917
|
-
},
|
|
31918
32037
|
"pipelineAnalytics.listOpsLog": {
|
|
31919
32038
|
capName: "pipeline-analytics",
|
|
31920
32039
|
capScope: "device",
|
|
@@ -31999,6 +32118,12 @@ Object.freeze({
|
|
|
31999
32118
|
addonId: null,
|
|
32000
32119
|
access: "create"
|
|
32001
32120
|
},
|
|
32121
|
+
"pipelineAnalytics.reclaimDebugMedia": {
|
|
32122
|
+
capName: "pipeline-analytics",
|
|
32123
|
+
capScope: "device",
|
|
32124
|
+
addonId: null,
|
|
32125
|
+
access: "create"
|
|
32126
|
+
},
|
|
32002
32127
|
"pipelineAnalytics.reconcileFromDisk": {
|
|
32003
32128
|
capName: "pipeline-analytics",
|
|
32004
32129
|
capScope: "device",
|
|
@@ -32923,6 +33048,12 @@ Object.freeze({
|
|
|
32923
33048
|
addonId: null,
|
|
32924
33049
|
access: "view"
|
|
32925
33050
|
},
|
|
33051
|
+
"recording.getPlacement": {
|
|
33052
|
+
capName: "recording",
|
|
33053
|
+
capScope: "system",
|
|
33054
|
+
addonId: null,
|
|
33055
|
+
access: "view"
|
|
33056
|
+
},
|
|
32926
33057
|
"recording.getPlaybackManifest": {
|
|
32927
33058
|
capName: "recording",
|
|
32928
33059
|
capScope: "system",
|
|
@@ -33049,6 +33180,12 @@ Object.freeze({
|
|
|
33049
33180
|
addonId: null,
|
|
33050
33181
|
access: "create"
|
|
33051
33182
|
},
|
|
33183
|
+
"recording.setDevicePlacement": {
|
|
33184
|
+
capName: "recording",
|
|
33185
|
+
capScope: "system",
|
|
33186
|
+
addonId: null,
|
|
33187
|
+
access: "create"
|
|
33188
|
+
},
|
|
33052
33189
|
"recording.startStorageMigrationMove": {
|
|
33053
33190
|
capName: "recording",
|
|
33054
33191
|
capScope: "system",
|
|
@@ -33493,12 +33630,36 @@ Object.freeze({
|
|
|
33493
33630
|
addonId: null,
|
|
33494
33631
|
access: "create"
|
|
33495
33632
|
},
|
|
33633
|
+
"storageMigration.cleanupCancel": {
|
|
33634
|
+
capName: "storage-migration",
|
|
33635
|
+
capScope: "system",
|
|
33636
|
+
addonId: null,
|
|
33637
|
+
access: "create"
|
|
33638
|
+
},
|
|
33639
|
+
"storageMigration.cleanupStart": {
|
|
33640
|
+
capName: "storage-migration",
|
|
33641
|
+
capScope: "system",
|
|
33642
|
+
addonId: null,
|
|
33643
|
+
access: "create"
|
|
33644
|
+
},
|
|
33645
|
+
"storageMigration.cleanupStatus": {
|
|
33646
|
+
capName: "storage-migration",
|
|
33647
|
+
capScope: "system",
|
|
33648
|
+
addonId: null,
|
|
33649
|
+
access: "view"
|
|
33650
|
+
},
|
|
33496
33651
|
"storageMigration.drain": {
|
|
33497
33652
|
capName: "storage-migration",
|
|
33498
33653
|
capScope: "system",
|
|
33499
33654
|
addonId: null,
|
|
33500
33655
|
access: "create"
|
|
33501
33656
|
},
|
|
33657
|
+
"storageMigration.history": {
|
|
33658
|
+
capName: "storage-migration",
|
|
33659
|
+
capScope: "system",
|
|
33660
|
+
addonId: null,
|
|
33661
|
+
access: "view"
|
|
33662
|
+
},
|
|
33502
33663
|
"storageMigration.movers": {
|
|
33503
33664
|
capName: "storage-migration",
|
|
33504
33665
|
capScope: "system",
|
|
@@ -35495,11 +35656,6 @@ Object.freeze({
|
|
|
35495
35656
|
form: "single",
|
|
35496
35657
|
optional: true
|
|
35497
35658
|
}],
|
|
35498
|
-
"pipelineAnalytics.getGroup": [{
|
|
35499
|
-
name: "deviceId",
|
|
35500
|
-
form: "single",
|
|
35501
|
-
optional: false
|
|
35502
|
-
}],
|
|
35503
35659
|
"pipelineAnalytics.getKeyEvents": [{
|
|
35504
35660
|
name: "deviceId",
|
|
35505
35661
|
form: "single",
|
|
@@ -35565,11 +35721,6 @@ Object.freeze({
|
|
|
35565
35721
|
form: "single",
|
|
35566
35722
|
optional: false
|
|
35567
35723
|
}],
|
|
35568
|
-
"pipelineAnalytics.listGroups": [{
|
|
35569
|
-
name: "deviceIds",
|
|
35570
|
-
form: "array",
|
|
35571
|
-
optional: false
|
|
35572
|
-
}],
|
|
35573
35724
|
"pipelineAnalytics.listOpsLog": [{
|
|
35574
35725
|
name: "deviceId",
|
|
35575
35726
|
form: "single",
|
|
@@ -35615,6 +35766,11 @@ Object.freeze({
|
|
|
35615
35766
|
form: "single",
|
|
35616
35767
|
optional: true
|
|
35617
35768
|
}],
|
|
35769
|
+
"pipelineAnalytics.reclaimDebugMedia": [{
|
|
35770
|
+
name: "deviceIds",
|
|
35771
|
+
form: "array",
|
|
35772
|
+
optional: true
|
|
35773
|
+
}],
|
|
35618
35774
|
"pipelineAnalytics.reconcileFromDisk": [{
|
|
35619
35775
|
name: "deviceId",
|
|
35620
35776
|
form: "single",
|
|
@@ -35980,6 +36136,11 @@ Object.freeze({
|
|
|
35980
36136
|
form: "single",
|
|
35981
36137
|
optional: false
|
|
35982
36138
|
}],
|
|
36139
|
+
"recording.setDevicePlacement": [{
|
|
36140
|
+
name: "deviceId",
|
|
36141
|
+
form: "single",
|
|
36142
|
+
optional: false
|
|
36143
|
+
}],
|
|
35983
36144
|
"recording.startStorageMigrationMove": [{
|
|
35984
36145
|
name: "deviceId",
|
|
35985
36146
|
form: "single",
|
|
@@ -36844,7 +37005,7 @@ var AgentUIAddon = class extends BaseAddon {
|
|
|
36844
37005
|
capability: adminUiCapability,
|
|
36845
37006
|
provider: {
|
|
36846
37007
|
getStaticDir: async () => ({ staticDir: path.resolve(__dirname) }),
|
|
36847
|
-
getVersion: async () => ({ version: "1.2.
|
|
37008
|
+
getVersion: async () => ({ version: "1.2.52" })
|
|
36848
37009
|
}
|
|
36849
37010
|
}];
|
|
36850
37011
|
}
|