diff --git a/packages/opencode/src/question/index.ts b/packages/opencode/src/question/index.ts index 2675736169..ba76efa640 100644 --- a/packages/opencode/src/question/index.ts +++ b/packages/opencode/src/question/index.ts @@ -5,6 +5,7 @@ import { InstanceState } from "@/effect/instance-state" import { SessionID, MessageID } from "@/session/schema" import { zod } from "@/util/effect-zod" import { Log } from "@/util/log" +import { withStatics } from "@/util/schema" import { QuestionID } from "./schema" export namespace Question { @@ -69,9 +70,10 @@ export namespace Question { static readonly zod = zod(this) } - const _Answer = Schema.Array(Schema.String).annotate({ identifier: "QuestionAnswer" }) - export const Answer = Object.assign(_Answer, { zod: zod(_Answer) }) - export type Answer = Schema.Schema.Type + export const Answer = Schema.Array(Schema.String) + .annotate({ identifier: "QuestionAnswer" }) + .pipe(withStatics((s) => ({ zod: zod(s) }))) + export type Answer = Schema.Schema.Type export class Reply extends Schema.Class("QuestionReply")({ answers: Schema.Array(Answer).annotate({