Something went wrong. Try again.
opencode v2 mirror
Something went wrong. Try again.
12345678910111213141516171819202122232425262728293031323334import { ulid } from "ulid"import { z } from "zod"
export namespace Identifier { const prefixes = { account: "acc", auth: "aut", benchmark: "ben", billing: "bil", key: "key", lite: "lit", model: "mod", payment: "pay", provider: "prv", referral: "ref", subscription: "sub", usage: "usg", user: "usr", workspace: "wrk", } as const
export function create(prefix: keyof typeof prefixes, given?: string): string { if (given) { if (given.startsWith(prefixes[prefix])) return given throw new Error(`ID ${given} does not start with ${prefixes[prefix]}`) } return [prefixes[prefix], ulid()].join("_") }
export function schema(prefix: keyof typeof prefixes) { return z.string().startsWith(prefixes[prefix]) }}