summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorKit Langton <[email protected]>2026-04-21 23:28:33 -0400
committerGitHub <[email protected]>2026-04-21 23:28:33 -0400
commit1593c3ed16369001f24252d0091092da8db26bf3 (patch)
tree9298d858b04cc7e6e500361e79ccd581abc420de
parente89543811ca02067732b9ae6637bc1c1572dc7c1 (diff)
downloadopencode-1593c3ed16369001f24252d0091092da8db26bf3.tar.gz
opencode-1593c3ed16369001f24252d0091092da8db26bf3.zip
refactor(core): migrate MessageV2 internal Cursor to Effect Schema (#23763)
-rw-r--r--packages/opencode/src/session/message-v2.ts12
1 files changed, 7 insertions, 5 deletions
diff --git a/packages/opencode/src/session/message-v2.ts b/packages/opencode/src/session/message-v2.ts
index f1cb6db21..aceecd9b8 100644
--- a/packages/opencode/src/session/message-v2.ts
+++ b/packages/opencode/src/session/message-v2.ts
@@ -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")))
},
}