@mindexec/cli 0.2.29 → 0.2.30
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 +1 -1
- package/scripts/remote-fleet-render-smoke.mjs +29 -29
- package/wwwroot/_content/MindExecution.Shared/css/mind-map-overrides.css +25 -0
- package/wwwroot/_content/MindExecution.Shared/js/mind-map-css3d-manager.js +132 -12
- package/wwwroot/_content/MindExecution.Shared/js/mind-map-nodes.js +0 -1
- package/wwwroot/_framework/{MindExecution.Plugins.Concept.zczca3fsxz.dll → MindExecution.Plugins.Concept.faidxooqle.dll} +0 -0
- package/wwwroot/_framework/{MindExecution.Plugins.PlanMaster.jpdwbefrh1.dll → MindExecution.Plugins.PlanMaster.xfcd3pwd7p.dll} +0 -0
- package/wwwroot/_framework/{MindExecution.Plugins.YouTube.8nz4wv2nsj.dll → MindExecution.Plugins.YouTube.78s7dilkza.dll} +0 -0
- package/wwwroot/_framework/{MindExecution.Shared.ihh8mkcn5x.dll → MindExecution.Shared.hse89ibcyq.dll} +0 -0
- package/wwwroot/_framework/{MindExecution.Web.0cs29v57jl.dll → MindExecution.Web.p1v0ug5h4f.dll} +0 -0
- package/wwwroot/_framework/blazor.boot.json +11 -11
- package/wwwroot/index.html +1 -1
- package/wwwroot/service-worker-assets.js +16 -16
- package/wwwroot/service-worker.js +1 -1
package/package.json
CHANGED
|
@@ -421,7 +421,7 @@ function buildMonitorNode(devices, hubStatus, latestTaskBatch = null, recentTask
|
|
|
421
421
|
: 'inactive';
|
|
422
422
|
return {
|
|
423
423
|
id: 'remote-fleet-render-smoke',
|
|
424
|
-
contentType: '
|
|
424
|
+
contentType: 'templateLauncher',
|
|
425
425
|
metadata: {
|
|
426
426
|
SemanticType: 'RemoteFleetMonitor',
|
|
427
427
|
RemoteFleetSchemaVersion: 'remote-fleet@1',
|
|
@@ -452,6 +452,32 @@ function buildMonitorNode(devices, hubStatus, latestTaskBatch = null, recentTask
|
|
|
452
452
|
};
|
|
453
453
|
}
|
|
454
454
|
|
|
455
|
+
function createRemoteFleetTemplateShell(document, focusDeviceId = '') {
|
|
456
|
+
const nodeShell = document.createElement('div');
|
|
457
|
+
nodeShell.setAttribute('class', 'map-node-template-card map-node-remote-fleet');
|
|
458
|
+
const shell = document.createElement('div');
|
|
459
|
+
shell.setAttribute('class', 'template-card__shell template-card__shell--remote-fleet');
|
|
460
|
+
const header = document.createElement('div');
|
|
461
|
+
header.setAttribute('class', 'template-card__header template-card__header--remote-fleet');
|
|
462
|
+
const icon = document.createElement('div');
|
|
463
|
+
icon.setAttribute('class', 'template-card__icon template-card__icon--remote-fleet');
|
|
464
|
+
const titleWrap = document.createElement('div');
|
|
465
|
+
titleWrap.setAttribute('class', 'template-card__title-block');
|
|
466
|
+
titleWrap.textContent = 'Remote Fleet Monitor';
|
|
467
|
+
header.appendChild(icon);
|
|
468
|
+
header.appendChild(titleWrap);
|
|
469
|
+
const bodyView = document.createElement('div');
|
|
470
|
+
bodyView.setAttribute('class', 'template-card__remote-fleet-body');
|
|
471
|
+
bodyView.dataset.remoteFleetAutoMonitor = 'false';
|
|
472
|
+
if (focusDeviceId) {
|
|
473
|
+
bodyView.dataset.remoteFleetFocusDeviceId = focusDeviceId;
|
|
474
|
+
}
|
|
475
|
+
shell.appendChild(header);
|
|
476
|
+
shell.appendChild(bodyView);
|
|
477
|
+
nodeShell.appendChild(shell);
|
|
478
|
+
return { nodeShell, bodyView };
|
|
479
|
+
}
|
|
480
|
+
|
|
455
481
|
function buildDeviceNode(device, hubStatus) {
|
|
456
482
|
const endpoint = hubStatus.agentEndpoint || '127.0.0.1:5197';
|
|
457
483
|
return {
|
|
@@ -666,25 +692,7 @@ try {
|
|
|
666
692
|
};
|
|
667
693
|
manager.setModuleForTest({ dotNetHelper });
|
|
668
694
|
|
|
669
|
-
const nodeShell = document.
|
|
670
|
-
nodeShell.setAttribute('class', 'map-node-remote-fleet map-node-memo');
|
|
671
|
-
const header = document.createElement('div');
|
|
672
|
-
header.setAttribute('class', 'map-node-memo__header');
|
|
673
|
-
const iconWrap = document.createElement('div');
|
|
674
|
-
iconWrap.setAttribute('class', 'map-node-memo__icon-wrap');
|
|
675
|
-
const iconButton = document.createElement('button');
|
|
676
|
-
iconButton.setAttribute('class', 'map-node-memo__icon-button');
|
|
677
|
-
iconWrap.appendChild(iconButton);
|
|
678
|
-
const titleWrap = document.createElement('div');
|
|
679
|
-
titleWrap.setAttribute('class', 'map-node-memo__title-wrap');
|
|
680
|
-
titleWrap.textContent = 'Remote Fleet Monitor';
|
|
681
|
-
header.appendChild(iconWrap);
|
|
682
|
-
header.appendChild(titleWrap);
|
|
683
|
-
const bodyView = document.createElement('div');
|
|
684
|
-
bodyView.dataset.remoteFleetAutoMonitor = 'false';
|
|
685
|
-
bodyView.dataset.remoteFleetFocusDeviceId = focusedDevice.DeviceId;
|
|
686
|
-
nodeShell.appendChild(header);
|
|
687
|
-
nodeShell.appendChild(bodyView);
|
|
695
|
+
const { nodeShell, bodyView } = createRemoteFleetTemplateShell(document, focusedDevice.DeviceId);
|
|
688
696
|
document.body.appendChild(nodeShell);
|
|
689
697
|
|
|
690
698
|
manager.renderRemoteFleetMonitorForTest(bodyView, buildMonitorNode(devices, hub.getStatus({ includeSecrets: true }), latestTaskBatch, recentTaskBatches));
|
|
@@ -789,15 +797,7 @@ try {
|
|
|
789
797
|
call.methodName === 'DispatchRemoteFleetTaskBatchFromJs'
|
|
790
798
|
|| call.methodName === 'DispatchRemoteFleetTaskFromJs'), false);
|
|
791
799
|
|
|
792
|
-
const emptyShell = document
|
|
793
|
-
emptyShell.setAttribute('class', 'map-node-remote-fleet map-node-memo');
|
|
794
|
-
const emptyHeader = document.createElement('div');
|
|
795
|
-
emptyHeader.setAttribute('class', 'map-node-memo__header');
|
|
796
|
-
emptyHeader.appendChild(document.createElement('div'));
|
|
797
|
-
emptyHeader.appendChild(document.createElement('div'));
|
|
798
|
-
const emptyBody = document.createElement('div');
|
|
799
|
-
emptyShell.appendChild(emptyHeader);
|
|
800
|
-
emptyShell.appendChild(emptyBody);
|
|
800
|
+
const { nodeShell: emptyShell, bodyView: emptyBody } = createRemoteFleetTemplateShell(document);
|
|
801
801
|
document.body.appendChild(emptyShell);
|
|
802
802
|
manager.renderRemoteFleetMonitorForTest(emptyBody, buildMonitorNode([], hub.getStatus({ includeSecrets: true })));
|
|
803
803
|
assert.equal(emptyBody.querySelectorAll('[data-remote-fleet-empty-screen="true"]').length, 6);
|
|
@@ -2480,6 +2480,31 @@ body.is-panning .mind-map-text-overlay-v2-card.is-passive .mind-map-text-overlay
|
|
|
2480
2480
|
white-space: nowrap;
|
|
2481
2481
|
}
|
|
2482
2482
|
|
|
2483
|
+
.map-node-template-card.map-node-remote-fleet .template-card__shell--remote-fleet {
|
|
2484
|
+
gap: 10px;
|
|
2485
|
+
padding: 14px;
|
|
2486
|
+
background: #f8fafc;
|
|
2487
|
+
}
|
|
2488
|
+
|
|
2489
|
+
.map-node-template-card.map-node-remote-fleet .template-card__header--remote-fleet {
|
|
2490
|
+
align-items: center;
|
|
2491
|
+
}
|
|
2492
|
+
|
|
2493
|
+
.map-node-template-card.map-node-remote-fleet .template-card__icon--remote-fleet {
|
|
2494
|
+
border-color: rgba(37, 99, 235, 0.22);
|
|
2495
|
+
background: #eff6ff;
|
|
2496
|
+
color: #2563eb;
|
|
2497
|
+
}
|
|
2498
|
+
|
|
2499
|
+
.map-node-template-card.map-node-remote-fleet .template-card__remote-fleet-body {
|
|
2500
|
+
flex: 1 1 auto;
|
|
2501
|
+
min-height: 0;
|
|
2502
|
+
overflow: hidden;
|
|
2503
|
+
border: 1px solid rgba(148, 163, 184, 0.28);
|
|
2504
|
+
border-radius: 8px;
|
|
2505
|
+
background: #ffffff;
|
|
2506
|
+
}
|
|
2507
|
+
|
|
2483
2508
|
.template-card__generate:hover {
|
|
2484
2509
|
background: #115e59;
|
|
2485
2510
|
}
|
|
@@ -3587,7 +3587,7 @@
|
|
|
3587
3587
|
}
|
|
3588
3588
|
|
|
3589
3589
|
function isBusinessAutomationContextSourceNode(nodeModel) {
|
|
3590
|
-
if (!nodeModel || isBusinessAutomationNode(nodeModel)) {
|
|
3590
|
+
if (!nodeModel || isBusinessAutomationNode(nodeModel) || isRemoteFleetNode(nodeModel)) {
|
|
3591
3591
|
return false;
|
|
3592
3592
|
}
|
|
3593
3593
|
|
|
@@ -3600,7 +3600,6 @@
|
|
|
3600
3600
|
return semanticType === 'MindCanvasAgent'
|
|
3601
3601
|
|| semanticType === 'AgentCommand'
|
|
3602
3602
|
|| semanticType === BUSINESS_AUTOMATION_SEMANTIC_TYPE
|
|
3603
|
-
|| semanticType === REMOTE_FLEET_SEMANTIC_TYPE
|
|
3604
3603
|
|| semanticType === REMOTE_FLEET_DEVICE_SEMANTIC_TYPE;
|
|
3605
3604
|
}
|
|
3606
3605
|
|
|
@@ -11644,6 +11643,10 @@
|
|
|
11644
11643
|
}
|
|
11645
11644
|
|
|
11646
11645
|
function createTemplateLauncherNodeElement(nodeModel) {
|
|
11646
|
+
if (isRemoteFleetMonitorNode(nodeModel)) {
|
|
11647
|
+
return createRemoteFleetTemplateNodeElement(nodeModel);
|
|
11648
|
+
}
|
|
11649
|
+
|
|
11647
11650
|
const width = Number(nodeModel.width ?? nodeModel.Width ?? 560);
|
|
11648
11651
|
const height = Number(nodeModel.height ?? nodeModel.Height ?? 620);
|
|
11649
11652
|
const config = getTemplateCardConfig(nodeModel);
|
|
@@ -11734,6 +11737,54 @@
|
|
|
11734
11737
|
return container;
|
|
11735
11738
|
}
|
|
11736
11739
|
|
|
11740
|
+
function createRemoteFleetTemplateNodeElement(nodeModel) {
|
|
11741
|
+
const width = Number(nodeModel.width ?? nodeModel.Width ?? 960);
|
|
11742
|
+
const height = Number(nodeModel.height ?? nodeModel.Height ?? 620);
|
|
11743
|
+
const title = String(nodeModel.prompt ?? nodeModel.Prompt ?? 'Remote Fleet Monitor').trim()
|
|
11744
|
+
|| 'Remote Fleet Monitor';
|
|
11745
|
+
|
|
11746
|
+
const container = document.createElement('div');
|
|
11747
|
+
container.id = `node-${nodeModel.id}`;
|
|
11748
|
+
container.className = 'map-node css3d-dynamic-node map-node-template-card map-node-remote-fleet';
|
|
11749
|
+
container.dataset.nodeId = nodeModel.id;
|
|
11750
|
+
container.dataset.contentType = 'templateLauncher';
|
|
11751
|
+
container.dataset.semanticType = getNodeSemanticType(nodeModel);
|
|
11752
|
+
container.style.cssText = `
|
|
11753
|
+
width: ${width}px;
|
|
11754
|
+
height: ${height}px;
|
|
11755
|
+
box-sizing: border-box;
|
|
11756
|
+
overflow: hidden;
|
|
11757
|
+
pointer-events: auto;
|
|
11758
|
+
`;
|
|
11759
|
+
|
|
11760
|
+
const shell = document.createElement('div');
|
|
11761
|
+
shell.className = 'template-card__shell template-card__shell--remote-fleet';
|
|
11762
|
+
|
|
11763
|
+
const header = document.createElement('div');
|
|
11764
|
+
header.className = 'template-card__header template-card__header--remote-fleet';
|
|
11765
|
+
|
|
11766
|
+
const icon = document.createElement('div');
|
|
11767
|
+
icon.className = 'template-card__icon template-card__icon--remote-fleet';
|
|
11768
|
+
icon.innerHTML = '<i class="fa-solid fa-network-wired" aria-hidden="true"></i>';
|
|
11769
|
+
header.appendChild(icon);
|
|
11770
|
+
|
|
11771
|
+
const titleBlock = document.createElement('div');
|
|
11772
|
+
titleBlock.className = 'template-card__title-block';
|
|
11773
|
+
titleBlock.appendChild(createTemplateCardText('div', 'template-card__eyebrow', 'Remote'));
|
|
11774
|
+
titleBlock.appendChild(createTemplateCardText('div', 'template-card__title', title));
|
|
11775
|
+
header.appendChild(titleBlock);
|
|
11776
|
+
shell.appendChild(header);
|
|
11777
|
+
|
|
11778
|
+
const bodyView = document.createElement('div');
|
|
11779
|
+
bodyView.className = 'template-card__remote-fleet-body markdown-body mind-map-text-scrollable-view';
|
|
11780
|
+
bodyView.dataset.nodeId = nodeModel.id;
|
|
11781
|
+
renderRemoteFleetMonitor(bodyView, nodeModel);
|
|
11782
|
+
shell.appendChild(bodyView);
|
|
11783
|
+
|
|
11784
|
+
container.appendChild(shell);
|
|
11785
|
+
return container;
|
|
11786
|
+
}
|
|
11787
|
+
|
|
11737
11788
|
function stopMemoEvent(event) {
|
|
11738
11789
|
if (event.button === 1 || event.button === 2) {
|
|
11739
11790
|
return;
|
|
@@ -12314,7 +12365,9 @@
|
|
|
12314
12365
|
|
|
12315
12366
|
function attachRemoteFleetTitleActions(bodyView, hostButton, stopHostButton, hostState) {
|
|
12316
12367
|
const container = bodyView?.closest?.('.map-node-remote-fleet');
|
|
12317
|
-
const header = container?.querySelector?.('.
|
|
12368
|
+
const header = container?.querySelector?.('.template-card__header')
|
|
12369
|
+
|| container?.querySelector?.('.map-node-memo__header')
|
|
12370
|
+
|| null;
|
|
12318
12371
|
const existingActions = header?.querySelector?.('[data-remote-fleet-title-actions="true"]') || null;
|
|
12319
12372
|
existingActions?.remove?.();
|
|
12320
12373
|
|
|
@@ -12351,7 +12404,9 @@
|
|
|
12351
12404
|
}
|
|
12352
12405
|
|
|
12353
12406
|
if (header) {
|
|
12354
|
-
header.style.gridTemplateColumns = '
|
|
12407
|
+
header.style.gridTemplateColumns = header.classList?.contains?.('template-card__header')
|
|
12408
|
+
? '42px minmax(0, 1fr) auto'
|
|
12409
|
+
: '46px minmax(0, 1fr) auto';
|
|
12355
12410
|
header.appendChild(titleActions);
|
|
12356
12411
|
} else {
|
|
12357
12412
|
titleActions.style.alignSelf = 'flex-end';
|
|
@@ -15094,6 +15149,10 @@
|
|
|
15094
15149
|
}
|
|
15095
15150
|
|
|
15096
15151
|
function createMemoNodeElement(nodeModel) {
|
|
15152
|
+
if (isRemoteFleetMonitorNode(nodeModel)) {
|
|
15153
|
+
return createRemoteFleetTemplateNodeElement(nodeModel);
|
|
15154
|
+
}
|
|
15155
|
+
|
|
15097
15156
|
const width = Number(nodeModel.width || 320);
|
|
15098
15157
|
const height = Number(nodeModel.height || 240);
|
|
15099
15158
|
const title = nodeModel.prompt ?? nodeModel.Prompt ?? '';
|
|
@@ -17428,6 +17487,10 @@
|
|
|
17428
17487
|
const metadata = nodeModel.metadata ?? nodeModel.Metadata ?? {};
|
|
17429
17488
|
const agentId = metadata?.agentId ?? metadata?.AgentId;
|
|
17430
17489
|
const isAgentNode = nodeTypeLower.startsWith('agent_') || (agentId !== undefined && agentId !== null && String(agentId) !== '');
|
|
17490
|
+
if (isRemoteFleetMonitorNode(nodeModel)) {
|
|
17491
|
+
return createRemoteFleetTemplateNodeElement(nodeModel);
|
|
17492
|
+
}
|
|
17493
|
+
|
|
17431
17494
|
if (contentTypeLower === 'templatelauncher') {
|
|
17432
17495
|
return createTemplateLauncherNodeElement(nodeModel);
|
|
17433
17496
|
}
|
|
@@ -17853,7 +17916,10 @@
|
|
|
17853
17916
|
// ▼▼▼ [New] 템플릿이 없으면 동적으로 생성 (text/markdown 타입용) ▼▼▼
|
|
17854
17917
|
// [FIX] hybrid overlay가 기대하는 구조를 보장하기 위해 text/markdown/note/memo는 동적 DOM을 강제합니다.
|
|
17855
17918
|
const contentTypeLower = String(nodeModel.contentType ?? nodeModel.ContentType ?? '').toLowerCase();
|
|
17856
|
-
|
|
17919
|
+
const remoteFleetMonitor = isRemoteFleetMonitorNode(nodeModel);
|
|
17920
|
+
const visualContentTypeLower = remoteFleetMonitor ? 'templatelauncher' : contentTypeLower;
|
|
17921
|
+
if (remoteFleetMonitor
|
|
17922
|
+
|| contentTypeLower === 'text'
|
|
17857
17923
|
|| contentTypeLower === 'markdown'
|
|
17858
17924
|
|| contentTypeLower === 'note'
|
|
17859
17925
|
|| contentTypeLower === 'memo'
|
|
@@ -17872,8 +17938,8 @@
|
|
|
17872
17938
|
// But usually 'note' comes from Razor. If missing, we create it.
|
|
17873
17939
|
const dynamicTypes = ['text', 'markdown', 'code', 'note', 'memo', 'templatelauncher', 'image', 'video', 'embed'];
|
|
17874
17940
|
|
|
17875
|
-
if (dynamicTypes.includes(contentTypeLower)) {
|
|
17876
|
-
log(`[MindMapCss3DManager] Creating dynamic DOM element for ${contentTypeLower} node ${nodeModel.id}`);
|
|
17941
|
+
if (remoteFleetMonitor || dynamicTypes.includes(contentTypeLower)) {
|
|
17942
|
+
log(`[MindMapCss3DManager] Creating dynamic DOM element for ${visualContentTypeLower || contentTypeLower} node ${nodeModel.id}`);
|
|
17877
17943
|
templateElement = createDynamicNodeElement(nodeModel);
|
|
17878
17944
|
isDynamicallyCreated = true;
|
|
17879
17945
|
} else {
|
|
@@ -17971,7 +18037,7 @@
|
|
|
17971
18037
|
// ▲▲▲ [Perf] ▲▲▲
|
|
17972
18038
|
|
|
17973
18039
|
const wrapper = document.createElement('div');
|
|
17974
|
-
const wrapperTypeClass = `node-type-${
|
|
18040
|
+
const wrapperTypeClass = `node-type-${visualContentTypeLower || 'unknown'}`;
|
|
17975
18041
|
wrapper.className = `css3d-resolution-wrapper ${wrapperTypeClass}`;
|
|
17976
18042
|
wrapper.style.width = `${width * resolutionScale}px`; // ★ [Fix] Scale wrapper size
|
|
17977
18043
|
wrapper.style.height = `${height * resolutionScale}px`; // ★ [Fix] Scale wrapper size
|
|
@@ -18044,18 +18110,23 @@
|
|
|
18044
18110
|
});
|
|
18045
18111
|
}
|
|
18046
18112
|
|
|
18047
|
-
if (String(nodeModel.contentType ?? nodeModel.ContentType ?? '').toLowerCase() === 'memo'
|
|
18113
|
+
if (String(nodeModel.contentType ?? nodeModel.ContentType ?? '').toLowerCase() === 'memo'
|
|
18114
|
+
&& !isRemoteFleetMonitorNode(nodeModel)) {
|
|
18048
18115
|
bindMemoNodeEvents(clonedElement, nodeModel);
|
|
18049
18116
|
}
|
|
18050
|
-
if (String(nodeModel.contentType ?? nodeModel.ContentType ?? '').toLowerCase() === 'templatelauncher'
|
|
18117
|
+
if (String(nodeModel.contentType ?? nodeModel.ContentType ?? '').toLowerCase() === 'templatelauncher'
|
|
18118
|
+
&& !isRemoteFleetMonitorNode(nodeModel)) {
|
|
18051
18119
|
bindTemplateLauncherNodeEvents(clonedElement, nodeModel);
|
|
18052
18120
|
}
|
|
18053
18121
|
wrapper.appendChild(clonedElement);
|
|
18054
|
-
if (String(nodeModel.contentType ?? nodeModel.ContentType ?? '').toLowerCase() !== 'templatelauncher'
|
|
18122
|
+
if (String(nodeModel.contentType ?? nodeModel.ContentType ?? '').toLowerCase() !== 'templatelauncher'
|
|
18123
|
+
|| isRemoteFleetMonitorNode(nodeModel)) {
|
|
18055
18124
|
appendCss3dResizeHitZones(wrapper, nodeModel);
|
|
18056
18125
|
}
|
|
18057
18126
|
|
|
18058
|
-
if (String(nodeModel.contentType ?? nodeModel.ContentType ?? '').toLowerCase() === 'memo'
|
|
18127
|
+
if ((String(nodeModel.contentType ?? nodeModel.ContentType ?? '').toLowerCase() === 'memo'
|
|
18128
|
+
&& !isRemoteFleetMonitorNode(nodeModel))
|
|
18129
|
+
|| isAgentStyledMemoNode(nodeModel)) {
|
|
18059
18130
|
applyMemoWrapperTheme(clonedElement, getMemoColorKey(nodeModel));
|
|
18060
18131
|
}
|
|
18061
18132
|
|
|
@@ -18234,6 +18305,55 @@
|
|
|
18234
18305
|
dividerEl.style.display = prompt ? (isLoading || hasContent ? 'block' : 'none') : 'none';
|
|
18235
18306
|
}
|
|
18236
18307
|
|
|
18308
|
+
if (isRemoteFleetMonitorNode(nodeModel)) {
|
|
18309
|
+
el.classList.remove('node-type-memo', 'has-context-source-pins');
|
|
18310
|
+
el.classList.add('node-type-templatelauncher');
|
|
18311
|
+
el.dataset.contentType = 'templateLauncher';
|
|
18312
|
+
el.style.overflow = 'hidden';
|
|
18313
|
+
|
|
18314
|
+
let card = el.querySelector('.map-node-template-card.map-node-remote-fleet');
|
|
18315
|
+
if (!card) {
|
|
18316
|
+
card = createRemoteFleetTemplateNodeElement(nodeModel);
|
|
18317
|
+
card.id = `css3d-node-${nodeId}`;
|
|
18318
|
+
card.style.display = '';
|
|
18319
|
+
card.style.position = 'absolute';
|
|
18320
|
+
card.style.left = '0px';
|
|
18321
|
+
card.style.top = '0px';
|
|
18322
|
+
card.style.transformOrigin = '0 0';
|
|
18323
|
+
card.style.transition = 'none';
|
|
18324
|
+
card.style.webkitTransition = 'none';
|
|
18325
|
+
const firstChild = el.firstElementChild;
|
|
18326
|
+
if (firstChild) {
|
|
18327
|
+
el.replaceChild(card, firstChild);
|
|
18328
|
+
} else {
|
|
18329
|
+
el.prepend(card);
|
|
18330
|
+
}
|
|
18331
|
+
}
|
|
18332
|
+
|
|
18333
|
+
card.dataset.nodeId = nodeId;
|
|
18334
|
+
card.dataset.semanticType = getNodeSemanticType(nodeModel);
|
|
18335
|
+
card.style.width = `${worldWidth}px`;
|
|
18336
|
+
card.style.height = `${worldHeight}px`;
|
|
18337
|
+
card.style.minWidth = `${worldWidth}px`;
|
|
18338
|
+
card.style.minHeight = `${worldHeight}px`;
|
|
18339
|
+
card.style.maxWidth = `${worldWidth}px`;
|
|
18340
|
+
card.style.maxHeight = `${worldHeight}px`;
|
|
18341
|
+
card.style.transform = `scale(${resolutionScale})`;
|
|
18342
|
+
card.style.transformOrigin = '0 0';
|
|
18343
|
+
|
|
18344
|
+
const titleEl = card.querySelector('.template-card__title');
|
|
18345
|
+
if (titleEl) {
|
|
18346
|
+
const nextTitle = String(prompt || 'Remote Fleet Monitor').trim() || 'Remote Fleet Monitor';
|
|
18347
|
+
if (titleEl.textContent !== nextTitle) {
|
|
18348
|
+
titleEl.textContent = nextTitle;
|
|
18349
|
+
}
|
|
18350
|
+
}
|
|
18351
|
+
|
|
18352
|
+
const bodyView = card.querySelector('.template-card__remote-fleet-body');
|
|
18353
|
+
renderRemoteFleetMonitor(bodyView, nodeModel);
|
|
18354
|
+
return;
|
|
18355
|
+
}
|
|
18356
|
+
|
|
18237
18357
|
if (contentTypeLower === 'memo') {
|
|
18238
18358
|
const memoEl = el.querySelector('.map-node-memo');
|
|
18239
18359
|
if (!memoEl) return;
|
|
@@ -104,7 +104,6 @@
|
|
|
104
104
|
return semanticType === 'MindCanvasAgent'
|
|
105
105
|
|| semanticType === 'AgentCommand'
|
|
106
106
|
|| semanticType === BUSINESS_AUTOMATION_SEMANTIC_TYPE
|
|
107
|
-
|| semanticType === REMOTE_FLEET_SEMANTIC_TYPE
|
|
108
107
|
|| semanticType === REMOTE_FLEET_DEVICE_SEMANTIC_TYPE;
|
|
109
108
|
}
|
|
110
109
|
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
package/wwwroot/_framework/{MindExecution.Web.0cs29v57jl.dll → MindExecution.Web.p1v0ug5h4f.dll}
RENAMED
|
Binary file
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"mainAssemblyName": "MindExecution.Web",
|
|
3
3
|
"resources": {
|
|
4
|
-
"hash": "sha256-
|
|
4
|
+
"hash": "sha256-3BNGeO97GJzZPWJKcxft//YyUghoJWfEleoPXAWQph8=",
|
|
5
5
|
"fingerprinting": {
|
|
6
6
|
"Google.Protobuf.9h59ukbel7.dll": "Google.Protobuf.dll",
|
|
7
7
|
"Markdig.d1j7v41cl1.dll": "Markdig.dll",
|
|
@@ -127,12 +127,12 @@
|
|
|
127
127
|
"MindExecution.Kernel.z56elxihok.dll": "MindExecution.Kernel.dll",
|
|
128
128
|
"MindExecution.Plugins.Admin.p5cs4ap87v.dll": "MindExecution.Plugins.Admin.dll",
|
|
129
129
|
"MindExecution.Plugins.Business.s35og5uz44.dll": "MindExecution.Plugins.Business.dll",
|
|
130
|
-
"MindExecution.Plugins.Concept.
|
|
130
|
+
"MindExecution.Plugins.Concept.faidxooqle.dll": "MindExecution.Plugins.Concept.dll",
|
|
131
131
|
"MindExecution.Plugins.Directory.y74f55e8x3.dll": "MindExecution.Plugins.Directory.dll",
|
|
132
|
-
"MindExecution.Plugins.PlanMaster.
|
|
133
|
-
"MindExecution.Plugins.YouTube.
|
|
134
|
-
"MindExecution.Shared.
|
|
135
|
-
"MindExecution.Web.
|
|
132
|
+
"MindExecution.Plugins.PlanMaster.xfcd3pwd7p.dll": "MindExecution.Plugins.PlanMaster.dll",
|
|
133
|
+
"MindExecution.Plugins.YouTube.78s7dilkza.dll": "MindExecution.Plugins.YouTube.dll",
|
|
134
|
+
"MindExecution.Shared.hse89ibcyq.dll": "MindExecution.Shared.dll",
|
|
135
|
+
"MindExecution.Web.p1v0ug5h4f.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",
|
|
@@ -280,16 +280,16 @@
|
|
|
280
280
|
"netstandard.yvr3prsx0x.dll": "sha256-EksNn8Luo4bOWqJ6X7dIe9qG9oOqwOVzjH2xYyMNi+E=",
|
|
281
281
|
"MindExecution.Core.6rfnfdndxq.dll": "sha256-giL4rreoKsQoQ5gkLusNx7oL3w1l2UH52TYY1KBoIfQ=",
|
|
282
282
|
"MindExecution.Kernel.z56elxihok.dll": "sha256-STATJelRGcW9SDGgsw6YmQi6tkQje52dy4lyT3QU4qs=",
|
|
283
|
-
"MindExecution.Plugins.Concept.
|
|
284
|
-
"MindExecution.Plugins.PlanMaster.
|
|
285
|
-
"MindExecution.Shared.
|
|
286
|
-
"MindExecution.Web.
|
|
283
|
+
"MindExecution.Plugins.Concept.faidxooqle.dll": "sha256-177f2QdWAeNbJvUOInKfZ/A6AGWzRqbge3x6ePcBDpI=",
|
|
284
|
+
"MindExecution.Plugins.PlanMaster.xfcd3pwd7p.dll": "sha256-PaeGgCgIzD09cq0h3SywgwHpIOkmyZ9bV3ArDCOWbpo=",
|
|
285
|
+
"MindExecution.Shared.hse89ibcyq.dll": "sha256-HyIJGWol5LmyLiefR4XpyKXtgpidf6Vr4pN/0hPskHA=",
|
|
286
|
+
"MindExecution.Web.p1v0ug5h4f.dll": "sha256-07TGezQJ2CbX3lpW2Qou4T/rJi4GFWmBv545YHiXfVk="
|
|
287
287
|
},
|
|
288
288
|
"lazyAssembly": {
|
|
289
289
|
"MindExecution.Plugins.Admin.p5cs4ap87v.dll": "sha256-jahiJxaiE8hwMyRcg6rZGo4WBhBGFyAHYhOqlKjawWg=",
|
|
290
290
|
"MindExecution.Plugins.Business.s35og5uz44.dll": "sha256-KOyk9eC6E/Gyfz2uWucHQmAayMQbShhLTqEymZFleh4=",
|
|
291
291
|
"MindExecution.Plugins.Directory.y74f55e8x3.dll": "sha256-4gMuhIPLiX31U+jwhDT83rSPqZINONadmW+cvujfq1g=",
|
|
292
|
-
"MindExecution.Plugins.YouTube.
|
|
292
|
+
"MindExecution.Plugins.YouTube.78s7dilkza.dll": "sha256-p4/WQZuUrLU9A/tUFh4J9I5vw15MjWZ3Tvs0v1oPbhY="
|
|
293
293
|
}
|
|
294
294
|
},
|
|
295
295
|
"cacheBootResources": true,
|
package/wwwroot/index.html
CHANGED
|
@@ -558,7 +558,7 @@
|
|
|
558
558
|
}
|
|
559
559
|
|
|
560
560
|
const base = '_content/MindExecution.Shared/js/';
|
|
561
|
-
const scriptVersion = '20260613-remote-
|
|
561
|
+
const scriptVersion = '20260613-remote-template-card-v497';
|
|
562
562
|
const scriptUrl = (script) => `${base}${script}?v=${scriptVersion}`;
|
|
563
563
|
console.log(`[Script Loader] Shared JS version: ${scriptVersion}`);
|
|
564
564
|
const criticalScripts = [
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
self.assetsManifest = {
|
|
2
|
-
"version": "
|
|
2
|
+
"version": "rlBXfYfF",
|
|
3
3
|
"assets": [
|
|
4
4
|
{
|
|
5
5
|
"hash": "sha256-+CSYMcqLNTsq3VnH11jgYyOCCdxvHzL74CBmo4sCmMU=",
|
|
@@ -42,7 +42,7 @@
|
|
|
42
42
|
"url": "_content/MindExecution.Shared/css/app.css"
|
|
43
43
|
},
|
|
44
44
|
{
|
|
45
|
-
"hash": "sha256-
|
|
45
|
+
"hash": "sha256-SwiYCegnTRFedhTd9xEwvhhTJc7L4RbYTrP8KnQ+yjE=",
|
|
46
46
|
"url": "_content/MindExecution.Shared/css/mind-map-overrides.css"
|
|
47
47
|
},
|
|
48
48
|
{
|
|
@@ -86,7 +86,7 @@
|
|
|
86
86
|
"url": "_content/MindExecution.Shared/js/mind-map-core.js.backup"
|
|
87
87
|
},
|
|
88
88
|
{
|
|
89
|
-
"hash": "sha256-
|
|
89
|
+
"hash": "sha256-wFyeN3Nc8gLXo/cHEuXYwFvgBSy2cPUmdFsMNcTzSNg=",
|
|
90
90
|
"url": "_content/MindExecution.Shared/js/mind-map-css3d-manager.js"
|
|
91
91
|
},
|
|
92
92
|
{
|
|
@@ -134,7 +134,7 @@
|
|
|
134
134
|
"url": "_content/MindExecution.Shared/js/mind-map-node-search-worker.js"
|
|
135
135
|
},
|
|
136
136
|
{
|
|
137
|
-
"hash": "sha256-
|
|
137
|
+
"hash": "sha256-tcCpe0R8MVaT0B7nTN9owN5u6Nv547c0UTMGKnfiXpo=",
|
|
138
138
|
"url": "_content/MindExecution.Shared/js/mind-map-nodes.js"
|
|
139
139
|
},
|
|
140
140
|
{
|
|
@@ -426,28 +426,28 @@
|
|
|
426
426
|
"url": "_framework/MindExecution.Plugins.Business.s35og5uz44.dll"
|
|
427
427
|
},
|
|
428
428
|
{
|
|
429
|
-
"hash": "sha256-
|
|
430
|
-
"url": "_framework/MindExecution.Plugins.Concept.
|
|
429
|
+
"hash": "sha256-177f2QdWAeNbJvUOInKfZ/A6AGWzRqbge3x6ePcBDpI=",
|
|
430
|
+
"url": "_framework/MindExecution.Plugins.Concept.faidxooqle.dll"
|
|
431
431
|
},
|
|
432
432
|
{
|
|
433
433
|
"hash": "sha256-4gMuhIPLiX31U+jwhDT83rSPqZINONadmW+cvujfq1g=",
|
|
434
434
|
"url": "_framework/MindExecution.Plugins.Directory.y74f55e8x3.dll"
|
|
435
435
|
},
|
|
436
436
|
{
|
|
437
|
-
"hash": "sha256-
|
|
438
|
-
"url": "_framework/MindExecution.Plugins.PlanMaster.
|
|
437
|
+
"hash": "sha256-PaeGgCgIzD09cq0h3SywgwHpIOkmyZ9bV3ArDCOWbpo=",
|
|
438
|
+
"url": "_framework/MindExecution.Plugins.PlanMaster.xfcd3pwd7p.dll"
|
|
439
439
|
},
|
|
440
440
|
{
|
|
441
|
-
"hash": "sha256-
|
|
442
|
-
"url": "_framework/MindExecution.Plugins.YouTube.
|
|
441
|
+
"hash": "sha256-p4/WQZuUrLU9A/tUFh4J9I5vw15MjWZ3Tvs0v1oPbhY=",
|
|
442
|
+
"url": "_framework/MindExecution.Plugins.YouTube.78s7dilkza.dll"
|
|
443
443
|
},
|
|
444
444
|
{
|
|
445
|
-
"hash": "sha256-
|
|
446
|
-
"url": "_framework/MindExecution.Shared.
|
|
445
|
+
"hash": "sha256-HyIJGWol5LmyLiefR4XpyKXtgpidf6Vr4pN/0hPskHA=",
|
|
446
|
+
"url": "_framework/MindExecution.Shared.hse89ibcyq.dll"
|
|
447
447
|
},
|
|
448
448
|
{
|
|
449
|
-
"hash": "sha256-
|
|
450
|
-
"url": "_framework/MindExecution.Web.
|
|
449
|
+
"hash": "sha256-07TGezQJ2CbX3lpW2Qou4T/rJi4GFWmBv545YHiXfVk=",
|
|
450
|
+
"url": "_framework/MindExecution.Web.p1v0ug5h4f.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-
|
|
773
|
+
"hash": "sha256-c2H0026f7tTv+gbbQCZt1/VMd200vEuF95yAiIZ1ydU=",
|
|
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-
|
|
837
|
+
"hash": "sha256-GqwKG61iKXWuVja2WDiaUhRcpii3CSqQbYVobOtWaIQ=",
|
|
838
838
|
"url": "index.html"
|
|
839
839
|
},
|
|
840
840
|
{
|