opencode/packages/schema/src/session-fork.ts
2026-07-29 09:50:24 -04:00

16 lines
740 B
TypeScript

export * as SessionFork from "./session-fork.js"
import { Schema } from "effect"
import { SessionMessage } from "./session-message.js"
export const Boundary = Schema.Union([
Schema.Struct({ type: Schema.Literal("before"), messageID: SessionMessage.ID }),
Schema.Struct({ type: Schema.Literal("through"), messageID: SessionMessage.ID }),
]).annotate({ identifier: "Session.ForkBoundary" })
export type Boundary = typeof Boundary.Type
export const RequestBoundary = Schema.Union([
Schema.Struct({ type: Schema.Literal("before"), messageID: SessionMessage.ID }),
Schema.Struct({ type: Schema.Literal("through") }),
]).annotate({ identifier: "Session.ForkRequestBoundary" })
export type RequestBoundary = typeof RequestBoundary.Type