Extract memind_adm admin server, add local dev tooling, and remove image-generation.

Split platform admin and ops APIs into standalone admin-server.mjs with network guards; simplify billing to RMB token pricing, refactor user auth, and add rsync deploy plus local-test scripts and docs.

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
Your Name
2026-06-17 16:39:39 -07:00
parent ab0718938e
commit b0f5d6a51c
98 changed files with 5394 additions and 3010 deletions
+1 -12
View File
@@ -8,7 +8,7 @@ import {
ensureHtmlThumbnail,
scheduleHtmlThumbnail,
} from './mindspace-thumbnails.mjs';
import { mirrorAssetToZone, removeZoneMirror, resolveUserWorkspaceRoot, resolveZoneFilePath } from './user-space.mjs';
import { mirrorAssetToZone, removeZoneMirror, resolveUserWorkspaceRoot } from './user-space.mjs';
import { canPreviewAsset, renderAssetPreviewHtml } from './mindspace-asset-preview.mjs';
import { createWorkspaceAssetSync } from './mindspace-workspace-sync.mjs';
@@ -828,21 +828,10 @@ export function createAssetService(pool, options = {}) {
[assetId],
);
const html = await fs.readFile(assetPath, 'utf8');
const contentBaseDir =
asset.sourceType === 'workspace' && h5Root
? path.dirname(
resolveZoneFilePath(
resolveUserWorkspaceRoot(h5Root, { id: userId }),
asset.categoryCode,
asset.filename,
),
)
: undefined;
return ensureHtmlThumbnail(storageRoot, assetThumbnailKey(userId, assetId), html, {
title: asset.displayName,
subtitle: asset.categoryCode?.toUpperCase?.() ?? 'HTML',
contentStorageKey: versions[0]?.storage_key,
contentBaseDir,
});
};