@mindexec/cli 0.2.206 → 0.2.208

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mindexec/cli",
3
- "version": "0.2.206",
3
+ "version": "0.2.208",
4
4
  "description": "MindExec local runtime and bridge CLI",
5
5
  "main": "server.js",
6
6
  "type": "module",
@@ -17928,6 +17928,10 @@
17928
17928
  if (controlTarget) {
17929
17929
  return;
17930
17930
  }
17931
+ const monitorTileTarget = event.target?.closest?.('[data-remote-fleet-action="select-device"], [data-remote-fleet-device-preview]');
17932
+ if (monitorTileTarget) {
17933
+ return;
17934
+ }
17931
17935
 
17932
17936
  selectRemoteFleetMonitorNodeFromPointer(bodyView.dataset.remoteFleetMonitorNodeId, event);
17933
17937
  }, true);
@@ -18963,8 +18967,49 @@
18963
18967
  control.addEventListener(eventName, event => event.stopPropagation());
18964
18968
  });
18965
18969
  });
18970
+ const applySelectedDeviceVisualState = selectedDeviceId => {
18971
+ const normalizedSelectedId = String(selectedDeviceId || '').trim();
18972
+ const previousSelectedId = String(bodyView.dataset.remoteFleetSelectedDeviceId || '').trim();
18973
+ if (normalizedSelectedId) {
18974
+ bodyView.dataset.remoteFleetSelectedDeviceId = normalizedSelectedId;
18975
+ } else {
18976
+ delete bodyView.dataset.remoteFleetSelectedDeviceId;
18977
+ }
18978
+
18979
+ const updateCard = (card, isSelected) => {
18980
+ if (!card) return;
18981
+ const deviceId = String(card.dataset.deviceId || '').trim();
18982
+ if (!deviceId) return;
18983
+ card.dataset.remoteFleetSelected = isSelected ? 'true' : 'false';
18984
+ card.setAttribute('aria-pressed', isSelected ? 'true' : 'false');
18985
+
18986
+ const preview = card.querySelector?.('[data-remote-fleet-device-preview]') || card.firstElementChild;
18987
+ if (preview?.style) {
18988
+ preview.style.borderColor = isSelected
18989
+ ? 'rgba(37, 99, 235, 0.86)'
18990
+ : 'rgba(148, 163, 184, 0.24)';
18991
+ preview.style.outline = isSelected ? '2px solid rgba(37, 99, 235, 0.18)' : '0';
18992
+ preview.style.outlineOffset = isSelected ? '-2px' : '0';
18993
+ preview.style.boxShadow = 'none';
18994
+ }
18995
+ };
18996
+
18997
+ if (previousSelectedId && previousSelectedId !== normalizedSelectedId) {
18998
+ updateCard(grid.querySelector(`article[data-device-id="${cssEscapeValue(previousSelectedId)}"]`), false);
18999
+ }
19000
+
19001
+ if (normalizedSelectedId) {
19002
+ updateCard(grid.querySelector(`article[data-device-id="${cssEscapeValue(normalizedSelectedId)}"]`), true);
19003
+ }
19004
+
19005
+ window.RuntimeTrace?.emit?.('remote.monitor.deviceSelected', {
19006
+ nodeId,
19007
+ deviceId: normalizedSelectedId,
19008
+ mode: 'dom-patch'
19009
+ });
19010
+ };
18966
19011
  getDeviceCards().forEach(card => {
18967
- ['mousedown', 'mouseup', 'dblclick'].forEach(eventName => {
19012
+ ['pointerdown', 'mousedown', 'mouseup', 'dblclick'].forEach(eventName => {
18968
19013
  card.addEventListener(eventName, event => {
18969
19014
  if (event.button === 1 || event.button === 2) {
18970
19015
  if (eventName === 'mousedown') {
@@ -18974,14 +19019,16 @@
18974
19019
  }
18975
19020
 
18976
19021
  event.stopPropagation();
19022
+ event.stopImmediatePropagation?.();
18977
19023
  });
18978
19024
  });
18979
19025
  card.addEventListener('dblclick', event => {
18980
19026
  event.preventDefault();
18981
19027
  event.stopPropagation();
19028
+ event.stopImmediatePropagation?.();
18982
19029
  const deviceId = String(card.dataset.deviceId || '').trim();
18983
19030
  if (!deviceId) return;
18984
- bodyView.dataset.remoteFleetSelectedDeviceId = deviceId;
19031
+ applySelectedDeviceVisualState(deviceId);
18985
19032
  if (card.dataset.remoteFleetOpeningControlNode === 'true') {
18986
19033
  return;
18987
19034
  }
@@ -19012,9 +19059,10 @@
19012
19059
  const selectCard = event => {
19013
19060
  event.preventDefault();
19014
19061
  event.stopPropagation();
19062
+ event.stopImmediatePropagation?.();
19015
19063
  const deviceId = String(card.dataset.deviceId || '').trim();
19016
19064
  if (!deviceId) return;
19017
- bodyView.dataset.remoteFleetSelectedDeviceId = deviceId;
19065
+ applySelectedDeviceVisualState(deviceId);
19018
19066
  };
19019
19067
  card.addEventListener('click', selectCard);
19020
19068
  card.addEventListener('keydown', event => {
@@ -7,8 +7,8 @@
7
7
  <title>MindExec | Business Execution OS for solo builders</title>
8
8
  <meta name="description" content="MindExec is an AI business execution OS for solo builders who want to turn notes, research, assets, and repeatable execution Skills into revenue-producing work." />
9
9
  <base href="/" />
10
- <link rel="stylesheet" href="_content/MindExecution.Shared/css/app.css?v=20260618-project-thumbnail-nodes-v622-x1" />
11
- <link rel="stylesheet" href="_content/MindExecution.Shared/css/mind-map-overrides.css?v=20260618-project-thumbnail-nodes-v622-x1" />
10
+ <link rel="stylesheet" href="_content/MindExecution.Shared/css/app.css?v=20260618-mdm-select-isolated-v624-x1" />
11
+ <link rel="stylesheet" href="_content/MindExecution.Shared/css/mind-map-overrides.css?v=20260618-mdm-select-isolated-v624-x1" />
12
12
  <!-- ?占썩뼹??Font Awesome (local) ?占썩뼹??-->
13
13
  <link rel="stylesheet" href="_content/MindExecution.Shared/lib/font-awesome/css/all.min.css" />
14
14
  <!-- ?占썩뼯??-->
@@ -579,7 +579,7 @@
579
579
  }
580
580
 
581
581
  const base = '_content/MindExecution.Shared/js/';
582
- const scriptVersion = '20260618-project-thumbnail-nodes-v622-x1';
582
+ const scriptVersion = '20260618-mdm-select-isolated-v624-x1';
583
583
  const scriptUrl = (script) => `${base}${script}?v=${scriptVersion}`;
584
584
  console.log(`[Script Loader] Shared JS version: ${scriptVersion}`);
585
585
  const criticalScripts = [
@@ -1,5 +1,5 @@
1
1
  self.assetsManifest = {
2
- "version": "SaOJ/F0w",
2
+ "version": "3ooTJksk",
3
3
  "assets": [
4
4
  {
5
5
  "hash": "sha256-+CSYMcqLNTsq3VnH11jgYyOCCdxvHzL74CBmo4sCmMU=",
@@ -86,7 +86,7 @@
86
86
  "url": "_content/MindExecution.Shared/js/mind-map-core.js.backup"
87
87
  },
88
88
  {
89
- "hash": "sha256-HoINjuHDnlimFfhJ8p1PbllP8a3TaGJxSbR3wT6cOdY=",
89
+ "hash": "sha256-gj/1Ji+BbpWEEXxsJO/G06JwsucL7DPWqcPqRHEXAMg=",
90
90
  "url": "_content/MindExecution.Shared/js/mind-map-css3d-manager.js"
91
91
  },
92
92
  {
@@ -834,7 +834,7 @@
834
834
  "url": "image-manifest.json"
835
835
  },
836
836
  {
837
- "hash": "sha256-Yu4ksyC2qYgyh+5LJ62eR6plaNLjBTF/pRVH4shitOE=",
837
+ "hash": "sha256-G9VeNBViV+SdcI+K0CTSCBUeAPdnMjIquPkPHx3PKTE=",
838
838
  "url": "index.html"
839
839
  },
840
840
  {
@@ -1,4 +1,4 @@
1
- /* Manifest version: SaOJ/F0w */
1
+ /* Manifest version: 3ooTJksk */
2
2
  // Hosted deployments should prefer the network over stale offline caches.
3
3
  // This service worker immediately clears old Blazor offline caches and unregisters itself.
4
4