refactor(core): derive provider schema .zod via effect-zod walker (#23753)

This commit is contained in:
Kit Langton
2026-04-21 17:49:24 -04:00
committed by GitHub
parent df0c1f649c
commit 2da6d860e0
2 changed files with 5 additions and 5 deletions

View File

@@ -162,7 +162,7 @@ schema module with a clear domain.
- [ ] `src/control-plane/schema.ts`
- [ ] `src/permission/schema.ts`
- [ ] `src/project/schema.ts`
- [ ] `src/provider/schema.ts`
- [x] `src/provider/schema.ts`
- [ ] `src/pty/schema.ts`
- [ ] `src/question/schema.ts`
- [ ] `src/session/schema.ts`

View File

@@ -1,6 +1,6 @@
import { Schema } from "effect"
import z from "zod"
import { zod } from "@/util/effect-zod"
import { withStatics } from "@/util/schema"
const providerIdSchema = Schema.String.pipe(Schema.brand("ProviderID"))
@@ -9,7 +9,7 @@ export type ProviderID = typeof providerIdSchema.Type
export const ProviderID = providerIdSchema.pipe(
withStatics((schema: typeof providerIdSchema) => ({
zod: z.string().pipe(z.custom<ProviderID>()),
zod: zod(schema),
// Well-known providers
opencode: schema.make("opencode"),
anthropic: schema.make("anthropic"),
@@ -30,7 +30,7 @@ const modelIdSchema = Schema.String.pipe(Schema.brand("ModelID"))
export type ModelID = typeof modelIdSchema.Type
export const ModelID = modelIdSchema.pipe(
withStatics((_schema: typeof modelIdSchema) => ({
zod: z.string().pipe(z.custom<ModelID>()),
withStatics((schema: typeof modelIdSchema) => ({
zod: zod(schema),
})),
)