diff options
| author | Dax Raad <[email protected]> | 2025-12-10 15:59:12 -0500 |
|---|---|---|
| committer | Dax Raad <[email protected]> | 2025-12-10 15:59:42 -0500 |
| commit | 936a6be5d62e401d292e84dab730fd47eec8ef0d (patch) | |
| tree | 2cba6cdc0ef6f84e5355b7a4e07e7f581b804b9c | |
| parent | 03c6c3f4cbb176b8a24cdbac391eaab775112193 (diff) | |
| download | opencode-936a6be5d62e401d292e84dab730fd47eec8ef0d.tar.gz opencode-936a6be5d62e401d292e84dab730fd47eec8ef0d.zip | |
stuff adam needs
| -rw-r--r-- | packages/opencode/src/server/server.ts | 14 | ||||
| -rw-r--r-- | 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({ |
