@mindexec/cli 0.2.313 → 0.2.315
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/server.js +67 -8
- package/wwwroot/_content/MindExecution.Shared/js/mind-map-core.js +2 -2
- package/wwwroot/_content/MindExecution.Shared/js/mind-map-lod-renderer.js +1 -1
- package/wwwroot/index.html +3 -3
- package/wwwroot/service-worker-assets.js +4 -4
- package/wwwroot/service-worker.js +1 -1
package/package.json
CHANGED
package/server.js
CHANGED
|
@@ -6475,6 +6475,22 @@ function isRemoteHostTargetRenewSoftSkipReason(reason) {
|
|
|
6475
6475
|
.test(String(reason || '').trim());
|
|
6476
6476
|
}
|
|
6477
6477
|
|
|
6478
|
+
function getRemoteHostTargetRegistryErrorReason(error) {
|
|
6479
|
+
const statusCode = Number(error?.statusCode || 0);
|
|
6480
|
+
const text = String(error?.message || error || '');
|
|
6481
|
+
if (statusCode === 401
|
|
6482
|
+
|| statusCode === 403
|
|
6483
|
+
|| /registry-(rest|rpc)[^ ]*-40[13]|JWT expired|PGRST303/i.test(text)) {
|
|
6484
|
+
return 'registry-not-authenticated';
|
|
6485
|
+
}
|
|
6486
|
+
|
|
6487
|
+
if (/PGRST20[25]|remote_host_targets|set_remote_host_target|clear_remote_host_target/i.test(text)) {
|
|
6488
|
+
return 'registry-table-unavailable';
|
|
6489
|
+
}
|
|
6490
|
+
|
|
6491
|
+
return 'registry-publish-failed';
|
|
6492
|
+
}
|
|
6493
|
+
|
|
6478
6494
|
async function publishLocalRemoteHostTargetToRegistry(hub, { takeover = false } = {}) {
|
|
6479
6495
|
const registryPayload = buildRemoteHostTargetRegistryPayload(hub);
|
|
6480
6496
|
if (!registryPayload.ok) {
|
|
@@ -6500,14 +6516,33 @@ async function publishLocalRemoteHostTargetToRegistry(hub, { takeover = false }
|
|
|
6500
6516
|
};
|
|
6501
6517
|
}
|
|
6502
6518
|
|
|
6503
|
-
|
|
6504
|
-
|
|
6505
|
-
|
|
6506
|
-
|
|
6507
|
-
|
|
6508
|
-
|
|
6509
|
-
|
|
6510
|
-
|
|
6519
|
+
let row = null;
|
|
6520
|
+
try {
|
|
6521
|
+
row = await callRemoteRegistryRpc(
|
|
6522
|
+
context.config,
|
|
6523
|
+
context.session,
|
|
6524
|
+
'set_remote_host_target',
|
|
6525
|
+
{
|
|
6526
|
+
...registryPayload.payload,
|
|
6527
|
+
p_takeover: takeover === true
|
|
6528
|
+
});
|
|
6529
|
+
} catch (error) {
|
|
6530
|
+
const reason = getRemoteHostTargetRegistryErrorReason(error);
|
|
6531
|
+
return {
|
|
6532
|
+
ok: false,
|
|
6533
|
+
active: false,
|
|
6534
|
+
reason,
|
|
6535
|
+
error: error?.message || String(error || reason),
|
|
6536
|
+
endpoint: registryPayload.endpoint,
|
|
6537
|
+
endpointCandidates: registryPayload.endpointCandidates,
|
|
6538
|
+
leaseId: registryPayload.leaseId,
|
|
6539
|
+
nodeId: registryPayload.nodeId,
|
|
6540
|
+
hostInstanceId: registryPayload.hostInstanceId,
|
|
6541
|
+
expiresAt: registryPayload.expiresAt,
|
|
6542
|
+
stale: false
|
|
6543
|
+
};
|
|
6544
|
+
}
|
|
6545
|
+
|
|
6511
6546
|
const reason = row.reason || (row.ok ? 'ok' : 'registry-publish-failed');
|
|
6512
6547
|
return {
|
|
6513
6548
|
ok: row.ok,
|
|
@@ -6837,6 +6872,30 @@ async function runRemoteHostTargetRenewOnce(trigger = 'timer', options = {}) {
|
|
|
6837
6872
|
retryDelay,
|
|
6838
6873
|
registry.ok ? 'renewed' : 'renew-skipped');
|
|
6839
6874
|
return serializeRemoteHostTargetRenewState();
|
|
6875
|
+
} catch (error) {
|
|
6876
|
+
const currentHub = remoteHub.getStatus({ includeSecrets: true });
|
|
6877
|
+
const reason = getRemoteHostTargetRegistryErrorReason(error);
|
|
6878
|
+
updateRemoteHostTargetRenewState({
|
|
6879
|
+
status: 'skipped',
|
|
6880
|
+
reason,
|
|
6881
|
+
nodeId: currentHub?.hostTargetNodeId || remoteHostTargetRenewState.nodeId,
|
|
6882
|
+
leaseId: currentHub?.hostTargetLeaseId || remoteHostTargetRenewState.leaseId,
|
|
6883
|
+
hostInstanceId: currentHub?.hostTargetHostInstanceId || currentHub?.hostInstanceId || remoteHostTargetRenewState.hostInstanceId,
|
|
6884
|
+
endpoint: currentHub?.hostTargetEndpoint || remoteHostTargetRenewState.endpoint,
|
|
6885
|
+
endpointCandidates: currentHub?.hostTargetEndpointCandidates || remoteHostTargetRenewState.endpointCandidates || [],
|
|
6886
|
+
expiresAt: currentHub?.hostTargetExpiresAt || remoteHostTargetRenewState.expiresAt,
|
|
6887
|
+
lastAttemptAt: attemptedAt,
|
|
6888
|
+
lastError: isRemoteHostTargetRenewSoftSkipReason(reason)
|
|
6889
|
+
? ''
|
|
6890
|
+
: (error?.message || String(error || reason))
|
|
6891
|
+
});
|
|
6892
|
+
logRemoteHostTargetRenew('skipped', reason, remoteHostTargetRenewState.endpoint);
|
|
6893
|
+
scheduleRemoteHostTargetRenew(
|
|
6894
|
+
isRemoteHostTargetRenewSoftSkipReason(reason)
|
|
6895
|
+
? REMOTE_HOST_TARGET_RENEW_MS
|
|
6896
|
+
: REMOTE_REGISTRY_FOLLOWER_FAST_RETRY_MS,
|
|
6897
|
+
'renew-error');
|
|
6898
|
+
return serializeRemoteHostTargetRenewState();
|
|
6840
6899
|
} finally {
|
|
6841
6900
|
remoteHostTargetRenewInFlight = false;
|
|
6842
6901
|
}
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
const DEBUG = false;
|
|
6
6
|
const FPS_DEBUG = false;
|
|
7
7
|
const FRAME_PERF_DEBUG = false;
|
|
8
|
-
const MINDMAP_CORE_BUILD_ID = '20260621-
|
|
8
|
+
const MINDMAP_CORE_BUILD_ID = '20260621-motion-no-skip-v798';
|
|
9
9
|
const CanvasPhase = Object.freeze({
|
|
10
10
|
Booting: 'booting',
|
|
11
11
|
BoardFileLoading: 'board-file-loading',
|
|
@@ -113,7 +113,7 @@
|
|
|
113
113
|
const LOCAL_SNAP_GRID_DEFAULT_MAJOR_STEP_PX = 240;
|
|
114
114
|
const LOCAL_SNAP_GRID_DEFAULT_OPACITY = 0.42;
|
|
115
115
|
const CAMERA_MOTION_PARTIAL_FRAME_SKIP_ENABLED = false;
|
|
116
|
-
const CAMERA_MOTION_VISUAL_ONLY_FAST_PATH_ENABLED =
|
|
116
|
+
const CAMERA_MOTION_VISUAL_ONLY_FAST_PATH_ENABLED = false;
|
|
117
117
|
const CAMERA_MOTION_WEBGL_CANVAS_TRANSFORM_ENABLED = false;
|
|
118
118
|
const CAMERA_MOTION_WEBGL_TRANSFORM_TRANSLATE_BUCKET_PX = 0.001;
|
|
119
119
|
const CAMERA_MOTION_WEBGL_TRANSFORM_SCALE_BUCKET = 0.000001;
|
|
@@ -51,7 +51,7 @@
|
|
|
51
51
|
// ▲▲▲ [Usage] ▲▲▲
|
|
52
52
|
|
|
53
53
|
// Procedural line rendering settings
|
|
54
|
-
const LOD_RENDERER_BUILD_ID = '20260621-
|
|
54
|
+
const LOD_RENDERER_BUILD_ID = '20260621-motion-no-skip-v798';
|
|
55
55
|
const DirtyKind = Object.freeze({
|
|
56
56
|
ResidentFullRebuild: 'resident-full-rebuild',
|
|
57
57
|
ResidentPatch: 'resident-patch',
|
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=20260621-
|
|
11
|
-
<link rel="stylesheet" href="_content/MindExecution.Shared/css/mind-map-overrides.css?v=20260621-
|
|
10
|
+
<link rel="stylesheet" href="_content/MindExecution.Shared/css/app.css?v=20260621-motion-no-skip-v798" />
|
|
11
|
+
<link rel="stylesheet" href="_content/MindExecution.Shared/css/mind-map-overrides.css?v=20260621-motion-no-skip-v798" />
|
|
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 = '20260621-
|
|
582
|
+
const scriptVersion = '20260621-motion-no-skip-v798';
|
|
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": "5AAEzB73",
|
|
3
3
|
"assets": [
|
|
4
4
|
{
|
|
5
5
|
"hash": "sha256-+CSYMcqLNTsq3VnH11jgYyOCCdxvHzL74CBmo4sCmMU=",
|
|
@@ -78,7 +78,7 @@
|
|
|
78
78
|
"url": "_content/MindExecution.Shared/js/marked.min.js"
|
|
79
79
|
},
|
|
80
80
|
{
|
|
81
|
-
"hash": "sha256-
|
|
81
|
+
"hash": "sha256-hSYSrL5FbScYsb4/B5ID1TFglWC5MTQyLJfGQLovDwI=",
|
|
82
82
|
"url": "_content/MindExecution.Shared/js/mind-map-core.js"
|
|
83
83
|
},
|
|
84
84
|
{
|
|
@@ -114,7 +114,7 @@
|
|
|
114
114
|
"url": "_content/MindExecution.Shared/js/mind-map-lod-plan-worker.js"
|
|
115
115
|
},
|
|
116
116
|
{
|
|
117
|
-
"hash": "sha256-
|
|
117
|
+
"hash": "sha256-Y8B6o9ToLrNRxuSoc/rJt80AE29CFiXJE+b+PyWzF9k=",
|
|
118
118
|
"url": "_content/MindExecution.Shared/js/mind-map-lod-renderer.js"
|
|
119
119
|
},
|
|
120
120
|
{
|
|
@@ -834,7 +834,7 @@
|
|
|
834
834
|
"url": "image-manifest.json"
|
|
835
835
|
},
|
|
836
836
|
{
|
|
837
|
-
"hash": "sha256-
|
|
837
|
+
"hash": "sha256-2/+RvUskW2cHXxk+EMzigvmlri7qi/EH3x5T9ihnip4=",
|
|
838
838
|
"url": "index.html"
|
|
839
839
|
},
|
|
840
840
|
{
|