summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorDax Raad <[email protected]>2025-12-10 15:59:12 -0500
committerDax Raad <[email protected]>2025-12-10 15:59:42 -0500
commit936a6be5d62e401d292e84dab730fd47eec8ef0d (patch)
tree2cba6cdc0ef6f84e5355b7a4e07e7f581b804b9c
parent03c6c3f4cbb176b8a24cdbac391eaab775112193 (diff)
downloadopencode-936a6be5d62e401d292e84dab730fd47eec8ef0d.tar.gz
opencode-936a6be5d62e401d292e84dab730fd47eec8ef0d.zip
stuff adam needs
-rw-r--r--packages/opencode/src/server/server.ts14
-rw-r--r--packages/opencode/src/session/index.ts1
2 files changed, 13 insertions, 2 deletions
diff --git a/packages/opencode/src/server/server.ts b/packages/opencode/src/server/server.ts
index 6af1b4903..677c6cf13 100644
--- a/packages/opencode/src/server/server.ts
+++ b/packages/opencode/src/server/server.ts
@@ -10,7 +10,7 @@ import { proxy } from "hono/proxy"
import { Session } from "../session"
import z from "zod"
import { Provider } from "../provider/provider"
-import { mapValues } from "remeda"
+import { filter, mapValues, sortBy, pipe } from "remeda"
import { NamedError } from "@opencode-ai/util/error"
import { ModelsDev } from "../provider/models"
import { Ripgrep } from "../file/ripgrep"
@@ -483,6 +483,7 @@ export namespace Server {
schema: resolver(
z
.object({
+ home: z.string(),
state: z.string(),
config: z.string(),
worktree: z.string(),
@@ -499,6 +500,7 @@ export namespace Server {
}),
async (c) => {
return c.json({
+ home: Global.Path.home,
state: Global.Path.state,
config: Global.Path.config,
worktree: Instance.worktree,
@@ -549,7 +551,11 @@ export namespace Server {
}),
async (c) => {
const sessions = await Array.fromAsync(Session.list())
- sessions.sort((a, b) => b.time.updated - a.time.updated)
+ pipe(
+ await Array.fromAsync(Session.list()),
+ filter((s) => !s.time.archived),
+ sortBy((s) => s.time.updated),
+ )
return c.json(sessions)
},
)
@@ -755,6 +761,9 @@ export namespace Server {
"json",
z.object({
title: z.string().optional(),
+ time: z.object({
+ archived: z.number().optional(),
+ }),
}),
),
async (c) => {
@@ -765,6 +774,7 @@ export namespace Server {
if (updates.title !== undefined) {
session.title = updates.title
}
+ if (updates.time?.archived !== undefined) session.time.archived = updates.time.archived
})
return c.json(updatedSession)
diff --git a/packages/opencode/src/session/index.ts b/packages/opencode/src/session/index.ts
index a3369eb54..484a1a8a7 100644
--- a/packages/opencode/src/session/index.ts
+++ b/packages/opencode/src/session/index.ts
@@ -60,6 +60,7 @@ export namespace Session {
created: z.number(),
updated: z.number(),
compacting: z.number().optional(),
+ archived: z.number().optional(),
}),
revert: z
.object({