mongodb-chatbot-server
Version:
A chatbot server for retrieval augmented generation (RAG).
50 lines • 1.92 kB
TypeScript
import { Express, ErrorRequestHandler, RequestHandler, NextFunction, Request as ExpressRequest, Response as ExpressResponse } from "express";
import "dotenv/config";
import { ConversationsRouterParams } from "./routes/conversations/conversationsRouter";
import { CorsOptions } from "cors";
/**
Configuration for the server Express.js app.
*/
export interface AppConfig {
/**
Configuration for the conversations router.
*/
conversationsRouterConfig: ConversationsRouterParams;
/**
Maximum time in milliseconds for a request to complete before timing out.
Defaults to 60000 (1 minute).
*/
maxRequestTimeoutMs?: number;
/**
Configuration for CORS middleware. Defaults to allowing all origins.
*/
corsOptions?: CorsOptions;
/**
Prefix for all API routes. Defaults to `/api/v1`.
*/
apiPrefix?: string;
/**
Additional server logic using the server's `Express` app object.
Can do things like add additional, routes, global middleware, etc.
Runs immediately after the app is instantiated,
before additional routes and middleware are added.
@example
(app)=> {
app.get("/", (req, res) => res.send({ hello: "world" }))
}
*/
expressAppConfig?: (app: Express) => Promise<void>;
}
/**
General error handler. Called at usage of `next()` in routes.
*/
export declare const errorHandler: ErrorRequestHandler;
export declare const reqHandler: RequestHandler;
export declare const makeHandleTimeoutMiddleware: (apiTimeout: number) => (req: ExpressRequest, res: ExpressResponse, next: NextFunction) => void;
export declare const DEFAULT_API_PREFIX = "/api/v1";
export declare const DEFAULT_MAX_REQUEST_TIMEOUT_MS = 60000;
/**
Constructor function to make the Express.js app.
*/
export declare const makeApp: (config: AppConfig) => Promise<Express>;
//# sourceMappingURL=app.d.ts.map