{"version":3,"file":"wordmark.d.ts","sourceRoot":"","sources":["../../src/core/wordmark.ts"],"names":[],"mappings":"AAAA;;GAEG;AAOH,MAAM,WAAW,sBAAsB;IACtC,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,GAAG,EAAE,MAAM,CAAC;IACZ,yCAAyC;IACzC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,wCAAwC;IACxC,MAAM,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,CAAC;IACjC,iEAAiE;IACjE,KAAK,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,CAAC;IACjC,uDAAuD;IACvD,GAAG,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,CAAC;IAC9B,iDAAiD;IACjD,KAAK,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,CAAC;IAChC,2EAA2E;IAC3E,MAAM,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,CAAC;IAClC,uEAAuE;IACvE,IAAI,CAAC,EAAE,MAAM,MAAM,CAAC;CACpB;AAED;;;;;;;;GAQG;AACH,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,sBAAsB,GAAG,MAAM,CAmB5E","sourcesContent":["/**\n * Compact wordmark banner shown at startup.\n */\n\n/** Compact three-line owl glyph rendered beside the brand text in the banner. */\nconst WORDMARK_GLYPH = [\"▟▀▀▀▀▀▙\", \"▌▟▙ ▟▙▐\", \"▜▄▄▄▄▄▛\"];\n\nconst GLYPH_GAP = \" \".repeat(2);\n\nexport interface CompactWordmarkOptions {\n\tappName: string;\n\tversion: string;\n\tcwd: string;\n\t/** Tagline shown next to the version. */\n\ttagline?: string;\n\t/** Colorize the brand \"hoo\" portion. */\n\taccent: (text: string) => string;\n\t/** Colorize the owl glyph. Defaults to `accent` when omitted. */\n\tglyph?: (text: string) => string;\n\t/** Colorize secondary text (tagline, version, cwd). */\n\tdim: (text: string) => string;\n\t/** Colorize separators and the glyph outline. */\n\tmuted: (text: string) => string;\n\t/** Render the trailing blinking cursor (e.g. blink + accent). Optional. */\n\tcursor?: (text: string) => string;\n\t/** Optional note appended to the cwd line (e.g. a keybinding hint). */\n\tnote?: () => string;\n}\n\n/**\n * Build the compact startup banner: a small owl glyph beside the brand name,\n * tagline + version, and the working directory. Flush against the left edge —\n * no indent — so it starts at column 0.\n *\n *     ▟▀▀▀▀▀▙  hoocode\n *     ▌▟▙ ▟▙▐  coding agent · v0.1.0\n *     ▜▄▄▄▄▄▛  ~/project\n */\nexport function buildCompactWordmark(options: CompactWordmarkOptions): string {\n\tconst { appName, version, cwd, accent, dim, muted } = options;\n\tconst glyphSty = options.glyph ?? accent;\n\tconst tagline = options.tagline ?? \"coding agent\";\n\n\t// Highlight the \"hoo\" prefix when present, otherwise accent the whole name.\n\tconst name = appName.startsWith(\"hoo\") ? accent(\"hoo\") + muted(\"│\") + appName.slice(3) : accent(appName);\n\tconst brand = options.cursor ? name + options.cursor(\"_\") : name;\n\n\tconst right = [\n\t\tbrand,\n\t\t`${dim(tagline)} ${muted(\"·\")} ${dim(`v${version}`)}`,\n\t\toptions.note ? `${dim(cwd)}${options.note()}` : dim(cwd),\n\t];\n\n\treturn WORDMARK_GLYPH.map((glyphLine, index) => {\n\t\tconst text = right[index] ?? \"\";\n\t\treturn `${glyphSty(glyphLine)}${GLYPH_GAP}${text}`;\n\t}).join(\"\\n\");\n}\n"]}