Skip to content

Commit 003010b

Browse files
authored
refactor(question): destroy Question facade (#22092)
1 parent 82a4292 commit 003010b

3 files changed

Lines changed: 77 additions & 81 deletions

File tree

packages/opencode/src/question/index.ts

Lines changed: 0 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,6 @@ import { Deferred, Effect, Layer, Schema, Context } from "effect"
22
import { Bus } from "@/bus"
33
import { BusEvent } from "@/bus/bus-event"
44
import { InstanceState } from "@/effect/instance-state"
5-
import { makeRuntime } from "@/effect/run-service"
65
import { SessionID, MessageID } from "@/session/schema"
76
import { Log } from "@/util/log"
87
import z from "zod"
@@ -199,26 +198,4 @@ export namespace Question {
199198
)
200199

201200
export const defaultLayer = layer.pipe(Layer.provide(Bus.layer))
202-
203-
const { runPromise } = makeRuntime(Service, defaultLayer)
204-
205-
export async function ask(input: {
206-
sessionID: SessionID
207-
questions: Info[]
208-
tool?: { messageID: MessageID; callID: string }
209-
}): Promise<Answer[]> {
210-
return runPromise((s) => s.ask(input))
211-
}
212-
213-
export async function reply(input: { requestID: QuestionID; answers: Answer[] }) {
214-
return runPromise((s) => s.reply(input))
215-
}
216-
217-
export async function reject(requestID: QuestionID) {
218-
return runPromise((s) => s.reject(requestID))
219-
}
220-
221-
export async function list() {
222-
return runPromise((s) => s.list())
223-
}
224201
}

packages/opencode/src/server/instance/question.ts

Lines changed: 11 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ import { describeRoute, validator } from "hono-openapi"
33
import { resolver } from "hono-openapi"
44
import { QuestionID } from "@/question/schema"
55
import { Question } from "../../question"
6+
import { AppRuntime } from "@/effect/app-runtime"
67
import z from "zod"
78
import { errors } from "../error"
89
import { lazy } from "../../util/lazy"
@@ -27,7 +28,7 @@ export const QuestionRoutes = lazy(() =>
2728
},
2829
}),
2930
async (c) => {
30-
const questions = await Question.list()
31+
const questions = await AppRuntime.runPromise(Question.Service.use((svc) => svc.list()))
3132
return c.json(questions)
3233
},
3334
)
@@ -59,10 +60,14 @@ export const QuestionRoutes = lazy(() =>
5960
async (c) => {
6061
const params = c.req.valid("param")
6162
const json = c.req.valid("json")
62-
await Question.reply({
63-
requestID: params.requestID,
64-
answers: json.answers,
65-
})
63+
await AppRuntime.runPromise(
64+
Question.Service.use((svc) =>
65+
svc.reply({
66+
requestID: params.requestID,
67+
answers: json.answers,
68+
}),
69+
),
70+
)
6671
return c.json(true)
6772
},
6873
)
@@ -92,7 +97,7 @@ export const QuestionRoutes = lazy(() =>
9297
),
9398
async (c) => {
9499
const params = c.req.valid("param")
95-
await Question.reject(params.requestID)
100+
await AppRuntime.runPromise(Question.Service.use((svc) => svc.reject(params.requestID)))
96101
return c.json(true)
97102
},
98103
),

0 commit comments

Comments
 (0)