@mindexec/cli 0.2.168 → 0.2.170

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/package.json +1 -1
  2. package/wwwroot/_content/MindExecution.Shared/js/mind-map-css3d-manager.js +33 -52
  3. package/wwwroot/_content/MindExecution.Shared/js/mind-map-text-overlay-v2.js +33 -9
  4. package/wwwroot/_framework/MindExecution.Core.te2oaei5ec.dll +0 -0
  5. package/wwwroot/_framework/{MindExecution.Kernel.3zom09ir6j.dll → MindExecution.Kernel.n5peonkatw.dll} +0 -0
  6. package/wwwroot/_framework/{MindExecution.Plugins.Admin.bk23zzy6wc.dll → MindExecution.Plugins.Admin.5zyeb2m709.dll} +0 -0
  7. package/wwwroot/_framework/{MindExecution.Plugins.Business.zwcvc8wufe.dll → MindExecution.Plugins.Business.y86u2cwvbo.dll} +0 -0
  8. package/wwwroot/_framework/{MindExecution.Plugins.Concept.jjroz0y6yj.dll → MindExecution.Plugins.Concept.dqp17ek1rn.dll} +0 -0
  9. package/wwwroot/_framework/{MindExecution.Plugins.Directory.jc0g7fvyzv.dll → MindExecution.Plugins.Directory.1argo44nph.dll} +0 -0
  10. package/wwwroot/_framework/{MindExecution.Plugins.PlanMaster.dixluk75d8.dll → MindExecution.Plugins.PlanMaster.zewiglru4p.dll} +0 -0
  11. package/wwwroot/_framework/{MindExecution.Plugins.YouTube.xvia9xcwgo.dll → MindExecution.Plugins.YouTube.y327w3bscm.dll} +0 -0
  12. package/wwwroot/_framework/{MindExecution.Shared.4f3q9uzs9j.dll → MindExecution.Shared.91aeizslxg.dll} +0 -0
  13. package/wwwroot/_framework/MindExecution.Web.xoas9nws45.dll +0 -0
  14. package/wwwroot/_framework/blazor.boot.json +21 -21
  15. package/wwwroot/index.html +3 -3
  16. package/wwwroot/service-worker-assets.js +25 -25
  17. package/wwwroot/service-worker.js +1 -1
  18. package/wwwroot/_framework/MindExecution.Core.asayb4hw1o.dll +0 -0
  19. package/wwwroot/_framework/MindExecution.Web.1clnmq4i83.dll +0 -0
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mindexec/cli",
3
- "version": "0.2.168",
3
+ "version": "0.2.170",
4
4
  "description": "MindExec local runtime and bridge CLI",
5
5
  "main": "server.js",
6
6
  "type": "module",
@@ -3898,7 +3898,7 @@
3898
3898
  const NEUTRAL_SELECTION_GLOW_RGB_SOFT = '191, 219, 254';
3899
3899
  const CSS3D_WRAPPER_TRANSITION = 'box-shadow .22s ease, filter .22s ease';
3900
3900
  const CSS3D_WRAPPER_WEBKIT_TRANSITION = '-webkit-box-shadow .22s ease, -webkit-filter .22s ease';
3901
- const TEXT_OVERLAY_SUPPORTED_TYPES = new Set(['text', 'markdown', 'note', 'code', 'memo', CSV_TABLE_CONTENT_TYPE, 'templatelauncher']);
3901
+ const TEXT_OVERLAY_SUPPORTED_TYPES = new Set(['text', 'markdown', 'note', 'code', 'memo', CSV_TABLE_CONTENT_TYPE]);
3902
3902
  const TEXT_SELECTION_OVERLAY_SUPPORTED_TYPES = new Set(['text', 'markdown']);
3903
3903
  const TEXT_INTERACTION_SCROLLABLE_SELECTORS = '.node-response, .note-content, .markdown-body, .prose, .note-textarea, .code-body, .code-content, .csv-table-scroll, .csv-table-scroll *, .pdf-content, .text-content, .file-content, .map-node-memo__body, .map-node-memo__body-view, .map-node-memo__agent-plan-body, .map-node-memo__agent-console-body, pre, code';
3904
3904
  const TEXT_INTERACTION_CONTENT_SELECTORS = '.node-response, .code-body, .text-content, .markdown-body, .prose, .csv-table-scroll, .csv-table-cell';
@@ -4013,10 +4013,17 @@
4013
4013
  || isRemoteFleetDeviceNode(nodeModel);
