@camstack/addon-agent-ui 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.
Files changed (2) hide show
  1. package/dist/addon.js +317 -32
  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",
16053
+ auth: "admin"
16054
+ }), method(StorageMigrationLeaseInputSchema, object({ refreshed: literal(true) }), {
16055
+ kind: "mutation",
16056
+ auth: "admin"
16057
+ }), method(StorageMigrationMediaMoveInputSchema, object({ jobId: string() }), {
16058
+ kind: "mutation",
15973
16059
  auth: "admin"
15974
- }), method(object({ jobId: string() }), object({ cancelled: boolean() }), {
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,6 +18344,28 @@ var TerminalProfileInfoSchema = object({
18245
18344
  label: string(),
18246
18345
  description: string().optional()
18247
18346
  });
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
+ });
18248
18369
  var TerminalOutputEventSchema = discriminatedUnion("kind", [object({
18249
18370
  seq: number().int().positive(),
18250
18371
  kind: literal("data"),
@@ -18261,7 +18382,29 @@ var TerminalOutputBatchSchema = object({
18261
18382
  snapshot: string().optional(),
18262
18383
  events: array(TerminalOutputEventSchema).readonly()
18263
18384
  });
18264
- method(_void(), array(TerminalProfileInfoSchema).readonly(), { auth: "admin" }), method(_void(), array(TerminalSessionInfoSchema).readonly(), { auth: "admin" }), method(object({
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({
18265
18408
  profileId: string(),
18266
18409
  cols: number().int().positive(),
18267
18410
  rows: number().int().positive()
@@ -18278,7 +18421,13 @@ method(_void(), array(TerminalProfileInfoSchema).readonly(), { auth: "admin" }),
18278
18421
  }), method(object({
18279
18422
  sessionId: string(),
18280
18423
  afterSeq: number().int().nonnegative(),
18281
- waitMs: number().int().min(0).max(2e3).default(0)
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()
18282
18431
  }), TerminalOutputBatchSchema, {
18283
18432
  kind: "mutation",
18284
18433
  auth: "admin",
@@ -20219,6 +20368,7 @@ var FaceInfoSchema = object({
20219
20368
  var FaceFilterEnum = _enum([
20220
20369
  "unassigned",
20221
20370
  "recognized",
20371
+ "identified",
20222
20372
  "all"
20223
20373
  ]);
20224
20374
  var MediaFileLiteSchema$1 = object({
@@ -20247,6 +20397,8 @@ method(_void(), array(IdentitySchema).readonly()), method(object({ name: string(
20247
20397
  kind: "mutation",
20248
20398
  auth: "admin"
20249
20399
  }), method(object({
20400
+ /** Restrict to one camera. Absent keeps the cluster-wide gallery view. */
20401
+ deviceId: number().int().optional(),
20250
20402
  limit: number().int().positive().optional(),
20251
20403
  filter: FaceFilterEnum.optional(),
20252
20404
  /**
@@ -22012,6 +22164,10 @@ var OsdSourceSchema = discriminatedUnion("kind", [
22012
22164
  capName: string().min(1).max(64),
22013
22165
  /** Dot path inside the slice, e.g. `detected`, `value`, `mode`. */
22014
22166
  valuePath: string().min(1).max(64)
22167
+ }),
22168
+ object({
22169
+ kind: literal("latest-recognition"),
22170
+ recognition: _enum(["person", "plate"])
22015
22171
  })
22016
22172
  ]);
22017
22173
  var OsdSlotBindingSchema = object({
@@ -22117,6 +22273,15 @@ method(object({ deviceId: number().int() }), object({
22117
22273
  }), object({ success: literal(true) }), {
22118
22274
  kind: "mutation",
22119
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"
22120
22285
  }), method(object({
22121
22286
  deviceId: number().int(),
22122
22287
  slotId: string().min(1),
@@ -23002,13 +23167,19 @@ method(object({
23002
23167
  }), {
23003
23168
  kind: "mutation",
23004
23169
  auth: "admin"
23005
- }), method(RelocateFootageInputSchema, object({ jobId: string() }), {
23170
+ }), method(StorageMigrationLeaseInputSchema, object({ paused: literal(true) }), {
23006
23171
  kind: "mutation",
23007
23172
  auth: "admin"
23008
- }), method(object({}), array(RelocateJobSchema).readonly(), {
23009
- kind: "query",
23173
+ }), method(StorageMigrationLeaseInputSchema, object({ resumed: literal(true) }), {
23174
+ kind: "mutation",
23010
23175
  auth: "admin"
23011
- }), 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() }), {
23012
23183
  kind: "mutation",
23013
23184
  auth: "admin"
23014
23185
  });
@@ -27130,6 +27301,12 @@ Object.freeze({
27130
27301
  addonId: null,
27131
27302
  access: "delete"
27132
27303
  },
27304
+ "osdManager.copyDeviceConfiguration": {
27305
+ capName: "osd-manager",
27306
+ capScope: "system",
27307
+ addonId: null,
27308
+ access: "create"
27309
+ },
27133
27310
  "osdManager.getConditionSupport": {
27134
27311
  capName: "osd-manager",
27135
27312
  capScope: "system",
@@ -27226,7 +27403,7 @@ Object.freeze({
27226
27403
  addonId: null,
27227
27404
  access: "create"
27228
27405
  },
27229
- "pipelineAnalytics.cancelMediaRelocate": {
27406
+ "pipelineAnalytics.cancelStorageMigrationMove": {
27230
27407
  capName: "pipeline-analytics",
27231
27408
  capScope: "device",
27232
27409
  addonId: null,
@@ -27298,12 +27475,6 @@ Object.freeze({
27298
27475
  addonId: null,
27299
27476
  access: "view"
27300
27477
  },
27301
- "pipelineAnalytics.getMediaRelocateStatus": {
27302
- capName: "pipeline-analytics",
27303
- capScope: "device",
27304
- addonId: null,
27305
- access: "view"
27306
- },
27307
27478
  "pipelineAnalytics.getMotionEvents": {
27308
27479
  capName: "pipeline-analytics",
27309
27480
  capScope: "device",
@@ -27340,6 +27511,12 @@ Object.freeze({
27340
27511
  addonId: null,
27341
27512
  access: "view"
27342
27513
  },
27514
+ "pipelineAnalytics.getStorageMigrationMoveStatus": {
27515
+ capName: "pipeline-analytics",
27516
+ capScope: "device",
27517
+ addonId: null,
27518
+ access: "view"
27519
+ },
27343
27520
  "pipelineAnalytics.getTrack": {
27344
27521
  capName: "pipeline-analytics",
27345
27522
  capScope: "device",
@@ -27418,6 +27595,12 @@ Object.freeze({
27418
27595
  addonId: null,
27419
27596
  access: "view"
27420
27597
  },
27598
+ "pipelineAnalytics.pauseForStorageMigration": {
27599
+ capName: "pipeline-analytics",
27600
+ capScope: "device",
27601
+ addonId: null,
27602
+ access: "create"
27603
+ },
27421
27604
  "pipelineAnalytics.proposeRetrainAnnotations": {
27422
27605
  capName: "pipeline-analytics",
27423
27606
  capScope: "device",
@@ -27448,7 +27631,7 @@ Object.freeze({
27448
27631
  addonId: null,
27449
27632
  access: "create"
27450
27633
  },
27451
- "pipelineAnalytics.relocateMedia": {
27634
+ "pipelineAnalytics.refreshStorageLocationsForMigration": {
27452
27635
  capName: "pipeline-analytics",
27453
27636
  capScope: "device",
27454
27637
  addonId: null,
@@ -27460,6 +27643,12 @@ Object.freeze({
27460
27643
  addonId: null,
27461
27644
  access: "create"
27462
27645
  },
27646
+ "pipelineAnalytics.resumeForStorageMigration": {
27647
+ capName: "pipeline-analytics",
27648
+ capScope: "device",
27649
+ addonId: null,
27650
+ access: "create"
27651
+ },
27463
27652
  "pipelineAnalytics.saveRetrainAnnotations": {
27464
27653
  capName: "pipeline-analytics",
27465
27654
  capScope: "device",
@@ -27484,6 +27673,12 @@ Object.freeze({
27484
27673
  addonId: null,
27485
27674
  access: "create"
27486
27675
  },
27676
+ "pipelineAnalytics.startStorageMigrationMove": {
27677
+ capName: "pipeline-analytics",
27678
+ capScope: "device",
27679
+ addonId: null,
27680
+ access: "create"
27681
+ },
27487
27682
  "pipelineAnalytics.wipeAllAnalytics": {
27488
27683
  capName: "pipeline-analytics",
27489
27684
  capScope: "device",
@@ -27850,6 +28045,12 @@ Object.freeze({
27850
28045
  addonId: null,
27851
28046
  access: "view"
27852
28047
  },
28048
+ "pipelineOrchestrator.pauseForStorageMigration": {
28049
+ capName: "pipeline-orchestrator",
28050
+ capScope: "system",
28051
+ addonId: null,
28052
+ access: "create"
28053
+ },
27853
28054
  "pipelineOrchestrator.rebalance": {
27854
28055
  capName: "pipeline-orchestrator",
27855
28056
  capScope: "system",
@@ -27874,6 +28075,12 @@ Object.freeze({
27874
28075
  addonId: null,
27875
28076
  access: "view"
27876
28077
  },
28078
+ "pipelineOrchestrator.resumeForStorageMigration": {
28079
+ capName: "pipeline-orchestrator",
28080
+ capScope: "system",
28081
+ addonId: null,
28082
+ access: "create"
28083
+ },
27877
28084
  "pipelineOrchestrator.saveTemplate": {
27878
28085
  capName: "pipeline-orchestrator",
27879
28086
  capScope: "system",
@@ -28270,7 +28477,7 @@ Object.freeze({
28270
28477
  addonId: null,
28271
28478
  access: "create"
28272
28479
  },
28273
- "recording.cancelRelocate": {
28480
+ "recording.cancelStorageMigrationMove": {
28274
28481
  capName: "recording",
28275
28482
  capScope: "system",
28276
28483
  addonId: null,
@@ -28306,7 +28513,7 @@ Object.freeze({
28306
28513
  addonId: null,
28307
28514
  access: "view"
28308
28515
  },
28309
- "recording.getRelocateStatus": {
28516
+ "recording.getStorageMigrationMoveStatus": {
28310
28517
  capName: "recording",
28311
28518
  capScope: "system",
28312
28519
  addonId: null,
@@ -28330,6 +28537,12 @@ Object.freeze({
28330
28537
  addonId: null,
28331
28538
  access: "view"
28332
28539
  },
28540
+ "recording.pauseForStorageMigration": {
28541
+ capName: "recording",
28542
+ capScope: "system",
28543
+ addonId: null,
28544
+ access: "create"
28545
+ },
28333
28546
  "recording.pruneFootage": {
28334
28547
  capName: "recording",
28335
28548
  capScope: "system",
@@ -28348,7 +28561,7 @@ Object.freeze({
28348
28561
  addonId: null,
28349
28562
  access: "view"
28350
28563
  },
28351
- "recording.relocateFootage": {
28564
+ "recording.refreshStorageLocationsForMigration": {
28352
28565
  capName: "recording",
28353
28566
  capScope: "system",
28354
28567
  addonId: null,
@@ -28372,12 +28585,24 @@ Object.freeze({
28372
28585
  addonId: null,
28373
28586
  access: "create"
28374
28587
  },
28588
+ "recording.resumeForStorageMigration": {
28589
+ capName: "recording",
28590
+ capScope: "system",
28591
+ addonId: null,
28592
+ access: "create"
28593
+ },
28375
28594
  "recording.setDeviceConfig": {
28376
28595
  capName: "recording",
28377
28596
  capScope: "system",
28378
28597
  addonId: null,
28379
28598
  access: "create"
28380
28599
  },
28600
+ "recording.startStorageMigrationMove": {
28601
+ capName: "recording",
28602
+ capScope: "system",
28603
+ addonId: null,
28604
+ access: "create"
28605
+ },
28381
28606
  "recordingExport.cancelExport": {
28382
28607
  capName: "recordingExport",
28383
28608
  capScope: "system",
@@ -28768,6 +28993,30 @@ Object.freeze({
28768
28993
  addonId: null,
28769
28994
  access: "view"
28770
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
+ },
28771
29020
  "storageProvider.abortUpload": {
28772
29021
  capName: "storage-provider",
28773
29022
  capScope: "system",
@@ -29146,12 +29395,42 @@ Object.freeze({
29146
29395
  addonId: null,
29147
29396
  access: "create"
29148
29397
  },
29398
+ "terminalSession.adoptLegacyMonitor": {
29399
+ capName: "terminal-session",
29400
+ capScope: "system",
29401
+ addonId: null,
29402
+ access: "create"
29403
+ },
29149
29404
  "terminalSession.close": {
29150
29405
  capName: "terminal-session",
29151
29406
  capScope: "system",
29152
29407
  addonId: null,
29153
29408
  access: "create"
29154
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
+ },
29155
29434
  "terminalSession.listProfiles": {
29156
29435
  capName: "terminal-session",
29157
29436
  capScope: "system",
@@ -29182,6 +29461,12 @@ Object.freeze({
29182
29461
  addonId: null,
29183
29462
  access: "create"
29184
29463
  },
29464
+ "terminalSession.setInstanceEnabled": {
29465
+ capName: "terminal-session",
29466
+ capScope: "system",
29467
+ addonId: null,
29468
+ access: "create"
29469
+ },
29185
29470
  "terminalSession.writeInput": {
29186
29471
  capName: "terminal-session",
29187
29472
  capScope: "system",
@@ -29907,7 +30192,7 @@ var AgentUIAddon = class extends BaseAddon {
29907
30192
  capability: adminUiCapability,
29908
30193
  provider: {
29909
30194
  getStaticDir: async () => ({ staticDir: path.resolve(__dirname) }),
29910
- getVersion: async () => ({ version: "1.2.12" })
30195
+ getVersion: async () => ({ version: "1.2.13" })
29911
30196
  }
29912
30197
  }];
29913
30198
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@camstack/addon-agent-ui",
3
- "version": "1.2.12",
3
+ "version": "1.2.13",
4
4
  "description": "Agent UI — lightweight status dashboard served by every agent node",
5
5
  "keywords": [
6
6
  "camstack",