@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.
@@ -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",
16131
16211
  auth: "admin"
16132
- }), method(object({ jobId: string() }), object({ cancelled: boolean() }), {
16212
+ }), method(StorageMigrationLeaseInputSchema, object({ refreshed: literal(true) }), {
16213
+ kind: "mutation",
16214
+ auth: "admin"
16215
+ }), method(StorageMigrationMediaMoveInputSchema, object({ jobId: string() }), {
16216
+ kind: "mutation",
16217
+ auth: "admin"
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,7 +18502,67 @@ var TerminalProfileInfoSchema = object({
18403
18502
  label: string(),
18404
18503
  description: string().optional()
18405
18504
  });
18406
- method(_void(), array(TerminalProfileInfoSchema).readonly(), { auth: "admin" }), method(_void(), array(TerminalSessionInfoSchema).readonly(), { auth: "admin" }), method(object({
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
+ });
18527
+ var TerminalOutputEventSchema = discriminatedUnion("kind", [object({
18528
+ seq: number().int().positive(),
18529
+ kind: literal("data"),
18530
+ data: string()
18531
+ }), object({
18532
+ seq: number().int().positive(),
18533
+ kind: literal("exit"),
18534
+ exitCode: number().int(),
18535
+ signal: number().int().optional()
18536
+ })]);
18537
+ var TerminalOutputBatchSchema = object({
18538
+ cursor: number().int().nonnegative(),
18539
+ reset: boolean(),
18540
+ snapshot: string().optional(),
18541
+ events: array(TerminalOutputEventSchema).readonly()
18542
+ });
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({
18407
18566
  profileId: string(),
18408
18567
  cols: number().int().positive(),
18409
18568
  rows: number().int().positive()
@@ -18417,6 +18576,26 @@ method(_void(), array(TerminalProfileInfoSchema).readonly(), { auth: "admin" }),
18417
18576
  }), _void(), {
18418
18577
  kind: "mutation",
18419
18578
  auth: "admin"
18579
+ }), method(object({
18580
+ sessionId: string(),
18581
+ afterSeq: number().int().nonnegative(),
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()
18589
+ }), TerminalOutputBatchSchema, {
18590
+ kind: "mutation",
18591
+ auth: "admin",
18592
+ timeoutMs: 15e3
18593
+ }), method(object({
18594
+ sessionId: string(),
18595
+ data: string().max(64 * 1024)
18596
+ }), _void(), {
18597
+ kind: "mutation",
18598
+ auth: "admin"
18420
18599
  }), method(object({ sessionId: string() }), _void(), {
18421
18600
  kind: "mutation",
18422
18601
  auth: "admin"
@@ -20347,6 +20526,7 @@ var FaceInfoSchema = object({
20347
20526
  var FaceFilterEnum = _enum([
20348
20527
  "unassigned",
20349
20528
  "recognized",
20529
+ "identified",
20350
20530
  "all"
20351
20531
  ]);
20352
20532
  var MediaFileLiteSchema$1 = object({
@@ -20375,6 +20555,8 @@ method(_void(), array(IdentitySchema).readonly()), method(object({ name: string(
20375
20555
  kind: "mutation",
20376
20556
  auth: "admin"
20377
20557
  }), method(object({
20558
+ /** Restrict to one camera. Absent keeps the cluster-wide gallery view. */
20559
+ deviceId: number().int().optional(),
20378
20560
  limit: number().int().positive().optional(),
20379
20561
  filter: FaceFilterEnum.optional(),
20380
20562
  /**
@@ -22140,6 +22322,10 @@ var OsdSourceSchema = discriminatedUnion("kind", [
22140
22322
  capName: string().min(1).max(64),
22141
22323
  /** Dot path inside the slice, e.g. `detected`, `value`, `mode`. */
22142
22324
  valuePath: string().min(1).max(64)
22325
+ }),
22326
+ object({
22327
+ kind: literal("latest-recognition"),
22328
+ recognition: _enum(["person", "plate"])
22143
22329
  })
22144
22330
  ]);
22145
22331
  var OsdSlotBindingSchema = object({
@@ -22245,6 +22431,15 @@ method(object({ deviceId: number().int() }), object({
22245
22431
  }), object({ success: literal(true) }), {
22246
22432
  kind: "mutation",
22247
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"
22248
22443
  }), method(object({
22249
22444
  deviceId: number().int(),
22250
22445
  slotId: string().min(1),
@@ -23130,13 +23325,19 @@ method(object({
23130
23325
  }), {
23131
23326
  kind: "mutation",
23132
23327
  auth: "admin"
23133
- }), method(RelocateFootageInputSchema, object({ jobId: string() }), {
23328
+ }), method(StorageMigrationLeaseInputSchema, object({ paused: literal(true) }), {
23134
23329
  kind: "mutation",
23135
23330
  auth: "admin"
23136
- }), method(object({}), array(RelocateJobSchema).readonly(), {
23137
- kind: "query",
23331
+ }), method(StorageMigrationLeaseInputSchema, object({ resumed: literal(true) }), {
23332
+ kind: "mutation",
23138
23333
  auth: "admin"
23139
- }), 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() }), {
23140
23341
  kind: "mutation",
23141
23342
  auth: "admin"
23142
23343
  });
@@ -27258,6 +27459,12 @@ Object.freeze({
27258
27459
  addonId: null,
27259
27460
  access: "delete"
27260
27461
  },
27462
+ "osdManager.copyDeviceConfiguration": {
27463
+ capName: "osd-manager",
27464
+ capScope: "system",
27465
+ addonId: null,
27466
+ access: "create"
27467
+ },
27261
27468
  "osdManager.getConditionSupport": {
27262
27469
  capName: "osd-manager",
27263
27470
  capScope: "system",
@@ -27354,7 +27561,7 @@ Object.freeze({
27354
27561
  addonId: null,
27355
27562
  access: "create"
27356
27563
  },
27357
- "pipelineAnalytics.cancelMediaRelocate": {
27564
+ "pipelineAnalytics.cancelStorageMigrationMove": {
27358
27565
  capName: "pipeline-analytics",
27359
27566
  capScope: "device",
27360
27567
  addonId: null,
@@ -27426,12 +27633,6 @@ Object.freeze({
27426
27633
  addonId: null,
27427
27634
  access: "view"
27428
27635
  },
27429
- "pipelineAnalytics.getMediaRelocateStatus": {
27430
- capName: "pipeline-analytics",
27431
- capScope: "device",
27432
- addonId: null,
27433
- access: "view"
27434
- },
27435
27636
  "pipelineAnalytics.getMotionEvents": {
27436
27637
  capName: "pipeline-analytics",
27437
27638
  capScope: "device",
@@ -27468,6 +27669,12 @@ Object.freeze({
27468
27669
  addonId: null,
27469
27670
  access: "view"
27470
27671
  },
27672
+ "pipelineAnalytics.getStorageMigrationMoveStatus": {
27673
+ capName: "pipeline-analytics",
27674
+ capScope: "device",
27675
+ addonId: null,
27676
+ access: "view"
27677
+ },
27471
27678
  "pipelineAnalytics.getTrack": {
27472
27679
  capName: "pipeline-analytics",
27473
27680
  capScope: "device",
@@ -27546,6 +27753,12 @@ Object.freeze({
27546
27753
  addonId: null,
27547
27754
  access: "view"
27548
27755
  },
27756
+ "pipelineAnalytics.pauseForStorageMigration": {
27757
+ capName: "pipeline-analytics",
27758
+ capScope: "device",
27759
+ addonId: null,
27760
+ access: "create"
27761
+ },
27549
27762
  "pipelineAnalytics.proposeRetrainAnnotations": {
27550
27763
  capName: "pipeline-analytics",
27551
27764
  capScope: "device",
@@ -27576,7 +27789,7 @@ Object.freeze({
27576
27789
  addonId: null,
27577
27790
  access: "create"
27578
27791
  },
27579
- "pipelineAnalytics.relocateMedia": {
27792
+ "pipelineAnalytics.refreshStorageLocationsForMigration": {
27580
27793
  capName: "pipeline-analytics",
27581
27794
  capScope: "device",
27582
27795
  addonId: null,
@@ -27588,6 +27801,12 @@ Object.freeze({
27588
27801
  addonId: null,
27589
27802
  access: "create"
27590
27803
  },
27804
+ "pipelineAnalytics.resumeForStorageMigration": {
27805
+ capName: "pipeline-analytics",
27806
+ capScope: "device",
27807
+ addonId: null,
27808
+ access: "create"
27809
+ },
27591
27810
  "pipelineAnalytics.saveRetrainAnnotations": {
27592
27811
  capName: "pipeline-analytics",
27593
27812
  capScope: "device",
@@ -27612,6 +27831,12 @@ Object.freeze({
27612
27831
  addonId: null,
27613
27832
  access: "create"
27614
27833
  },
27834
+ "pipelineAnalytics.startStorageMigrationMove": {
27835
+ capName: "pipeline-analytics",
27836
+ capScope: "device",
27837
+ addonId: null,
27838
+ access: "create"
27839
+ },
27615
27840
  "pipelineAnalytics.wipeAllAnalytics": {
27616
27841
  capName: "pipeline-analytics",
27617
27842
  capScope: "device",
@@ -27978,6 +28203,12 @@ Object.freeze({
27978
28203
  addonId: null,
27979
28204
  access: "view"
27980
28205
  },
28206
+ "pipelineOrchestrator.pauseForStorageMigration": {
28207
+ capName: "pipeline-orchestrator",
28208
+ capScope: "system",
28209
+ addonId: null,
28210
+ access: "create"
28211
+ },
27981
28212
  "pipelineOrchestrator.rebalance": {
27982
28213
  capName: "pipeline-orchestrator",
27983
28214
  capScope: "system",
@@ -28002,6 +28233,12 @@ Object.freeze({
28002
28233
  addonId: null,
28003
28234
  access: "view"
28004
28235
  },
28236
+ "pipelineOrchestrator.resumeForStorageMigration": {
28237
+ capName: "pipeline-orchestrator",
28238
+ capScope: "system",
28239
+ addonId: null,
28240
+ access: "create"
28241
+ },
28005
28242
  "pipelineOrchestrator.saveTemplate": {
28006
28243
  capName: "pipeline-orchestrator",
28007
28244
  capScope: "system",
@@ -28398,7 +28635,7 @@ Object.freeze({
28398
28635
  addonId: null,
28399
28636
  access: "create"
28400
28637
  },
28401
- "recording.cancelRelocate": {
28638
+ "recording.cancelStorageMigrationMove": {
28402
28639
  capName: "recording",
28403
28640
  capScope: "system",
28404
28641
  addonId: null,
@@ -28434,7 +28671,7 @@ Object.freeze({
28434
28671
  addonId: null,
28435
28672
  access: "view"
28436
28673
  },
28437
- "recording.getRelocateStatus": {
28674
+ "recording.getStorageMigrationMoveStatus": {
28438
28675
  capName: "recording",
28439
28676
  capScope: "system",
28440
28677
  addonId: null,
@@ -28458,6 +28695,12 @@ Object.freeze({
28458
28695
  addonId: null,
28459
28696
  access: "view"
28460
28697
  },
28698
+ "recording.pauseForStorageMigration": {
28699
+ capName: "recording",
28700
+ capScope: "system",
28701
+ addonId: null,
28702
+ access: "create"
28703
+ },
28461
28704
  "recording.pruneFootage": {
28462
28705
  capName: "recording",
28463
28706
  capScope: "system",
@@ -28476,7 +28719,7 @@ Object.freeze({
28476
28719
  addonId: null,
28477
28720
  access: "view"
28478
28721
  },
28479
- "recording.relocateFootage": {
28722
+ "recording.refreshStorageLocationsForMigration": {
28480
28723
  capName: "recording",
28481
28724
  capScope: "system",
28482
28725
  addonId: null,
@@ -28500,12 +28743,24 @@ Object.freeze({
28500
28743
  addonId: null,
28501
28744
  access: "create"
28502
28745
  },
28746
+ "recording.resumeForStorageMigration": {
28747
+ capName: "recording",
28748
+ capScope: "system",
28749
+ addonId: null,
28750
+ access: "create"
28751
+ },
28503
28752
  "recording.setDeviceConfig": {
28504
28753
  capName: "recording",
28505
28754
  capScope: "system",
28506
28755
  addonId: null,
28507
28756
  access: "create"
28508
28757
  },
28758
+ "recording.startStorageMigrationMove": {
28759
+ capName: "recording",
28760
+ capScope: "system",
28761
+ addonId: null,
28762
+ access: "create"
28763
+ },
28509
28764
  "recordingExport.cancelExport": {
28510
28765
  capName: "recordingExport",
28511
28766
  capScope: "system",
@@ -28896,6 +29151,30 @@ Object.freeze({
28896
29151
  addonId: null,
28897
29152
  access: "view"
28898
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
+ },
28899
29178
  "storageProvider.abortUpload": {
28900
29179
  capName: "storage-provider",
28901
29180
  capScope: "system",
@@ -29274,12 +29553,42 @@ Object.freeze({
29274
29553
  addonId: null,
29275
29554
  access: "create"
29276
29555
  },
29556
+ "terminalSession.adoptLegacyMonitor": {
29557
+ capName: "terminal-session",
29558
+ capScope: "system",
29559
+ addonId: null,
29560
+ access: "create"
29561
+ },
29277
29562
  "terminalSession.close": {
29278
29563
  capName: "terminal-session",
29279
29564
  capScope: "system",
29280
29565
  addonId: null,
29281
29566
  access: "create"
29282
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
+ },
29283
29592
  "terminalSession.listProfiles": {
29284
29593
  capName: "terminal-session",
29285
29594
  capScope: "system",
@@ -29298,12 +29607,30 @@ Object.freeze({
29298
29607
  addonId: null,
29299
29608
  access: "create"
29300
29609
  },
29610
+ "terminalSession.pullOutput": {
29611
+ capName: "terminal-session",
29612
+ capScope: "system",
29613
+ addonId: null,
29614
+ access: "create"
29615
+ },
29301
29616
  "terminalSession.resize": {
29302
29617
  capName: "terminal-session",
29303
29618
  capScope: "system",
29304
29619
  addonId: null,
29305
29620
  access: "create"
29306
29621
  },
29622
+ "terminalSession.setInstanceEnabled": {
29623
+ capName: "terminal-session",
29624
+ capScope: "system",
29625
+ addonId: null,
29626
+ access: "create"
29627
+ },
29628
+ "terminalSession.writeInput": {
29629
+ capName: "terminal-session",
29630
+ capScope: "system",
29631
+ addonId: null,
29632
+ access: "create"
29633
+ },
29307
29634
  "toast.onToast": {
29308
29635
  capName: "toast",
29309
29636
  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-s5KoE_ng.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-CEIlk9oR.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-BYn41-F4.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-BTxlJRPb.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.17",
3
+ "version": "1.1.19",
4
4
  "description": "Custom detection model registry, conversion & distribution for CamStack",
5
5
  "keywords": [
6
6
  "camstack",