@camstack/addon-osd-manager 0.1.181 → 0.1.183

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 (19) hide show
  1. package/dist/{MotionZonesSettings-r-5gadcs.mjs → MotionZonesSettings-zw2RZO3c.mjs} +2 -2
  2. package/dist/{PrivacyMaskSettings-DPJp4rMl.mjs → PrivacyMaskSettings-MfIH7-Fl.mjs} +4 -4
  3. package/dist/{SceneMonitorEditor-H5pQrHy7.mjs → SceneMonitorEditor-B9fe5VoP.mjs} +3 -3
  4. package/dist/_stub.js +2106 -2106
  5. package/dist/{_virtual_mf-localSharedImportMap___mfe_internal__addon_osd_manager_page-C2I-8Qsr.mjs → _virtual_mf-localSharedImportMap___mfe_internal__addon_osd_manager_page-ChI8RP64.mjs} +4 -4
  6. package/dist/_virtual_mf___mfe_internal__addon_osd_manager_page__loadShare___mf_0_camstack_mf_1_types__loadShare__.js-CWgx3QDa.mjs +26 -0
  7. package/dist/addon-osd-manager.css +1 -1
  8. package/dist/{hostInit-CaDP2Kts.mjs → hostInit-BRdQ6lL_.mjs} +3 -3
  9. package/dist/index.js +92 -19
  10. package/dist/index.mjs +92 -19
  11. package/dist/{player-overlays-CWcXFKuD.mjs → player-overlays-DBos84dy.mjs} +1 -1
  12. package/dist/remoteEntry.js +1 -1
  13. package/dist/{responsive-BpY0yafY.mjs → responsive-CSrcORLE.mjs} +1 -1
  14. package/dist/{scene-monitor-copy-413cUke-.mjs → scene-monitor-copy-DvcsgzM2.mjs} +1 -1
  15. package/dist/{square-CtY8II3Z.mjs → square-BALj2dYA.mjs} +1 -1
  16. package/dist/{trash-2-m46kRm2C.mjs → trash-2-BMJXCVQ3.mjs} +1 -1
  17. package/dist/{virtual_mf-REMOTE_ENTRY_ID___mfe_internal__addon_osd_manager_page__remoteEntry_js-7EsNkWO1.mjs → virtual_mf-REMOTE_ENTRY_ID___mfe_internal__addon_osd_manager_page__remoteEntry_js-2kWEtYV7.mjs} +1 -1
  18. package/package.json +1 -1
  19. package/dist/_virtual_mf___mfe_internal__addon_osd_manager_page__loadShare___mf_0_camstack_mf_1_types__loadShare__.js-CYSzhahm.mjs +0 -26
package/dist/index.js CHANGED
@@ -27713,7 +27713,7 @@ var pipelineExecutorCapability = {
27713
27713
  auth: "admin"
27714
27714
  }),
