Files
platform/src/servers/bootstrap.ts
T

24 lines
1020 B
TypeScript

import { mkdirSync } from 'node:fs';
import { DATA_PATH, ensureItemDirs } from './data-path';
import { ensureToolLoader } from './ensure-tool-loader';
// Queue is now owned by the sidecar process
import { startChatEventRetention } from './api/chat/retention';
import { loadKnownUsers } from './_middlewares/known-users';
mkdirSync(DATA_PATH, { recursive: true });
ensureItemDirs();
(async () => {
ensureToolLoader();
// Queue is initialized by the sidecar process
startChatEventRetention();
// Snapshot every account at launch, so the auth audit can tell the owner from a stranger without a
// query on an unauthenticated path. A failure here is not fatal: isKnownIdentity() falls back to the
// database, and the platform must still boot with Postgres briefly unavailable.
await loadKnownUsers()
.then((count) => console.log(`[auth] ${count} known identit${count === 1 ? 'y' : 'ies'} loaded`))
.catch((err) => console.error('[auth] could not load known users at launch:', String(err)));
})();