camstack 1.2.20 → 1.2.21

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.
@@ -14522,7 +14522,7 @@ function date4(params) {
14522
14522
  // ../../node_modules/zod/v4/classic/external.js
14523
14523
  config(en_default());
14524
14524
 
14525
- // ../types/dist/sleep-CeuvKr4N.mjs
14525
+ // ../types/dist/sleep-BxjBLp3L.mjs
14526
14526
  var WELL_KNOWN_TABS = [
14527
14527
  {
14528
14528
  id: "overview",
@@ -15650,20 +15650,87 @@ var RelocateJobSchema = external_exports.object({
15650
15650
  finishedAt: external_exports.number().nullable(),
15651
15651
  error: external_exports.string().nullable()
15652
15652
  });
15653
+ var RelocateFootageClassSchema = external_exports.enum(["recordings", "recordingsLow"]);
15653
15654
  var RelocateFootageInputSchema = external_exports.object({
15654
- deviceId: external_exports.number().optional(),
15655
15655
  fromLocationId: external_exports.string(),
15656
15656
  toLocationId: external_exports.string(),
15657
15657
  entities: external_exports.array(external_exports.enum(["segments"])).optional(),
15658
+ /** Limits relocation to the logical profile class. Omit only for the
15659
+ * pre-orchestration compatibility path. */
15660
+ footageClass: RelocateFootageClassSchema.optional(),
15658
15661
  /** Copy throttle in MB/s (default 40) — the drain is a background chore,
15659
15662
  * never allowed to starve live writers. */
15660
15663
  throttleMbps: external_exports.number().min(1).max(1e3).optional()
15661
15664
  });
15665
+ var StorageMigrationLeaseInputSchema = external_exports.object({ leaseId: external_exports.string().min(1) });
15666
+ var StorageMigrationFootageMoveInputSchema = RelocateFootageInputSchema.extend({ leaseId: external_exports.string().min(1) });
15662
15667
  var RelocateMediaInputSchema = external_exports.object({
15663
- deviceId: external_exports.number().optional(),
15664
15668
  toLocationId: external_exports.string(),
15665
15669
  throttleMbps: external_exports.number().min(1).max(1e3).optional()
15666
15670
  });
15671
+ var StorageMigrationMediaMoveInputSchema = RelocateMediaInputSchema.extend({ leaseId: external_exports.string().min(1) });
15672
+ var StorageMigrationClassSchema = external_exports.enum([
15673
+ "recordings",
15674
+ "recordingsLow",
15675
+ "eventMedia"
15676
+ ]);
15677
+ var StorageMigrationDestinationsSchema = external_exports.object({
15678
+ recordings: external_exports.string().min(1).optional(),
15679
+ recordingsLow: external_exports.string().min(1).optional(),
15680
+ eventMedia: external_exports.string().min(1).optional()
15681
+ }).refine((value) => Object.keys(value).length > 0, { message: "select at least one storage class" });
15682
+ var StorageMigrationInputSchema = external_exports.object({
15683
+ destinations: StorageMigrationDestinationsSchema,
15684
+ throttleMbps: external_exports.number().min(1).max(1e3).optional()
15685
+ });
15686
+ var StorageMigrationPhaseSchema = external_exports.enum([
15687
+ "planning",
15688
+ "pausing",
15689
+ "moving",
15690
+ "verifying",
15691
+ "repointing",
15692
+ "refreshing",
15693
+ "resuming",
15694
+ "done",
15695
+ "failed",
15696
+ "cancelled"
15697
+ ]);
15698
+ var StorageMigrationParticipantSchema = external_exports.enum([
15699
+ "pipeline",
15700
+ "recorder",
15701
+ "analytics"
15702
+ ]);
15703
+ var StorageMigrationMoveSchema = external_exports.object({
15704
+ storageClass: StorageMigrationClassSchema,
15705
+ fromLocationId: external_exports.string(),
15706
+ toLocationId: external_exports.string(),
15707
+ moverJobId: external_exports.string().nullable(),
15708
+ state: RelocateJobStateSchema.nullable(),
15709
+ error: external_exports.string().nullable()
15710
+ });
15711
+ var StorageMigrationJobSchema = external_exports.object({
15712
+ jobId: external_exports.string(),
15713
+ phase: StorageMigrationPhaseSchema,
15714
+ destinations: StorageMigrationDestinationsSchema,
15715
+ throttleMbps: external_exports.number(),
15716
+ moves: external_exports.array(StorageMigrationMoveSchema),
15717
+ pauseLeaseId: external_exports.string().nullable(),
15718
+ pausedParticipants: external_exports.array(StorageMigrationParticipantSchema),
15719
+ repointed: external_exports.boolean(),
15720
+ cancelRequested: external_exports.boolean(),
15721
+ startedAt: external_exports.number(),
15722
+ updatedAt: external_exports.number(),
15723
+ finishedAt: external_exports.number().nullable(),
15724
+ error: external_exports.string().nullable()
15725
+ });
15726
+ var StorageMigrationPlanSchema = external_exports.object({
15727
+ destinations: StorageMigrationDestinationsSchema,
15728
+ moves: external_exports.array(external_exports.object({
15729
+ storageClass: StorageMigrationClassSchema,
15730
+ fromLocationId: external_exports.string(),
15731
+ toLocationId: external_exports.string()
15732
+ }))
15733
+ });
15667
15734
  var StorageLocationTypeSchema = external_exports.string().regex(/^[a-z][a-zA-Z0-9-]*$/);
15668
15735
  var StorageLocationSchema = external_exports.object({
15669
15736
  id: external_exports.string().regex(/^[a-z][a-zA-Z0-9-]*:[a-zA-Z0-9-]+$/),
@@ -24185,20 +24252,28 @@ var pipelineAnalyticsCapability = {
24185
24252
  }),
24186
24253
  /** The events ops-log rows (newest-first), optionally scoped to one camera.
24187
24254
  * Backed by a declared pipeline-analytics SQLite collection. */
24188
- /**
24189
- * Move event-media blobs onto `toLocationId` (entity-routing spec Phase
24190
- * 4): per-row copy → stamp row.locationId delete old blob. Rows already
24191
- * at the target are skipped, so a re-run resumes. Single-flight.
24192
- */
24193
- relocateMedia: method(RelocateMediaInputSchema, external_exports.object({ jobId: external_exports.string() }), {
24255
+ /** Internal migration-participant lease. It drains active MediaStore
24256
+ * writes and refuses new ones without changing analytics bindings. */
24257
+ pauseForStorageMigration: method(StorageMigrationLeaseInputSchema, external_exports.object({ paused: external_exports.literal(true) }), {
24194
24258
  kind: "mutation",
24195
24259
  auth: "admin"
24196
24260
  }),
24197
- getMediaRelocateStatus: method(external_exports.object({}), external_exports.array(RelocateJobSchema).readonly(), {
24198
- kind: "query",
24261
+ resumeForStorageMigration: method(StorageMigrationLeaseInputSchema, external_exports.object({ resumed: external_exports.literal(true) }), {
24262
+ kind: "mutation",
24263
+ auth: "admin"
24264
+ }),
24265
+ /** Drops cached location roots after the storage coordinator repoints a
24266
+ * default so future event-media writes use the new root. */
24267
+ refreshStorageLocationsForMigration: method(StorageMigrationLeaseInputSchema, external_exports.object({ refreshed: external_exports.literal(true) }), {
24268
+ kind: "mutation",
24199
24269
  auth: "admin"
24200
24270
  }),
24201
- cancelMediaRelocate: method(external_exports.object({ jobId: external_exports.string() }), external_exports.object({ cancelled: external_exports.boolean() }), {
24271
+ startStorageMigrationMove: method(StorageMigrationMediaMoveInputSchema, external_exports.object({ jobId: external_exports.string() }), {
24272
+ kind: "mutation",
24273
+ auth: "admin"
24274
+ }),
24275
+ getStorageMigrationMoveStatus: method(external_exports.object({ jobId: external_exports.string() }), RelocateJobSchema.nullable(), { auth: "admin" }),
24276
+ cancelStorageMigrationMove: method(external_exports.object({ jobId: external_exports.string() }), external_exports.object({ cancelled: external_exports.boolean() }), {
24202
24277
  kind: "mutation",
24203
24278
  auth: "admin"
24204
24279
  }),
@@ -26115,6 +26190,16 @@ var pipelineOrchestratorCapability = {
26115
26190
  nodeIdMode: "data",
26116
26191
  exposesDeviceSettings: true,
26117
26192
  methods: {
26193
+ /** Internal storage-migration participant lease. While held, dispatch
26194
+ * requests are accepted as pending but no new runner attachment starts. */
26195
+ pauseForStorageMigration: method(StorageMigrationLeaseInputSchema, external_exports.object({ paused: external_exports.literal(true) }), {
26196
+ kind: "mutation",
26197
+ auth: "admin"
26198
+ }),
26199
+ resumeForStorageMigration: method(StorageMigrationLeaseInputSchema, external_exports.object({ resumed: external_exports.literal(true) }), {
26200
+ kind: "mutation",
26201
+ auth: "admin"
26202
+ }),
26118
26203
  /**
26119
26204
  * Pin a camera's pipeline to a specific agent (L1 affinity).
26120
26205
  * The orchestrator re-evaluates the assignment immediately and persists
@@ -27108,6 +27193,23 @@ var storageEvictableCapability = {
27108
27193
  }), EvictResultSchema, { kind: "mutation" })
27109
27194
  }
27110
27195
  };
27196
+ var storageMigrationCapability = {
27197
+ name: "storage-migration",
27198
+ scope: "system",
27199
+ mode: "singleton",
27200
+ methods: {
27201
+ plan: method(StorageMigrationInputSchema, StorageMigrationPlanSchema, { auth: "admin" }),
27202
+ start: method(StorageMigrationInputSchema, external_exports.object({ jobId: external_exports.string() }), {
27203
+ kind: "mutation",
27204
+ auth: "admin"
27205
+ }),
27206
+ status: method(external_exports.object({ jobId: external_exports.string().optional() }), StorageMigrationJobSchema.nullable(), { auth: "admin" }),
27207
+ cancel: method(external_exports.object({ jobId: external_exports.string() }), external_exports.object({ cancelled: external_exports.boolean() }), {
27208
+ kind: "mutation",
27209
+ auth: "admin"
27210
+ })
27211
+ }
27212
+ };
27111
27213
  var ProviderInfoSchema = external_exports.discriminatedUnion("shouldSaveDiskSpace", [external_exports.object({
27112
27214
  providerId: external_exports.string().min(1),
27113
27215
  displayName: external_exports.string().min(1),
@@ -27222,6 +27324,24 @@ var TerminalProfileInfoSchema = external_exports.object({
27222
27324
  label: external_exports.string(),
27223
27325
  description: external_exports.string().optional()
27224
27326
  });
27327
+ var TerminalInstanceInfoSchema = external_exports.object({
27328
+ instanceId: external_exports.string(),
27329
+ cameraStableId: external_exports.string(),
27330
+ nodeId: external_exports.string(),
27331
+ profileId: external_exports.string(),
27332
+ profileLabel: external_exports.string(),
27333
+ name: external_exports.string(),
27334
+ enabled: external_exports.boolean()
27335
+ });
27336
+ var TerminalLegacyCameraSchema = external_exports.object({
27337
+ stableId: external_exports.string(),
27338
+ nodeId: external_exports.string(),
27339
+ profileId: external_exports.string(),
27340
+ profileLabel: external_exports.string(),
27341
+ name: external_exports.string(),
27342
+ /** Only legacy monitor cameras can retain their historic stable identity. */
27343
+ adoptable: external_exports.boolean()
27344
+ });
27225
27345
  var TerminalOutputEventSchema = external_exports.discriminatedUnion("kind", [external_exports.object({
27226
27346
  seq: external_exports.number().int().positive(),
27227
27347
  kind: external_exports.literal("data"),
@@ -27245,6 +27365,37 @@ var terminalSessionCapability = {
27245
27365
  methods: {
27246
27366
  /** Pre-declared profiles the operator may open. */
27247
27367
  listProfiles: method(external_exports.void(), external_exports.array(TerminalProfileInfoSchema).readonly(), { auth: "admin" }),
27368
+ /** Explicit durable Terminal instances, managed centrally on the hub. */
27369
+ listInstances: method(external_exports.void(), external_exports.array(TerminalInstanceInfoSchema).readonly(), { auth: "admin" }),
27370
+ createInstance: method(external_exports.object({
27371
+ targetNodeId: external_exports.string().min(1),
27372
+ profileId: external_exports.string().min(1),
27373
+ name: external_exports.string().trim().min(1).max(160).optional()
27374
+ }), TerminalInstanceInfoSchema, {
27375
+ kind: "mutation",
27376
+ auth: "admin"
27377
+ }),
27378
+ deleteInstance: method(external_exports.object({ instanceId: external_exports.string().min(1) }), external_exports.void(), {
27379
+ kind: "mutation",
27380
+ auth: "admin"
27381
+ }),
27382
+ setInstanceEnabled: method(external_exports.object({
27383
+ instanceId: external_exports.string().min(1),
27384
+ enabled: external_exports.boolean()
27385
+ }), TerminalInstanceInfoSchema, {
27386
+ kind: "mutation",
27387
+ auth: "admin"
27388
+ }),
27389
+ /** Existing automatic cameras are shown for explicit migration only. */
27390
+ listLegacyCameras: method(external_exports.void(), external_exports.array(TerminalLegacyCameraSchema).readonly(), { auth: "admin" }),
27391
+ /** Explicitly adopt one legacy monitor camera, retaining its stable id. */
27392
+ adoptLegacyMonitor: method(external_exports.object({
27393
+ stableId: external_exports.string().min(1),
27394
+ name: external_exports.string().trim().min(1).max(160).optional()
27395
+ }), TerminalInstanceInfoSchema, {
27396
+ kind: "mutation",
27397
+ auth: "admin"
27398
+ }),
27248
27399
  /** Live sessions currently hosted by the provider. */
27249
27400
  listSessions: method(external_exports.void(), external_exports.array(TerminalSessionInfoSchema).readonly(), { auth: "admin" }),
27250
27401
  /**
@@ -27276,7 +27427,13 @@ var terminalSessionCapability = {
27276
27427
  pullOutput: method(external_exports.object({
27277
27428
  sessionId: external_exports.string(),
27278
27429
  afterSeq: external_exports.number().int().nonnegative(),
27279
- waitMs: external_exports.number().int().min(0).max(2e3).default(0)
27430
+ waitMs: external_exports.number().int().min(0).max(2e3).default(0),
27431
+ /**
27432
+ * Wait when a just-opened session has no output yet. Kept opt-in so a
27433
+ * browser's initial repaint remains immediate; the camera snapshot
27434
+ * relay uses it to avoid encoding a blank startup frame.
27435
+ */
27436
+ waitForOutput: external_exports.boolean().optional()
27280
27437
  }), TerminalOutputBatchSchema, {
27281
27438
  kind: "mutation",
27282
27439
  auth: "admin",
@@ -29656,6 +29813,7 @@ var FaceInfoSchema = external_exports.object({
29656
29813
  var FaceFilterEnum = external_exports.enum([
29657
29814
  "unassigned",
29658
29815
  "recognized",
29816
+ "identified",
29659
29817
  "all"
29660
29818
  ]);
29661
29819
  var MediaFileLiteSchema$1 = external_exports.object({
@@ -29695,6 +29853,8 @@ var faceGalleryCapability = {
29695
29853
  auth: "admin"
29696
29854
  }),
29697
29855
  listRecentFaces: method(external_exports.object({
29856
+ /** Restrict to one camera. Absent keeps the cluster-wide gallery view. */
29857
+ deviceId: external_exports.number().int().optional(),
29698
29858
  limit: external_exports.number().int().positive().optional(),
29699
29859
  filter: FaceFilterEnum.optional(),
29700
29860
  /**
@@ -31771,6 +31931,10 @@ var OsdSourceSchema = external_exports.discriminatedUnion("kind", [
31771
31931
  capName: external_exports.string().min(1).max(64),
31772
31932
  /** Dot path inside the slice, e.g. `detected`, `value`, `mode`. */
31773
31933
  valuePath: external_exports.string().min(1).max(64)
31934
+ }),
31935
+ external_exports.object({
31936
+ kind: external_exports.literal("latest-recognition"),
31937
+ recognition: external_exports.enum(["person", "plate"])
31774
31938
  })
31775
31939
  ]);
31776
31940
  var OsdSlotBindingSchema = external_exports.object({
@@ -31897,6 +32061,21 @@ var osdManagerCapability = {
31897
32061
  auth: "admin"
31898
32062
  }),
31899
32063
  /**
32064
+ * Replace one camera's binding configuration from another. Writable source
32065
+ * slots are mapped by ordinal onto writable target slots so different
32066
+ * provider slot ids do not make the copied configuration disappear.
32067
+ */
32068
+ copyDeviceConfiguration: method(external_exports.object({
32069
+ sourceDeviceId: external_exports.number().int(),
32070
+ targetDeviceId: external_exports.number().int()
32071
+ }), external_exports.object({
32072
+ copied: external_exports.number().int().nonnegative(),
32073
+ skipped: external_exports.number().int().nonnegative()
32074
+ }), {
32075
+ kind: "mutation",
32076
+ auth: "admin"
32077
+ }),
32078
+ /**
31900
32079
  * Render without writing. `binding` overrides the stored one so an
31901
32080
  * editor can preview an unsaved change. Mutation kind only to carry
31902
32081
  * the binding object safely; no side effects.
@@ -32981,12 +33160,6 @@ var recordingCapability = {
32981
33160
  auth: "admin"
32982
33161
  }),
32983
33162
  /**
32984
- * Move footage (recorded segments) from one recordings location to
32985
- * another — the drain workflow's mover (entity-routing spec Phase 4).
32986
- * Throttled copy → size-verify → delete source → index refresh; resumable
32987
- * by construction (copy-if-absent). Single-flight: one job at a time.
32988
- */
32989
- /**
32990
33163
  * Render a short GIF from recorded footage around `aroundMs` (low profile,
32991
33164
  * palette-free ffmpeg gif). Synchronous — the window is a few seconds of
32992
33165
  * `low`, rendering in ~1-2s. Built for notification attachments: the
@@ -33038,16 +33211,28 @@ var recordingCapability = {
33038
33211
  kind: "mutation",
33039
33212
  auth: "admin"
33040
33213
  }),
33041
- relocateFootage: method(RelocateFootageInputSchema, external_exports.object({ jobId: external_exports.string() }), {
33214
+ /** Internal migration-participant lease. Blocks new recorder attaches and
33215
+ * waits for writers to exit while their watchers index final segments. */
33216
+ pauseForStorageMigration: method(StorageMigrationLeaseInputSchema, external_exports.object({ paused: external_exports.literal(true) }), {
33042
33217
  kind: "mutation",
33043
33218
  auth: "admin"
33044
33219
  }),
33045
- /** Every known relocate job (in-RAM, newest-first). */
33046
- getRelocateStatus: method(external_exports.object({}), external_exports.array(RelocateJobSchema).readonly(), {
33047
- kind: "query",
33220
+ resumeForStorageMigration: method(StorageMigrationLeaseInputSchema, external_exports.object({ resumed: external_exports.literal(true) }), {
33221
+ kind: "mutation",
33222
+ auth: "admin"
33223
+ }),
33224
+ /** Re-resolve location roots after the coordinator changes defaults. */
33225
+ refreshStorageLocationsForMigration: method(StorageMigrationLeaseInputSchema, external_exports.object({ refreshed: external_exports.literal(true) }), {
33226
+ kind: "mutation",
33227
+ auth: "admin"
33228
+ }),
33229
+ /** Internal mover, callable only by the storage-migration coordinator. */
33230
+ startStorageMigrationMove: method(StorageMigrationFootageMoveInputSchema, external_exports.object({ jobId: external_exports.string() }), {
33231
+ kind: "mutation",
33048
33232
  auth: "admin"
33049
33233
  }),
33050
- cancelRelocate: method(external_exports.object({ jobId: external_exports.string() }), external_exports.object({ cancelled: external_exports.boolean() }), {
33234
+ getStorageMigrationMoveStatus: method(external_exports.object({ jobId: external_exports.string() }), RelocateJobSchema.nullable(), { auth: "admin" }),
33235
+ cancelStorageMigrationMove: method(external_exports.object({ jobId: external_exports.string() }), external_exports.object({ cancelled: external_exports.boolean() }), {
33051
33236
  kind: "mutation",
33052
33237
  auth: "admin"
33053
33238
  })
@@ -37396,6 +37581,12 @@ var METHOD_ACCESS_MAP = Object.freeze({
37396
37581
  addonId: null,
37397
37582
  access: "delete"
37398
37583
  },
37584
+ "osdManager.copyDeviceConfiguration": {
37585
+ capName: "osd-manager",
37586
+ capScope: "system",
37587
+ addonId: null,
37588
+ access: "create"
37589
+ },
37399
37590
  "osdManager.getConditionSupport": {
37400
37591
  capName: "osd-manager",
37401
37592
  capScope: "system",
@@ -37492,7 +37683,7 @@ var METHOD_ACCESS_MAP = Object.freeze({
37492
37683
  addonId: null,
37493
37684
  access: "create"
37494
37685
  },
37495
- "pipelineAnalytics.cancelMediaRelocate": {
37686
+ "pipelineAnalytics.cancelStorageMigrationMove": {
37496
37687
  capName: "pipeline-analytics",
37497
37688
  capScope: "device",
37498
37689
  addonId: null,
@@ -37564,12 +37755,6 @@ var METHOD_ACCESS_MAP = Object.freeze({
37564
37755
  addonId: null,
37565
37756
  access: "view"
37566
37757
  },
37567
- "pipelineAnalytics.getMediaRelocateStatus": {
37568
- capName: "pipeline-analytics",
37569
- capScope: "device",
37570
- addonId: null,
37571
- access: "view"
37572
- },
37573
37758
  "pipelineAnalytics.getMotionEvents": {
37574
37759
  capName: "pipeline-analytics",
37575
37760
  capScope: "device",
@@ -37606,6 +37791,12 @@ var METHOD_ACCESS_MAP = Object.freeze({
37606
37791
  addonId: null,
37607
37792
  access: "view"
37608
37793
  },
37794
+ "pipelineAnalytics.getStorageMigrationMoveStatus": {
37795
+ capName: "pipeline-analytics",
37796
+ capScope: "device",
37797
+ addonId: null,
37798
+ access: "view"
37799
+ },
37609
37800
  "pipelineAnalytics.getTrack": {
37610
37801
  capName: "pipeline-analytics",
37611
37802
  capScope: "device",
@@ -37684,6 +37875,12 @@ var METHOD_ACCESS_MAP = Object.freeze({
37684
37875
  addonId: null,
37685
37876
  access: "view"
37686
37877
  },
37878
+ "pipelineAnalytics.pauseForStorageMigration": {
37879
+ capName: "pipeline-analytics",
37880
+ capScope: "device",
37881
+ addonId: null,
37882
+ access: "create"
37883
+ },
37687
37884
  "pipelineAnalytics.proposeRetrainAnnotations": {
37688
37885
  capName: "pipeline-analytics",
37689
37886
  capScope: "device",
@@ -37714,7 +37911,7 @@ var METHOD_ACCESS_MAP = Object.freeze({
37714
37911
  addonId: null,
37715
37912
  access: "create"
37716
37913
  },
37717
- "pipelineAnalytics.relocateMedia": {
37914
+ "pipelineAnalytics.refreshStorageLocationsForMigration": {
37718
37915
  capName: "pipeline-analytics",
37719
37916
  capScope: "device",
37720
37917
  addonId: null,
@@ -37726,6 +37923,12 @@ var METHOD_ACCESS_MAP = Object.freeze({
37726
37923
  addonId: null,
37727
37924
  access: "create"
37728
37925
  },
37926
+ "pipelineAnalytics.resumeForStorageMigration": {
37927
+ capName: "pipeline-analytics",
37928
+ capScope: "device",
37929
+ addonId: null,
37930
+ access: "create"
37931
+ },
37729
37932
  "pipelineAnalytics.saveRetrainAnnotations": {
37730
37933
  capName: "pipeline-analytics",
37731
37934
  capScope: "device",
@@ -37750,6 +37953,12 @@ var METHOD_ACCESS_MAP = Object.freeze({
37750
37953
  addonId: null,
37751
37954
  access: "create"
37752
37955
  },
37956
+ "pipelineAnalytics.startStorageMigrationMove": {
37957
+ capName: "pipeline-analytics",
37958
+ capScope: "device",
37959
+ addonId: null,
37960
+ access: "create"
37961
+ },
37753
37962
  "pipelineAnalytics.wipeAllAnalytics": {
37754
37963
  capName: "pipeline-analytics",
37755
37964
  capScope: "device",
@@ -38116,6 +38325,12 @@ var METHOD_ACCESS_MAP = Object.freeze({
38116
38325
  addonId: null,
38117
38326
  access: "view"
38118
38327
  },
38328
+ "pipelineOrchestrator.pauseForStorageMigration": {
38329
+ capName: "pipeline-orchestrator",
38330
+ capScope: "system",
38331
+ addonId: null,
38332
+ access: "create"
38333
+ },
38119
38334
  "pipelineOrchestrator.rebalance": {
38120
38335
  capName: "pipeline-orchestrator",
38121
38336
  capScope: "system",
@@ -38140,6 +38355,12 @@ var METHOD_ACCESS_MAP = Object.freeze({
38140
38355
  addonId: null,
38141
38356
  access: "view"
38142
38357
  },
38358
+ "pipelineOrchestrator.resumeForStorageMigration": {
38359
+ capName: "pipeline-orchestrator",
38360
+ capScope: "system",
38361
+ addonId: null,
38362
+ access: "create"
38363
+ },
38143
38364
  "pipelineOrchestrator.saveTemplate": {
38144
38365
  capName: "pipeline-orchestrator",
38145
38366
  capScope: "system",
@@ -38536,7 +38757,7 @@ var METHOD_ACCESS_MAP = Object.freeze({
38536
38757
  addonId: null,
38537
38758
  access: "create"
38538
38759
  },
38539
- "recording.cancelRelocate": {
38760
+ "recording.cancelStorageMigrationMove": {
38540
38761
  capName: "recording",
38541
38762
  capScope: "system",
38542
38763
  addonId: null,
@@ -38572,7 +38793,7 @@ var METHOD_ACCESS_MAP = Object.freeze({
38572
38793
  addonId: null,
38573
38794
  access: "view"
38574
38795
  },
38575
- "recording.getRelocateStatus": {
38796
+ "recording.getStorageMigrationMoveStatus": {
38576
38797
  capName: "recording",
38577
38798
  capScope: "system",
38578
38799
  addonId: null,
@@ -38596,6 +38817,12 @@ var METHOD_ACCESS_MAP = Object.freeze({
38596
38817
  addonId: null,
38597
38818
  access: "view"
38598
38819
  },
38820
+ "recording.pauseForStorageMigration": {
38821
+ capName: "recording",
38822
+ capScope: "system",
38823
+ addonId: null,
38824
+ access: "create"
38825
+ },
38599
38826
  "recording.pruneFootage": {
38600
38827
  capName: "recording",
38601
38828
  capScope: "system",
@@ -38614,7 +38841,7 @@ var METHOD_ACCESS_MAP = Object.freeze({
38614
38841
  addonId: null,
38615
38842
  access: "view"
38616
38843
  },
38617
- "recording.relocateFootage": {
38844
+ "recording.refreshStorageLocationsForMigration": {
38618
38845
  capName: "recording",
38619
38846
  capScope: "system",
38620
38847
  addonId: null,
@@ -38638,12 +38865,24 @@ var METHOD_ACCESS_MAP = Object.freeze({
38638
38865
  addonId: null,
38639
38866
  access: "create"
38640
38867
  },
38868
+ "recording.resumeForStorageMigration": {
38869
+ capName: "recording",
38870
+ capScope: "system",
38871
+ addonId: null,
38872
+ access: "create"
38873
+ },
38641
38874
  "recording.setDeviceConfig": {
38642
38875
  capName: "recording",
38643
38876
  capScope: "system",
38644
38877
  addonId: null,
38645
38878
  access: "create"
38646
38879
  },
38880
+ "recording.startStorageMigrationMove": {
38881
+ capName: "recording",
38882
+ capScope: "system",
38883
+ addonId: null,
38884
+ access: "create"
38885
+ },
38647
38886
  "recordingExport.cancelExport": {
38648
38887
  capName: "recordingExport",
38649
38888
  capScope: "system",
@@ -39034,6 +39273,30 @@ var METHOD_ACCESS_MAP = Object.freeze({
39034
39273
  addonId: null,
39035
39274
  access: "view"
39036
39275
  },
39276
+ "storageMigration.cancel": {
39277
+ capName: "storage-migration",
39278
+ capScope: "system",
39279
+ addonId: null,
39280
+ access: "create"
39281
+ },
39282
+ "storageMigration.plan": {
39283
+ capName: "storage-migration",
39284
+ capScope: "system",
39285
+ addonId: null,
39286
+ access: "view"
39287
+ },
39288
+ "storageMigration.start": {
39289
+ capName: "storage-migration",
39290
+ capScope: "system",
39291
+ addonId: null,
39292
+ access: "create"
39293
+ },
39294
+ "storageMigration.status": {
39295
+ capName: "storage-migration",
39296
+ capScope: "system",
39297
+ addonId: null,
39298
+ access: "view"
39299
+ },
39037
39300
  "storageProvider.abortUpload": {
39038
39301
  capName: "storage-provider",
39039
39302
  capScope: "system",
@@ -39412,12 +39675,42 @@ var METHOD_ACCESS_MAP = Object.freeze({
39412
39675
  addonId: null,
39413
39676
  access: "create"
39414
39677
  },
39678
+ "terminalSession.adoptLegacyMonitor": {
39679
+ capName: "terminal-session",
39680
+ capScope: "system",
39681
+ addonId: null,
39682
+ access: "create"
39683
+ },
39415
39684
  "terminalSession.close": {
39416
39685
  capName: "terminal-session",
39417
39686
  capScope: "system",
39418
39687
  addonId: null,
39419
39688
  access: "create"
39420
39689
  },
39690
+ "terminalSession.createInstance": {
39691
+ capName: "terminal-session",
39692
+ capScope: "system",
39693
+ addonId: null,
39694
+ access: "create"
39695
+ },
39696
+ "terminalSession.deleteInstance": {
39697
+ capName: "terminal-session",
39698
+ capScope: "system",
39699
+ addonId: null,
39700
+ access: "delete"
39701
+ },
39702
+ "terminalSession.listInstances": {
39703
+ capName: "terminal-session",
39704
+ capScope: "system",
39705
+ addonId: null,
39706
+ access: "view"
39707
+ },
39708
+ "terminalSession.listLegacyCameras": {
39709
+ capName: "terminal-session",
39710
+ capScope: "system",
39711
+ addonId: null,
39712
+ access: "view"
39713
+ },
39421
39714
  "terminalSession.listProfiles": {
39422
39715
  capName: "terminal-session",
39423
39716
  capScope: "system",
@@ -39448,6 +39741,12 @@ var METHOD_ACCESS_MAP = Object.freeze({
39448
39741
  addonId: null,
39449
39742
  access: "create"
39450
39743
  },
39744
+ "terminalSession.setInstanceEnabled": {
39745
+ capName: "terminal-session",
39746
+ capScope: "system",
39747
+ addonId: null,
39748
+ access: "create"
39749
+ },
39451
39750
  "terminalSession.writeInput": {
39452
39751
  capName: "terminal-session",
39453
39752
  capScope: "system",
package/dist/cli.js CHANGED
@@ -1,7 +1,7 @@
1
1
  #!/usr/bin/env node
2
2
  import {
3
3
  runDiscover
4
- } from "./chunk-INLS2YWL.js";
4
+ } from "./chunk-MBRFZXSS.js";
5
5
  import "./chunk-LMMQX4CK.js";
6
6
 
7
7
  // src/cli.ts
@@ -38,7 +38,7 @@ async function runServe(args) {
38
38
  ...typeof values.data === "string" ? { data: values.data } : {}
39
39
  };
40
40
  Object.assign(process.env, buildServeEnv(opts));
41
- await import("./launcher-3CU6JQOY.js");
41
+ await import("./launcher-YLWILQA5.js");
42
42
  }
43
43
 
44
44
  // src/commands/agent.ts
@@ -83,7 +83,7 @@ async function runAgent(args) {
83
83
  ...typeof values.port === "string" ? { port: values.port } : {}
84
84
  };
85
85
  Object.assign(process.env, buildAgentEnv(opts));
86
- await import("./launcher-3CU6JQOY.js");
86
+ await import("./launcher-YLWILQA5.js");
87
87
  }
88
88
 
89
89
  // src/commands/setup.ts
@@ -1130,7 +1130,7 @@ function isUnknown(_value) {
1130
1130
  return true;
1131
1131
  }
1132
1132
  async function resolveServerInteractive(presetNamespace) {
1133
- const { discoverNodes, resolveHubFromDiscovered, filterHubNodes, DEFAULT_HUB_HTTPS_PORT } = await import("./discover-X6SVCEM5.js");
1133
+ const { discoverNodes, resolveHubFromDiscovered, filterHubNodes, DEFAULT_HUB_HTTPS_PORT } = await import("./discover-KYVX2J2T.js");
1134
1134
  if (presetNamespace) {
1135
1135
  const spinner4 = clack.spinner();
1136
1136
  spinner4.start(`Discovering hub on LAN (namespace "${presetNamespace}")`);
@@ -5,7 +5,7 @@ import {
5
5
  filterHubNodes,
6
6
  resolveHubFromDiscovered,
7
7
  runDiscover
8
- } from "./chunk-INLS2YWL.js";
8
+ } from "./chunk-MBRFZXSS.js";
9
9
  import "./chunk-LMMQX4CK.js";
10
10
  export {
11
11
  DEFAULT_HUB_HTTPS_PORT,