From 936a6be5d62e401d292e84dab730fd47eec8ef0d Mon Sep 17 00:00:00 2001 From: Dax Raad Date: Wed, 10 Dec 2025 15:59:12 -0500 Subject: [PATCH] stuff adam needs --- packages/opencode/src/server/server.ts | 14 ++++++++++++-- packages/opencode/src/session/index.ts | 1 + 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({