refactor: keep runtime context in memory

This commit is contained in:
2026-06-07 17:07:14 +08:00
parent 1ed7e56f35
commit 9d4e5486e9
11 changed files with 273 additions and 269 deletions
+4 -6
View File
@@ -18,7 +18,7 @@ import {
} from "./results/store.js";
import { buildChatRouter } from "./routes/chat.js";
import { opencodeRuntime } from "./runtime/opencode.js";
import { SessionRuntimeContextStore } from "./sessions/runtimeContextStore.js";
import { getRuntimeSessionContext } from "./runtime/sessionContext.js";
const app = express();
@@ -28,7 +28,6 @@ const sessionMetadataStore = new SessionMetadataStore();
const sessionUiStateStore = new SessionUiStateStore();
const memoryStore = new MemoryStore();
const sessionTranscriptStore = new SessionTranscriptStore();
const sessionRuntimeContextStore = new SessionRuntimeContextStore();
const learningOrchestrator = new LearningOrchestrator(
opencodeRuntime,
memoryStore,
@@ -71,7 +70,7 @@ app.post("/internal/tools/tjwater-cli-call", async (req, res) => {
const sessionId =
typeof req.body?.session_id === "string" ? req.body.session_id.trim() : "";
const context = sessionId ? await sessionRuntimeContextStore.read(sessionId) : null;
const context = sessionId ? getRuntimeSessionContext(sessionId) : null;
if (!context) {
res.status(404).json({
message: "session context not found",
@@ -175,7 +174,7 @@ app.post("/internal/tools/store-render-ref", async (req, res) => {
const sessionId =
typeof req.body?.session_id === "string" ? req.body.session_id.trim() : "";
const filePath = typeof req.body?.file_path === "string" ? req.body.file_path.trim() : "";
const context = sessionId ? await sessionRuntimeContextStore.read(sessionId) : null;
const context = sessionId ? getRuntimeSessionContext(sessionId) : null;
if (!context) {
res.status(404).json({
message: "session context not found",
@@ -225,7 +224,7 @@ app.post("/internal/tools/session-search", async (req, res) => {
const sessionId =
typeof req.body?.session_id === "string" ? req.body.session_id.trim() : "";
const query = typeof req.body?.query === "string" ? req.body.query : "";
const context = sessionId ? await sessionRuntimeContextStore.read(sessionId) : null;
const context = sessionId ? getRuntimeSessionContext(sessionId) : null;
if (!context) {
res.status(404).json({
message: "session context not found",
@@ -273,7 +272,6 @@ const bootstrap = async () => {
memoryStore.initialize(),
resultReferenceStore.initialize(),
sessionTranscriptStore.initialize(),
sessionRuntimeContextStore.initialize(),
]);
resultReferenceStore.startCleanupLoop();
};