@camstack/addon-matter-broker 0.2.10 → 0.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/addon.js +357 -30
  2. package/dist/addon.mjs +357 -30
  3. package/package.json +1 -1
package/dist/addon.js CHANGED
@@ -7579,12 +7579,11 @@ var RecordingConfigSchema = object({
7579
7579
  /**
7580
7580
  * Entity-relocation job state (storage entity-routing spec, Phase 4).
7581
7581
  *
7582
- * One shape shared by the recorder's `relocateFootage` (segments) and
7583
- * pipeline-analytics' `relocateMedia` (event media blobs) so the admin Data
7584
- * page renders both movers with one component. Jobs are in-RAM (a restart
7585
- * forgets them — re-running is safe by construction: copy-if-absent, delete
7586
- * after verify) and each completed/failed run also lands one durable ops-log
7587
- * row on the owning addon's surface.
7582
+ * One shape shared by the recorder and pipeline-analytics internal movers.
7583
+ * The public admin surface is `storage-migration`; child jobs remain in RAM
7584
+ * because copy-if-absent, verify, delete and index/row repoint are resumable.
7585
+ * Each completed/failed run also lands one durable ops-log row on its owning
7586
+ * addon surface.
7588
7587
  */
7589
7588
  var RelocateJobStateSchema = _enum([
7590
7589
  "running",
@@ -7611,19 +7610,100 @@ var RelocateJobSchema = object({
7611
7610
  finishedAt: number().nullable(),
7612
7611
  error: string$2().nullable()
7613
7612
  });
7613
+ /** Profile-derived footage selection used only by the migration coordinator:
7614
+ * `recordings` owns high+mid; `recordingsLow` owns low. */
7615
+ var RelocateFootageClassSchema = _enum(["recordings", "recordingsLow"]);
7614
7616
  var RelocateFootageInputSchema = object({
7615
- deviceId: number().optional(),
7616
7617
  fromLocationId: string$2(),
7617
7618
  toLocationId: string$2(),
7618
7619
  entities: array(_enum(["segments"])).optional(),
7620
+ /** Limits relocation to the logical profile class. Omit only for the
7621
+ * pre-orchestration compatibility path. */
7622
+ footageClass: RelocateFootageClassSchema.optional(),
7619
7623
  /** Copy throttle in MB/s (default 40) — the drain is a background chore,
7620
7624
  * never allowed to starve live writers. */
7621
7625
  throttleMbps: number().min(1).max(1e3).optional()
7622
7626
  });
7623
- var RelocateMediaInputSchema = object({
7624
- deviceId: number().optional(),
7627
+ /** Internal, lease-scoped participant operation. It is intentionally separate
7628
+ * from persistent recording settings: a migration never changes
7629
+ * `RecordingConfig.enabled` or camera wrapper bindings. */
7630
+ var StorageMigrationLeaseInputSchema = object({ leaseId: string$2().min(1) });
7631
+ var StorageMigrationFootageMoveInputSchema = RelocateFootageInputSchema.extend({ leaseId: string$2().min(1) });
7632
+ var StorageMigrationMediaMoveInputSchema = object({
7625
7633
  toLocationId: string$2(),
7626
7634
  throttleMbps: number().min(1).max(1e3).optional()
7635
+ }).extend({ leaseId: string$2().min(1) });
7636
+ /** The independently selectable logical storage classes. `recordings`
7637
+ * encompasses the high and mid segment profiles; `recordingsLow` is low
7638
+ * segments; `eventMedia` is post-analysis blobs. */
7639
+ var StorageMigrationClassSchema = _enum([
7640
+ "recordings",
7641
+ "recordingsLow",
7642
+ "eventMedia"
7643
+ ]);
7644
+ /** A destination is always an existing, fully-qualified location id. The
7645
+ * migration API intentionally never changes a source location's `basePath`:
7646
+ * callers create a new `<type>:<slug>` location, then select it here. */
7647
+ var StorageMigrationDestinationsSchema = object({
7648
+ recordings: string$2().min(1).optional(),
7649
+ recordingsLow: string$2().min(1).optional(),
7650
+ eventMedia: string$2().min(1).optional()
7651
+ }).refine((value) => Object.keys(value).length > 0, { message: "select at least one storage class" });
7652
+ /** Shared input for planning and starting an orchestrated storage migration. */
7653
+ var StorageMigrationInputSchema = object({
7654
+ destinations: StorageMigrationDestinationsSchema,
7655
+ throttleMbps: number().min(1).max(1e3).optional()
7656
+ });
7657
+ /** The durable coordinator state machine. The only phase that changes default
7658
+ * locations is `repointing`, after every selected mover has completed and been
7659
+ * verified. */
7660
+ var StorageMigrationPhaseSchema = _enum([
7661
+ "planning",
7662
+ "pausing",
7663
+ "moving",
7664
+ "verifying",
7665
+ "repointing",
7666
+ "refreshing",
7667
+ "resuming",
7668
+ "done",
7669
+ "failed",
7670
+ "cancelled"
7671
+ ]);
7672
+ var StorageMigrationParticipantSchema = _enum([
7673
+ "pipeline",
7674
+ "recorder",
7675
+ "analytics"
7676
+ ]);
7677
+ var StorageMigrationMoveSchema = object({
7678
+ storageClass: StorageMigrationClassSchema,
7679
+ fromLocationId: string$2(),
7680
+ toLocationId: string$2(),
7681
+ moverJobId: string$2().nullable(),
7682
+ state: RelocateJobStateSchema.nullable(),
7683
+ error: string$2().nullable()
7684
+ });
7685
+ var StorageMigrationJobSchema = object({
7686
+ jobId: string$2(),
7687
+ phase: StorageMigrationPhaseSchema,
7688
+ destinations: StorageMigrationDestinationsSchema,
7689
+ throttleMbps: number(),
7690
+ moves: array(StorageMigrationMoveSchema),
7691
+ pauseLeaseId: string$2().nullable(),
7692
+ pausedParticipants: array(StorageMigrationParticipantSchema),
7693
+ repointed: boolean(),
7694
+ cancelRequested: boolean(),
7695
+ startedAt: number(),
7696
+ updatedAt: number(),
7697
+ finishedAt: number().nullable(),
7698
+ error: string$2().nullable()
7699
+ });
7700
+ var StorageMigrationPlanSchema = object({
7701
+ destinations: StorageMigrationDestinationsSchema,
7702
+ moves: array(object({
7703
+ storageClass: StorageMigrationClassSchema,
7704
+ fromLocationId: string$2(),
7705
+ toLocationId: string$2()
7706
+ }))
7627
7707
  });
7628
7708
  /**
7629
7709
  * `StorageLocationType` — an addon-declared id that identifies the *kind* of
@@ -16343,13 +16423,19 @@ DeviceType.Camera, method(object({ deviceId: number() }), array(TrackSchema).rea
16343
16423
  }), method(object({ deviceId: number() }), EventPruneCountsSchema, {
16344
16424
  kind: "mutation",
16345
16425
  auth: "admin"
16346
- }), method(RelocateMediaInputSchema, object({ jobId: string$2() }), {
16426
+ }), method(StorageMigrationLeaseInputSchema, object({ paused: literal(true) }), {
16347
16427
  kind: "mutation",
16348
16428
  auth: "admin"
16349
- }), method(object({}), array(RelocateJobSchema).readonly(), {
16350
- kind: "query",
16429
+ }), method(StorageMigrationLeaseInputSchema, object({ resumed: literal(true) }), {
16430
+ kind: "mutation",
16351
16431
  auth: "admin"
16352
- }), method(object({ jobId: string$2() }), object({ cancelled: boolean() }), {
16432
+ }), method(StorageMigrationLeaseInputSchema, object({ refreshed: literal(true) }), {
16433
+ kind: "mutation",
16434
+ auth: "admin"
16435
+ }), method(StorageMigrationMediaMoveInputSchema, object({ jobId: string$2() }), {
16436
+ kind: "mutation",
16437
+ auth: "admin"
16438
+ }), method(object({ jobId: string$2() }), RelocateJobSchema.nullable(), { auth: "admin" }), method(object({ jobId: string$2() }), object({ cancelled: boolean() }), {
16353
16439
  kind: "mutation",
16354
16440
  auth: "admin"
16355
16441
  }), method(OpsLogQueryInputSchema, array(OpsLogEntrySchema).readonly(), {
@@ -17879,7 +17965,13 @@ var NodeInferenceDevicesSchema = object({
17879
17965
  reachable: boolean(),
17880
17966
  devices: array(NodeInferenceDeviceSchema).readonly()
17881
17967
  });
17882
- method(object({
17968
+ method(StorageMigrationLeaseInputSchema, object({ paused: literal(true) }), {
17969
+ kind: "mutation",
17970
+ auth: "admin"
17971
+ }), method(StorageMigrationLeaseInputSchema, object({ resumed: literal(true) }), {
17972
+ kind: "mutation",
17973
+ auth: "admin"
17974
+ }), method(object({
17883
17975
  deviceId: number(),
17884
17976
  agentNodeId: string$2()
17885
17977
  }), object({ success: literal(true) }), {
@@ -18553,6 +18645,13 @@ method(object({ locationId: string$2() }), EvictableUsageSchema), method(object(
18553
18645
  locationId: string$2(),
18554
18646
  targetBytes: number().int().positive()
18555
18647
  }), EvictResultSchema, { kind: "mutation" });
18648
+ method(StorageMigrationInputSchema, StorageMigrationPlanSchema, { auth: "admin" }), method(StorageMigrationInputSchema, object({ jobId: string$2() }), {
18649
+ kind: "mutation",
18650
+ auth: "admin"
18651
+ }), method(object({ jobId: string$2().optional() }), StorageMigrationJobSchema.nullable(), { auth: "admin" }), method(object({ jobId: string$2() }), object({ cancelled: boolean() }), {
18652
+ kind: "mutation",
18653
+ auth: "admin"
18654
+ });
18556
18655
  var ProviderInfoSchema = discriminatedUnion("shouldSaveDiskSpace", [object({
18557
18656
  providerId: string$2().min(1),
18558
18657
  displayName: string$2().min(1),
@@ -18656,7 +18755,67 @@ var TerminalProfileInfoSchema = object({
18656
18755
  label: string$2(),
18657
18756
  description: string$2().optional()
18658
18757
  });
18659
- method(_void(), array(TerminalProfileInfoSchema).readonly(), { auth: "admin" }), method(_void(), array(TerminalSessionInfoSchema).readonly(), { auth: "admin" }), method(object({
18758
+ /**
18759
+ * A durable operator-created Terminal instance. Profiles are templates; only
18760
+ * an instance declares a camera.
18761
+ */
18762
+ var TerminalInstanceInfoSchema = object({
18763
+ instanceId: string$2(),
18764
+ cameraStableId: string$2(),
18765
+ nodeId: string$2(),
18766
+ profileId: string$2(),
18767
+ profileLabel: string$2(),
18768
+ name: string$2(),
18769
+ enabled: boolean()
18770
+ });
18771
+ var TerminalLegacyCameraSchema = object({
18772
+ stableId: string$2(),
18773
+ nodeId: string$2(),
18774
+ profileId: string$2(),
18775
+ profileLabel: string$2(),
18776
+ name: string$2(),
18777
+ /** Only legacy monitor cameras can retain their historic stable identity. */
18778
+ adoptable: boolean()
18779
+ });
18780
+ var TerminalOutputEventSchema = discriminatedUnion("kind", [object({
18781
+ seq: number().int().positive(),
18782
+ kind: literal("data"),
18783
+ data: string$2()
18784
+ }), object({
18785
+ seq: number().int().positive(),
18786
+ kind: literal("exit"),
18787
+ exitCode: number().int(),
18788
+ signal: number().int().optional()
18789
+ })]);
18790
+ var TerminalOutputBatchSchema = object({
18791
+ cursor: number().int().nonnegative(),
18792
+ reset: boolean(),
18793
+ snapshot: string$2().optional(),
18794
+ events: array(TerminalOutputEventSchema).readonly()
18795
+ });
18796
+ method(_void(), array(TerminalProfileInfoSchema).readonly(), { auth: "admin" }), method(_void(), array(TerminalInstanceInfoSchema).readonly(), { auth: "admin" }), method(object({
18797
+ targetNodeId: string$2().min(1),
18798
+ profileId: string$2().min(1),
18799
+ name: string$2().trim().min(1).max(160).optional()
18800
+ }), TerminalInstanceInfoSchema, {
18801
+ kind: "mutation",
18802
+ auth: "admin"
18803
+ }), method(object({ instanceId: string$2().min(1) }), _void(), {
18804
+ kind: "mutation",
18805
+ auth: "admin"
18806
+ }), method(object({
18807
+ instanceId: string$2().min(1),
18808
+ enabled: boolean()
18809
+ }), TerminalInstanceInfoSchema, {
18810
+ kind: "mutation",
18811
+ auth: "admin"
18812
+ }), method(_void(), array(TerminalLegacyCameraSchema).readonly(), { auth: "admin" }), method(object({
18813
+ stableId: string$2().min(1),
18814
+ name: string$2().trim().min(1).max(160).optional()
18815
+ }), TerminalInstanceInfoSchema, {
18816
+ kind: "mutation",
18817
+ auth: "admin"
18818
+ }), method(_void(), array(TerminalSessionInfoSchema).readonly(), { auth: "admin" }), method(object({
18660
18819
  profileId: string$2(),
18661
18820
  cols: number().int().positive(),
18662
18821
  rows: number().int().positive()
@@ -18670,6 +18829,26 @@ method(_void(), array(TerminalProfileInfoSchema).readonly(), { auth: "admin" }),
18670
18829
  }), _void(), {
18671
18830
  kind: "mutation",
18672
18831
  auth: "admin"
18832
+ }), method(object({
18833
+ sessionId: string$2(),
18834
+ afterSeq: number().int().nonnegative(),
18835
+ waitMs: number().int().min(0).max(2e3).default(0),
18836
+ /**
18837
+ * Wait when a just-opened session has no output yet. Kept opt-in so a
18838
+ * browser's initial repaint remains immediate; the camera snapshot
18839
+ * relay uses it to avoid encoding a blank startup frame.
18840
+ */
18841
+ waitForOutput: boolean().optional()
18842
+ }), TerminalOutputBatchSchema, {
18843
+ kind: "mutation",
18844
+ auth: "admin",
18845
+ timeoutMs: 15e3
18846
+ }), method(object({
18847
+ sessionId: string$2(),
18848
+ data: string$2().max(64 * 1024)
18849
+ }), _void(), {
18850
+ kind: "mutation",
18851
+ auth: "admin"
18673
18852
  }), method(object({ sessionId: string$2() }), _void(), {
18674
18853
  kind: "mutation",
18675
18854
  auth: "admin"
@@ -21174,6 +21353,7 @@ var FaceInfoSchema = object({
21174
21353
  var FaceFilterEnum = _enum([
21175
21354
  "unassigned",
21176
21355
  "recognized",
21356
+ "identified",
21177
21357
  "all"
21178
21358
  ]);
21179
21359
  var MediaFileLiteSchema$1 = object({
@@ -21202,6 +21382,8 @@ method(_void(), array(IdentitySchema).readonly()), method(object({ name: string$
21202
21382
  kind: "mutation",
21203
21383
  auth: "admin"
21204
21384
  }), method(object({
21385
+ /** Restrict to one camera. Absent keeps the cluster-wide gallery view. */
21386
+ deviceId: number().int().optional(),
21205
21387
  limit: number().int().positive().optional(),
21206
21388
  filter: FaceFilterEnum.optional(),
21207
21389
  /**
@@ -23431,6 +23613,10 @@ var OsdSourceSchema = discriminatedUnion("kind", [
23431
23613
  capName: string$2().min(1).max(64),
23432
23614
  /** Dot path inside the slice, e.g. `detected`, `value`, `mode`. */
23433
23615
  valuePath: string$2().min(1).max(64)
23616
+ }),
23617
+ object({
23618
+ kind: literal("latest-recognition"),
23619
+ recognition: _enum(["person", "plate"])
23434
23620
  })
23435
23621
  ]);
23436
23622
  var OsdSlotBindingSchema = object({
@@ -23536,6 +23722,15 @@ method(object({ deviceId: number().int() }), object({
23536
23722
  }), object({ success: literal(true) }), {
23537
23723
  kind: "mutation",
23538
23724
  auth: "admin"
23725
+ }), method(object({
23726
+ sourceDeviceId: number().int(),
23727
+ targetDeviceId: number().int()
23728
+ }), object({
23729
+ copied: number().int().nonnegative(),
23730
+ skipped: number().int().nonnegative()
23731
+ }), {
23732
+ kind: "mutation",
23733
+ auth: "admin"
23539
23734
  }), method(object({
23540
23735
  deviceId: number().int(),
23541
23736
  slotId: string$2().min(1),
@@ -24633,13 +24828,19 @@ method(object({
24633
24828
  }), {
24634
24829
  kind: "mutation",
24635
24830
  auth: "admin"
24636
- }), method(RelocateFootageInputSchema, object({ jobId: string$2() }), {
24831
+ }), method(StorageMigrationLeaseInputSchema, object({ paused: literal(true) }), {
24637
24832
  kind: "mutation",
24638
24833
  auth: "admin"
24639
- }), method(object({}), array(RelocateJobSchema).readonly(), {
24640
- kind: "query",
24834
+ }), method(StorageMigrationLeaseInputSchema, object({ resumed: literal(true) }), {
24835
+ kind: "mutation",
24641
24836
  auth: "admin"
24642
- }), method(object({ jobId: string$2() }), object({ cancelled: boolean() }), {
24837
+ }), method(StorageMigrationLeaseInputSchema, object({ refreshed: literal(true) }), {
24838
+ kind: "mutation",
24839
+ auth: "admin"
24840
+ }), method(StorageMigrationFootageMoveInputSchema, object({ jobId: string$2() }), {
24841
+ kind: "mutation",
24842
+ auth: "admin"
24843
+ }), method(object({ jobId: string$2() }), RelocateJobSchema.nullable(), { auth: "admin" }), method(object({ jobId: string$2() }), object({ cancelled: boolean() }), {
24643
24844
  kind: "mutation",
24644
24845
  auth: "admin"
24645
24846
  });
@@ -30245,6 +30446,12 @@ Object.freeze({
30245
30446
  addonId: null,
30246
30447
  access: "delete"
30247
30448
  },
30449
+ "osdManager.copyDeviceConfiguration": {
30450
+ capName: "osd-manager",
30451
+ capScope: "system",
30452
+ addonId: null,
30453
+ access: "create"
30454
+ },
30248
30455
  "osdManager.getConditionSupport": {
30249
30456
  capName: "osd-manager",
30250
30457
  capScope: "system",
@@ -30341,7 +30548,7 @@ Object.freeze({
30341
30548
  addonId: null,
30342
30549
  access: "create"
30343
30550
  },
30344
- "pipelineAnalytics.cancelMediaRelocate": {
30551
+ "pipelineAnalytics.cancelStorageMigrationMove": {
30345
30552
  capName: "pipeline-analytics",
30346
30553
  capScope: "device",
30347
30554
  addonId: null,
@@ -30413,12 +30620,6 @@ Object.freeze({
30413
30620
  addonId: null,
30414
30621
  access: "view"
30415
30622
  },
30416
- "pipelineAnalytics.getMediaRelocateStatus": {
30417
- capName: "pipeline-analytics",
30418
- capScope: "device",
30419
- addonId: null,
30420
- access: "view"
30421
- },
30422
30623
  "pipelineAnalytics.getMotionEvents": {
30423
30624
  capName: "pipeline-analytics",
30424
30625
  capScope: "device",
@@ -30455,6 +30656,12 @@ Object.freeze({
30455
30656
  addonId: null,
30456
30657
  access: "view"
30457
30658
  },
30659
+ "pipelineAnalytics.getStorageMigrationMoveStatus": {
30660
+ capName: "pipeline-analytics",
30661
+ capScope: "device",
30662
+ addonId: null,
30663
+ access: "view"
30664
+ },
30458
30665
  "pipelineAnalytics.getTrack": {
30459
30666
  capName: "pipeline-analytics",
30460
30667
  capScope: "device",
@@ -30533,6 +30740,12 @@ Object.freeze({
30533
30740
  addonId: null,
30534
30741
  access: "view"
30535
30742
  },
30743
+ "pipelineAnalytics.pauseForStorageMigration": {
30744
+ capName: "pipeline-analytics",
30745
+ capScope: "device",
30746
+ addonId: null,
30747
+ access: "create"
30748
+ },
30536
30749
  "pipelineAnalytics.proposeRetrainAnnotations": {
30537
30750
  capName: "pipeline-analytics",
30538
30751
  capScope: "device",
@@ -30563,7 +30776,7 @@ Object.freeze({
30563
30776
  addonId: null,
30564
30777
  access: "create"
30565
30778
  },
30566
- "pipelineAnalytics.relocateMedia": {
30779
+ "pipelineAnalytics.refreshStorageLocationsForMigration": {
30567
30780
  capName: "pipeline-analytics",
30568
30781
  capScope: "device",
30569
30782
  addonId: null,
@@ -30575,6 +30788,12 @@ Object.freeze({
30575
30788
  addonId: null,
30576
30789
  access: "create"
30577
30790
  },
30791
+ "pipelineAnalytics.resumeForStorageMigration": {
30792
+ capName: "pipeline-analytics",
30793
+ capScope: "device",
30794
+ addonId: null,
30795
+ access: "create"
30796
+ },
30578
30797
  "pipelineAnalytics.saveRetrainAnnotations": {
30579
30798
  capName: "pipeline-analytics",
30580
30799
  capScope: "device",
@@ -30599,6 +30818,12 @@ Object.freeze({
30599
30818
  addonId: null,
30600
30819
  access: "create"
30601
30820
  },
30821
+ "pipelineAnalytics.startStorageMigrationMove": {
30822
+ capName: "pipeline-analytics",
30823
+ capScope: "device",
30824
+ addonId: null,
30825
+ access: "create"
30826
+ },
30602
30827
  "pipelineAnalytics.wipeAllAnalytics": {
30603
30828
  capName: "pipeline-analytics",
30604
30829
  capScope: "device",
@@ -30965,6 +31190,12 @@ Object.freeze({
30965
31190
  addonId: null,
30966
31191
  access: "view"
30967
31192
  },
31193
+ "pipelineOrchestrator.pauseForStorageMigration": {
31194
+ capName: "pipeline-orchestrator",
31195
+ capScope: "system",
31196
+ addonId: null,
31197
+ access: "create"
31198
+ },
30968
31199
  "pipelineOrchestrator.rebalance": {
30969
31200
  capName: "pipeline-orchestrator",
30970
31201
  capScope: "system",
@@ -30989,6 +31220,12 @@ Object.freeze({
30989
31220
  addonId: null,
30990
31221
  access: "view"
30991
31222
  },
31223
+ "pipelineOrchestrator.resumeForStorageMigration": {
31224
+ capName: "pipeline-orchestrator",
31225
+ capScope: "system",
31226
+ addonId: null,
31227
+ access: "create"
31228
+ },
30992
31229
  "pipelineOrchestrator.saveTemplate": {
30993
31230
  capName: "pipeline-orchestrator",
30994
31231
  capScope: "system",
@@ -31385,7 +31622,7 @@ Object.freeze({
31385
31622
  addonId: null,
31386
31623
  access: "create"
31387
31624
  },
31388
- "recording.cancelRelocate": {
31625
+ "recording.cancelStorageMigrationMove": {
31389
31626
  capName: "recording",
31390
31627
  capScope: "system",
31391
31628
  addonId: null,
@@ -31421,7 +31658,7 @@ Object.freeze({
31421
31658
  addonId: null,
31422
31659
  access: "view"
31423
31660
  },
31424
- "recording.getRelocateStatus": {
31661
+ "recording.getStorageMigrationMoveStatus": {
31425
31662
  capName: "recording",
31426
31663
  capScope: "system",
31427
31664
  addonId: null,
@@ -31445,6 +31682,12 @@ Object.freeze({
31445
31682
  addonId: null,
31446
31683
  access: "view"
31447
31684
  },
31685
+ "recording.pauseForStorageMigration": {
31686
+ capName: "recording",
31687
+ capScope: "system",
31688
+ addonId: null,
31689
+ access: "create"
31690
+ },
31448
31691
  "recording.pruneFootage": {
31449
31692
  capName: "recording",
31450
31693
  capScope: "system",
@@ -31463,7 +31706,7 @@ Object.freeze({
31463
31706
  addonId: null,
31464
31707
  access: "view"
31465
31708
  },
31466
- "recording.relocateFootage": {
31709
+ "recording.refreshStorageLocationsForMigration": {
31467
31710
  capName: "recording",
31468
31711
  capScope: "system",
31469
31712
  addonId: null,
@@ -31487,12 +31730,24 @@ Object.freeze({
31487
31730
  addonId: null,
31488
31731
  access: "create"
31489
31732
  },
31733
+ "recording.resumeForStorageMigration": {
31734
+ capName: "recording",
31735
+ capScope: "system",
31736
+ addonId: null,
31737
+ access: "create"
31738
+ },
31490
31739
  "recording.setDeviceConfig": {
31491
31740
  capName: "recording",
31492
31741
  capScope: "system",
31493
31742
  addonId: null,
31494
31743
  access: "create"
31495
31744
  },
31745
+ "recording.startStorageMigrationMove": {
31746
+ capName: "recording",
31747
+ capScope: "system",
31748
+ addonId: null,
31749
+ access: "create"
31750
+ },
31496
31751
  "recordingExport.cancelExport": {
31497
31752
  capName: "recordingExport",
31498
31753
  capScope: "system",
@@ -31883,6 +32138,30 @@ Object.freeze({
31883
32138
  addonId: null,
31884
32139
  access: "view"
31885
32140
  },
32141
+ "storageMigration.cancel": {
32142
+ capName: "storage-migration",
32143
+ capScope: "system",
32144
+ addonId: null,
32145
+ access: "create"
32146
+ },
32147
+ "storageMigration.plan": {
32148
+ capName: "storage-migration",
32149
+ capScope: "system",
32150
+ addonId: null,
32151
+ access: "view"
32152
+ },
32153
+ "storageMigration.start": {
32154
+ capName: "storage-migration",
32155
+ capScope: "system",
32156
+ addonId: null,
32157
+ access: "create"
32158
+ },
32159
+ "storageMigration.status": {
32160
+ capName: "storage-migration",
32161
+ capScope: "system",
32162
+ addonId: null,
32163
+ access: "view"
32164
+ },
31886
32165
  "storageProvider.abortUpload": {
31887
32166
  capName: "storage-provider",
31888
32167
  capScope: "system",
@@ -32261,12 +32540,42 @@ Object.freeze({
32261
32540
  addonId: null,
32262
32541
  access: "create"
32263
32542
  },
32543
+ "terminalSession.adoptLegacyMonitor": {
32544
+ capName: "terminal-session",
32545
+ capScope: "system",
32546
+ addonId: null,
32547
+ access: "create"
32548
+ },
32264
32549
  "terminalSession.close": {
32265
32550
  capName: "terminal-session",
32266
32551
  capScope: "system",
32267
32552
  addonId: null,
32268
32553
  access: "create"
32269
32554
  },
32555
+ "terminalSession.createInstance": {
32556
+ capName: "terminal-session",
32557
+ capScope: "system",
32558
+ addonId: null,
32559
+ access: "create"
32560
+ },
32561
+ "terminalSession.deleteInstance": {
32562
+ capName: "terminal-session",
32563
+ capScope: "system",
32564
+ addonId: null,
32565
+ access: "delete"
32566
+ },
32567
+ "terminalSession.listInstances": {
32568
+ capName: "terminal-session",
32569
+ capScope: "system",
32570
+ addonId: null,
32571
+ access: "view"
32572
+ },
32573
+ "terminalSession.listLegacyCameras": {
32574
+ capName: "terminal-session",
32575
+ capScope: "system",
32576
+ addonId: null,
32577
+ access: "view"
32578
+ },
32270
32579
  "terminalSession.listProfiles": {
32271
32580
  capName: "terminal-session",
32272
32581
  capScope: "system",
@@ -32285,12 +32594,30 @@ Object.freeze({
32285
32594
  addonId: null,
32286
32595
  access: "create"
32287
32596
  },
32597
+ "terminalSession.pullOutput": {
32598
+ capName: "terminal-session",
32599
+ capScope: "system",
32600
+ addonId: null,
32601
+ access: "create"
32602
+ },
32288
32603
  "terminalSession.resize": {
32289
32604
  capName: "terminal-session",
32290
32605
  capScope: "system",
32291
32606
  addonId: null,
32292
32607
  access: "create"
32293
32608
  },
32609
+ "terminalSession.setInstanceEnabled": {
32610
+ capName: "terminal-session",
32611
+ capScope: "system",
32612
+ addonId: null,
32613
+ access: "create"
32614
+ },
32615
+ "terminalSession.writeInput": {
32616
+ capName: "terminal-session",
32617
+ capScope: "system",
32618
+ addonId: null,
32619
+ access: "create"
32620
+ },
32294
32621
  "toast.onToast": {
32295
32622
  capName: "toast",
32296
32623
  capScope: "system",
package/dist/addon.mjs CHANGED
@@ -7577,12 +7577,11 @@ var RecordingConfigSchema = object({
7577
7577
  /**
7578
7578
  * Entity-relocation job state (storage entity-routing spec, Phase 4).
7579
7579
  *
7580
- * One shape shared by the recorder's `relocateFootage` (segments) and
7581
- * pipeline-analytics' `relocateMedia` (event media blobs) so the admin Data
7582
- * page renders both movers with one component. Jobs are in-RAM (a restart
7583
- * forgets them — re-running is safe by construction: copy-if-absent, delete
7584
- * after verify) and each completed/failed run also lands one durable ops-log
7585
- * row on the owning addon's surface.
7580
+ * One shape shared by the recorder and pipeline-analytics internal movers.
7581
+ * The public admin surface is `storage-migration`; child jobs remain in RAM
7582
+ * because copy-if-absent, verify, delete and index/row repoint are resumable.
7583
+ * Each completed/failed run also lands one durable ops-log row on its owning
7584
+ * addon surface.
7586
7585
  */
7587
7586
  var RelocateJobStateSchema = _enum([
7588
7587
  "running",
@@ -7609,19 +7608,100 @@ var RelocateJobSchema = object({
7609
7608
  finishedAt: number().nullable(),
7610
7609
  error: string$2().nullable()
7611
7610
  });
7611
+ /** Profile-derived footage selection used only by the migration coordinator:
7612
+ * `recordings` owns high+mid; `recordingsLow` owns low. */
7613
+ var RelocateFootageClassSchema = _enum(["recordings", "recordingsLow"]);
7612
7614
  var RelocateFootageInputSchema = object({
7613
- deviceId: number().optional(),
7614
7615
  fromLocationId: string$2(),
7615
7616
  toLocationId: string$2(),
7616
7617
  entities: array(_enum(["segments"])).optional(),
7618
+ /** Limits relocation to the logical profile class. Omit only for the
7619
+ * pre-orchestration compatibility path. */
7620
+ footageClass: RelocateFootageClassSchema.optional(),
7617
7621
  /** Copy throttle in MB/s (default 40) — the drain is a background chore,
7618
7622
  * never allowed to starve live writers. */
7619
7623
  throttleMbps: number().min(1).max(1e3).optional()
7620
7624
  });
7621
- var RelocateMediaInputSchema = object({
7622
- deviceId: number().optional(),
7625
+ /** Internal, lease-scoped participant operation. It is intentionally separate
7626
+ * from persistent recording settings: a migration never changes
7627
+ * `RecordingConfig.enabled` or camera wrapper bindings. */
7628
+ var StorageMigrationLeaseInputSchema = object({ leaseId: string$2().min(1) });
7629
+ var StorageMigrationFootageMoveInputSchema = RelocateFootageInputSchema.extend({ leaseId: string$2().min(1) });
7630
+ var StorageMigrationMediaMoveInputSchema = object({
7623
7631
  toLocationId: string$2(),
7624
7632
  throttleMbps: number().min(1).max(1e3).optional()
7633
+ }).extend({ leaseId: string$2().min(1) });
7634
+ /** The independently selectable logical storage classes. `recordings`
7635
+ * encompasses the high and mid segment profiles; `recordingsLow` is low
7636
+ * segments; `eventMedia` is post-analysis blobs. */
7637
+ var StorageMigrationClassSchema = _enum([
7638
+ "recordings",
7639
+ "recordingsLow",
7640
+ "eventMedia"
7641
+ ]);
7642
+ /** A destination is always an existing, fully-qualified location id. The
7643
+ * migration API intentionally never changes a source location's `basePath`:
7644
+ * callers create a new `<type>:<slug>` location, then select it here. */
7645
+ var StorageMigrationDestinationsSchema = object({
7646
+ recordings: string$2().min(1).optional(),
7647
+ recordingsLow: string$2().min(1).optional(),
7648
+ eventMedia: string$2().min(1).optional()
7649
+ }).refine((value) => Object.keys(value).length > 0, { message: "select at least one storage class" });
7650
+ /** Shared input for planning and starting an orchestrated storage migration. */
7651
+ var StorageMigrationInputSchema = object({
7652
+ destinations: StorageMigrationDestinationsSchema,
7653
+ throttleMbps: number().min(1).max(1e3).optional()
7654
+ });
7655
+ /** The durable coordinator state machine. The only phase that changes default
7656
+ * locations is `repointing`, after every selected mover has completed and been
7657
+ * verified. */
7658
+ var StorageMigrationPhaseSchema = _enum([
7659
+ "planning",
7660
+ "pausing",
7661
+ "moving",
7662
+ "verifying",
7663
+ "repointing",
7664
+ "refreshing",
7665
+ "resuming",
7666
+ "done",
7667
+ "failed",
7668
+ "cancelled"
7669
+ ]);
7670
+ var StorageMigrationParticipantSchema = _enum([
7671
+ "pipeline",
7672
+ "recorder",
7673
+ "analytics"
7674
+ ]);
7675
+ var StorageMigrationMoveSchema = object({
7676
+ storageClass: StorageMigrationClassSchema,
7677
+ fromLocationId: string$2(),
7678
+ toLocationId: string$2(),
7679
+ moverJobId: string$2().nullable(),
7680
+ state: RelocateJobStateSchema.nullable(),
7681
+ error: string$2().nullable()
7682
+ });
7683
+ var StorageMigrationJobSchema = object({
7684
+ jobId: string$2(),
7685
+ phase: StorageMigrationPhaseSchema,
7686
+ destinations: StorageMigrationDestinationsSchema,
7687
+ throttleMbps: number(),
7688
+ moves: array(StorageMigrationMoveSchema),
7689
+ pauseLeaseId: string$2().nullable(),
7690
+ pausedParticipants: array(StorageMigrationParticipantSchema),
7691
+ repointed: boolean(),
7692
+ cancelRequested: boolean(),
7693
+ startedAt: number(),
7694
+ updatedAt: number(),
7695
+ finishedAt: number().nullable(),
7696
+ error: string$2().nullable()
7697
+ });
7698
+ var StorageMigrationPlanSchema = object({
7699
+ destinations: StorageMigrationDestinationsSchema,
7700
+ moves: array(object({
7701
+ storageClass: StorageMigrationClassSchema,
7702
+ fromLocationId: string$2(),
7703
+ toLocationId: string$2()
7704
+ }))
7625
7705
  });
7626
7706
  /**
7627
7707
  * `StorageLocationType` — an addon-declared id that identifies the *kind* of
@@ -16341,13 +16421,19 @@ DeviceType.Camera, method(object({ deviceId: number() }), array(TrackSchema).rea
16341
16421
  }), method(object({ deviceId: number() }), EventPruneCountsSchema, {
16342
16422
  kind: "mutation",
16343
16423
  auth: "admin"
16344
- }), method(RelocateMediaInputSchema, object({ jobId: string$2() }), {
16424
+ }), method(StorageMigrationLeaseInputSchema, object({ paused: literal(true) }), {
16345
16425
  kind: "mutation",
16346
16426
  auth: "admin"
16347
- }), method(object({}), array(RelocateJobSchema).readonly(), {
16348
- kind: "query",
16427
+ }), method(StorageMigrationLeaseInputSchema, object({ resumed: literal(true) }), {
16428
+ kind: "mutation",
16349
16429
  auth: "admin"
16350
- }), method(object({ jobId: string$2() }), object({ cancelled: boolean() }), {
16430
+ }), method(StorageMigrationLeaseInputSchema, object({ refreshed: literal(true) }), {
16431
+ kind: "mutation",
16432
+ auth: "admin"
16433
+ }), method(StorageMigrationMediaMoveInputSchema, object({ jobId: string$2() }), {
16434
+ kind: "mutation",
16435
+ auth: "admin"
16436
+ }), method(object({ jobId: string$2() }), RelocateJobSchema.nullable(), { auth: "admin" }), method(object({ jobId: string$2() }), object({ cancelled: boolean() }), {
16351
16437
  kind: "mutation",
16352
16438
  auth: "admin"
16353
16439
  }), method(OpsLogQueryInputSchema, array(OpsLogEntrySchema).readonly(), {
@@ -17877,7 +17963,13 @@ var NodeInferenceDevicesSchema = object({
17877
17963
  reachable: boolean(),
17878
17964
  devices: array(NodeInferenceDeviceSchema).readonly()
17879
17965
  });
17880
- method(object({
17966
+ method(StorageMigrationLeaseInputSchema, object({ paused: literal(true) }), {
17967
+ kind: "mutation",
17968
+ auth: "admin"
17969
+ }), method(StorageMigrationLeaseInputSchema, object({ resumed: literal(true) }), {
17970
+ kind: "mutation",
17971
+ auth: "admin"
17972
+ }), method(object({
17881
17973
  deviceId: number(),
17882
17974
  agentNodeId: string$2()
17883
17975
  }), object({ success: literal(true) }), {
@@ -18551,6 +18643,13 @@ method(object({ locationId: string$2() }), EvictableUsageSchema), method(object(
18551
18643
  locationId: string$2(),
18552
18644
  targetBytes: number().int().positive()
18553
18645
  }), EvictResultSchema, { kind: "mutation" });
18646
+ method(StorageMigrationInputSchema, StorageMigrationPlanSchema, { auth: "admin" }), method(StorageMigrationInputSchema, object({ jobId: string$2() }), {
18647
+ kind: "mutation",
18648
+ auth: "admin"
18649
+ }), method(object({ jobId: string$2().optional() }), StorageMigrationJobSchema.nullable(), { auth: "admin" }), method(object({ jobId: string$2() }), object({ cancelled: boolean() }), {
18650
+ kind: "mutation",
18651
+ auth: "admin"
18652
+ });
18554
18653
  var ProviderInfoSchema = discriminatedUnion("shouldSaveDiskSpace", [object({
18555
18654
  providerId: string$2().min(1),
18556
18655
  displayName: string$2().min(1),
@@ -18654,7 +18753,67 @@ var TerminalProfileInfoSchema = object({
18654
18753
  label: string$2(),
18655
18754
  description: string$2().optional()
18656
18755
  });
18657
- method(_void(), array(TerminalProfileInfoSchema).readonly(), { auth: "admin" }), method(_void(), array(TerminalSessionInfoSchema).readonly(), { auth: "admin" }), method(object({
18756
+ /**
18757
+ * A durable operator-created Terminal instance. Profiles are templates; only
18758
+ * an instance declares a camera.
18759
+ */
18760
+ var TerminalInstanceInfoSchema = object({
18761
+ instanceId: string$2(),
18762
+ cameraStableId: string$2(),
18763
+ nodeId: string$2(),
18764
+ profileId: string$2(),
18765
+ profileLabel: string$2(),
18766
+ name: string$2(),
18767
+ enabled: boolean()
18768
+ });
18769
+ var TerminalLegacyCameraSchema = object({
18770
+ stableId: string$2(),
18771
+ nodeId: string$2(),
18772
+ profileId: string$2(),
18773
+ profileLabel: string$2(),
18774
+ name: string$2(),
18775
+ /** Only legacy monitor cameras can retain their historic stable identity. */
18776
+ adoptable: boolean()
18777
+ });
18778
+ var TerminalOutputEventSchema = discriminatedUnion("kind", [object({
18779
+ seq: number().int().positive(),
18780
+ kind: literal("data"),
18781
+ data: string$2()
18782
+ }), object({
18783
+ seq: number().int().positive(),
18784
+ kind: literal("exit"),
18785
+ exitCode: number().int(),
18786
+ signal: number().int().optional()
18787
+ })]);
18788
+ var TerminalOutputBatchSchema = object({
18789
+ cursor: number().int().nonnegative(),
18790
+ reset: boolean(),
18791
+ snapshot: string$2().optional(),
18792
+ events: array(TerminalOutputEventSchema).readonly()
18793
+ });
18794
+ method(_void(), array(TerminalProfileInfoSchema).readonly(), { auth: "admin" }), method(_void(), array(TerminalInstanceInfoSchema).readonly(), { auth: "admin" }), method(object({
18795
+ targetNodeId: string$2().min(1),
18796
+ profileId: string$2().min(1),
18797
+ name: string$2().trim().min(1).max(160).optional()
18798
+ }), TerminalInstanceInfoSchema, {
18799
+ kind: "mutation",
18800
+ auth: "admin"
18801
+ }), method(object({ instanceId: string$2().min(1) }), _void(), {
18802
+ kind: "mutation",
18803
+ auth: "admin"
18804
+ }), method(object({
18805
+ instanceId: string$2().min(1),
18806
+ enabled: boolean()
18807
+ }), TerminalInstanceInfoSchema, {
18808
+ kind: "mutation",
18809
+ auth: "admin"
18810
+ }), method(_void(), array(TerminalLegacyCameraSchema).readonly(), { auth: "admin" }), method(object({
18811
+ stableId: string$2().min(1),
18812
+ name: string$2().trim().min(1).max(160).optional()
18813
+ }), TerminalInstanceInfoSchema, {
18814
+ kind: "mutation",
18815
+ auth: "admin"
18816
+ }), method(_void(), array(TerminalSessionInfoSchema).readonly(), { auth: "admin" }), method(object({
18658
18817
  profileId: string$2(),
18659
18818
  cols: number().int().positive(),
18660
18819
  rows: number().int().positive()
@@ -18668,6 +18827,26 @@ method(_void(), array(TerminalProfileInfoSchema).readonly(), { auth: "admin" }),
18668
18827
  }), _void(), {
18669
18828
  kind: "mutation",
18670
18829
  auth: "admin"
18830
+ }), method(object({
18831
+ sessionId: string$2(),
18832
+ afterSeq: number().int().nonnegative(),
18833
+ waitMs: number().int().min(0).max(2e3).default(0),
18834
+ /**
18835
+ * Wait when a just-opened session has no output yet. Kept opt-in so a
18836
+ * browser's initial repaint remains immediate; the camera snapshot
18837
+ * relay uses it to avoid encoding a blank startup frame.
18838
+ */
18839
+ waitForOutput: boolean().optional()
18840
+ }), TerminalOutputBatchSchema, {
18841
+ kind: "mutation",
18842
+ auth: "admin",
18843
+ timeoutMs: 15e3
18844
+ }), method(object({
18845
+ sessionId: string$2(),
18846
+ data: string$2().max(64 * 1024)
18847
+ }), _void(), {
18848
+ kind: "mutation",
18849
+ auth: "admin"
18671
18850
  }), method(object({ sessionId: string$2() }), _void(), {
18672
18851
  kind: "mutation",
18673
18852
  auth: "admin"
@@ -21172,6 +21351,7 @@ var FaceInfoSchema = object({
21172
21351
  var FaceFilterEnum = _enum([
21173
21352
  "unassigned",
21174
21353
  "recognized",
21354
+ "identified",
21175
21355
  "all"
21176
21356
  ]);
21177
21357
  var MediaFileLiteSchema$1 = object({
@@ -21200,6 +21380,8 @@ method(_void(), array(IdentitySchema).readonly()), method(object({ name: string$
21200
21380
  kind: "mutation",
21201
21381
  auth: "admin"
21202
21382
  }), method(object({
21383
+ /** Restrict to one camera. Absent keeps the cluster-wide gallery view. */
21384
+ deviceId: number().int().optional(),
21203
21385
  limit: number().int().positive().optional(),
21204
21386
  filter: FaceFilterEnum.optional(),
21205
21387
  /**
@@ -23429,6 +23611,10 @@ var OsdSourceSchema = discriminatedUnion("kind", [
23429
23611
  capName: string$2().min(1).max(64),
23430
23612
  /** Dot path inside the slice, e.g. `detected`, `value`, `mode`. */
23431
23613
  valuePath: string$2().min(1).max(64)
23614
+ }),
23615
+ object({
23616
+ kind: literal("latest-recognition"),
23617
+ recognition: _enum(["person", "plate"])
23432
23618
  })
23433
23619
  ]);
23434
23620
  var OsdSlotBindingSchema = object({
@@ -23534,6 +23720,15 @@ method(object({ deviceId: number().int() }), object({
23534
23720
  }), object({ success: literal(true) }), {
23535
23721
  kind: "mutation",
23536
23722
  auth: "admin"
23723
+ }), method(object({
23724
+ sourceDeviceId: number().int(),
23725
+ targetDeviceId: number().int()
23726
+ }), object({
23727
+ copied: number().int().nonnegative(),
23728
+ skipped: number().int().nonnegative()
23729
+ }), {
23730
+ kind: "mutation",
23731
+ auth: "admin"
23537
23732
  }), method(object({
23538
23733
  deviceId: number().int(),
23539
23734
  slotId: string$2().min(1),
@@ -24631,13 +24826,19 @@ method(object({
24631
24826
  }), {
24632
24827
  kind: "mutation",
24633
24828
  auth: "admin"
24634
- }), method(RelocateFootageInputSchema, object({ jobId: string$2() }), {
24829
+ }), method(StorageMigrationLeaseInputSchema, object({ paused: literal(true) }), {
24635
24830
  kind: "mutation",
24636
24831
  auth: "admin"
24637
- }), method(object({}), array(RelocateJobSchema).readonly(), {
24638
- kind: "query",
24832
+ }), method(StorageMigrationLeaseInputSchema, object({ resumed: literal(true) }), {
24833
+ kind: "mutation",
24639
24834
  auth: "admin"
24640
- }), method(object({ jobId: string$2() }), object({ cancelled: boolean() }), {
24835
+ }), method(StorageMigrationLeaseInputSchema, object({ refreshed: literal(true) }), {
24836
+ kind: "mutation",
24837
+ auth: "admin"
24838
+ }), method(StorageMigrationFootageMoveInputSchema, object({ jobId: string$2() }), {
24839
+ kind: "mutation",
24840
+ auth: "admin"
24841
+ }), method(object({ jobId: string$2() }), RelocateJobSchema.nullable(), { auth: "admin" }), method(object({ jobId: string$2() }), object({ cancelled: boolean() }), {
24641
24842
  kind: "mutation",
24642
24843
  auth: "admin"
24643
24844
  });
@@ -30243,6 +30444,12 @@ Object.freeze({
30243
30444
  addonId: null,
30244
30445
  access: "delete"
30245
30446
  },
30447
+ "osdManager.copyDeviceConfiguration": {
30448
+ capName: "osd-manager",
30449
+ capScope: "system",
30450
+ addonId: null,
30451
+ access: "create"
30452
+ },
30246
30453
  "osdManager.getConditionSupport": {
30247
30454
  capName: "osd-manager",
30248
30455
  capScope: "system",
@@ -30339,7 +30546,7 @@ Object.freeze({
30339
30546
  addonId: null,
30340
30547
  access: "create"
30341
30548
  },
30342
- "pipelineAnalytics.cancelMediaRelocate": {
30549
+ "pipelineAnalytics.cancelStorageMigrationMove": {
30343
30550
  capName: "pipeline-analytics",
30344
30551
  capScope: "device",
30345
30552
  addonId: null,
@@ -30411,12 +30618,6 @@ Object.freeze({
30411
30618
  addonId: null,
30412
30619
  access: "view"
30413
30620
  },
30414
- "pipelineAnalytics.getMediaRelocateStatus": {
30415
- capName: "pipeline-analytics",
30416
- capScope: "device",
30417
- addonId: null,
30418
- access: "view"
30419
- },
30420
30621
  "pipelineAnalytics.getMotionEvents": {
30421
30622
  capName: "pipeline-analytics",
30422
30623
  capScope: "device",
@@ -30453,6 +30654,12 @@ Object.freeze({
30453
30654
  addonId: null,
30454
30655
  access: "view"
30455
30656
  },
30657
+ "pipelineAnalytics.getStorageMigrationMoveStatus": {
30658
+ capName: "pipeline-analytics",
30659
+ capScope: "device",
30660
+ addonId: null,
30661
+ access: "view"
30662
+ },
30456
30663
  "pipelineAnalytics.getTrack": {
30457
30664
  capName: "pipeline-analytics",
30458
30665
  capScope: "device",
@@ -30531,6 +30738,12 @@ Object.freeze({
30531
30738
  addonId: null,
30532
30739
  access: "view"
30533
30740
  },
30741
+ "pipelineAnalytics.pauseForStorageMigration": {
30742
+ capName: "pipeline-analytics",
30743
+ capScope: "device",
30744
+ addonId: null,
30745
+ access: "create"
30746
+ },
30534
30747
  "pipelineAnalytics.proposeRetrainAnnotations": {
30535
30748
  capName: "pipeline-analytics",
30536
30749
  capScope: "device",
@@ -30561,7 +30774,7 @@ Object.freeze({
30561
30774
  addonId: null,
30562
30775
  access: "create"
30563
30776
  },
30564
- "pipelineAnalytics.relocateMedia": {
30777
+ "pipelineAnalytics.refreshStorageLocationsForMigration": {
30565
30778
  capName: "pipeline-analytics",
30566
30779
  capScope: "device",
30567
30780
  addonId: null,
@@ -30573,6 +30786,12 @@ Object.freeze({
30573
30786
  addonId: null,
30574
30787
  access: "create"
30575
30788
  },
30789
+ "pipelineAnalytics.resumeForStorageMigration": {
30790
+ capName: "pipeline-analytics",
30791
+ capScope: "device",
30792
+ addonId: null,
30793
+ access: "create"
30794
+ },
30576
30795
  "pipelineAnalytics.saveRetrainAnnotations": {
30577
30796
  capName: "pipeline-analytics",
30578
30797
  capScope: "device",
@@ -30597,6 +30816,12 @@ Object.freeze({
30597
30816
  addonId: null,
30598
30817
  access: "create"
30599
30818
  },
30819
+ "pipelineAnalytics.startStorageMigrationMove": {
30820
+ capName: "pipeline-analytics",
30821
+ capScope: "device",
30822
+ addonId: null,
30823
+ access: "create"
30824
+ },
30600
30825
  "pipelineAnalytics.wipeAllAnalytics": {
30601
30826
  capName: "pipeline-analytics",
30602
30827
  capScope: "device",
@@ -30963,6 +31188,12 @@ Object.freeze({
30963
31188
  addonId: null,
30964
31189
  access: "view"
30965
31190
  },
31191
+ "pipelineOrchestrator.pauseForStorageMigration": {
31192
+ capName: "pipeline-orchestrator",
31193
+ capScope: "system",
31194
+ addonId: null,
31195
+ access: "create"
31196
+ },
30966
31197
  "pipelineOrchestrator.rebalance": {
30967
31198
  capName: "pipeline-orchestrator",
30968
31199
  capScope: "system",
@@ -30987,6 +31218,12 @@ Object.freeze({
30987
31218
  addonId: null,
30988
31219
  access: "view"
30989
31220
  },
31221
+ "pipelineOrchestrator.resumeForStorageMigration": {
31222
+ capName: "pipeline-orchestrator",
31223
+ capScope: "system",
31224
+ addonId: null,
31225
+ access: "create"
31226
+ },
30990
31227
  "pipelineOrchestrator.saveTemplate": {
30991
31228
  capName: "pipeline-orchestrator",
30992
31229
  capScope: "system",
@@ -31383,7 +31620,7 @@ Object.freeze({
31383
31620
  addonId: null,
31384
31621
  access: "create"
31385
31622
  },
31386
- "recording.cancelRelocate": {
31623
+ "recording.cancelStorageMigrationMove": {
31387
31624
  capName: "recording",
31388
31625
  capScope: "system",
31389
31626
  addonId: null,
@@ -31419,7 +31656,7 @@ Object.freeze({
31419
31656
  addonId: null,
31420
31657
  access: "view"
31421
31658
  },
31422
- "recording.getRelocateStatus": {
31659
+ "recording.getStorageMigrationMoveStatus": {
31423
31660
  capName: "recording",
31424
31661
  capScope: "system",
31425
31662
  addonId: null,
@@ -31443,6 +31680,12 @@ Object.freeze({
31443
31680
  addonId: null,
31444
31681
  access: "view"
31445
31682
  },
31683
+ "recording.pauseForStorageMigration": {
31684
+ capName: "recording",
31685
+ capScope: "system",
31686
+ addonId: null,
31687
+ access: "create"
31688
+ },
31446
31689
  "recording.pruneFootage": {
31447
31690
  capName: "recording",
31448
31691
  capScope: "system",
@@ -31461,7 +31704,7 @@ Object.freeze({
31461
31704
  addonId: null,
31462
31705
  access: "view"
31463
31706
  },
31464
- "recording.relocateFootage": {
31707
+ "recording.refreshStorageLocationsForMigration": {
31465
31708
  capName: "recording",
31466
31709
  capScope: "system",
31467
31710
  addonId: null,
@@ -31485,12 +31728,24 @@ Object.freeze({
31485
31728
  addonId: null,
31486
31729
  access: "create"
31487
31730
  },
31731
+ "recording.resumeForStorageMigration": {
31732
+ capName: "recording",
31733
+ capScope: "system",
31734
+ addonId: null,
31735
+ access: "create"
31736
+ },
31488
31737
  "recording.setDeviceConfig": {
31489
31738
  capName: "recording",
31490
31739
  capScope: "system",
31491
31740
  addonId: null,
31492
31741
  access: "create"
31493
31742
  },
31743
+ "recording.startStorageMigrationMove": {
31744
+ capName: "recording",
31745
+ capScope: "system",
31746
+ addonId: null,
31747
+ access: "create"
31748
+ },
31494
31749
  "recordingExport.cancelExport": {
31495
31750
  capName: "recordingExport",
31496
31751
  capScope: "system",
@@ -31881,6 +32136,30 @@ Object.freeze({
31881
32136
  addonId: null,
31882
32137
  access: "view"
31883
32138
  },
32139
+ "storageMigration.cancel": {
32140
+ capName: "storage-migration",
32141
+ capScope: "system",
32142
+ addonId: null,
32143
+ access: "create"
32144
+ },
32145
+ "storageMigration.plan": {
32146
+ capName: "storage-migration",
32147
+ capScope: "system",
32148
+ addonId: null,
32149
+ access: "view"
32150
+ },
32151
+ "storageMigration.start": {
32152
+ capName: "storage-migration",
32153
+ capScope: "system",
32154
+ addonId: null,
32155
+ access: "create"
32156
+ },
32157
+ "storageMigration.status": {
32158
+ capName: "storage-migration",
32159
+ capScope: "system",
32160
+ addonId: null,
32161
+ access: "view"
32162
+ },
31884
32163
  "storageProvider.abortUpload": {
31885
32164
  capName: "storage-provider",
31886
32165
  capScope: "system",
@@ -32259,12 +32538,42 @@ Object.freeze({
32259
32538
  addonId: null,
32260
32539
  access: "create"
32261
32540
  },
32541
+ "terminalSession.adoptLegacyMonitor": {
32542
+ capName: "terminal-session",
32543
+ capScope: "system",
32544
+ addonId: null,
32545
+ access: "create"
32546
+ },
32262
32547
  "terminalSession.close": {
32263
32548
  capName: "terminal-session",
32264
32549
  capScope: "system",
32265
32550
  addonId: null,
32266
32551
  access: "create"
32267
32552
  },
32553
+ "terminalSession.createInstance": {
32554
+ capName: "terminal-session",
32555
+ capScope: "system",
32556
+ addonId: null,
32557
+ access: "create"
32558
+ },
32559
+ "terminalSession.deleteInstance": {
32560
+ capName: "terminal-session",
32561
+ capScope: "system",
32562
+ addonId: null,
32563
+ access: "delete"
32564
+ },
32565
+ "terminalSession.listInstances": {
32566
+ capName: "terminal-session",
32567
+ capScope: "system",
32568
+ addonId: null,
32569
+ access: "view"
32570
+ },
32571
+ "terminalSession.listLegacyCameras": {
32572
+ capName: "terminal-session",
32573
+ capScope: "system",
32574
+ addonId: null,
32575
+ access: "view"
32576
+ },
32268
32577
  "terminalSession.listProfiles": {
32269
32578
  capName: "terminal-session",
32270
32579
  capScope: "system",
@@ -32283,12 +32592,30 @@ Object.freeze({
32283
32592
  addonId: null,
32284
32593
  access: "create"
32285
32594
  },
32595
+ "terminalSession.pullOutput": {
32596
+ capName: "terminal-session",
32597
+ capScope: "system",
32598
+ addonId: null,
32599
+ access: "create"
32600
+ },
32286
32601
  "terminalSession.resize": {
32287
32602
  capName: "terminal-session",
32288
32603
  capScope: "system",
32289
32604
  addonId: null,
32290
32605
  access: "create"
32291
32606
  },
32607
+ "terminalSession.setInstanceEnabled": {
32608
+ capName: "terminal-session",
32609
+ capScope: "system",
32610
+ addonId: null,
32611
+ access: "create"
32612
+ },
32613
+ "terminalSession.writeInput": {
32614
+ capName: "terminal-session",
32615
+ capScope: "system",
32616
+ addonId: null,
32617
+ access: "create"
32618
+ },
32292
32619
  "toast.onToast": {
32293
32620
  capName: "toast",
32294
32621
  capScope: "system",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@camstack/addon-matter-broker",
3
- "version": "0.2.10",
3
+ "version": "0.2.12",
4
4
  "description": "Matter broker addon for CamStack — owns a Matter fabric (commissioning + the long-lived controller) via the matter.js controller and brokers commissioned Matter nodes into CamStack",
5
5
  "keywords": [
6
6
  "camstack",