Răsfoiți Sursa

refactor(question): use withStatics for answer schema

Replace the ad hoc Object.assign wrapper with the shared schema helper so the Answer schema follows the same static attachment pattern as the rest of the codebase.
Kit Langton 4 zile în urmă
părinte
comite
2f60f9d45b
1 a modificat fișierele cu 5 adăugiri și 3 ștergeri
  1. 5 3
      packages/opencode/src/question/index.ts

+ 5 - 3
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<typeof _Answer>
+  export const Answer = Schema.Array(Schema.String)
+    .annotate({ identifier: "QuestionAnswer" })
+    .pipe(withStatics((s) => ({ zod: zod(s) })))
+  export type Answer = Schema.Schema.Type<typeof Answer>
 
   export class Reply extends Schema.Class<Reply>("QuestionReply")({
     answers: Schema.Array(Answer).annotate({