Spaces:
Runtime error
Runtime error
File size: 1,764 Bytes
2671e04 e43a4a9 2671e04 e43a4a9 2671e04 e43a4a9 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 | import { fileURLToPath } from "node:url";
import { loadConfig, validateConfig } from "./config.js";
import { createApp } from "./app.js";
import { InMemoryMediaStore } from "./services/mediaStore.js";
import { createAudioConversionService } from "./services/audioConversionService.js";
import { createRequestNormalizationService } from "./services/requestNormalizationService.js";
import { createResponseNormalizationService } from "./services/responseNormalizationService.js";
import { createOpenAiService } from "./services/openAiService.js";
import { createChatController } from "./controllers/chatController.js";
import { createMediaController } from "./controllers/mediaController.js";
const config = loadConfig();
validateConfig(config);
const publicDir = fileURLToPath(new URL("../public", import.meta.url));
const mediaStore = new InMemoryMediaStore({ ttlSeconds: config.mediaTtlSeconds });
const audioConversionService = createAudioConversionService({
maxAudioDownloadMb: config.maxAudioDownloadMb
});
const requestNormalizationService = createRequestNormalizationService({
audioConversionService
});
const responseNormalizationService = createResponseNormalizationService({
mediaStore
});
const openAiService = createOpenAiService({
apiKey: config.openAiApiKey,
baseUrl: config.openAiBaseUrl,
timeoutMs: config.requestTimeoutMs
});
const chatController = createChatController({
openAiService,
requestNormalizationService,
responseNormalizationService
});
const mediaController = createMediaController({ mediaStore });
const app = createApp({
jsonLimit: config.jsonLimit,
publicDir,
chatController,
mediaController
});
app.listen(config.port, () => {
console.log(`oapix listening on http://localhost:${config.port}`);
});
|