const logo = { left: [" ", "█▀▀█ █▀▀█ █▀▀█ █▀▀▄", "█__█ █__█ █^^^ █__█", "▀▀▀▀ █▀▀▀ ▀▀▀▀ ▀~~▀"], right: [" ▄ ", "█▀▀▀ █▀▀█ █▀▀█ █▀▀█", "█___ █__█ █__█ █^^^", "▀▀▀▀ ▀▀▀▀ ▀▀▀▀ ▀▀▀▀"], } const reset = "\x1b[0m" const bold = "\x1b[1m" const dim = "\x1b[90m" function wordmark(pad = "") { const draw = (line: string, fg: string, shadow: string, bg: string) => [...line] .map((char) => { if (char === "_") return `${bg} ${reset}` if (char === "^") return `${fg}${bg}▀${reset}` if (char === "~") return `${shadow}▀${reset}` if (char === " ") return " " return `${fg}${char}${reset}` }) .join("") return logo.left.map((line, index) => { const left = draw(line, dim, "\x1b[38;5;235m", "\x1b[48;5;235m") const right = draw(logo.right[index] ?? "", reset, "\x1b[38;5;238m", "\x1b[48;5;238m") return `${pad}${left} ${right}` }) } export function sessionEpilogue(input: { title: string; sessionID?: string }) { const weak = (text: string) => `${dim}${text.padEnd(10, " ")}${reset}` return [ ...wordmark(" "), "", ` ${weak("Session")}${bold}${input.title}${reset}`, ` ${weak("Continue")}${bold}opencode2 -s ${input.sessionID}${reset}`, "", ].join("\n") }