@camstack/addon-decoder-ffmpeg 1.2.10 → 1.2.12

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 (3) hide show
  1. package/dist/index.js +357 -30
  2. package/dist/index.mjs +357 -30
  3. package/package.json +1 -1
package/dist/index.js CHANGED
@@ -7552,12 +7552,11 @@ var RecordingConfigSchema = object({
7552
7552
  /**
7553
7553
  * Entity-relocation job state (storage entity-routing spec, Phase 4).
7554
7554
  *
7555
- * One shape shared by the recorder's `relocateFootage` (segments) and
7556
- * pipeline-analytics' `relocateMedia` (event media blobs) so the admin Data
7557
- * page renders both movers with one component. Jobs are in-RAM (a restart
7558
- * forgets them re-running is safe by construction: copy-if-absent, delete
7559
- * after verify) and each completed/failed run also lands one durable ops-log
7560
- * row on the owning addon's surface.
7555
+ * One shape shared by the recorder and pipeline-analytics internal movers.
7556
+ * The public admin surface is `storage-migration`; child jobs remain in RAM
7557
+ * because copy-if-absent, verify, delete and index/row repoint are resumable.
7558
+ * Each completed/failed run also lands one durable ops-log row on its owning
7559
+ * addon surface.
7561
7560
  */
7562
7561
  var RelocateJobStateSchema = _enum([
7563
7562
  "running",
@@ -7584,19 +7583,100 @@ var RelocateJobSchema = object({
7584
7583
  finishedAt: number().nullable(),
7585
7584
  error: string().nullable()
7586
7585
  });
7586
+ /** Profile-derived footage selection used only by the migration coordinator:
7587
+ * `recordings` owns high+mid; `recordingsLow` owns low. */
7588
+ var RelocateFootageClassSchema = _enum(["recordings", "recordingsLow"]);
7587
7589
  var RelocateFootageInputSchema = object({
7588
- deviceId: number().optional(),
7589
7590
  fromLocationId: string(),
7590
7591
  toLocationId: string(),
7591
7592
  entities: array(_enum(["segments"])).optional(),
7593
+ /** Limits relocation to the logical profile class. Omit only for the
7594
+ * pre-orchestration compatibility path. */
7595
+ footageClass: RelocateFootageClassSchema.optional(),
7592
7596
  /** Copy throttle in MB/s (default 40) — the drain is a background chore,
7593
7597
  * never allowed to starve live writers. */
7594
7598
  throttleMbps: number().min(1).max(1e3).optional()
7595
7599
  });
7596
- var RelocateMediaInputSchema = object({
7597
- deviceId: number().optional(),
7600
+ /** Internal, lease-scoped participant operation. It is intentionally separate
7601
+ * from persistent recording settings: a migration never changes
7602
+ * `RecordingConfig.enabled` or camera wrapper bindings. */
7603
+ var StorageMigrationLeaseInputSchema = object({ leaseId: string().min(1) });
7604
+ var StorageMigrationFootageMoveInputSchema = RelocateFootageInputSchema.extend({ leaseId: string().min(1) });
7605
+ var StorageMigrationMediaMoveInputSchema = object({
7598
7606
  toLocationId: string(),
7599
7607
  throttleMbps: number().min(1).max(1e3).optional()
7608
+ }).extend({ leaseId: string().min(1) });
7609
+ /** The independently selectable logical storage classes. `recordings`
7610
+ * encompasses the high and mid segment profiles; `recordingsLow` is low
7611
+ * segments; `eventMedia` is post-analysis blobs. */
7612
+ var StorageMigrationClassSchema = _enum([
7613
+ "recordings",
7614
+ "recordingsLow",
7615
+ "eventMedia"
7616
+ ]);
7617
+ /** A destination is always an existing, fully-qualified location id. The
7618
+ * migration API intentionally never changes a source location's `basePath`:
7619
+ * callers create a new `<type>:<slug>` location, then select it here. */
7620
+ var StorageMigrationDestinationsSchema = object({
7621
+ recordings: string().min(1).optional(),
7622
+ recordingsLow: string().min(1).optional(),
7623
+ eventMedia: string().min(1).optional()
7624
+ }).refine((value) => Object.keys(value).length > 0, { message: "select at least one storage class" });
7625
+ /** Shared input for planning and starting an orchestrated storage migration. */
7626
+ var StorageMigrationInputSchema = object({
7627
+ destinations: StorageMigrationDestinationsSchema,
7628
+ throttleMbps: number().min(1).max(1e3).optional()
7629
+ });
7630
+ /** The durable coordinator state machine. The only phase that changes default
7631
+ * locations is `repointing`, after every selected mover has completed and been
7632
+ * verified. */
7633
+ var StorageMigrationPhaseSchema = _enum([
7634
+ "planning",
7635
+ "pausing",
7636
+ "moving",
7637
+ "verifying",
7638
+ "repointing",
7639
+ "refreshing",
7640
+ "resuming",
7641
+ "done",
7642
+ "failed",
7643
+ "cancelled"
7644
+ ]);
7645
+ var StorageMigrationParticipantSchema = _enum([
7646
+ "pipeline",
7647
+ "recorder",
7648
+ "analytics"
7649
+ ]);
7650
+ var StorageMigrationMoveSchema = object({
7651
+ storageClass: StorageMigrationClassSchema,
7652
+ fromLocationId: string(),
7653
+ toLocationId: string(),
7654
+ moverJobId: string().nullable(),
7655
+ state: RelocateJobStateSchema.nullable(),
7656
+ error: string().nullable()
7657
+ });
7658
+ var StorageMigrationJobSchema = object({
7659
+ jobId: string(),
7660
+ phase: StorageMigrationPhaseSchema,
7661
+ destinations: StorageMigrationDestinationsSchema,
7662
+ throttleMbps: number(),
7663
+ moves: array(StorageMigrationMoveSchema),
7664
+ pauseLeaseId: string().nullable(),
7665
+ pausedParticipants: array(StorageMigrationParticipantSchema),
7666
+ repointed: boolean(),
7667
+ cancelRequested: boolean(),
7668
+ startedAt: number(),
7669
+ updatedAt: number(),
7670
+ finishedAt: number().nullable(),
7671
+ error: string().nullable()
7672
+ });
7673
+ var StorageMigrationPlanSchema = object({
7674
+ destinations: StorageMigrationDestinationsSchema,
7675
+ moves: array(object({
7676
+ storageClass: StorageMigrationClassSchema,
7677
+ fromLocationId: string(),
7678
+ toLocationId: string()
7679
+ }))
7600
7680
  });
7601
7681
  /**
7602
7682
  * `StorageLocationType` — an addon-declared id that identifies the *kind* of
@@ -16102,13 +16182,19 @@ DeviceType.Camera, method(object({ deviceId: number() }), array(TrackSchema).rea
16102
16182
  }), method(object({ deviceId: number() }), EventPruneCountsSchema, {
16103
16183
  kind: "mutation",
16104
16184
  auth: "admin"
16105
- }), method(RelocateMediaInputSchema, object({ jobId: string() }), {
16185
+ }), method(StorageMigrationLeaseInputSchema, object({ paused: literal(true) }), {
16106
16186
  kind: "mutation",
16107
16187
  auth: "admin"
16108
- }), method(object({}), array(RelocateJobSchema).readonly(), {
16109
- kind: "query",
16188
+ }), method(StorageMigrationLeaseInputSchema, object({ resumed: literal(true) }), {
16189
+ kind: "mutation",
16110
16190
  auth: "admin"
16111
- }), method(object({ jobId: string() }), object({ cancelled: boolean() }), {
16191
+ }), method(StorageMigrationLeaseInputSchema, object({ refreshed: literal(true) }), {
16192
+ kind: "mutation",
16193
+ auth: "admin"
16194
+ }), method(StorageMigrationMediaMoveInputSchema, object({ jobId: string() }), {
16195
+ kind: "mutation",
16196
+ auth: "admin"
16197
+ }), method(object({ jobId: string() }), RelocateJobSchema.nullable(), { auth: "admin" }), method(object({ jobId: string() }), object({ cancelled: boolean() }), {
16112
16198
  kind: "mutation",
16113
16199
  auth: "admin"
16114
16200
  }), method(OpsLogQueryInputSchema, array(OpsLogEntrySchema).readonly(), {
@@ -17605,7 +17691,13 @@ var NodeInferenceDevicesSchema = object({
17605
17691
  reachable: boolean(),
17606
17692
  devices: array(NodeInferenceDeviceSchema).readonly()
17607
17693
  });
17608
- method(object({
17694
+ method(StorageMigrationLeaseInputSchema, object({ paused: literal(true) }), {
17695
+ kind: "mutation",
17696
+ auth: "admin"
17697
+ }), method(StorageMigrationLeaseInputSchema, object({ resumed: literal(true) }), {
17698
+ kind: "mutation",
17699
+ auth: "admin"
17700
+ }), method(object({
17609
17701
  deviceId: number(),
17610
17702
  agentNodeId: string()
17611
17703
  }), object({ success: literal(true) }), {
@@ -18279,6 +18371,13 @@ method(object({ locationId: string() }), EvictableUsageSchema), method(object({
18279
18371
  locationId: string(),
18280
18372
  targetBytes: number().int().positive()
18281
18373
  }), EvictResultSchema, { kind: "mutation" });
18374
+ method(StorageMigrationInputSchema, StorageMigrationPlanSchema, { auth: "admin" }), method(StorageMigrationInputSchema, object({ jobId: string() }), {
18375
+ kind: "mutation",
18376
+ auth: "admin"
18377
+ }), method(object({ jobId: string().optional() }), StorageMigrationJobSchema.nullable(), { auth: "admin" }), method(object({ jobId: string() }), object({ cancelled: boolean() }), {
18378
+ kind: "mutation",
18379
+ auth: "admin"
18380
+ });
18282
18381
  var ProviderInfoSchema = discriminatedUnion("shouldSaveDiskSpace", [object({
18283
18382
  providerId: string().min(1),
18284
18383
  displayName: string().min(1),
@@ -18382,7 +18481,67 @@ var TerminalProfileInfoSchema = object({
18382
18481
  label: string(),
18383
18482
  description: string().optional()
18384
18483
  });
18385
- method(_void(), array(TerminalProfileInfoSchema).readonly(), { auth: "admin" }), method(_void(), array(TerminalSessionInfoSchema).readonly(), { auth: "admin" }), method(object({
18484
+ /**
18485
+ * A durable operator-created Terminal instance. Profiles are templates; only
18486
+ * an instance declares a camera.
18487
+ */
18488
+ var TerminalInstanceInfoSchema = object({
18489
+ instanceId: string(),
18490
+ cameraStableId: string(),
18491
+ nodeId: string(),
18492
+ profileId: string(),
18493
+ profileLabel: string(),
18494
+ name: string(),
18495
+ enabled: boolean()
18496
+ });
18497
+ var TerminalLegacyCameraSchema = object({
18498
+ stableId: string(),
18499
+ nodeId: string(),
18500
+ profileId: string(),
18501
+ profileLabel: string(),
18502
+ name: string(),
18503
+ /** Only legacy monitor cameras can retain their historic stable identity. */
18504
+ adoptable: boolean()
18505
+ });
18506
+ var TerminalOutputEventSchema = discriminatedUnion("kind", [object({
18507
+ seq: number().int().positive(),
18508
+ kind: literal("data"),
18509
+ data: string()
18510
+ }), object({
18511
+ seq: number().int().positive(),
18512
+ kind: literal("exit"),
18513
+ exitCode: number().int(),
18514
+ signal: number().int().optional()
18515
+ })]);
18516
+ var TerminalOutputBatchSchema = object({
18517
+ cursor: number().int().nonnegative(),
18518
+ reset: boolean(),
18519
+ snapshot: string().optional(),
18520
+ events: array(TerminalOutputEventSchema).readonly()
18521
+ });
18522
+ method(_void(), array(TerminalProfileInfoSchema).readonly(), { auth: "admin" }), method(_void(), array(TerminalInstanceInfoSchema).readonly(), { auth: "admin" }), method(object({
18523
+ targetNodeId: string().min(1),
18524
+ profileId: string().min(1),
18525
+ name: string().trim().min(1).max(160).optional()
18526
+ }), TerminalInstanceInfoSchema, {
18527
+ kind: "mutation",
18528
+ auth: "admin"
18529
+ }), method(object({ instanceId: string().min(1) }), _void(), {
18530
+ kind: "mutation",
18531
+ auth: "admin"
18532
+ }), method(object({
18533
+ instanceId: string().min(1),
18534
+ enabled: boolean()
18535
+ }), TerminalInstanceInfoSchema, {
18536
+ kind: "mutation",
18537
+ auth: "admin"
18538
+ }), method(_void(), array(TerminalLegacyCameraSchema).readonly(), { auth: "admin" }), method(object({
18539
+ stableId: string().min(1),
18540
+ name: string().trim().min(1).max(160).optional()
18541
+ }), TerminalInstanceInfoSchema, {
18542
+ kind: "mutation",
18543
+ auth: "admin"
18544
+ }), method(_void(), array(TerminalSessionInfoSchema).readonly(), { auth: "admin" }), method(object({
18386
18545
  profileId: string(),
18387
18546
  cols: number().int().positive(),
18388
18547
  rows: number().int().positive()
@@ -18396,6 +18555,26 @@ method(_void(), array(TerminalProfileInfoSchema).readonly(), { auth: "admin" }),
18396
18555
  }), _void(), {
18397
18556
  kind: "mutation",
18398
18557
  auth: "admin"
18558
+ }), method(object({
18559
+ sessionId: string(),
18560
+ afterSeq: number().int().nonnegative(),
18561
+ waitMs: number().int().min(0).max(2e3).default(0),
18562
+ /**
18563
+ * Wait when a just-opened session has no output yet. Kept opt-in so a
18564
+ * browser's initial repaint remains immediate; the camera snapshot
18565
+ * relay uses it to avoid encoding a blank startup frame.
18566
+ */
18567
+ waitForOutput: boolean().optional()
18568
+ }), TerminalOutputBatchSchema, {
18569
+ kind: "mutation",
18570
+ auth: "admin",
18571
+ timeoutMs: 15e3
18572
+ }), method(object({
18573
+ sessionId: string(),
18574
+ data: string().max(64 * 1024)
18575
+ }), _void(), {
18576
+ kind: "mutation",
18577
+ auth: "admin"
18399
18578
  }), method(object({ sessionId: string() }), _void(), {
18400
18579
  kind: "mutation",
18401
18580
  auth: "admin"
@@ -20326,6 +20505,7 @@ var FaceInfoSchema = object({
20326
20505
  var FaceFilterEnum = _enum([
20327
20506
  "unassigned",
20328
20507
  "recognized",
20508
+ "identified",
20329
20509
  "all"
20330
20510
  ]);
20331
20511
  var MediaFileLiteSchema$1 = object({
@@ -20354,6 +20534,8 @@ method(_void(), array(IdentitySchema).readonly()), method(object({ name: string(
20354
20534
  kind: "mutation",
20355
20535
  auth: "admin"
20356
20536
  }), method(object({
20537
+ /** Restrict to one camera. Absent keeps the cluster-wide gallery view. */
20538
+ deviceId: number().int().optional(),
20357
20539
  limit: number().int().positive().optional(),
20358
20540
  filter: FaceFilterEnum.optional(),
20359
20541
  /**
@@ -22119,6 +22301,10 @@ var OsdSourceSchema = discriminatedUnion("kind", [
22119
22301
  capName: string().min(1).max(64),
22120
22302
  /** Dot path inside the slice, e.g. `detected`, `value`, `mode`. */
22121
22303
  valuePath: string().min(1).max(64)
22304
+ }),
22305
+ object({
22306
+ kind: literal("latest-recognition"),
22307
+ recognition: _enum(["person", "plate"])
22122
22308
  })
22123
22309
  ]);
22124
22310
  var OsdSlotBindingSchema = object({
@@ -22224,6 +22410,15 @@ method(object({ deviceId: number().int() }), object({
22224
22410
  }), object({ success: literal(true) }), {
22225
22411
  kind: "mutation",
22226
22412
  auth: "admin"
22413
+ }), method(object({
22414
+ sourceDeviceId: number().int(),
22415
+ targetDeviceId: number().int()
22416
+ }), object({
22417
+ copied: number().int().nonnegative(),
22418
+ skipped: number().int().nonnegative()
22419
+ }), {
22420
+ kind: "mutation",
22421
+ auth: "admin"
22227
22422
  }), method(object({
22228
22423
  deviceId: number().int(),
22229
22424
  slotId: string().min(1),
@@ -23109,13 +23304,19 @@ method(object({
23109
23304
  }), {
23110
23305
  kind: "mutation",
23111
23306
  auth: "admin"
23112
- }), method(RelocateFootageInputSchema, object({ jobId: string() }), {
23307
+ }), method(StorageMigrationLeaseInputSchema, object({ paused: literal(true) }), {
23113
23308
  kind: "mutation",
23114
23309
  auth: "admin"
23115
- }), method(object({}), array(RelocateJobSchema).readonly(), {
23116
- kind: "query",
23310
+ }), method(StorageMigrationLeaseInputSchema, object({ resumed: literal(true) }), {
23311
+ kind: "mutation",
23117
23312
  auth: "admin"
23118
- }), method(object({ jobId: string() }), object({ cancelled: boolean() }), {
23313
+ }), method(StorageMigrationLeaseInputSchema, object({ refreshed: literal(true) }), {
23314
+ kind: "mutation",
23315
+ auth: "admin"
23316
+ }), method(StorageMigrationFootageMoveInputSchema, object({ jobId: string() }), {
23317
+ kind: "mutation",
23318
+ auth: "admin"
23319
+ }), method(object({ jobId: string() }), RelocateJobSchema.nullable(), { auth: "admin" }), method(object({ jobId: string() }), object({ cancelled: boolean() }), {
23119
23320
  kind: "mutation",
23120
23321
  auth: "admin"
23121
23322
  });
@@ -27237,6 +27438,12 @@ Object.freeze({
27237
27438
  addonId: null,
27238
27439
  access: "delete"
27239
27440
  },
27441
+ "osdManager.copyDeviceConfiguration": {
27442
+ capName: "osd-manager",
27443
+ capScope: "system",
27444
+ addonId: null,
27445
+ access: "create"
27446
+ },
27240
27447
  "osdManager.getConditionSupport": {
27241
27448
  capName: "osd-manager",
27242
27449
  capScope: "system",
@@ -27333,7 +27540,7 @@ Object.freeze({
27333
27540
  addonId: null,
27334
27541
  access: "create"
27335
27542
  },
27336
- "pipelineAnalytics.cancelMediaRelocate": {
27543
+ "pipelineAnalytics.cancelStorageMigrationMove": {
27337
27544
  capName: "pipeline-analytics",
27338
27545
  capScope: "device",
27339
27546
  addonId: null,
@@ -27405,12 +27612,6 @@ Object.freeze({
27405
27612
  addonId: null,
27406
27613
  access: "view"
27407
27614
  },
27408
- "pipelineAnalytics.getMediaRelocateStatus": {
27409
- capName: "pipeline-analytics",
27410
- capScope: "device",
27411
- addonId: null,
27412
- access: "view"
27413
- },
27414
27615
  "pipelineAnalytics.getMotionEvents": {
27415
27616
  capName: "pipeline-analytics",
27416
27617
  capScope: "device",
@@ -27447,6 +27648,12 @@ Object.freeze({
27447
27648
  addonId: null,
27448
27649
  access: "view"
27449
27650
  },
27651
+ "pipelineAnalytics.getStorageMigrationMoveStatus": {
27652
+ capName: "pipeline-analytics",
27653
+ capScope: "device",
27654
+ addonId: null,
27655
+ access: "view"
27656
+ },
27450
27657
  "pipelineAnalytics.getTrack": {
27451
27658
  capName: "pipeline-analytics",
27452
27659
  capScope: "device",
@@ -27525,6 +27732,12 @@ Object.freeze({
27525
27732
  addonId: null,
27526
27733
  access: "view"
27527
27734
  },
27735
+ "pipelineAnalytics.pauseForStorageMigration": {
27736
+ capName: "pipeline-analytics",
27737
+ capScope: "device",
27738
+ addonId: null,
27739
+ access: "create"
27740
+ },
27528
27741
  "pipelineAnalytics.proposeRetrainAnnotations": {
27529
27742
  capName: "pipeline-analytics",
27530
27743
  capScope: "device",
@@ -27555,7 +27768,7 @@ Object.freeze({
27555
27768
  addonId: null,
27556
27769
  access: "create"
27557
27770
  },
27558
- "pipelineAnalytics.relocateMedia": {
27771
+ "pipelineAnalytics.refreshStorageLocationsForMigration": {
27559
27772
  capName: "pipeline-analytics",
27560
27773
  capScope: "device",
27561
27774
  addonId: null,
@@ -27567,6 +27780,12 @@ Object.freeze({
27567
27780
  addonId: null,
27568
27781
  access: "create"
27569
27782
  },
27783
+ "pipelineAnalytics.resumeForStorageMigration": {
27784
+ capName: "pipeline-analytics",
27785
+ capScope: "device",
27786
+ addonId: null,
27787
+ access: "create"
27788
+ },
27570
27789
  "pipelineAnalytics.saveRetrainAnnotations": {
27571
27790
  capName: "pipeline-analytics",
27572
27791
  capScope: "device",
@@ -27591,6 +27810,12 @@ Object.freeze({
27591
27810
  addonId: null,
27592
27811
  access: "create"
27593
27812
  },
27813
+ "pipelineAnalytics.startStorageMigrationMove": {
27814
+ capName: "pipeline-analytics",
27815
+ capScope: "device",
27816
+ addonId: null,
27817
+ access: "create"
27818
+ },
27594
27819
  "pipelineAnalytics.wipeAllAnalytics": {
27595
27820
  capName: "pipeline-analytics",
27596
27821
  capScope: "device",
@@ -27957,6 +28182,12 @@ Object.freeze({
27957
28182
  addonId: null,
27958
28183
  access: "view"
27959
28184
  },
28185
+ "pipelineOrchestrator.pauseForStorageMigration": {
28186
+ capName: "pipeline-orchestrator",
28187
+ capScope: "system",
28188
+ addonId: null,
28189
+ access: "create"
28190
+ },
27960
28191
  "pipelineOrchestrator.rebalance": {
27961
28192
  capName: "pipeline-orchestrator",
27962
28193
  capScope: "system",
@@ -27981,6 +28212,12 @@ Object.freeze({
27981
28212
  addonId: null,
27982
28213
  access: "view"
27983
28214
  },
28215
+ "pipelineOrchestrator.resumeForStorageMigration": {
28216
+ capName: "pipeline-orchestrator",
28217
+ capScope: "system",
28218
+ addonId: null,
28219
+ access: "create"
28220
+ },
27984
28221
  "pipelineOrchestrator.saveTemplate": {
27985
28222
  capName: "pipeline-orchestrator",
27986
28223
  capScope: "system",
@@ -28377,7 +28614,7 @@ Object.freeze({
28377
28614
  addonId: null,
28378
28615
  access: "create"
28379
28616
  },
28380
- "recording.cancelRelocate": {
28617
+ "recording.cancelStorageMigrationMove": {
28381
28618
  capName: "recording",
28382
28619
  capScope: "system",
28383
28620
  addonId: null,
@@ -28413,7 +28650,7 @@ Object.freeze({
28413
28650
  addonId: null,
28414
28651
  access: "view"
28415
28652
  },
28416
- "recording.getRelocateStatus": {
28653
+ "recording.getStorageMigrationMoveStatus": {
28417
28654
  capName: "recording",
28418
28655
  capScope: "system",
28419
28656
  addonId: null,
@@ -28437,6 +28674,12 @@ Object.freeze({
28437
28674
  addonId: null,
28438
28675
  access: "view"
28439
28676
  },
28677
+ "recording.pauseForStorageMigration": {
28678
+ capName: "recording",
28679
+ capScope: "system",
28680
+ addonId: null,
28681
+ access: "create"
28682
+ },
28440
28683
  "recording.pruneFootage": {
28441
28684
  capName: "recording",
28442
28685
  capScope: "system",
@@ -28455,7 +28698,7 @@ Object.freeze({
28455
28698
  addonId: null,
28456
28699
  access: "view"
28457
28700
  },
28458
- "recording.relocateFootage": {
28701
+ "recording.refreshStorageLocationsForMigration": {
28459
28702
  capName: "recording",
28460
28703
  capScope: "system",
28461
28704
  addonId: null,
@@ -28479,12 +28722,24 @@ Object.freeze({
28479
28722
  addonId: null,
28480
28723
  access: "create"
28481
28724
  },
28725
+ "recording.resumeForStorageMigration": {
28726
+ capName: "recording",
28727
+ capScope: "system",
28728
+ addonId: null,
28729
+ access: "create"
28730
+ },
28482
28731
  "recording.setDeviceConfig": {
28483
28732
  capName: "recording",
28484
28733
  capScope: "system",
28485
28734
  addonId: null,
28486
28735
  access: "create"
28487
28736
  },
28737
+ "recording.startStorageMigrationMove": {
28738
+ capName: "recording",
28739
+ capScope: "system",
28740
+ addonId: null,
28741
+ access: "create"
28742
+ },
28488
28743
  "recordingExport.cancelExport": {
28489
28744
  capName: "recordingExport",
28490
28745
  capScope: "system",
@@ -28875,6 +29130,30 @@ Object.freeze({
28875
29130
  addonId: null,
28876
29131
  access: "view"
28877
29132
  },
29133
+ "storageMigration.cancel": {
29134
+ capName: "storage-migration",
29135
+ capScope: "system",
29136
+ addonId: null,
29137
+ access: "create"
29138
+ },
29139
+ "storageMigration.plan": {
29140
+ capName: "storage-migration",
29141
+ capScope: "system",
29142
+ addonId: null,
29143
+ access: "view"
29144
+ },
29145
+ "storageMigration.start": {
29146
+ capName: "storage-migration",
29147
+ capScope: "system",
29148
+ addonId: null,
29149
+ access: "create"
29150
+ },
29151
+ "storageMigration.status": {
29152
+ capName: "storage-migration",
29153
+ capScope: "system",
29154
+ addonId: null,
29155
+ access: "view"
29156
+ },
28878
29157
  "storageProvider.abortUpload": {
28879
29158
  capName: "storage-provider",
28880
29159
  capScope: "system",
@@ -29253,12 +29532,42 @@ Object.freeze({
29253
29532
  addonId: null,
29254
29533
  access: "create"
29255
29534
  },
29535
+ "terminalSession.adoptLegacyMonitor": {
29536
+ capName: "terminal-session",
29537
+ capScope: "system",
29538
+ addonId: null,
29539
+ access: "create"
29540
+ },
29256
29541
  "terminalSession.close": {
29257
29542
  capName: "terminal-session",
29258
29543
  capScope: "system",
29259
29544
  addonId: null,
29260
29545
  access: "create"
29261
29546
  },
29547
+ "terminalSession.createInstance": {
29548
+ capName: "terminal-session",
29549
+ capScope: "system",
29550
+ addonId: null,
29551
+ access: "create"
29552
+ },
29553
+ "terminalSession.deleteInstance": {
29554
+ capName: "terminal-session",
29555
+ capScope: "system",
29556
+ addonId: null,
29557
+ access: "delete"
29558
+ },
29559
+ "terminalSession.listInstances": {
29560
+ capName: "terminal-session",
29561
+ capScope: "system",
29562
+ addonId: null,
29563
+ access: "view"
29564
+ },
29565
+ "terminalSession.listLegacyCameras": {
29566
+ capName: "terminal-session",
29567
+ capScope: "system",
29568
+ addonId: null,
29569
+ access: "view"
29570
+ },
29262
29571
  "terminalSession.listProfiles": {
29263
29572
  capName: "terminal-session",
29264
29573
  capScope: "system",
@@ -29277,12 +29586,30 @@ Object.freeze({
29277
29586
  addonId: null,
29278
29587
  access: "create"
29279
29588
  },
29589
+ "terminalSession.pullOutput": {
29590
+ capName: "terminal-session",
29591
+ capScope: "system",
29592
+ addonId: null,
29593
+ access: "create"
29594
+ },
29280
29595
  "terminalSession.resize": {
29281
29596
  capName: "terminal-session",
29282
29597
  capScope: "system",
29283
29598
  addonId: null,
29284
29599
  access: "create"
29285
29600
  },
29601
+ "terminalSession.setInstanceEnabled": {
29602
+ capName: "terminal-session",
29603
+ capScope: "system",
29604
+ addonId: null,
29605
+ access: "create"
29606
+ },
29607
+ "terminalSession.writeInput": {
29608
+ capName: "terminal-session",
29609
+ capScope: "system",
29610
+ addonId: null,
29611
+ access: "create"
29612
+ },
29286
29613
  "toast.onToast": {
29287
29614
  capName: "toast",
29288
29615
  capScope: "system",
package/dist/index.mjs CHANGED
@@ -7548,12 +7548,11 @@ var RecordingConfigSchema = object({
7548
7548
  /**
7549
7549
  * Entity-relocation job state (storage entity-routing spec, Phase 4).
7550
7550
  *
7551
- * One shape shared by the recorder's `relocateFootage` (segments) and
7552
- * pipeline-analytics' `relocateMedia` (event media blobs) so the admin Data
7553
- * page renders both movers with one component. Jobs are in-RAM (a restart
7554
- * forgets them re-running is safe by construction: copy-if-absent, delete
7555
- * after verify) and each completed/failed run also lands one durable ops-log
7556
- * row on the owning addon's surface.
7551
+ * One shape shared by the recorder and pipeline-analytics internal movers.
7552
+ * The public admin surface is `storage-migration`; child jobs remain in RAM
7553
+ * because copy-if-absent, verify, delete and index/row repoint are resumable.
7554
+ * Each completed/failed run also lands one durable ops-log row on its owning
7555
+ * addon surface.
7557
7556
  */
7558
7557
  var RelocateJobStateSchema = _enum([
7559
7558
  "running",
@@ -7580,19 +7579,100 @@ var RelocateJobSchema = object({
7580
7579
  finishedAt: number().nullable(),
7581
7580
  error: string().nullable()
7582
7581
  });
7582
+ /** Profile-derived footage selection used only by the migration coordinator:
7583
+ * `recordings` owns high+mid; `recordingsLow` owns low. */
7584
+ var RelocateFootageClassSchema = _enum(["recordings", "recordingsLow"]);
7583
7585
  var RelocateFootageInputSchema = object({
7584
- deviceId: number().optional(),
7585
7586
  fromLocationId: string(),
7586
7587
  toLocationId: string(),
7587
7588
  entities: array(_enum(["segments"])).optional(),
7589
+ /** Limits relocation to the logical profile class. Omit only for the
7590
+ * pre-orchestration compatibility path. */
7591
+ footageClass: RelocateFootageClassSchema.optional(),
7588
7592
  /** Copy throttle in MB/s (default 40) — the drain is a background chore,
7589
7593
  * never allowed to starve live writers. */
7590
7594
  throttleMbps: number().min(1).max(1e3).optional()
7591
7595
  });
7592
- var RelocateMediaInputSchema = object({
7593
- deviceId: number().optional(),
7596
+ /** Internal, lease-scoped participant operation. It is intentionally separate
7597
+ * from persistent recording settings: a migration never changes
7598
+ * `RecordingConfig.enabled` or camera wrapper bindings. */
7599
+ var StorageMigrationLeaseInputSchema = object({ leaseId: string().min(1) });
7600
+ var StorageMigrationFootageMoveInputSchema = RelocateFootageInputSchema.extend({ leaseId: string().min(1) });
7601
+ var StorageMigrationMediaMoveInputSchema = object({
7594
7602
  toLocationId: string(),
7595
7603
  throttleMbps: number().min(1).max(1e3).optional()
7604
+ }).extend({ leaseId: string().min(1) });
7605
+ /** The independently selectable logical storage classes. `recordings`
7606
+ * encompasses the high and mid segment profiles; `recordingsLow` is low
7607
+ * segments; `eventMedia` is post-analysis blobs. */
7608
+ var StorageMigrationClassSchema = _enum([
7609
+ "recordings",
7610
+ "recordingsLow",
7611
+ "eventMedia"
7612
+ ]);
7613
+ /** A destination is always an existing, fully-qualified location id. The
7614
+ * migration API intentionally never changes a source location's `basePath`:
7615
+ * callers create a new `<type>:<slug>` location, then select it here. */
7616
+ var StorageMigrationDestinationsSchema = object({
7617
+ recordings: string().min(1).optional(),
7618
+ recordingsLow: string().min(1).optional(),
7619
+ eventMedia: string().min(1).optional()
7620
+ }).refine((value) => Object.keys(value).length > 0, { message: "select at least one storage class" });
7621
+ /** Shared input for planning and starting an orchestrated storage migration. */
7622
+ var StorageMigrationInputSchema = object({
7623
+ destinations: StorageMigrationDestinationsSchema,
7624
+ throttleMbps: number().min(1).max(1e3).optional()
7625
+ });
7626
+ /** The durable coordinator state machine. The only phase that changes default
7627
+ * locations is `repointing`, after every selected mover has completed and been
7628
+ * verified. */
7629
+ var StorageMigrationPhaseSchema = _enum([
7630
+ "planning",
7631
+ "pausing",
7632
+ "moving",
7633
+ "verifying",
7634
+ "repointing",
7635
+ "refreshing",
7636
+ "resuming",
7637
+ "done",
7638
+ "failed",
7639
+ "cancelled"
7640
+ ]);
7641
+ var StorageMigrationParticipantSchema = _enum([
7642
+ "pipeline",
7643
+ "recorder",
7644
+ "analytics"
7645
+ ]);
7646
+ var StorageMigrationMoveSchema = object({
7647
+ storageClass: StorageMigrationClassSchema,
7648
+ fromLocationId: string(),
7649
+ toLocationId: string(),
7650
+ moverJobId: string().nullable(),
7651
+ state: RelocateJobStateSchema.nullable(),
7652
+ error: string().nullable()
7653
+ });
7654
+ var StorageMigrationJobSchema = object({
7655
+ jobId: string(),
7656
+ phase: StorageMigrationPhaseSchema,
7657
+ destinations: StorageMigrationDestinationsSchema,
7658
+ throttleMbps: number(),
7659
+ moves: array(StorageMigrationMoveSchema),
7660
+ pauseLeaseId: string().nullable(),
7661
+ pausedParticipants: array(StorageMigrationParticipantSchema),
7662
+ repointed: boolean(),
7663
+ cancelRequested: boolean(),
7664
+ startedAt: number(),
7665
+ updatedAt: number(),
7666
+ finishedAt: number().nullable(),
7667
+ error: string().nullable()
7668
+ });
7669
+ var StorageMigrationPlanSchema = object({
7670
+ destinations: StorageMigrationDestinationsSchema,
7671
+ moves: array(object({
7672
+ storageClass: StorageMigrationClassSchema,
7673
+ fromLocationId: string(),
7674
+ toLocationId: string()
7675
+ }))
7596
7676
  });
7597
7677
  /**
7598
7678
  * `StorageLocationType` — an addon-declared id that identifies the *kind* of
@@ -16098,13 +16178,19 @@ DeviceType.Camera, method(object({ deviceId: number() }), array(TrackSchema).rea
16098
16178
  }), method(object({ deviceId: number() }), EventPruneCountsSchema, {
16099
16179
  kind: "mutation",
16100
16180
  auth: "admin"
16101
- }), method(RelocateMediaInputSchema, object({ jobId: string() }), {
16181
+ }), method(StorageMigrationLeaseInputSchema, object({ paused: literal(true) }), {
16102
16182
  kind: "mutation",
16103
16183
  auth: "admin"
16104
- }), method(object({}), array(RelocateJobSchema).readonly(), {
16105
- kind: "query",
16184
+ }), method(StorageMigrationLeaseInputSchema, object({ resumed: literal(true) }), {
16185
+ kind: "mutation",
16106
16186
  auth: "admin"
16107
- }), method(object({ jobId: string() }), object({ cancelled: boolean() }), {
16187
+ }), method(StorageMigrationLeaseInputSchema, object({ refreshed: literal(true) }), {
16188
+ kind: "mutation",
16189
+ auth: "admin"
16190
+ }), method(StorageMigrationMediaMoveInputSchema, object({ jobId: string() }), {
16191
+ kind: "mutation",
16192
+ auth: "admin"
16193
+ }), method(object({ jobId: string() }), RelocateJobSchema.nullable(), { auth: "admin" }), method(object({ jobId: string() }), object({ cancelled: boolean() }), {
16108
16194
  kind: "mutation",
16109
16195
  auth: "admin"
16110
16196
  }), method(OpsLogQueryInputSchema, array(OpsLogEntrySchema).readonly(), {
@@ -17601,7 +17687,13 @@ var NodeInferenceDevicesSchema = object({
17601
17687
  reachable: boolean(),
17602
17688
  devices: array(NodeInferenceDeviceSchema).readonly()
17603
17689
  });
17604
- method(object({
17690
+ method(StorageMigrationLeaseInputSchema, object({ paused: literal(true) }), {
17691
+ kind: "mutation",
17692
+ auth: "admin"
17693
+ }), method(StorageMigrationLeaseInputSchema, object({ resumed: literal(true) }), {
17694
+ kind: "mutation",
17695
+ auth: "admin"
17696
+ }), method(object({
17605
17697
  deviceId: number(),
17606
17698
  agentNodeId: string()
17607
17699
  }), object({ success: literal(true) }), {
@@ -18275,6 +18367,13 @@ method(object({ locationId: string() }), EvictableUsageSchema), method(object({
18275
18367
  locationId: string(),
18276
18368
  targetBytes: number().int().positive()
18277
18369
  }), EvictResultSchema, { kind: "mutation" });
18370
+ method(StorageMigrationInputSchema, StorageMigrationPlanSchema, { auth: "admin" }), method(StorageMigrationInputSchema, object({ jobId: string() }), {
18371
+ kind: "mutation",
18372
+ auth: "admin"
18373
+ }), method(object({ jobId: string().optional() }), StorageMigrationJobSchema.nullable(), { auth: "admin" }), method(object({ jobId: string() }), object({ cancelled: boolean() }), {
18374
+ kind: "mutation",
18375
+ auth: "admin"
18376
+ });
18278
18377
  var ProviderInfoSchema = discriminatedUnion("shouldSaveDiskSpace", [object({
18279
18378
  providerId: string().min(1),
18280
18379
  displayName: string().min(1),
@@ -18378,7 +18477,67 @@ var TerminalProfileInfoSchema = object({
18378
18477
  label: string(),
18379
18478
  description: string().optional()
18380
18479
  });
18381
- method(_void(), array(TerminalProfileInfoSchema).readonly(), { auth: "admin" }), method(_void(), array(TerminalSessionInfoSchema).readonly(), { auth: "admin" }), method(object({
18480
+ /**
18481
+ * A durable operator-created Terminal instance. Profiles are templates; only
18482
+ * an instance declares a camera.
18483
+ */
18484
+ var TerminalInstanceInfoSchema = object({
18485
+ instanceId: string(),
18486
+ cameraStableId: string(),
18487
+ nodeId: string(),
18488
+ profileId: string(),
18489
+ profileLabel: string(),
18490
+ name: string(),
18491
+ enabled: boolean()
18492
+ });
18493
+ var TerminalLegacyCameraSchema = object({
18494
+ stableId: string(),
18495
+ nodeId: string(),
18496
+ profileId: string(),
18497
+ profileLabel: string(),
18498
+ name: string(),
18499
+ /** Only legacy monitor cameras can retain their historic stable identity. */
18500
+ adoptable: boolean()
18501
+ });
18502
+ var TerminalOutputEventSchema = discriminatedUnion("kind", [object({
18503
+ seq: number().int().positive(),
18504
+ kind: literal("data"),
18505
+ data: string()
18506
+ }), object({
18507
+ seq: number().int().positive(),
18508
+ kind: literal("exit"),
18509
+ exitCode: number().int(),
18510
+ signal: number().int().optional()
18511
+ })]);
18512
+ var TerminalOutputBatchSchema = object({
18513
+ cursor: number().int().nonnegative(),
18514
+ reset: boolean(),
18515
+ snapshot: string().optional(),
18516
+ events: array(TerminalOutputEventSchema).readonly()
18517
+ });
18518
+ method(_void(), array(TerminalProfileInfoSchema).readonly(), { auth: "admin" }), method(_void(), array(TerminalInstanceInfoSchema).readonly(), { auth: "admin" }), method(object({
18519
+ targetNodeId: string().min(1),
18520
+ profileId: string().min(1),
18521
+ name: string().trim().min(1).max(160).optional()
18522
+ }), TerminalInstanceInfoSchema, {
18523
+ kind: "mutation",
18524
+ auth: "admin"
18525
+ }), method(object({ instanceId: string().min(1) }), _void(), {
18526
+ kind: "mutation",
18527
+ auth: "admin"
18528
+ }), method(object({
18529
+ instanceId: string().min(1),
18530
+ enabled: boolean()
18531
+ }), TerminalInstanceInfoSchema, {
18532
+ kind: "mutation",
18533
+ auth: "admin"
18534
+ }), method(_void(), array(TerminalLegacyCameraSchema).readonly(), { auth: "admin" }), method(object({
18535
+ stableId: string().min(1),
18536
+ name: string().trim().min(1).max(160).optional()
18537
+ }), TerminalInstanceInfoSchema, {
18538
+ kind: "mutation",
18539
+ auth: "admin"
18540
+ }), method(_void(), array(TerminalSessionInfoSchema).readonly(), { auth: "admin" }), method(object({
18382
18541
  profileId: string(),
18383
18542
  cols: number().int().positive(),
18384
18543
  rows: number().int().positive()
@@ -18392,6 +18551,26 @@ method(_void(), array(TerminalProfileInfoSchema).readonly(), { auth: "admin" }),
18392
18551
  }), _void(), {
18393
18552
  kind: "mutation",
18394
18553
  auth: "admin"
18554
+ }), method(object({
18555
+ sessionId: string(),
18556
+ afterSeq: number().int().nonnegative(),
18557
+ waitMs: number().int().min(0).max(2e3).default(0),
18558
+ /**
18559
+ * Wait when a just-opened session has no output yet. Kept opt-in so a
18560
+ * browser's initial repaint remains immediate; the camera snapshot
18561
+ * relay uses it to avoid encoding a blank startup frame.
18562
+ */
18563
+ waitForOutput: boolean().optional()
18564
+ }), TerminalOutputBatchSchema, {
18565
+ kind: "mutation",
18566
+ auth: "admin",
18567
+ timeoutMs: 15e3
18568
+ }), method(object({
18569
+ sessionId: string(),
18570
+ data: string().max(64 * 1024)
18571
+ }), _void(), {
18572
+ kind: "mutation",
18573
+ auth: "admin"
18395
18574
  }), method(object({ sessionId: string() }), _void(), {
18396
18575
  kind: "mutation",
18397
18576
  auth: "admin"
@@ -20322,6 +20501,7 @@ var FaceInfoSchema = object({
20322
20501
  var FaceFilterEnum = _enum([
20323
20502
  "unassigned",
20324
20503
  "recognized",
20504
+ "identified",
20325
20505
  "all"
20326
20506
  ]);
20327
20507
  var MediaFileLiteSchema$1 = object({
@@ -20350,6 +20530,8 @@ method(_void(), array(IdentitySchema).readonly()), method(object({ name: string(
20350
20530
  kind: "mutation",
20351
20531
  auth: "admin"
20352
20532
  }), method(object({
20533
+ /** Restrict to one camera. Absent keeps the cluster-wide gallery view. */
20534
+ deviceId: number().int().optional(),
20353
20535
  limit: number().int().positive().optional(),
20354
20536
  filter: FaceFilterEnum.optional(),
20355
20537
  /**
@@ -22115,6 +22297,10 @@ var OsdSourceSchema = discriminatedUnion("kind", [
22115
22297
  capName: string().min(1).max(64),
22116
22298
  /** Dot path inside the slice, e.g. `detected`, `value`, `mode`. */
22117
22299
  valuePath: string().min(1).max(64)
22300
+ }),
22301
+ object({
22302
+ kind: literal("latest-recognition"),
22303
+ recognition: _enum(["person", "plate"])
22118
22304
  })
22119
22305
  ]);
22120
22306
  var OsdSlotBindingSchema = object({
@@ -22220,6 +22406,15 @@ method(object({ deviceId: number().int() }), object({
22220
22406
  }), object({ success: literal(true) }), {
22221
22407
  kind: "mutation",
22222
22408
  auth: "admin"
22409
+ }), method(object({
22410
+ sourceDeviceId: number().int(),
22411
+ targetDeviceId: number().int()
22412
+ }), object({
22413
+ copied: number().int().nonnegative(),
22414
+ skipped: number().int().nonnegative()
22415
+ }), {
22416
+ kind: "mutation",
22417
+ auth: "admin"
22223
22418
  }), method(object({
22224
22419
  deviceId: number().int(),
22225
22420
  slotId: string().min(1),
@@ -23105,13 +23300,19 @@ method(object({
23105
23300
  }), {
23106
23301
  kind: "mutation",
23107
23302
  auth: "admin"
23108
- }), method(RelocateFootageInputSchema, object({ jobId: string() }), {
23303
+ }), method(StorageMigrationLeaseInputSchema, object({ paused: literal(true) }), {
23109
23304
  kind: "mutation",
23110
23305
  auth: "admin"
23111
- }), method(object({}), array(RelocateJobSchema).readonly(), {
23112
- kind: "query",
23306
+ }), method(StorageMigrationLeaseInputSchema, object({ resumed: literal(true) }), {
23307
+ kind: "mutation",
23113
23308
  auth: "admin"
23114
- }), method(object({ jobId: string() }), object({ cancelled: boolean() }), {
23309
+ }), method(StorageMigrationLeaseInputSchema, object({ refreshed: literal(true) }), {
23310
+ kind: "mutation",
23311
+ auth: "admin"
23312
+ }), method(StorageMigrationFootageMoveInputSchema, object({ jobId: string() }), {
23313
+ kind: "mutation",
23314
+ auth: "admin"
23315
+ }), method(object({ jobId: string() }), RelocateJobSchema.nullable(), { auth: "admin" }), method(object({ jobId: string() }), object({ cancelled: boolean() }), {
23115
23316
  kind: "mutation",
23116
23317
  auth: "admin"
23117
23318
  });
@@ -27233,6 +27434,12 @@ Object.freeze({
27233
27434
  addonId: null,
27234
27435
  access: "delete"
27235
27436
  },
27437
+ "osdManager.copyDeviceConfiguration": {
27438
+ capName: "osd-manager",
27439
+ capScope: "system",
27440
+ addonId: null,
27441
+ access: "create"
27442
+ },
27236
27443
  "osdManager.getConditionSupport": {
27237
27444
  capName: "osd-manager",
27238
27445
  capScope: "system",
@@ -27329,7 +27536,7 @@ Object.freeze({
27329
27536
  addonId: null,
27330
27537
  access: "create"
27331
27538
  },
27332
- "pipelineAnalytics.cancelMediaRelocate": {
27539
+ "pipelineAnalytics.cancelStorageMigrationMove": {
27333
27540
  capName: "pipeline-analytics",
27334
27541
  capScope: "device",
27335
27542
  addonId: null,
@@ -27401,12 +27608,6 @@ Object.freeze({
27401
27608
  addonId: null,
27402
27609
  access: "view"
27403
27610
  },
27404
- "pipelineAnalytics.getMediaRelocateStatus": {
27405
- capName: "pipeline-analytics",
27406
- capScope: "device",
27407
- addonId: null,
27408
- access: "view"
27409
- },
27410
27611
  "pipelineAnalytics.getMotionEvents": {
27411
27612
  capName: "pipeline-analytics",
27412
27613
  capScope: "device",
@@ -27443,6 +27644,12 @@ Object.freeze({
27443
27644
  addonId: null,
27444
27645
  access: "view"
27445
27646
  },
27647
+ "pipelineAnalytics.getStorageMigrationMoveStatus": {
27648
+ capName: "pipeline-analytics",
27649
+ capScope: "device",
27650
+ addonId: null,
27651
+ access: "view"
27652
+ },
27446
27653
  "pipelineAnalytics.getTrack": {
27447
27654
  capName: "pipeline-analytics",
27448
27655
  capScope: "device",
@@ -27521,6 +27728,12 @@ Object.freeze({
27521
27728
  addonId: null,
27522
27729
  access: "view"
27523
27730
  },
27731
+ "pipelineAnalytics.pauseForStorageMigration": {
27732
+ capName: "pipeline-analytics",
27733
+ capScope: "device",
27734
+ addonId: null,
27735
+ access: "create"
27736
+ },
27524
27737
  "pipelineAnalytics.proposeRetrainAnnotations": {
27525
27738
  capName: "pipeline-analytics",
27526
27739
  capScope: "device",
@@ -27551,7 +27764,7 @@ Object.freeze({
27551
27764
  addonId: null,
27552
27765
  access: "create"
27553
27766
  },
27554
- "pipelineAnalytics.relocateMedia": {
27767
+ "pipelineAnalytics.refreshStorageLocationsForMigration": {
27555
27768
  capName: "pipeline-analytics",
27556
27769
  capScope: "device",
27557
27770
  addonId: null,
@@ -27563,6 +27776,12 @@ Object.freeze({
27563
27776
  addonId: null,
27564
27777
  access: "create"
27565
27778
  },
27779
+ "pipelineAnalytics.resumeForStorageMigration": {
27780
+ capName: "pipeline-analytics",
27781
+ capScope: "device",
27782
+ addonId: null,
27783
+ access: "create"
27784
+ },
27566
27785
  "pipelineAnalytics.saveRetrainAnnotations": {
27567
27786
  capName: "pipeline-analytics",
27568
27787
  capScope: "device",
@@ -27587,6 +27806,12 @@ Object.freeze({
27587
27806
  addonId: null,
27588
27807
  access: "create"
27589
27808
  },
27809
+ "pipelineAnalytics.startStorageMigrationMove": {
27810
+ capName: "pipeline-analytics",
27811
+ capScope: "device",
27812
+ addonId: null,
27813
+ access: "create"
27814
+ },
27590
27815
  "pipelineAnalytics.wipeAllAnalytics": {
27591
27816
  capName: "pipeline-analytics",
27592
27817
  capScope: "device",
@@ -27953,6 +28178,12 @@ Object.freeze({
27953
28178
  addonId: null,
27954
28179
  access: "view"
27955
28180
  },
28181
+ "pipelineOrchestrator.pauseForStorageMigration": {
28182
+ capName: "pipeline-orchestrator",
28183
+ capScope: "system",
28184
+ addonId: null,
28185
+ access: "create"
28186
+ },
27956
28187
  "pipelineOrchestrator.rebalance": {
27957
28188
  capName: "pipeline-orchestrator",
27958
28189
  capScope: "system",
@@ -27977,6 +28208,12 @@ Object.freeze({
27977
28208
  addonId: null,
27978
28209
  access: "view"
27979
28210
  },
28211
+ "pipelineOrchestrator.resumeForStorageMigration": {
28212
+ capName: "pipeline-orchestrator",
28213
+ capScope: "system",
28214
+ addonId: null,
28215
+ access: "create"
28216
+ },
27980
28217
  "pipelineOrchestrator.saveTemplate": {
27981
28218
  capName: "pipeline-orchestrator",
27982
28219
  capScope: "system",
@@ -28373,7 +28610,7 @@ Object.freeze({
28373
28610
  addonId: null,
28374
28611
  access: "create"
28375
28612
  },
28376
- "recording.cancelRelocate": {
28613
+ "recording.cancelStorageMigrationMove": {
28377
28614
  capName: "recording",
28378
28615
  capScope: "system",
28379
28616
  addonId: null,
@@ -28409,7 +28646,7 @@ Object.freeze({
28409
28646
  addonId: null,
28410
28647
  access: "view"
28411
28648
  },
28412
- "recording.getRelocateStatus": {
28649
+ "recording.getStorageMigrationMoveStatus": {
28413
28650
  capName: "recording",
28414
28651
  capScope: "system",
28415
28652
  addonId: null,
@@ -28433,6 +28670,12 @@ Object.freeze({
28433
28670
  addonId: null,
28434
28671
  access: "view"
28435
28672
  },
28673
+ "recording.pauseForStorageMigration": {
28674
+ capName: "recording",
28675
+ capScope: "system",
28676
+ addonId: null,
28677
+ access: "create"
28678
+ },
28436
28679
  "recording.pruneFootage": {
28437
28680
  capName: "recording",
28438
28681
  capScope: "system",
@@ -28451,7 +28694,7 @@ Object.freeze({
28451
28694
  addonId: null,
28452
28695
  access: "view"
28453
28696
  },
28454
- "recording.relocateFootage": {
28697
+ "recording.refreshStorageLocationsForMigration": {
28455
28698
  capName: "recording",
28456
28699
  capScope: "system",
28457
28700
  addonId: null,
@@ -28475,12 +28718,24 @@ Object.freeze({
28475
28718
  addonId: null,
28476
28719
  access: "create"
28477
28720
  },
28721
+ "recording.resumeForStorageMigration": {
28722
+ capName: "recording",
28723
+ capScope: "system",
28724
+ addonId: null,
28725
+ access: "create"
28726
+ },
28478
28727
  "recording.setDeviceConfig": {
28479
28728
  capName: "recording",
28480
28729
  capScope: "system",
28481
28730
  addonId: null,
28482
28731
  access: "create"
28483
28732
  },
28733
+ "recording.startStorageMigrationMove": {
28734
+ capName: "recording",
28735
+ capScope: "system",
28736
+ addonId: null,
28737
+ access: "create"
28738
+ },
28484
28739
  "recordingExport.cancelExport": {
28485
28740
  capName: "recordingExport",
28486
28741
  capScope: "system",
@@ -28871,6 +29126,30 @@ Object.freeze({
28871
29126
  addonId: null,
28872
29127
  access: "view"
28873
29128
  },
29129
+ "storageMigration.cancel": {
29130
+ capName: "storage-migration",
29131
+ capScope: "system",
29132
+ addonId: null,
29133
+ access: "create"
29134
+ },
29135
+ "storageMigration.plan": {
29136
+ capName: "storage-migration",
29137
+ capScope: "system",
29138
+ addonId: null,
29139
+ access: "view"
29140
+ },
29141
+ "storageMigration.start": {
29142
+ capName: "storage-migration",
29143
+ capScope: "system",
29144
+ addonId: null,
29145
+ access: "create"
29146
+ },
29147
+ "storageMigration.status": {
29148
+ capName: "storage-migration",
29149
+ capScope: "system",
29150
+ addonId: null,
29151
+ access: "view"
29152
+ },
28874
29153
  "storageProvider.abortUpload": {
28875
29154
  capName: "storage-provider",
28876
29155
  capScope: "system",
@@ -29249,12 +29528,42 @@ Object.freeze({
29249
29528
  addonId: null,
29250
29529
  access: "create"
29251
29530
  },
29531
+ "terminalSession.adoptLegacyMonitor": {
29532
+ capName: "terminal-session",
29533
+ capScope: "system",
29534
+ addonId: null,
29535
+ access: "create"
29536
+ },
29252
29537
  "terminalSession.close": {
29253
29538
  capName: "terminal-session",
29254
29539
  capScope: "system",
29255
29540
  addonId: null,
29256
29541
  access: "create"
29257
29542
  },
29543
+ "terminalSession.createInstance": {
29544
+ capName: "terminal-session",
29545
+ capScope: "system",
29546
+ addonId: null,
29547
+ access: "create"
29548
+ },
29549
+ "terminalSession.deleteInstance": {
29550
+ capName: "terminal-session",
29551
+ capScope: "system",
29552
+ addonId: null,
29553
+ access: "delete"
29554
+ },
29555
+ "terminalSession.listInstances": {
29556
+ capName: "terminal-session",
29557
+ capScope: "system",
29558
+ addonId: null,
29559
+ access: "view"
29560
+ },
29561
+ "terminalSession.listLegacyCameras": {
29562
+ capName: "terminal-session",
29563
+ capScope: "system",
29564
+ addonId: null,
29565
+ access: "view"
29566
+ },
29258
29567
  "terminalSession.listProfiles": {
29259
29568
  capName: "terminal-session",
29260
29569
  capScope: "system",
@@ -29273,12 +29582,30 @@ Object.freeze({
29273
29582
  addonId: null,
29274
29583
  access: "create"
29275
29584
  },
29585
+ "terminalSession.pullOutput": {
29586
+ capName: "terminal-session",
29587
+ capScope: "system",
29588
+ addonId: null,
29589
+ access: "create"
29590
+ },
29276
29591
  "terminalSession.resize": {
29277
29592
  capName: "terminal-session",
29278
29593
  capScope: "system",
29279
29594
  addonId: null,
29280
29595
  access: "create"
29281
29596
  },
29597
+ "terminalSession.setInstanceEnabled": {
29598
+ capName: "terminal-session",
29599
+ capScope: "system",
29600
+ addonId: null,
29601
+ access: "create"
29602
+ },
29603
+ "terminalSession.writeInput": {
29604
+ capName: "terminal-session",
29605
+ capScope: "system",
29606
+ addonId: null,
29607
+ access: "create"
29608
+ },
29282
29609
  "toast.onToast": {
29283
29610
  capName: "toast",
29284
29611
  capScope: "system",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@camstack/addon-decoder-ffmpeg",
3
- "version": "1.2.10",
3
+ "version": "1.2.12",
4
4
  "description": "Standalone ffmpeg-subprocess decoder fallback addon for CamStack",
5
5
  "keywords": [
6
6
  "camstack",