@camstack/addon-model-studio 1.1.17 → 1.1.19

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.
@@ -7685,12 +7685,11 @@ var RecordingConfigSchema = object({
7685
7685
  /**
7686
7686
  * Entity-relocation job state (storage entity-routing spec, Phase 4).
7687
7687
  *
7688
- * One shape shared by the recorder's `relocateFootage` (segments) and
7689
- * pipeline-analytics' `relocateMedia` (event media blobs) so the admin Data
7690
- * page renders both movers with one component. Jobs are in-RAM (a restart
7691
- * forgets them re-running is safe by construction: copy-if-absent, delete
7692
- * after verify) and each completed/failed run also lands one durable ops-log
7693
- * row on the owning addon's surface.
7688
+ * One shape shared by the recorder and pipeline-analytics internal movers.
7689
+ * The public admin surface is `storage-migration`; child jobs remain in RAM
7690
+ * because copy-if-absent, verify, delete and index/row repoint are resumable.
7691
+ * Each completed/failed run also lands one durable ops-log row on its owning
7692
+ * addon surface.
7694
7693
  */
7695
7694
  var RelocateJobStateSchema = _enum([
7696
7695
  "running",
@@ -7717,19 +7716,100 @@ var RelocateJobSchema = object({
7717
7716
  finishedAt: number().nullable(),
7718
7717
  error: string().nullable()
7719
7718
  });
7719
+ /** Profile-derived footage selection used only by the migration coordinator:
7720
+ * `recordings` owns high+mid; `recordingsLow` owns low. */
7721
+ var RelocateFootageClassSchema = _enum(["recordings", "recordingsLow"]);
7720
7722
  var RelocateFootageInputSchema = object({
7721
- deviceId: number().optional(),
7722
7723
  fromLocationId: string(),
7723
7724
  toLocationId: string(),
7724
7725
  entities: array(_enum(["segments"])).optional(),
7726
+ /** Limits relocation to the logical profile class. Omit only for the
7727
+ * pre-orchestration compatibility path. */
7728
+ footageClass: RelocateFootageClassSchema.optional(),
7725
7729
  /** Copy throttle in MB/s (default 40) — the drain is a background chore,
7726
7730
  * never allowed to starve live writers. */
7727
7731
  throttleMbps: number().min(1).max(1e3).optional()
7728
7732
  });
7729
- var RelocateMediaInputSchema = object({
7730
- deviceId: number().optional(),
7733
+ /** Internal, lease-scoped participant operation. It is intentionally separate
7734
+ * from persistent recording settings: a migration never changes
7735
+ * `RecordingConfig.enabled` or camera wrapper bindings. */
7736
+ var StorageMigrationLeaseInputSchema = object({ leaseId: string().min(1) });
7737
+ var StorageMigrationFootageMoveInputSchema = RelocateFootageInputSchema.extend({ leaseId: string().min(1) });
7738
+ var StorageMigrationMediaMoveInputSchema = object({
7731
7739
  toLocationId: string(),
7732
7740
  throttleMbps: number().min(1).max(1e3).optional()
7741
+ }).extend({ leaseId: string().min(1) });
7742
+ /** The independently selectable logical storage classes. `recordings`
7743
+ * encompasses the high and mid segment profiles; `recordingsLow` is low
7744
+ * segments; `eventMedia` is post-analysis blobs. */
7745
+ var StorageMigrationClassSchema = _enum([
7746
+ "recordings",
7747
+ "recordingsLow",
7748
+ "eventMedia"
7749
+ ]);
7750
+ /** A destination is always an existing, fully-qualified location id. The
7751
+ * migration API intentionally never changes a source location's `basePath`:
7752
+ * callers create a new `<type>:<slug>` location, then select it here. */
7753
+ var StorageMigrationDestinationsSchema = object({
7754
+ recordings: string().min(1).optional(),
7755
+ recordingsLow: string().min(1).optional(),
7756
+ eventMedia: string().min(1).optional()
7757
+ }).refine((value) => Object.keys(value).length > 0, { message: "select at least one storage class" });
7758
+ /** Shared input for planning and starting an orchestrated storage migration. */
7759
+ var StorageMigrationInputSchema = object({
7760
+ destinations: StorageMigrationDestinationsSchema,
7761
+ throttleMbps: number().min(1).max(1e3).optional()
7762
+ });
7763
+ /** The durable coordinator state machine. The only phase that changes default
7764
+ * locations is `repointing`, after every selected mover has completed and been
7765
+ * verified. */
7766
+ var StorageMigrationPhaseSchema = _enum([
7767
+ "planning",
7768
+ "pausing",
7769
+ "moving",
7770
+ "verifying",
7771
+ "repointing",
7772
+ "refreshing",
7773
+ "resuming",
7774
+ "done",
7775
+ "failed",
7776
+ "cancelled"
7777
+ ]);
7778
+ var StorageMigrationParticipantSchema = _enum([
7779
+ "pipeline",
7780
+ "recorder",
7781
+ "analytics"
7782
+ ]);
7783
+ var StorageMigrationMoveSchema = object({
7784
+ storageClass: StorageMigrationClassSchema,
7785
+ fromLocationId: string(),
7786
+ toLocationId: string(),
7787
+ moverJobId: string().nullable(),
7788
+ state: RelocateJobStateSchema.nullable(),
7789
+ error: string().nullable()
7790
+ });
7791
+ var StorageMigrationJobSchema = object({
7792
+ jobId: string(),
7793
+ phase: StorageMigrationPhaseSchema,
7794
+ destinations: StorageMigrationDestinationsSchema,
7795
+ throttleMbps: number(),
7796
+ moves: array(StorageMigrationMoveSchema),
7797
+ pauseLeaseId: string().nullable(),
7798
+ pausedParticipants: array(StorageMigrationParticipantSchema),
7799
+ repointed: boolean(),
7800
+ cancelRequested: boolean(),
7801
+ startedAt: number(),
7802
+ updatedAt: number(),
7803
+ finishedAt: number().nullable(),
7804
+ error: string().nullable()
7805
+ });
7806
+ var StorageMigrationPlanSchema = object({
7807
+ destinations: StorageMigrationDestinationsSchema,
7808
+ moves: array(object({
7809
+ storageClass: StorageMigrationClassSchema,
7810
+ fromLocationId: string(),
7811
+ toLocationId: string()
7812
+ }))
7733
7813
  });
7734
7814
  /**
7735
7815
  * `StorageLocationType` — an addon-declared id that identifies the *kind* of
@@ -16146,13 +16226,19 @@ DeviceType.Camera, method(object({ deviceId: number() }), array(TrackSchema).rea
16146
16226
  }), method(object({ deviceId: number() }), EventPruneCountsSchema, {
16147
16227
  kind: "mutation",
16148
16228
  auth: "admin"
16149
- }), method(RelocateMediaInputSchema, object({ jobId: string() }), {
16229
+ }), method(StorageMigrationLeaseInputSchema, object({ paused: literal(true) }), {
16150
16230
  kind: "mutation",
16151
16231
  auth: "admin"
16152
- }), method(object({}), array(RelocateJobSchema).readonly(), {
16153
- kind: "query",
16232
+ }), method(StorageMigrationLeaseInputSchema, object({ resumed: literal(true) }), {
16233
+ kind: "mutation",
16154
16234
  auth: "admin"
16155
- }), method(object({ jobId: string() }), object({ cancelled: boolean() }), {
16235
+ }), method(StorageMigrationLeaseInputSchema, object({ refreshed: literal(true) }), {
16236
+ kind: "mutation",
16237
+ auth: "admin"
16238
+ }), method(StorageMigrationMediaMoveInputSchema, object({ jobId: string() }), {
16239
+ kind: "mutation",
16240
+ auth: "admin"
16241
+ }), method(object({ jobId: string() }), RelocateJobSchema.nullable(), { auth: "admin" }), method(object({ jobId: string() }), object({ cancelled: boolean() }), {
16156
16242
  kind: "mutation",
16157
16243
  auth: "admin"
16158
16244
  }), method(OpsLogQueryInputSchema, array(OpsLogEntrySchema).readonly(), {
@@ -17649,7 +17735,13 @@ var NodeInferenceDevicesSchema = object({
17649
17735
  reachable: boolean(),
17650
17736
  devices: array(NodeInferenceDeviceSchema).readonly()
17651
17737
  });
17652
- method(object({
17738
+ method(StorageMigrationLeaseInputSchema, object({ paused: literal(true) }), {
17739
+ kind: "mutation",
17740
+ auth: "admin"
17741
+ }), method(StorageMigrationLeaseInputSchema, object({ resumed: literal(true) }), {
17742
+ kind: "mutation",
17743
+ auth: "admin"
17744
+ }), method(object({
17653
17745
  deviceId: number(),
17654
17746
  agentNodeId: string()
17655
17747
  }), object({ success: literal(true) }), {
@@ -18323,6 +18415,13 @@ method(object({ locationId: string() }), EvictableUsageSchema), method(object({
18323
18415
  locationId: string(),
18324
18416
  targetBytes: number().int().positive()
18325
18417
  }), EvictResultSchema, { kind: "mutation" });
18418
+ method(StorageMigrationInputSchema, StorageMigrationPlanSchema, { auth: "admin" }), method(StorageMigrationInputSchema, object({ jobId: string() }), {
18419
+ kind: "mutation",
18420
+ auth: "admin"
18421
+ }), method(object({ jobId: string().optional() }), StorageMigrationJobSchema.nullable(), { auth: "admin" }), method(object({ jobId: string() }), object({ cancelled: boolean() }), {
18422
+ kind: "mutation",
18423
+ auth: "admin"
18424
+ });
18326
18425
  var ProviderInfoSchema = discriminatedUnion("shouldSaveDiskSpace", [object({
18327
18426
  providerId: string().min(1),
18328
18427
  displayName: string().min(1),
@@ -18426,7 +18525,67 @@ var TerminalProfileInfoSchema = object({
18426
18525
  label: string(),
18427
18526
  description: string().optional()
18428
18527
  });
18429
- method(_void(), array(TerminalProfileInfoSchema).readonly(), { auth: "admin" }), method(_void(), array(TerminalSessionInfoSchema).readonly(), { auth: "admin" }), method(object({
18528
+ /**
18529
+ * A durable operator-created Terminal instance. Profiles are templates; only
18530
+ * an instance declares a camera.
18531
+ */
18532
+ var TerminalInstanceInfoSchema = object({
18533
+ instanceId: string(),
18534
+ cameraStableId: string(),
18535
+ nodeId: string(),
18536
+ profileId: string(),
18537
+ profileLabel: string(),
18538
+ name: string(),
18539
+ enabled: boolean()
18540
+ });
18541
+ var TerminalLegacyCameraSchema = object({
18542
+ stableId: string(),
18543
+ nodeId: string(),
18544
+ profileId: string(),
18545
+ profileLabel: string(),
18546
+ name: string(),
18547
+ /** Only legacy monitor cameras can retain their historic stable identity. */
18548
+ adoptable: boolean()
18549
+ });
18550
+ var TerminalOutputEventSchema = discriminatedUnion("kind", [object({
18551
+ seq: number().int().positive(),
18552
+ kind: literal("data"),
18553
+ data: string()
18554
+ }), object({
18555
+ seq: number().int().positive(),
18556
+ kind: literal("exit"),
18557
+ exitCode: number().int(),
18558
+ signal: number().int().optional()
18559
+ })]);
18560
+ var TerminalOutputBatchSchema = object({
18561
+ cursor: number().int().nonnegative(),
18562
+ reset: boolean(),
18563
+ snapshot: string().optional(),
18564
+ events: array(TerminalOutputEventSchema).readonly()
18565
+ });
18566
+ method(_void(), array(TerminalProfileInfoSchema).readonly(), { auth: "admin" }), method(_void(), array(TerminalInstanceInfoSchema).readonly(), { auth: "admin" }), method(object({
18567
+ targetNodeId: string().min(1),
18568
+ profileId: string().min(1),
18569
+ name: string().trim().min(1).max(160).optional()
18570
+ }), TerminalInstanceInfoSchema, {
18571
+ kind: "mutation",
18572
+ auth: "admin"
18573
+ }), method(object({ instanceId: string().min(1) }), _void(), {
18574
+ kind: "mutation",
18575
+ auth: "admin"
18576
+ }), method(object({
18577
+ instanceId: string().min(1),
18578
+ enabled: boolean()
18579
+ }), TerminalInstanceInfoSchema, {
18580
+ kind: "mutation",
18581
+ auth: "admin"
18582
+ }), method(_void(), array(TerminalLegacyCameraSchema).readonly(), { auth: "admin" }), method(object({
18583
+ stableId: string().min(1),
18584
+ name: string().trim().min(1).max(160).optional()
18585
+ }), TerminalInstanceInfoSchema, {
18586
+ kind: "mutation",
18587
+ auth: "admin"
18588
+ }), method(_void(), array(TerminalSessionInfoSchema).readonly(), { auth: "admin" }), method(object({
18430
18589
  profileId: string(),
18431
18590
  cols: number().int().positive(),
18432
18591
  rows: number().int().positive()
@@ -18440,6 +18599,26 @@ method(_void(), array(TerminalProfileInfoSchema).readonly(), { auth: "admin" }),
18440
18599
  }), _void(), {
18441
18600
  kind: "mutation",
18442
18601
  auth: "admin"
18602
+ }), method(object({
18603
+ sessionId: string(),
18604
+ afterSeq: number().int().nonnegative(),
18605
+ waitMs: number().int().min(0).max(2e3).default(0),
18606
+ /**
18607
+ * Wait when a just-opened session has no output yet. Kept opt-in so a
18608
+ * browser's initial repaint remains immediate; the camera snapshot
18609
+ * relay uses it to avoid encoding a blank startup frame.
18610
+ */
18611
+ waitForOutput: boolean().optional()
18612
+ }), TerminalOutputBatchSchema, {
18613
+ kind: "mutation",
18614
+ auth: "admin",
18615
+ timeoutMs: 15e3
18616
+ }), method(object({
18617
+ sessionId: string(),
18618
+ data: string().max(64 * 1024)
18619
+ }), _void(), {
18620
+ kind: "mutation",
18621
+ auth: "admin"
18443
18622
  }), method(object({ sessionId: string() }), _void(), {
18444
18623
  kind: "mutation",
18445
18624
  auth: "admin"
@@ -20370,6 +20549,7 @@ var FaceInfoSchema = object({
20370
20549
  var FaceFilterEnum = _enum([
20371
20550
  "unassigned",
20372
20551
  "recognized",
20552
+ "identified",
20373
20553
  "all"
20374
20554
  ]);
20375
20555
  var MediaFileLiteSchema$1 = object({
@@ -20398,6 +20578,8 @@ method(_void(), array(IdentitySchema).readonly()), method(object({ name: string(
20398
20578
  kind: "mutation",
20399
20579
  auth: "admin"
20400
20580
  }), method(object({
20581
+ /** Restrict to one camera. Absent keeps the cluster-wide gallery view. */
20582
+ deviceId: number().int().optional(),
20401
20583
  limit: number().int().positive().optional(),
20402
20584
  filter: FaceFilterEnum.optional(),
20403
20585
  /**
@@ -22163,6 +22345,10 @@ var OsdSourceSchema = discriminatedUnion("kind", [
22163
22345
  capName: string().min(1).max(64),
22164
22346
  /** Dot path inside the slice, e.g. `detected`, `value`, `mode`. */
22165
22347
  valuePath: string().min(1).max(64)
22348
+ }),
22349
+ object({
22350
+ kind: literal("latest-recognition"),
22351
+ recognition: _enum(["person", "plate"])
22166
22352
  })
22167
22353
  ]);
22168
22354
  var OsdSlotBindingSchema = object({
@@ -22268,6 +22454,15 @@ method(object({ deviceId: number().int() }), object({
22268
22454
  }), object({ success: literal(true) }), {
22269
22455
  kind: "mutation",
22270
22456
  auth: "admin"
22457
+ }), method(object({
22458
+ sourceDeviceId: number().int(),
22459
+ targetDeviceId: number().int()
22460
+ }), object({
22461
+ copied: number().int().nonnegative(),
22462
+ skipped: number().int().nonnegative()
22463
+ }), {
22464
+ kind: "mutation",
22465
+ auth: "admin"
22271
22466
  }), method(object({
22272
22467
  deviceId: number().int(),
22273
22468
  slotId: string().min(1),
@@ -23153,13 +23348,19 @@ method(object({
23153
23348
  }), {
23154
23349
  kind: "mutation",
23155
23350
  auth: "admin"
23156
- }), method(RelocateFootageInputSchema, object({ jobId: string() }), {
23351
+ }), method(StorageMigrationLeaseInputSchema, object({ paused: literal(true) }), {
23157
23352
  kind: "mutation",
23158
23353
  auth: "admin"
23159
- }), method(object({}), array(RelocateJobSchema).readonly(), {
23160
- kind: "query",
23354
+ }), method(StorageMigrationLeaseInputSchema, object({ resumed: literal(true) }), {
23355
+ kind: "mutation",
23161
23356
  auth: "admin"
23162
- }), method(object({ jobId: string() }), object({ cancelled: boolean() }), {
23357
+ }), method(StorageMigrationLeaseInputSchema, object({ refreshed: literal(true) }), {
23358
+ kind: "mutation",
23359
+ auth: "admin"
23360
+ }), method(StorageMigrationFootageMoveInputSchema, object({ jobId: string() }), {
23361
+ kind: "mutation",
23362
+ auth: "admin"
23363
+ }), method(object({ jobId: string() }), RelocateJobSchema.nullable(), { auth: "admin" }), method(object({ jobId: string() }), object({ cancelled: boolean() }), {
23163
23364
  kind: "mutation",
23164
23365
  auth: "admin"
23165
23366
  });
@@ -27281,6 +27482,12 @@ Object.freeze({
27281
27482
  addonId: null,
27282
27483
  access: "delete"
27283
27484
  },
27485
+ "osdManager.copyDeviceConfiguration": {
27486
+ capName: "osd-manager",
27487
+ capScope: "system",
27488
+ addonId: null,
27489
+ access: "create"
27490
+ },
27284
27491
  "osdManager.getConditionSupport": {
27285
27492
  capName: "osd-manager",
27286
27493
  capScope: "system",
@@ -27377,7 +27584,7 @@ Object.freeze({
27377
27584
  addonId: null,
27378
27585
  access: "create"
27379
27586
  },
27380
- "pipelineAnalytics.cancelMediaRelocate": {
27587
+ "pipelineAnalytics.cancelStorageMigrationMove": {
27381
27588
  capName: "pipeline-analytics",
27382
27589
  capScope: "device",
27383
27590
  addonId: null,
@@ -27449,12 +27656,6 @@ Object.freeze({
27449
27656
  addonId: null,
27450
27657
  access: "view"
27451
27658
  },
27452
- "pipelineAnalytics.getMediaRelocateStatus": {
27453
- capName: "pipeline-analytics",
27454
- capScope: "device",
27455
- addonId: null,
27456
- access: "view"
27457
- },
27458
27659
  "pipelineAnalytics.getMotionEvents": {
27459
27660
  capName: "pipeline-analytics",
27460
27661
  capScope: "device",
@@ -27491,6 +27692,12 @@ Object.freeze({
27491
27692
  addonId: null,
27492
27693
  access: "view"
27493
27694
  },
27695
+ "pipelineAnalytics.getStorageMigrationMoveStatus": {
27696
+ capName: "pipeline-analytics",
27697
+ capScope: "device",
27698
+ addonId: null,
27699
+ access: "view"
27700
+ },
27494
27701
  "pipelineAnalytics.getTrack": {
27495
27702
  capName: "pipeline-analytics",
27496
27703
  capScope: "device",
@@ -27569,6 +27776,12 @@ Object.freeze({
27569
27776
  addonId: null,
27570
27777
  access: "view"
27571
27778
  },
27779
+ "pipelineAnalytics.pauseForStorageMigration": {
27780
+ capName: "pipeline-analytics",
27781
+ capScope: "device",
27782
+ addonId: null,
27783
+ access: "create"
27784
+ },
27572
27785
  "pipelineAnalytics.proposeRetrainAnnotations": {
27573
27786
  capName: "pipeline-analytics",
27574
27787
  capScope: "device",
@@ -27599,7 +27812,7 @@ Object.freeze({
27599
27812
  addonId: null,
27600
27813
  access: "create"
27601
27814
  },
27602
- "pipelineAnalytics.relocateMedia": {
27815
+ "pipelineAnalytics.refreshStorageLocationsForMigration": {
27603
27816
  capName: "pipeline-analytics",
27604
27817
  capScope: "device",
27605
27818
  addonId: null,
@@ -27611,6 +27824,12 @@ Object.freeze({
27611
27824
  addonId: null,
27612
27825
  access: "create"
27613
27826
  },
27827
+ "pipelineAnalytics.resumeForStorageMigration": {
27828
+ capName: "pipeline-analytics",
27829
+ capScope: "device",
27830
+ addonId: null,
27831
+ access: "create"
27832
+ },
27614
27833
  "pipelineAnalytics.saveRetrainAnnotations": {
27615
27834
  capName: "pipeline-analytics",
27616
27835
  capScope: "device",
@@ -27635,6 +27854,12 @@ Object.freeze({
27635
27854
  addonId: null,
27636
27855
  access: "create"
27637
27856
  },
27857
+ "pipelineAnalytics.startStorageMigrationMove": {
27858
+ capName: "pipeline-analytics",
27859
+ capScope: "device",
27860
+ addonId: null,
27861
+ access: "create"
27862
+ },
27638
27863
  "pipelineAnalytics.wipeAllAnalytics": {
27639
27864
  capName: "pipeline-analytics",
27640
27865
  capScope: "device",
@@ -28001,6 +28226,12 @@ Object.freeze({
28001
28226
  addonId: null,
28002
28227
  access: "view"
28003
28228
  },
28229
+ "pipelineOrchestrator.pauseForStorageMigration": {
28230
+ capName: "pipeline-orchestrator",
28231
+ capScope: "system",
28232
+ addonId: null,
28233
+ access: "create"
28234
+ },
28004
28235
  "pipelineOrchestrator.rebalance": {
28005
28236
  capName: "pipeline-orchestrator",
28006
28237
  capScope: "system",
@@ -28025,6 +28256,12 @@ Object.freeze({
28025
28256
  addonId: null,
28026
28257
  access: "view"
28027
28258
  },
28259
+ "pipelineOrchestrator.resumeForStorageMigration": {
28260
+ capName: "pipeline-orchestrator",
28261
+ capScope: "system",
28262
+ addonId: null,
28263
+ access: "create"
28264
+ },
28028
28265
  "pipelineOrchestrator.saveTemplate": {
28029
28266
  capName: "pipeline-orchestrator",
28030
28267
  capScope: "system",
@@ -28421,7 +28658,7 @@ Object.freeze({
28421
28658
  addonId: null,
28422
28659
  access: "create"
28423
28660
  },
28424
- "recording.cancelRelocate": {
28661
+ "recording.cancelStorageMigrationMove": {
28425
28662
  capName: "recording",
28426
28663
  capScope: "system",
28427
28664
  addonId: null,
@@ -28457,7 +28694,7 @@ Object.freeze({
28457
28694
  addonId: null,
28458
28695
  access: "view"
28459
28696
  },
28460
- "recording.getRelocateStatus": {
28697
+ "recording.getStorageMigrationMoveStatus": {
28461
28698
  capName: "recording",
28462
28699
  capScope: "system",
28463
28700
  addonId: null,
@@ -28481,6 +28718,12 @@ Object.freeze({
28481
28718
  addonId: null,
28482
28719
  access: "view"
28483
28720
  },
28721
+ "recording.pauseForStorageMigration": {
28722
+ capName: "recording",
28723
+ capScope: "system",
28724
+ addonId: null,
28725
+ access: "create"
28726
+ },
28484
28727
  "recording.pruneFootage": {
28485
28728
  capName: "recording",
28486
28729
  capScope: "system",
@@ -28499,7 +28742,7 @@ Object.freeze({
28499
28742
  addonId: null,
28500
28743
  access: "view"
28501
28744
  },
28502
- "recording.relocateFootage": {
28745
+ "recording.refreshStorageLocationsForMigration": {
28503
28746
  capName: "recording",
28504
28747
  capScope: "system",
28505
28748
  addonId: null,
@@ -28523,12 +28766,24 @@ Object.freeze({
28523
28766
  addonId: null,
28524
28767
  access: "create"
28525
28768
  },
28769
+ "recording.resumeForStorageMigration": {
28770
+ capName: "recording",
28771
+ capScope: "system",
28772
+ addonId: null,
28773
+ access: "create"
28774
+ },
28526
28775
  "recording.setDeviceConfig": {
28527
28776
  capName: "recording",
28528
28777
  capScope: "system",
28529
28778
  addonId: null,
28530
28779
  access: "create"
28531
28780
  },
28781
+ "recording.startStorageMigrationMove": {
28782
+ capName: "recording",
28783
+ capScope: "system",
28784
+ addonId: null,
28785
+ access: "create"
28786
+ },
28532
28787
  "recordingExport.cancelExport": {
28533
28788
  capName: "recordingExport",
28534
28789
  capScope: "system",
@@ -28919,6 +29174,30 @@ Object.freeze({
28919
29174
  addonId: null,
28920
29175
  access: "view"
28921
29176
  },
29177
+ "storageMigration.cancel": {
29178
+ capName: "storage-migration",
29179
+ capScope: "system",
29180
+ addonId: null,
29181
+ access: "create"
29182
+ },
29183
+ "storageMigration.plan": {
29184
+ capName: "storage-migration",
29185
+ capScope: "system",
29186
+ addonId: null,
29187
+ access: "view"
29188
+ },
29189
+ "storageMigration.start": {
29190
+ capName: "storage-migration",
29191
+ capScope: "system",
29192
+ addonId: null,
29193
+ access: "create"
29194
+ },
29195
+ "storageMigration.status": {
29196
+ capName: "storage-migration",
29197
+ capScope: "system",
29198
+ addonId: null,
29199
+ access: "view"
29200
+ },
28922
29201
  "storageProvider.abortUpload": {
28923
29202
  capName: "storage-provider",
28924
29203
  capScope: "system",
@@ -29297,12 +29576,42 @@ Object.freeze({
29297
29576
  addonId: null,
29298
29577
  access: "create"
29299
29578
  },
29579
+ "terminalSession.adoptLegacyMonitor": {
29580
+ capName: "terminal-session",
29581
+ capScope: "system",
29582
+ addonId: null,
29583
+ access: "create"
29584
+ },
29300
29585
  "terminalSession.close": {
29301
29586
  capName: "terminal-session",
29302
29587
  capScope: "system",
29303
29588
  addonId: null,
29304
29589
  access: "create"
29305
29590
  },
29591
+ "terminalSession.createInstance": {
29592
+ capName: "terminal-session",
29593
+ capScope: "system",
29594
+ addonId: null,
29595
+ access: "create"
29596
+ },
29597
+ "terminalSession.deleteInstance": {
29598
+ capName: "terminal-session",
29599
+ capScope: "system",
29600
+ addonId: null,
29601
+ access: "delete"
29602
+ },
29603
+ "terminalSession.listInstances": {
29604
+ capName: "terminal-session",
29605
+ capScope: "system",
29606
+ addonId: null,
29607
+ access: "view"
29608
+ },
29609
+ "terminalSession.listLegacyCameras": {
29610
+ capName: "terminal-session",
29611
+ capScope: "system",
29612
+ addonId: null,
29613
+ access: "view"
29614
+ },
29306
29615
  "terminalSession.listProfiles": {
29307
29616
  capName: "terminal-session",
29308
29617
  capScope: "system",
@@ -29321,12 +29630,30 @@ Object.freeze({
29321
29630
  addonId: null,
29322
29631
  access: "create"
29323
29632
  },
29633
+ "terminalSession.pullOutput": {
29634
+ capName: "terminal-session",
29635
+ capScope: "system",
29636
+ addonId: null,
29637
+ access: "create"
29638
+ },
29324
29639
  "terminalSession.resize": {
29325
29640
  capName: "terminal-session",
29326
29641
  capScope: "system",
29327
29642
  addonId: null,
29328
29643
  access: "create"
29329
29644
  },
29645
+ "terminalSession.setInstanceEnabled": {
29646
+ capName: "terminal-session",
29647
+ capScope: "system",
29648
+ addonId: null,
29649
+ access: "create"
29650
+ },
29651
+ "terminalSession.writeInput": {
29652
+ capName: "terminal-session",
29653
+ capScope: "system",
29654
+ addonId: null,
29655
+ access: "create"
29656
+ },
29330
29657
  "toast.onToast": {
29331
29658
  capName: "toast",
29332
29659
  capScope: "system",