@camstack/addon-agent-ui 1.2.11 → 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.
Files changed (2) hide show
  1. package/dist/addon.js +358 -31
  2. package/package.json +1 -1
package/dist/addon.js CHANGED
@@ -7545,12 +7545,11 @@ var RecordingConfigSchema = object({
7545
7545
  /**
7546
7546
  * Entity-relocation job state (storage entity-routing spec, Phase 4).
7547
7547
  *
7548
- * One shape shared by the recorder's `relocateFootage` (segments) and
7549
- * pipeline-analytics' `relocateMedia` (event media blobs) so the admin Data
7550
- * page renders both movers with one component. Jobs are in-RAM (a restart
7551
- * forgets them re-running is safe by construction: copy-if-absent, delete
7552
- * after verify) and each completed/failed run also lands one durable ops-log
7553
- * row on the owning addon's surface.
7548
+ * One shape shared by the recorder and pipeline-analytics internal movers.
7549
+ * The public admin surface is `storage-migration`; child jobs remain in RAM
7550
+ * because copy-if-absent, verify, delete and index/row repoint are resumable.
7551
+ * Each completed/failed run also lands one durable ops-log row on its owning
7552
+ * addon surface.
7554
7553
  */
7555
7554
  var RelocateJobStateSchema = _enum([
7556
7555
  "running",
@@ -7577,19 +7576,100 @@ var RelocateJobSchema = object({
7577
7576
  finishedAt: number().nullable(),
7578
7577
  error: string().nullable()
7579
7578
  });
7579
+ /** Profile-derived footage selection used only by the migration coordinator:
7580
+ * `recordings` owns high+mid; `recordingsLow` owns low. */
7581
+ var RelocateFootageClassSchema = _enum(["recordings", "recordingsLow"]);
7580
7582
  var RelocateFootageInputSchema = object({
7581
- deviceId: number().optional(),
7582
7583
  fromLocationId: string(),
7583
7584
  toLocationId: string(),
7584
7585
  entities: array(_enum(["segments"])).optional(),
7586
+ /** Limits relocation to the logical profile class. Omit only for the
7587
+ * pre-orchestration compatibility path. */
7588
+ footageClass: RelocateFootageClassSchema.optional(),
7585
7589
  /** Copy throttle in MB/s (default 40) — the drain is a background chore,
7586
7590
  * never allowed to starve live writers. */
7587
7591
  throttleMbps: number().min(1).max(1e3).optional()
7588
7592
  });
7589
- var RelocateMediaInputSchema = object({
7590
- deviceId: number().optional(),
7593
+ /** Internal, lease-scoped participant operation. It is intentionally separate
7594
+ * from persistent recording settings: a migration never changes
7595
+ * `RecordingConfig.enabled` or camera wrapper bindings. */
7596
+ var StorageMigrationLeaseInputSchema = object({ leaseId: string().min(1) });
7597
+ var StorageMigrationFootageMoveInputSchema = RelocateFootageInputSchema.extend({ leaseId: string().min(1) });
7598
+ var StorageMigrationMediaMoveInputSchema = object({
7591
7599
  toLocationId: string(),
7592
7600
  throttleMbps: number().min(1).max(1e3).optional()
7601
+ }).extend({ leaseId: string().min(1) });
7602
+ /** The independently selectable logical storage classes. `recordings`
7603
+ * encompasses the high and mid segment profiles; `recordingsLow` is low
7604
+ * segments; `eventMedia` is post-analysis blobs. */
7605
+ var StorageMigrationClassSchema = _enum([
7606
+ "recordings",
7607
+ "recordingsLow",
7608
+ "eventMedia"
7609
+ ]);
7610
+ /** A destination is always an existing, fully-qualified location id. The
7611
+ * migration API intentionally never changes a source location's `basePath`:
7612
+ * callers create a new `<type>:<slug>` location, then select it here. */
7613
+ var StorageMigrationDestinationsSchema = object({
7614
+ recordings: string().min(1).optional(),
7615
+ recordingsLow: string().min(1).optional(),
7616
+ eventMedia: string().min(1).optional()
7617
+ }).refine((value) => Object.keys(value).length > 0, { message: "select at least one storage class" });
7618
+ /** Shared input for planning and starting an orchestrated storage migration. */
7619
+ var StorageMigrationInputSchema = object({
7620
+ destinations: StorageMigrationDestinationsSchema,
7621
+ throttleMbps: number().min(1).max(1e3).optional()
7622
+ });
7623
+ /** The durable coordinator state machine. The only phase that changes default
7624
+ * locations is `repointing`, after every selected mover has completed and been
7625
+ * verified. */
7626
+ var StorageMigrationPhaseSchema = _enum([
7627
+ "planning",
7628
+ "pausing",
7629
+ "moving",
7630
+ "verifying",
7631
+ "repointing",
7632
+ "refreshing",
7633
+ "resuming",
7634
+ "done",
7635
+ "failed",
7636
+ "cancelled"
7637
+ ]);
7638
+ var StorageMigrationParticipantSchema = _enum([
7639
+ "pipeline",
7640
+ "recorder",
7641
+ "analytics"
7642
+ ]);
7643
+ var StorageMigrationMoveSchema = object({
7644
+ storageClass: StorageMigrationClassSchema,
7645
+ fromLocationId: string(),
7646
+ toLocationId: string(),
7647
+ moverJobId: string().nullable(),
7648
+ state: RelocateJobStateSchema.nullable(),
7649
+ error: string().nullable()
7650
+ });
7651
+ var StorageMigrationJobSchema = object({
7652
+ jobId: string(),
7653
+ phase: StorageMigrationPhaseSchema,
7654
+ destinations: StorageMigrationDestinationsSchema,
7655
+ throttleMbps: number(),
7656
+ moves: array(StorageMigrationMoveSchema),
7657
+ pauseLeaseId: string().nullable(),
7658
+ pausedParticipants: array(StorageMigrationParticipantSchema),
7659
+ repointed: boolean(),
7660
+ cancelRequested: boolean(),
7661
+ startedAt: number(),
7662
+ updatedAt: number(),
7663
+ finishedAt: number().nullable(),
7664
+ error: string().nullable()
7665
+ });
7666
+ var StorageMigrationPlanSchema = object({
7667
+ destinations: StorageMigrationDestinationsSchema,
7668
+ moves: array(object({
7669
+ storageClass: StorageMigrationClassSchema,
7670
+ fromLocationId: string(),
7671
+ toLocationId: string()
7672
+ }))
7593
7673
  });
7594
7674
  /**
7595
7675
  * `StorageLocationType` — an addon-declared id that identifies the *kind* of
@@ -15965,13 +16045,19 @@ DeviceType.Camera, method(object({ deviceId: number() }), array(TrackSchema).rea
15965
16045
  }), method(object({ deviceId: number() }), EventPruneCountsSchema, {
15966
16046
  kind: "mutation",
15967
16047
  auth: "admin"
15968
- }), method(RelocateMediaInputSchema, object({ jobId: string() }), {
16048
+ }), method(StorageMigrationLeaseInputSchema, object({ paused: literal(true) }), {
15969
16049
  kind: "mutation",
15970
16050
  auth: "admin"
15971
- }), method(object({}), array(RelocateJobSchema).readonly(), {
15972
- kind: "query",
16051
+ }), method(StorageMigrationLeaseInputSchema, object({ resumed: literal(true) }), {
16052
+ kind: "mutation",
15973
16053
  auth: "admin"
15974
- }), method(object({ jobId: string() }), object({ cancelled: boolean() }), {
16054
+ }), method(StorageMigrationLeaseInputSchema, object({ refreshed: literal(true) }), {
16055
+ kind: "mutation",
16056
+ auth: "admin"
16057
+ }), method(StorageMigrationMediaMoveInputSchema, object({ jobId: string() }), {
16058
+ kind: "mutation",
16059
+ auth: "admin"
16060
+ }), method(object({ jobId: string() }), RelocateJobSchema.nullable(), { auth: "admin" }), method(object({ jobId: string() }), object({ cancelled: boolean() }), {
15975
16061
  kind: "mutation",
15976
16062
  auth: "admin"
15977
16063
  }), method(OpsLogQueryInputSchema, array(OpsLogEntrySchema).readonly(), {
@@ -17468,7 +17554,13 @@ var NodeInferenceDevicesSchema = object({
17468
17554
  reachable: boolean(),
17469
17555
  devices: array(NodeInferenceDeviceSchema).readonly()
17470
17556
  });
17471
- method(object({
17557
+ method(StorageMigrationLeaseInputSchema, object({ paused: literal(true) }), {
17558
+ kind: "mutation",
17559
+ auth: "admin"
17560
+ }), method(StorageMigrationLeaseInputSchema, object({ resumed: literal(true) }), {
17561
+ kind: "mutation",
17562
+ auth: "admin"
17563
+ }), method(object({
17472
17564
  deviceId: number(),
17473
17565
  agentNodeId: string()
17474
17566
  }), object({ success: literal(true) }), {
@@ -18142,6 +18234,13 @@ method(object({ locationId: string() }), EvictableUsageSchema), method(object({
18142
18234
  locationId: string(),
18143
18235
  targetBytes: number().int().positive()
18144
18236
  }), EvictResultSchema, { kind: "mutation" });
18237
+ method(StorageMigrationInputSchema, StorageMigrationPlanSchema, { auth: "admin" }), method(StorageMigrationInputSchema, object({ jobId: string() }), {
18238
+ kind: "mutation",
18239
+ auth: "admin"
18240
+ }), method(object({ jobId: string().optional() }), StorageMigrationJobSchema.nullable(), { auth: "admin" }), method(object({ jobId: string() }), object({ cancelled: boolean() }), {
18241
+ kind: "mutation",
18242
+ auth: "admin"
18243
+ });
18145
18244
  var ProviderInfoSchema = discriminatedUnion("shouldSaveDiskSpace", [object({
18146
18245
  providerId: string().min(1),
18147
18246
  displayName: string().min(1),
@@ -18245,7 +18344,67 @@ var TerminalProfileInfoSchema = object({
18245
18344
  label: string(),
18246
18345
  description: string().optional()
18247
18346
  });
18248
- method(_void(), array(TerminalProfileInfoSchema).readonly(), { auth: "admin" }), method(_void(), array(TerminalSessionInfoSchema).readonly(), { auth: "admin" }), method(object({
18347
+ /**
18348
+ * A durable operator-created Terminal instance. Profiles are templates; only
18349
+ * an instance declares a camera.
18350
+ */
18351
+ var TerminalInstanceInfoSchema = object({
18352
+ instanceId: string(),
18353
+ cameraStableId: string(),
18354
+ nodeId: string(),
18355
+ profileId: string(),
18356
+ profileLabel: string(),
18357
+ name: string(),
18358
+ enabled: boolean()
18359
+ });
18360
+ var TerminalLegacyCameraSchema = object({
18361
+ stableId: string(),
18362
+ nodeId: string(),
18363
+ profileId: string(),
18364
+ profileLabel: string(),
18365
+ name: string(),
18366
+ /** Only legacy monitor cameras can retain their historic stable identity. */
18367
+ adoptable: boolean()
18368
+ });
18369
+ var TerminalOutputEventSchema = discriminatedUnion("kind", [object({
18370
+ seq: number().int().positive(),
18371
+ kind: literal("data"),
18372
+ data: string()
18373
+ }), object({
18374
+ seq: number().int().positive(),
18375
+ kind: literal("exit"),
18376
+ exitCode: number().int(),
18377
+ signal: number().int().optional()
18378
+ })]);
18379
+ var TerminalOutputBatchSchema = object({
18380
+ cursor: number().int().nonnegative(),
18381
+ reset: boolean(),
18382
+ snapshot: string().optional(),
18383
+ events: array(TerminalOutputEventSchema).readonly()
18384
+ });
18385
+ method(_void(), array(TerminalProfileInfoSchema).readonly(), { auth: "admin" }), method(_void(), array(TerminalInstanceInfoSchema).readonly(), { auth: "admin" }), method(object({
18386
+ targetNodeId: string().min(1),
18387
+ profileId: string().min(1),
18388
+ name: string().trim().min(1).max(160).optional()
18389
+ }), TerminalInstanceInfoSchema, {
18390
+ kind: "mutation",
18391
+ auth: "admin"
18392
+ }), method(object({ instanceId: string().min(1) }), _void(), {
18393
+ kind: "mutation",
18394
+ auth: "admin"
18395
+ }), method(object({
18396
+ instanceId: string().min(1),
18397
+ enabled: boolean()
18398
+ }), TerminalInstanceInfoSchema, {
18399
+ kind: "mutation",
18400
+ auth: "admin"
18401
+ }), method(_void(), array(TerminalLegacyCameraSchema).readonly(), { auth: "admin" }), method(object({
18402
+ stableId: string().min(1),
18403
+ name: string().trim().min(1).max(160).optional()
18404
+ }), TerminalInstanceInfoSchema, {
18405
+ kind: "mutation",
18406
+ auth: "admin"
18407
+ }), method(_void(), array(TerminalSessionInfoSchema).readonly(), { auth: "admin" }), method(object({
18249
18408
  profileId: string(),
18250
18409
  cols: number().int().positive(),
18251
18410
  rows: number().int().positive()
@@ -18259,6 +18418,26 @@ method(_void(), array(TerminalProfileInfoSchema).readonly(), { auth: "admin" }),
18259
18418
  }), _void(), {
18260
18419
  kind: "mutation",
18261
18420
  auth: "admin"
18421
+ }), method(object({
18422
+ sessionId: string(),
18423
+ afterSeq: number().int().nonnegative(),
18424
+ waitMs: number().int().min(0).max(2e3).default(0),
18425
+ /**
18426
+ * Wait when a just-opened session has no output yet. Kept opt-in so a
18427
+ * browser's initial repaint remains immediate; the camera snapshot
18428
+ * relay uses it to avoid encoding a blank startup frame.
18429
+ */
18430
+ waitForOutput: boolean().optional()
18431
+ }), TerminalOutputBatchSchema, {
18432
+ kind: "mutation",
18433
+ auth: "admin",
18434
+ timeoutMs: 15e3
18435
+ }), method(object({
18436
+ sessionId: string(),
18437
+ data: string().max(64 * 1024)
18438
+ }), _void(), {
18439
+ kind: "mutation",
18440
+ auth: "admin"
18262
18441
  }), method(object({ sessionId: string() }), _void(), {
18263
18442
  kind: "mutation",
18264
18443
  auth: "admin"
@@ -20189,6 +20368,7 @@ var FaceInfoSchema = object({
20189
20368
  var FaceFilterEnum = _enum([
20190
20369
  "unassigned",
20191
20370
  "recognized",
20371
+ "identified",
20192
20372
  "all"
20193
20373
  ]);
20194
20374
  var MediaFileLiteSchema$1 = object({
@@ -20217,6 +20397,8 @@ method(_void(), array(IdentitySchema).readonly()), method(object({ name: string(
20217
20397
  kind: "mutation",
20218
20398
  auth: "admin"
20219
20399
  }), method(object({
20400
+ /** Restrict to one camera. Absent keeps the cluster-wide gallery view. */
20401
+ deviceId: number().int().optional(),
20220
20402
  limit: number().int().positive().optional(),
20221
20403
  filter: FaceFilterEnum.optional(),
20222
20404
  /**
@@ -21982,6 +22164,10 @@ var OsdSourceSchema = discriminatedUnion("kind", [
21982
22164
  capName: string().min(1).max(64),
21983
22165
  /** Dot path inside the slice, e.g. `detected`, `value`, `mode`. */
21984
22166
  valuePath: string().min(1).max(64)
22167
+ }),
22168
+ object({
22169
+ kind: literal("latest-recognition"),
22170
+ recognition: _enum(["person", "plate"])
21985
22171
  })
21986
22172
  ]);
21987
22173
  var OsdSlotBindingSchema = object({
@@ -22087,6 +22273,15 @@ method(object({ deviceId: number().int() }), object({
22087
22273
  }), object({ success: literal(true) }), {
22088
22274
  kind: "mutation",
22089
22275
  auth: "admin"
22276
+ }), method(object({
22277
+ sourceDeviceId: number().int(),
22278
+ targetDeviceId: number().int()
22279
+ }), object({
22280
+ copied: number().int().nonnegative(),
22281
+ skipped: number().int().nonnegative()
22282
+ }), {
22283
+ kind: "mutation",
22284
+ auth: "admin"
22090
22285
  }), method(object({
22091
22286
  deviceId: number().int(),
22092
22287
  slotId: string().min(1),
@@ -22972,13 +23167,19 @@ method(object({
22972
23167
  }), {
22973
23168
  kind: "mutation",
22974
23169
  auth: "admin"
22975
- }), method(RelocateFootageInputSchema, object({ jobId: string() }), {
23170
+ }), method(StorageMigrationLeaseInputSchema, object({ paused: literal(true) }), {
22976
23171
  kind: "mutation",
22977
23172
  auth: "admin"
22978
- }), method(object({}), array(RelocateJobSchema).readonly(), {
22979
- kind: "query",
23173
+ }), method(StorageMigrationLeaseInputSchema, object({ resumed: literal(true) }), {
23174
+ kind: "mutation",
22980
23175
  auth: "admin"
22981
- }), method(object({ jobId: string() }), object({ cancelled: boolean() }), {
23176
+ }), method(StorageMigrationLeaseInputSchema, object({ refreshed: literal(true) }), {
23177
+ kind: "mutation",
23178
+ auth: "admin"
23179
+ }), method(StorageMigrationFootageMoveInputSchema, object({ jobId: string() }), {
23180
+ kind: "mutation",
23181
+ auth: "admin"
23182
+ }), method(object({ jobId: string() }), RelocateJobSchema.nullable(), { auth: "admin" }), method(object({ jobId: string() }), object({ cancelled: boolean() }), {
22982
23183
  kind: "mutation",
22983
23184
  auth: "admin"
22984
23185
  });
@@ -27100,6 +27301,12 @@ Object.freeze({
27100
27301
  addonId: null,
27101
27302
  access: "delete"
27102
27303
  },
27304
+ "osdManager.copyDeviceConfiguration": {
27305
+ capName: "osd-manager",
27306
+ capScope: "system",
27307
+ addonId: null,
27308
+ access: "create"
27309
+ },
27103
27310
  "osdManager.getConditionSupport": {
27104
27311
  capName: "osd-manager",
27105
27312
  capScope: "system",
@@ -27196,7 +27403,7 @@ Object.freeze({
27196
27403
  addonId: null,
27197
27404
  access: "create"
27198
27405
  },
27199
- "pipelineAnalytics.cancelMediaRelocate": {
27406
+ "pipelineAnalytics.cancelStorageMigrationMove": {
27200
27407
  capName: "pipeline-analytics",
27201
27408
  capScope: "device",
27202
27409
  addonId: null,
@@ -27268,12 +27475,6 @@ Object.freeze({
27268
27475
  addonId: null,
27269
27476
  access: "view"
27270
27477
  },
27271
- "pipelineAnalytics.getMediaRelocateStatus": {
27272
- capName: "pipeline-analytics",
27273
- capScope: "device",
27274
- addonId: null,
27275
- access: "view"
27276
- },
27277
27478
  "pipelineAnalytics.getMotionEvents": {
27278
27479
  capName: "pipeline-analytics",
27279
27480
  capScope: "device",
@@ -27310,6 +27511,12 @@ Object.freeze({
27310
27511
  addonId: null,
27311
27512
  access: "view"
27312
27513
  },
27514
+ "pipelineAnalytics.getStorageMigrationMoveStatus": {
27515
+ capName: "pipeline-analytics",
27516
+ capScope: "device",
27517
+ addonId: null,
27518
+ access: "view"
27519
+ },
27313
27520
  "pipelineAnalytics.getTrack": {
27314
27521
  capName: "pipeline-analytics",
27315
27522
  capScope: "device",
@@ -27388,6 +27595,12 @@ Object.freeze({
27388
27595
  addonId: null,
27389
27596
  access: "view"
27390
27597
  },
27598
+ "pipelineAnalytics.pauseForStorageMigration": {
27599
+ capName: "pipeline-analytics",
27600
+ capScope: "device",
27601
+ addonId: null,
27602
+ access: "create"
27603
+ },
27391
27604
  "pipelineAnalytics.proposeRetrainAnnotations": {
27392
27605
  capName: "pipeline-analytics",
27393
27606
  capScope: "device",
@@ -27418,7 +27631,7 @@ Object.freeze({
27418
27631
  addonId: null,
27419
27632
  access: "create"
27420
27633
  },
27421
- "pipelineAnalytics.relocateMedia": {
27634
+ "pipelineAnalytics.refreshStorageLocationsForMigration": {
27422
27635
  capName: "pipeline-analytics",
27423
27636
  capScope: "device",
27424
27637
  addonId: null,
@@ -27430,6 +27643,12 @@ Object.freeze({
27430
27643
  addonId: null,
27431
27644
  access: "create"
27432
27645
  },
27646
+ "pipelineAnalytics.resumeForStorageMigration": {
27647
+ capName: "pipeline-analytics",
27648
+ capScope: "device",
27649
+ addonId: null,
27650
+ access: "create"
27651
+ },
27433
27652
  "pipelineAnalytics.saveRetrainAnnotations": {
27434
27653
  capName: "pipeline-analytics",
27435
27654
  capScope: "device",
@@ -27454,6 +27673,12 @@ Object.freeze({
27454
27673
  addonId: null,
27455
27674
  access: "create"
27456
27675
  },
27676
+ "pipelineAnalytics.startStorageMigrationMove": {
27677
+ capName: "pipeline-analytics",
27678
+ capScope: "device",
27679
+ addonId: null,
27680
+ access: "create"
27681
+ },
27457
27682
  "pipelineAnalytics.wipeAllAnalytics": {
27458
27683
  capName: "pipeline-analytics",
27459
27684
  capScope: "device",
@@ -27820,6 +28045,12 @@ Object.freeze({
27820
28045
  addonId: null,
27821
28046
  access: "view"
27822
28047
  },
28048
+ "pipelineOrchestrator.pauseForStorageMigration": {
28049
+ capName: "pipeline-orchestrator",
28050
+ capScope: "system",
28051
+ addonId: null,
28052
+ access: "create"
28053
+ },
27823
28054
  "pipelineOrchestrator.rebalance": {
27824
28055
  capName: "pipeline-orchestrator",
27825
28056
  capScope: "system",
@@ -27844,6 +28075,12 @@ Object.freeze({
27844
28075
  addonId: null,
27845
28076
  access: "view"
27846
28077
  },
28078
+ "pipelineOrchestrator.resumeForStorageMigration": {
28079
+ capName: "pipeline-orchestrator",
28080
+ capScope: "system",
28081
+ addonId: null,
28082
+ access: "create"
28083
+ },
27847
28084
  "pipelineOrchestrator.saveTemplate": {
27848
28085
  capName: "pipeline-orchestrator",
27849
28086
  capScope: "system",
@@ -28240,7 +28477,7 @@ Object.freeze({
28240
28477
  addonId: null,
28241
28478
  access: "create"
28242
28479
  },
28243
- "recording.cancelRelocate": {
28480
+ "recording.cancelStorageMigrationMove": {
28244
28481
  capName: "recording",
28245
28482
  capScope: "system",
28246
28483
  addonId: null,
@@ -28276,7 +28513,7 @@ Object.freeze({
28276
28513
  addonId: null,
28277
28514
  access: "view"
28278
28515
  },
28279
- "recording.getRelocateStatus": {
28516
+ "recording.getStorageMigrationMoveStatus": {
28280
28517
  capName: "recording",
28281
28518
  capScope: "system",
28282
28519
  addonId: null,
@@ -28300,6 +28537,12 @@ Object.freeze({
28300
28537
  addonId: null,
28301
28538
  access: "view"
28302
28539
  },
28540
+ "recording.pauseForStorageMigration": {
28541
+ capName: "recording",
28542
+ capScope: "system",
28543
+ addonId: null,
28544
+ access: "create"
28545
+ },
28303
28546
  "recording.pruneFootage": {
28304
28547
  capName: "recording",
28305
28548
  capScope: "system",
@@ -28318,7 +28561,7 @@ Object.freeze({
28318
28561
  addonId: null,
28319
28562
  access: "view"
28320
28563
  },
28321
- "recording.relocateFootage": {
28564
+ "recording.refreshStorageLocationsForMigration": {
28322
28565
  capName: "recording",
28323
28566
  capScope: "system",
28324
28567
  addonId: null,
@@ -28342,12 +28585,24 @@ Object.freeze({
28342
28585
  addonId: null,
28343
28586
  access: "create"
28344
28587
  },
28588
+ "recording.resumeForStorageMigration": {
28589
+ capName: "recording",
28590
+ capScope: "system",
28591
+ addonId: null,
28592
+ access: "create"
28593
+ },
28345
28594
  "recording.setDeviceConfig": {
28346
28595
  capName: "recording",
28347
28596
  capScope: "system",
28348
28597
  addonId: null,
28349
28598
  access: "create"
28350
28599
  },
28600
+ "recording.startStorageMigrationMove": {
28601
+ capName: "recording",
28602
+ capScope: "system",
28603
+ addonId: null,
28604
+ access: "create"
28605
+ },
28351
28606
  "recordingExport.cancelExport": {
28352
28607
  capName: "recordingExport",
28353
28608
  capScope: "system",
@@ -28738,6 +28993,30 @@ Object.freeze({
28738
28993
  addonId: null,
28739
28994
  access: "view"
28740
28995
  },
28996
+ "storageMigration.cancel": {
28997
+ capName: "storage-migration",
28998
+ capScope: "system",
28999
+ addonId: null,
29000
+ access: "create"
29001
+ },
29002
+ "storageMigration.plan": {
29003
+ capName: "storage-migration",
29004
+ capScope: "system",
29005
+ addonId: null,
29006
+ access: "view"
29007
+ },
29008
+ "storageMigration.start": {
29009
+ capName: "storage-migration",
29010
+ capScope: "system",
29011
+ addonId: null,
29012
+ access: "create"
29013
+ },
29014
+ "storageMigration.status": {
29015
+ capName: "storage-migration",
29016
+ capScope: "system",
29017
+ addonId: null,
29018
+ access: "view"
29019
+ },
28741
29020
  "storageProvider.abortUpload": {
28742
29021
  capName: "storage-provider",
28743
29022
  capScope: "system",
@@ -29116,12 +29395,42 @@ Object.freeze({
29116
29395
  addonId: null,
29117
29396
  access: "create"
29118
29397
  },
29398
+ "terminalSession.adoptLegacyMonitor": {
29399
+ capName: "terminal-session",
29400
+ capScope: "system",
29401
+ addonId: null,
29402
+ access: "create"
29403
+ },
29119
29404
  "terminalSession.close": {
29120
29405
  capName: "terminal-session",
29121
29406
  capScope: "system",
29122
29407
  addonId: null,
29123
29408
  access: "create"
29124
29409
  },
29410
+ "terminalSession.createInstance": {
29411
+ capName: "terminal-session",
29412
+ capScope: "system",
29413
+ addonId: null,
29414
+ access: "create"
29415
+ },
29416
+ "terminalSession.deleteInstance": {
29417
+ capName: "terminal-session",
29418
+ capScope: "system",
29419
+ addonId: null,
29420
+ access: "delete"
29421
+ },
29422
+ "terminalSession.listInstances": {
29423
+ capName: "terminal-session",
29424
+ capScope: "system",
29425
+ addonId: null,
29426
+ access: "view"
29427
+ },
29428
+ "terminalSession.listLegacyCameras": {
29429
+ capName: "terminal-session",
29430
+ capScope: "system",
29431
+ addonId: null,
29432
+ access: "view"
29433
+ },
29125
29434
  "terminalSession.listProfiles": {
29126
29435
  capName: "terminal-session",
29127
29436
  capScope: "system",
@@ -29140,12 +29449,30 @@ Object.freeze({
29140
29449
  addonId: null,
29141
29450
  access: "create"
29142
29451
  },
29452
+ "terminalSession.pullOutput": {
29453
+ capName: "terminal-session",
29454
+ capScope: "system",
29455
+ addonId: null,
29456
+ access: "create"
29457
+ },
29143
29458
  "terminalSession.resize": {
29144
29459
  capName: "terminal-session",
29145
29460
  capScope: "system",
29146
29461
  addonId: null,
29147
29462
  access: "create"
29148
29463
  },
29464
+ "terminalSession.setInstanceEnabled": {
29465
+ capName: "terminal-session",
29466
+ capScope: "system",
29467
+ addonId: null,
29468
+ access: "create"
29469
+ },
29470
+ "terminalSession.writeInput": {
29471
+ capName: "terminal-session",
29472
+ capScope: "system",
29473
+ addonId: null,
29474
+ access: "create"
29475
+ },
29149
29476
  "toast.onToast": {
29150
29477
  capName: "toast",
29151
29478
  capScope: "system",
@@ -29865,7 +30192,7 @@ var AgentUIAddon = class extends BaseAddon {
29865
30192
  capability: adminUiCapability,
29866
30193
  provider: {
29867
30194
  getStaticDir: async () => ({ staticDir: path.resolve(__dirname) }),
29868
- getVersion: async () => ({ version: "1.2.11" })
30195
+ getVersion: async () => ({ version: "1.2.13" })
29869
30196
  }
29870
30197
  }];
29871
30198
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@camstack/addon-agent-ui",
3
- "version": "1.2.11",
3
+ "version": "1.2.13",
4
4
  "description": "Agent UI — lightweight status dashboard served by every agent node",
5
5
  "keywords": [
6
6
  "camstack",