diff --git a/packages/opencode/src/session/schema.ts b/packages/opencode/src/session/schema.ts index b37fefae6..540643c49 100644 --- a/packages/opencode/src/session/schema.ts +++ b/packages/opencode/src/session/schema.ts @@ -1,41 +1,38 @@ import { Schema } from "effect" import z from "zod" -import { withStatics } from "@/util/schema" import { Identifier } from "@/id/id" +import { withStatics } from "@/util/schema" -const sessionIdSchema = Schema.String.pipe(Schema.brand("SessionID")) - -export type SessionID = typeof sessionIdSchema.Type - -export const SessionID = sessionIdSchema.pipe( - withStatics((schema: typeof sessionIdSchema) => ({ - make: (id: string) => schema.makeUnsafe(id), - descending: (id?: string) => schema.makeUnsafe(Identifier.descending("session", id)), - zod: Identifier.schema("session").pipe(z.custom()), +export const SessionID = Schema.String.pipe( + Schema.brand("SessionID"), + withStatics((s) => ({ + make: (id: string) => s.makeUnsafe(id), + descending: (id?: string) => s.makeUnsafe(Identifier.descending("session", id)), + zod: Identifier.schema("session").pipe(z.custom>()), })), ) -const messageIdSchema = Schema.String.pipe(Schema.brand("MessageID")) +export type SessionID = Schema.Schema.Type -export type MessageID = typeof messageIdSchema.Type - -export const MessageID = messageIdSchema.pipe( - withStatics((schema: typeof messageIdSchema) => ({ - make: (id: string) => schema.makeUnsafe(id), - ascending: (id?: string) => schema.makeUnsafe(Identifier.ascending("message", id)), - zod: Identifier.schema("message").pipe(z.custom()), +export const MessageID = Schema.String.pipe( + Schema.brand("MessageID"), + withStatics((s) => ({ + make: (id: string) => s.makeUnsafe(id), + ascending: (id?: string) => s.makeUnsafe(Identifier.ascending("message", id)), + zod: Identifier.schema("message").pipe(z.custom>()), })), ) -const partIdSchema = Schema.String.pipe(Schema.brand("PartID")) +export type MessageID = Schema.Schema.Type -export type PartID = typeof partIdSchema.Type - -export const PartID = partIdSchema.pipe( - withStatics((schema: typeof partIdSchema) => ({ - make: (id: string) => schema.makeUnsafe(id), - ascending: (id?: string) => schema.makeUnsafe(Identifier.ascending("part", id)), - zod: Identifier.schema("part").pipe(z.custom()), +export const PartID = Schema.String.pipe( + Schema.brand("PartID"), + withStatics((s) => ({ + make: (id: string) => s.makeUnsafe(id), + ascending: (id?: string) => s.makeUnsafe(Identifier.ascending("part", id)), + zod: Identifier.schema("part").pipe(z.custom>()), })), ) + +export type PartID = Schema.Schema.Type