@camstack/addon-osd-manager 0.1.42 → 0.1.43

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 (17) hide show
  1. package/dist/{MotionZonesSettings-CdyvFlWR.mjs → MotionZonesSettings-ByZQuMlB.mjs} +2 -2
  2. package/dist/{PrivacyMaskSettings-CUfurhy1.mjs → PrivacyMaskSettings-1NYFcVP6.mjs} +4 -4
  3. package/dist/{SceneMonitorEditor-E_PU8Px7.mjs → SceneMonitorEditor-DYvMXsWV.mjs} +3 -3
  4. package/dist/_stub.js +10 -10
  5. package/dist/{_virtual_mf-localSharedImportMap___mfe_internal__addon_osd_manager_page-BmuIjiOx.mjs → _virtual_mf-localSharedImportMap___mfe_internal__addon_osd_manager_page-DY3AcYMO.mjs} +3 -3
  6. package/dist/{_virtual_mf___mfe_internal__addon_osd_manager_page__loadShare___mf_0_camstack_mf_1_types__loadShare__.js-BI_yNGG4.mjs → _virtual_mf___mfe_internal__addon_osd_manager_page__loadShare___mf_0_camstack_mf_1_types__loadShare__.js-B50VOT0N.mjs} +1 -1
  7. package/dist/{hostInit-Bf1t6pHC.mjs → hostInit-C3-qQFzl.mjs} +2 -2
  8. package/dist/index.js +251 -7
  9. package/dist/index.mjs +251 -7
  10. package/dist/{player-overlays-9-h959au.mjs → player-overlays-D6utOkrV.mjs} +1 -1
  11. package/dist/remoteEntry.js +1 -1
  12. package/dist/{responsive-DuPMoboD.mjs → responsive-C3oms3c6.mjs} +1 -1
  13. package/dist/{square-CbixHwGb.mjs → square-DVaU5ocy.mjs} +1 -1
  14. package/dist/{trash-2---I9LVPc.mjs → trash-2-CLc1DhEB.mjs} +1 -1
  15. package/dist/{use-device-snapshot-DtmjvvAg.mjs → use-device-snapshot-oIHpD07U.mjs} +1 -1
  16. package/dist/{virtual_mf-REMOTE_ENTRY_ID___mfe_internal__addon_osd_manager_page__remoteEntry_js-B5mIR9KJ.mjs → virtual_mf-REMOTE_ENTRY_ID___mfe_internal__addon_osd_manager_page__remoteEntry_js-Cfa0UZmk.mjs} +1 -1
  17. package/package.json +1 -1
package/dist/index.mjs CHANGED
@@ -8191,6 +8191,13 @@ var MediaRelocateModeSchema = _enum([
8191
8191
  ]);
