@camstack/addon-model-studio 1.1.18 → 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.
@@ -7662,12 +7662,11 @@ var RecordingConfigSchema = object({
7662
7662
  /**
7663
7663
  * Entity-relocation job state (storage entity-routing spec, Phase 4).
7664
7664
  *
7665
- * One shape shared by the recorder's `relocateFootage` (segments) and
7666
- * pipeline-analytics' `relocateMedia` (event media blobs) so the admin Data
7667
- * page renders both movers with one component. Jobs are in-RAM (a restart
7668
- * forgets them re-running is safe by construction: copy-if-absent, delete
7669
- * after verify) and each completed/failed run also lands one durable ops-log
7670
- * row on the owning addon's surface.
7665
+ * One shape shared by the recorder and pipeline-analytics internal movers.
7666
+ * The public admin surface is `storage-migration`; child jobs remain in RAM
7667
+ * because copy-if-absent, verify, delete and index/row repoint are resumable.
7668
+ * Each completed/failed run also lands one durable ops-log row on its owning
7669
+ * addon surface.
7671
7670
  */
7672
7671
  var RelocateJobStateSchema = _enum([
7673
7672
  "running",
@@ -7694,19 +7693,100 @@ var RelocateJobSchema = object({
7694
7693
  finishedAt: number().nullable(),
7695
7694
  error: string().nullable()
7696
7695
  });
7696
+ /** Profile-derived footage selection used only by the migration coordinator:
7697
+ * `recordings` owns high+mid; `recordingsLow` owns low. */
7698
+ var RelocateFootageClassSchema = _enum(["recordings", "recordingsLow"]);
7697
7699
  var RelocateFootageInputSchema = object({
7698
- deviceId: number().optional(),
7699
7700
  fromLocationId: string(),
7700
7701
  toLocationId: string(),
7701
7702
  entities: array(_enum(["segments"])).optional(),
7703
+ /** Limits relocation to the logical profile class. Omit only for the
7704
+ * pre-orchestration compatibility path. */
7705
+ footageClass: RelocateFootageClassSchema.optional(),
7702
7706
  /** Copy throttle in MB/s (default 40) — the drain is a background chore,
7703
7707
  * never allowed to starve live writers. */
7704
7708
  throttleMbps: number().min(1).max(1e3).optional()
7705
7709
  });
7706
- var RelocateMediaInputSchema = object({
7707
- deviceId: number().optional(),
7710
+ /** Internal, lease-scoped participant operation. It is intentionally separate
7711
+ * from persistent recording settings: a migration never changes
7712
+ * `RecordingConfig.enabled` or camera wrapper bindings. */
7713
+ var StorageMigrationLeaseInputSchema = object({ leaseId: string().min(1) });
7714
+ var StorageMigrationFootageMoveInputSchema = RelocateFootageInputSchema.extend({ leaseId: string().min(1) });
7715
+ var StorageMigrationMediaMoveInputSchema = object({
7708
7716
  toLocationId: string(),
7709
7717
  throttleMbps: number().min(1).max(1e3).optional()
7718
+ }).extend({ leaseId: string().min(1) });
7719
+ /** The independently selectable logical storage classes. `recordings`
7720
+ * encompasses the high and mid segment profiles; `recordingsLow` is low
7721
+ * segments; `eventMedia` is post-analysis blobs. */
7722
+ var StorageMigrationClassSchema = _enum([
7723
+ "recordings",
7724
+ "recordingsLow",
7725
+ "eventMedia"
7726
+ ]);
7727
+ /** A destination is always an existing, fully-qualified location id. The
7728
+ * migration API intentionally never changes a source location's `basePath`:
7729
+ * callers create a new `<type>:<slug>` location, then select it here. */
7730
+ var StorageMigrationDestinationsSchema = object({
7731
+ recordings: string().min(1).optional(),
7732
+ recordingsLow: string().min(1).optional(),
7733
+ eventMedia: string().min(1).optional()
7734
+ }).refine((value) => Object.keys(value).length > 0, { message: "select at least one storage class" });
7735
+ /** Shared input for planning and starting an orchestrated storage migration. */
7736
+ var StorageMigrationInputSchema = object({
7737
+ destinations: StorageMigrationDestinationsSchema,
7738
+ throttleMbps: number().min(1).max(1e3).optional()
7739
+ });
7740
+ /** The durable coordinator state machine. The only phase that changes default
7741
+ * locations is `repointing`, after every selected mover has completed and been
7742
+ * verified. */
7743
+ var StorageMigrationPhaseSchema = _enum([
7744
+ "planning",
7745
+ "pausing",
7746
+ "moving",
7747
+ "verifying",
7748
+ "repointing",
7749
+ "refreshing",
7750
+ "resuming",
7751
+ "done",
7752
+ "failed",
7753
+ "cancelled"
7754
+ ]);
7755
+ var StorageMigrationParticipantSchema = _enum([
7756
+ "pipeline",
7757
+ "recorder",
7758
+ "analytics"
7759
+ ]);
7760
+ var StorageMigrationMoveSchema = object({
7761
+ storageClass: StorageMigrationClassSchema,
7762
+ fromLocationId: string(),
7763
+ toLocationId: string(),
7764
+ moverJobId: string().nullable(),
7765
+ state: RelocateJobStateSchema.nullable(),
7766
+ error: string().nullable()
7767
+ });
7768
+ var StorageMigrationJobSchema = object({
7769
+ jobId: string(),
7770
+ phase: StorageMigrationPhaseSchema,
7771
+ destinations: StorageMigrationDestinationsSchema,
7772
+ throttleMbps: number(),
7773
+ moves: array(StorageMigrationMoveSchema),
7774
+ pauseLeaseId: string().nullable(),
7775
+ pausedParticipants: array(StorageMigrationParticipantSchema),
7776
+ repointed: boolean(),
7777
+ cancelRequested: boolean(),
7778
+ startedAt: number(),
7779
+ updatedAt: number(),
7780
+ finishedAt: number().nullable(),
7781
+ error: string().nullable()
7782
+ });
7783
+ var StorageMigrationPlanSchema = object({
7784
+ destinations: StorageMigrationDestinationsSchema,
7785
+ moves: array(object({
7786
+ storageClass: StorageMigrationClassSchema,
7787
+ fromLocationId: string(),
7788
+ toLocationId: string()
7789
+ }))
7710
7790
  });
7711
7791
  /**
7712
7792
  * `StorageLocationType` — an addon-declared id that identifies the *kind* of
@@ -16123,13 +16203,19 @@ DeviceType.Camera, method(object({ deviceId: number() }), array(TrackSchema).rea
16123
16203
  }), method(object({ deviceId: number() }), EventPruneCountsSchema, {
16124
16204
  kind: "mutation",
16125
16205
  auth: "admin"
16126
- }), method(RelocateMediaInputSchema, object({ jobId: string() }), {
16206
+ }), method(StorageMigrationLeaseInputSchema, object({ paused: literal(true) }), {
16127
16207
  kind: "mutation",
16128
16208
  auth: "admin"
16129
- }), method(object({}), array(RelocateJobSchema).readonly(), {
16130
- kind: "query",
16209
+ }), method(StorageMigrationLeaseInputSchema, object({ resumed: literal(true) }), {
16210
+ kind: "mutation",
16211
+ auth: "admin"
16212
+ }), method(StorageMigrationLeaseInputSchema, object({ refreshed: literal(true) }), {
16213
+ kind: "mutation",
16214
+ auth: "admin"
16215
+ }), method(StorageMigrationMediaMoveInputSchema, object({ jobId: string() }), {
16216
+ kind: "mutation",
16131
16217
  auth: "admin"
16132
- }), method(object({ jobId: string() }), object({ cancelled: boolean() }), {
16218
+ }), method(object({ jobId: string() }), RelocateJobSchema.nullable(), { auth: "admin" }), method(object({ jobId: string() }), object({ cancelled: boolean() }), {
16133
16219
  kind: "mutation",
16134
16220
  auth: "admin"
16135
16221
  }), method(OpsLogQueryInputSchema, array(OpsLogEntrySchema).readonly(), {
@@ -17626,7 +17712,13 @@ var NodeInferenceDevicesSchema = object({
17626
17712
  reachable: boolean(),
17627
17713
  devices: array(NodeInferenceDeviceSchema).readonly()
17628
17714
  });
17629
- method(object({
17715
+ method(StorageMigrationLeaseInputSchema, object({ paused: literal(true) }), {
17716
+ kind: "mutation",
17717
+ auth: "admin"
17718
+ }), method(StorageMigrationLeaseInputSchema, object({ resumed: literal(true) }), {
17719
+ kind: "mutation",
17720
+ auth: "admin"
17721
+ }), method(object({
17630
17722
  deviceId: number(),
17631
17723
  agentNodeId: string()
17632
17724
  }), object({ success: literal(true) }), {
@@ -18300,6 +18392,13 @@ method(object({ locationId: string() }), EvictableUsageSchema), method(object({
18300
18392
  locationId: string(),
18301
18393
  targetBytes: number().int().positive()
18302
18394
  }), EvictResultSchema, { kind: "mutation" });
18395
+ method(StorageMigrationInputSchema, StorageMigrationPlanSchema, { auth: "admin" }), method(StorageMigrationInputSchema, object({ jobId: string() }), {
18396
+ kind: "mutation",
18397
+ auth: "admin"
18398
+ }), method(object({ jobId: string().optional() }), StorageMigrationJobSchema.nullable(), { auth: "admin" }), method(object({ jobId: string() }), object({ cancelled: boolean() }), {
18399
+ kind: "mutation",
18400
+ auth: "admin"
18401
+ });
18303
18402
  var ProviderInfoSchema = discriminatedUnion("shouldSaveDiskSpace", [object({
18304
18403
  providerId: string().min(1),
18305
18404
  displayName: string().min(1),
@@ -18403,6 +18502,28 @@ var TerminalProfileInfoSchema = object({
18403
18502
  label: string(),
18404
18503
  description: string().optional()
18405
18504
  });
18505
+ /**
18506
+ * A durable operator-created Terminal instance. Profiles are templates; only
18507
+ * an instance declares a camera.
18508
+ */
18509
+ var TerminalInstanceInfoSchema = object({
18510
+ instanceId: string(),
18511
+ cameraStableId: string(),
18512
+ nodeId: string(),
18513
+ profileId: string(),
18514
+ profileLabel: string(),
18515
+ name: string(),
18516
+ enabled: boolean()
18517
+ });
18518
+ var TerminalLegacyCameraSchema = object({
18519
+ stableId: string(),
18520
+ nodeId: string(),
18521
+ profileId: string(),
18522
+ profileLabel: string(),
18523
+ name: string(),
18524
+ /** Only legacy monitor cameras can retain their historic stable identity. */
18525
+ adoptable: boolean()
18526
+ });
18406
18527
  var TerminalOutputEventSchema = discriminatedUnion("kind", [object({
18407
18528
  seq: number().int().positive(),
18408
18529
  kind: literal("data"),
@@ -18419,7 +18540,29 @@ var TerminalOutputBatchSchema = object({
18419
18540
  snapshot: string().optional(),
18420
18541
  events: array(TerminalOutputEventSchema).readonly()
18421
18542
  });
18422
- method(_void(), array(TerminalProfileInfoSchema).readonly(), { auth: "admin" }), method(_void(), array(TerminalSessionInfoSchema).readonly(), { auth: "admin" }), method(object({
18543
+ method(_void(), array(TerminalProfileInfoSchema).readonly(), { auth: "admin" }), method(_void(), array(TerminalInstanceInfoSchema).readonly(), { auth: "admin" }), method(object({
18544
+ targetNodeId: string().min(1),
18545
+ profileId: string().min(1),
18546
+ name: string().trim().min(1).max(160).optional()
18547
+ }), TerminalInstanceInfoSchema, {
18548
+ kind: "mutation",
18549
+ auth: "admin"
18550
+ }), method(object({ instanceId: string().min(1) }), _void(), {
18551
+ kind: "mutation",
18552
+ auth: "admin"
18553
+ }), method(object({
18554
+ instanceId: string().min(1),
18555
+ enabled: boolean()
18556
+ }), TerminalInstanceInfoSchema, {
18557
+ kind: "mutation",
18558
+ auth: "admin"
18559
+ }), method(_void(), array(TerminalLegacyCameraSchema).readonly(), { auth: "admin" }), method(object({
18560
+ stableId: string().min(1),
18561
+ name: string().trim().min(1).max(160).optional()
18562
+ }), TerminalInstanceInfoSchema, {
18563
+ kind: "mutation",
18564
+ auth: "admin"
18565
+ }), method(_void(), array(TerminalSessionInfoSchema).readonly(), { auth: "admin" }), method(object({
18423
18566
  profileId: string(),
18424
18567
  cols: number().int().positive(),
18425
18568
  rows: number().int().positive()
@@ -18436,7 +18579,13 @@ method(_void(), array(TerminalProfileInfoSchema).readonly(), { auth: "admin" }),
18436
18579
  }), method(object({
18437
18580
  sessionId: string(),
18438
18581
  afterSeq: number().int().nonnegative(),
18439
- waitMs: number().int().min(0).max(2e3).default(0)
18582
+ waitMs: number().int().min(0).max(2e3).default(0),
18583
+ /**
18584
+ * Wait when a just-opened session has no output yet. Kept opt-in so a
18585
+ * browser's initial repaint remains immediate; the camera snapshot
18586
+ * relay uses it to avoid encoding a blank startup frame.
18587
+ */
18588
+ waitForOutput: boolean().optional()
18440
18589
  }), TerminalOutputBatchSchema, {
18441
18590
  kind: "mutation",
18442
18591
  auth: "admin",
@@ -20377,6 +20526,7 @@ var FaceInfoSchema = object({
20377
20526
  var FaceFilterEnum = _enum([
20378
20527
  "unassigned",
20379
20528
  "recognized",
20529
+ "identified",
20380
20530
  "all"
20381
20531
  ]);
20382
20532
  var MediaFileLiteSchema$1 = object({
@@ -20405,6 +20555,8 @@ method(_void(), array(IdentitySchema).readonly()), method(object({ name: string(
20405
20555
  kind: "mutation",
20406
20556
  auth: "admin"
20407
20557
  }), method(object({
20558
+ /** Restrict to one camera. Absent keeps the cluster-wide gallery view. */
20559
+ deviceId: number().int().optional(),
20408
20560
  limit: number().int().positive().optional(),
20409
20561
  filter: FaceFilterEnum.optional(),
20410
20562
  /**
@@ -22170,6 +22322,10 @@ var OsdSourceSchema = discriminatedUnion("kind", [
22170
22322
  capName: string().min(1).max(64),
22171
22323
  /** Dot path inside the slice, e.g. `detected`, `value`, `mode`. */
22172
22324
  valuePath: string().min(1).max(64)
22325
+ }),
22326
+ object({
22327
+ kind: literal("latest-recognition"),
22328
+ recognition: _enum(["person", "plate"])
22173
22329
  })
22174
22330
  ]);
22175
22331
  var OsdSlotBindingSchema = object({
@@ -22275,6 +22431,15 @@ method(object({ deviceId: number().int() }), object({
22275
22431
  }), object({ success: literal(true) }), {
22276
22432
  kind: "mutation",
22277
22433
  auth: "admin"
22434
+ }), method(object({
22435
+ sourceDeviceId: number().int(),
22436
+ targetDeviceId: number().int()
22437
+ }), object({
22438
+ copied: number().int().nonnegative(),
22439
+ skipped: number().int().nonnegative()
22440
+ }), {
22441
+ kind: "mutation",
22442
+ auth: "admin"
22278
22443
  }), method(object({
22279
22444
  deviceId: number().int(),
22280
22445
  slotId: string().min(1),
@@ -23160,13 +23325,19 @@ method(object({
23160
23325
  }), {
23161
23326
  kind: "mutation",
23162
23327
  auth: "admin"
23163
- }), method(RelocateFootageInputSchema, object({ jobId: string() }), {
23328
+ }), method(StorageMigrationLeaseInputSchema, object({ paused: literal(true) }), {
23164
23329
  kind: "mutation",
23165
23330
  auth: "admin"
23166
- }), method(object({}), array(RelocateJobSchema).readonly(), {
23167
- kind: "query",
23331
+ }), method(StorageMigrationLeaseInputSchema, object({ resumed: literal(true) }), {
23332
+ kind: "mutation",
23168
23333
  auth: "admin"
23169
- }), method(object({ jobId: string() }), object({ cancelled: boolean() }), {
23334
+ }), method(StorageMigrationLeaseInputSchema, object({ refreshed: literal(true) }), {
23335
+ kind: "mutation",
23336
+ auth: "admin"
23337
+ }), method(StorageMigrationFootageMoveInputSchema, object({ jobId: string() }), {
23338
+ kind: "mutation",
23339
+ auth: "admin"
23340
+ }), method(object({ jobId: string() }), RelocateJobSchema.nullable(), { auth: "admin" }), method(object({ jobId: string() }), object({ cancelled: boolean() }), {
23170
23341
  kind: "mutation",
23171
23342
  auth: "admin"
23172
23343
  });
@@ -27288,6 +27459,12 @@ Object.freeze({
27288
27459
  addonId: null,
27289
27460
  access: "delete"
27290
27461
  },
27462
+ "osdManager.copyDeviceConfiguration": {
27463
+ capName: "osd-manager",
27464
+ capScope: "system",
27465
+ addonId: null,
27466
+ access: "create"
27467
+ },
27291
27468
  "osdManager.getConditionSupport": {
27292
27469
  capName: "osd-manager",
27293
27470
  capScope: "system",
@@ -27384,7 +27561,7 @@ Object.freeze({
27384
27561
  addonId: null,
27385
27562
  access: "create"
27386
27563
  },
27387
- "pipelineAnalytics.cancelMediaRelocate": {
27564
+ "pipelineAnalytics.cancelStorageMigrationMove": {
27388
27565
  capName: "pipeline-analytics",
27389
27566
  capScope: "device",
27390
27567
  addonId: null,
@@ -27456,12 +27633,6 @@ Object.freeze({
27456
27633
  addonId: null,
27457
27634
  access: "view"
27458
27635
  },
27459
- "pipelineAnalytics.getMediaRelocateStatus": {
27460
- capName: "pipeline-analytics",
27461
- capScope: "device",
27462
- addonId: null,
27463
- access: "view"
27464
- },
27465
27636
  "pipelineAnalytics.getMotionEvents": {
27466
27637
  capName: "pipeline-analytics",
27467
27638
  capScope: "device",
@@ -27498,6 +27669,12 @@ Object.freeze({
27498
27669
  addonId: null,
27499
27670
  access: "view"
27500
27671
  },
27672
+ "pipelineAnalytics.getStorageMigrationMoveStatus": {
27673
+ capName: "pipeline-analytics",
27674
+ capScope: "device",
27675
+ addonId: null,
27676
+ access: "view"
27677
+ },
27501
27678
  "pipelineAnalytics.getTrack": {
27502
27679
  capName: "pipeline-analytics",
27503
27680
  capScope: "device",
@@ -27576,6 +27753,12 @@ Object.freeze({
27576
27753
  addonId: null,
27577
27754
  access: "view"
27578
27755
  },
27756
+ "pipelineAnalytics.pauseForStorageMigration": {
27757
+ capName: "pipeline-analytics",
27758
+ capScope: "device",
27759
+ addonId: null,
27760
+ access: "create"
27761
+ },
27579
27762
  "pipelineAnalytics.proposeRetrainAnnotations": {
27580
27763
  capName: "pipeline-analytics",
27581
27764
  capScope: "device",
@@ -27606,7 +27789,7 @@ Object.freeze({
27606
27789
  addonId: null,
27607
27790
  access: "create"
27608
27791
  },
27609
- "pipelineAnalytics.relocateMedia": {
27792
+ "pipelineAnalytics.refreshStorageLocationsForMigration": {
27610
27793
  capName: "pipeline-analytics",
27611
27794
  capScope: "device",
27612
27795
  addonId: null,
@@ -27618,6 +27801,12 @@ Object.freeze({
27618
27801
  addonId: null,
27619
27802
  access: "create"
27620
27803
  },
27804
+ "pipelineAnalytics.resumeForStorageMigration": {
27805
+ capName: "pipeline-analytics",
27806
+ capScope: "device",
27807
+ addonId: null,
27808
+ access: "create"
27809
+ },
27621
27810
  "pipelineAnalytics.saveRetrainAnnotations": {
27622
27811
  capName: "pipeline-analytics",
27623
27812
  capScope: "device",
@@ -27642,6 +27831,12 @@ Object.freeze({
27642
27831
  addonId: null,
27643
27832
  access: "create"
27644
27833
  },
27834
+ "pipelineAnalytics.startStorageMigrationMove": {
27835
+ capName: "pipeline-analytics",
27836
+ capScope: "device",
27837
+ addonId: null,
27838
+ access: "create"
27839
+ },
27645
27840
  "pipelineAnalytics.wipeAllAnalytics": {
27646
27841
  capName: "pipeline-analytics",
27647
27842
  capScope: "device",
@@ -28008,6 +28203,12 @@ Object.freeze({
28008
28203
  addonId: null,
28009
28204
  access: "view"
28010
28205
  },
28206
+ "pipelineOrchestrator.pauseForStorageMigration": {
28207
+ capName: "pipeline-orchestrator",
28208
+ capScope: "system",
28209
+ addonId: null,
28210
+ access: "create"
28211
+ },
28011
28212
  "pipelineOrchestrator.rebalance": {
28012
28213
  capName: "pipeline-orchestrator",
28013
28214
  capScope: "system",
@@ -28032,6 +28233,12 @@ Object.freeze({
28032
28233
  addonId: null,
28033
28234
  access: "view"
28034
28235
  },
28236
+ "pipelineOrchestrator.resumeForStorageMigration": {
28237
+ capName: "pipeline-orchestrator",
28238
+ capScope: "system",
28239
+ addonId: null,
28240
+ access: "create"
28241
+ },
28035
28242
  "pipelineOrchestrator.saveTemplate": {
28036
28243
  capName: "pipeline-orchestrator",
28037
28244
  capScope: "system",
@@ -28428,7 +28635,7 @@ Object.freeze({
28428
28635
  addonId: null,
28429
28636
  access: "create"
28430
28637
  },
28431
- "recording.cancelRelocate": {
28638
+ "recording.cancelStorageMigrationMove": {
28432
28639
  capName: "recording",
28433
28640
  capScope: "system",
28434
28641
  addonId: null,
@@ -28464,7 +28671,7 @@ Object.freeze({
28464
28671
  addonId: null,
28465
28672
  access: "view"
28466
28673
  },
28467
- "recording.getRelocateStatus": {
28674
+ "recording.getStorageMigrationMoveStatus": {
28468
28675
  capName: "recording",
28469
28676
  capScope: "system",
28470
28677
  addonId: null,
@@ -28488,6 +28695,12 @@ Object.freeze({
28488
28695
  addonId: null,
28489
28696
  access: "view"
28490
28697
  },
28698
+ "recording.pauseForStorageMigration": {
28699
+ capName: "recording",
28700
+ capScope: "system",
28701
+ addonId: null,
28702
+ access: "create"
28703
+ },
28491
28704
  "recording.pruneFootage": {
28492
28705
  capName: "recording",
28493
28706
  capScope: "system",
@@ -28506,7 +28719,7 @@ Object.freeze({
28506
28719
  addonId: null,
28507
28720
  access: "view"
28508
28721
  },
28509
- "recording.relocateFootage": {
28722
+ "recording.refreshStorageLocationsForMigration": {
28510
28723
  capName: "recording",
28511
28724
  capScope: "system",
28512
28725
  addonId: null,
@@ -28530,12 +28743,24 @@ Object.freeze({
28530
28743
  addonId: null,
28531
28744
  access: "create"
28532
28745
  },
28746
+ "recording.resumeForStorageMigration": {
28747
+ capName: "recording",
28748
+ capScope: "system",
28749
+ addonId: null,
28750
+ access: "create"
28751
+ },
28533
28752
  "recording.setDeviceConfig": {
28534
28753
  capName: "recording",
28535
28754
  capScope: "system",
28536
28755
  addonId: null,
28537
28756
  access: "create"
28538
28757
  },
28758
+ "recording.startStorageMigrationMove": {
28759
+ capName: "recording",
28760
+ capScope: "system",
28761
+ addonId: null,
28762
+ access: "create"
28763
+ },
28539
28764
  "recordingExport.cancelExport": {
28540
28765
  capName: "recordingExport",
28541
28766
  capScope: "system",
@@ -28926,6 +29151,30 @@ Object.freeze({
28926
29151
  addonId: null,
28927
29152
  access: "view"
28928
29153
  },
29154
+ "storageMigration.cancel": {
29155
+ capName: "storage-migration",
29156
+ capScope: "system",
29157
+ addonId: null,
29158
+ access: "create"
29159
+ },
29160
+ "storageMigration.plan": {
29161
+ capName: "storage-migration",
29162
+ capScope: "system",
29163
+ addonId: null,
29164
+ access: "view"
29165
+ },
29166
+ "storageMigration.start": {
29167
+ capName: "storage-migration",
29168
+ capScope: "system",
29169
+ addonId: null,
29170
+ access: "create"
29171
+ },
29172
+ "storageMigration.status": {
29173
+ capName: "storage-migration",
29174
+ capScope: "system",
29175
+ addonId: null,
29176
+ access: "view"
29177
+ },
28929
29178
  "storageProvider.abortUpload": {
28930
29179
  capName: "storage-provider",
28931
29180
  capScope: "system",
@@ -29304,12 +29553,42 @@ Object.freeze({
29304
29553
  addonId: null,
29305
29554
  access: "create"
29306
29555
  },
29556
+ "terminalSession.adoptLegacyMonitor": {
29557
+ capName: "terminal-session",
29558
+ capScope: "system",
29559
+ addonId: null,
29560
+ access: "create"
29561
+ },
29307
29562
  "terminalSession.close": {
29308
29563
  capName: "terminal-session",
29309
29564
  capScope: "system",
29310
29565
  addonId: null,
29311
29566
  access: "create"
29312
29567
  },
29568
+ "terminalSession.createInstance": {
29569
+ capName: "terminal-session",
29570
+ capScope: "system",
29571
+ addonId: null,
29572
+ access: "create"
29573
+ },
29574
+ "terminalSession.deleteInstance": {
29575
+ capName: "terminal-session",
29576
+ capScope: "system",
29577
+ addonId: null,
29578
+ access: "delete"
29579
+ },
29580
+ "terminalSession.listInstances": {
29581
+ capName: "terminal-session",
29582
+ capScope: "system",
29583
+ addonId: null,
29584
+ access: "view"
29585
+ },
29586
+ "terminalSession.listLegacyCameras": {
29587
+ capName: "terminal-session",
29588
+ capScope: "system",
29589
+ addonId: null,
29590
+ access: "view"
29591
+ },
29313
29592
  "terminalSession.listProfiles": {
29314
29593
  capName: "terminal-session",
29315
29594
  capScope: "system",
@@ -29340,6 +29619,12 @@ Object.freeze({
29340
29619
  addonId: null,
29341
29620
  access: "create"
29342
29621
  },
29622
+ "terminalSession.setInstanceEnabled": {
29623
+ capName: "terminal-session",
29624
+ capScope: "system",
29625
+ addonId: null,
29626
+ access: "create"
29627
+ },
29343
29628
  "terminalSession.writeInput": {
29344
29629
  capName: "terminal-session",
29345
29630
  capScope: "system",
@@ -1,6 +1,6 @@
1
1
  import { c as e, g as t, h as n, l as r, n as i, p as a, r as o, t as s, u as c, y as l } from "./_virtual_mf___mfe_internal__addon_model_studio_page__loadShare__react__loadShare__.js-DJDHChgO.mjs";
2
2
  import { n as u, r as d, t as f } from "./_virtual_mf___mfe_internal__addon_model_studio_page__loadShare__react_mf_1_jsx_mf_2_runtime__loadShare__.js-ds_Ehzaa.mjs";
3
- import { m as p } from "./_virtual_mf___mfe_internal__addon_model_studio_page__loadShare___mf_0_camstack_mf_1_types__loadShare__.js-l-RIbQas.mjs";
3
+ import { m as p } from "./_virtual_mf___mfe_internal__addon_model_studio_page__loadShare___mf_0_camstack_mf_1_types__loadShare__.js-CceEEAzo.mjs";
4
4
  //#region ../ui-library/src/lib/cap-error.ts
5
5
  function m(e) {
6
6
  if (typeof e != "object" || !e) return null;
@@ -1,2 +1,2 @@
1
- import { n as e, t } from "./virtual_mf-REMOTE_ENTRY_ID___mfe_internal__addon_model_studio_page__remoteEntry_js-BxoKR4IK.mjs";
1
+ import { n as e, t } from "./virtual_mf-REMOTE_ENTRY_ID___mfe_internal__addon_model_studio_page__remoteEntry_js-Ci4VG-wO.mjs";
2
2
  export { t as get, e as init };
@@ -1,4 +1,4 @@
1
- import { s as e } from "./player-overlays-WenGh8C9.mjs";
1
+ import { s as e } from "./player-overlays-RlufPcFT.mjs";
2
2
  var t = e("eye-off", [
3
3
  ["path", {
4
4
  d: "M10.733 5.076a10.744 10.744 0 0 1 11.205 6.575 1 1 0 0 1 0 .696 10.747 10.747 0 0 1-1.444 2.49",
@@ -2753,7 +2753,7 @@ async function rr(e) {
2753
2753
  }
2754
2754
  }
2755
2755
  async function ir() {
2756
- return tr ||= rr(() => import("./_virtual_mf-localSharedImportMap___mfe_internal__addon_model_studio_page-DDgNY3RZ.mjs")).catch((e) => {
2756
+ return tr ||= rr(() => import("./_virtual_mf-localSharedImportMap___mfe_internal__addon_model_studio_page-BJpX0GrT.mjs")).catch((e) => {
2757
2757
  throw tr = void 0, e;
2758
2758
  }), tr;
2759
2759
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@camstack/addon-model-studio",
3
- "version": "1.1.18",
3
+ "version": "1.1.19",
4
4
  "description": "Custom detection model registry, conversion & distribution for CamStack",
5
5
  "keywords": [
6
6
  "camstack",