@mindexec/cli 0.2.28 → 0.2.29
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
|
@@ -12208,6 +12208,83 @@
|
|
|
12208
12208
|
return item;
|
|
12209
12209
|
}
|
|
12210
12210
|
|
|
12211
|
+
function createRemoteFleetStatusRail(items) {
|
|
12212
|
+
const rail = document.createElement('aside');
|
|
12213
|
+
rail.dataset.remoteFleetStatusRail = 'true';
|
|
12214
|
+
rail.style.cssText = `
|
|
12215
|
+
flex: 0 0 auto;
|
|
12216
|
+
align-self: flex-start;
|
|
12217
|
+
display: flex;
|
|
12218
|
+
flex-direction: column;
|
|
12219
|
+
gap: 3px;
|
|
12220
|
+
min-width: 132px;
|
|
12221
|
+
max-width: min(100%, 176px);
|
|
12222
|
+
padding: 5px 6px;
|
|
12223
|
+
border-radius: 7px;
|
|
12224
|
+
border: 1px solid rgba(148, 163, 184, 0.22);
|
|
12225
|
+
background: rgba(255, 255, 255, 0.70);
|
|
12226
|
+
`;
|
|
12227
|
+
|
|
12228
|
+
(items || []).forEach(item => {
|
|
12229
|
+
const tone = String(item?.tone || 'default');
|
|
12230
|
+
const row = document.createElement('div');
|
|
12231
|
+
row.dataset.remoteFleetStatusItem = item?.key || '';
|
|
12232
|
+
row.style.cssText = `
|
|
12233
|
+
display: grid;
|
|
12234
|
+
grid-template-columns: 7px minmax(0, 1fr) auto;
|
|
12235
|
+
align-items: center;
|
|
12236
|
+
gap: 5px;
|
|
12237
|
+
min-height: 16px;
|
|
12238
|
+
min-width: 0;
|
|
12239
|
+
`;
|
|
12240
|
+
|
|
12241
|
+
const dot = document.createElement('span');
|
|
12242
|
+
dot.style.cssText = `
|
|
12243
|
+
width: 7px;
|
|
12244
|
+
height: 7px;
|
|
12245
|
+
border-radius: 999px;
|
|
12246
|
+
background: ${tone === 'online' ? '#10b981' : tone === 'warn' ? '#f59e0b' : '#94a3b8'};
|
|
12247
|
+
box-shadow: ${tone === 'online' ? '0 0 0 3px rgba(16, 185, 129, 0.12)' : 'none'};
|
|
12248
|
+
`;
|
|
12249
|
+
|
|
12250
|
+
const labelEl = document.createElement('span');
|
|
12251
|
+
labelEl.textContent = item?.label || '';
|
|
12252
|
+
labelEl.style.cssText = `
|
|
12253
|
+
color: #64748b;
|
|
12254
|
+
font-size: 9px;
|
|
12255
|
+
font-weight: 850;
|
|
12256
|
+
line-height: 1;
|
|
12257
|
+
letter-spacing: 0;
|
|
12258
|
+
overflow: hidden;
|
|
12259
|
+
text-overflow: ellipsis;
|
|
12260
|
+
white-space: nowrap;
|
|
12261
|
+
text-transform: uppercase;
|
|
12262
|
+
`;
|
|
12263
|
+
|
|
12264
|
+
const valueEl = document.createElement('strong');
|
|
12265
|
+
valueEl.textContent = item?.value || '';
|
|
12266
|
+
valueEl.title = `${labelEl.textContent} ${valueEl.textContent}`.trim();
|
|
12267
|
+
valueEl.style.cssText = `
|
|
12268
|
+
color: ${tone === 'online' ? '#047857' : '#0f172a'};
|
|
12269
|
+
font-size: 10px;
|
|
12270
|
+
font-weight: 950;
|
|
12271
|
+
line-height: 1;
|
|
12272
|
+
letter-spacing: 0;
|
|
12273
|
+
max-width: 76px;
|
|
12274
|
+
overflow: hidden;
|
|
12275
|
+
text-overflow: ellipsis;
|
|
12276
|
+
white-space: nowrap;
|
|
12277
|
+
`;
|
|
12278
|
+
|
|
12279
|
+
row.appendChild(dot);
|
|
12280
|
+
row.appendChild(labelEl);
|
|
12281
|
+
row.appendChild(valueEl);
|
|
12282
|
+
rail.appendChild(row);
|
|
12283
|
+
});
|
|
12284
|
+
|
|
12285
|
+
return rail;
|
|
12286
|
+
}
|
|
12287
|
+
|
|
12211
12288
|
function createRemoteFleetButton(label, title, action) {
|
|
12212
12289
|
const button = document.createElement('button');
|
|
12213
12290
|
button.type = 'button';
|
|
@@ -13306,18 +13383,32 @@
|
|
|
13306
13383
|
}
|
|
13307
13384
|
attachRemoteFleetTitleActions(bodyView, hostButton, stopHostButton, hostTargetState);
|
|
13308
13385
|
|
|
13309
|
-
const
|
|
13310
|
-
|
|
13311
|
-
|
|
13312
|
-
|
|
13313
|
-
|
|
13314
|
-
|
|
13315
|
-
|
|
13316
|
-
|
|
13317
|
-
|
|
13318
|
-
|
|
13319
|
-
|
|
13320
|
-
|
|
13386
|
+
const statusRail = createRemoteFleetStatusRail([
|
|
13387
|
+
{
|
|
13388
|
+
key: 'hub',
|
|
13389
|
+
label: 'Hub',
|
|
13390
|
+
value: hubStatus === 'online' ? 'Online' : 'Offline',
|
|
13391
|
+
tone: hubStatus === 'online' ? 'online' : 'default'
|
|
13392
|
+
},
|
|
13393
|
+
{
|
|
13394
|
+
key: 'connected',
|
|
13395
|
+
label: 'Connected',
|
|
13396
|
+
value: `${Number.isFinite(connected) ? connected : 0}/${Number.isFinite(total) ? total : devices.length}`,
|
|
13397
|
+
tone: connected > 0 ? 'online' : 'default'
|
|
13398
|
+
},
|
|
13399
|
+
{
|
|
13400
|
+
key: 'task',
|
|
13401
|
+
label: 'Task',
|
|
13402
|
+
value: String(taskCapableCount),
|
|
13403
|
+
tone: taskCapableCount > 0 ? 'online' : 'default'
|
|
13404
|
+
},
|
|
13405
|
+
{
|
|
13406
|
+
key: 'ai',
|
|
13407
|
+
label: 'AI',
|
|
13408
|
+
value: String(aiCapableCount),
|
|
13409
|
+
tone: aiCapableCount > 0 ? 'online' : 'default'
|
|
13410
|
+
}
|
|
13411
|
+
]);
|
|
13321
13412
|
|
|
13322
13413
|
const filterRow = document.createElement('div');
|
|
13323
13414
|
filterRow.style.cssText = `
|
|
@@ -14238,6 +14329,7 @@
|
|
|
14238
14329
|
monitorWorkspace.appendChild(createSelectedDevicePanel(selectedDevice));
|
|
14239
14330
|
}
|
|
14240
14331
|
bodyView.appendChild(monitorWorkspace);
|
|
14332
|
+
bodyView.appendChild(statusRail);
|
|
14241
14333
|
|
|
14242
14334
|
const setTaskFeedback = (message, tone = 'info') => {
|
|
14243
14335
|
taskFeedback.textContent = message || '';
|
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-
|
|
561
|
+
const scriptVersion = '20260613-remote-status-rail-v495';
|
|
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": "RMyUd5ec",
|
|
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-
|
|
89
|
+
"hash": "sha256-S8H0KuKhx8Fhbt07w1LBGxnBjT4km99JHDxzrHVFVho=",
|
|
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-
|
|
837
|
+
"hash": "sha256-t14gn/m71KgCPH/qD7JKdV9e5WD4DsQVpId/vGYdorE=",
|
|
838
838
|
"url": "index.html"
|
|
839
839
|
},
|
|
840
840
|
{
|