4014
4014
  }
4015
4015
 
4016
+ function isCss3dOnlyTemplateSurfaceNode(nodeModel) {
4017
+ const contentType = String(nodeModel?.contentType ?? nodeModel?.ContentType ?? '').trim().toLowerCase();
4018
+ return contentType === 'templatelauncher'
4019
+ || contentType === 'remote-control'
4020
+ || isRemoteFleetMonitorNode(nodeModel)
4021
+ || isRemoteFleetDeviceNode(nodeModel);
4022
+ }
4023
+
4016
4024
  function isLiveOverlayPortalNode(nodeModel) {
4017
4025
  const contentType = String(nodeModel?.contentType ?? nodeModel?.ContentType ?? '').trim().toLowerCase();
4018
4026
  return contentType === CSV_TABLE_CONTENT_TYPE
4019
- || isTemplateLauncherNode(nodeModel)
4020
4027
  || isBusinessAutomationNode(nodeModel);
4021
4028
  }
4022
4029
 
@@ -4085,6 +4092,10 @@
4085
4092
  }
4086
4093
 
4087
4094
  function getReadonlyTextOverlayMode(nodeEntry) {
4095
+ if (isCss3dOnlyTemplateSurfaceNode(nodeEntry?.model)) {
4096
+ return 'none';
4097
+ }
4098
+
4088
4099
  if (!supportsTextOverlay(nodeEntry?.model)) {
4089
4100
  return 'none';
4090
4101
  }
@@ -14146,13 +14157,9 @@
14146
14157
  }
14147
14158
 
14148
14159
  const overlay = window.MindMapTextOverlayV2;
14149
- let invalidated = false;
14150
- if (typeof overlay?.invalidateReadonlySource === 'function') {
14151
- invalidated = overlay.invalidateReadonlySource(_module, id, `remote-monitor-${reason}`) === true;
14152
- } else if (typeof overlay?.invalidateNode === 'function') {
14153
- overlay.invalidateNode(_module, id, 'layout');
14154
- invalidated = true;
14155
- }
14160
+ const purgedOverlayCount = typeof overlay?.purgeMediaOverlayCards === 'function'
14161
+ ? Number(overlay.purgeMediaOverlayCards(_module) || 0)
14162
+ : 0;
14156
14163
 
14157
14164
  _module._forceUpdateFrames = Math.max(Number(_module._forceUpdateFrames || 0), 2);
14158
14165
  _module._css3dVisualChangedThisFrame = true;
@@ -14162,13 +14169,14 @@
14162
14169
  nodeId: id,
14163
14170
  density: normalizeRemoteFleetMonitorSize(sizeState),
14164
14171
  reason: String(reason || 'projection'),
14165
- overlayInvalidated: invalidated
14172
+ css3dOnly: true,
14173
+ purgedOverlayCount
14166
14174
  };
14167
14175
  window.RuntimeTrace?.emit?.('remote.monitor.projectionInvalidated', tracePayload);
14168
14176
  if (reason === 'size') {
14169
14177
  window.RuntimeTrace?.emit?.('remote.monitor.sizeChanged', tracePayload);
14170
14178
  }
14171
- return invalidated;
14179
+ return purgedOverlayCount > 0;
14172
14180
  }
14173
14181
 
14174
14182
  function getRemoteFleetBodyFromPreview(preview) {
@@ -14204,8 +14212,7 @@
14204
14212
  }
14205
14213
 
14206
14214
  state.raf = 0;
