@mindexec/cli 0.2.388 → 0.2.390
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-agent-managed-smoke.mjs +3 -0
- package/scripts/remote-fast-mdm-browser-smoke.mjs +3 -0
- package/server.js +25 -1
- package/wwwroot/_content/MindExecution.Shared/js/mind-map-css3d-manager.js +9 -2
- package/wwwroot/_framework/MindExecution.Web.ho7eyzwd5r.dll +0 -0
- package/wwwroot/_framework/blazor.boot.json +3 -3
- package/wwwroot/index.html +3 -3
- package/wwwroot/service-worker-assets.js +6 -6
- package/wwwroot/service-worker.js +1 -1
- package/wwwroot/_framework/MindExecution.Web.dzsyj7ymko.dll +0 -0
package/package.json
CHANGED
|
@@ -84,6 +84,9 @@ function spawnBridge({ bridgePort, remoteHubPort, workspacePath, label }) {
|
|
|
84
84
|
BRIDGE_TOKEN,
|
|
85
85
|
BRIDGE_REQUIRE_TOKEN: '1',
|
|
86
86
|
MINDEXEC_REMOTE_HUB: '1',
|
|
87
|
+
MINDEXEC_REMOTE_REGISTRY_FOLLOWER: '0',
|
|
88
|
+
MINDEXEC_REMOTE_REGISTRY_REALTIME: '0',
|
|
89
|
+
MINDEXEC_REMOTE_HOST_TARGET_AUTO_RENEW: '0',
|
|
87
90
|
REMOTE_HUB_HOST: '127.0.0.1',
|
|
88
91
|
REMOTE_HUB_PORT: String(remoteHubPort),
|
|
89
92
|
REMOTE_HUB_PAIR_TOKEN: PAIR_TOKEN,
|
|
@@ -78,6 +78,9 @@ function spawnBridge({ bridgePort, remoteHubPort, workspacePath, label, traceFra
|
|
|
78
78
|
BRIDGE_REQUIRE_TOKEN: '1',
|
|
79
79
|
MINDEXEC_REMOTE_HUB: '1',
|
|
80
80
|
MINDEXEC_REMOTE_TRACE_FRAMES: traceFrames ? '1' : '',
|
|
81
|
+
MINDEXEC_REMOTE_REGISTRY_FOLLOWER: '0',
|
|
82
|
+
MINDEXEC_REMOTE_REGISTRY_REALTIME: '0',
|
|
83
|
+
MINDEXEC_REMOTE_HOST_TARGET_AUTO_RENEW: '0',
|
|
81
84
|
REMOTE_HUB_HOST: '127.0.0.1',
|
|
82
85
|
REMOTE_HUB_PORT: String(remoteHubPort),
|
|
83
86
|
REMOTE_HUB_PAIR_TOKEN: PAIR_TOKEN,
|
package/server.js
CHANGED
|
@@ -3618,6 +3618,9 @@ const REMOTE_AGENT_READY_TIMEOUT_MS = 5000;
|
|
|
3618
3618
|
const REMOTE_AGENT_READY_STALE_MS = Math.max(
|
|
3619
3619
|
REMOTE_AGENT_READY_TIMEOUT_MS + 1000,
|
|
3620
3620
|
Number(process.env.MINDEXEC_REMOTE_AGENT_READY_STALE_MS || 8000) || 8000);
|
|
3621
|
+
const REMOTE_AGENT_OUTPUT_RECONNECT_GRACE_MS = Math.max(
|
|
3622
|
+
1000,
|
|
3623
|
+
Number(process.env.MINDEXEC_REMOTE_AGENT_OUTPUT_RECONNECT_GRACE_MS || 6000) || 6000);
|
|
3621
3624
|
const REMOTE_AGENT_DEFAULT_ENGINE = 'auto';
|
|
3622
3625
|
const REMOTE_AGENT_SYNC_REPORT_LOG_REPEAT_MS = 30000;
|
|
3623
3626
|
const REMOTE_AGENT_SYNC_REPORT_WAKE_MS = Math.max(500, Number(process.env.MINDEXEC_REMOTE_AGENT_SYNC_REPORT_WAKE_MS || 1500) || 1500);
|
|
@@ -3773,6 +3776,7 @@ function createRemoteAgentIdleState(overrides = {}) {
|
|
|
3773
3776
|
connectedAt: '',
|
|
3774
3777
|
needsReconnect: false,
|
|
3775
3778
|
reconnectReason: '',
|
|
3779
|
+
reconnectRequestedAt: '',
|
|
3776
3780
|
exitedAt: '',
|
|
3777
3781
|
exitCode: null,
|
|
3778
3782
|
signal: '',
|
|
@@ -3884,6 +3888,9 @@ function shouldRestartRemoteAgentForTarget(managers = [], leaseId = '') {
|
|
|
3884
3888
|
}
|
|
3885
3889
|
|
|
3886
3890
|
if (remoteAgentState.needsReconnect === true) {
|
|
3891
|
+
if (isRemoteAgentReconnectGraceActive()) {
|
|
3892
|
+
return false;
|
|
3893
|
+
}
|
|
3887
3894
|
return true;
|
|
3888
3895
|
}
|
|
3889
3896
|
|
|
@@ -3896,23 +3903,39 @@ function shouldRestartRemoteAgentForTarget(managers = [], leaseId = '') {
|
|
|
3896
3903
|
&& isRemoteAgentSyncReportForManagers(remoteAgentSyncReportState, managers, leaseId);
|
|
3897
3904
|
}
|
|
3898
3905
|
|
|
3906
|
+
function getRemoteAgentReconnectAgeMs() {
|
|
3907
|
+
const markedAt = Date.parse(remoteAgentState.reconnectRequestedAt || '');
|
|
3908
|
+
return Number.isFinite(markedAt) ? Math.max(0, Date.now() - markedAt) : Number.POSITIVE_INFINITY;
|
|
3909
|
+
}
|
|
3910
|
+
|
|
3911
|
+
function isRemoteAgentReconnectGraceActive() {
|
|
3912
|
+
return remoteAgentState.needsReconnect === true
|
|
3913
|
+
&& remoteAgentState.reconnectReason === 'process-output-disconnected'
|
|
3914
|
+
&& isRemoteAgentProcessRunning()
|
|
3915
|
+
&& getRemoteAgentReconnectAgeMs() < REMOTE_AGENT_OUTPUT_RECONNECT_GRACE_MS;
|
|
3916
|
+
}
|
|
3917
|
+
|
|
3899
3918
|
function markRemoteAgentReconnectNeeded(reason = 'agent-disconnected', wakeReason = 'agent-disconnected') {
|
|
3900
3919
|
if (!isRemoteAgentRegistryOwned()) {
|
|
3901
3920
|
return false;
|
|
3902
3921
|
}
|
|
3903
3922
|
|
|
3904
3923
|
const safeReason = safeRemoteAgentField(reason || 'agent-disconnected', 160);
|
|
3924
|
+
const now = new Date().toISOString();
|
|
3905
3925
|
if (remoteAgentState.needsReconnect !== true) {
|
|
3906
3926
|
logWarn(
|
|
3907
3927
|
'remote',
|
|
3908
3928
|
`managed RemoteAgent marked stale ${formatKeyValue('reason', safeReason)} ${formatKeyValue('manager', remoteAgentState.manager || '-')}`);
|
|
3909
3929
|
}
|
|
3930
|
+
if (remoteAgentState.needsReconnect !== true || remoteAgentState.reconnectReason !== safeReason) {
|
|
3931
|
+
remoteAgentState.reconnectRequestedAt = now;
|
|
3932
|
+
}
|
|
3910
3933
|
|
|
3911
3934
|
remoteAgentState.ready = false;
|
|
3912
3935
|
remoteAgentState.needsReconnect = true;
|
|
3913
3936
|
remoteAgentState.reconnectReason = safeReason;
|
|
3914
3937
|
remoteAgentState.lastError = safeReason;
|
|
3915
|
-
remoteAgentState.updatedAt =
|
|
3938
|
+
remoteAgentState.updatedAt = now;
|
|
3916
3939
|
emitBridgeEvent('RemoteAgentNeedsReconnect', serializeRemoteAgentState());
|
|
3917
3940
|
scheduleRemoteRegistryFollower(0, wakeReason || safeReason);
|
|
3918
3941
|
return true;
|
|
@@ -4055,6 +4078,7 @@ function appendRemoteAgentOutput(stream, chunk, stateConnectionKey = '') {
|
|
|
4055
4078
|
remoteAgentState.connectedAt = new Date().toISOString();
|
|
4056
4079
|
remoteAgentState.needsReconnect = false;
|
|
4057
4080
|
remoteAgentState.reconnectReason = '';
|
|
4081
|
+
remoteAgentState.reconnectRequestedAt = '';
|
|
4058
4082
|
}
|
|
4059
4083
|
if (isRemoteAgentOutputReconnectSignal(text)) {
|
|
4060
4084
|
markRemoteAgentReconnectNeeded('process-output-disconnected', 'agent-process-output-disconnected');
|
|
@@ -20269,9 +20269,14 @@
|
|
|
20269
20269
|
}, 250);
|
|
20270
20270
|
}
|
|
20271
20271
|
|
|
20272
|
+
const visibleFrameDeviceIds = getVisibleFrameDeviceIds();
|
|
20273
|
+
const hasVisibleFrameTarget = visibleFrameDeviceIds.length > 0;
|
|
20272
20274
|
const hasVisibleLiveTarget = getVisibleLiveFrameDeviceIds().length > 0
|
|
20273
20275
|
|| devices.some(device => isRemoteFleetDeviceConnected(device) && isRemoteFleetLiveCapable(device));
|
|
20274
|
-
|
|
20276
|
+
const shouldUseBinaryFrameSocket = hasVisibleLiveTarget
|
|
20277
|
+
|| hasActiveLiveStream
|
|
20278
|
+
|| (autoMonitorState && hasVisibleFrameTarget);
|
|
20279
|
+
if (shouldUseBinaryFrameSocket) {
|
|
20275
20280
|
const binaryFrameSocketStarted = startRemoteFleetBinaryFrameSocket(bodyView, () => {
|
|
20276
20281
|
const liveIds = getVisibleLiveFrameDeviceIds();
|
|
20277
20282
|
return liveIds.length > 0 ? liveIds : getVisibleFrameDeviceIds();
|
|
@@ -20298,7 +20303,9 @@
|
|
|
20298
20303
|
window.RuntimeTrace?.emit?.('remote.live.wsAutoStartRequested', {
|
|
20299
20304
|
nodeId,
|
|
20300
20305
|
transport: 'ws-binary',
|
|
20301
|
-
fps: REMOTE_FLEET_MONITOR_LIVE_FPS
|
|
20306
|
+
fps: REMOTE_FLEET_MONITOR_LIVE_FPS,
|
|
20307
|
+
visibleFrameTargets: visibleFrameDeviceIds.length,
|
|
20308
|
+
visibleLiveTargets: getVisibleLiveFrameDeviceIds().length
|
|
20302
20309
|
});
|
|
20303
20310
|
}
|
|
20304
20311
|
bodyView._remoteFleetLiveRefreshTimer = setInterval(async () => {
|
|
Binary file
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"mainAssemblyName": "MindExecution.Web",
|
|
3
3
|
"resources": {
|
|
4
|
-
"hash": "sha256-
|
|
4
|
+
"hash": "sha256-lvI8iEmBKoDgVRTw/vyLJr9bsxErYE9/etA6CAOrEj4=",
|
|
5
5
|
"fingerprinting": {
|
|
6
6
|
"Google.Protobuf.9h59ukbel7.dll": "Google.Protobuf.dll",
|
|
7
7
|
"Markdig.d1j7v41cl1.dll": "Markdig.dll",
|
|
@@ -132,7 +132,7 @@
|
|
|
132
132
|
"MindExecution.Plugins.PlanMaster.krn3jgvjpa.dll": "MindExecution.Plugins.PlanMaster.dll",
|
|
133
133
|
"MindExecution.Plugins.YouTube.5m53srfud6.dll": "MindExecution.Plugins.YouTube.dll",
|
|
134
134
|
"MindExecution.Shared.ojp3psugsm.dll": "MindExecution.Shared.dll",
|
|
135
|
-
"MindExecution.Web.
|
|
135
|
+
"MindExecution.Web.ho7eyzwd5r.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",
|
|
@@ -284,7 +284,7 @@
|
|
|
284
284
|
"MindExecution.Plugins.Concept.l9z9tx9svt.dll": "sha256-N/QoILmTilvX5Zo4SCy7ENTCqMzSC6RIEQlEwtxkGPo=",
|
|
285
285
|
"MindExecution.Plugins.PlanMaster.krn3jgvjpa.dll": "sha256-8IFpm/2fpsWD3syyl58LTSWSGC8PfcrsLdmmSKR1Sq0=",
|
|
286
286
|
"MindExecution.Shared.ojp3psugsm.dll": "sha256-FC0pE2bsyE9i7GNSXCghKULaYYZXUEdepb2VxPfcYaA=",
|
|
287
|
-
"MindExecution.Web.
|
|
287
|
+
"MindExecution.Web.ho7eyzwd5r.dll": "sha256-YSxCFHprtk15wabX7tzWsTGfhGvhpmb8AbhQs8NvNDY="
|
|
288
288
|
},
|
|
289
289
|
"lazyAssembly": {
|
|
290
290
|
"MindExecution.Plugins.Admin.uuf238xa0h.dll": "sha256-OrCIUack8nSWBBiZK65DlJ3YGM677RAA8cX/oJjhm5c=",
|
package/wwwroot/index.html
CHANGED
|
@@ -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=20260627-
|
|
11
|
-
<link rel="stylesheet" href="_content/MindExecution.Shared/css/mind-map-overrides.css?v=20260627-
|
|
10
|
+
<link rel="stylesheet" href="_content/MindExecution.Shared/css/app.css?v=20260627-local-oauth-relay-v836" />
|
|
11
|
+
<link rel="stylesheet" href="_content/MindExecution.Shared/css/mind-map-overrides.css?v=20260627-local-oauth-relay-v836" />
|
|
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 = '20260627-
|
|
582
|
+
const scriptVersion = '20260627-local-oauth-relay-v836';
|
|
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": "
|
|
2
|
+
"version": "cg72W2vT",
|
|
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-s8Rvi0Kg/2CMufFj5r6d3q65xJTaDJX2+x2Pp4s25Jk=",
|
|
90
90
|
"url": "_content/MindExecution.Shared/js/mind-map-css3d-manager.js"
|
|
91
91
|
},
|
|
92
92
|
{
|
|
@@ -446,8 +446,8 @@
|
|
|
446
446
|
"url": "_framework/MindExecution.Shared.ojp3psugsm.dll"
|
|
447
447
|
},
|
|
448
448
|
{
|
|
449
|
-
"hash": "sha256-
|
|
450
|
-
"url": "_framework/MindExecution.Web.
|
|
449
|
+
"hash": "sha256-YSxCFHprtk15wabX7tzWsTGfhGvhpmb8AbhQs8NvNDY=",
|
|
450
|
+
"url": "_framework/MindExecution.Web.ho7eyzwd5r.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-gAZ6fNlOJsTa9CV/OWin/HxTvE2PCjnQUqWoCbpCK60=",
|
|
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-ejogjzEG02H5rlmZmr0J56Wr1vGaGr4MYpZ6byuK4mc=",
|
|
838
838
|
"url": "index.html"
|
|
839
839
|
},
|
|
840
840
|
{
|
|
Binary file
|