import fs from 'node:fs'; import path from 'node:path'; import { pathToFileURL } from 'node:url'; import { projectRoot } from './load-env.mjs'; export function resolveMemindLib() { const bundled = path.join(projectRoot, 'memind-lib'); const candidates = [ fs.existsSync(path.join(bundled, 'user-auth.mjs')) ? bundled : null, process.env.MEMIND_LIB_ROOT?.trim(), path.join(projectRoot, '../test-memind'), path.join(projectRoot, '../memind'), path.join(projectRoot, '../Memind'), path.join(projectRoot, '../tkmind_go/ui/h5'), ].filter(Boolean); for (const dir of candidates) { if (fs.existsSync(path.join(dir, 'user-auth.mjs'))) { return path.resolve(dir); } } throw new Error( '未找到 Memind 业务模块目录(user-auth.mjs)。请设置 MEMIND_LIB_ROOT,或保持 ../test-memind、../memind、../Memind 其中之一存在。', ); } export async function importMemind(subpath) { const libRoot = resolveMemindLib(); const modulePath = path.join(libRoot, subpath); return import(pathToFileURL(modulePath).href); }