opencode / packages /schema /src /session-id.ts
SaylorTwift's picture
SaylorTwift HF Staff
Add files using upload-large-folder tool
89a2873 verified
Raw
History Blame Contribute Delete
473 Bytes
import { Schema } from "effect"
import { descending } from "./identifier"
import { statics } from "./schema"
export const SessionID = Schema.String.check(Schema.isStartsWith("ses")).pipe(
Schema.brand("SessionID"),
statics((schema) => {
const create = () => schema.make("ses_" + descending())
return {
create,
descending: (id?: string) => (id === undefined ? create() : schema.make(id)),
}
}),
)
export type SessionID = typeof SessionID.Type