27715
27715
  /**
27716
- * Best settings (D745): the MODEL-BOUND thresholds (`bindsToModel` keys of
27716
+ * Auto tune (D745): the MODEL-BOUND thresholds (`bindsToModel` keys of
27717
27717
  * the object-detection root, and their binding keys) stored in THIS node's
27718
27718
  * per-camera detector settings — and, unless `dryRun`, remove them so the
27719
27719
  * running model's own defaults apply. Every other key of a camera's store
@@ -28176,7 +28176,52 @@ var SuggestSharesResultSchema = object({
28176
28176
  nodes: array(SuggestedNodeShareSchema).readonly()
28177
28177
  });
28178
28178
  /**
28179
- * The wire shapes of the Best settings plan and apply (D745), used by the
28179
+ * Where the node and device shares come from (D750).
28180
+ * - `auto` — computed by the system from the cluster's measured capacity at
28181
+ * the Auto tune models, and recomputed whenever a node or device joins,
28182
+ * leaves, is switched on or off, or changes model.
28183
+ * - `manual` — the operator's stored sliders. A node or device that cannot
28184
+ * take sessions gives its share to the others in proportion; the stored
28185
+ * values are never rewritten for that.
28186
+ */
28187
+ var ShareSourceSchema = _enum(["auto", "manual"]);
28188
+ var SetShareSourceInputSchema = object({ source: ShareSourceSchema });
28189
+ object({
28190
+ nodes: record(string(), number()),
28191
+ devices: record(string(), record(string(), number()))
28192
+ });
28193
+ var EffectiveDeviceShareSchema = object({
28194
+ deviceKey: string(),
28195
+ /** Can take sessions now (enabled, available, can run the root). */
28196
+ eligible: boolean(),
28197
+ /** The share the source assigns, as a percentage of the node's devices. */
28198
+ configuredPct: number(),
28199
+ /** The share actually used, after an ineligible device's share went to the others. */
28200
+ effectivePct: number()
28201
+ });
28202
+ var EffectiveNodeShareSchema = object({
28203
+ nodeId: string(),
28204
+ eligible: boolean(),
28205
+ configuredPct: number(),
28206
+ effectivePct: number(),
28207
+ devices: array(EffectiveDeviceShareSchema).readonly()
28208
+ });
28209
+ var EffectiveSharesSchema = object({
28210
+ source: ShareSourceSchema,
28211
+ policy: SessionPlacementPolicySchema,
28212
+ /** `auto` with no computed answer yet: the stored sliders are used meanwhile. */
28213
+ autoPending: boolean(),
28214
+ /** When the automatic shares were last computed (ms epoch); null = never. */
28215
+ computedAt: number().nullable(),
28216
+ /** What made the system recompute them last. */
28217
+ trigger: string().nullable(),
28218
+ nodes: array(EffectiveNodeShareSchema).readonly(),
28219
+ /** The relative weights the election reads (before eligibility). */
28220
+ nodeWeights: record(string(), number()),
28221
+ deviceWeights: record(string(), record(string(), number()))
28222
+ });
28223
+ /**
28224
+ * The wire shapes of the Auto tune plan and apply (D745), used by the
28180
28225
  * `pipeline-orchestrator` cap. The recommender's own types
28181
28226
  * (`recommend.ts`, `demand.ts`) are the TS face of the same data; these
28182
28227
  * schemas are what crosses the cap boundary.
@@ -28311,7 +28356,7 @@ var DetectorStoreClearSchema = object({
28311
28356
  deviceId: number(),
28312
28357
  keys: array(string()).readonly()
28313
28358
  });
28314
- var BestSettingsWarningSchema = discriminatedUnion("kind", [
28359
+ var AutoTuneWarningSchema = discriminatedUnion("kind", [
28315
28360
  object({
28316
28361
  kind: literal("detector-store-cluster-wide"),
28317
28362
  skippedNodes: array(string()).readonly()
@@ -28326,7 +28371,7 @@ var BestSettingsWarningSchema = discriminatedUnion("kind", [
28326
28371
  deviceKey: string()
28327
28372
  })
28328
28373
  ]);
28329
- var BestSettingsOptionsSchema = object({
28374
+ var AutoTuneOptionsSchema = object({
28330
28375
  /** Share of each accelerator's throughput kept free (0.3–0.5). */
28331
28376
  headroom: number().min(.3).max(.5).default(.4),
28332
28377
  /**
@@ -28337,7 +28382,7 @@ var BestSettingsOptionsSchema = object({
28337
28382
  */
28338
28383
  shares: LoadBalancingSharesInputSchema.optional()
28339
28384
  });
