From 6e68218d6fec032892ff442684e857ae00d77de4 Mon Sep 17 00:00:00 2001 From: KristopherPoston Date: Fri, 27 Feb 2026 10:42:51 -0500 Subject: [PATCH 1/2] Added new files and updates for ai bot response route --- middlewareNode/src/models/users.js | 2 +- middlewareNode/src/routes/bot.js | 30 +++++++++++++++++++ .../src/utils/conversationEngine.js | 8 +++++ 3 files changed, 39 insertions(+), 1 deletion(-) create mode 100644 middlewareNode/src/routes/bot.js create mode 100644 middlewareNode/src/utils/conversationEngine.js diff --git a/middlewareNode/src/models/users.js b/middlewareNode/src/models/users.js index c752560a..8144cfb8 100644 --- a/middlewareNode/src/models/users.js +++ b/middlewareNode/src/models/users.js @@ -1,4 +1,4 @@ -const mongoose = require("mongoose"); + const mongoose = require("mongoose"); const { Schema, model } = mongoose; /** diff --git a/middlewareNode/src/routes/bot.js b/middlewareNode/src/routes/bot.js new file mode 100644 index 00000000..728abfa7 --- /dev/null +++ b/middlewareNode/src/routes/bot.js @@ -0,0 +1,30 @@ +// TODO: Replace stubEngine with real conversationEngine once implemented + +const express = require("express"); +const passport = require("passport"); +const router = express.Router(); +const { generateBotResponse } = require("../utils/conversationEngine"); + +router.post("/respond", passport.authenticate("jwt"), async (req, res) => { + try { + const { currentState, userMessage } = req.body; + + if (!currentState || !userMessage) { + return res.status(400).json({ error: "Missing currentState or userMessage" }); + } + + // Call conversation engine + const response = generateBotResponse({ + currentState, + userMessage + }); + + return res.json(response); + + } catch (error) { + console.error(error); + return res.status(500).json({ error: "Server error" }); + } +}); + +module.exports = router; \ No newline at end of file diff --git a/middlewareNode/src/utils/conversationEngine.js b/middlewareNode/src/utils/conversationEngine.js new file mode 100644 index 00000000..102b88f8 --- /dev/null +++ b/middlewareNode/src/utils/conversationEngine.js @@ -0,0 +1,8 @@ +function generateBotResponse({ currentState, userMessage, developmentPlan }) { + return { + botMessage: "This is a temporary stub response while the conversation engine is being implemented.", + nextState: "ASK_SCHOOL" + }; +} + +module.exports = { generateBotResponse }; \ No newline at end of file From 7fb4bdf452724b442faa8723ad5ad10e063ebc57 Mon Sep 17 00:00:00 2001 From: KristopherPoston Date: Fri, 27 Feb 2026 11:03:21 -0500 Subject: [PATCH 2/2] adding route to server.js --- middlewareNode/src/server.js | 1 + 1 file changed, 1 insertion(+) diff --git a/middlewareNode/src/server.js b/middlewareNode/src/server.js index b9368c98..c3c04d49 100644 --- a/middlewareNode/src/server.js +++ b/middlewareNode/src/server.js @@ -46,6 +46,7 @@ app.use("/lessons", require("./routes/lessons")); app.use("/activities", require("./routes/activities")); app.use("/streak", streakRoutes); app.use("/badges", require("./routes/badges")); +app.use("/bot", require("./routes/bot")); // Start server on specified port const PORT = process.env.PORT || 8000;