@camstack/types 1.2.58 → 1.2.59

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.
package/dist/index.js CHANGED
@@ -1,6 +1,6 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
2
  const require_event_category = require("./event-category-DxZbWydC.js");
3
- const require_sleep = require("./sleep-DcLy1h8o.js");
3
+ const require_sleep = require("./sleep-BszXLEvP.js");
4
4
  const require_canonical_hash = require("./canonical-hash-DNV8S5ET.js");
5
5
  const require_enums = require("./enums.js");
6
6
  const require_err_msg = require("./err-msg-COpsHMw2.js");
@@ -1610,12 +1610,11 @@ function deriveRecordingMode(config) {
1610
1610
  /**
1611
1611
  * Entity-relocation job state (storage entity-routing spec, Phase 4).
1612
1612
  *
1613
- * One shape shared by the recorder's `relocateFootage` (segments) and
1614
- * pipeline-analytics' `relocateMedia` (event media blobs) so the admin Data
1615
- * page renders both movers with one component. Jobs are in-RAM (a restart
1616
- * forgets them re-running is safe by construction: copy-if-absent, delete
1617
- * after verify) and each completed/failed run also lands one durable ops-log
1618
- * row on the owning addon's surface.
1613
+ * One shape shared by the recorder and pipeline-analytics internal movers.
1614
+ * The public admin surface is `storage-migration`; child jobs remain in RAM
1615
+ * because copy-if-absent, verify, delete and index/row repoint are resumable.
1616
+ * Each completed/failed run also lands one durable ops-log row on its owning
1617
+ * addon surface.
1619
1618
  */
1620
1619
  var RelocateJobStateSchema = zod.z.enum([
1621
1620
  "running",
@@ -1642,20 +1641,102 @@ var RelocateJobSchema = zod.z.object({
1642
1641
  finishedAt: zod.z.number().nullable(),
1643
1642
  error: zod.z.string().nullable()
1644
1643
  });
1644
+ /** Profile-derived footage selection used only by the migration coordinator:
1645
+ * `recordings` owns high+mid; `recordingsLow` owns low. */
1646
+ var RelocateFootageClassSchema = zod.z.enum(["recordings", "recordingsLow"]);
1645
1647
  var RelocateFootageInputSchema = zod.z.object({
1646
- deviceId: zod.z.number().optional(),
1647
1648
  fromLocationId: zod.z.string(),
1648
1649
  toLocationId: zod.z.string(),
1649
1650
  entities: zod.z.array(zod.z.enum(["segments"])).optional(),
1651
+ /** Limits relocation to the logical profile class. Omit only for the
1652
+ * pre-orchestration compatibility path. */
1653
+ footageClass: RelocateFootageClassSchema.optional(),
1650
1654
  /** Copy throttle in MB/s (default 40) — the drain is a background chore,
1651
1655
  * never allowed to starve live writers. */
1652
1656
  throttleMbps: zod.z.number().min(1).max(1e3).optional()
1653
1657
  });
1658
+ /** Internal, lease-scoped participant operation. It is intentionally separate
1659
+ * from persistent recording settings: a migration never changes
1660
+ * `RecordingConfig.enabled` or camera wrapper bindings. */
1661
+ var StorageMigrationLeaseInputSchema = zod.z.object({ leaseId: zod.z.string().min(1) });
1662
+ var StorageMigrationFootageMoveInputSchema = RelocateFootageInputSchema.extend({ leaseId: zod.z.string().min(1) });
1654
1663
  var RelocateMediaInputSchema = zod.z.object({
1655
- deviceId: zod.z.number().optional(),
1656
1664
  toLocationId: zod.z.string(),
1657
1665
  throttleMbps: zod.z.number().min(1).max(1e3).optional()
1658
1666
  });
1667
+ var StorageMigrationMediaMoveInputSchema = RelocateMediaInputSchema.extend({ leaseId: zod.z.string().min(1) });
1668
+ /** The independently selectable logical storage classes. `recordings`
1669
+ * encompasses the high and mid segment profiles; `recordingsLow` is low
1670
+ * segments; `eventMedia` is post-analysis blobs. */
1671
+ var StorageMigrationClassSchema = zod.z.enum([
1672
+ "recordings",
1673
+ "recordingsLow",
1674
+ "eventMedia"
1675
+ ]);
1676
+ /** A destination is always an existing, fully-qualified location id. The
1677
+ * migration API intentionally never changes a source location's `basePath`:
1678
+ * callers create a new `<type>:<slug>` location, then select it here. */
1679
+ var StorageMigrationDestinationsSchema = zod.z.object({
1680
+ recordings: zod.z.string().min(1).optional(),
1681
+ recordingsLow: zod.z.string().min(1).optional(),
1682
+ eventMedia: zod.z.string().min(1).optional()
1683
+ }).refine((value) => Object.keys(value).length > 0, { message: "select at least one storage class" });
1684
+ /** Shared input for planning and starting an orchestrated storage migration. */
1685
+ var StorageMigrationInputSchema = zod.z.object({
1686
+ destinations: StorageMigrationDestinationsSchema,
1687
+ throttleMbps: zod.z.number().min(1).max(1e3).optional()
1688
+ });
1689
+ /** The durable coordinator state machine. The only phase that changes default
1690
+ * locations is `repointing`, after every selected mover has completed and been
1691
+ * verified. */
1692
+ var StorageMigrationPhaseSchema = zod.z.enum([
1693
+ "planning",
1694
+ "pausing",
1695
+ "moving",
1696
+ "verifying",
1697
+ "repointing",
1698
+ "refreshing",
1699
+ "resuming",
1700
+ "done",
1701
+ "failed",
1702
+ "cancelled"
1703
+ ]);
1704
+ var StorageMigrationParticipantSchema = zod.z.enum([
1705
+ "pipeline",
1706
+ "recorder",
1707
+ "analytics"
1708
+ ]);
1709
+ var StorageMigrationMoveSchema = zod.z.object({
1710
+ storageClass: StorageMigrationClassSchema,
1711
+ fromLocationId: zod.z.string(),
1712
+ toLocationId: zod.z.string(),
1713
+ moverJobId: zod.z.string().nullable(),
1714
+ state: RelocateJobStateSchema.nullable(),
1715
+ error: zod.z.string().nullable()
1716
+ });
1717
+ var StorageMigrationJobSchema = zod.z.object({
1718
+ jobId: zod.z.string(),
1719
+ phase: StorageMigrationPhaseSchema,
1720
+ destinations: StorageMigrationDestinationsSchema,
1721
+ throttleMbps: zod.z.number(),
1722
+ moves: zod.z.array(StorageMigrationMoveSchema),
1723
+ pauseLeaseId: zod.z.string().nullable(),
1724
+ pausedParticipants: zod.z.array(StorageMigrationParticipantSchema),
1725
+ repointed: zod.z.boolean(),
1726
+ cancelRequested: zod.z.boolean(),
1727
+ startedAt: zod.z.number(),
1728
+ updatedAt: zod.z.number(),
1729
+ finishedAt: zod.z.number().nullable(),
1730
+ error: zod.z.string().nullable()
1731
+ });
1732
+ var StorageMigrationPlanSchema = zod.z.object({
1733
+ destinations: StorageMigrationDestinationsSchema,
1734
+ moves: zod.z.array(zod.z.object({
1735
+ storageClass: StorageMigrationClassSchema,
1736
+ fromLocationId: zod.z.string(),
1737
+ toLocationId: zod.z.string()
1738
+ }))
1739
+ });
1659
1740
  //#endregion
1660
1741
  //#region src/interfaces/server-analysis.ts
1661
1742
  var SUB_DETECTION_TYPES = ["face", "plate"];
@@ -14575,20 +14656,28 @@ var pipelineAnalyticsCapability = {
14575
14656
  }),
14576
14657
  /** The events ops-log rows (newest-first), optionally scoped to one camera.
14577
14658
  * Backed by a declared pipeline-analytics SQLite collection. */
14578
- /**
14579
- * Move event-media blobs onto `toLocationId` (entity-routing spec Phase
14580
- * 4): per-row copy → stamp row.locationId delete old blob. Rows already
14581
- * at the target are skipped, so a re-run resumes. Single-flight.
14582
- */
14583
- relocateMedia: require_sleep.method(RelocateMediaInputSchema, zod.z.object({ jobId: zod.z.string() }), {
14659
+ /** Internal migration-participant lease. It drains active MediaStore
14660
+ * writes and refuses new ones without changing analytics bindings. */
14661
+ pauseForStorageMigration: require_sleep.method(StorageMigrationLeaseInputSchema, zod.z.object({ paused: zod.z.literal(true) }), {
14584
14662
  kind: "mutation",
14585
14663
  auth: "admin"
14586
14664
  }),
14587
- getMediaRelocateStatus: require_sleep.method(zod.z.object({}), zod.z.array(RelocateJobSchema).readonly(), {
14588
- kind: "query",
14665
+ resumeForStorageMigration: require_sleep.method(StorageMigrationLeaseInputSchema, zod.z.object({ resumed: zod.z.literal(true) }), {
14666
+ kind: "mutation",
14667
+ auth: "admin"
14668
+ }),
14669
+ /** Drops cached location roots after the storage coordinator repoints a
14670
+ * default so future event-media writes use the new root. */
14671
+ refreshStorageLocationsForMigration: require_sleep.method(StorageMigrationLeaseInputSchema, zod.z.object({ refreshed: zod.z.literal(true) }), {
14672
+ kind: "mutation",
14673
+ auth: "admin"
14674
+ }),
14675
+ startStorageMigrationMove: require_sleep.method(StorageMigrationMediaMoveInputSchema, zod.z.object({ jobId: zod.z.string() }), {
14676
+ kind: "mutation",
14589
14677
  auth: "admin"
14590
14678
  }),
14591
- cancelMediaRelocate: require_sleep.method(zod.z.object({ jobId: zod.z.string() }), zod.z.object({ cancelled: zod.z.boolean() }), {
14679
+ getStorageMigrationMoveStatus: require_sleep.method(zod.z.object({ jobId: zod.z.string() }), RelocateJobSchema.nullable(), { auth: "admin" }),
14680
+ cancelStorageMigrationMove: require_sleep.method(zod.z.object({ jobId: zod.z.string() }), zod.z.object({ cancelled: zod.z.boolean() }), {
14592
14681
  kind: "mutation",
14593
14682
  auth: "admin"
14594
14683
  }),
@@ -16816,6 +16905,16 @@ var pipelineOrchestratorCapability = {
16816
16905
  nodeIdMode: "data",
16817
16906
  exposesDeviceSettings: true,
16818
16907
  methods: {
16908
+ /** Internal storage-migration participant lease. While held, dispatch
16909
+ * requests are accepted as pending but no new runner attachment starts. */
16910
+ pauseForStorageMigration: require_sleep.method(StorageMigrationLeaseInputSchema, zod.z.object({ paused: zod.z.literal(true) }), {
16911
+ kind: "mutation",
16912
+ auth: "admin"
16913
+ }),
16914
+ resumeForStorageMigration: require_sleep.method(StorageMigrationLeaseInputSchema, zod.z.object({ resumed: zod.z.literal(true) }), {
16915
+ kind: "mutation",
16916
+ auth: "admin"
16917
+ }),
16819
16918
  /**
16820
16919
  * Pin a camera's pipeline to a specific agent (L1 affinity).
16821
16920
  * The orchestrator re-evaluates the assignment immediately and persists
@@ -18028,6 +18127,30 @@ var storageEvictableCapability = {
18028
18127
  }
18029
18128
  };
18030
18129
  //#endregion
18130
+ //#region src/capabilities/storage-migration.cap.ts
18131
+ /**
18132
+ * The single operator-facing storage migration surface. It coordinates the
18133
+ * pipeline, recorder and post-analysis participants; callers never mutate a
18134
+ * camera recording config or invoke an individual mover directly.
18135
+ */
18136
+ var storageMigrationCapability = {
18137
+ name: "storage-migration",
18138
+ scope: "system",
18139
+ mode: "singleton",
18140
+ methods: {
18141
+ plan: require_sleep.method(StorageMigrationInputSchema, StorageMigrationPlanSchema, { auth: "admin" }),
18142
+ start: require_sleep.method(StorageMigrationInputSchema, zod.z.object({ jobId: zod.z.string() }), {
18143
+ kind: "mutation",
18144
+ auth: "admin"
18145
+ }),
18146
+ status: require_sleep.method(zod.z.object({ jobId: zod.z.string().optional() }), StorageMigrationJobSchema.nullable(), { auth: "admin" }),
18147
+ cancel: require_sleep.method(zod.z.object({ jobId: zod.z.string() }), zod.z.object({ cancelled: zod.z.boolean() }), {
18148
+ kind: "mutation",
18149
+ auth: "admin"
18150
+ })
18151
+ }
18152
+ };
18153
+ //#endregion
18031
18154
  //#region src/capabilities/storage-provider.cap.ts
18032
18155
  var ProviderInfoSchema = zod.z.discriminatedUnion("shouldSaveDiskSpace", [zod.z.object({
18033
18156
  providerId: zod.z.string().min(1),
@@ -18179,6 +18302,28 @@ var TerminalProfileInfoSchema = zod.z.object({
18179
18302
  label: zod.z.string(),
18180
18303
  description: zod.z.string().optional()
18181
18304
  });
18305
+ /**
18306
+ * A durable operator-created Terminal instance. Profiles are templates; only
18307
+ * an instance declares a camera.
18308
+ */
18309
+ var TerminalInstanceInfoSchema = zod.z.object({
18310
+ instanceId: zod.z.string(),
18311
+ cameraStableId: zod.z.string(),
18312
+ nodeId: zod.z.string(),
18313
+ profileId: zod.z.string(),
18314
+ profileLabel: zod.z.string(),
18315
+ name: zod.z.string(),
18316
+ enabled: zod.z.boolean()
18317
+ });
18318
+ var TerminalLegacyCameraSchema = zod.z.object({
18319
+ stableId: zod.z.string(),
18320
+ nodeId: zod.z.string(),
18321
+ profileId: zod.z.string(),
18322
+ profileLabel: zod.z.string(),
18323
+ name: zod.z.string(),
18324
+ /** Only legacy monitor cameras can retain their historic stable identity. */
18325
+ adoptable: zod.z.boolean()
18326
+ });
18182
18327
  var TerminalOutputEventSchema = zod.z.discriminatedUnion("kind", [zod.z.object({
18183
18328
  seq: zod.z.number().int().positive(),
18184
18329
  kind: zod.z.literal("data"),
@@ -18198,10 +18343,9 @@ var TerminalOutputBatchSchema = zod.z.object({
18198
18343
  /**
18199
18344
  * terminal-session — singleton system capability for interactive TTY sessions.
18200
18345
  *
18201
- * Phase 1 (this cap): open/resize/close/list a pty running an allowlisted
18202
- * profile, streamed to xterm.js over the data plane. Phase 2 (streaming a
18203
- * session as a camera) is a separate device-provider concern and does not
18204
- * change this contract.
18346
+ * Owns both live PTY lifecycle and durable Terminal instance management.
18347
+ * Profiles are allowlisted templates; an explicit instance is the only path
18348
+ * that declares a camera.
18205
18349
  */
18206
18350
  var terminalSessionCapability = {
18207
18351
  name: "terminal-session",
@@ -18210,6 +18354,37 @@ var terminalSessionCapability = {
18210
18354
  methods: {
18211
18355
  /** Pre-declared profiles the operator may open. */
18212
18356
  listProfiles: require_sleep.method(zod.z.void(), zod.z.array(TerminalProfileInfoSchema).readonly(), { auth: "admin" }),
18357
+ /** Explicit durable Terminal instances, managed centrally on the hub. */
18358
+ listInstances: require_sleep.method(zod.z.void(), zod.z.array(TerminalInstanceInfoSchema).readonly(), { auth: "admin" }),
18359
+ createInstance: require_sleep.method(zod.z.object({
18360
+ targetNodeId: zod.z.string().min(1),
18361
+ profileId: zod.z.string().min(1),
18362
+ name: zod.z.string().trim().min(1).max(160).optional()
18363
+ }), TerminalInstanceInfoSchema, {
18364
+ kind: "mutation",
18365
+ auth: "admin"
18366
+ }),
18367
+ deleteInstance: require_sleep.method(zod.z.object({ instanceId: zod.z.string().min(1) }), zod.z.void(), {
18368
+ kind: "mutation",
18369
+ auth: "admin"
18370
+ }),
18371
+ setInstanceEnabled: require_sleep.method(zod.z.object({
18372
+ instanceId: zod.z.string().min(1),
18373
+ enabled: zod.z.boolean()
18374
+ }), TerminalInstanceInfoSchema, {
18375
+ kind: "mutation",
18376
+ auth: "admin"
18377
+ }),
18378
+ /** Existing automatic cameras are shown for explicit migration only. */
18379
+ listLegacyCameras: require_sleep.method(zod.z.void(), zod.z.array(TerminalLegacyCameraSchema).readonly(), { auth: "admin" }),
18380
+ /** Explicitly adopt one legacy monitor camera, retaining its stable id. */
18381
+ adoptLegacyMonitor: require_sleep.method(zod.z.object({
18382
+ stableId: zod.z.string().min(1),
18383
+ name: zod.z.string().trim().min(1).max(160).optional()
18384
+ }), TerminalInstanceInfoSchema, {
18385
+ kind: "mutation",
18386
+ auth: "admin"
18387
+ }),
18213
18388
  /** Live sessions currently hosted by the provider. */
18214
18389
  listSessions: require_sleep.method(zod.z.void(), zod.z.array(TerminalSessionInfoSchema).readonly(), { auth: "admin" }),
18215
18390
  /**
@@ -18241,7 +18416,13 @@ var terminalSessionCapability = {
18241
18416
  pullOutput: require_sleep.method(zod.z.object({
18242
18417
  sessionId: zod.z.string(),
18243
18418
  afterSeq: zod.z.number().int().nonnegative(),
18244
- waitMs: zod.z.number().int().min(0).max(2e3).default(0)
18419
+ waitMs: zod.z.number().int().min(0).max(2e3).default(0),
18420
+ /**
18421
+ * Wait when a just-opened session has no output yet. Kept opt-in so a
18422
+ * browser's initial repaint remains immediate; the camera snapshot
18423
+ * relay uses it to avoid encoding a blank startup frame.
18424
+ */
18425
+ waitForOutput: zod.z.boolean().optional()
18245
18426
  }), TerminalOutputBatchSchema, {
18246
18427
  kind: "mutation",
18247
18428
  auth: "admin",
@@ -25532,12 +25713,6 @@ var recordingCapability = {
25532
25713
  auth: "admin"
25533
25714
  }),
25534
25715
  /**
25535
- * Move footage (recorded segments) from one recordings location to
25536
- * another — the drain workflow's mover (entity-routing spec Phase 4).
25537
- * Throttled copy → size-verify → delete source → index refresh; resumable
25538
- * by construction (copy-if-absent). Single-flight: one job at a time.
25539
- */
25540
- /**
25541
25716
  * Render a short GIF from recorded footage around `aroundMs` (low profile,
25542
25717
  * palette-free ffmpeg gif). Synchronous — the window is a few seconds of
25543
25718
  * `low`, rendering in ~1-2s. Built for notification attachments: the
@@ -25589,16 +25764,28 @@ var recordingCapability = {
25589
25764
  kind: "mutation",
25590
25765
  auth: "admin"
25591
25766
  }),
25592
- relocateFootage: require_sleep.method(RelocateFootageInputSchema, zod.z.object({ jobId: zod.z.string() }), {
25767
+ /** Internal migration-participant lease. Blocks new recorder attaches and
25768
+ * waits for writers to exit while their watchers index final segments. */
25769
+ pauseForStorageMigration: require_sleep.method(StorageMigrationLeaseInputSchema, zod.z.object({ paused: zod.z.literal(true) }), {
25593
25770
  kind: "mutation",
25594
25771
  auth: "admin"
25595
25772
  }),
25596
- /** Every known relocate job (in-RAM, newest-first). */
25597
- getRelocateStatus: require_sleep.method(zod.z.object({}), zod.z.array(RelocateJobSchema).readonly(), {
25598
- kind: "query",
25773
+ resumeForStorageMigration: require_sleep.method(StorageMigrationLeaseInputSchema, zod.z.object({ resumed: zod.z.literal(true) }), {
25774
+ kind: "mutation",
25775
+ auth: "admin"
25776
+ }),
25777
+ /** Re-resolve location roots after the coordinator changes defaults. */
25778
+ refreshStorageLocationsForMigration: require_sleep.method(StorageMigrationLeaseInputSchema, zod.z.object({ refreshed: zod.z.literal(true) }), {
25779
+ kind: "mutation",
25780
+ auth: "admin"
25781
+ }),
25782
+ /** Internal mover, callable only by the storage-migration coordinator. */
25783
+ startStorageMigrationMove: require_sleep.method(StorageMigrationFootageMoveInputSchema, zod.z.object({ jobId: zod.z.string() }), {
25784
+ kind: "mutation",
25599
25785
  auth: "admin"
25600
25786
  }),
25601
- cancelRelocate: require_sleep.method(zod.z.object({ jobId: zod.z.string() }), zod.z.object({ cancelled: zod.z.boolean() }), {
25787
+ getStorageMigrationMoveStatus: require_sleep.method(zod.z.object({ jobId: zod.z.string() }), RelocateJobSchema.nullable(), { auth: "admin" }),
25788
+ cancelStorageMigrationMove: require_sleep.method(zod.z.object({ jobId: zod.z.string() }), zod.z.object({ cancelled: zod.z.boolean() }), {
25602
25789
  kind: "mutation",
25603
25790
  auth: "admin"
25604
25791
  })
@@ -30561,6 +30748,7 @@ var CAPABILITY_NAMES = {
30561
30748
  ssoBridge: "sso-bridge",
30562
30749
  storage: "storage",
30563
30750
  storageEvictable: "storage-evictable",
30751
+ storageMigration: "storage-migration",
30564
30752
  storageProvider: "storage-provider",
30565
30753
  streamBroker: "stream-broker",
30566
30754
  streamCatalog: "stream-catalog",
@@ -31078,6 +31266,10 @@ var CAPABILITY_ROUTER_KEYS = [
31078
31266
  key: "storageEvictable",
31079
31267
  name: "storage-evictable"
31080
31268
  },
31269
+ {
31270
+ key: "storageMigration",
31271
+ name: "storage-migration"
31272
+ },
31081
31273
  {
31082
31274
  key: "storageProvider",
31083
31275
  name: "storage-provider"
@@ -31315,6 +31507,7 @@ var ALL_CAPABILITY_DEFINITIONS = [
31315
31507
  ssoBridgeCapability,
31316
31508
  storageCapability,
31317
31509
  storageEvictableCapability,
31510
+ storageMigrationCapability,
31318
31511
  storageProviderCapability,
31319
31512
  streamBrokerCapability,
31320
31513
  streamCatalogCapability,
@@ -34345,7 +34538,7 @@ var METHOD_ACCESS_MAP = Object.freeze({
34345
34538
  addonId: null,
34346
34539
  access: "create"
34347
34540
  },
34348
- "pipelineAnalytics.cancelMediaRelocate": {
34541
+ "pipelineAnalytics.cancelStorageMigrationMove": {
34349
34542
  capName: "pipeline-analytics",
34350
34543
  capScope: "device",
34351
34544
  addonId: null,
@@ -34417,12 +34610,6 @@ var METHOD_ACCESS_MAP = Object.freeze({
34417
34610
  addonId: null,
34418
34611
  access: "view"
34419
34612
  },
34420
- "pipelineAnalytics.getMediaRelocateStatus": {
34421
- capName: "pipeline-analytics",
34422
- capScope: "device",
34423
- addonId: null,
34424
- access: "view"
34425
- },
34426
34613
  "pipelineAnalytics.getMotionEvents": {
34427
34614
  capName: "pipeline-analytics",
34428
34615
  capScope: "device",
@@ -34459,6 +34646,12 @@ var METHOD_ACCESS_MAP = Object.freeze({
34459
34646
  addonId: null,
34460
34647
  access: "view"
34461
34648
  },
34649
+ "pipelineAnalytics.getStorageMigrationMoveStatus": {
34650
+ capName: "pipeline-analytics",
34651
+ capScope: "device",
34652
+ addonId: null,
34653
+ access: "view"
34654
+ },
34462
34655
  "pipelineAnalytics.getTrack": {
34463
34656
  capName: "pipeline-analytics",
34464
34657
  capScope: "device",
@@ -34537,6 +34730,12 @@ var METHOD_ACCESS_MAP = Object.freeze({
34537
34730
  addonId: null,
34538
34731
  access: "view"
34539
34732
  },
34733
+ "pipelineAnalytics.pauseForStorageMigration": {
34734
+ capName: "pipeline-analytics",
34735
+ capScope: "device",
34736
+ addonId: null,
34737
+ access: "create"
34738
+ },
34540
34739
  "pipelineAnalytics.proposeRetrainAnnotations": {
34541
34740
  capName: "pipeline-analytics",
34542
34741
  capScope: "device",
@@ -34567,7 +34766,7 @@ var METHOD_ACCESS_MAP = Object.freeze({
34567
34766
  addonId: null,
34568
34767
  access: "create"
34569
34768
  },
34570
- "pipelineAnalytics.relocateMedia": {
34769
+ "pipelineAnalytics.refreshStorageLocationsForMigration": {
34571
34770
  capName: "pipeline-analytics",
34572
34771
  capScope: "device",
34573
34772
  addonId: null,
@@ -34579,6 +34778,12 @@ var METHOD_ACCESS_MAP = Object.freeze({
34579
34778
  addonId: null,
34580
34779
  access: "create"
34581
34780
  },
34781
+ "pipelineAnalytics.resumeForStorageMigration": {
34782
+ capName: "pipeline-analytics",
34783
+ capScope: "device",
34784
+ addonId: null,
34785
+ access: "create"
34786
+ },
34582
34787
  "pipelineAnalytics.saveRetrainAnnotations": {
34583
34788
  capName: "pipeline-analytics",
34584
34789
  capScope: "device",
@@ -34603,6 +34808,12 @@ var METHOD_ACCESS_MAP = Object.freeze({
34603
34808
  addonId: null,
34604
34809
  access: "create"
34605
34810
  },
34811
+ "pipelineAnalytics.startStorageMigrationMove": {
34812
+ capName: "pipeline-analytics",
34813
+ capScope: "device",
34814
+ addonId: null,
34815
+ access: "create"
34816
+ },
34606
34817
  "pipelineAnalytics.wipeAllAnalytics": {
34607
34818
  capName: "pipeline-analytics",
34608
34819
  capScope: "device",
@@ -34969,6 +35180,12 @@ var METHOD_ACCESS_MAP = Object.freeze({
34969
35180
  addonId: null,
34970
35181
  access: "view"
34971
35182
  },
35183
+ "pipelineOrchestrator.pauseForStorageMigration": {
35184
+ capName: "pipeline-orchestrator",
35185
+ capScope: "system",
35186
+ addonId: null,
35187
+ access: "create"
35188
+ },
34972
35189
  "pipelineOrchestrator.rebalance": {
34973
35190
  capName: "pipeline-orchestrator",
34974
35191
  capScope: "system",
@@ -34993,6 +35210,12 @@ var METHOD_ACCESS_MAP = Object.freeze({
34993
35210
  addonId: null,
34994
35211
  access: "view"
34995
35212
  },
35213
+ "pipelineOrchestrator.resumeForStorageMigration": {
35214
+ capName: "pipeline-orchestrator",
35215
+ capScope: "system",
35216
+ addonId: null,
35217
+ access: "create"
35218
+ },
34996
35219
  "pipelineOrchestrator.saveTemplate": {
34997
35220
  capName: "pipeline-orchestrator",
34998
35221
  capScope: "system",
@@ -35389,7 +35612,7 @@ var METHOD_ACCESS_MAP = Object.freeze({
35389
35612
  addonId: null,
35390
35613
  access: "create"
35391
35614
  },
35392
- "recording.cancelRelocate": {
35615
+ "recording.cancelStorageMigrationMove": {
35393
35616
  capName: "recording",
35394
35617
  capScope: "system",
35395
35618
  addonId: null,
@@ -35425,7 +35648,7 @@ var METHOD_ACCESS_MAP = Object.freeze({
35425
35648
  addonId: null,
35426
35649
  access: "view"
35427
35650
  },
35428
- "recording.getRelocateStatus": {
35651
+ "recording.getStorageMigrationMoveStatus": {
35429
35652
  capName: "recording",
35430
35653
  capScope: "system",
35431
35654
  addonId: null,
@@ -35449,6 +35672,12 @@ var METHOD_ACCESS_MAP = Object.freeze({
35449
35672
  addonId: null,
35450
35673
  access: "view"
35451
35674
  },
35675
+ "recording.pauseForStorageMigration": {
35676
+ capName: "recording",
35677
+ capScope: "system",
35678
+ addonId: null,
35679
+ access: "create"
35680
+ },
35452
35681
  "recording.pruneFootage": {
35453
35682
  capName: "recording",
35454
35683
  capScope: "system",
@@ -35467,7 +35696,7 @@ var METHOD_ACCESS_MAP = Object.freeze({
35467
35696
  addonId: null,
35468
35697
  access: "view"
35469
35698
  },
35470
- "recording.relocateFootage": {
35699
+ "recording.refreshStorageLocationsForMigration": {
35471
35700
  capName: "recording",
35472
35701
  capScope: "system",
35473
35702
  addonId: null,
@@ -35491,12 +35720,24 @@ var METHOD_ACCESS_MAP = Object.freeze({
35491
35720
  addonId: null,
35492
35721
  access: "create"
35493
35722
  },
35723
+ "recording.resumeForStorageMigration": {
35724
+ capName: "recording",
35725
+ capScope: "system",
35726
+ addonId: null,
35727
+ access: "create"
35728
+ },
35494
35729
  "recording.setDeviceConfig": {
35495
35730
  capName: "recording",
35496
35731
  capScope: "system",
35497
35732
  addonId: null,
35498
35733
  access: "create"
35499
35734
  },
35735
+ "recording.startStorageMigrationMove": {
35736
+ capName: "recording",
35737
+ capScope: "system",
35738
+ addonId: null,
35739
+ access: "create"
35740
+ },
35500
35741
  "recordingExport.cancelExport": {
35501
35742
  capName: "recordingExport",
35502
35743
  capScope: "system",
@@ -35887,6 +36128,30 @@ var METHOD_ACCESS_MAP = Object.freeze({
35887
36128
  addonId: null,
35888
36129
  access: "view"
35889
36130
  },
36131
+ "storageMigration.cancel": {
36132
+ capName: "storage-migration",
36133
+ capScope: "system",
36134
+ addonId: null,
36135
+ access: "create"
36136
+ },
36137
+ "storageMigration.plan": {
36138
+ capName: "storage-migration",
36139
+ capScope: "system",
36140
+ addonId: null,
36141
+ access: "view"
36142
+ },
36143
+ "storageMigration.start": {
36144
+ capName: "storage-migration",
36145
+ capScope: "system",
36146
+ addonId: null,
36147
+ access: "create"
36148
+ },
36149
+ "storageMigration.status": {
36150
+ capName: "storage-migration",
36151
+ capScope: "system",
36152
+ addonId: null,
36153
+ access: "view"
36154
+ },
35890
36155
  "storageProvider.abortUpload": {
35891
36156
  capName: "storage-provider",
35892
36157
  capScope: "system",
@@ -36265,12 +36530,42 @@ var METHOD_ACCESS_MAP = Object.freeze({
36265
36530
  addonId: null,
36266
36531
  access: "create"
36267
36532
  },
36533
+ "terminalSession.adoptLegacyMonitor": {
36534
+ capName: "terminal-session",
36535
+ capScope: "system",
36536
+ addonId: null,
36537
+ access: "create"
36538
+ },
36268
36539
  "terminalSession.close": {
36269
36540
  capName: "terminal-session",
36270
36541
  capScope: "system",
36271
36542
  addonId: null,
36272
36543
  access: "create"
36273
36544
  },
36545
+ "terminalSession.createInstance": {
36546
+ capName: "terminal-session",
36547
+ capScope: "system",
36548
+ addonId: null,
36549
+ access: "create"
36550
+ },
36551
+ "terminalSession.deleteInstance": {
36552
+ capName: "terminal-session",
36553
+ capScope: "system",
36554
+ addonId: null,
36555
+ access: "delete"
36556
+ },
36557
+ "terminalSession.listInstances": {
36558
+ capName: "terminal-session",
36559
+ capScope: "system",
36560
+ addonId: null,
36561
+ access: "view"
36562
+ },
36563
+ "terminalSession.listLegacyCameras": {
36564
+ capName: "terminal-session",
36565
+ capScope: "system",
36566
+ addonId: null,
36567
+ access: "view"
36568
+ },
36274
36569
  "terminalSession.listProfiles": {
36275
36570
  capName: "terminal-session",
36276
36571
  capScope: "system",
@@ -36301,6 +36596,12 @@ var METHOD_ACCESS_MAP = Object.freeze({
36301
36596
  addonId: null,
36302
36597
  access: "create"
36303
36598
  },
36599
+ "terminalSession.setInstanceEnabled": {
36600
+ capName: "terminal-session",
36601
+ capScope: "system",
36602
+ addonId: null,
36603
+ access: "create"
36604
+ },
36304
36605
  "terminalSession.writeInput": {
36305
36606
  capName: "terminal-session",
36306
36607
  capScope: "system",
@@ -36902,6 +37203,7 @@ var KNOWN_CAP_NAMES = [
36902
37203
  "sso-bridge",
36903
37204
  "storage",
36904
37205
  "storage-evictable",
37206
+ "storage-migration",
36905
37207
  "storage-provider",
36906
37208
  "stream-broker",
36907
37209
  "stream-catalog",
@@ -37042,6 +37344,7 @@ var SYSTEM_CAP_NAMES = [
37042
37344
  "sso-bridge",
37043
37345
  "storage",
37044
37346
  "storage-evictable",
37347
+ "storage-migration",
37045
37348
  "storage-provider",
37046
37349
  "stream-broker",
37047
37350
  "system",
@@ -37535,6 +37838,8 @@ function createSystemProxy(api) {
37535
37838
  getDetectionConfigSchema: (input) => dispatch("pipelineExecutor", "getDetectionConfigSchema", "query", input)
37536
37839
  },
37537
37840
  pipelineOrchestrator: {
37841
+ pauseForStorageMigration: (input) => dispatch("pipelineOrchestrator", "pauseForStorageMigration", "mutation", input),
37842
+ resumeForStorageMigration: (input) => dispatch("pipelineOrchestrator", "resumeForStorageMigration", "mutation", input),
37538
37843
  rebalance: (input) => dispatch("pipelineOrchestrator", "rebalance", "mutation", input),
37539
37844
  getPipelineAssignments: (input) => dispatch("pipelineOrchestrator", "getPipelineAssignments", "query", input),
37540
37845
  getAgentLoad: (input) => dispatch("pipelineOrchestrator", "getAgentLoad", "query", input),
@@ -37589,9 +37894,12 @@ function createSystemProxy(api) {
37589
37894
  recording: {
37590
37895
  getStorageUsage: (input) => dispatch("recording", "getStorageUsage", "query", input),
37591
37896
  listOpsLog: (input) => dispatch("recording", "listOpsLog", "query", input),
37592
- relocateFootage: (input) => dispatch("recording", "relocateFootage", "mutation", input),
37593
- getRelocateStatus: (input) => dispatch("recording", "getRelocateStatus", "query", input),
37594
- cancelRelocate: (input) => dispatch("recording", "cancelRelocate", "mutation", input)
37897
+ pauseForStorageMigration: (input) => dispatch("recording", "pauseForStorageMigration", "mutation", input),
37898
+ resumeForStorageMigration: (input) => dispatch("recording", "resumeForStorageMigration", "mutation", input),
37899
+ refreshStorageLocationsForMigration: (input) => dispatch("recording", "refreshStorageLocationsForMigration", "mutation", input),
37900
+ startStorageMigrationMove: (input) => dispatch("recording", "startStorageMigrationMove", "mutation", input),
37901
+ getStorageMigrationMoveStatus: (input) => dispatch("recording", "getStorageMigrationMoveStatus", "query", input),
37902
+ cancelStorageMigrationMove: (input) => dispatch("recording", "cancelStorageMigrationMove", "mutation", input)
37595
37903
  },
37596
37904
  recordingExport: {
37597
37905
  getExport: (input) => dispatch("recordingExport", "getExport", "query", input),
@@ -37644,6 +37952,12 @@ function createSystemProxy(api) {
37644
37952
  listProviders: (input) => dispatch("storage", "listProviders", "query", input),
37645
37953
  testConfig: (input) => dispatch("storage", "testConfig", "query", input)
37646
37954
  },
37955
+ storageMigration: {
37956
+ plan: (input) => dispatch("storageMigration", "plan", "query", input),
37957
+ start: (input) => dispatch("storageMigration", "start", "mutation", input),
37958
+ status: (input) => dispatch("storageMigration", "status", "query", input),
37959
+ cancel: (input) => dispatch("storageMigration", "cancel", "mutation", input)
37960
+ },
37647
37961
  streamBroker: {
37648
37962
  fetchEventMedia: (input) => dispatch("streamBroker", "fetchEventMedia", "mutation", input),
37649
37963
  listAllCameraStreams: (input) => dispatch("streamBroker", "listAllCameraStreams", "query", input),
@@ -37683,6 +37997,12 @@ function createSystemProxy(api) {
37683
37997
  },
37684
37998
  terminalSession: {
37685
37999
  listProfiles: (input) => dispatch("terminalSession", "listProfiles", "query", input),
38000
+ listInstances: (input) => dispatch("terminalSession", "listInstances", "query", input),
38001
+ createInstance: (input) => dispatch("terminalSession", "createInstance", "mutation", input),
38002
+ deleteInstance: (input) => dispatch("terminalSession", "deleteInstance", "mutation", input),
38003
+ setInstanceEnabled: (input) => dispatch("terminalSession", "setInstanceEnabled", "mutation", input),
38004
+ listLegacyCameras: (input) => dispatch("terminalSession", "listLegacyCameras", "query", input),
38005
+ adoptLegacyMonitor: (input) => dispatch("terminalSession", "adoptLegacyMonitor", "mutation", input),
37686
38006
  listSessions: (input) => dispatch("terminalSession", "listSessions", "query", input),
37687
38007
  openSession: (input) => dispatch("terminalSession", "openSession", "mutation", input),
37688
38008
  resize: (input) => dispatch("terminalSession", "resize", "mutation", input),
@@ -40570,6 +40890,7 @@ exports.RecordingStorageUsageSchema = RecordingStorageUsageSchema;
40570
40890
  exports.RecordingTriggersSchema = RecordingTriggersSchema;
40571
40891
  exports.RecordingWeekdaySchema = RecordingWeekdaySchema;
40572
40892
  exports.RedirectLoginMethodSchema = RedirectLoginMethodSchema;
40893
+ exports.RelocateFootageClassSchema = RelocateFootageClassSchema;
40573
40894
  exports.RelocateFootageInputSchema = RelocateFootageInputSchema;
40574
40895
  exports.RelocateJobSchema = RelocateJobSchema;
40575
40896
  exports.RelocateJobStateSchema = RelocateJobStateSchema;
@@ -40657,6 +40978,17 @@ exports.StorageLocationDeclarationSchema = StorageLocationDeclarationSchema;
40657
40978
  exports.StorageLocationRefSchema = StorageLocationRefSchema;
40658
40979
  exports.StorageLocationSchema = StorageLocationSchema;
40659
40980
  exports.StorageLocationTypeSchema = StorageLocationTypeSchema;
40981
+ exports.StorageMigrationClassSchema = StorageMigrationClassSchema;
40982
+ exports.StorageMigrationDestinationsSchema = StorageMigrationDestinationsSchema;
40983
+ exports.StorageMigrationFootageMoveInputSchema = StorageMigrationFootageMoveInputSchema;
40984
+ exports.StorageMigrationInputSchema = StorageMigrationInputSchema;
40985
+ exports.StorageMigrationJobSchema = StorageMigrationJobSchema;
40986
+ exports.StorageMigrationLeaseInputSchema = StorageMigrationLeaseInputSchema;
40987
+ exports.StorageMigrationMediaMoveInputSchema = StorageMigrationMediaMoveInputSchema;
40988
+ exports.StorageMigrationMoveSchema = StorageMigrationMoveSchema;
40989
+ exports.StorageMigrationParticipantSchema = StorageMigrationParticipantSchema;
40990
+ exports.StorageMigrationPhaseSchema = StorageMigrationPhaseSchema;
40991
+ exports.StorageMigrationPlanSchema = StorageMigrationPlanSchema;
40660
40992
  exports.StorageProviderInfoSchema = ProviderInfoSchema;
40661
40993
  exports.StorageReadChunkInputSchema = ReadChunkInputSchema;
40662
40994
  exports.StorageTestLocationResultSchema = TestLocationResultSchema;
@@ -40690,6 +41022,8 @@ exports.TargetKindLevelSchema = TargetKindLevelSchema;
40690
41022
  exports.TargetKindSchema = TargetKindSchema;
40691
41023
  exports.TargetSchema = TargetSchema;
40692
41024
  exports.TemperatureSensorStatusSchema = TemperatureSensorStatusSchema;
41025
+ exports.TerminalInstanceInfoSchema = TerminalInstanceInfoSchema;
41026
+ exports.TerminalLegacyCameraSchema = TerminalLegacyCameraSchema;
40693
41027
  exports.TerminalOutputBatchSchema = TerminalOutputBatchSchema;
40694
41028
  exports.TerminalOutputEventSchema = TerminalOutputEventSchema;
40695
41029
  exports.TerminalProfileInfoSchema = TerminalProfileInfoSchema;
@@ -41075,6 +41409,7 @@ exports.startReachabilityPoll = startReachabilityPoll;
41075
41409
  exports.stateVocabularyFor = stateVocabularyFor;
41076
41410
  exports.storageCapability = storageCapability;
41077
41411
  exports.storageEvictableCapability = storageEvictableCapability;
41412
+ exports.storageMigrationCapability = storageMigrationCapability;
41078
41413
  exports.storageProviderCapability = storageProviderCapability;
41079
41414
  exports.streamBrokerCapability = streamBrokerCapability;
41080
41415
  exports.streamCatalogCapability = streamCatalogCapability;