@kolisachint/hoocode-agent 0.4.18 → 0.4.20
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +8 -0
- package/dist/core/resource-loader.d.ts.map +1 -1
- package/dist/core/resource-loader.js +3 -3
- package/dist/core/resource-loader.js.map +1 -1
- package/dist/core/wordmark-symbol.generated.d.ts +9 -0
- package/dist/core/wordmark-symbol.generated.d.ts.map +1 -0
- package/dist/core/wordmark-symbol.generated.js +20 -0
- package/dist/core/wordmark-symbol.generated.js.map +1 -0
- package/dist/core/wordmark.d.ts +29 -0
- package/dist/core/wordmark.d.ts.map +1 -1
- package/dist/core/wordmark.js +39 -0
- package/dist/core/wordmark.js.map +1 -1
- package/dist/modes/interactive/interactive-mode.d.ts.map +1 -1
- package/dist/modes/interactive/interactive-mode.js +19 -24
- package/dist/modes/interactive/interactive-mode.js.map +1 -1
- package/dist/modes/interactive/theme/theme.d.ts +1 -0
- package/dist/modes/interactive/theme/theme.d.ts.map +1 -1
- package/dist/modes/interactive/theme/theme.js +5 -0
- package/dist/modes/interactive/theme/theme.js.map +1 -1
- package/examples/extensions/custom-provider-anthropic/package.json +1 -1
- package/examples/extensions/custom-provider-gitlab-duo/package.json +1 -1
- package/examples/extensions/sandbox/package.json +1 -1
- package/examples/extensions/with-deps/package.json +1 -1
- package/package.json +4 -4
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Colored half-block ANSI art of the Hoo owl symbol for the startup banner.
|
|
3
|
+
*
|
|
4
|
+
* GENERATED FILE - do not edit by hand.
|
|
5
|
+
* Regenerate with: npx tsx scripts/generate-wordmark-symbol.ts
|
|
6
|
+
* Source: assets/symbol.svg
|
|
7
|
+
*/
|
|
8
|
+
export const WORDMARK_SYMBOL_BLOCKS = [
|
|
9
|
+
" \x1b[38;2;249;249;249m▄\x1b[0m\x1b[38;2;250;250;250m▄\x1b[0m\x1b[38;2;249;249;249m▄\x1b[0m \x1b[38;2;249;249;249m▄\x1b[0m\x1b[38;2;250;250;250m▄\x1b[0m\x1b[38;2;249;249;249m▄\x1b[0m",
|
|
10
|
+
" \x1b[38;2;0;240;255m▄\x1b[0m\x1b[38;2;0;239;255m\x1b[48;2;0;239;255m▀\x1b[0m\x1b[38;2;0;239;254m\x1b[48;2;0;240;255m▀\x1b[0m \x1b[38;2;250;250;250m▄\x1b[0m\x1b[38;2;250;250;250m\x1b[48;2;250;250;250m▀\x1b[0m\x1b[38;2;249;249;249m\x1b[48;2;250;250;250m▀\x1b[0m\x1b[38;2;250;250;250m\x1b[48;2;250;250;250m▀\x1b[0m\x1b[38;2;250;250;250m\x1b[48;2;250;250;250m▀\x1b[0m\x1b[38;2;250;250;250m\x1b[48;2;250;250;250m▀\x1b[0m\x1b[38;2;250;250;250m\x1b[48;2;250;250;250m▀\x1b[0m\x1b[38;2;250;250;250m\x1b[48;2;249;249;249m▀\x1b[0m\x1b[38;2;249;249;249m\x1b[48;2;250;250;250m▀\x1b[0m\x1b[38;2;248;248;248m\x1b[48;2;250;250;250m▀\x1b[0m\x1b[38;2;250;250;250m▄\x1b[0m \x1b[38;2;250;250;250m▄\x1b[0m\x1b[38;2;250;250;250m\x1b[48;2;250;250;250m▀\x1b[0m\x1b[38;2;249;249;249m\x1b[48;2;250;250;250m▀\x1b[0m\x1b[38;2;250;250;250m\x1b[48;2;250;250;250m▀\x1b[0m\x1b[38;2;250;250;250m\x1b[48;2;250;250;250m▀\x1b[0m\x1b[38;2;250;250;250m\x1b[48;2;250;250;250m▀\x1b[0m\x1b[38;2;250;250;250m\x1b[48;2;250;250;250m▀\x1b[0m\x1b[38;2;250;250;250m\x1b[48;2;249;249;249m▀\x1b[0m\x1b[38;2;249;249;249m\x1b[48;2;250;250;250m▀\x1b[0m\x1b[38;2;248;248;248m\x1b[48;2;250;250;250m▀\x1b[0m\x1b[38;2;250;250;250m▄\x1b[0m \x1b[38;2;0;241;254m\x1b[48;2;0;240;255m▀\x1b[0m\x1b[38;2;0;239;255m\x1b[48;2;0;240;255m▀\x1b[0m\x1b[38;2;0;240;255m▄\x1b[0m",
|
|
11
|
+
" \x1b[38;2;0;239;255m\x1b[48;2;0;239;255m▀\x1b[0m\x1b[38;2;0;240;255m\x1b[48;2;0;239;255m▀\x1b[0m\x1b[38;2;0;239;255m▀\x1b[0m\x1b[38;2;250;250;250m▄\x1b[0m\x1b[38;2;249;249;249m\x1b[48;2;250;250;250m▀\x1b[0m\x1b[38;2;250;250;250m\x1b[48;2;250;250;250m▀\x1b[0m\x1b[38;2;249;249;249m▀\x1b[0m \x1b[38;2;249;249;249m▀\x1b[0m\x1b[38;2;250;250;250m\x1b[48;2;250;250;250m▀\x1b[0m\x1b[38;2;250;250;250m\x1b[48;2;250;250;250m▀\x1b[0m\x1b[38;2;248;248;248m▄\x1b[0m\x1b[38;2;250;250;250m▄\x1b[0m\x1b[38;2;249;249;249m\x1b[48;2;250;250;250m▀\x1b[0m\x1b[38;2;250;250;250m\x1b[48;2;250;250;250m▀\x1b[0m\x1b[38;2;249;249;249m▀\x1b[0m \x1b[38;2;249;249;249m▀\x1b[0m\x1b[38;2;250;250;250m\x1b[48;2;250;250;250m▀\x1b[0m\x1b[38;2;250;250;250m\x1b[48;2;250;250;250m▀\x1b[0m\x1b[38;2;250;250;250m▄\x1b[0m\x1b[38;2;0;239;255m▀\x1b[0m\x1b[38;2;0;239;255m\x1b[48;2;0;240;255m▀\x1b[0m\x1b[38;2;0;239;255m\x1b[48;2;0;239;255m▀\x1b[0m",
|
|
12
|
+
" \x1b[38;2;0;239;255m\x1b[48;2;0;239;254m▀\x1b[0m\x1b[38;2;0;240;255m\x1b[48;2;0;240;255m▀\x1b[0m \x1b[38;2;249;249;249m▄\x1b[0m\x1b[38;2;250;250;250m\x1b[48;2;250;250;250m▀\x1b[0m\x1b[38;2;249;249;249m\x1b[48;2;250;250;250m▀\x1b[0m \x1b[38;2;250;250;250m\x1b[48;2;248;248;248m▀\x1b[0m\x1b[38;2;250;250;250m\x1b[48;2;179;247;252m▀\x1b[0m\x1b[38;2;250;250;250m\x1b[48;2;178;247;252m▀\x1b[0m\x1b[38;2;249;249;249m\x1b[48;2;250;250;250m▀\x1b[0m \x1b[38;2;250;250;250m\x1b[48;2;248;248;248m▀\x1b[0m\x1b[38;2;250;250;250m\x1b[48;2;250;250;250m▀\x1b[0m\x1b[38;2;249;249;249m▄\x1b[0m \x1b[38;2;0;239;255m\x1b[48;2;0;241;255m▀\x1b[0m\x1b[38;2;0;239;255m\x1b[48;2;0;239;254m▀\x1b[0m",
|
|
13
|
+
" \x1b[38;2;0;240;255m▄\x1b[0m\x1b[38;2;0;240;255m\x1b[48;2;0;240;255m▀\x1b[0m \x1b[38;2;249;249;249m\x1b[48;2;250;250;250m▀\x1b[0m\x1b[38;2;250;250;250m\x1b[48;2;250;250;250m▀\x1b[0m \x1b[38;2;90;243;254m\x1b[48;2;0;240;255m▀\x1b[0m\x1b[38;2;8;240;255m\x1b[48;2;0;240;255m▀\x1b[0m\x1b[38;2;7;240;255m\x1b[48;2;0;240;255m▀\x1b[0m\x1b[38;2;88;243;252m\x1b[48;2;0;240;255m▀\x1b[0m \x1b[38;2;250;250;250m\x1b[48;2;250;250;250m▀\x1b[0m\x1b[38;2;249;249;249m\x1b[48;2;250;250;250m▀\x1b[0m \x1b[38;2;0;240;255m\x1b[48;2;0;240;255m▀\x1b[0m\x1b[38;2;0;239;254m▄\x1b[0m",
|
|
14
|
+
" \x1b[38;2;0;240;255m▀\x1b[0m\x1b[38;2;0;240;255m\x1b[48;2;0;240;255m▀\x1b[0m \x1b[38;2;250;250;250m\x1b[48;2;250;250;250m▀\x1b[0m\x1b[38;2;250;250;250m\x1b[48;2;250;250;250m▀\x1b[0m \x1b[38;2;0;240;254m\x1b[48;2;93;243;252m▀\x1b[0m\x1b[38;2;0;240;255m\x1b[48;2;8;240;255m▀\x1b[0m\x1b[38;2;0;240;255m\x1b[48;2;8;240;255m▀\x1b[0m\x1b[38;2;0;239;255m\x1b[48;2;91;243;252m▀\x1b[0m \x1b[38;2;250;250;250m\x1b[48;2;250;250;250m▀\x1b[0m\x1b[38;2;250;250;250m\x1b[48;2;249;249;249m▀\x1b[0m \x1b[38;2;0;240;255m\x1b[48;2;0;240;255m▀\x1b[0m\x1b[38;2;0;242;255m▀\x1b[0m",
|
|
15
|
+
" \x1b[38;2;0;239;254m\x1b[48;2;0;239;255m▀\x1b[0m\x1b[38;2;0;239;255m\x1b[48;2;0;240;255m▀\x1b[0m \x1b[38;2;250;250;250m▀\x1b[0m\x1b[38;2;250;250;250m\x1b[48;2;250;250;250m▀\x1b[0m\x1b[38;2;248;248;248m\x1b[48;2;249;249;249m▀\x1b[0m \x1b[38;2;250;250;250m\x1b[48;2;249;249;249m▀\x1b[0m\x1b[38;2;181;247;251m\x1b[48;2;250;250;250m▀\x1b[0m\x1b[38;2;180;247;251m\x1b[48;2;250;250;250m▀\x1b[0m\x1b[38;2;248;248;248m\x1b[48;2;249;249;249m▀\x1b[0m \x1b[38;2;250;250;250m\x1b[48;2;249;249;249m▀\x1b[0m\x1b[38;2;250;250;250m\x1b[48;2;250;250;250m▀\x1b[0m\x1b[38;2;250;250;250m▀\x1b[0m \x1b[38;2;0;241;255m\x1b[48;2;0;240;255m▀\x1b[0m\x1b[38;2;0;240;255m\x1b[48;2;0;239;255m▀\x1b[0m",
|
|
16
|
+
" \x1b[38;2;0;239;255m\x1b[48;2;0;239;255m▀\x1b[0m\x1b[38;2;0;240;255m\x1b[48;2;0;239;255m▀\x1b[0m\x1b[38;2;0;239;254m▄\x1b[0m\x1b[38;2;248;248;248m▀\x1b[0m\x1b[38;2;250;250;250m\x1b[48;2;250;250;250m▀\x1b[0m\x1b[38;2;250;250;250m\x1b[48;2;250;250;250m▀\x1b[0m\x1b[38;2;250;250;250m▄\x1b[0m \x1b[38;2;252;252;252m▄\x1b[0m\x1b[38;2;250;250;250m▄\x1b[0m\x1b[38;2;249;249;249m\x1b[48;2;250;250;250m▀\x1b[0m\x1b[38;2;250;250;250m\x1b[48;2;249;249;249m▀\x1b[0m\x1b[38;2;250;250;250m▀\x1b[0m\x1b[38;2;248;248;248m▀\x1b[0m\x1b[38;2;250;250;250m\x1b[48;2;250;250;250m▀\x1b[0m\x1b[38;2;250;250;250m\x1b[48;2;250;250;250m▀\x1b[0m\x1b[38;2;250;250;250m▄\x1b[0m \x1b[38;2;252;252;252m▄\x1b[0m\x1b[38;2;250;250;250m▄\x1b[0m\x1b[38;2;249;249;249m\x1b[48;2;250;250;250m▀\x1b[0m\x1b[38;2;250;250;250m\x1b[48;2;249;249;249m▀\x1b[0m\x1b[38;2;248;248;248m▀\x1b[0m\x1b[38;2;0;240;255m▄\x1b[0m\x1b[38;2;0;240;255m\x1b[48;2;0;239;255m▀\x1b[0m\x1b[38;2;0;239;255m\x1b[48;2;0;239;255m▀\x1b[0m",
|
|
17
|
+
" \x1b[38;2;0;240;255m▀\x1b[0m\x1b[38;2;0;240;255m\x1b[48;2;0;239;255m▀\x1b[0m\x1b[38;2;0;240;255m\x1b[48;2;0;238;255m▀\x1b[0m \x1b[38;2;249;249;249m▀\x1b[0m\x1b[38;2;250;250;250m\x1b[48;2;250;250;250m▀\x1b[0m\x1b[38;2;250;250;250m\x1b[48;2;249;249;249m▀\x1b[0m\x1b[38;2;250;250;250m\x1b[48;2;250;250;250m▀\x1b[0m\x1b[38;2;249;249;249m\x1b[48;2;250;250;250m▀\x1b[0m\x1b[38;2;248;248;248m\x1b[48;2;250;250;250m▀\x1b[0m\x1b[38;2;249;249;249m\x1b[48;2;250;250;250m▀\x1b[0m\x1b[38;2;249;249;249m\x1b[48;2;250;250;250m▀\x1b[0m\x1b[38;2;250;250;250m\x1b[48;2;249;249;249m▀\x1b[0m\x1b[38;2;250;250;250m\x1b[48;2;250;250;250m▀\x1b[0m\x1b[38;2;249;249;249m▀\x1b[0m \x1b[38;2;249;249;249m▀\x1b[0m\x1b[38;2;250;250;250m\x1b[48;2;250;250;250m▀\x1b[0m\x1b[38;2;250;250;250m\x1b[48;2;249;249;249m▀\x1b[0m\x1b[38;2;250;250;250m\x1b[48;2;250;250;250m▀\x1b[0m\x1b[38;2;249;249;249m\x1b[48;2;250;250;250m▀\x1b[0m\x1b[38;2;248;248;248m\x1b[48;2;250;250;250m▀\x1b[0m\x1b[38;2;249;249;249m\x1b[48;2;250;250;250m▀\x1b[0m\x1b[38;2;249;249;249m\x1b[48;2;250;250;250m▀\x1b[0m\x1b[38;2;250;250;250m\x1b[48;2;249;249;249m▀\x1b[0m\x1b[38;2;250;250;250m\x1b[48;2;250;250;250m▀\x1b[0m\x1b[38;2;249;249;249m▀\x1b[0m \x1b[38;2;0;240;255m\x1b[48;2;0;239;254m▀\x1b[0m\x1b[38;2;0;240;255m\x1b[48;2;0;239;255m▀\x1b[0m\x1b[38;2;0;239;255m▀\x1b[0m",
|
|
18
|
+
" \x1b[38;2;249;249;249m▀\x1b[0m\x1b[38;2;250;250;250m▀\x1b[0m\x1b[38;2;249;249;249m▀\x1b[0m \x1b[38;2;249;249;249m▀\x1b[0m\x1b[38;2;250;250;250m▀\x1b[0m\x1b[38;2;249;249;249m▀\x1b[0m",
|
|
19
|
+
].join("\n");
|
|
20
|
+
//# sourceMappingURL=wordmark-symbol.generated.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"wordmark-symbol.generated.js","sourceRoot":"","sources":["../../src/core/wordmark-symbol.generated.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,MAAM,CAAC,MAAM,sBAAsB,GAAG;IACrC,0NAA8M;IAC9M,41CAAoyC;IACpyC,u8BAA25B;IAC35B,otBAAwrB;IACxrB,imBAAykB;IACzkB,imBAAykB;IACzkB,otBAAwrB;IACxrB,qgCAAq9B;IACr9B,41CAAoyC;IACpyC,0NAA8M;CAC9M,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC","sourcesContent":["/**\n * Colored half-block ANSI art of the Hoo owl symbol for the startup banner.\n *\n * GENERATED FILE - do not edit by hand.\n * Regenerate with: npx tsx scripts/generate-wordmark-symbol.ts\n * Source: assets/symbol.svg\n */\n\nexport const WORDMARK_SYMBOL_BLOCKS = [\n\t\" \\x1b[38;2;249;249;249m▄\\x1b[0m\\x1b[38;2;250;250;250m▄\\x1b[0m\\x1b[38;2;249;249;249m▄\\x1b[0m \\x1b[38;2;249;249;249m▄\\x1b[0m\\x1b[38;2;250;250;250m▄\\x1b[0m\\x1b[38;2;249;249;249m▄\\x1b[0m\",\n\t\" \\x1b[38;2;0;240;255m▄\\x1b[0m\\x1b[38;2;0;239;255m\\x1b[48;2;0;239;255m▀\\x1b[0m\\x1b[38;2;0;239;254m\\x1b[48;2;0;240;255m▀\\x1b[0m \\x1b[38;2;250;250;250m▄\\x1b[0m\\x1b[38;2;250;250;250m\\x1b[48;2;250;250;250m▀\\x1b[0m\\x1b[38;2;249;249;249m\\x1b[48;2;250;250;250m▀\\x1b[0m\\x1b[38;2;250;250;250m\\x1b[48;2;250;250;250m▀\\x1b[0m\\x1b[38;2;250;250;250m\\x1b[48;2;250;250;250m▀\\x1b[0m\\x1b[38;2;250;250;250m\\x1b[48;2;250;250;250m▀\\x1b[0m\\x1b[38;2;250;250;250m\\x1b[48;2;250;250;250m▀\\x1b[0m\\x1b[38;2;250;250;250m\\x1b[48;2;249;249;249m▀\\x1b[0m\\x1b[38;2;249;249;249m\\x1b[48;2;250;250;250m▀\\x1b[0m\\x1b[38;2;248;248;248m\\x1b[48;2;250;250;250m▀\\x1b[0m\\x1b[38;2;250;250;250m▄\\x1b[0m \\x1b[38;2;250;250;250m▄\\x1b[0m\\x1b[38;2;250;250;250m\\x1b[48;2;250;250;250m▀\\x1b[0m\\x1b[38;2;249;249;249m\\x1b[48;2;250;250;250m▀\\x1b[0m\\x1b[38;2;250;250;250m\\x1b[48;2;250;250;250m▀\\x1b[0m\\x1b[38;2;250;250;250m\\x1b[48;2;250;250;250m▀\\x1b[0m\\x1b[38;2;250;250;250m\\x1b[48;2;250;250;250m▀\\x1b[0m\\x1b[38;2;250;250;250m\\x1b[48;2;250;250;250m▀\\x1b[0m\\x1b[38;2;250;250;250m\\x1b[48;2;249;249;249m▀\\x1b[0m\\x1b[38;2;249;249;249m\\x1b[48;2;250;250;250m▀\\x1b[0m\\x1b[38;2;248;248;248m\\x1b[48;2;250;250;250m▀\\x1b[0m\\x1b[38;2;250;250;250m▄\\x1b[0m \\x1b[38;2;0;241;254m\\x1b[48;2;0;240;255m▀\\x1b[0m\\x1b[38;2;0;239;255m\\x1b[48;2;0;240;255m▀\\x1b[0m\\x1b[38;2;0;240;255m▄\\x1b[0m\",\n\t\" \\x1b[38;2;0;239;255m\\x1b[48;2;0;239;255m▀\\x1b[0m\\x1b[38;2;0;240;255m\\x1b[48;2;0;239;255m▀\\x1b[0m\\x1b[38;2;0;239;255m▀\\x1b[0m\\x1b[38;2;250;250;250m▄\\x1b[0m\\x1b[38;2;249;249;249m\\x1b[48;2;250;250;250m▀\\x1b[0m\\x1b[38;2;250;250;250m\\x1b[48;2;250;250;250m▀\\x1b[0m\\x1b[38;2;249;249;249m▀\\x1b[0m \\x1b[38;2;249;249;249m▀\\x1b[0m\\x1b[38;2;250;250;250m\\x1b[48;2;250;250;250m▀\\x1b[0m\\x1b[38;2;250;250;250m\\x1b[48;2;250;250;250m▀\\x1b[0m\\x1b[38;2;248;248;248m▄\\x1b[0m\\x1b[38;2;250;250;250m▄\\x1b[0m\\x1b[38;2;249;249;249m\\x1b[48;2;250;250;250m▀\\x1b[0m\\x1b[38;2;250;250;250m\\x1b[48;2;250;250;250m▀\\x1b[0m\\x1b[38;2;249;249;249m▀\\x1b[0m \\x1b[38;2;249;249;249m▀\\x1b[0m\\x1b[38;2;250;250;250m\\x1b[48;2;250;250;250m▀\\x1b[0m\\x1b[38;2;250;250;250m\\x1b[48;2;250;250;250m▀\\x1b[0m\\x1b[38;2;250;250;250m▄\\x1b[0m\\x1b[38;2;0;239;255m▀\\x1b[0m\\x1b[38;2;0;239;255m\\x1b[48;2;0;240;255m▀\\x1b[0m\\x1b[38;2;0;239;255m\\x1b[48;2;0;239;255m▀\\x1b[0m\",\n\t\" \\x1b[38;2;0;239;255m\\x1b[48;2;0;239;254m▀\\x1b[0m\\x1b[38;2;0;240;255m\\x1b[48;2;0;240;255m▀\\x1b[0m \\x1b[38;2;249;249;249m▄\\x1b[0m\\x1b[38;2;250;250;250m\\x1b[48;2;250;250;250m▀\\x1b[0m\\x1b[38;2;249;249;249m\\x1b[48;2;250;250;250m▀\\x1b[0m \\x1b[38;2;250;250;250m\\x1b[48;2;248;248;248m▀\\x1b[0m\\x1b[38;2;250;250;250m\\x1b[48;2;179;247;252m▀\\x1b[0m\\x1b[38;2;250;250;250m\\x1b[48;2;178;247;252m▀\\x1b[0m\\x1b[38;2;249;249;249m\\x1b[48;2;250;250;250m▀\\x1b[0m \\x1b[38;2;250;250;250m\\x1b[48;2;248;248;248m▀\\x1b[0m\\x1b[38;2;250;250;250m\\x1b[48;2;250;250;250m▀\\x1b[0m\\x1b[38;2;249;249;249m▄\\x1b[0m \\x1b[38;2;0;239;255m\\x1b[48;2;0;241;255m▀\\x1b[0m\\x1b[38;2;0;239;255m\\x1b[48;2;0;239;254m▀\\x1b[0m\",\n\t\" \\x1b[38;2;0;240;255m▄\\x1b[0m\\x1b[38;2;0;240;255m\\x1b[48;2;0;240;255m▀\\x1b[0m \\x1b[38;2;249;249;249m\\x1b[48;2;250;250;250m▀\\x1b[0m\\x1b[38;2;250;250;250m\\x1b[48;2;250;250;250m▀\\x1b[0m \\x1b[38;2;90;243;254m\\x1b[48;2;0;240;255m▀\\x1b[0m\\x1b[38;2;8;240;255m\\x1b[48;2;0;240;255m▀\\x1b[0m\\x1b[38;2;7;240;255m\\x1b[48;2;0;240;255m▀\\x1b[0m\\x1b[38;2;88;243;252m\\x1b[48;2;0;240;255m▀\\x1b[0m \\x1b[38;2;250;250;250m\\x1b[48;2;250;250;250m▀\\x1b[0m\\x1b[38;2;249;249;249m\\x1b[48;2;250;250;250m▀\\x1b[0m \\x1b[38;2;0;240;255m\\x1b[48;2;0;240;255m▀\\x1b[0m\\x1b[38;2;0;239;254m▄\\x1b[0m\",\n\t\" \\x1b[38;2;0;240;255m▀\\x1b[0m\\x1b[38;2;0;240;255m\\x1b[48;2;0;240;255m▀\\x1b[0m \\x1b[38;2;250;250;250m\\x1b[48;2;250;250;250m▀\\x1b[0m\\x1b[38;2;250;250;250m\\x1b[48;2;250;250;250m▀\\x1b[0m \\x1b[38;2;0;240;254m\\x1b[48;2;93;243;252m▀\\x1b[0m\\x1b[38;2;0;240;255m\\x1b[48;2;8;240;255m▀\\x1b[0m\\x1b[38;2;0;240;255m\\x1b[48;2;8;240;255m▀\\x1b[0m\\x1b[38;2;0;239;255m\\x1b[48;2;91;243;252m▀\\x1b[0m \\x1b[38;2;250;250;250m\\x1b[48;2;250;250;250m▀\\x1b[0m\\x1b[38;2;250;250;250m\\x1b[48;2;249;249;249m▀\\x1b[0m \\x1b[38;2;0;240;255m\\x1b[48;2;0;240;255m▀\\x1b[0m\\x1b[38;2;0;242;255m▀\\x1b[0m\",\n\t\" \\x1b[38;2;0;239;254m\\x1b[48;2;0;239;255m▀\\x1b[0m\\x1b[38;2;0;239;255m\\x1b[48;2;0;240;255m▀\\x1b[0m \\x1b[38;2;250;250;250m▀\\x1b[0m\\x1b[38;2;250;250;250m\\x1b[48;2;250;250;250m▀\\x1b[0m\\x1b[38;2;248;248;248m\\x1b[48;2;249;249;249m▀\\x1b[0m \\x1b[38;2;250;250;250m\\x1b[48;2;249;249;249m▀\\x1b[0m\\x1b[38;2;181;247;251m\\x1b[48;2;250;250;250m▀\\x1b[0m\\x1b[38;2;180;247;251m\\x1b[48;2;250;250;250m▀\\x1b[0m\\x1b[38;2;248;248;248m\\x1b[48;2;249;249;249m▀\\x1b[0m \\x1b[38;2;250;250;250m\\x1b[48;2;249;249;249m▀\\x1b[0m\\x1b[38;2;250;250;250m\\x1b[48;2;250;250;250m▀\\x1b[0m\\x1b[38;2;250;250;250m▀\\x1b[0m \\x1b[38;2;0;241;255m\\x1b[48;2;0;240;255m▀\\x1b[0m\\x1b[38;2;0;240;255m\\x1b[48;2;0;239;255m▀\\x1b[0m\",\n\t\" \\x1b[38;2;0;239;255m\\x1b[48;2;0;239;255m▀\\x1b[0m\\x1b[38;2;0;240;255m\\x1b[48;2;0;239;255m▀\\x1b[0m\\x1b[38;2;0;239;254m▄\\x1b[0m\\x1b[38;2;248;248;248m▀\\x1b[0m\\x1b[38;2;250;250;250m\\x1b[48;2;250;250;250m▀\\x1b[0m\\x1b[38;2;250;250;250m\\x1b[48;2;250;250;250m▀\\x1b[0m\\x1b[38;2;250;250;250m▄\\x1b[0m \\x1b[38;2;252;252;252m▄\\x1b[0m\\x1b[38;2;250;250;250m▄\\x1b[0m\\x1b[38;2;249;249;249m\\x1b[48;2;250;250;250m▀\\x1b[0m\\x1b[38;2;250;250;250m\\x1b[48;2;249;249;249m▀\\x1b[0m\\x1b[38;2;250;250;250m▀\\x1b[0m\\x1b[38;2;248;248;248m▀\\x1b[0m\\x1b[38;2;250;250;250m\\x1b[48;2;250;250;250m▀\\x1b[0m\\x1b[38;2;250;250;250m\\x1b[48;2;250;250;250m▀\\x1b[0m\\x1b[38;2;250;250;250m▄\\x1b[0m \\x1b[38;2;252;252;252m▄\\x1b[0m\\x1b[38;2;250;250;250m▄\\x1b[0m\\x1b[38;2;249;249;249m\\x1b[48;2;250;250;250m▀\\x1b[0m\\x1b[38;2;250;250;250m\\x1b[48;2;249;249;249m▀\\x1b[0m\\x1b[38;2;248;248;248m▀\\x1b[0m\\x1b[38;2;0;240;255m▄\\x1b[0m\\x1b[38;2;0;240;255m\\x1b[48;2;0;239;255m▀\\x1b[0m\\x1b[38;2;0;239;255m\\x1b[48;2;0;239;255m▀\\x1b[0m\",\n\t\" \\x1b[38;2;0;240;255m▀\\x1b[0m\\x1b[38;2;0;240;255m\\x1b[48;2;0;239;255m▀\\x1b[0m\\x1b[38;2;0;240;255m\\x1b[48;2;0;238;255m▀\\x1b[0m \\x1b[38;2;249;249;249m▀\\x1b[0m\\x1b[38;2;250;250;250m\\x1b[48;2;250;250;250m▀\\x1b[0m\\x1b[38;2;250;250;250m\\x1b[48;2;249;249;249m▀\\x1b[0m\\x1b[38;2;250;250;250m\\x1b[48;2;250;250;250m▀\\x1b[0m\\x1b[38;2;249;249;249m\\x1b[48;2;250;250;250m▀\\x1b[0m\\x1b[38;2;248;248;248m\\x1b[48;2;250;250;250m▀\\x1b[0m\\x1b[38;2;249;249;249m\\x1b[48;2;250;250;250m▀\\x1b[0m\\x1b[38;2;249;249;249m\\x1b[48;2;250;250;250m▀\\x1b[0m\\x1b[38;2;250;250;250m\\x1b[48;2;249;249;249m▀\\x1b[0m\\x1b[38;2;250;250;250m\\x1b[48;2;250;250;250m▀\\x1b[0m\\x1b[38;2;249;249;249m▀\\x1b[0m \\x1b[38;2;249;249;249m▀\\x1b[0m\\x1b[38;2;250;250;250m\\x1b[48;2;250;250;250m▀\\x1b[0m\\x1b[38;2;250;250;250m\\x1b[48;2;249;249;249m▀\\x1b[0m\\x1b[38;2;250;250;250m\\x1b[48;2;250;250;250m▀\\x1b[0m\\x1b[38;2;249;249;249m\\x1b[48;2;250;250;250m▀\\x1b[0m\\x1b[38;2;248;248;248m\\x1b[48;2;250;250;250m▀\\x1b[0m\\x1b[38;2;249;249;249m\\x1b[48;2;250;250;250m▀\\x1b[0m\\x1b[38;2;249;249;249m\\x1b[48;2;250;250;250m▀\\x1b[0m\\x1b[38;2;250;250;250m\\x1b[48;2;249;249;249m▀\\x1b[0m\\x1b[38;2;250;250;250m\\x1b[48;2;250;250;250m▀\\x1b[0m\\x1b[38;2;249;249;249m▀\\x1b[0m \\x1b[38;2;0;240;255m\\x1b[48;2;0;239;254m▀\\x1b[0m\\x1b[38;2;0;240;255m\\x1b[48;2;0;239;255m▀\\x1b[0m\\x1b[38;2;0;239;255m▀\\x1b[0m\",\n\t\" \\x1b[38;2;249;249;249m▀\\x1b[0m\\x1b[38;2;250;250;250m▀\\x1b[0m\\x1b[38;2;249;249;249m▀\\x1b[0m \\x1b[38;2;249;249;249m▀\\x1b[0m\\x1b[38;2;250;250;250m▀\\x1b[0m\\x1b[38;2;249;249;249m▀\\x1b[0m\",\n].join(\"\\n\");\n"]}
|
package/dist/core/wordmark.d.ts
CHANGED
|
@@ -6,4 +6,33 @@
|
|
|
6
6
|
export declare const WORDMARK: string;
|
|
7
7
|
/** Compact one-line logo for tight spaces. */
|
|
8
8
|
export declare const WORDMARK_COMPACT = "hoo \u2014 deterministic terminal coding agent";
|
|
9
|
+
export declare const WORDMARK_SYMBOL: string;
|
|
10
|
+
/** Compact three-line owl glyph rendered beside the brand text in the banner. */
|
|
11
|
+
export declare const WORDMARK_GLYPH: string[];
|
|
12
|
+
export interface CompactWordmarkOptions {
|
|
13
|
+
appName: string;
|
|
14
|
+
version: string;
|
|
15
|
+
cwd: string;
|
|
16
|
+
/** Tagline shown next to the version. */
|
|
17
|
+
tagline?: string;
|
|
18
|
+
/** Colorize the brand "hoo" portion / glyph. */
|
|
19
|
+
accent: (text: string) => string;
|
|
20
|
+
/** Colorize secondary text (tagline, version, cwd). */
|
|
21
|
+
dim: (text: string) => string;
|
|
22
|
+
/** Colorize separators and the glyph outline. */
|
|
23
|
+
muted: (text: string) => string;
|
|
24
|
+
/** Render the trailing blinking cursor (e.g. blink + accent). Optional. */
|
|
25
|
+
cursor?: (text: string) => string;
|
|
26
|
+
/** Optional note appended to the cwd line (e.g. a keybinding hint). */
|
|
27
|
+
note?: () => string;
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* Build the compact startup banner: a small owl glyph beside the brand name,
|
|
31
|
+
* tagline + version, and the working directory.
|
|
32
|
+
*
|
|
33
|
+
* ▟▀▀▀▀▀▙ hoocode
|
|
34
|
+
* ▌▟▙ ▟▙▐ agentic coding agent · v0.1.0
|
|
35
|
+
* ▜▄▄▄▄▄▛ ~/project
|
|
36
|
+
*/
|
|
37
|
+
export declare function buildCompactWordmark(options: CompactWordmarkOptions): string;
|
|
9
38
|
//# sourceMappingURL=wordmark.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"wordmark.d.ts","sourceRoot":"","sources":["../../src/core/wordmark.ts"],"names":[],"mappings":"AAAA;;;;GAIG;
|
|
1
|
+
{"version":3,"file":"wordmark.d.ts","sourceRoot":"","sources":["../../src/core/wordmark.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH,eAAO,MAAM,QAAQ,QAQT,CAAC;AAEb,8CAA8C;AAC9C,eAAO,MAAM,gBAAgB,mDAA8C,CAAC;AAS5E,eAAO,MAAM,eAAe,QAEhB,CAAC;AAEb,iFAAiF;AACjF,eAAO,MAAM,cAAc,UAAoC,CAAC;AAKhE,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,gDAAgD;IAChD,MAAM,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;;;;;;;GAOG;AACH,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,sBAAsB,GAAG,MAAM,CAkB5E","sourcesContent":["/**\n * ASCII wordmark for the startup banner.\n * Rendered in the terminal with accent color on the \"hoo\" portion.\n * Source: design-system/assets/wordmark.txt\n */\n\nimport { WORDMARK_SYMBOL_BLOCKS } from \"./wordmark-symbol.generated.js\";\n\nexport const WORDMARK = [\n\t\" __ __ ______ __\",\n\t\" / / / /___ ____ / ____/___ ____/ /__\",\n\t\" / /_/ / __ \\\\/ __ \\\\/ / / __ \\\\/ __ / _ \\\\\",\n\t\" / __ / /_/ / /_/ / /___/ /_/ / /_/ / __/\",\n\t\" /_/ /_/\\\\____/\\\\____/\\\\____/\\\\____/\\\\__,_/\\\\___/\",\n\t\"\",\n\t\" deterministic terminal coding agent > hoo\",\n].join(\"\\n\");\n\n/** Compact one-line logo for tight spaces. */\nexport const WORDMARK_COMPACT = \"hoo — deterministic terminal coding agent\";\n\n/**\n * Colored half-block owl symbol, indented to sit centered above the ASCII\n * wordmark. Carries baked-in brand colors (Signal Cyan + white), so it only\n * renders on truecolor terminals; callers fall back to {@link WORDMARK}\n * otherwise.\n */\nconst SYMBOL_INDENT = \" \".repeat(15);\nexport const WORDMARK_SYMBOL = WORDMARK_SYMBOL_BLOCKS.split(\"\\n\")\n\t.map((line) => SYMBOL_INDENT + line)\n\t.join(\"\\n\");\n\n/** Compact three-line owl glyph rendered beside the brand text in the banner. */\nexport const WORDMARK_GLYPH = [\"▟▀▀▀▀▀▙\", \"▌▟▙ ▟▙▐\", \"▜▄▄▄▄▄▛\"];\n\nconst GLYPH_INDENT = \" \".repeat(3);\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 / glyph. */\n\taccent: (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.\n *\n * ▟▀▀▀▀▀▙ hoocode\n * ▌▟▙ ▟▙▐ agentic 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 tagline = options.tagline ?? \"agentic 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 `${GLYPH_INDENT}${accent(glyphLine)}${GLYPH_GAP}${text}`;\n\t}).join(\"\\n\");\n}\n"]}
|
package/dist/core/wordmark.js
CHANGED
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
* Rendered in the terminal with accent color on the "hoo" portion.
|
|
4
4
|
* Source: design-system/assets/wordmark.txt
|
|
5
5
|
*/
|
|
6
|
+
import { WORDMARK_SYMBOL_BLOCKS } from "./wordmark-symbol.generated.js";
|
|
6
7
|
export const WORDMARK = [
|
|
7
8
|
" __ __ ______ __",
|
|
8
9
|
" / / / /___ ____ / ____/___ ____/ /__",
|
|
@@ -14,4 +15,42 @@ export const WORDMARK = [
|
|
|
14
15
|
].join("\n");
|
|
15
16
|
/** Compact one-line logo for tight spaces. */
|
|
16
17
|
export const WORDMARK_COMPACT = "hoo — deterministic terminal coding agent";
|
|
18
|
+
/**
|
|
19
|
+
* Colored half-block owl symbol, indented to sit centered above the ASCII
|
|
20
|
+
* wordmark. Carries baked-in brand colors (Signal Cyan + white), so it only
|
|
21
|
+
* renders on truecolor terminals; callers fall back to {@link WORDMARK}
|
|
22
|
+
* otherwise.
|
|
23
|
+
*/
|
|
24
|
+
const SYMBOL_INDENT = " ".repeat(15);
|
|
25
|
+
export const WORDMARK_SYMBOL = WORDMARK_SYMBOL_BLOCKS.split("\n")
|
|
26
|
+
.map((line) => SYMBOL_INDENT + line)
|
|
27
|
+
.join("\n");
|
|
28
|
+
/** Compact three-line owl glyph rendered beside the brand text in the banner. */
|
|
29
|
+
export const WORDMARK_GLYPH = ["▟▀▀▀▀▀▙", "▌▟▙ ▟▙▐", "▜▄▄▄▄▄▛"];
|
|
30
|
+
const GLYPH_INDENT = " ".repeat(3);
|
|
31
|
+
const GLYPH_GAP = " ".repeat(2);
|
|
32
|
+
/**
|
|
33
|
+
* Build the compact startup banner: a small owl glyph beside the brand name,
|
|
34
|
+
* tagline + version, and the working directory.
|
|
35
|
+
*
|
|
36
|
+
* ▟▀▀▀▀▀▙ hoocode
|
|
37
|
+
* ▌▟▙ ▟▙▐ agentic coding agent · v0.1.0
|
|
38
|
+
* ▜▄▄▄▄▄▛ ~/project
|
|
39
|
+
*/
|
|
40
|
+
export function buildCompactWordmark(options) {
|
|
41
|
+
const { appName, version, cwd, accent, dim, muted } = options;
|
|
42
|
+
const tagline = options.tagline ?? "agentic coding agent";
|
|
43
|
+
// Highlight the "hoo" prefix when present, otherwise accent the whole name.
|
|
44
|
+
const name = appName.startsWith("hoo") ? accent("hoo") + muted("│") + appName.slice(3) : accent(appName);
|
|
45
|
+
const brand = options.cursor ? name + options.cursor("_") : name;
|
|
46
|
+
const right = [
|
|
47
|
+
brand,
|
|
48
|
+
`${dim(tagline)} ${muted("·")} ${dim(`v${version}`)}`,
|
|
49
|
+
options.note ? `${dim(cwd)}${options.note()}` : dim(cwd),
|
|
50
|
+
];
|
|
51
|
+
return WORDMARK_GLYPH.map((glyphLine, index) => {
|
|
52
|
+
const text = right[index] ?? "";
|
|
53
|
+
return `${GLYPH_INDENT}${accent(glyphLine)}${GLYPH_GAP}${text}`;
|
|
54
|
+
}).join("\n");
|
|
55
|
+
}
|
|
17
56
|
//# sourceMappingURL=wordmark.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"wordmark.js","sourceRoot":"","sources":["../../src/core/wordmark.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,MAAM,CAAC,MAAM,QAAQ,GAAG;IACvB,yDAAyD;IACzD,2DAA2D;IAC3D,gEAAgE;IAChE,4DAA4D;IAC5D,iEAAiE;IACjE,EAAE;IACF,6DAA6D;CAC7D,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAEb,8CAA8C;AAC9C,MAAM,CAAC,MAAM,gBAAgB,GAAG,6CAA2C,CAAC","sourcesContent":["/**\n * ASCII wordmark for the startup banner.\n * Rendered in the terminal with accent color on the \"hoo\" portion.\n * Source: design-system/assets/wordmark.txt\n */\n\nexport const WORDMARK = [\n\t\" __ __ ______ __\",\n\t\" / / / /___ ____ / ____/___ ____/ /__\",\n\t\" / /_/ / __ \\\\/ __ \\\\/ / / __ \\\\/ __ / _ \\\\\",\n\t\" / __ / /_/ / /_/ / /___/ /_/ / /_/ / __/\",\n\t\" /_/ /_/\\\\____/\\\\____/\\\\____/\\\\____/\\\\__,_/\\\\___/\",\n\t\"\",\n\t\" deterministic terminal coding agent > hoo\",\n].join(\"\\n\");\n\n/** Compact one-line logo for tight spaces. */\nexport const WORDMARK_COMPACT = \"hoo — deterministic terminal coding agent\";\n"]}
|
|
1
|
+
{"version":3,"file":"wordmark.js","sourceRoot":"","sources":["../../src/core/wordmark.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,sBAAsB,EAAE,MAAM,gCAAgC,CAAC;AAExE,MAAM,CAAC,MAAM,QAAQ,GAAG;IACvB,yDAAyD;IACzD,2DAA2D;IAC3D,gEAAgE;IAChE,4DAA4D;IAC5D,iEAAiE;IACjE,EAAE;IACF,6DAA6D;CAC7D,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAEb,8CAA8C;AAC9C,MAAM,CAAC,MAAM,gBAAgB,GAAG,6CAA2C,CAAC;AAE5E;;;;;GAKG;AACH,MAAM,aAAa,GAAG,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;AACrC,MAAM,CAAC,MAAM,eAAe,GAAG,sBAAsB,CAAC,KAAK,CAAC,IAAI,CAAC;KAC/D,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,aAAa,GAAG,IAAI,CAAC;KACnC,IAAI,CAAC,IAAI,CAAC,CAAC;AAEb,iFAAiF;AACjF,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,uBAAS,EAAE,qBAAS,EAAE,uBAAS,CAAC,CAAC;AAEhE,MAAM,YAAY,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;AACnC,MAAM,SAAS,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;AAoBhC;;;;;;;GAOG;AACH,MAAM,UAAU,oBAAoB,CAAC,OAA+B,EAAU;IAC7E,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,OAAO,CAAC;IAC9D,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,sBAAsB,CAAC;IAE1D,4EAA4E;IAC5E,MAAM,IAAI,GAAG,OAAO,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,KAAK,CAAC,KAAG,CAAC,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IACzG,MAAM,KAAK,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IAEjE,MAAM,KAAK,GAAG;QACb,KAAK;QACL,GAAG,GAAG,CAAC,OAAO,CAAC,IAAI,KAAK,CAAC,IAAG,CAAC,IAAI,GAAG,CAAC,IAAI,OAAO,EAAE,CAAC,EAAE;QACrD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC;KACxD,CAAC;IAEF,OAAO,cAAc,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,KAAK,EAAE,EAAE,CAAC;QAC/C,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;QAChC,OAAO,GAAG,YAAY,GAAG,MAAM,CAAC,SAAS,CAAC,GAAG,SAAS,GAAG,IAAI,EAAE,CAAC;IAAA,CAChE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAAA,CACd","sourcesContent":["/**\n * ASCII wordmark for the startup banner.\n * Rendered in the terminal with accent color on the \"hoo\" portion.\n * Source: design-system/assets/wordmark.txt\n */\n\nimport { WORDMARK_SYMBOL_BLOCKS } from \"./wordmark-symbol.generated.js\";\n\nexport const WORDMARK = [\n\t\" __ __ ______ __\",\n\t\" / / / /___ ____ / ____/___ ____/ /__\",\n\t\" / /_/ / __ \\\\/ __ \\\\/ / / __ \\\\/ __ / _ \\\\\",\n\t\" / __ / /_/ / /_/ / /___/ /_/ / /_/ / __/\",\n\t\" /_/ /_/\\\\____/\\\\____/\\\\____/\\\\____/\\\\__,_/\\\\___/\",\n\t\"\",\n\t\" deterministic terminal coding agent > hoo\",\n].join(\"\\n\");\n\n/** Compact one-line logo for tight spaces. */\nexport const WORDMARK_COMPACT = \"hoo — deterministic terminal coding agent\";\n\n/**\n * Colored half-block owl symbol, indented to sit centered above the ASCII\n * wordmark. Carries baked-in brand colors (Signal Cyan + white), so it only\n * renders on truecolor terminals; callers fall back to {@link WORDMARK}\n * otherwise.\n */\nconst SYMBOL_INDENT = \" \".repeat(15);\nexport const WORDMARK_SYMBOL = WORDMARK_SYMBOL_BLOCKS.split(\"\\n\")\n\t.map((line) => SYMBOL_INDENT + line)\n\t.join(\"\\n\");\n\n/** Compact three-line owl glyph rendered beside the brand text in the banner. */\nexport const WORDMARK_GLYPH = [\"▟▀▀▀▀▀▙\", \"▌▟▙ ▟▙▐\", \"▜▄▄▄▄▄▛\"];\n\nconst GLYPH_INDENT = \" \".repeat(3);\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 / glyph. */\n\taccent: (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.\n *\n * ▟▀▀▀▀▀▙ hoocode\n * ▌▟▙ ▟▙▐ agentic 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 tagline = options.tagline ?? \"agentic 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 `${GLYPH_INDENT}${accent(glyphLine)}${GLYPH_GAP}${text}`;\n\t}).join(\"\\n\");\n}\n"]}
|