diff --git a/src/server.ts b/src/server.ts
index 52570f2..1024177 100644
--- a/src/server.ts
+++ b/src/server.ts
@@ -151,9 +151,10 @@ ${displayMessages(window)}
END of Context
Back to Top
-Final State:
+Final State Content:
-${window.meta.final_state.content}
+
+
@@ -171,6 +172,49 @@ ${window.meta.final_state.content}
},
)
+app.post("/context/:id/save/", async (c) => {
+ const id = c.req.param("id")
+ const finalStateContent = c.req.param("final_state_content")
+
+ const data = await getData(id)
+
+ const out = []
+
+ const stream = fs
+ .createReadStream("./context_windows.jsonl")
+ .pipe(ndjson.parse())
+ .on("data", async (obj) => {
+ if (obj.meta.id === id) {
+ obj.meta.final_state.content = finalStateContent
+ out.push(obj)
+ } else {
+ out.push(obj)
+ }
+ })
+
+ stream.on("end", () => {
+ const writeStream = fs.createWriteStream("./context_windows.jsonl")
+
+ out.forEach((obj) => {
+ writeStream.write(JSON.stringify(obj) + "\n")
+ })
+
+ writeStream.end()
+
+ return c.text("Saved", 200)
+ })
+
+ stream.on("close", () => {
+ return c.text("Saved", 200)
+ })
+
+ stream.on("error", () => {
+ return c.text("Error", 500)
+ })
+
+ return c.text("Error", 500)
+})
+
app.get(
"/context/:id/json/",
ssgParams(async () => {