refactor(core): migrate MessageV2 internal Cursor to Effect Schema (#23763)

This commit is contained in:
Kit Langton
2026-04-21 23:28:33 -04:00
committed by GitHub
parent e89543811c
commit 1593c3ed16

View File

@@ -638,18 +638,20 @@ export type WithParts = {
parts: Part[]
}
const Cursor = z.object({
id: MessageID.zod,
time: z.number(),
const Cursor = Schema.Struct({
id: MessageID,
time: Schema.Number,
})
type Cursor = z.infer<typeof Cursor>
type Cursor = typeof Cursor.Type
const decodeCursor = Schema.decodeUnknownSync(Cursor)
export const cursor = {
encode(input: Cursor) {
return Buffer.from(JSON.stringify(input)).toString("base64url")
},
decode(input: string) {
return Cursor.parse(JSON.parse(Buffer.from(input, "base64url").toString("utf8")))
return decodeCursor(JSON.parse(Buffer.from(input, "base64url").toString("utf8")))
},
}