14207
- let woke = false;
14208
- const overlayState = module._textOverlayV2State || null;
14215
+ let wakeCount = 0;
14209
14216
  state.nodeIds.forEach(nodeId => {
14210
14217
  const normalizedNodeId = String(nodeId || '').trim();
14211
14218
  if (!normalizedNodeId) {
@@ -14217,54 +14224,24 @@
14217
14224
  return;
14218
14225
  }
14219
14226
 
14220
- const card = overlayState?.cards?.get?.(`selection:${normalizedNodeId}`) || null;
14221
- const hasLiveOverlayCard =
14222
- !!card &&
14223
- card.style?.display !== 'none' &&
14224
- card.dataset?.sourceKind === 'live' &&
14225
- card.dataset?.liveInteractive === 'true';
14226
- const mayCreatePassiveOverlay =
14227
- window.MindMapTextOverlayV2?.shouldRenderPassiveDomOverlays?.(module) === true &&
14228
- (
14229
- overlayState?.passiveCandidateIds?.has?.(normalizedNodeId) === true ||
14230
- module._visibleIds?.has?.(normalizedNodeId) === true ||
14231
- module._prevVisibleIds?.has?.(normalizedNodeId) === true ||
14232
- String(module.selectedNodeIdJs || '').trim() === normalizedNodeId
14233
- );
14234
-
14235
- if (!hasLiveOverlayCard && !mayCreatePassiveOverlay) {
14236
- return;
14237
- }
14238
-
14239
- if (hasLiveOverlayCard) {
14240
- if (overlayState?.layer?.style && module._suppressPassiveDomOverlayDuringZoom !== true) {
14241
- overlayState.layer.style.display = '';
14242
- }
14243
- card.style.display = 'block';
14244
- } else {
14245
- window.MindMapTextOverlayV2?.invalidateNode?.(module, normalizedNodeId, 'remote-live-frame');
14246
- module._overlayDirty = true;
14247
- module._lastOverlayKey = '';
14248
- }
14249
-
14250
- woke = true;
14227
+ wakeCount += 1;
14251
14228
  });
14252
14229
  state.nodeIds.clear();
14253
14230
 
