import { ensureArgon2Sync } from './argon2-polyfill.mjs'; import { loadProjectEnv } from './load-env.mjs'; import { USER_COOKIE, clearUserSessionCookie, parseCookies, resolveCookieDomainForRequest, userLoginCookies, } from './local-auth.mjs'; ensureArgon2Sync(); import { bootstrapAdminServices } from './bootstrap.mjs'; import { createAdminApp } from './app.mjs'; loadProjectEnv(); const port = Number(process.env.ADM_API_PORT ?? 8085); const ready = bootstrapAdminServices(); const services = { ready, USER_COOKIE, parseCookies, userLoginCookies, clearUserSessionCookie, resolveCookieDomainForRequest, }; ready .then(({ pool, userAuth, llmProviderService, plazaOps, createOpsApi, wechatAdmin }) => { Object.assign(services, { pool, userAuth, llmProviderService, plazaOps, createOpsApi, wechatAdmin, }); const app = createAdminApp(services); const server = app.listen(port, '127.0.0.1', () => { console.log(`TKMind Admin API @ http://127.0.0.1:${port}`); }); globalThis.__tkmindAdminServer = server; }) .catch((err) => { console.error('Admin server bootstrap failed:', err); process.exit(1); });