8192
8192
  var RelocateMediaInputSchema = object({
8193
8193
  toLocationId: string(),
8194
+ /**
8195
+ * Restrict the pass to rows currently on this location. Omitted / `'*'` =
8196
+ * every row that is not already on `toLocationId` (the historical
8197
+ * behaviour). A named source is what a from→to migration needs: without it
8198
+ * "move events off disk 2" also emptied disk 1.
8199
+ */
8200
+ fromLocationId: string().optional(),
8194
8201
  throttleMbps: number().min(1).max(1e3).optional(),
8195
8202
  /** Omitted = `move`, the pre-existing behaviour. */
8196
8203
  mode: MediaRelocateModeSchema.optional()
@@ -8258,6 +8265,19 @@ var StorageMigrationDestinationsSchema = object({
8258
8265
  galleryMedia: string().min(1).optional()
8259
8266
  }).refine((value) => Object.keys(value).length > 0, { message: "select at least one storage class" });
8260
8267
  /**
8268
+ * Optional named source per class. Omitted = the class's current default
8269
+ * (the historical behaviour). A named source that is NOT the default is a
8270
+ * drain of that disk: bytes move, the default stays, and the source is
8271
+ * disabled when the move finishes.
8272
+ */
8273
+ var StorageMigrationSourcesSchema = object({
8274
+ recordings: string().min(1).optional(),
8275
+ recordingsLow: string().min(1).optional(),
8276
+ eventMedia: string().min(1).optional(),
8277
+ backups: string().min(1).optional(),
8278
+ galleryMedia: string().min(1).optional()
8279
+ }).optional();
8280
+ /**
8261
8281
  * How a migration sequences the cutover against the byte move.
8262
8282
  *
8263
8283
  * - `blocking` — the historical order: pause, move every byte, repoint,
@@ -8279,6 +8299,8 @@ var StorageMigrationModeSchema = _enum(["blocking", "nonBlocking"]);
8279
8299
  /** Shared input for planning and starting an orchestrated storage migration. */
8280
8300
  var StorageMigrationInputSchema = object({
8281
8301
  destinations: StorageMigrationDestinationsSchema,
8302
+ /** Omitted = each class's current default. */
8303
+ sources: StorageMigrationSourcesSchema,
8282
8304
  throttleMbps: number().min(1).max(1e3).optional(),
8283
8305
  /** Omitted = `blocking`, which stays the default. */
8284
8306
  mode: StorageMigrationModeSchema.optional()
@@ -8358,6 +8380,13 @@ var StorageMigrationMoveSchema = object({
8358
8380
  storageClass: StorageMigrationClassSchema,
8359
8381
  fromLocationId: string(),
8360
8382
  toLocationId: string(),
8383
+ /**
8384
+ * True when `from` was NOT the class default at plan time. The move still
8385
+ * copies bytes, but the default is left alone and the source is disabled
8386
+ * once the copy verifies. Absent on jobs planned before this field existed
8387
+ * — those jobs always repointed, which is `false`.
8388
+ */
8389
+ freezeSource: boolean().optional(),
8361
8390
  moverJobId: string().nullable(),
8362
8391
  state: RelocateJobStateSchema.nullable(),
8363
8392
  error: string().nullable(),
@@ -8371,6 +8400,7 @@ var StorageMigrationJobSchema = object({
8371
8400
  * can tell a seconds-long cutover from a thirty-hour one. */
8372
8401
  mode: StorageMigrationModeSchema,
8373
8402
  destinations: StorageMigrationDestinationsSchema,
8403
+ sources: StorageMigrationSourcesSchema,
8374
8404
  throttleMbps: number(),
8375
8405
  moves: array(StorageMigrationMoveSchema),
8376
8406
  pauseLeaseId: string().nullable(),
@@ -8396,6 +8426,7 @@ var StorageMigrationFindingSchema = object({
8396
8426
  });
8397
8427
  var StorageMigrationPlanSchema = object({
8398
8428
  destinations: StorageMigrationDestinationsSchema,
8429
+ sources: StorageMigrationSourcesSchema,
8399
8430
  /** The mode this plan was built for. A plan is only valid for its mode: the
8400
8431
  * `eventMedia` seal gate and the single-cardinality refusal both depend on
8401
8432
  * it. */
@@ -8403,7 +8434,8 @@ var StorageMigrationPlanSchema = object({
8403
8434
  moves: array(object({
8404
8435
  storageClass: StorageMigrationClassSchema,
8405
8436
  fromLocationId: string(),
8406
- toLocationId: string()
8437
+ toLocationId: string(),
8438
+ freezeSource: boolean().optional()
8407
8439
  })),
8408
8440
  findings: array(StorageMigrationFindingSchema)
8409
8441
  });
@@ -8581,10 +8613,51 @@ var LedgerWalkReportSchema = object({
8581
8613
  var RelocatableMediaCountSchema = object({ rows: number().int().nonnegative() }).nullable();
8582
8614
  var RelocatableMediaCountInputSchema = object({
8583
8615
  toLocationId: string().min(1),
8616
+ /** Restrict the count to one source; omitted / `'*'` = every non-target row. */
8617
+ fromLocationId: string().optional(),
8584
8618
  /** Omitted = `move`. */
8585
8619
  mode: MediaRelocateModeSchema.optional()
8586
8620
  });
8587
8621
  /**
8622
+ * Operator cleanup of leftover analytics rows, optional debug media, and
8623
+ * ghost ledger entries on frozen footage locations.
8624
+ *
8625
+ * A pass is tens of minutes on a standing backlog. The hub method RETURNS
8626
+ * `{ jobId }` immediately; progress is `cleanupStatus`. Awaiting the work
8627
+ * is how `addons.custom` hit the 60 s UDS deadline while reclaim continued
8628
+ * with no operator-visible status.
8629
+ */
8630
+ var StorageCleanupPhaseSchema = _enum([
8631
+ "orphans",
8632
+ "debug-media",
8633
+ "ghost-ledger",
8634
+ "done",
8635
+ "failed",
8636
+ "cancelled"
8637
+ ]);
8638
+ var StorageCleanupInputSchema = object({
8639
+ /** Also walk motion stills / track filmstrips. Off by default. */
8640
+ includeDebugMedia: boolean().optional() });
8641
+ var StorageCleanupJobSchema = object({
8642
+ jobId: string(),
8643
+ phase: StorageCleanupPhaseSchema,
8644
+ includeDebugMedia: boolean(),
8645
+ orphansReclaimed: number().int().nonnegative(),
8646
+ orphanBytesReclaimed: number().int().nonnegative(),
8647
+ debugMediaReclaimed: number().int().nonnegative(),
8648
+ debugMediaBytesReclaimed: number().int().nonnegative(),
8649
+ ghostsForgotten: number().int().nonnegative(),
8650
+ ghostBytesForgotten: number().int().nonnegative(),
8651
+ /** Short operator-facing line: current collection, pass, or location. */
8652
+ detail: string().nullable(),
8653
+ cancelRequested: boolean(),
8654
+ startedAt: number(),
8655
+ updatedAt: number(),
8656
+ finishedAt: number().nullable(),
8657
+ error: string().nullable()
8658
+ });
8659
+ var StorageCleanupStatusInputSchema = object({ jobId: string().optional() });
8660
+ /**
8588
8661
  * `StorageLocationType` — an addon-declared id that identifies the *kind* of
8589
8662
  * storage a location serves. Defined here (not in `capabilities/storage.cap.ts`)
8590
8663
  * so the persisted record schema and the consumer-facing cap can both consume it
@@ -8612,11 +8685,10 @@ var StorageLocationTypeSchema = string().regex(/^[a-z][a-zA-Z0-9-]*$/);
8612
8685
  * The default location for a type uses `id === <type>:default` by
8613
8686
  * convention (the bare type ref like `'backups'` resolves to it).
8614
8687
  *
8615
- * `isSystem: true` marks a location as orchestrator-seeded and
8616
- * undeletable. The bootstrap-installed defaults (one per type) carry
8617
- * this flag; operator-added locations don't. Editing the config of
8618
- * a system location is allowed (path migration, provider swap) but
8619
- * deleting it is rejected at the cap level.
8688
+ * `isSystem` is a legacy persisted flag. Seed still creates the initial
8689
+ * `<type>:default` locations; the flag is no longer a lock, a badge, or a
8690
+ * prune selector. New writes leave it false. Deletion is gated on uniqueness
8691
+ * / last-enabled, not on this bit.
8620
8692
  */
8621
8693
  var StorageLocationSchema = object({
8622
8694
  id: string().regex(/^[a-z][a-zA-Z0-9-]*:[a-zA-Z0-9-]+$/),
@@ -21986,6 +22058,47 @@ var RebuildStatusSchema = object({
21986
22058
  /** Present when the pass ended by throwing. */
21987
22059
  error: string().nullable()
21988
22060
  });
22061
+ /**
22062
+ * Acknowledgement that a debug-media reclaim STARTED.
22063
+ *
22064
+ * The pass is paced at ~2 MB/s over a standing 100 GB — tens of minutes — so
22065
+ * it runs detached and this returns immediately. Awaiting it is how the
22066
+ * `addons.custom` door hit the 60 s UDS deadline while the walk carried on
22067
+ * with no status. Poll {@link pipelineAnalyticsCapability.methods.getMediaReclaimStatus}.
22068
+ */
22069
+ var MediaReclaimStartResultSchema = object({
22070
+ started: boolean(),
22071
+ /** True when a pass was already running; the new request is ignored. */
22072
+ alreadyRunning: boolean()
22073
+ });
22074
+ var MediaReclaimInputSchema = object({
22075
+ mode: _enum(["report", "reclaim"]).default("report"),
22076
+ scopes: array(_enum(["motion-still", "track-filmstrip"])).min(1).optional(),
22077
+ deviceIds: array(number().int()).min(1).optional(),
22078
+ restart: boolean().optional(),
22079
+ pageSize: number().int().min(50).max(5e3).optional(),
22080
+ maxRowsPerDevice: number().int().min(1).max(5e5).optional(),
22081
+ maxReclaimPerDevice: number().int().min(1).max(5e5).optional(),
22082
+ maxBytesPerRun: number().int().min(1).optional(),
22083
+ budgetMinutes: number().int().min(1).max(720).optional(),
22084
+ throttleBytesPerSec: number().int().min(64 * 1024).optional(),
22085
+ graceMinutes: number().int().min(1).max(10080).optional()
22086
+ });
22087
+ var MediaReclaimStatusSchema = object({
22088
+ running: boolean(),
22089
+ mode: _enum(["report", "reclaim"]).nullable(),
22090
+ totalExamined: number(),
22091
+ totalEligible: number(),
22092
+ totalReclaimed: number(),
22093
+ totalBytesReclaimed: number(),
22094
+ totalRefused: number(),
22095
+ /** Device+scope windows finished in this pass. */
22096
+ devicesDone: number(),
22097
+ complete: boolean().nullable(),
22098
+ startedAtMs: number().nullable(),
22099
+ finishedAtMs: number().nullable(),
22100
+ error: string().nullable()
22101
+ });
21989
22102
  var ReplayFrameInputSchema = object({
21990
22103
  timestamp: number(),
21991
22104
  frame: PipelineRunResultBridge
@@ -22408,6 +22521,20 @@ var pipelineAnalyticsCapability = {
22408
22521
  auth: "admin"
22409
22522
  }),
22410
22523
  /**
22524
+ * Reclaim the standing debug-media backlog (motion-visit stills + track
22525
+ * filmstrips). DETACHED: returns `{ started }` immediately. The pass is
22526
+ * tens of minutes; awaiting it is a timeout, not a verdict. Dry-run unless
22527
+ * `mode: 'reclaim'`. Poll `getMediaReclaimStatus`.
22528
+ */
22529
+ reclaimDebugMedia: method(MediaReclaimInputSchema, MediaReclaimStartResultSchema, {
22530
+ kind: "mutation",
22531
+ auth: "admin"
22532
+ }),
22533
+ getMediaReclaimStatus: method(object({}), MediaReclaimStatusSchema, {
22534
+ kind: "query",
22535
+ auth: "admin"
22536
+ }),
22537
+ /**
22411
22538
  * The CHEAP QUESTION, asked before any media moves: how big is the dataset
22412
22539
  * the marked (`markForTrain`) tracks would produce?
22413
22540
  *
@@ -25360,7 +25487,23 @@ var storageMigrationCapability = {
25360
25487
  drain: method(StorageMigrationDrainInputSchema, object({ jobId: string() }), {
25361
25488
  kind: "mutation",
25362
25489
  auth: "admin"
25363
- })
25490
+ }),
25491
+ /**
25492
+ * One operator cleanup of leftover analytics (DB + blobs) and ghost
25493
+ * ledger rows on frozen footage locations. Optional debug-media sweep.
25494
+ * Returns immediately; poll {@link cleanupStatus}.
25495
+ */
25496
+ cleanupStart: method(StorageCleanupInputSchema, object({ jobId: string() }), {
25497
+ kind: "mutation",
25498
+ auth: "admin"
25499
+ }),
25500
+ cleanupStatus: method(StorageCleanupStatusInputSchema, StorageCleanupJobSchema.nullable(), { auth: "admin" }),
25501
+ cleanupCancel: method(object({ jobId: string() }), object({ cancelled: boolean() }), {
25502
+ kind: "mutation",
25503
+ auth: "admin"
25504
+ }),
25505
+ /** Recent finished migration jobs, newest first. The live job is `status`. */
25506
+ history: method(object({}), array(StorageMigrationJobSchema).readonly(), { auth: "admin" })
25364
25507
  }
25365
25508
  };
25366
25509
  var ProviderInfoSchema = discriminatedUnion("shouldSaveDiskSpace", [object({
@@ -33513,6 +33656,33 @@ var RecordingRebalanceInputSchema = object({
33513
33656
  minMoveGb: number().min(0).optional()
33514
33657
  });
33515
33658
  /**
33659
+ * Operator-facing placement of one camera onto a recordings location.
33660
+ *
33661
+ * `pinLocationId` is the operator instruction: a location id, or `null` for
33662
+ * Auto (the planner may move this camera). `locationId` is where high/mid
33663
+ * currently write — the plan, which may disagree with the pin when Auto.
33664
+ */
33665
+ var RecordingDevicePlacementSchema = object({
33666
+ deviceId: number().int(),
33667
+ profile: string(),
33668
+ locationId: string()
33669
+ });
33670
+ var RecordingDevicePinSchema = object({
33671
+ deviceId: number().int(),
33672
+ /** Recordings-class location this camera is pinned to. */
33673
+ locationId: string()
33674
+ });
33675
+ var RecordingPlacementViewSchema = object({
33676
+ assignments: array(RecordingDevicePlacementSchema),
33677
+ pins: array(RecordingDevicePinSchema),
33678
+ defaultLocations: record(string(), string())
33679
+ });
33680
+ var RecordingSetDevicePlacementInputSchema = object({
33681
+ deviceId: number().int(),
33682
+ /** `null` = Auto. Otherwise a `recordings:*` location id. */
33683
+ locationId: string().nullable()
33684
+ });
33685
+ /**
33516
33686
  * Result of locating footage at a wall-clock instant for one device/profile.
33517
33687
  * `segment` carries the covering segment's window; `gap` reports the forward
33518
33688
  * nearest covered edge (`null` past the end of footage / when none exists)
@@ -33865,6 +34035,22 @@ var recordingCapability = {
33865
34035
  startStorageRebalance: method(RecordingRebalanceInputSchema, RecordingRebalancePlanSchema, {
33866
34036
  kind: "mutation",
33867
34037
  auth: "admin"
34038
+ }),
34039
+ /**
34040
+ * The placement plan in force plus operator pins. Drives the Locations
34041
+ * admin page: Auto vs a named recordings location, per camera.
34042
+ */
34043
+ getPlacement: method(object({}), RecordingPlacementViewSchema, {
34044
+ kind: "query",
34045
+ auth: "admin"
34046
+ }),
34047
+ /**
34048
+ * Pin a camera to a recordings location, or clear the pin (Auto). High and
34049
+ * mid follow the pin; low stays with the recordingsLow planner.
34050
+ */
34051
+ setDevicePlacement: method(RecordingSetDevicePlacementInputSchema, object({ ok: literal(true) }), {
34052
+ kind: "mutation",
34053
+ auth: "admin"
33868
34054
  })
33869
34055
  }
33870
34056
  };
@@ -40013,6 +40199,12 @@ Object.freeze({
40013
40199
  addonId: null,
40014
40200
  access: "view"
40015
40201
  },
40202
+ "pipelineAnalytics.getMediaReclaimStatus": {
40203
+ capName: "pipeline-analytics",
40204
+ capScope: "device",
40205
+ addonId: null,
40206
+ access: "view"
40207
+ },
40016
40208
  "pipelineAnalytics.getMotionEvents": {
40017
40209
  capName: "pipeline-analytics",
40018
40210
  capScope: "device",
@@ -40187,6 +40379,12 @@ Object.freeze({
40187
40379
  addonId: null,
40188
40380
  access: "create"
40189
40381
  },
40382
+ "pipelineAnalytics.reclaimDebugMedia": {
40383
+ capName: "pipeline-analytics",
40384
+ capScope: "device",
40385
+ addonId: null,
40386
+ access: "create"
40387
+ },
40190
40388
  "pipelineAnalytics.reconcileFromDisk": {
40191
40389
  capName: "pipeline-analytics",
40192
40390
  capScope: "device",
@@ -41111,6 +41309,12 @@ Object.freeze({
41111
41309
  addonId: null,
41112
41310
  access: "view"
41113
41311
  },
41312
+ "recording.getPlacement": {
41313
+ capName: "recording",
41314
+ capScope: "system",
41315
+ addonId: null,
41316
+ access: "view"
41317
+ },
41114
41318
  "recording.getPlaybackManifest": {
41115
41319
  capName: "recording",
41116
41320
  capScope: "system",
@@ -41237,6 +41441,12 @@ Object.freeze({
41237
41441
  addonId: null,
41238
41442
  access: "create"
41239
41443
  },
41444
+ "recording.setDevicePlacement": {
41445
+ capName: "recording",
41446
+ capScope: "system",
41447
+ addonId: null,
41448
+ access: "create"
41449
+ },
41240
41450
  "recording.startStorageMigrationMove": {
41241
41451
  capName: "recording",
41242
41452
  capScope: "system",
@@ -41681,12 +41891,36 @@ Object.freeze({
41681
41891
  addonId: null,
41682
41892
  access: "create"
41683
41893
  },
41894
+ "storageMigration.cleanupCancel": {
41895
+ capName: "storage-migration",
41896
+ capScope: "system",
41897
+ addonId: null,
41898
+ access: "create"
41899
+ },
41900
+ "storageMigration.cleanupStart": {
41901
+ capName: "storage-migration",
41902
+ capScope: "system",
41903
+ addonId: null,
41904
+ access: "create"
41905
+ },
41906
+ "storageMigration.cleanupStatus": {
41907
+ capName: "storage-migration",
41908
+ capScope: "system",
41909
+ addonId: null,
41910
+ access: "view"
41911
+ },
41684
41912
  "storageMigration.drain": {
41685
41913
  capName: "storage-migration",
41686
41914
  capScope: "system",
41687
41915
  addonId: null,
41688
41916
  access: "create"
41689
41917
  },
41918
+ "storageMigration.history": {
41919
+ capName: "storage-migration",
41920
+ capScope: "system",
41921
+ addonId: null,
41922
+ access: "view"
41923
+ },
41690
41924
  "storageMigration.movers": {
41691
41925
  capName: "storage-migration",
41692
41926
  capScope: "system",
@@ -43803,6 +44037,11 @@ Object.freeze({
43803
44037
  form: "single",
43804
44038
  optional: true
43805
44039
  }],
44040
+ "pipelineAnalytics.reclaimDebugMedia": [{
44041
+ name: "deviceIds",
44042
+ form: "array",
44043
+ optional: true
44044
+ }],
43806
44045
  "pipelineAnalytics.reconcileFromDisk": [{
43807
44046
  name: "deviceId",
43808
44047
  form: "single",
@@ -44168,6 +44407,11 @@ Object.freeze({
44168
44407
  form: "single",
44169
44408
  optional: false
44170
44409
  }],
44410
+ "recording.setDevicePlacement": [{
44411
+ name: "deviceId",
44412
+ form: "single",
44413
+ optional: false
44414
+ }],
44171
44415
  "recording.startStorageMigrationMove": [{
44172
44416
  name: "deviceId",
44173
44417
  form: "single",
@@ -1,5 +1,5 @@
1
1
  import { h as e, l as t, u as n, y as r } from "./_virtual_mf___mfe_internal__addon_osd_manager_page__loadShare__react__loadShare__.js-Bs1t18EM.mjs";
2
- import { o as i, s as a } from "./responsive-DuPMoboD.mjs";
2
+ import { o as i, s as a } from "./responsive-C3oms3c6.mjs";
3
3
  import { n as o, r as s, t as c } from "./_virtual_mf___mfe_internal__addon_osd_manager_page__loadShare__react_mf_1_jsx_mf_2_runtime__loadShare__.js-DalfdIDw.mjs";
4
4
  var l = a("chevron-down", [["path", {
5
5
  d: "m6 9 6 6 6-6",
@@ -1,2 +1,2 @@
1
- import { n as e, t } from "./virtual_mf-REMOTE_ENTRY_ID___mfe_internal__addon_osd_manager_page__remoteEntry_js-B5mIR9KJ.mjs";
1
+ import { n as e, t } from "./virtual_mf-REMOTE_ENTRY_ID___mfe_internal__addon_osd_manager_page__remoteEntry_js-Cfa0UZmk.mjs";
2
2
  export { t as get, e as init };
@@ -1,6 +1,6 @@
1
1
  import { c as e, g as t, h as n, l as r, n as i, p as a, r as o, t as s, u as c, y as l } from "./_virtual_mf___mfe_internal__addon_osd_manager_page__loadShare__react__loadShare__.js-Bs1t18EM.mjs";
2
2
  import "./_virtual_mf___mfe_internal__addon_osd_manager_page__loadShare__react_mf_1_jsx_mf_2_runtime__loadShare__.js-DalfdIDw.mjs";
3
- import { n as u } from "./_virtual_mf___mfe_internal__addon_osd_manager_page__loadShare___mf_0_camstack_mf_1_types__loadShare__.js-BI_yNGG4.mjs";
3
+ import { n as u } from "./_virtual_mf___mfe_internal__addon_osd_manager_page__loadShare___mf_0_camstack_mf_1_types__loadShare__.js-B50VOT0N.mjs";
4
4
  //#region ../ui-library/node_modules/lucide-react/dist/esm/shared/src/utils/mergeClasses.js
5
5
  l();
6
6
  var d = (...e) => e.filter((e, t, n) => !!e && e.trim() !== "" && n.indexOf(e) === t).join(" ").trim(), f = (e) => e.replace(/([a-z0-9])([A-Z])/g, "$1-$2").toLowerCase(), p = (e) => e.replace(/^([A-Z])|[\s-_]+(\w)/g, (e, t, n) => n ? n.toUpperCase() : t.toLowerCase()), m = (e) => {
@@ -1,4 +1,4 @@
1
- import { s as e } from "./responsive-DuPMoboD.mjs";
1
+ import { s as e } from "./responsive-C3oms3c6.mjs";
2
2
  var t = e("eye-off", [
3
3
  ["path", {
4
4
  d: "M10.733 5.076a10.744 10.744 0 0 1 11.205 6.575 1 1 0 0 1 0 .696 10.747 10.747 0 0 1-1.444 2.49",
@@ -1,4 +1,4 @@
1
- import { s as e } from "./responsive-DuPMoboD.mjs";
1
+ import { s as e } from "./responsive-C3oms3c6.mjs";
2
2
  var t = e("trash-2", [
3
3
  ["path", {
4
4
  d: "M10 11v6",
@@ -1,5 +1,5 @@
1
1
  import { c as e, h as t, p as n, y as r } from "./_virtual_mf___mfe_internal__addon_osd_manager_page__loadShare__react__loadShare__.js-Bs1t18EM.mjs";
2
- import { s as i } from "./responsive-DuPMoboD.mjs";
2
+ import { s as i } from "./responsive-C3oms3c6.mjs";
3
3
  var a = i("camera", [["path", {
4
4
  d: "M13.997 4a2 2 0 0 1 1.76 1.05l.486.9A2 2 0 0 0 18.003 7H20a2 2 0 0 1 2 2v9a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V9a2 2 0 0 1 2-2h1.997a2 2 0 0 0 1.759-1.048l.489-.904A2 2 0 0 1 10.004 4z",
5
5
  key: "18u6gg"
@@ -2753,7 +2753,7 @@ async function rr(e) {
2753
2753
  }
2754
2754
  }
2755
2755
  async function ir() {
2756
- return tr ||= rr(() => import("./_virtual_mf-localSharedImportMap___mfe_internal__addon_osd_manager_page-BmuIjiOx.mjs")).catch((e) => {
2756
+ return tr ||= rr(() => import("./_virtual_mf-localSharedImportMap___mfe_internal__addon_osd_manager_page-DY3AcYMO.mjs")).catch((e) => {
2757
2757
  throw tr = void 0, e;
2758
2758
  }), tr;
2759
2759
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@camstack/addon-osd-manager",
3
- "version": "0.1.42",
3
+ "version": "0.1.43",
4
4
  "description": "Binds camera on-screen-display slots to live state and recognitions",
5
5
  "keywords": [
6
6
  "camstack",