14254
- if (!woke) {
14231
+ if (wakeCount <= 0) {
14255
14232
  return;
14256
14233
  }
14257
14234
 
14258
14235
  module._forceUpdateFrames = Math.max(Number(module._forceUpdateFrames || 0), 2);
14259
14236
  module._css3dVisualChangedThisFrame = true;
14260
14237
  module._css3dVisualChangedSinceLastRender = true;
14261
- wakeRemoteFleetModuleAnimation(module, 'remote-live-overlay-frame');
14238
+ wakeRemoteFleetModuleAnimation(module, 'remote-live-css3d-frame');
14262
14239
 
14263
14240
  const now = getRemoteFleetFrameNow();
14264
14241
  if (now - Number(module._remoteFleetLiveOverlayWakeLastTraceAt || 0) >= 1000) {
14265
14242
  module._remoteFleetLiveOverlayWakeLastTraceAt = now;
14266
- window.RuntimeTrace?.emit?.('remote.frame.overlayWake', {
14267
- nodes: state.lastWakeCount || 0
14243
+ window.RuntimeTrace?.emit?.('remote.frame.css3dWake', {
14244
+ nodes: wakeCount
14268
14245
  });
14269
14246
  }
14270
14247
  }
@@ -22576,11 +22553,15 @@
22576
22553
  const hasVisibleOverlayV2Card =
22577
22554
  !!selectionCard && selectionCard.style.display !== 'none'
22578
22555
  || !!editingCard && editingCard.style.display !== 'none';
22556
+ const css3dOnlyTemplateSurface = isCss3dOnlyTemplateSurfaceNode(nodeModel);
22579
22557
  const shouldRefreshOverlay =
22580
- String(_module.selectedNodeIdJs || '').trim() === nodeId
22581
- || String(_module._selectableTextOverlayNodeId || '').trim() === nodeId
22582
- || _module._textOverlayElements?.has?.(nodeId) === true
22583
- || hasVisibleOverlayV2Card;
22558
+ !css3dOnlyTemplateSurface &&
22559
+ (
22560
+ String(_module.selectedNodeIdJs || '').trim() === nodeId
22561
+ || String(_module._selectableTextOverlayNodeId || '').trim() === nodeId
22562
+ || _module._textOverlayElements?.has?.(nodeId) === true
22563
+ || hasVisibleOverlayV2Card
22564
+ );
22584
22565
  if (shouldRefreshOverlay) {
22585
22566
  _module._overlayDirty = true;
22586
22567
  _module._lastOverlayKey = '';
@@ -16,6 +16,7 @@
16
16
  const LIVE_TEMPLATE_OVERLAY_MODE = 'live-template';
17
17
  const CSV_TABLE_CONTENT_TYPE = 'csv-table';
18
18
  const REMOTE_FLEET_SEMANTIC_TYPE = 'RemoteFleetMonitor';
19
+ const REMOTE_FLEET_DEVICE_SEMANTIC_TYPE = 'RemoteFleetDevice';
19
20
  const BUSINESS_AUTOMATION_SEMANTIC_TYPE = 'BusinessAutomationNode';
20
21
  const log = DEBUG ? console.log.bind(console, '[MindMapTextOverlayV2]') : () => { };
21
22
  let _projCornerTopLeft = null;
@@ -62,6 +63,15 @@
62
63
  return type === 'image' || type === 'video' || type === 'embed';
63
64
  }
64
65
 
66
+ function isCss3dOnlyOverlayEntry(entry) {
67
+ const type = getContentType(entry);
68
+ const semanticType = getNodeSemanticType(entry);
69
+ return type === 'templatelauncher'
70
+ || type === 'remote-control'
71
+ || semanticType === REMOTE_FLEET_SEMANTIC_TYPE
72
+ || semanticType === REMOTE_FLEET_DEVICE_SEMANTIC_TYPE;
73
+ }
74
+
65
75
  function getPrompt(target) {
66
76
  const model = getModel(target);
67
77
  return String(model?.prompt ?? model?.Prompt ?? '');
@@ -84,11 +94,13 @@
84
94
  }
85
95
 
86
96
  function isLiveInteractiveOverlayEntry(entry) {
97
+ if (isCss3dOnlyOverlayEntry(entry)) {
98
+ return false;
99
+ }
100
+
87
101
  const type = getContentType(entry);
88
102
  const semanticType = getNodeSemanticType(entry);
89
- return type === 'templatelauncher'
90
- || type === CSV_TABLE_CONTENT_TYPE
91
- || semanticType === REMOTE_FLEET_SEMANTIC_TYPE
103
+ return type === CSV_TABLE_CONTENT_TYPE
92
104
  || semanticType === BUSINESS_AUTOMATION_SEMANTIC_TYPE;
93
105
  }
94
106
 
@@ -147,6 +159,10 @@
147
159
  }
148
160
 
149
161
  function supportsPassiveDisplay(entry) {
162
+ if (isCss3dOnlyOverlayEntry(entry)) {
163
+ return false;
164
+ }
165
+
150
166
  const manager = getCss3dManager();
151
167
  if (manager?.getReadonlyTextOverlayMode) {
152
168
  return String(getReadonlySelectionMode(entry) || '').trim().toLowerCase() !== 'none';
@@ -1449,7 +1465,11 @@
1449
1465
  cardContentType === 'image' ||
1450
1466
  cardContentType === 'video' ||
1451
1467
  cardContentType === 'embed';
1452
- if (!isMediaCard) {
1468
+ const isCss3dOnlyCard =
1469
+ isCss3dOnlyOverlayEntry(entry) ||
1470
+ cardContentType === 'templatelauncher' ||
1471
+ cardContentType === 'remote-control';
1472
+ if (!isMediaCard && !isCss3dOnlyCard) {
1453
1473
  return;
1454
1474
  }
1455
1475
 
@@ -1474,7 +1494,11 @@
1474
1494
  cardContentType === 'image' ||
1475
1495
  cardContentType === 'video' ||
1476
1496
  cardContentType === 'embed';
1477
- if (!isMediaCard) {
1497
+ const isCss3dOnlyCard =
1498
+ isCss3dOnlyOverlayEntry(entry) ||
1499
+ cardContentType === 'templatelauncher' ||
1500
+ cardContentType === 'remote-control';
1501
+ if (!isMediaCard && !isCss3dOnlyCard) {
1478
1502
  return;
1479
1503
  }
1480
1504
 
@@ -1495,7 +1519,7 @@
1495
1519
  }
1496
1520
 
1497
1521
  const entry = module?.nodeObjectsById?.get?.(nodeId) || null;
1498
- if (!isMediaOverlayExcluded(entry)) {
1522
+ if (!isMediaOverlayExcluded(entry) && !isCss3dOnlyOverlayEntry(entry)) {
1499
1523
  return;
1500
1524
  }
1501
1525
 
@@ -1512,7 +1536,7 @@
1512
1536
 
1513
1537
  if (options.resumeAllMedia === true && module?.nodeObjectsById?.forEach) {
1514
1538
  module.nodeObjectsById.forEach((entry, nodeId) => {
1515
- if (isMediaOverlayExcluded(entry)) {
1539
+ if (isMediaOverlayExcluded(entry) || isCss3dOnlyOverlayEntry(entry)) {
1516
1540
  sourceIdsToResume.add(normalizeId(nodeId || getNodeId(entry)));
1517
1541
  }
1518
1542
  });
@@ -3682,7 +3706,7 @@
3682
3706
  }
3683
3707
 
3684
3708
  const entry = module?.nodeObjectsById?.get?.(id) || null;
3685
- if (isMediaOverlayExcluded(entry)) {
3709
+ if (isMediaOverlayExcluded(entry) || isCss3dOnlyOverlayEntry(entry)) {
3686
3710
  purgeMediaOverlayCards(module, state);
3687
3711
  }
3688
3712
 
@@ -4057,7 +4081,7 @@
4057
4081
 
4058
4082
  const entry = module?.nodeObjectsById?.get?.(nodeId) || null;
4059
4083
  const existingCard = state.cards.get(selectionCardKey(nodeId)) || null;
4060
- if (isMediaOverlayExcluded(entry)) {
4084
+ if (isMediaOverlayExcluded(entry) || isCss3dOnlyOverlayEntry(entry)) {
4061
4085
  if (entry) {
4062
4086
  resumeSource(entry);
4063
4087
  }
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "mainAssemblyName": "MindExecution.Web",
3
3
  "resources": {
4
- "hash": "sha256-bEfhgmsw5exAoQfqI/7elkGIaVKkOgEA5Rj1id1N7/w=",
4
+ "hash": "sha256-M1GLnd7fewhdFsVjOsrUlrvOaJ9lWnCVe+7Q3HH9fmY=",
5
5
  "fingerprinting": {
6
6
  "Google.Protobuf.9h59ukbel7.dll": "Google.Protobuf.dll",
7
7
  "Markdig.d1j7v41cl1.dll": "Markdig.dll",
@@ -123,16 +123,16 @@
123
123
  "System.brmz7yk5qh.dll": "System.dll",
124
124
  "netstandard.yvr3prsx0x.dll": "netstandard.dll",
125
125
  "System.Private.CoreLib.c1dbswx1b2.dll": "System.Private.CoreLib.dll",
126
- "MindExecution.Core.asayb4hw1o.dll": "MindExecution.Core.dll",
127
- "MindExecution.Kernel.3zom09ir6j.dll": "MindExecution.Kernel.dll",
128
- "MindExecution.Plugins.Admin.bk23zzy6wc.dll": "MindExecution.Plugins.Admin.dll",
129
- "MindExecution.Plugins.Business.zwcvc8wufe.dll": "MindExecution.Plugins.Business.dll",
130
- "MindExecution.Plugins.Concept.jjroz0y6yj.dll": "MindExecution.Plugins.Concept.dll",
131
- "MindExecution.Plugins.Directory.jc0g7fvyzv.dll": "MindExecution.Plugins.Directory.dll",
132
- "MindExecution.Plugins.PlanMaster.dixluk75d8.dll": "MindExecution.Plugins.PlanMaster.dll",
133
- "MindExecution.Plugins.YouTube.xvia9xcwgo.dll": "MindExecution.Plugins.YouTube.dll",
134
- "MindExecution.Shared.4f3q9uzs9j.dll": "MindExecution.Shared.dll",
135
- "MindExecution.Web.1clnmq4i83.dll": "MindExecution.Web.dll",
126
+ "MindExecution.Core.te2oaei5ec.dll": "MindExecution.Core.dll",
127
+ "MindExecution.Kernel.n5peonkatw.dll": "MindExecution.Kernel.dll",
128
+ "MindExecution.Plugins.Admin.5zyeb2m709.dll": "MindExecution.Plugins.Admin.dll",
129
+ "MindExecution.Plugins.Business.y86u2cwvbo.dll": "MindExecution.Plugins.Business.dll",
130
+ "MindExecution.Plugins.Concept.dqp17ek1rn.dll": "MindExecution.Plugins.Concept.dll",
131
+ "MindExecution.Plugins.Directory.1argo44nph.dll": "MindExecution.Plugins.Directory.dll",
132
+ "MindExecution.Plugins.PlanMaster.zewiglru4p.dll": "MindExecution.Plugins.PlanMaster.dll",
133
+ "MindExecution.Plugins.YouTube.y327w3bscm.dll": "MindExecution.Plugins.YouTube.dll",
134
+ "MindExecution.Shared.91aeizslxg.dll": "MindExecution.Shared.dll",
135
+ "MindExecution.Web.xoas9nws45.dll": "MindExecution.Web.dll",
136
136
  "dotnet.js": "dotnet.js",
137
137
  "dotnet.native.qc8g39g30v.js": "dotnet.native.js",
138
138
  "dotnet.native.boem75ye5i.wasm": "dotnet.native.wasm",
@@ -278,18 +278,18 @@
278
278
  "System.Xml.XDocument.sn51jas17n.dll": "sha256-GNI2kFgFmPTwzuzwUn8gxK+AzGLUWRJFdg9JzIbrybQ=",
279
279
  "System.brmz7yk5qh.dll": "sha256-CfM2miyj1KHApFmqMdLYWio3S/jrdON2pW9Xr2nTwlo=",
280
280
  "netstandard.yvr3prsx0x.dll": "sha256-EksNn8Luo4bOWqJ6X7dIe9qG9oOqwOVzjH2xYyMNi+E=",
281
- "MindExecution.Core.asayb4hw1o.dll": "sha256-5gla4JTR/zbvkGpneSt6S7ItE51+MjWgjW6L+B6Yevk=",
282
- "MindExecution.Kernel.3zom09ir6j.dll": "sha256-78vR2SNkF9FwdQv0fEItSyz4HzgyzwGUROJAnpripPA=",
283
- "MindExecution.Plugins.Concept.jjroz0y6yj.dll": "sha256-b0S2zjvy1W1c4mIS1+5bok/u+YLJwDuyoHxwyWaIElA=",
284
- "MindExecution.Plugins.PlanMaster.dixluk75d8.dll": "sha256-GwW9Mx7P7deAG7ZTdzfO2W2680WXvVSfQQsHJ3slgZU=",
285
- "MindExecution.Shared.4f3q9uzs9j.dll": "sha256-0KQ754i1QFwqrgT9QH/uIw6VUpfh3+NK5/kwVQFP8Sw=",
286
- "MindExecution.Web.1clnmq4i83.dll": "sha256-wQlqiaFnNqcWVxwdD7u3vP4OL3w6ZV51Js5/BkdurtU="
281
+ "MindExecution.Core.te2oaei5ec.dll": "sha256-yzvF/UwfBMiJb2zQvlW0HSNU9VJeFPsgsB40BszINvc=",
282
+ "MindExecution.Kernel.n5peonkatw.dll": "sha256-JfXgzqcnjRbW+XlMja53/jDG+/10sNVp+2V4F8w9s+Q=",
283
+ "MindExecution.Plugins.Concept.dqp17ek1rn.dll": "sha256-e+gzmkGMXTnehGnH70Anj7nq7F2uI5WsYW5JAno/6bs=",
284
+ "MindExecution.Plugins.PlanMaster.zewiglru4p.dll": "sha256-myixUCbBBHcS3HGC0XcG1Tbp06sWdYrpmhQyDwsFeAs=",
285
+ "MindExecution.Shared.91aeizslxg.dll": "sha256-TeiNMk92+kwG921X859p9HkSD1T7df8MggL1qdMX8iY=",
286
+ "MindExecution.Web.xoas9nws45.dll": "sha256-33V3qH3VSl2fFkO7hNIH2AUIOY/sdZ2GBYFFYzs799k="
287
287
  },
288
288
  "lazyAssembly": {
289
- "MindExecution.Plugins.Admin.bk23zzy6wc.dll": "sha256-uz7Nz0OZ8BBESp2Nr9YocyzV0dUrn7szPuD4/m/RWL8=",
290
- "MindExecution.Plugins.Business.zwcvc8wufe.dll": "sha256-3YDsB2/uNI+feWqJk+cesLHgNt8s2/8hXxGPO6CRZZE=",
291
- "MindExecution.Plugins.Directory.jc0g7fvyzv.dll": "sha256-PSe7135JPpTBmu4j+rGLF0Dc/6w/wDJNPi8zlfTmSMk=",
292
- "MindExecution.Plugins.YouTube.xvia9xcwgo.dll": "sha256-HQtqdcgpSLsR0ke1EO1UKGxE0kg3WXh/HobRANUBVII="
289
+ "MindExecution.Plugins.Admin.5zyeb2m709.dll": "sha256-kfvMS18tjQsoBT/nL40x6HiLaNM3Ls5G71Fk4skXtLg=",
290
+ "MindExecution.Plugins.Business.y86u2cwvbo.dll": "sha256-3tKQ7ry/rYHyhP1g2Zd2cc/VeJ9b87uC25zJSDyfE54=",
291
+ "MindExecution.Plugins.Directory.1argo44nph.dll": "sha256-GZZuAT3WZd9wDjQd+H8f6V9R2UYeLl/VOZxl9BnQVO0=",
292
+ "MindExecution.Plugins.YouTube.y327w3bscm.dll": "sha256-bsJhWb6LzS50bx1j7/bnfln0jsXItSnaXX10+QunoNM="
293
293
  }
294
294
  },
295
295
  "cacheBootResources": true,
@@ -7,8 +7,8 @@
7
7
  <title>MindExec | Run your ideas as AI task graphs</title>
8
8
  <meta name="description" content="MindExec is an AI execution canvas for solo builders, researchers, developers, and creators. Start with free browser tools, then move serious work into saved MindCanvas projects." />
9
9
  <base href="/" />
10
- <link rel="stylesheet" href="_content/MindExecution.Shared/css/app.css?v=20260617-monetization-v597" />
11
- <link rel="stylesheet" href="_content/MindExecution.Shared/css/mind-map-overrides.css?v=20260617-monetization-v597" />
10
+ <link rel="stylesheet" href="_content/MindExecution.Shared/css/app.css?v=20260617-skill-layer-v599" />
11
+ <link rel="stylesheet" href="_content/MindExecution.Shared/css/mind-map-overrides.css?v=20260617-skill-layer-v599" />
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 = '20260617-monetization-v597';
582
+ const scriptVersion = '20260617-skill-layer-v599';
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": "v7/jFlmK",
2
+ "version": "ZkEpt7bZ",
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-tVOXwWraF08ndMMJrGJhC6xbwLyBxzNsmLbDDcWNh60=",
89
+ "hash": "sha256-Gq7oFLeDeJULsLOOgrIOKIoXGKmlPxoHcFqUJY1Cby8=",
90
90
  "url": "_content/MindExecution.Shared/js/mind-map-css3d-manager.js"
91
91
  },
92
92
  {
@@ -154,7 +154,7 @@
154
154
  "url": "_content/MindExecution.Shared/js/mind-map-text-lod-system.js"
155
155
  },
156
156
  {
157
- "hash": "sha256-TYsOWDglKs9IpaKCvKCpmRhjYRx32npfGkCFbplRM3s=",
157
+ "hash": "sha256-rx/cVHultNvnlFu51ADy5JyKWO1kUkEezh5sSpvKOFY=",
158
158
  "url": "_content/MindExecution.Shared/js/mind-map-text-overlay-v2.js"
159
159
  },
160
160
  {
@@ -410,44 +410,44 @@
410
410
  "url": "_framework/MimeMapping.og9ys58ylm.dll"
411
411
  },
412
412
  {
413
- "hash": "sha256-5gla4JTR/zbvkGpneSt6S7ItE51+MjWgjW6L+B6Yevk=",
414
- "url": "_framework/MindExecution.Core.asayb4hw1o.dll"
413
+ "hash": "sha256-yzvF/UwfBMiJb2zQvlW0HSNU9VJeFPsgsB40BszINvc=",
414
+ "url": "_framework/MindExecution.Core.te2oaei5ec.dll"
415
415
  },
416
416
  {
417
- "hash": "sha256-78vR2SNkF9FwdQv0fEItSyz4HzgyzwGUROJAnpripPA=",
418
- "url": "_framework/MindExecution.Kernel.3zom09ir6j.dll"
417
+ "hash": "sha256-JfXgzqcnjRbW+XlMja53/jDG+/10sNVp+2V4F8w9s+Q=",
418
+ "url": "_framework/MindExecution.Kernel.n5peonkatw.dll"
419
419
  },
420
420
  {
421
- "hash": "sha256-uz7Nz0OZ8BBESp2Nr9YocyzV0dUrn7szPuD4/m/RWL8=",
422
- "url": "_framework/MindExecution.Plugins.Admin.bk23zzy6wc.dll"
421
+ "hash": "sha256-kfvMS18tjQsoBT/nL40x6HiLaNM3Ls5G71Fk4skXtLg=",
422
+ "url": "_framework/MindExecution.Plugins.Admin.5zyeb2m709.dll"
423
423
  },
424
424
  {
425
- "hash": "sha256-3YDsB2/uNI+feWqJk+cesLHgNt8s2/8hXxGPO6CRZZE=",
426
- "url": "_framework/MindExecution.Plugins.Business.zwcvc8wufe.dll"
425
+ "hash": "sha256-3tKQ7ry/rYHyhP1g2Zd2cc/VeJ9b87uC25zJSDyfE54=",
426
+ "url": "_framework/MindExecution.Plugins.Business.y86u2cwvbo.dll"
427
427
  },
428
428
  {
429
- "hash": "sha256-b0S2zjvy1W1c4mIS1+5bok/u+YLJwDuyoHxwyWaIElA=",
430
- "url": "_framework/MindExecution.Plugins.Concept.jjroz0y6yj.dll"
429
+ "hash": "sha256-e+gzmkGMXTnehGnH70Anj7nq7F2uI5WsYW5JAno/6bs=",
430
+ "url": "_framework/MindExecution.Plugins.Concept.dqp17ek1rn.dll"
431
431
  },
432
432
  {
433
- "hash": "sha256-PSe7135JPpTBmu4j+rGLF0Dc/6w/wDJNPi8zlfTmSMk=",
434
- "url": "_framework/MindExecution.Plugins.Directory.jc0g7fvyzv.dll"
433
+ "hash": "sha256-GZZuAT3WZd9wDjQd+H8f6V9R2UYeLl/VOZxl9BnQVO0=",
434
+ "url": "_framework/MindExecution.Plugins.Directory.1argo44nph.dll"
435
435
  },
436
436
  {
437
- "hash": "sha256-GwW9Mx7P7deAG7ZTdzfO2W2680WXvVSfQQsHJ3slgZU=",
438
- "url": "_framework/MindExecution.Plugins.PlanMaster.dixluk75d8.dll"
437
+ "hash": "sha256-myixUCbBBHcS3HGC0XcG1Tbp06sWdYrpmhQyDwsFeAs=",
438
+ "url": "_framework/MindExecution.Plugins.PlanMaster.zewiglru4p.dll"
439
439
  },
440
440
  {
441
- "hash": "sha256-HQtqdcgpSLsR0ke1EO1UKGxE0kg3WXh/HobRANUBVII=",
442
- "url": "_framework/MindExecution.Plugins.YouTube.xvia9xcwgo.dll"
441
+ "hash": "sha256-bsJhWb6LzS50bx1j7/bnfln0jsXItSnaXX10+QunoNM=",
442
+ "url": "_framework/MindExecution.Plugins.YouTube.y327w3bscm.dll"
443
443
  },
444
444
  {
445
- "hash": "sha256-0KQ754i1QFwqrgT9QH/uIw6VUpfh3+NK5/kwVQFP8Sw=",
446
- "url": "_framework/MindExecution.Shared.4f3q9uzs9j.dll"
445
+ "hash": "sha256-TeiNMk92+kwG921X859p9HkSD1T7df8MggL1qdMX8iY=",
446
+ "url": "_framework/MindExecution.Shared.91aeizslxg.dll"
447
447
  },
448
448
  {
449
- "hash": "sha256-wQlqiaFnNqcWVxwdD7u3vP4OL3w6ZV51Js5/BkdurtU=",
450
- "url": "_framework/MindExecution.Web.1clnmq4i83.dll"
449
+ "hash": "sha256-33V3qH3VSl2fFkO7hNIH2AUIOY/sdZ2GBYFFYzs799k=",
450
+ "url": "_framework/MindExecution.Web.xoas9nws45.dll"
451
451
  },
452
452
  {
453
453
  "hash": "sha256-IsZJ91/OW+fHzNqIgEc7Y072ns8z9dGritiSyvR9Wgc=",
@@ -770,7 +770,7 @@
770
770
  "url": "_framework/Websocket.Client.vapounvmnl.dll"
771
771
  },
772
772
  {
773
- "hash": "sha256-nLjoD84tmkQmeOB5dNCffUcHDhO2GWNuEWWfBq+zsMQ=",
773
+ "hash": "sha256-yyild8c4406FJK8Umlb1ZSmP2VdGjsTenBQPIA35kJw=",
774
774
  "url": "_framework/blazor.boot.json"
775
775
  },
776
776
  {
@@ -834,7 +834,7 @@
834
834
  "url": "image-manifest.json"
835
835
  },
836
836
  {
837
- "hash": "sha256-KluCONBDIAU7s8wyZEtRaYy8/PWMzL6OfiKoiMrnR7c=",
837
+ "hash": "sha256-gxJeTyHXPWnzlhEhEAZI6wvAJ+ecRbE5z5Ab3tPTOu8=",
838
838
  "url": "index.html"
839
839
  },
840
840
  {
@@ -1,4 +1,4 @@
1
- /* Manifest version: v7/jFlmK */
1
+ /* Manifest version: ZkEpt7bZ */
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