28340
- var BestSettingsPlanSchema = object({
28385
+ var AutoTunePlanSchema = object({
28341
28386
  /** Hash of everything the apply will write — the apply refuses a different one. */
28342
28387
  planHash: string(),
28343
28388
  family: literal("yolov9"),
@@ -28349,13 +28394,13 @@ var BestSettingsPlanSchema = object({
28349
28394
  nodeChanges: array(NodeDeviceChangeSchema).readonly(),
28350
28395
  cameraClears: array(CameraOverrideClearSchema).readonly(),
28351
28396
  detectorStoreClears: array(DetectorStoreClearSchema).readonly(),
28352
- warnings: array(BestSettingsWarningSchema).readonly()
28397
+ warnings: array(AutoTuneWarningSchema).readonly()
28353
28398
  });
28354
- var BestSettingsApplyInputSchema = object({
28399
+ var AutoTuneApplyInputSchema = object({
28355
28400
  planHash: string(),
28356
28401
  headroom: number().min(.3).max(.5).default(.4)
28357
28402
  });
28358
- var BestSettingsPhaseResultSchema = object({
28403
+ var AutoTunePhaseResultSchema = object({
28359
28404
  phase: _enum([
28360
28405
  "download",
28361
28406
  "camera-overrides",
@@ -28366,19 +28411,19 @@ var BestSettingsPhaseResultSchema = object({
28366
28411
  ok: boolean(),
28367
28412
  detail: string()
28368
28413
  });
28369
- var BestSettingsApplyResultSchema = discriminatedUnion("kind", [
28414
+ var AutoTuneApplyResultSchema = discriminatedUnion("kind", [
28370
28415
  object({
28371
28416
  kind: literal("applied"),
28372
28417
  planHash: string(),
28373
- phases: array(BestSettingsPhaseResultSchema).readonly()
28418
+ phases: array(AutoTunePhaseResultSchema).readonly()
28374
28419
  }),
28375
28420
  object({
28376
28421
  kind: literal("aborted"),
28377
- phases: array(BestSettingsPhaseResultSchema).readonly()
28422
+ phases: array(AutoTunePhaseResultSchema).readonly()
28378
28423
  }),
28379
28424
  object({
28380
28425
  kind: literal("stale"),
28381
- plan: BestSettingsPlanSchema
28426
+ plan: AutoTunePlanSchema
28382
28427
  }),
28383
28428
  object({
28384
28429
  kind: literal("refused"),
@@ -30563,7 +30608,7 @@ var pipelineOrchestratorCapability = {
30563
30608
  auth: "admin"
30564
30609
  }),
30565
30610
  /**
30566
- * Best settings (D745) — DRY RUN. Recommends ONE detector family (YOLOv9)
30611
+ * Auto tune (D745) — DRY RUN. Recommends ONE detector family (YOLOv9)
30567
30612
  * for the whole cluster from each node's static hardware class, the
30568
30613
  * measured latency table and the detection demand, and lists every write
30569
30614
  * the apply would make: the node model pins set, the enrichment pins and
@@ -30572,14 +30617,14 @@ var pipelineOrchestratorCapability = {
30572
30617
  * enablement, device enablement, pins, recording, notifications, zones and
30573
30618
  * rules are never part of it. `planHash` names exactly this diff.
30574
30619
  */
30575
- planBestSettings: method(BestSettingsOptionsSchema, BestSettingsPlanSchema, { auth: "admin" }),
30620
+ planAutoTune: method(AutoTuneOptionsSchema, AutoTunePlanSchema, { auth: "admin" }),
30576
30621
  /**
30577
- * Best settings (D745) — APPLY the plan the operator confirmed. Recomputes
30622
+ * Auto tune (D745) — APPLY the plan the operator confirmed. Recomputes
30578
30623
  * the plan and refuses (`stale`, with the fresh plan) when its hash is not
30579
30624
  * `planHash`, so what is written is exactly the confirmed diff. Offline
30580
30625
  * nodes are skipped; there is no undo.
30581
30626
  */
30582
- applyBestSettings: method(BestSettingsApplyInputSchema, BestSettingsApplyResultSchema, {
30627
+ applyAutoTune: method(AutoTuneApplyInputSchema, AutoTuneApplyResultSchema, {
30583
30628
  kind: "mutation",
30584
30629
  auth: "admin"
30585
30630
  }),
@@ -30605,11 +30650,27 @@ var pipelineOrchestratorCapability = {
30605
30650
  getPlacementStats: method(PlacementStatsInputSchema, PlacementStatsSchema, { auth: "admin" }),
30606
30651
  /**
30607
30652
  * Load balancing (D748) — shares proportional to each node's measured
30608
- * capacity at the models Best settings would pick, iterated (≤ 3 rounds)
30653
+ * capacity at the models Auto tune would pick, iterated (≤ 3 rounds)
30609
30654
  * until the shares stop moving; per device, an ADVISORY session cap.
30610
30655
  * Writes nothing.
30611
30656
  */
30612
30657
  suggestShares: method(SuggestSharesInputSchema, SuggestSharesResultSchema, { auth: "admin" }),
30658
+ /**
30659
+ * Load balancing (D750) — the shares placement reads now: the source
30660
+ * (automatic capacity shares or the operator's sliders), each node's and
30661
+ * device's configured share, and the effective share after a node or
30662
+ * device that cannot take sessions gave its share to the others.
30663
+ */
30664
+ getEffectiveShares: method(_void(), EffectiveSharesSchema, { auth: "admin" }),
30665
+ /**
30666
+ * Load balancing (D750) — switch between automatic and manual shares.
30667
+ * Going manual seeds the sliders with the current automatic shares (one
30668
+ * atomic write), so nothing jumps; going automatic recomputes at once.
30669
+ */
30670
+ setShareSource: method(SetShareSourceInputSchema, object({ success: literal(true) }), {
30671
+ kind: "mutation",
30672
+ auth: "admin"
30673
+ }),
30613
30674
  /** Read one camera's settings. Null when never touched (inherits agent defaults fully). */
30614
30675
  getCameraSettings: method(object({ deviceId: number() }), CameraPipelineSettingsSchema.nullable()),
30615
30676
  /** Set or clear the 3-state toggle for one (camera, addonId). Pass `enabled: null` to clear and revert to agent default. */
@@ -51685,7 +51746,7 @@ Object.freeze({
51685
51746
  addonId: null,
51686
51747
  access: "view"
51687
51748
  },
51688
- "pipelineOrchestrator.applyBestSettings": {
51749
+ "pipelineOrchestrator.applyAutoTune": {
51689
51750
  capName: "pipeline-orchestrator",
51690
51751
  capScope: "system",
51691
51752
  addonId: null,
@@ -51805,6 +51866,12 @@ Object.freeze({
51805
51866
  addonId: null,
51806
51867
  access: "view"
51807
51868
  },
51869
+ "pipelineOrchestrator.getEffectiveShares": {
51870
+ capName: "pipeline-orchestrator",
51871
+ capScope: "system",
51872
+ addonId: null,
51873
+ access: "view"
51874
+ },
51808
51875
  "pipelineOrchestrator.getGlobalMetrics": {
51809
51876
  capName: "pipeline-orchestrator",
51810
51877
  capScope: "system",
@@ -51871,7 +51938,7 @@ Object.freeze({
51871
51938
  addonId: null,
51872
51939
  access: "create"
51873
51940
  },
51874
- "pipelineOrchestrator.planBestSettings": {
51941
+ "pipelineOrchestrator.planAutoTune": {
51875
51942
  capName: "pipeline-orchestrator",
51876
51943
  capScope: "system",
51877
51944
  addonId: null,
@@ -52003,6 +52070,12 @@ Object.freeze({
52003
52070
  addonId: null,
52004
52071
  access: "create"
52005
52072
  },
52073
+ "pipelineOrchestrator.setShareSource": {
52074
+ capName: "pipeline-orchestrator",
52075
+ capScope: "system",
52076
+ addonId: null,
52077
+ access: "create"
52078
+ },
52006
52079
  "pipelineOrchestrator.suggestShares": {
52007
52080
  capName: "pipeline-orchestrator",
52008
52081
  capScope: "system",
package/dist/index.mjs CHANGED
@@ -27709,7 +27709,7 @@ var pipelineExecutorCapability = {
27709
27709
  auth: "admin"
27710
27710
  }),
27711
27711
  /**
27712
- * Best settings (D745): the MODEL-BOUND thresholds (`bindsToModel` keys of
27712
+ * Auto tune (D745): the MODEL-BOUND thresholds (`bindsToModel` keys of
27713
27713
  * the object-detection root, and their binding keys) stored in THIS node's
27714
27714
  * per-camera detector settings — and, unless `dryRun`, remove them so the
27715
27715
  * running model's own defaults apply. Every other key of a camera's store
@@ -28172,7 +28172,52 @@ var SuggestSharesResultSchema = object({
28172
28172
  nodes: array(SuggestedNodeShareSchema).readonly()
28173
28173
  });
28174
28174
  /**
28175
- * The wire shapes of the Best settings plan and apply (D745), used by the
28175
+ * Where the node and device shares come from (D750).
28176
+ * - `auto` — computed by the system from the cluster's measured capacity at
28177
+ * the Auto tune models, and recomputed whenever a node or device joins,
28178
+ * leaves, is switched on or off, or changes model.
28179
+ * - `manual` — the operator's stored sliders. A node or device that cannot
28180
+ * take sessions gives its share to the others in proportion; the stored
28181
+ * values are never rewritten for that.
28182
+ */
28183
+ var ShareSourceSchema = _enum(["auto", "manual"]);
28184
+ var SetShareSourceInputSchema = object({ source: ShareSourceSchema });
28185
+ object({
28186
+ nodes: record(string(), number()),
28187
+ devices: record(string(), record(string(), number()))
28188
+ });
28189
+ var EffectiveDeviceShareSchema = object({
28190
+ deviceKey: string(),
28191
+ /** Can take sessions now (enabled, available, can run the root). */
28192
+ eligible: boolean(),
28193
+ /** The share the source assigns, as a percentage of the node's devices. */
28194
+ configuredPct: number(),
28195
+ /** The share actually used, after an ineligible device's share went to the others. */
28196
+ effectivePct: number()
28197
+ });
28198
+ var EffectiveNodeShareSchema = object({
28199
+ nodeId: string(),
28200
+ eligible: boolean(),
28201
+ configuredPct: number(),
28202
+ effectivePct: number(),
28203
+ devices: array(EffectiveDeviceShareSchema).readonly()
28204
+ });
28205
+ var EffectiveSharesSchema = object({
28206
+ source: ShareSourceSchema,
28207
+ policy: SessionPlacementPolicySchema,
28208
+ /** `auto` with no computed answer yet: the stored sliders are used meanwhile. */
28209
+ autoPending: boolean(),
28210
+ /** When the automatic shares were last computed (ms epoch); null = never. */
28211
+ computedAt: number().nullable(),
28212
+ /** What made the system recompute them last. */
28213
+ trigger: string().nullable(),
28214
+ nodes: array(EffectiveNodeShareSchema).readonly(),
28215
+ /** The relative weights the election reads (before eligibility). */
28216
+ nodeWeights: record(string(), number()),
28217
+ deviceWeights: record(string(), record(string(), number()))
28218
+ });
28219
+ /**
28220
+ * The wire shapes of the Auto tune plan and apply (D745), used by the
28176
28221
  * `pipeline-orchestrator` cap. The recommender's own types
28177
28222
  * (`recommend.ts`, `demand.ts`) are the TS face of the same data; these
28178
28223
  * schemas are what crosses the cap boundary.
@@ -28307,7 +28352,7 @@ var DetectorStoreClearSchema = object({
28307
28352
  deviceId: number(),
28308
28353
  keys: array(string()).readonly()
28309
28354
  });
28310
- var BestSettingsWarningSchema = discriminatedUnion("kind", [
28355
+ var AutoTuneWarningSchema = discriminatedUnion("kind", [
28311
28356
  object({
28312
28357
  kind: literal("detector-store-cluster-wide"),
28313
28358
  skippedNodes: array(string()).readonly()
@@ -28322,7 +28367,7 @@ var BestSettingsWarningSchema = discriminatedUnion("kind", [
28322
28367
  deviceKey: string()
28323
28368
  })
28324
28369
  ]);
28325
- var BestSettingsOptionsSchema = object({
28370
+ var AutoTuneOptionsSchema = object({
28326
28371
  /** Share of each accelerator's throughput kept free (0.3–0.5). */
28327
28372
  headroom: number().min(.3).max(.5).default(.4),
28328
28373
  /**
@@ -28333,7 +28378,7 @@ var BestSettingsOptionsSchema = object({
28333
28378
  */
28334
28379
  shares: LoadBalancingSharesInputSchema.optional()
28335
28380
  });
28336
- var BestSettingsPlanSchema = object({
28381
+ var AutoTunePlanSchema = object({
28337
28382
  /** Hash of everything the apply will write — the apply refuses a different one. */
28338
28383
  planHash: string(),
28339
28384
  family: literal("yolov9"),
@@ -28345,13 +28390,13 @@ var BestSettingsPlanSchema = object({
28345
28390
  nodeChanges: array(NodeDeviceChangeSchema).readonly(),
28346
28391
  cameraClears: array(CameraOverrideClearSchema).readonly(),
28347
28392
  detectorStoreClears: array(DetectorStoreClearSchema).readonly(),
28348
- warnings: array(BestSettingsWarningSchema).readonly()
28393
+ warnings: array(AutoTuneWarningSchema).readonly()
28349
28394
  });
28350
- var BestSettingsApplyInputSchema = object({
28395
+ var AutoTuneApplyInputSchema = object({
28351
28396
  planHash: string(),
28352
28397
  headroom: number().min(.3).max(.5).default(.4)
28353
28398
  });
28354
- var BestSettingsPhaseResultSchema = object({
28399
+ var AutoTunePhaseResultSchema = object({
28355
28400
  phase: _enum([
28356
28401
  "download",
28357
28402
  "camera-overrides",
@@ -28362,19 +28407,19 @@ var BestSettingsPhaseResultSchema = object({
28362
28407
  ok: boolean(),
28363
28408
  detail: string()
28364
28409
  });
28365
- var BestSettingsApplyResultSchema = discriminatedUnion("kind", [
28410
+ var AutoTuneApplyResultSchema = discriminatedUnion("kind", [
28366
28411
  object({
28367
28412
  kind: literal("applied"),
28368
28413
  planHash: string(),
28369
- phases: array(BestSettingsPhaseResultSchema).readonly()
28414
+ phases: array(AutoTunePhaseResultSchema).readonly()
28370
28415
  }),
28371
28416
  object({
28372
28417
  kind: literal("aborted"),
28373
- phases: array(BestSettingsPhaseResultSchema).readonly()
28418
+ phases: array(AutoTunePhaseResultSchema).readonly()
28374
28419
  }),
28375
28420
  object({
28376
28421
  kind: literal("stale"),
28377
- plan: BestSettingsPlanSchema
28422
+ plan: AutoTunePlanSchema
28378
28423
  }),
28379
28424
  object({
28380
28425
  kind: literal("refused"),
@@ -30559,7 +30604,7 @@ var pipelineOrchestratorCapability = {
30559
30604
  auth: "admin"
30560
30605
  }),
30561
30606
  /**
30562
- * Best settings (D745) — DRY RUN. Recommends ONE detector family (YOLOv9)
30607
+ * Auto tune (D745) — DRY RUN. Recommends ONE detector family (YOLOv9)
30563
30608
  * for the whole cluster from each node's static hardware class, the
30564
30609
  * measured latency table and the detection demand, and lists every write
30565
30610
  * the apply would make: the node model pins set, the enrichment pins and
@@ -30568,14 +30613,14 @@ var pipelineOrchestratorCapability = {
30568
30613
  * enablement, device enablement, pins, recording, notifications, zones and
30569
30614
  * rules are never part of it. `planHash` names exactly this diff.
30570
30615
  */
30571
- planBestSettings: method(BestSettingsOptionsSchema, BestSettingsPlanSchema, { auth: "admin" }),
30616
+ planAutoTune: method(AutoTuneOptionsSchema, AutoTunePlanSchema, { auth: "admin" }),
30572
30617
  /**
30573
- * Best settings (D745) — APPLY the plan the operator confirmed. Recomputes
30618
+ * Auto tune (D745) — APPLY the plan the operator confirmed. Recomputes
30574
30619
  * the plan and refuses (`stale`, with the fresh plan) when its hash is not
30575
30620
  * `planHash`, so what is written is exactly the confirmed diff. Offline
30576
30621
  * nodes are skipped; there is no undo.
30577
30622
  */
30578
- applyBestSettings: method(BestSettingsApplyInputSchema, BestSettingsApplyResultSchema, {
30623
+ applyAutoTune: method(AutoTuneApplyInputSchema, AutoTuneApplyResultSchema, {
30579
30624
  kind: "mutation",
30580
30625
  auth: "admin"
30581
30626
  }),
@@ -30601,11 +30646,27 @@ var pipelineOrchestratorCapability = {
30601
30646
  getPlacementStats: method(PlacementStatsInputSchema, PlacementStatsSchema, { auth: "admin" }),
30602
30647
  /**
30603
30648
  * Load balancing (D748) — shares proportional to each node's measured
30604
- * capacity at the models Best settings would pick, iterated (≤ 3 rounds)
30649
+ * capacity at the models Auto tune would pick, iterated (≤ 3 rounds)
30605
30650
  * until the shares stop moving; per device, an ADVISORY session cap.
30606
30651
  * Writes nothing.
30607
30652
  */
30608
30653
  suggestShares: method(SuggestSharesInputSchema, SuggestSharesResultSchema, { auth: "admin" }),
30654
+ /**
30655
+ * Load balancing (D750) — the shares placement reads now: the source
30656
+ * (automatic capacity shares or the operator's sliders), each node's and
30657
+ * device's configured share, and the effective share after a node or
30658
+ * device that cannot take sessions gave its share to the others.
30659
+ */
30660
+ getEffectiveShares: method(_void(), EffectiveSharesSchema, { auth: "admin" }),
30661
+ /**
30662
+ * Load balancing (D750) — switch between automatic and manual shares.
30663
+ * Going manual seeds the sliders with the current automatic shares (one
30664
+ * atomic write), so nothing jumps; going automatic recomputes at once.
30665
+ */
30666
+ setShareSource: method(SetShareSourceInputSchema, object({ success: literal(true) }), {
30667
+ kind: "mutation",
30668
+ auth: "admin"
30669
+ }),
30609
30670
  /** Read one camera's settings. Null when never touched (inherits agent defaults fully). */
30610
30671
  getCameraSettings: method(object({ deviceId: number() }), CameraPipelineSettingsSchema.nullable()),
30611
30672
  /** Set or clear the 3-state toggle for one (camera, addonId). Pass `enabled: null` to clear and revert to agent default. */
@@ -51681,7 +51742,7 @@ Object.freeze({
51681
51742
  addonId: null,
51682
51743
  access: "view"
51683
51744
  },
51684
- "pipelineOrchestrator.applyBestSettings": {
51745
+ "pipelineOrchestrator.applyAutoTune": {
51685
51746
  capName: "pipeline-orchestrator",
51686
51747
  capScope: "system",
51687
51748
  addonId: null,
@@ -51801,6 +51862,12 @@ Object.freeze({
51801
51862
  addonId: null,
51802
51863
  access: "view"
51803
51864
  },
51865
+ "pipelineOrchestrator.getEffectiveShares": {
51866
+ capName: "pipeline-orchestrator",
51867
+ capScope: "system",
51868
+ addonId: null,
51869
+ access: "view"
51870
+ },
51804
51871
  "pipelineOrchestrator.getGlobalMetrics": {
51805
51872
  capName: "pipeline-orchestrator",
51806
51873
  capScope: "system",
@@ -51867,7 +51934,7 @@ Object.freeze({
51867
51934
  addonId: null,
51868
51935
  access: "create"
51869
51936
  },
51870
- "pipelineOrchestrator.planBestSettings": {
51937
+ "pipelineOrchestrator.planAutoTune": {
51871
51938
  capName: "pipeline-orchestrator",
51872
51939
  capScope: "system",
51873
51940
  addonId: null,
@@ -51999,6 +52066,12 @@ Object.freeze({
51999
52066
  addonId: null,
52000
52067
  access: "create"
52001
52068
  },
52069
+ "pipelineOrchestrator.setShareSource": {
52070
+ capName: "pipeline-orchestrator",
52071
+ capScope: "system",
52072
+ addonId: null,
52073
+ access: "create"
52074
+ },
52002
52075
  "pipelineOrchestrator.suggestShares": {
52003
52076
  capName: "pipeline-orchestrator",
52004
52077
  capScope: "system",
@@ -1,5 +1,5 @@
1
1
  import { b as e, g as t, l as n, u as r } from "./_virtual_mf___mfe_internal__addon_osd_manager_page__loadShare__react__loadShare__.js-C5jUMd7X.mjs";
2
- import { c as i, s as a } from "./responsive-BpY0yafY.mjs";
2
+ import { c as i, s as a } from "./responsive-CSrcORLE.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 = i("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-7EsNkWO1.mjs";
1
+ import { n as e, t } from "./virtual_mf-REMOTE_ENTRY_ID___mfe_internal__addon_osd_manager_page__remoteEntry_js-2kWEtYV7.mjs";
2
2
  export { t as get, e as init };
@@ -1,6 +1,6 @@
1
1
  import { _ as e, b as t, c as n, g as r, l as i, m as a, n as o, r as s, t as c, u as l } from "./_virtual_mf___mfe_internal__addon_osd_manager_page__loadShare__react__loadShare__.js-C5jUMd7X.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 { i as u } from "./_virtual_mf___mfe_internal__addon_osd_manager_page__loadShare___mf_0_camstack_mf_1_types__loadShare__.js-CYSzhahm.mjs";
3
+ import { i as u } from "./_virtual_mf___mfe_internal__addon_osd_manager_page__loadShare___mf_0_camstack_mf_1_types__loadShare__.js-CWgx3QDa.mjs";
4
4
  //#region ../../node_modules/lucide-react/dist/esm/shared/src/utils/mergeClasses.js
5
5
  t();
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,5 +1,5 @@
1
1
  import { b as e, c as t, g as n, m as r } from "./_virtual_mf___mfe_internal__addon_osd_manager_page__loadShare__react__loadShare__.js-C5jUMd7X.mjs";
2
- import { c as i } from "./responsive-BpY0yafY.mjs";
2
+ import { c as i } from "./responsive-CSrcORLE.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"
@@ -1,4 +1,4 @@
1
- import { c as e } from "./responsive-BpY0yafY.mjs";
1
+ import { c as e } from "./responsive-CSrcORLE.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 { c as e } from "./responsive-BpY0yafY.mjs";
1
+ import { c as e } from "./responsive-CSrcORLE.mjs";
2
2
  var t = e("trash-2", [
3
3
  ["path", {
4
4
  d: "M10 11v6",
@@ -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-C2I-8Qsr.mjs")).catch((e) => {
2756
+ return tr ||= rr(() => import("./_virtual_mf-localSharedImportMap___mfe_internal__addon_osd_manager_page-ChI8RP64.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.181",
3
+ "version": "0.1.183",
4
4
  "description": "Binds camera on-screen-display slots to live state and recognitions",
5
5
  "keywords": [
6
6
  "camstack",