summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorKit Langton <[email protected]>2026-04-10 21:47:28 -0400
committerGitHub <[email protected]>2026-04-10 21:47:28 -0400
commita4c686025cf5b09e8091810705c88264a839ba37 (patch)
tree064e21035f7374e1544b6e76c8d666251a27a538
parentface8791001a06dbf598006022925e8bd5b5f0c5 (diff)
downloadopencode-a4c686025cf5b09e8091810705c88264a839ba37.tar.gz
opencode-a4c686025cf5b09e8091810705c88264a839ba37.zip
refactor: destroy Todo facade (#21962)
-rw-r--r--packages/opencode/src/effect/oltp.ts17
-rw-r--r--packages/opencode/src/server/routes/session.ts3
-rw-r--r--packages/opencode/src/session/todo.ts6
3 files changed, 9 insertions, 17 deletions
diff --git a/packages/opencode/src/effect/oltp.ts b/packages/opencode/src/effect/oltp.ts
index cd8bcdc79..33b67151a 100644
--- a/packages/opencode/src/effect/oltp.ts
+++ b/packages/opencode/src/effect/oltp.ts
@@ -31,14 +31,11 @@ export namespace Observability {
export const layer = !base
? EffectLogger.layer
- : Layer.mergeAll(
- EffectLogger.layer,
- Otlp.layerJson({
- baseUrl: base,
- loggerExportInterval: Duration.seconds(1),
- loggerMergeWithExisting: true,
- resource,
- headers,
- }),
- ).pipe(Layer.provide(FetchHttpClient.layer))
+ : Otlp.layerJson({
+ baseUrl: base,
+ loggerExportInterval: Duration.seconds(1),
+ loggerMergeWithExisting: true,
+ resource,
+ headers,
+ }).pipe(Layer.provide(EffectLogger.layer), Layer.provide(FetchHttpClient.layer))
}
diff --git a/packages/opencode/src/server/routes/session.ts b/packages/opencode/src/server/routes/session.ts
index 83658987e..cccaa7541 100644
--- a/packages/opencode/src/server/routes/session.ts
+++ b/packages/opencode/src/server/routes/session.ts
@@ -13,6 +13,7 @@ import { SessionShare } from "@/share/session"
import { SessionStatus } from "@/session/status"
import { SessionSummary } from "@/session/summary"
import { Todo } from "../../session/todo"
+import { AppRuntime } from "../../effect/app-runtime"
import { Agent } from "../../agent/agent"
import { Snapshot } from "@/snapshot"
import { Command } from "../../command"
@@ -185,7 +186,7 @@ export const SessionRoutes = lazy(() =>
),
async (c) => {
const sessionID = c.req.valid("param").sessionID
- const todos = await Todo.get(sessionID)
+ const todos = await AppRuntime.runPromise(Todo.Service.use((svc) => svc.get(sessionID)))
return c.json(todos)
},
)
diff --git a/packages/opencode/src/session/todo.ts b/packages/opencode/src/session/todo.ts
index 4adfc7bc5..a7aa49aa3 100644
--- a/packages/opencode/src/session/todo.ts
+++ b/packages/opencode/src/session/todo.ts
@@ -1,6 +1,5 @@
import { BusEvent } from "@/bus/bus-event"
import { Bus } from "@/bus"
-import { makeRuntime } from "@/effect/run-service"
import { SessionID } from "./schema"
import { Effect, Layer, ServiceMap } from "effect"
import z from "zod"
@@ -83,9 +82,4 @@ export namespace Todo {
)
export const defaultLayer = layer.pipe(Layer.provide(Bus.layer))
- const { runPromise } = makeRuntime(Service, defaultLayer)
-
- export async function get(sessionID: SessionID) {
- return runPromise((svc) => svc.get(sessionID))
- }
}