Initial import NDC_1C
This commit is contained in:
+49
@@ -0,0 +1,49 @@
|
||||
"use strict";
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
exports.buildAssistantRouter = buildAssistantRouter;
|
||||
const express_1 = require("express");
|
||||
const http_1 = require("../utils/http");
|
||||
function buildAssistantRouter(services) {
|
||||
const router = (0, express_1.Router)();
|
||||
router.post("/api/assistant/message", async (req, res, next) => {
|
||||
try {
|
||||
const payload = (req.body ?? {});
|
||||
const userMessageSource = typeof payload.user_message === "string"
|
||||
? payload.user_message
|
||||
: typeof payload.message === "string"
|
||||
? payload.message
|
||||
: "";
|
||||
const userMessage = userMessageSource.trim();
|
||||
if (!userMessage) {
|
||||
throw new http_1.ApiError("INVALID_ASSISTANT_MESSAGE", "Field `user_message` or `message` is required.", 400);
|
||||
}
|
||||
const response = await services.assistantService.handleMessage({
|
||||
...payload,
|
||||
user_message: userMessage,
|
||||
message: userMessage,
|
||||
mode: typeof payload.mode === "string" ? payload.mode : "assistant"
|
||||
});
|
||||
(0, http_1.ok)(res, response);
|
||||
}
|
||||
catch (error) {
|
||||
next(error);
|
||||
}
|
||||
});
|
||||
router.get("/api/assistant/session/:session_id", (req, res, next) => {
|
||||
try {
|
||||
const sessionId = String(req.params.session_id ?? "");
|
||||
const session = services.assistantService.getSession(sessionId);
|
||||
if (!session) {
|
||||
throw new http_1.ApiError("ASSISTANT_SESSION_NOT_FOUND", `Session not found: ${sessionId}`, 404);
|
||||
}
|
||||
(0, http_1.ok)(res, {
|
||||
ok: true,
|
||||
session
|
||||
});
|
||||
}
|
||||
catch (error) {
|
||||
next(error);
|
||||
}
|
||||
});
|
||||
return router;
|
||||
}
|
||||
Reference in New Issue
Block a user