diff options
| author | Kit Langton <[email protected]> | 2026-04-21 23:28:33 -0400 |
|---|---|---|
| committer | GitHub <[email protected]> | 2026-04-21 23:28:33 -0400 |
| commit | 1593c3ed16369001f24252d0091092da8db26bf3 (patch) | |
| tree | 9298d858b04cc7e6e500361e79ccd581abc420de | |
| parent | e89543811ca02067732b9ae6637bc1c1572dc7c1 (diff) | |
| download | opencode-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.ts | 12 |
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"))) }, } |
