improve reasoning toggle tests and refactor model capability checks
This commit is contained in:
+11
-1
@@ -16,6 +16,8 @@ import {createPagesRouter} from "./routes/pages.js";
|
||||
import {createPersonasRouter} from "./routes/personas.js";
|
||||
import {createSettingsRouter} from "./routes/settings.js";
|
||||
import {createSystemRouter} from "./routes/system.js";
|
||||
import {createAttachmentService} from "./services/attachmentService.js";
|
||||
import {createUploadsRouter} from "./routes/uploads.js";
|
||||
|
||||
export function createCloseHandler(resources) {
|
||||
let closed = false;
|
||||
@@ -245,13 +247,15 @@ export function createApp(options = {}) {
|
||||
const db = createDatabase(config);
|
||||
const repositories = createRepositories(db, config);
|
||||
const modelService = options.modelService || createModelService(config, options.modelOverrides);
|
||||
const chatService = createChatService(repositories, modelService, config);
|
||||
const attachmentService = createAttachmentService(db, config, modelService);
|
||||
const chatService = createChatService(repositories, modelService, config, undefined, attachmentService);
|
||||
const FileStore = FileStoreFactory(session);
|
||||
const authRateLimiters = createAuthRateLimiters(config);
|
||||
const chatRateLimiters = createChatRateLimiters(config);
|
||||
closeHandlers.push(
|
||||
...authRateLimiters.map((limiter) => limiter.close),
|
||||
...chatRateLimiters.map((limiter) => limiter.close),
|
||||
() => attachmentService.close(),
|
||||
() => db.close()
|
||||
);
|
||||
|
||||
@@ -271,11 +275,16 @@ export function createApp(options = {}) {
|
||||
}));
|
||||
app.use(sameOriginProtection(config));
|
||||
app.use(enforceSessionVersion(repositories));
|
||||
app.use((req, res, next) => {
|
||||
if (["DELETE", "POST"].includes(req.method)) res.on("finish", () => { void attachmentService.cleanup(); });
|
||||
next();
|
||||
});
|
||||
|
||||
app.locals.config = config;
|
||||
app.locals.db = db;
|
||||
app.locals.repositories = repositories;
|
||||
app.locals.modelService = modelService;
|
||||
app.locals.attachmentService = attachmentService;
|
||||
app.locals.observability = observability;
|
||||
app.locals.close = createCloseHandler(closeHandlers);
|
||||
|
||||
@@ -290,6 +299,7 @@ export function createApp(options = {}) {
|
||||
fallthrough: config.staticFallthrough
|
||||
}));
|
||||
app.use(createAuthRouter({repositories, authRateLimiters, config}));
|
||||
app.use(createUploadsRouter(attachmentService, config));
|
||||
app.use(createSettingsRouter({repositories}));
|
||||
app.use(createChatsRouter({repositories, chatService, modelService, config, chatRateLimiters}));
|
||||
app.use(createPersonasRouter({repositories, chatService, modelService, config}));
|
||||
|
||||
Reference in New Issue
Block a user