24 lines
1020 B
TypeScript
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)));
|
|
})();
|