@cli-use/tui 0.1.0 → 0.1.4
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/README.md +68 -33
- package/dist/ai-worker.cjs +65 -0
- package/dist/ai-worker.cjs.map +1 -0
- package/dist/ai-worker.d.cts +2 -0
- package/dist/ai-worker.d.ts +2 -0
- package/dist/ai-worker.js +42 -0
- package/dist/ai-worker.js.map +1 -0
- package/dist/bin/ratatui-demo +0 -0
- package/dist/cli/index.cjs +126 -36
- package/dist/cli/index.cjs.map +1 -1
- package/dist/cli/index.js +126 -36
- package/dist/cli/index.js.map +1 -1
- package/dist/hooks/index.cjs +32 -18
- package/dist/hooks/index.cjs.map +1 -1
- package/dist/hooks/index.d.cts +1 -1
- package/dist/hooks/index.d.ts +1 -1
- package/dist/hooks/index.js +26 -28
- package/dist/hooks/index.js.map +1 -1
- package/dist/{index-DAO84gkm.d.cts → index-B4IaUxvU.d.cts} +4 -3
- package/dist/{index-DAO84gkm.d.ts → index-B4IaUxvU.d.ts} +4 -3
- package/dist/index.cjs +37 -29
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +2 -2
- package/dist/index.d.ts +2 -2
- package/dist/index.js +44 -42
- package/dist/index.js.map +1 -1
- package/package.json +16 -10
package/dist/cli/index.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../node_modules/tsup/assets/cjs_shims.js","../../src/examples/ink-demo.tsx","../../src/cli/index.ts"],"sourcesContent":["// Shim globals in cjs bundle\n// There's a weird bug that esbuild will always inject importMetaUrl\n// if we export it as `const importMetaUrl = ... __filename ...`\n// But using a function will not cause this issue\n\nconst getImportMetaUrl = () => \n typeof document === \"undefined\" \n ? new URL(`file:${__filename}`).href \n : (document.currentScript && document.currentScript.tagName.toUpperCase() === 'SCRIPT') \n ? document.currentScript.src \n : new URL(\"main.js\", document.baseURI).href;\n\nexport const importMetaUrl = /* @__PURE__ */ getImportMetaUrl()\n","import React, { useState } from 'react';\nimport { render, Box, Text, useInput } from 'ink';\n\nconst Counter = () => {\n const [count, setCount] = useState(0);\n\n useInput((input, key) => {\n if (key.escape || key.ctrl('c')) {\n process.exit(0);\n }\n if (key.return) {\n setCount(c => c + 1);\n }\n });\n\n return (\n <Box flexDirection=\"column\" padding={1}>\n <Box borderStyle=\"double\" borderColor=\"cyan\" padding={1} marginBottom={1}>\n <Text bold color=\"magenta\">\n ✨ cli-use Demo - Beautiful Terminal UIs (Ink)\n </Text>\n </Box>\n\n <Box borderStyle=\"single\" borderColor=\"blue\" padding={1} marginBottom={1}>\n <Box flexDirection=\"column\" gap={1}>\n <Text bold>Features:</Text>\n <Text>• Cross-platform (macOS, Linux, Windows)</Text>\n <Text>• React-based components</Text>\n <Text>• Beautiful styling out of the box</Text>\n <Text>• TypeScript support</Text>\n </Box>\n </Box>\n\n <Box borderStyle=\"round\" borderColor=\"green\" padding={1} marginBottom={1}>\n <Box flexDirection=\"column\" alignItems=\"center\" gap={1}>\n <Text bold color=\"green\">🔢 Interactive Counter</Text>\n <Text>Count: {count}</Text>\n <Text dim>Press Enter to increment, ESC to exit</Text>\n </Box>\n </Box>\n\n <Box>\n <Text dim color=\"gray\">\n Built with ❤️ for beautiful terminal interfaces\n </Text>\n </Box>\n </Box>\n );\n};\n\nrender(<Counter />);\n","#!/usr/bin/env node\n\nimport { Command } from 'commander';\nimport chalk from 'chalk';\nimport { createRequire } from 'module';\nimport { spawn } from 'child_process';\nimport { fileURLToPath } from 'url';\nimport path from 'path';\n\nconst require = createRequire(import.meta.url);\nconst __filename = fileURLToPath(import.meta.url);\nconst __dirname = path.dirname(__filename);\n\nconst program = new Command();\n\nprogram.name('cli-use').description('React-based Terminal UI Framework').version('0.1.0');\n\nprogram\n .command('dev')\n .description('Start development mode')\n .action(() => {\n showDevTUI();\n });\n\nprogram\n .command('build')\n .description('Build project')\n .action(() => {\n showBuildTUI();\n });\n\nprogram\n .command('init [project-name]')\n .description('Create a new cli-use project')\n .action((projectName) => {\n showInitTUI(projectName || 'my-tui-app');\n });\n\nprogram\n .command('run <example>')\n .description('Run an example application')\n .action((exampleName) => {\n if (exampleName === 'ratatui') {\n showRustDemo();\n } else {\n showRunTUI(exampleName);\n }\n });\n\nprogram\n .command('examples')\n .description('List available examples')\n .action(() => {\n showExamplesTUI();\n });\n\nprogram.option('-d, --demo', 'Run the ink demo').action(() => {\n // Demo option handled at top level\n});\n\nconst options = program.parse(process.argv);\n\n// Handle --demo flag\nif (options.opts().demo) {\n // Since we're using ESM, we use import to run the ink demo\n import('../examples/ink-demo.tsx').catch((err: unknown) => {\n console.error('Failed to run demo:', err);\n process.exit(1);\n });\n}\n\nfunction showRustDemo() {\n const isWindows = process.platform === 'win32';\n const extension = isWindows ? '.exe' : '';\n const binaryPath = path.resolve(\n __dirname,\n `../../native/target/release/ratatui-demo${extension}`\n );\n\n console.log(chalk.cyan('Starting Ratatui Demo...'));\n\n const child = spawn(binaryPath, [], {\n stdio: 'inherit',\n });\n\n child.on('error', (err) => {\n console.error(chalk.red('Failed to start demo:'), err.message);\n console.log(\n chalk.yellow(\n '\\nMake sure you have built the Rust binary first by running: npm run build:rust'\n )\n );\n });\n}\n\nfunction showDevTUI() {\n console.clear();\n console.log('');\n console.log(\n chalk.cyan('┌─────────────────────────────────────────────────────────────────────┐')\n );\n console.log(chalk.cyan('│') + ' ' + chalk.bold.white('cli-use ') + chalk.cyan('│'));\n console.log(\n chalk.cyan('│') + ' ' + chalk.bold('Development Mode') + ' '.repeat(46) + chalk.cyan('│')\n );\n console.log(\n chalk.cyan('├─────────────────────────────────────────────────────────────────────┤')\n );\n console.log(chalk.cyan('│') + ' ' + ' '.repeat(54) + chalk.cyan('│'));\n console.log(\n chalk.cyan('│') +\n ' ' +\n chalk.yellow('●') +\n ' ' +\n chalk.white('Watching for changes...') +\n ' '.repeat(36) +\n chalk.cyan('│')\n );\n console.log(chalk.cyan('│') + ' ' + ' '.repeat(54) + chalk.cyan('│'));\n console.log(\n chalk.cyan('│') +\n ' ' +\n chalk.green('✓') +\n ' ' +\n chalk.white('Build completed') +\n ' '.repeat(39) +\n chalk.cyan('│')\n );\n console.log(chalk.cyan('│') + ' ' + ' '.repeat(54) + chalk.cyan('│'));\n console.log(\n chalk.cyan('│') +\n ' ' +\n chalk.yellow('●') +\n ' ' +\n chalk.white('Hot Reload: Active') +\n ' '.repeat(37) +\n chalk.cyan('│')\n );\n console.log(chalk.cyan('│') + ' ' + ' '.repeat(54) + chalk.cyan('│'));\n console.log(\n chalk.cyan('├─────────────────────────────────────────────────────────────────────┤')\n );\n console.log(\n chalk.cyan('│') + ' ' + chalk.bold('Quick Actions') + ' '.repeat(43) + chalk.cyan('│')\n );\n console.log(chalk.cyan('│') + ' ' + ' '.repeat(54) + chalk.cyan('│'));\n console.log(\n chalk.cyan('│') +\n ' ' +\n chalk.white('[r]') +\n ' ' +\n chalk.white('Rebuild') +\n ' '.repeat(43) +\n chalk.cyan('│')\n );\n console.log(\n chalk.cyan('│') +\n ' ' +\n chalk.white('[t]') +\n ' ' +\n chalk.white('Run tests') +\n ' '.repeat(43) +\n chalk.cyan('│')\n );\n console.log(\n chalk.cyan('│') +\n ' ' +\n chalk.white('[e]') +\n ' ' +\n chalk.white('Run example') +\n ' '.repeat(41) +\n chalk.cyan('│')\n );\n console.log(\n chalk.cyan('│') +\n ' ' +\n chalk.white('[q]') +\n ' ' +\n chalk.white('Quit') +\n ' '.repeat(46) +\n chalk.cyan('│')\n );\n console.log(chalk.cyan('│') + ' ' + ' '.repeat(54) + chalk.cyan('│'));\n console.log(\n chalk.cyan('├─────────────────────────────────────────────────────────────────────┤')\n );\n console.log(chalk.cyan('│') + ' ' + chalk.bold('Output') + ' '.repeat(48) + chalk.cyan('│'));\n console.log(chalk.cyan('│') + ' ' + ' '.repeat(54) + chalk.cyan('│'));\n console.log(\n chalk.cyan('│') +\n ' ' +\n chalk.green('✓') +\n ' ' +\n chalk.white('Starting dev server...') +\n ' '.repeat(36) +\n chalk.cyan('│')\n );\n console.log(chalk.cyan('│') + ' ' + ' '.repeat(54) + chalk.cyan('│'));\n console.log(\n chalk.cyan('│') +\n ' ' +\n chalk.dim('Waiting for file changes...') +\n ' '.repeat(34) +\n chalk.cyan('│')\n );\n console.log(chalk.cyan('│') + ' ' + ' '.repeat(54) + chalk.cyan('│'));\n console.log(\n chalk.cyan('├─────────────────────────────────────────────────────────────────────┤')\n );\n console.log(\n chalk.cyan('│') + ' ' + chalk.bold('Project Status') + ' '.repeat(43) + chalk.cyan('│')\n );\n console.log(chalk.cyan('│') + ' ' + ' '.repeat(54) + chalk.cyan('│'));\n console.log(\n chalk.cyan('│') +\n ' ' +\n chalk.white('Files: ') +\n chalk.cyan('142') +\n ' '.repeat(4) +\n chalk.white('Lines: ') +\n chalk.cyan('8,547') +\n ' '.repeat(35) +\n chalk.cyan('│')\n );\n console.log(\n chalk.cyan('│') +\n ' ' +\n chalk.white('Components: ') +\n chalk.green('7') +\n ' '.repeat(2) +\n chalk.white('Hooks: ') +\n chalk.green('8') +\n ' '.repeat(40) +\n chalk.cyan('│')\n );\n console.log(chalk.cyan('│') + ' ' + ' '.repeat(54) + chalk.cyan('│'));\n console.log(\n chalk.cyan('└─────────────────────────────────────────────────────────────────────┘')\n );\n console.log('');\n console.log(\n chalk.dim('Press ') +\n chalk.cyan('Ctrl+C') +\n chalk.dim(' to exit') +\n ' | ' +\n chalk.dim('Version: ') +\n chalk.white('0.1.0')\n );\n console.log('');\n}\n\nfunction showBuildTUI() {\n console.clear();\n console.log('');\n console.log(\n chalk.cyan('┌─────────────────────────────────────────────────────────────────────┐')\n );\n console.log(chalk.cyan('│') + ' ' + chalk.bold.white('cli-use ') + chalk.cyan(' │'));\n console.log(\n chalk.cyan('│') + ' ' + chalk.bold('Build Progress') + ' '.repeat(45) + chalk.cyan('│')\n );\n console.log(\n chalk.cyan('├─────────────────────────────────────────────────────────────────────┤')\n );\n console.log(chalk.cyan('│') + ' ' + ' '.repeat(54) + chalk.cyan('│'));\n console.log(chalk.cyan('│') + ' ' + chalk.bold('Building...') + ' '.repeat(43) + chalk.cyan('│'));\n console.log(chalk.cyan('│') + ' ' + ' '.repeat(54) + chalk.cyan('│'));\n console.log(\n chalk.cyan('│') +\n ' ' +\n chalk.green('✓') +\n ' ' +\n chalk.white('TypeScript compilation') +\n ' '.repeat(35) +\n chalk.cyan('│')\n );\n console.log(\n chalk.cyan('│') +\n ' ' +\n chalk.green('✓') +\n ' ' +\n chalk.white('Bundle with tsup') +\n ' '.repeat(38) +\n chalk.cyan('│')\n );\n console.log(\n chalk.cyan('│') +\n ' ' +\n chalk.green('✓') +\n ' ' +\n chalk.white('Generate declarations') +\n ' '.repeat(33) +\n chalk.cyan('│')\n );\n console.log(\n chalk.cyan('│') +\n ' ' +\n chalk.yellow('○') +\n ' ' +\n chalk.white('Optimize') +\n ' '.repeat(45) +\n chalk.cyan('│')\n );\n console.log(chalk.cyan('│') + ' ' + ' '.repeat(54) + chalk.cyan('│'));\n console.log(\n chalk.cyan('│') +\n ' [' +\n chalk.green('█'.repeat(30)) +\n chalk.dim('░'.repeat(10)) +\n '] ' +\n chalk.white('75%') +\n ' '.repeat(4) +\n chalk.cyan('│')\n );\n console.log(chalk.cyan('│') + ' ' + ' '.repeat(54) + chalk.cyan('│'));\n console.log(\n chalk.cyan('├─────────────────────────────────────────────────────────────────────┤')\n );\n console.log(\n chalk.cyan('│') + ' ' + chalk.bold('Output Files') + ' '.repeat(43) + chalk.cyan('│')\n );\n console.log(chalk.cyan('│') + ' ' + ' '.repeat(54) + chalk.cyan('│'));\n console.log(chalk.cyan('│') + ' ' + chalk.cyan('dist/') + ' '.repeat(49) + chalk.cyan('│'));\n console.log(\n chalk.cyan('│') +\n ' ' +\n chalk.dim('├── index.js ') +\n chalk.dim('(') +\n chalk.white('21.2 KB') +\n chalk.dim(')') +\n ' '.repeat(36) +\n chalk.cyan('│')\n );\n console.log(chalk.cyan('│') + ' ' + chalk.dim('├── cli/') + ' '.repeat(47) + chalk.cyan('│'));\n console.log(\n chalk.cyan('│') +\n ' ' +\n chalk.dim('│ └── index.js ') +\n chalk.dim('(') +\n chalk.white('3.0 KB') +\n chalk.dim(')') +\n ' '.repeat(34) +\n chalk.cyan('│')\n );\n console.log(chalk.cyan('│') + ' ' + chalk.dim('├── hooks/') + ' '.repeat(45) + chalk.cyan('│'));\n console.log(\n chalk.cyan('│') +\n ' ' +\n chalk.dim('│ └── index.js ') +\n chalk.dim('(') +\n chalk.white('7.3 KB') +\n chalk.dim(')') +\n ' '.repeat(34) +\n chalk.cyan('│')\n );\n console.log(\n chalk.cyan('│') +\n ' ' +\n chalk.dim('├── *.d.ts ') +\n chalk.dim('(') +\n chalk.white('4.2 KB') +\n chalk.dim(')') +\n ' '.repeat(39) +\n chalk.cyan('│')\n );\n console.log(chalk.cyan('│') + ' ' + ' '.repeat(54) + chalk.cyan('│'));\n console.log(\n chalk.cyan('├─────────────────────────────────────────────────────────────────────┤')\n );\n console.log(\n chalk.cyan('│') + ' ' + chalk.bold('Build Summary') + ' '.repeat(43) + chalk.cyan('│')\n );\n console.log(chalk.cyan('│') + ' ' + ' '.repeat(54) + chalk.cyan('│'));\n console.log(\n chalk.cyan('│') +\n ' ' +\n chalk.white('Duration: ') +\n chalk.cyan('2.4s') +\n ' '.repeat(45) +\n chalk.cyan('│')\n );\n console.log(\n chalk.cyan('│') +\n ' ' +\n chalk.white('Bundles: ') +\n chalk.green('3') +\n ' '.repeat(45) +\n chalk.cyan('│')\n );\n console.log(\n chalk.cyan('│') +\n ' ' +\n chalk.white('Size: ') +\n chalk.cyan('31.5 KB') +\n ' '.repeat(45) +\n chalk.cyan('│')\n );\n console.log(\n chalk.cyan('│') +\n ' ' +\n chalk.white('Status: ') +\n chalk.green('✓ Success') +\n ' '.repeat(42) +\n chalk.cyan('│')\n );\n console.log(chalk.cyan('│') + ' ' + ' '.repeat(54) + chalk.cyan('│'));\n console.log(\n chalk.cyan('└─────────────────────────────────────────────────────────────────────┘')\n );\n console.log('');\n}\n\nfunction showInitTUI(projectName: string) {\n console.clear();\n console.log('');\n console.log(\n chalk.cyan('┌─────────────────────────────────────────────────────────────────────┐')\n );\n console.log(chalk.cyan('│') + ' ' + chalk.bold.white('cli-use ') + chalk.cyan('│'));\n console.log(\n chalk.cyan('│') + ' ' + chalk.bold('Project Setup') + ' '.repeat(45) + chalk.cyan('│')\n );\n console.log(\n chalk.cyan('├─────────────────────────────────────────────────────────────────────┤')\n );\n console.log(chalk.cyan('│') + ' ' + ' '.repeat(54) + chalk.cyan('│'));\n console.log(\n chalk.cyan('│') + ' ' + chalk.bold('Creating new project:') + ' '.repeat(37) + chalk.cyan('│')\n );\n console.log(chalk.cyan('│') + ' ' + ' '.repeat(54) + chalk.cyan('│'));\n console.log(\n chalk.cyan('│') +\n ' ' +\n chalk.cyan('○') +\n ' ' +\n chalk.white('Project name: ') +\n chalk.green(projectName) +\n ' '.repeat(34) +\n chalk.cyan('│')\n );\n console.log(\n chalk.cyan('│') +\n ' ' +\n chalk.green('✓') +\n ' ' +\n chalk.white('Package: ') +\n chalk.cyan('cli-use@0.1.0') +\n ' '.repeat(32) +\n chalk.cyan('│')\n );\n console.log(\n chalk.cyan('│') +\n ' ' +\n chalk.green('✓') +\n ' ' +\n chalk.white('Template: ') +\n chalk.cyan('default') +\n ' '.repeat(38) +\n chalk.cyan('│')\n );\n console.log(chalk.cyan('│') + ' ' + ' '.repeat(54) + chalk.cyan('│'));\n console.log(\n chalk.cyan('│') + ' ' + chalk.bold('Project Structure') + ' '.repeat(39) + chalk.cyan('│')\n );\n console.log(chalk.cyan('│') + ' ' + ' '.repeat(54) + chalk.cyan('│'));\n console.log(chalk.cyan('│') + ' ' + chalk.cyan('src/') + ' '.repeat(49) + chalk.cyan('│'));\n console.log(\n chalk.cyan('│') + ' ' + chalk.dim('├── components/') + ' '.repeat(45) + chalk.cyan('│')\n );\n console.log(\n chalk.cyan('│') + ' ' + chalk.dim('│ ├── Box.tsx') + ' '.repeat(42) + chalk.cyan('│')\n );\n console.log(\n chalk.cyan('│') + ' ' + chalk.dim('│ ├── Text.tsx') + ' '.repeat(42) + chalk.cyan('│')\n );\n console.log(\n chalk.cyan('│') + ' ' + chalk.dim('│ ├── Button.tsx') + ' '.repeat(40) + chalk.cyan('│')\n );\n console.log(chalk.cyan('│') + ' ' + chalk.dim('│ └── ...') + ' '.repeat(47) + chalk.cyan('│'));\n console.log(chalk.cyan('│') + ' ' + chalk.dim('├── hooks/') + ' '.repeat(47) + chalk.cyan('│'));\n console.log(\n chalk.cyan('│') + ' ' + chalk.dim('├── renderer/') + ' '.repeat(44) + chalk.cyan('│')\n );\n console.log(chalk.cyan('│') + ' ' + chalk.dim('├── App.tsx') + ' '.repeat(45) + chalk.cyan('│'));\n console.log(chalk.cyan('│') + ' ' + chalk.dim('├── index.ts') + ' '.repeat(45) + chalk.cyan('│'));\n console.log(\n chalk.cyan('│') + ' ' + chalk.dim('└── package.json') + ' '.repeat(43) + chalk.cyan('│')\n );\n console.log(chalk.cyan('│') + ' ' + ' '.repeat(54) + chalk.cyan('│'));\n console.log(\n chalk.cyan('├─────────────────────────────────────────────────────────────────────┤')\n );\n console.log(chalk.cyan('│') + ' ' + chalk.bold('Next Steps') + ' '.repeat(45) + chalk.cyan('│'));\n console.log(chalk.cyan('│') + ' ' + ' '.repeat(54) + chalk.cyan('│'));\n console.log(\n chalk.cyan('│') +\n ' ' +\n chalk.cyan('1.') +\n ' ' +\n chalk.white('cd ' + projectName) +\n ' '.repeat(40) +\n chalk.cyan('│')\n );\n console.log(\n chalk.cyan('│') +\n ' ' +\n chalk.cyan('2.') +\n ' ' +\n chalk.white('npm install') +\n ' '.repeat(44) +\n chalk.cyan('│')\n );\n console.log(\n chalk.cyan('│') +\n ' ' +\n chalk.cyan('3.') +\n ' ' +\n chalk.white('npm run dev') +\n ' '.repeat(43) +\n chalk.cyan('│')\n );\n console.log(\n chalk.cyan('│') +\n ' ' +\n chalk.cyan('4.') +\n ' ' +\n chalk.white('Start building!') +\n ' '.repeat(42) +\n chalk.cyan('│')\n );\n console.log(chalk.cyan('│') + ' ' + ' '.repeat(54) + chalk.cyan('│'));\n console.log(\n chalk.cyan('└─────────────────────────────────────────────────────────────────────┘')\n );\n console.log('');\n}\n\nfunction showRunTUI(exampleName: string) {\n console.clear();\n console.log('');\n console.log(\n chalk.cyan('┌─────────────────────────────────────────────────────────────────────┐')\n );\n console.log(chalk.cyan('│') + ' ' + chalk.bold.white('cli-use ') + chalk.cyan(' │'));\n console.log(\n chalk.cyan('│') + ' ' + chalk.bold('Example Runner') + ' '.repeat(44) + chalk.cyan('│')\n );\n console.log(\n chalk.cyan('├─────────────────────────────────────────────────────────────────────┤')\n );\n console.log(chalk.cyan('│') + ' ' + ' '.repeat(54) + chalk.cyan('│'));\n console.log(\n chalk.cyan('│') +\n ' ' +\n chalk.bold('Running: ') +\n chalk.cyan(exampleName) +\n ' '.repeat(39) +\n chalk.cyan('│')\n );\n console.log(chalk.cyan('│') + ' ' + ' '.repeat(54) + chalk.cyan('│'));\n\n const examples = [\n {\n name: 'counter',\n title: 'Counter',\n desc: 'Interactive counter with keyboard controls',\n tags: ['beginner', 'hooks'],\n },\n { name: 'demo', title: 'Demo', desc: 'Feature demonstration showcase', tags: ['overview'] },\n {\n name: 'todos',\n title: 'Todo List',\n desc: 'Todo list with navigation',\n tags: ['interactive', 'state'],\n },\n {\n name: 'ratatui',\n title: 'Rust Demo',\n desc: 'Native Rust TUI integration',\n tags: ['rust', 'advanced'],\n },\n ];\n\n examples.forEach((ex, i) => {\n const isCurrent = ex.name === exampleName;\n const status = isCurrent ? chalk.green('●') : chalk.dim('○');\n const marker = isCurrent ? chalk.cyan('▶') : chalk.dim(' ');\n console.log(\n chalk.cyan('│') +\n ' ' +\n marker +\n ' ' +\n status +\n ' ' +\n chalk.white(ex.name) +\n ' '.repeat(39) +\n chalk.cyan('│')\n );\n console.log(chalk.cyan('│') + ' ' + chalk.dim(ex.desc) + ' '.repeat(47) + chalk.cyan('│'));\n if (i < examples.length - 1) {\n console.log(chalk.cyan('│') + ' ' + ' '.repeat(54) + chalk.cyan('│'));\n }\n });\n\n console.log(chalk.cyan('│') + ' ' + ' '.repeat(54) + chalk.cyan('│'));\n console.log(\n chalk.cyan('├─────────────────────────────────────────────────────────────────────┤')\n );\n console.log(chalk.cyan('│') + ' ' + chalk.bold('Controls') + ' '.repeat(46) + chalk.cyan('│'));\n console.log(chalk.cyan('│') + ' ' + ' '.repeat(54) + chalk.cyan('│'));\n console.log(\n chalk.cyan('│') +\n ' ' +\n chalk.cyan('↑/↓') +\n ' ' +\n chalk.white('Navigate') +\n ' '.repeat(43) +\n chalk.cyan('│')\n );\n console.log(\n chalk.cyan('│') +\n ' ' +\n chalk.cyan('q') +\n ' ' +\n chalk.white('Quit') +\n ' '.repeat(46) +\n chalk.cyan('│')\n );\n console.log(\n chalk.cyan('│') +\n ' ' +\n chalk.cyan('r') +\n ' ' +\n chalk.white('Restart') +\n ' '.repeat(43) +\n chalk.cyan('│')\n );\n console.log(chalk.cyan('│') + ' ' + ' '.repeat(54) + chalk.cyan('│'));\n console.log(\n chalk.cyan('├─────────────────────────────────────────────────────────────────────┤')\n );\n console.log(chalk.cyan('│') + ' ' + chalk.bold('Output') + ' '.repeat(47) + chalk.cyan('│'));\n console.log(chalk.cyan('│') + ' ' + ' '.repeat(54) + chalk.cyan('│'));\n console.log(\n chalk.cyan('│') +\n ' ' +\n chalk.green('✓') +\n ' ' +\n chalk.white('Example started successfully') +\n ' '.repeat(32) +\n chalk.cyan('│')\n );\n console.log(chalk.cyan('│') + ' ' + ' '.repeat(54) + chalk.cyan('│'));\n console.log(\n chalk.cyan('│') +\n ' ' +\n chalk.dim('Use arrow keys to interact with example') +\n ' '.repeat(19) +\n chalk.cyan('│')\n );\n console.log(chalk.cyan('│') + ' ' + ' '.repeat(54) + chalk.cyan('│'));\n console.log(\n chalk.cyan('└─────────────────────────────────────────────────────────────────────┘')\n );\n console.log('');\n}\n\nfunction showExamplesTUI() {\n console.clear();\n console.log('');\n console.log(\n chalk.cyan('┌─────────────────────────────────────────────────────────────────────┐')\n );\n console.log(chalk.cyan('│') + ' ' + chalk.bold.white('cli-use ') + chalk.cyan(' │'));\n console.log(\n chalk.cyan('│') + ' ' + chalk.bold('Example Gallery') + ' '.repeat(43) + chalk.cyan('│')\n );\n console.log(\n chalk.cyan('├─────────────────────────────────────────────────────────────────────┤')\n );\n console.log(chalk.cyan('│') + ' ' + ' '.repeat(54) + chalk.cyan('│'));\n\n const examples = [\n {\n name: 'counter',\n title: 'Counter',\n desc: 'Interactive counter with keyboard controls',\n tags: ['beginner', 'hooks'],\n },\n { name: 'demo', title: 'Demo', desc: 'Feature demonstration showcase', tags: ['overview'] },\n {\n name: 'todos',\n title: 'Todo List',\n desc: 'Todo list with navigation',\n tags: ['interactive', 'state'],\n },\n ];\n\n examples.forEach((ex, i) => {\n const status = i === 0 ? chalk.cyan('▶') : chalk.dim('○');\n const tags = ex.tags.map((t) => chalk.dim('[') + chalk.cyan(t) + chalk.dim(']')).join(' ');\n console.log(\n chalk.cyan('│') +\n ' ' +\n status +\n ' ' +\n chalk.bold(ex.name) +\n ' - ' +\n chalk.white(ex.title) +\n ' '.repeat(26) +\n chalk.cyan('│')\n );\n console.log(\n chalk.cyan('│') +\n ' ' +\n chalk.dim(ex.desc) +\n ' '.repeat(33) +\n tags +\n ' '.repeat(5) +\n chalk.cyan('│')\n );\n console.log(chalk.cyan('│') + ' ' + ' '.repeat(54) + chalk.cyan('│'));\n });\n\n console.log(chalk.cyan('│') + ' ' + ' '.repeat(54) + chalk.cyan('│'));\n console.log(\n chalk.cyan('├─────────────────────────────────────────────────────────────────────┤')\n );\n console.log(chalk.cyan('│') + ' ' + chalk.bold('Commands') + ' '.repeat(46) + chalk.cyan('│'));\n console.log(chalk.cyan('│') + ' ' + ' '.repeat(54) + chalk.cyan('│'));\n console.log(\n chalk.cyan('│') + ' ' + chalk.cyan('cli-use run counter') + ' '.repeat(34) + chalk.cyan('│')\n );\n console.log(\n chalk.cyan('│') + ' ' + chalk.cyan('cli-use run demo') + ' '.repeat(36) + chalk.cyan('│')\n );\n console.log(\n chalk.cyan('│') + ' ' + chalk.cyan('cli-use run todos') + ' '.repeat(35) + chalk.cyan('│')\n );\n console.log(chalk.cyan('│') + ' ' + ' '.repeat(54) + chalk.cyan('│'));\n console.log(chalk.cyan('│') + ' ' + chalk.bold('Shortcuts') + ' '.repeat(46) + chalk.cyan('│'));\n console.log(chalk.cyan('│') + ' ' + ' '.repeat(54) + chalk.cyan('│'));\n console.log(\n chalk.cyan('│') +\n ' ' +\n chalk.cyan('n') +\n '/' +\n chalk.cyan('p') +\n ' ' +\n chalk.white('Next/Prev example') +\n ' '.repeat(36) +\n chalk.cyan('│')\n );\n console.log(\n chalk.cyan('│') +\n ' ' +\n chalk.cyan('enter') +\n ' ' +\n chalk.white('Run selected') +\n ' '.repeat(39) +\n chalk.cyan('│')\n );\n console.log(\n chalk.cyan('│') +\n ' ' +\n chalk.cyan('q') +\n ' ' +\n chalk.white('Quit') +\n ' '.repeat(44) +\n chalk.cyan('│')\n );\n console.log(chalk.cyan('│') + ' ' + ' '.repeat(54) + chalk.cyan('│'));\n console.log(\n chalk.cyan('└─────────────────────────────────────────────────────────────────────┘')\n );\n console.log('');\n}\n"],"mappings":"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","names":["require","__filename","path","chalk"]}
|
|
1
|
+
{"version":3,"sources":["../../node_modules/tsup/assets/cjs_shims.js","../../src/examples/cli-use-demo.tsx","../../src/cli/index.ts"],"sourcesContent":["// Shim globals in cjs bundle\n// There's a weird bug that esbuild will always inject importMetaUrl\n// if we export it as `const importMetaUrl = ... __filename ...`\n// But using a function will not cause this issue\n\nconst getImportMetaUrl = () => \n typeof document === \"undefined\" \n ? new URL(`file:${__filename}`).href \n : (document.currentScript && document.currentScript.tagName.toUpperCase() === 'SCRIPT') \n ? document.currentScript.src \n : new URL(\"main.js\", document.baseURI).href;\n\nexport const importMetaUrl = /* @__PURE__ */ getImportMetaUrl()\n","import React, { useState } from 'react';\nimport { render, Box, Text, useInput } from 'ink';\n\n// --- Constants ---\nconst CLAUDE_ORANGE = '#D97757';\nconst FOOTER_TEXT = '#708090'; // Slate Gray\nconst FOOTER_HIGHLIGHT = '#FFFFFF';\n\nconst LOGO_TEXT = `\n ██████╗██╗ ██╗ \n██╔════╝██║ ██║ \n██║ ██║ ██║ \n██║ ██║ ██║ \n╚██████╗███████╗██║ \n ╚═════╝╚══════╝╚═╝ \n ██████╗ ██████╗ ██████╗ ███████╗\n██╔════╝██╔═══██╗██╔══██╗██╔════╝\n██║ ██║ ██║██║ ██║█████╗ \n██║ ██║ ██║██║ ██║██╔══╝ \n╚██████╗╚██████╔╝██████╔╝███████╗\n ╚═════╝ ╚═════╝ ╚═════╝ ╚══════╝\n`;\n\n// --- Components ---\n\nconst Splash = ({ input }: { input: string; onEnter: () => void }) => {\n return (\n <Box flexDirection=\"column\" alignItems=\"center\" height=\"100%\" justifyContent=\"space-between\">\n {/* Header */}\n <Box marginTop={2} marginBottom={1}>\n <Box borderStyle=\"round\" borderColor={CLAUDE_ORANGE} paddingX={2}>\n <Text color={CLAUDE_ORANGE} bold>\n Welcome to the Claude Code research preview!\n </Text>\n </Box>\n </Box>\n\n {/* Logo */}\n <Box marginBottom={2}>\n <Text color={CLAUDE_ORANGE}>{LOGO_TEXT}</Text>\n </Box>\n\n {/* Input */}\n <Box\n width=\"100%\"\n borderStyle=\"single\"\n borderColor=\"gray\"\n paddingX={1}\n marginBottom={1}\n // Ink doesn't support background color on Box directly in the same way as Ratatui's block styles usually\n // But we can approximate the look.\n >\n <Text color=\"white\" bold>\n {'>'} {input}_\n </Text>\n </Box>\n\n {/* Footer */}\n <Box marginBottom={2}>\n <Text color={FOOTER_TEXT}>\n 🎉 Login successful. Press{' '}\n <Text color={FOOTER_HIGHLIGHT} bold>\n Enter\n </Text>{' '}\n to continue\n </Text>\n </Box>\n </Box>\n );\n};\n\nconst Chat = ({ messages, input }: { messages: any[]; input: string }) => {\n return (\n <Box flexDirection=\"column\" height=\"100%\">\n <Box flexDirection=\"column\" flexGrow={1}>\n {messages.map((msg, i) => (\n <Box key={i} flexDirection=\"column\" marginLeft={msg.type === 'output' ? 2 : 0}>\n <Box>\n <Text\n color={\n msg.type === 'user'\n ? 'cyan'\n : msg.type === 'thinking'\n ? 'yellow'\n : msg.type === 'tool'\n ? 'blue'\n : msg.type === 'system'\n ? 'magenta'\n : 'gray'\n }\n bold={msg.type === 'user'}\n >\n {msg.symbol}\n </Text>\n <Text color={msg.type === 'output' ? 'gray' : 'white'}> {msg.content}</Text>\n </Box>\n </Box>\n ))}\n </Box>\n\n {/* Input Area */}\n <Box borderStyle=\"single\" borderColor=\"gray\" paddingX={1} marginTop={1}>\n <Text color=\"white\" bold>\n {'>'} {input}_\n </Text>\n </Box>\n </Box>\n );\n};\n\nconst App = () => {\n const [mode, setMode] = useState<'splash' | 'chat'>('splash');\n const [input, setInput] = useState('');\n const [messages, setMessages] = useState<any[]>([\n { type: 'system', symbol: '*', content: 'Welcome to CLI CODE.' },\n { type: 'system', symbol: '*', content: 'I am ready to assist. Type anything to chat.' },\n ]);\n\n useInput((keyInput, key) => {\n if (key.escape || (key.ctrl && keyInput === 'c')) {\n process.exit(0);\n }\n\n if (key.return) {\n if (mode === 'splash') {\n setMode('chat');\n if (input.trim()) {\n // Submit initial message\n addMessage('user', '>', input);\n addMessage('thinking', '⏺', 'Processing...');\n setTimeout(() => {\n addMessage('output', '⎿', 'This is a simulated response in the cli-use demo.');\n }, 1000);\n setInput('');\n }\n } else {\n if (input.trim()) {\n addMessage('user', '>', input);\n addMessage('thinking', '⏺', 'Processing...');\n setTimeout(() => {\n addMessage('output', '⎿', 'This is a simulated response in the cli-use demo.');\n }, 1000);\n setInput('');\n }\n }\n return;\n }\n\n if (key.delete || key.backspace) {\n setInput((prev) => prev.slice(0, -1));\n } else {\n setInput((prev) => prev + keyInput);\n }\n });\n\n const addMessage = (type: string, symbol: string, content: string) => {\n setMessages((prev) => [...prev, { type, symbol, content }]);\n };\n\n return (\n <Box flexDirection=\"column\" minHeight={20}>\n {mode === 'splash' ? (\n <Splash input={input} onEnter={() => setMode('chat')} />\n ) : (\n <Chat messages={messages} input={input} />\n )}\n </Box>\n );\n};\n\nrender(<App />);\n","#!/usr/bin/env node\n\nimport { Command } from 'commander';\nimport chalk from 'chalk';\nimport { spawn } from 'child_process';\nimport { fileURLToPath } from 'url';\nimport path from 'path';\nimport fs from 'fs';\n\nconst __filename = fileURLToPath(import.meta.url);\nconst __dirname = path.dirname(__filename);\n\nconst program = new Command();\n\nprogram.name('cli-use').description('React-based Terminal UI Framework').version('0.1.0');\n\nprogram\n .command('dev')\n .description('Start development mode')\n .action(() => {\n showDevTUI();\n });\n\nprogram\n .command('build')\n .description('Build project')\n .action(() => {\n showBuildTUI();\n });\n\nprogram\n .command('init [project-name]')\n .description('Create a new cli-use project')\n .action((projectName) => {\n showInitTUI(projectName || 'my-tui-app');\n });\n\nprogram\n .command('run <example>')\n .description('Run an example application')\n .action((exampleName) => {\n if (exampleName === 'ratatui') {\n showRustDemo();\n } else {\n showRunTUI(exampleName);\n }\n });\n\nprogram\n .command('examples')\n .description('List available examples')\n .action(() => {\n showExamplesTUI();\n });\n\nprogram\n .command('code')\n .description('Launch the AI-powered CLI Code interface')\n .action(() => {\n showRustDemo();\n });\n\nprogram.option('-d, --demo', 'Run the cli-use demo').action(() => {\n // Demo option handled at top level\n});\n\nconst options = program.parse(process.argv);\n\n// Handle --demo flag\nif (options.opts().demo) {\n // Since we're using ESM, we use import to run the cli-use demo\n import('../examples/cli-use-demo.tsx').catch((err: unknown) => {\n console.error('Failed to run demo:', err);\n process.exit(1);\n });\n}\n\nfunction showRustDemo() {\n const isWindows = process.platform === 'win32';\n const extension = isWindows ? '.exe' : '';\n\n const prodBinaryPath = path.resolve(__dirname, `../bin/ratatui-demo${extension}`);\n const devBinaryPath = path.resolve(\n __dirname,\n `../../native/target/release/ratatui-demo${extension}`\n );\n\n const binaryPath = fs.existsSync(prodBinaryPath) ? prodBinaryPath : devBinaryPath;\n\n const workerPath = path.resolve(__dirname, '../ai-worker.js');\n\n console.log(chalk.cyan('Starting Ratatui Demo...'));\n\n const child = spawn(binaryPath, [workerPath], {\n stdio: 'inherit',\n });\n\n child.on('error', (err) => {\n console.error(chalk.red('Failed to start demo:'), err.message);\n console.log(\n chalk.yellow(\n '\\nMake sure you have built the Rust binary first by running: npm run build:rust'\n )\n );\n });\n}\n\nfunction showDevTUI() {\n console.clear();\n console.log('');\n console.log(\n chalk.cyan('┌─────────────────────────────────────────────────────────────────────┐')\n );\n console.log(chalk.cyan('│') + ' ' + chalk.bold.white('cli-use ') + chalk.cyan('│'));\n console.log(\n chalk.cyan('│') + ' ' + chalk.bold('Development Mode') + ' '.repeat(46) + chalk.cyan('│')\n );\n console.log(\n chalk.cyan('├─────────────────────────────────────────────────────────────────────┤')\n );\n console.log(chalk.cyan('│') + ' ' + ' '.repeat(54) + chalk.cyan('│'));\n console.log(\n chalk.cyan('│') +\n ' ' +\n chalk.yellow('●') +\n ' ' +\n chalk.white('Watching for changes...') +\n ' '.repeat(36) +\n chalk.cyan('│')\n );\n console.log(chalk.cyan('│') + ' ' + ' '.repeat(54) + chalk.cyan('│'));\n console.log(\n chalk.cyan('│') +\n ' ' +\n chalk.green('✓') +\n ' ' +\n chalk.white('Build completed') +\n ' '.repeat(39) +\n chalk.cyan('│')\n );\n console.log(chalk.cyan('│') + ' ' + ' '.repeat(54) + chalk.cyan('│'));\n console.log(\n chalk.cyan('│') +\n ' ' +\n chalk.yellow('●') +\n ' ' +\n chalk.white('Hot Reload: Active') +\n ' '.repeat(37) +\n chalk.cyan('│')\n );\n console.log(chalk.cyan('│') + ' ' + ' '.repeat(54) + chalk.cyan('│'));\n console.log(\n chalk.cyan('├─────────────────────────────────────────────────────────────────────┤')\n );\n console.log(\n chalk.cyan('│') + ' ' + chalk.bold('Quick Actions') + ' '.repeat(43) + chalk.cyan('│')\n );\n console.log(chalk.cyan('│') + ' ' + ' '.repeat(54) + chalk.cyan('│'));\n console.log(\n chalk.cyan('│') +\n ' ' +\n chalk.white('[r]') +\n ' ' +\n chalk.white('Rebuild') +\n ' '.repeat(43) +\n chalk.cyan('│')\n );\n console.log(\n chalk.cyan('│') +\n ' ' +\n chalk.white('[t]') +\n ' ' +\n chalk.white('Run tests') +\n ' '.repeat(43) +\n chalk.cyan('│')\n );\n console.log(\n chalk.cyan('│') +\n ' ' +\n chalk.white('[e]') +\n ' ' +\n chalk.white('Run example') +\n ' '.repeat(41) +\n chalk.cyan('│')\n );\n console.log(\n chalk.cyan('│') +\n ' ' +\n chalk.white('[q]') +\n ' ' +\n chalk.white('Quit') +\n ' '.repeat(46) +\n chalk.cyan('│')\n );\n console.log(chalk.cyan('│') + ' ' + ' '.repeat(54) + chalk.cyan('│'));\n console.log(\n chalk.cyan('├─────────────────────────────────────────────────────────────────────┤')\n );\n console.log(chalk.cyan('│') + ' ' + chalk.bold('Output') + ' '.repeat(48) + chalk.cyan('│'));\n console.log(chalk.cyan('│') + ' ' + ' '.repeat(54) + chalk.cyan('│'));\n console.log(\n chalk.cyan('│') +\n ' ' +\n chalk.green('✓') +\n ' ' +\n chalk.white('Starting dev server...') +\n ' '.repeat(36) +\n chalk.cyan('│')\n );\n console.log(chalk.cyan('│') + ' ' + ' '.repeat(54) + chalk.cyan('│'));\n console.log(\n chalk.cyan('│') +\n ' ' +\n chalk.dim('Waiting for file changes...') +\n ' '.repeat(34) +\n chalk.cyan('│')\n );\n console.log(chalk.cyan('│') + ' ' + ' '.repeat(54) + chalk.cyan('│'));\n console.log(\n chalk.cyan('├─────────────────────────────────────────────────────────────────────┤')\n );\n console.log(\n chalk.cyan('│') + ' ' + chalk.bold('Project Status') + ' '.repeat(43) + chalk.cyan('│')\n );\n console.log(chalk.cyan('│') + ' ' + ' '.repeat(54) + chalk.cyan('│'));\n console.log(\n chalk.cyan('│') +\n ' ' +\n chalk.white('Files: ') +\n chalk.cyan('142') +\n ' '.repeat(4) +\n chalk.white('Lines: ') +\n chalk.cyan('8,547') +\n ' '.repeat(35) +\n chalk.cyan('│')\n );\n console.log(\n chalk.cyan('│') +\n ' ' +\n chalk.white('Components: ') +\n chalk.green('7') +\n ' '.repeat(2) +\n chalk.white('Hooks: ') +\n chalk.green('8') +\n ' '.repeat(40) +\n chalk.cyan('│')\n );\n console.log(chalk.cyan('│') + ' ' + ' '.repeat(54) + chalk.cyan('│'));\n console.log(\n chalk.cyan('└─────────────────────────────────────────────────────────────────────┘')\n );\n console.log('');\n console.log(\n chalk.dim('Press ') +\n chalk.cyan('Ctrl+C') +\n chalk.dim(' to exit') +\n ' | ' +\n chalk.dim('Version: ') +\n chalk.white('0.1.0')\n );\n console.log('');\n}\n\nfunction showBuildTUI() {\n console.clear();\n console.log('');\n console.log(\n chalk.cyan('┌─────────────────────────────────────────────────────────────────────┐')\n );\n console.log(chalk.cyan('│') + ' ' + chalk.bold.white('cli-use ') + chalk.cyan(' │'));\n console.log(\n chalk.cyan('│') + ' ' + chalk.bold('Build Progress') + ' '.repeat(45) + chalk.cyan('│')\n );\n console.log(\n chalk.cyan('├─────────────────────────────────────────────────────────────────────┤')\n );\n console.log(chalk.cyan('│') + ' ' + ' '.repeat(54) + chalk.cyan('│'));\n console.log(chalk.cyan('│') + ' ' + chalk.bold('Building...') + ' '.repeat(43) + chalk.cyan('│'));\n console.log(chalk.cyan('│') + ' ' + ' '.repeat(54) + chalk.cyan('│'));\n console.log(\n chalk.cyan('│') +\n ' ' +\n chalk.green('✓') +\n ' ' +\n chalk.white('TypeScript compilation') +\n ' '.repeat(35) +\n chalk.cyan('│')\n );\n console.log(\n chalk.cyan('│') +\n ' ' +\n chalk.green('✓') +\n ' ' +\n chalk.white('Bundle with tsup') +\n ' '.repeat(38) +\n chalk.cyan('│')\n );\n console.log(\n chalk.cyan('│') +\n ' ' +\n chalk.green('✓') +\n ' ' +\n chalk.white('Generate declarations') +\n ' '.repeat(33) +\n chalk.cyan('│')\n );\n console.log(\n chalk.cyan('│') +\n ' ' +\n chalk.yellow('○') +\n ' ' +\n chalk.white('Optimize') +\n ' '.repeat(45) +\n chalk.cyan('│')\n );\n console.log(chalk.cyan('│') + ' ' + ' '.repeat(54) + chalk.cyan('│'));\n console.log(\n chalk.cyan('│') +\n ' [' +\n chalk.green('█'.repeat(30)) +\n chalk.dim('░'.repeat(10)) +\n '] ' +\n chalk.white('75%') +\n ' '.repeat(4) +\n chalk.cyan('│')\n );\n console.log(chalk.cyan('│') + ' ' + ' '.repeat(54) + chalk.cyan('│'));\n console.log(\n chalk.cyan('├─────────────────────────────────────────────────────────────────────┤')\n );\n console.log(\n chalk.cyan('│') + ' ' + chalk.bold('Output Files') + ' '.repeat(43) + chalk.cyan('│')\n );\n console.log(chalk.cyan('│') + ' ' + ' '.repeat(54) + chalk.cyan('│'));\n console.log(chalk.cyan('│') + ' ' + chalk.cyan('dist/') + ' '.repeat(49) + chalk.cyan('│'));\n console.log(\n chalk.cyan('│') +\n ' ' +\n chalk.dim('├── index.js ') +\n chalk.dim('(') +\n chalk.white('21.2 KB') +\n chalk.dim(')') +\n ' '.repeat(36) +\n chalk.cyan('│')\n );\n console.log(chalk.cyan('│') + ' ' + chalk.dim('├── cli/') + ' '.repeat(47) + chalk.cyan('│'));\n console.log(\n chalk.cyan('│') +\n ' ' +\n chalk.dim('│ └── index.js ') +\n chalk.dim('(') +\n chalk.white('3.0 KB') +\n chalk.dim(')') +\n ' '.repeat(34) +\n chalk.cyan('│')\n );\n console.log(chalk.cyan('│') + ' ' + chalk.dim('├── hooks/') + ' '.repeat(45) + chalk.cyan('│'));\n console.log(\n chalk.cyan('│') +\n ' ' +\n chalk.dim('│ └── index.js ') +\n chalk.dim('(') +\n chalk.white('7.3 KB') +\n chalk.dim(')') +\n ' '.repeat(34) +\n chalk.cyan('│')\n );\n console.log(\n chalk.cyan('│') +\n ' ' +\n chalk.dim('├── *.d.ts ') +\n chalk.dim('(') +\n chalk.white('4.2 KB') +\n chalk.dim(')') +\n ' '.repeat(39) +\n chalk.cyan('│')\n );\n console.log(chalk.cyan('│') + ' ' + ' '.repeat(54) + chalk.cyan('│'));\n console.log(\n chalk.cyan('├─────────────────────────────────────────────────────────────────────┤')\n );\n console.log(\n chalk.cyan('│') + ' ' + chalk.bold('Build Summary') + ' '.repeat(43) + chalk.cyan('│')\n );\n console.log(chalk.cyan('│') + ' ' + ' '.repeat(54) + chalk.cyan('│'));\n console.log(\n chalk.cyan('│') +\n ' ' +\n chalk.white('Duration: ') +\n chalk.cyan('2.4s') +\n ' '.repeat(45) +\n chalk.cyan('│')\n );\n console.log(\n chalk.cyan('│') +\n ' ' +\n chalk.white('Bundles: ') +\n chalk.green('3') +\n ' '.repeat(45) +\n chalk.cyan('│')\n );\n console.log(\n chalk.cyan('│') +\n ' ' +\n chalk.white('Size: ') +\n chalk.cyan('31.5 KB') +\n ' '.repeat(45) +\n chalk.cyan('│')\n );\n console.log(\n chalk.cyan('│') +\n ' ' +\n chalk.white('Status: ') +\n chalk.green('✓ Success') +\n ' '.repeat(42) +\n chalk.cyan('│')\n );\n console.log(chalk.cyan('│') + ' ' + ' '.repeat(54) + chalk.cyan('│'));\n console.log(\n chalk.cyan('└─────────────────────────────────────────────────────────────────────┘')\n );\n console.log('');\n}\n\nfunction showInitTUI(projectName: string) {\n console.clear();\n console.log('');\n console.log(\n chalk.cyan('┌─────────────────────────────────────────────────────────────────────┐')\n );\n console.log(chalk.cyan('│') + ' ' + chalk.bold.white('cli-use ') + chalk.cyan('│'));\n console.log(\n chalk.cyan('│') + ' ' + chalk.bold('Project Setup') + ' '.repeat(45) + chalk.cyan('│')\n );\n console.log(\n chalk.cyan('├─────────────────────────────────────────────────────────────────────┤')\n );\n console.log(chalk.cyan('│') + ' ' + ' '.repeat(54) + chalk.cyan('│'));\n console.log(\n chalk.cyan('│') + ' ' + chalk.bold('Creating new project:') + ' '.repeat(37) + chalk.cyan('│')\n );\n console.log(chalk.cyan('│') + ' ' + ' '.repeat(54) + chalk.cyan('│'));\n console.log(\n chalk.cyan('│') +\n ' ' +\n chalk.cyan('○') +\n ' ' +\n chalk.white('Project name: ') +\n chalk.green(projectName) +\n ' '.repeat(34) +\n chalk.cyan('│')\n );\n console.log(\n chalk.cyan('│') +\n ' ' +\n chalk.green('✓') +\n ' ' +\n chalk.white('Package: ') +\n chalk.cyan('cli-use@0.1.0') +\n ' '.repeat(32) +\n chalk.cyan('│')\n );\n console.log(\n chalk.cyan('│') +\n ' ' +\n chalk.green('✓') +\n ' ' +\n chalk.white('Template: ') +\n chalk.cyan('default') +\n ' '.repeat(38) +\n chalk.cyan('│')\n );\n console.log(chalk.cyan('│') + ' ' + ' '.repeat(54) + chalk.cyan('│'));\n console.log(\n chalk.cyan('│') + ' ' + chalk.bold('Project Structure') + ' '.repeat(39) + chalk.cyan('│')\n );\n console.log(chalk.cyan('│') + ' ' + ' '.repeat(54) + chalk.cyan('│'));\n console.log(chalk.cyan('│') + ' ' + chalk.cyan('src/') + ' '.repeat(49) + chalk.cyan('│'));\n console.log(\n chalk.cyan('│') + ' ' + chalk.dim('├── components/') + ' '.repeat(45) + chalk.cyan('│')\n );\n console.log(\n chalk.cyan('│') + ' ' + chalk.dim('│ ├── Box.tsx') + ' '.repeat(42) + chalk.cyan('│')\n );\n console.log(\n chalk.cyan('│') + ' ' + chalk.dim('│ ├── Text.tsx') + ' '.repeat(42) + chalk.cyan('│')\n );\n console.log(\n chalk.cyan('│') + ' ' + chalk.dim('│ ├── Button.tsx') + ' '.repeat(40) + chalk.cyan('│')\n );\n console.log(chalk.cyan('│') + ' ' + chalk.dim('│ └── ...') + ' '.repeat(47) + chalk.cyan('│'));\n console.log(chalk.cyan('│') + ' ' + chalk.dim('├── hooks/') + ' '.repeat(47) + chalk.cyan('│'));\n console.log(\n chalk.cyan('│') + ' ' + chalk.dim('├── renderer/') + ' '.repeat(44) + chalk.cyan('│')\n );\n console.log(chalk.cyan('│') + ' ' + chalk.dim('├── App.tsx') + ' '.repeat(45) + chalk.cyan('│'));\n console.log(chalk.cyan('│') + ' ' + chalk.dim('├── index.ts') + ' '.repeat(45) + chalk.cyan('│'));\n console.log(\n chalk.cyan('│') + ' ' + chalk.dim('└── package.json') + ' '.repeat(43) + chalk.cyan('│')\n );\n console.log(chalk.cyan('│') + ' ' + ' '.repeat(54) + chalk.cyan('│'));\n console.log(\n chalk.cyan('├─────────────────────────────────────────────────────────────────────┤')\n );\n console.log(chalk.cyan('│') + ' ' + chalk.bold('Next Steps') + ' '.repeat(45) + chalk.cyan('│'));\n console.log(chalk.cyan('│') + ' ' + ' '.repeat(54) + chalk.cyan('│'));\n console.log(\n chalk.cyan('│') +\n ' ' +\n chalk.cyan('1.') +\n ' ' +\n chalk.white('cd ' + projectName) +\n ' '.repeat(40) +\n chalk.cyan('│')\n );\n console.log(\n chalk.cyan('│') +\n ' ' +\n chalk.cyan('2.') +\n ' ' +\n chalk.white('npm install') +\n ' '.repeat(44) +\n chalk.cyan('│')\n );\n console.log(\n chalk.cyan('│') +\n ' ' +\n chalk.cyan('3.') +\n ' ' +\n chalk.white('npm run dev') +\n ' '.repeat(43) +\n chalk.cyan('│')\n );\n console.log(\n chalk.cyan('│') +\n ' ' +\n chalk.cyan('4.') +\n ' ' +\n chalk.white('Start building!') +\n ' '.repeat(42) +\n chalk.cyan('│')\n );\n console.log(chalk.cyan('│') + ' ' + ' '.repeat(54) + chalk.cyan('│'));\n console.log(\n chalk.cyan('└─────────────────────────────────────────────────────────────────────┘')\n );\n console.log('');\n}\n\nfunction showRunTUI(exampleName: string) {\n console.clear();\n console.log('');\n console.log(\n chalk.cyan('┌─────────────────────────────────────────────────────────────────────┐')\n );\n console.log(chalk.cyan('│') + ' ' + chalk.bold.white('cli-use ') + chalk.cyan(' │'));\n console.log(\n chalk.cyan('│') + ' ' + chalk.bold('Example Runner') + ' '.repeat(44) + chalk.cyan('│')\n );\n console.log(\n chalk.cyan('├─────────────────────────────────────────────────────────────────────┤')\n );\n console.log(chalk.cyan('│') + ' ' + ' '.repeat(54) + chalk.cyan('│'));\n console.log(\n chalk.cyan('│') +\n ' ' +\n chalk.bold('Running: ') +\n chalk.cyan(exampleName) +\n ' '.repeat(39) +\n chalk.cyan('│')\n );\n console.log(chalk.cyan('│') + ' ' + ' '.repeat(54) + chalk.cyan('│'));\n\n const examples = [\n {\n name: 'counter',\n title: 'Counter',\n desc: 'Interactive counter with keyboard controls',\n tags: ['beginner', 'hooks'],\n },\n { name: 'demo', title: 'Demo', desc: 'Feature demonstration showcase', tags: ['overview'] },\n {\n name: 'todos',\n title: 'Todo List',\n desc: 'Todo list with navigation',\n tags: ['interactive', 'state'],\n },\n {\n name: 'ratatui',\n title: 'Rust Demo',\n desc: 'Native Rust TUI integration',\n tags: ['rust', 'advanced'],\n },\n ];\n\n examples.forEach((ex, i) => {\n const isCurrent = ex.name === exampleName;\n const status = isCurrent ? chalk.green('●') : chalk.dim('○');\n const marker = isCurrent ? chalk.cyan('▶') : chalk.dim(' ');\n console.log(\n chalk.cyan('│') +\n ' ' +\n marker +\n ' ' +\n status +\n ' ' +\n chalk.white(ex.name) +\n ' '.repeat(39) +\n chalk.cyan('│')\n );\n console.log(chalk.cyan('│') + ' ' + chalk.dim(ex.desc) + ' '.repeat(47) + chalk.cyan('│'));\n if (i < examples.length - 1) {\n console.log(chalk.cyan('│') + ' ' + ' '.repeat(54) + chalk.cyan('│'));\n }\n });\n\n console.log(chalk.cyan('│') + ' ' + ' '.repeat(54) + chalk.cyan('│'));\n console.log(\n chalk.cyan('├─────────────────────────────────────────────────────────────────────┤')\n );\n console.log(chalk.cyan('│') + ' ' + chalk.bold('Controls') + ' '.repeat(46) + chalk.cyan('│'));\n console.log(chalk.cyan('│') + ' ' + ' '.repeat(54) + chalk.cyan('│'));\n console.log(\n chalk.cyan('│') +\n ' ' +\n chalk.cyan('↑/↓') +\n ' ' +\n chalk.white('Navigate') +\n ' '.repeat(43) +\n chalk.cyan('│')\n );\n console.log(\n chalk.cyan('│') +\n ' ' +\n chalk.cyan('q') +\n ' ' +\n chalk.white('Quit') +\n ' '.repeat(46) +\n chalk.cyan('│')\n );\n console.log(\n chalk.cyan('│') +\n ' ' +\n chalk.cyan('r') +\n ' ' +\n chalk.white('Restart') +\n ' '.repeat(43) +\n chalk.cyan('│')\n );\n console.log(chalk.cyan('│') + ' ' + ' '.repeat(54) + chalk.cyan('│'));\n console.log(\n chalk.cyan('├─────────────────────────────────────────────────────────────────────┤')\n );\n console.log(chalk.cyan('│') + ' ' + chalk.bold('Output') + ' '.repeat(47) + chalk.cyan('│'));\n console.log(chalk.cyan('│') + ' ' + ' '.repeat(54) + chalk.cyan('│'));\n console.log(\n chalk.cyan('│') +\n ' ' +\n chalk.green('✓') +\n ' ' +\n chalk.white('Example started successfully') +\n ' '.repeat(32) +\n chalk.cyan('│')\n );\n console.log(chalk.cyan('│') + ' ' + ' '.repeat(54) + chalk.cyan('│'));\n console.log(\n chalk.cyan('│') +\n ' ' +\n chalk.dim('Use arrow keys to interact with example') +\n ' '.repeat(19) +\n chalk.cyan('│')\n );\n console.log(chalk.cyan('│') + ' ' + ' '.repeat(54) + chalk.cyan('│'));\n console.log(\n chalk.cyan('└─────────────────────────────────────────────────────────────────────┘')\n );\n console.log('');\n}\n\nfunction showExamplesTUI() {\n console.clear();\n console.log('');\n console.log(\n chalk.cyan('┌─────────────────────────────────────────────────────────────────────┐')\n );\n console.log(chalk.cyan('│') + ' ' + chalk.bold.white('cli-use ') + chalk.cyan(' │'));\n console.log(\n chalk.cyan('│') + ' ' + chalk.bold('Example Gallery') + ' '.repeat(43) + chalk.cyan('│')\n );\n console.log(\n chalk.cyan('├─────────────────────────────────────────────────────────────────────┤')\n );\n console.log(chalk.cyan('│') + ' ' + ' '.repeat(54) + chalk.cyan('│'));\n\n const examples = [\n {\n name: 'counter',\n title: 'Counter',\n desc: 'Interactive counter with keyboard controls',\n tags: ['beginner', 'hooks'],\n },\n { name: 'demo', title: 'Demo', desc: 'Feature demonstration showcase', tags: ['overview'] },\n {\n name: 'todos',\n title: 'Todo List',\n desc: 'Todo list with navigation',\n tags: ['interactive', 'state'],\n },\n ];\n\n examples.forEach((ex, i) => {\n const status = i === 0 ? chalk.cyan('▶') : chalk.dim('○');\n const tags = ex.tags.map((t) => chalk.dim('[') + chalk.cyan(t) + chalk.dim(']')).join(' ');\n console.log(\n chalk.cyan('│') +\n ' ' +\n status +\n ' ' +\n chalk.bold(ex.name) +\n ' - ' +\n chalk.white(ex.title) +\n ' '.repeat(26) +\n chalk.cyan('│')\n );\n console.log(\n chalk.cyan('│') +\n ' ' +\n chalk.dim(ex.desc) +\n ' '.repeat(33) +\n tags +\n ' '.repeat(5) +\n chalk.cyan('│')\n );\n console.log(chalk.cyan('│') + ' ' + ' '.repeat(54) + chalk.cyan('│'));\n });\n\n console.log(chalk.cyan('│') + ' ' + ' '.repeat(54) + chalk.cyan('│'));\n console.log(\n chalk.cyan('├─────────────────────────────────────────────────────────────────────┤')\n );\n console.log(chalk.cyan('│') + ' ' + chalk.bold('Commands') + ' '.repeat(46) + chalk.cyan('│'));\n console.log(chalk.cyan('│') + ' ' + ' '.repeat(54) + chalk.cyan('│'));\n console.log(\n chalk.cyan('│') + ' ' + chalk.cyan('cli-use run counter') + ' '.repeat(34) + chalk.cyan('│')\n );\n console.log(\n chalk.cyan('│') + ' ' + chalk.cyan('cli-use run demo') + ' '.repeat(36) + chalk.cyan('│')\n );\n console.log(\n chalk.cyan('│') + ' ' + chalk.cyan('cli-use run todos') + ' '.repeat(35) + chalk.cyan('│')\n );\n console.log(chalk.cyan('│') + ' ' + ' '.repeat(54) + chalk.cyan('│'));\n console.log(chalk.cyan('│') + ' ' + chalk.bold('Shortcuts') + ' '.repeat(46) + chalk.cyan('│'));\n console.log(chalk.cyan('│') + ' ' + ' '.repeat(54) + chalk.cyan('│'));\n console.log(\n chalk.cyan('│') +\n ' ' +\n chalk.cyan('n') +\n '/' +\n chalk.cyan('p') +\n ' ' +\n chalk.white('Next/Prev example') +\n ' '.repeat(36) +\n chalk.cyan('│')\n );\n console.log(\n chalk.cyan('│') +\n ' ' +\n chalk.cyan('enter') +\n ' ' +\n chalk.white('Run selected') +\n ' '.repeat(39) +\n chalk.cyan('│')\n );\n console.log(\n chalk.cyan('│') +\n ' ' +\n chalk.cyan('q') +\n ' ' +\n chalk.white('Quit') +\n ' '.repeat(44) +\n chalk.cyan('│')\n );\n console.log(chalk.cyan('│') + ' ' + ' '.repeat(54) + chalk.cyan('│'));\n console.log(\n chalk.cyan('└─────────────────────────────────────────────────────────────────────┘')\n );\n console.log('');\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,IAKM,kBAOO;AAZb;AAAA;AAAA;AAKA,IAAM,mBAAmB,MACvB,OAAO,aAAa,cAChB,IAAI,IAAI,QAAQ,UAAU,EAAE,EAAE,OAC7B,SAAS,iBAAiB,SAAS,cAAc,QAAQ,YAAY,MAAM,WAC1E,SAAS,cAAc,MACvB,IAAI,IAAI,WAAW,SAAS,OAAO,EAAE;AAEtC,IAAM,gBAAgC,iCAAiB;AAAA;AAAA;;;ACZ9D;AAAA,kBACA,YA8BU,oBA3BJ,eACA,aACA,kBAEA,WAiBA,QA8CA,MAuCA;AA9GN;AAAA;AAAA;AAAA;AAAA,mBAAgC;AAChC,iBAA4C;AA8BlC;AA3BV,IAAM,gBAAgB;AACtB,IAAM,cAAc;AACpB,IAAM,mBAAmB;AAEzB,IAAM,YAAY;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAiBlB,IAAM,SAAS,CAAC,EAAE,MAAM,MAA8C;AACpE,aACE,6CAAC,kBAAI,eAAc,UAAS,YAAW,UAAS,QAAO,QAAO,gBAAe,iBAE3E;AAAA,oDAAC,kBAAI,WAAW,GAAG,cAAc,GAC/B,sDAAC,kBAAI,aAAY,SAAQ,aAAa,eAAe,UAAU,GAC7D,sDAAC,mBAAK,OAAO,eAAe,MAAI,MAAC,0DAEjC,GACF,GACF;AAAA,QAGA,4CAAC,kBAAI,cAAc,GACjB,sDAAC,mBAAK,OAAO,eAAgB,qBAAU,GACzC;AAAA,QAGA;AAAA,UAAC;AAAA;AAAA,YACC,OAAM;AAAA,YACN,aAAY;AAAA,YACZ,aAAY;AAAA,YACZ,UAAU;AAAA,YACV,cAAc;AAAA,YAId,uDAAC,mBAAK,OAAM,SAAQ,MAAI,MACrB;AAAA;AAAA,cAAI;AAAA,cAAE;AAAA,cAAM;AAAA,eACf;AAAA;AAAA,QACF;AAAA,QAGA,4CAAC,kBAAI,cAAc,GACjB,uDAAC,mBAAK,OAAO,aAAa;AAAA;AAAA,UACG;AAAA,UAC3B,4CAAC,mBAAK,OAAO,kBAAkB,MAAI,MAAC,mBAEpC;AAAA,UAAQ;AAAA,UAAI;AAAA,WAEd,GACF;AAAA,SACF;AAAA,IAEJ;AAEA,IAAM,OAAO,CAAC,EAAE,UAAU,MAAM,MAA0C;AACxE,aACE,6CAAC,kBAAI,eAAc,UAAS,QAAO,QACjC;AAAA,oDAAC,kBAAI,eAAc,UAAS,UAAU,GACnC,mBAAS,IAAI,CAAC,KAAK,MAClB,4CAAC,kBAAY,eAAc,UAAS,YAAY,IAAI,SAAS,WAAW,IAAI,GAC1E,uDAAC,kBACC;AAAA;AAAA,YAAC;AAAA;AAAA,cACC,OACE,IAAI,SAAS,SACT,SACA,IAAI,SAAS,aACX,WACA,IAAI,SAAS,SACX,SACA,IAAI,SAAS,WACX,YACA;AAAA,cAEZ,MAAM,IAAI,SAAS;AAAA,cAElB,cAAI;AAAA;AAAA,UACP;AAAA,UACA,6CAAC,mBAAK,OAAO,IAAI,SAAS,WAAW,SAAS,SAAS;AAAA;AAAA,YAAE,IAAI;AAAA,aAAQ;AAAA,WACvE,KAnBQ,CAoBV,CACD,GACH;AAAA,QAGA,4CAAC,kBAAI,aAAY,UAAS,aAAY,QAAO,UAAU,GAAG,WAAW,GACnE,uDAAC,mBAAK,OAAM,SAAQ,MAAI,MACrB;AAAA;AAAA,UAAI;AAAA,UAAE;AAAA,UAAM;AAAA,WACf,GACF;AAAA,SACF;AAAA,IAEJ;AAEA,IAAM,MAAM,MAAM;AAChB,YAAM,CAAC,MAAM,OAAO,QAAI,uBAA4B,QAAQ;AAC5D,YAAM,CAAC,OAAO,QAAQ,QAAI,uBAAS,EAAE;AACrC,YAAM,CAAC,UAAU,WAAW,QAAI,uBAAgB;AAAA,QAC9C,EAAE,MAAM,UAAU,QAAQ,KAAK,SAAS,uBAAuB;AAAA,QAC/D,EAAE,MAAM,UAAU,QAAQ,KAAK,SAAS,+CAA+C;AAAA,MACzF,CAAC;AAED,+BAAS,CAAC,UAAU,QAAQ;AAC1B,YAAI,IAAI,UAAW,IAAI,QAAQ,aAAa,KAAM;AAChD,kBAAQ,KAAK,CAAC;AAAA,QAChB;AAEA,YAAI,IAAI,QAAQ;AACd,cAAI,SAAS,UAAU;AACrB,oBAAQ,MAAM;AACd,gBAAI,MAAM,KAAK,GAAG;AAEhB,yBAAW,QAAQ,KAAK,KAAK;AAC7B,yBAAW,YAAY,UAAK,eAAe;AAC3C,yBAAW,MAAM;AACf,2BAAW,UAAU,UAAK,mDAAmD;AAAA,cAC/E,GAAG,GAAI;AACP,uBAAS,EAAE;AAAA,YACb;AAAA,UACF,OAAO;AACL,gBAAI,MAAM,KAAK,GAAG;AAChB,yBAAW,QAAQ,KAAK,KAAK;AAC7B,yBAAW,YAAY,UAAK,eAAe;AAC3C,yBAAW,MAAM;AACf,2BAAW,UAAU,UAAK,mDAAmD;AAAA,cAC/E,GAAG,GAAI;AACP,uBAAS,EAAE;AAAA,YACb;AAAA,UACF;AACA;AAAA,QACF;AAEA,YAAI,IAAI,UAAU,IAAI,WAAW;AAC/B,mBAAS,CAAC,SAAS,KAAK,MAAM,GAAG,EAAE,CAAC;AAAA,QACtC,OAAO;AACL,mBAAS,CAAC,SAAS,OAAO,QAAQ;AAAA,QACpC;AAAA,MACF,CAAC;AAED,YAAM,aAAa,CAAC,MAAc,QAAgB,YAAoB;AACpE,oBAAY,CAAC,SAAS,CAAC,GAAG,MAAM,EAAE,MAAM,QAAQ,QAAQ,CAAC,CAAC;AAAA,MAC5D;AAEA,aACE,4CAAC,kBAAI,eAAc,UAAS,WAAW,IACpC,mBAAS,WACR,4CAAC,UAAO,OAAc,SAAS,MAAM,QAAQ,MAAM,GAAG,IAEtD,4CAAC,QAAK,UAAoB,OAAc,GAE5C;AAAA,IAEJ;AAEA,2BAAO,4CAAC,OAAI,CAAE;AAAA;AAAA;;;AC1Kd;AAEA,uBAAwB;AACxB,mBAAkB;AAClB,2BAAsB;AACtB,iBAA8B;AAC9B,kBAAiB;AACjB,gBAAe;AAEf,IAAMA,kBAAa,0BAAc,aAAe;AAChD,IAAM,YAAY,YAAAC,QAAK,QAAQD,WAAU;AAEzC,IAAM,UAAU,IAAI,yBAAQ;AAE5B,QAAQ,KAAK,SAAS,EAAE,YAAY,mCAAmC,EAAE,QAAQ,OAAO;AAExF,QACG,QAAQ,KAAK,EACb,YAAY,wBAAwB,EACpC,OAAO,MAAM;AACZ,aAAW;AACb,CAAC;AAEH,QACG,QAAQ,OAAO,EACf,YAAY,eAAe,EAC3B,OAAO,MAAM;AACZ,eAAa;AACf,CAAC;AAEH,QACG,QAAQ,qBAAqB,EAC7B,YAAY,8BAA8B,EAC1C,OAAO,CAAC,gBAAgB;AACvB,cAAY,eAAe,YAAY;AACzC,CAAC;AAEH,QACG,QAAQ,eAAe,EACvB,YAAY,4BAA4B,EACxC,OAAO,CAAC,gBAAgB;AACvB,MAAI,gBAAgB,WAAW;AAC7B,iBAAa;AAAA,EACf,OAAO;AACL,eAAW,WAAW;AAAA,EACxB;AACF,CAAC;AAEH,QACG,QAAQ,UAAU,EAClB,YAAY,yBAAyB,EACrC,OAAO,MAAM;AACZ,kBAAgB;AAClB,CAAC;AAEH,QACG,QAAQ,MAAM,EACd,YAAY,0CAA0C,EACtD,OAAO,MAAM;AACZ,eAAa;AACf,CAAC;AAEH,QAAQ,OAAO,cAAc,sBAAsB,EAAE,OAAO,MAAM;AAElE,CAAC;AAED,IAAM,UAAU,QAAQ,MAAM,QAAQ,IAAI;AAG1C,IAAI,QAAQ,KAAK,EAAE,MAAM;AAEvB,4EAAuC,MAAM,CAAC,QAAiB;AAC7D,YAAQ,MAAM,uBAAuB,GAAG;AACxC,YAAQ,KAAK,CAAC;AAAA,EAChB,CAAC;AACH;AAEA,SAAS,eAAe;AACtB,QAAM,YAAY,QAAQ,aAAa;AACvC,QAAM,YAAY,YAAY,SAAS;AAEvC,QAAM,iBAAiB,YAAAC,QAAK,QAAQ,WAAW,sBAAsB,SAAS,EAAE;AAChF,QAAM,gBAAgB,YAAAA,QAAK;AAAA,IACzB;AAAA,IACA,2CAA2C,SAAS;AAAA,EACtD;AAEA,QAAM,aAAa,UAAAC,QAAG,WAAW,cAAc,IAAI,iBAAiB;AAEpE,QAAM,aAAa,YAAAD,QAAK,QAAQ,WAAW,iBAAiB;AAE5D,UAAQ,IAAI,aAAAE,QAAM,KAAK,0BAA0B,CAAC;AAElD,QAAM,YAAQ,4BAAM,YAAY,CAAC,UAAU,GAAG;AAAA,IAC5C,OAAO;AAAA,EACT,CAAC;AAED,QAAM,GAAG,SAAS,CAAC,QAAQ;AACzB,YAAQ,MAAM,aAAAA,QAAM,IAAI,uBAAuB,GAAG,IAAI,OAAO;AAC7D,YAAQ;AAAA,MACN,aAAAA,QAAM;AAAA,QACJ;AAAA,MACF;AAAA,IACF;AAAA,EACF,CAAC;AACH;AAEA,SAAS,aAAa;AACpB,UAAQ,MAAM;AACd,UAAQ,IAAI,EAAE;AACd,UAAQ;AAAA,IACN,aAAAA,QAAM,KAAK,4aAAyE;AAAA,EACtF;AACA,UAAQ,IAAI,aAAAA,QAAM,KAAK,QAAG,IAAI,MAAM,aAAAA,QAAM,KAAK,MAAM,UAAU,IAAI,aAAAA,QAAM,KAAK,QAAG,CAAC;AAClF,UAAQ;AAAA,IACN,aAAAA,QAAM,KAAK,QAAG,IAAI,MAAM,aAAAA,QAAM,KAAK,kBAAkB,IAAI,IAAI,OAAO,EAAE,IAAI,aAAAA,QAAM,KAAK,QAAG;AAAA,EAC1F;AACA,UAAQ;AAAA,IACN,aAAAA,QAAM,KAAK,4aAAyE;AAAA,EACtF;AACA,UAAQ,IAAI,aAAAA,QAAM,KAAK,QAAG,IAAI,MAAM,IAAI,OAAO,EAAE,IAAI,aAAAA,QAAM,KAAK,QAAG,CAAC;AACpE,UAAQ;AAAA,IACN,aAAAA,QAAM,KAAK,QAAG,IACZ,MACA,aAAAA,QAAM,OAAO,QAAG,IAChB,MACA,aAAAA,QAAM,MAAM,yBAAyB,IACrC,IAAI,OAAO,EAAE,IACb,aAAAA,QAAM,KAAK,QAAG;AAAA,EAClB;AACA,UAAQ,IAAI,aAAAA,QAAM,KAAK,QAAG,IAAI,MAAM,IAAI,OAAO,EAAE,IAAI,aAAAA,QAAM,KAAK,QAAG,CAAC;AACpE,UAAQ;AAAA,IACN,aAAAA,QAAM,KAAK,QAAG,IACZ,MACA,aAAAA,QAAM,MAAM,QAAG,IACf,MACA,aAAAA,QAAM,MAAM,iBAAiB,IAC7B,IAAI,OAAO,EAAE,IACb,aAAAA,QAAM,KAAK,QAAG;AAAA,EAClB;AACA,UAAQ,IAAI,aAAAA,QAAM,KAAK,QAAG,IAAI,MAAM,IAAI,OAAO,EAAE,IAAI,aAAAA,QAAM,KAAK,QAAG,CAAC;AACpE,UAAQ;AAAA,IACN,aAAAA,QAAM,KAAK,QAAG,IACZ,MACA,aAAAA,QAAM,OAAO,QAAG,IAChB,MACA,aAAAA,QAAM,MAAM,oBAAoB,IAChC,IAAI,OAAO,EAAE,IACb,aAAAA,QAAM,KAAK,QAAG;AAAA,EAClB;AACA,UAAQ,IAAI,aAAAA,QAAM,KAAK,QAAG,IAAI,MAAM,IAAI,OAAO,EAAE,IAAI,aAAAA,QAAM,KAAK,QAAG,CAAC;AACpE,UAAQ;AAAA,IACN,aAAAA,QAAM,KAAK,4aAAyE;AAAA,EACtF;AACA,UAAQ;AAAA,IACN,aAAAA,QAAM,KAAK,QAAG,IAAI,MAAM,aAAAA,QAAM,KAAK,eAAe,IAAI,IAAI,OAAO,EAAE,IAAI,aAAAA,QAAM,KAAK,QAAG;AAAA,EACvF;AACA,UAAQ,IAAI,aAAAA,QAAM,KAAK,QAAG,IAAI,MAAM,IAAI,OAAO,EAAE,IAAI,aAAAA,QAAM,KAAK,QAAG,CAAC;AACpE,UAAQ;AAAA,IACN,aAAAA,QAAM,KAAK,QAAG,IACZ,QACA,aAAAA,QAAM,MAAM,KAAK,IACjB,MACA,aAAAA,QAAM,MAAM,SAAS,IACrB,IAAI,OAAO,EAAE,IACb,aAAAA,QAAM,KAAK,QAAG;AAAA,EAClB;AACA,UAAQ;AAAA,IACN,aAAAA,QAAM,KAAK,QAAG,IACZ,QACA,aAAAA,QAAM,MAAM,KAAK,IACjB,MACA,aAAAA,QAAM,MAAM,WAAW,IACvB,IAAI,OAAO,EAAE,IACb,aAAAA,QAAM,KAAK,QAAG;AAAA,EAClB;AACA,UAAQ;AAAA,IACN,aAAAA,QAAM,KAAK,QAAG,IACZ,QACA,aAAAA,QAAM,MAAM,KAAK,IACjB,MACA,aAAAA,QAAM,MAAM,aAAa,IACzB,IAAI,OAAO,EAAE,IACb,aAAAA,QAAM,KAAK,QAAG;AAAA,EAClB;AACA,UAAQ;AAAA,IACN,aAAAA,QAAM,KAAK,QAAG,IACZ,QACA,aAAAA,QAAM,MAAM,KAAK,IACjB,MACA,aAAAA,QAAM,MAAM,MAAM,IAClB,IAAI,OAAO,EAAE,IACb,aAAAA,QAAM,KAAK,QAAG;AAAA,EAClB;AACA,UAAQ,IAAI,aAAAA,QAAM,KAAK,QAAG,IAAI,MAAM,IAAI,OAAO,EAAE,IAAI,aAAAA,QAAM,KAAK,QAAG,CAAC;AACpE,UAAQ;AAAA,IACN,aAAAA,QAAM,KAAK,4aAAyE;AAAA,EACtF;AACA,UAAQ,IAAI,aAAAA,QAAM,KAAK,QAAG,IAAI,MAAM,aAAAA,QAAM,KAAK,QAAQ,IAAI,IAAI,OAAO,EAAE,IAAI,aAAAA,QAAM,KAAK,QAAG,CAAC;AAC3F,UAAQ,IAAI,aAAAA,QAAM,KAAK,QAAG,IAAI,MAAM,IAAI,OAAO,EAAE,IAAI,aAAAA,QAAM,KAAK,QAAG,CAAC;AACpE,UAAQ;AAAA,IACN,aAAAA,QAAM,KAAK,QAAG,IACZ,MACA,aAAAA,QAAM,MAAM,QAAG,IACf,MACA,aAAAA,QAAM,MAAM,wBAAwB,IACpC,IAAI,OAAO,EAAE,IACb,aAAAA,QAAM,KAAK,QAAG;AAAA,EAClB;AACA,UAAQ,IAAI,aAAAA,QAAM,KAAK,QAAG,IAAI,MAAM,IAAI,OAAO,EAAE,IAAI,aAAAA,QAAM,KAAK,QAAG,CAAC;AACpE,UAAQ;AAAA,IACN,aAAAA,QAAM,KAAK,QAAG,IACZ,MACA,aAAAA,QAAM,IAAI,6BAA6B,IACvC,IAAI,OAAO,EAAE,IACb,aAAAA,QAAM,KAAK,QAAG;AAAA,EAClB;AACA,UAAQ,IAAI,aAAAA,QAAM,KAAK,QAAG,IAAI,MAAM,IAAI,OAAO,EAAE,IAAI,aAAAA,QAAM,KAAK,QAAG,CAAC;AACpE,UAAQ;AAAA,IACN,aAAAA,QAAM,KAAK,4aAAyE;AAAA,EACtF;AACA,UAAQ;AAAA,IACN,aAAAA,QAAM,KAAK,QAAG,IAAI,MAAM,aAAAA,QAAM,KAAK,gBAAgB,IAAI,IAAI,OAAO,EAAE,IAAI,aAAAA,QAAM,KAAK,QAAG;AAAA,EACxF;AACA,UAAQ,IAAI,aAAAA,QAAM,KAAK,QAAG,IAAI,MAAM,IAAI,OAAO,EAAE,IAAI,aAAAA,QAAM,KAAK,QAAG,CAAC;AACpE,UAAQ;AAAA,IACN,aAAAA,QAAM,KAAK,QAAG,IACZ,QACA,aAAAA,QAAM,MAAM,SAAS,IACrB,aAAAA,QAAM,KAAK,KAAK,IAChB,IAAI,OAAO,CAAC,IACZ,aAAAA,QAAM,MAAM,SAAS,IACrB,aAAAA,QAAM,KAAK,OAAO,IAClB,IAAI,OAAO,EAAE,IACb,aAAAA,QAAM,KAAK,QAAG;AAAA,EAClB;AACA,UAAQ;AAAA,IACN,aAAAA,QAAM,KAAK,QAAG,IACZ,QACA,aAAAA,QAAM,MAAM,cAAc,IAC1B,aAAAA,QAAM,MAAM,GAAG,IACf,IAAI,OAAO,CAAC,IACZ,aAAAA,QAAM,MAAM,SAAS,IACrB,aAAAA,QAAM,MAAM,GAAG,IACf,IAAI,OAAO,EAAE,IACb,aAAAA,QAAM,KAAK,QAAG;AAAA,EAClB;AACA,UAAQ,IAAI,aAAAA,QAAM,KAAK,QAAG,IAAI,MAAM,IAAI,OAAO,EAAE,IAAI,aAAAA,QAAM,KAAK,QAAG,CAAC;AACpE,UAAQ;AAAA,IACN,aAAAA,QAAM,KAAK,4aAAyE;AAAA,EACtF;AACA,UAAQ,IAAI,EAAE;AACd,UAAQ;AAAA,IACN,aAAAA,QAAM,IAAI,QAAQ,IAChB,aAAAA,QAAM,KAAK,QAAQ,IACnB,aAAAA,QAAM,IAAI,UAAU,IACpB,QACA,aAAAA,QAAM,IAAI,WAAW,IACrB,aAAAA,QAAM,MAAM,OAAO;AAAA,EACvB;AACA,UAAQ,IAAI,EAAE;AAChB;AAEA,SAAS,eAAe;AACtB,UAAQ,MAAM;AACd,UAAQ,IAAI,EAAE;AACd,UAAQ;AAAA,IACN,aAAAA,QAAM,KAAK,4aAAyE;AAAA,EACtF;AACA,UAAQ,IAAI,aAAAA,QAAM,KAAK,QAAG,IAAI,MAAM,aAAAA,QAAM,KAAK,MAAM,UAAU,IAAI,aAAAA,QAAM,KAAK,SAAI,CAAC;AACnF,UAAQ;AAAA,IACN,aAAAA,QAAM,KAAK,QAAG,IAAI,MAAM,aAAAA,QAAM,KAAK,gBAAgB,IAAI,IAAI,OAAO,EAAE,IAAI,aAAAA,QAAM,KAAK,QAAG;AAAA,EACxF;AACA,UAAQ;AAAA,IACN,aAAAA,QAAM,KAAK,4aAAyE;AAAA,EACtF;AACA,UAAQ,IAAI,aAAAA,QAAM,KAAK,QAAG,IAAI,MAAM,IAAI,OAAO,EAAE,IAAI,aAAAA,QAAM,KAAK,QAAG,CAAC;AACpE,UAAQ,IAAI,aAAAA,QAAM,KAAK,QAAG,IAAI,MAAM,aAAAA,QAAM,KAAK,aAAa,IAAI,IAAI,OAAO,EAAE,IAAI,aAAAA,QAAM,KAAK,QAAG,CAAC;AAChG,UAAQ,IAAI,aAAAA,QAAM,KAAK,QAAG,IAAI,MAAM,IAAI,OAAO,EAAE,IAAI,aAAAA,QAAM,KAAK,QAAG,CAAC;AACpE,UAAQ;AAAA,IACN,aAAAA,QAAM,KAAK,QAAG,IACZ,QACA,aAAAA,QAAM,MAAM,QAAG,IACf,MACA,aAAAA,QAAM,MAAM,wBAAwB,IACpC,IAAI,OAAO,EAAE,IACb,aAAAA,QAAM,KAAK,QAAG;AAAA,EAClB;AACA,UAAQ;AAAA,IACN,aAAAA,QAAM,KAAK,QAAG,IACZ,QACA,aAAAA,QAAM,MAAM,QAAG,IACf,MACA,aAAAA,QAAM,MAAM,kBAAkB,IAC9B,IAAI,OAAO,EAAE,IACb,aAAAA,QAAM,KAAK,QAAG;AAAA,EAClB;AACA,UAAQ;AAAA,IACN,aAAAA,QAAM,KAAK,QAAG,IACZ,QACA,aAAAA,QAAM,MAAM,QAAG,IACf,MACA,aAAAA,QAAM,MAAM,uBAAuB,IACnC,IAAI,OAAO,EAAE,IACb,aAAAA,QAAM,KAAK,QAAG;AAAA,EAClB;AACA,UAAQ;AAAA,IACN,aAAAA,QAAM,KAAK,QAAG,IACZ,QACA,aAAAA,QAAM,OAAO,QAAG,IAChB,MACA,aAAAA,QAAM,MAAM,UAAU,IACtB,IAAI,OAAO,EAAE,IACb,aAAAA,QAAM,KAAK,QAAG;AAAA,EAClB;AACA,UAAQ,IAAI,aAAAA,QAAM,KAAK,QAAG,IAAI,MAAM,IAAI,OAAO,EAAE,IAAI,aAAAA,QAAM,KAAK,QAAG,CAAC;AACpE,UAAQ;AAAA,IACN,aAAAA,QAAM,KAAK,QAAG,IACZ,SACA,aAAAA,QAAM,MAAM,SAAI,OAAO,EAAE,CAAC,IAC1B,aAAAA,QAAM,IAAI,SAAI,OAAO,EAAE,CAAC,IACxB,OACA,aAAAA,QAAM,MAAM,KAAK,IACjB,IAAI,OAAO,CAAC,IACZ,aAAAA,QAAM,KAAK,QAAG;AAAA,EAClB;AACA,UAAQ,IAAI,aAAAA,QAAM,KAAK,QAAG,IAAI,MAAM,IAAI,OAAO,EAAE,IAAI,aAAAA,QAAM,KAAK,QAAG,CAAC;AACpE,UAAQ;AAAA,IACN,aAAAA,QAAM,KAAK,4aAAyE;AAAA,EACtF;AACA,UAAQ;AAAA,IACN,aAAAA,QAAM,KAAK,QAAG,IAAI,MAAM,aAAAA,QAAM,KAAK,cAAc,IAAI,IAAI,OAAO,EAAE,IAAI,aAAAA,QAAM,KAAK,QAAG;AAAA,EACtF;AACA,UAAQ,IAAI,aAAAA,QAAM,KAAK,QAAG,IAAI,MAAM,IAAI,OAAO,EAAE,IAAI,aAAAA,QAAM,KAAK,QAAG,CAAC;AACpE,UAAQ,IAAI,aAAAA,QAAM,KAAK,QAAG,IAAI,MAAM,aAAAA,QAAM,KAAK,OAAO,IAAI,IAAI,OAAO,EAAE,IAAI,aAAAA,QAAM,KAAK,QAAG,CAAC;AAC1F,UAAQ;AAAA,IACN,aAAAA,QAAM,KAAK,QAAG,IACZ,MACA,aAAAA,QAAM,IAAI,8BAAe,IACzB,aAAAA,QAAM,IAAI,GAAG,IACb,aAAAA,QAAM,MAAM,SAAS,IACrB,aAAAA,QAAM,IAAI,GAAG,IACb,IAAI,OAAO,EAAE,IACb,aAAAA,QAAM,KAAK,QAAG;AAAA,EAClB;AACA,UAAQ,IAAI,aAAAA,QAAM,KAAK,QAAG,IAAI,MAAM,aAAAA,QAAM,IAAI,yBAAU,IAAI,IAAI,OAAO,EAAE,IAAI,aAAAA,QAAM,KAAK,QAAG,CAAC;AAC5F,UAAQ;AAAA,IACN,aAAAA,QAAM,KAAK,QAAG,IACZ,MACA,aAAAA,QAAM,IAAI,uCAAmB,IAC7B,aAAAA,QAAM,IAAI,GAAG,IACb,aAAAA,QAAM,MAAM,QAAQ,IACpB,aAAAA,QAAM,IAAI,GAAG,IACb,IAAI,OAAO,EAAE,IACb,aAAAA,QAAM,KAAK,QAAG;AAAA,EAClB;AACA,UAAQ,IAAI,aAAAA,QAAM,KAAK,QAAG,IAAI,MAAM,aAAAA,QAAM,IAAI,2BAAY,IAAI,IAAI,OAAO,EAAE,IAAI,aAAAA,QAAM,KAAK,QAAG,CAAC;AAC9F,UAAQ;AAAA,IACN,aAAAA,QAAM,KAAK,QAAG,IACZ,MACA,aAAAA,QAAM,IAAI,uCAAmB,IAC7B,aAAAA,QAAM,IAAI,GAAG,IACb,aAAAA,QAAM,MAAM,QAAQ,IACpB,aAAAA,QAAM,IAAI,GAAG,IACb,IAAI,OAAO,EAAE,IACb,aAAAA,QAAM,KAAK,QAAG;AAAA,EAClB;AACA,UAAQ;AAAA,IACN,aAAAA,QAAM,KAAK,QAAG,IACZ,MACA,aAAAA,QAAM,IAAI,4BAAa,IACvB,aAAAA,QAAM,IAAI,GAAG,IACb,aAAAA,QAAM,MAAM,QAAQ,IACpB,aAAAA,QAAM,IAAI,GAAG,IACb,IAAI,OAAO,EAAE,IACb,aAAAA,QAAM,KAAK,QAAG;AAAA,EAClB;AACA,UAAQ,IAAI,aAAAA,QAAM,KAAK,QAAG,IAAI,MAAM,IAAI,OAAO,EAAE,IAAI,aAAAA,QAAM,KAAK,QAAG,CAAC;AACpE,UAAQ;AAAA,IACN,aAAAA,QAAM,KAAK,4aAAyE;AAAA,EACtF;AACA,UAAQ;AAAA,IACN,aAAAA,QAAM,KAAK,QAAG,IAAI,MAAM,aAAAA,QAAM,KAAK,eAAe,IAAI,IAAI,OAAO,EAAE,IAAI,aAAAA,QAAM,KAAK,QAAG;AAAA,EACvF;AACA,UAAQ,IAAI,aAAAA,QAAM,KAAK,QAAG,IAAI,MAAM,IAAI,OAAO,EAAE,IAAI,aAAAA,QAAM,KAAK,QAAG,CAAC;AACpE,UAAQ;AAAA,IACN,aAAAA,QAAM,KAAK,QAAG,IACZ,QACA,aAAAA,QAAM,MAAM,YAAY,IACxB,aAAAA,QAAM,KAAK,MAAM,IACjB,IAAI,OAAO,EAAE,IACb,aAAAA,QAAM,KAAK,QAAG;AAAA,EAClB;AACA,UAAQ;AAAA,IACN,aAAAA,QAAM,KAAK,QAAG,IACZ,QACA,aAAAA,QAAM,MAAM,WAAW,IACvB,aAAAA,QAAM,MAAM,GAAG,IACf,IAAI,OAAO,EAAE,IACb,aAAAA,QAAM,KAAK,QAAG;AAAA,EAClB;AACA,UAAQ;AAAA,IACN,aAAAA,QAAM,KAAK,QAAG,IACZ,QACA,aAAAA,QAAM,MAAM,QAAQ,IACpB,aAAAA,QAAM,KAAK,SAAS,IACpB,IAAI,OAAO,EAAE,IACb,aAAAA,QAAM,KAAK,QAAG;AAAA,EAClB;AACA,UAAQ;AAAA,IACN,aAAAA,QAAM,KAAK,QAAG,IACZ,QACA,aAAAA,QAAM,MAAM,UAAU,IACtB,aAAAA,QAAM,MAAM,gBAAW,IACvB,IAAI,OAAO,EAAE,IACb,aAAAA,QAAM,KAAK,QAAG;AAAA,EAClB;AACA,UAAQ,IAAI,aAAAA,QAAM,KAAK,QAAG,IAAI,MAAM,IAAI,OAAO,EAAE,IAAI,aAAAA,QAAM,KAAK,QAAG,CAAC;AACpE,UAAQ;AAAA,IACN,aAAAA,QAAM,KAAK,4aAAyE;AAAA,EACtF;AACA,UAAQ,IAAI,EAAE;AAChB;AAEA,SAAS,YAAY,aAAqB;AACxC,UAAQ,MAAM;AACd,UAAQ,IAAI,EAAE;AACd,UAAQ;AAAA,IACN,aAAAA,QAAM,KAAK,4aAAyE;AAAA,EACtF;AACA,UAAQ,IAAI,aAAAA,QAAM,KAAK,QAAG,IAAI,MAAM,aAAAA,QAAM,KAAK,MAAM,UAAU,IAAI,aAAAA,QAAM,KAAK,QAAG,CAAC;AAClF,UAAQ;AAAA,IACN,aAAAA,QAAM,KAAK,QAAG,IAAI,MAAM,aAAAA,QAAM,KAAK,eAAe,IAAI,IAAI,OAAO,EAAE,IAAI,aAAAA,QAAM,KAAK,QAAG;AAAA,EACvF;AACA,UAAQ;AAAA,IACN,aAAAA,QAAM,KAAK,4aAAyE;AAAA,EACtF;AACA,UAAQ,IAAI,aAAAA,QAAM,KAAK,QAAG,IAAI,MAAM,IAAI,OAAO,EAAE,IAAI,aAAAA,QAAM,KAAK,QAAG,CAAC;AACpE,UAAQ;AAAA,IACN,aAAAA,QAAM,KAAK,QAAG,IAAI,MAAM,aAAAA,QAAM,KAAK,uBAAuB,IAAI,IAAI,OAAO,EAAE,IAAI,aAAAA,QAAM,KAAK,QAAG;AAAA,EAC/F;AACA,UAAQ,IAAI,aAAAA,QAAM,KAAK,QAAG,IAAI,MAAM,IAAI,OAAO,EAAE,IAAI,aAAAA,QAAM,KAAK,QAAG,CAAC;AACpE,UAAQ;AAAA,IACN,aAAAA,QAAM,KAAK,QAAG,IACZ,QACA,aAAAA,QAAM,KAAK,QAAG,IACd,MACA,aAAAA,QAAM,MAAM,gBAAgB,IAC5B,aAAAA,QAAM,MAAM,WAAW,IACvB,IAAI,OAAO,EAAE,IACb,aAAAA,QAAM,KAAK,QAAG;AAAA,EAClB;AACA,UAAQ;AAAA,IACN,aAAAA,QAAM,KAAK,QAAG,IACZ,QACA,aAAAA,QAAM,MAAM,QAAG,IACf,MACA,aAAAA,QAAM,MAAM,WAAW,IACvB,aAAAA,QAAM,KAAK,eAAe,IAC1B,IAAI,OAAO,EAAE,IACb,aAAAA,QAAM,KAAK,QAAG;AAAA,EAClB;AACA,UAAQ;AAAA,IACN,aAAAA,QAAM,KAAK,QAAG,IACZ,QACA,aAAAA,QAAM,MAAM,QAAG,IACf,MACA,aAAAA,QAAM,MAAM,YAAY,IACxB,aAAAA,QAAM,KAAK,SAAS,IACpB,IAAI,OAAO,EAAE,IACb,aAAAA,QAAM,KAAK,QAAG;AAAA,EAClB;AACA,UAAQ,IAAI,aAAAA,QAAM,KAAK,QAAG,IAAI,MAAM,IAAI,OAAO,EAAE,IAAI,aAAAA,QAAM,KAAK,QAAG,CAAC;AACpE,UAAQ;AAAA,IACN,aAAAA,QAAM,KAAK,QAAG,IAAI,MAAM,aAAAA,QAAM,KAAK,mBAAmB,IAAI,IAAI,OAAO,EAAE,IAAI,aAAAA,QAAM,KAAK,QAAG;AAAA,EAC3F;AACA,UAAQ,IAAI,aAAAA,QAAM,KAAK,QAAG,IAAI,MAAM,IAAI,OAAO,EAAE,IAAI,aAAAA,QAAM,KAAK,QAAG,CAAC;AACpE,UAAQ,IAAI,aAAAA,QAAM,KAAK,QAAG,IAAI,MAAM,aAAAA,QAAM,KAAK,MAAM,IAAI,IAAI,OAAO,EAAE,IAAI,aAAAA,QAAM,KAAK,QAAG,CAAC;AACzF,UAAQ;AAAA,IACN,aAAAA,QAAM,KAAK,QAAG,IAAI,MAAM,aAAAA,QAAM,IAAI,gCAAiB,IAAI,IAAI,OAAO,EAAE,IAAI,aAAAA,QAAM,KAAK,QAAG;AAAA,EACxF;AACA,UAAQ;AAAA,IACN,aAAAA,QAAM,KAAK,QAAG,IAAI,MAAM,aAAAA,QAAM,IAAI,qCAAiB,IAAI,IAAI,OAAO,EAAE,IAAI,aAAAA,QAAM,KAAK,QAAG;AAAA,EACxF;AACA,UAAQ;AAAA,IACN,aAAAA,QAAM,KAAK,QAAG,IAAI,MAAM,aAAAA,QAAM,IAAI,sCAAkB,IAAI,IAAI,OAAO,EAAE,IAAI,aAAAA,QAAM,KAAK,QAAG;AAAA,EACzF;AACA,UAAQ;AAAA,IACN,aAAAA,QAAM,KAAK,QAAG,IAAI,MAAM,aAAAA,QAAM,IAAI,wCAAoB,IAAI,IAAI,OAAO,EAAE,IAAI,aAAAA,QAAM,KAAK,QAAG;AAAA,EAC3F;AACA,UAAQ,IAAI,aAAAA,QAAM,KAAK,QAAG,IAAI,MAAM,aAAAA,QAAM,IAAI,iCAAa,IAAI,IAAI,OAAO,EAAE,IAAI,aAAAA,QAAM,KAAK,QAAG,CAAC;AAC/F,UAAQ,IAAI,aAAAA,QAAM,KAAK,QAAG,IAAI,MAAM,aAAAA,QAAM,IAAI,2BAAY,IAAI,IAAI,OAAO,EAAE,IAAI,aAAAA,QAAM,KAAK,QAAG,CAAC;AAC9F,UAAQ;AAAA,IACN,aAAAA,QAAM,KAAK,QAAG,IAAI,MAAM,aAAAA,QAAM,IAAI,8BAAe,IAAI,IAAI,OAAO,EAAE,IAAI,aAAAA,QAAM,KAAK,QAAG;AAAA,EACtF;AACA,UAAQ,IAAI,aAAAA,QAAM,KAAK,QAAG,IAAI,MAAM,aAAAA,QAAM,IAAI,4BAAa,IAAI,IAAI,OAAO,EAAE,IAAI,aAAAA,QAAM,KAAK,QAAG,CAAC;AAC/F,UAAQ,IAAI,aAAAA,QAAM,KAAK,QAAG,IAAI,MAAM,aAAAA,QAAM,IAAI,6BAAc,IAAI,IAAI,OAAO,EAAE,IAAI,aAAAA,QAAM,KAAK,QAAG,CAAC;AAChG,UAAQ;AAAA,IACN,aAAAA,QAAM,KAAK,QAAG,IAAI,MAAM,aAAAA,QAAM,IAAI,iCAAkB,IAAI,IAAI,OAAO,EAAE,IAAI,aAAAA,QAAM,KAAK,QAAG;AAAA,EACzF;AACA,UAAQ,IAAI,aAAAA,QAAM,KAAK,QAAG,IAAI,MAAM,IAAI,OAAO,EAAE,IAAI,aAAAA,QAAM,KAAK,QAAG,CAAC;AACpE,UAAQ;AAAA,IACN,aAAAA,QAAM,KAAK,4aAAyE;AAAA,EACtF;AACA,UAAQ,IAAI,aAAAA,QAAM,KAAK,QAAG,IAAI,MAAM,aAAAA,QAAM,KAAK,YAAY,IAAI,IAAI,OAAO,EAAE,IAAI,aAAAA,QAAM,KAAK,QAAG,CAAC;AAC/F,UAAQ,IAAI,aAAAA,QAAM,KAAK,QAAG,IAAI,MAAM,IAAI,OAAO,EAAE,IAAI,aAAAA,QAAM,KAAK,QAAG,CAAC;AACpE,UAAQ;AAAA,IACN,aAAAA,QAAM,KAAK,QAAG,IACZ,QACA,aAAAA,QAAM,KAAK,IAAI,IACf,MACA,aAAAA,QAAM,MAAM,QAAQ,WAAW,IAC/B,IAAI,OAAO,EAAE,IACb,aAAAA,QAAM,KAAK,QAAG;AAAA,EAClB;AACA,UAAQ;AAAA,IACN,aAAAA,QAAM,KAAK,QAAG,IACZ,QACA,aAAAA,QAAM,KAAK,IAAI,IACf,MACA,aAAAA,QAAM,MAAM,aAAa,IACzB,IAAI,OAAO,EAAE,IACb,aAAAA,QAAM,KAAK,QAAG;AAAA,EAClB;AACA,UAAQ;AAAA,IACN,aAAAA,QAAM,KAAK,QAAG,IACZ,QACA,aAAAA,QAAM,KAAK,IAAI,IACf,MACA,aAAAA,QAAM,MAAM,aAAa,IACzB,IAAI,OAAO,EAAE,IACb,aAAAA,QAAM,KAAK,QAAG;AAAA,EAClB;AACA,UAAQ;AAAA,IACN,aAAAA,QAAM,KAAK,QAAG,IACZ,QACA,aAAAA,QAAM,KAAK,IAAI,IACf,MACA,aAAAA,QAAM,MAAM,iBAAiB,IAC7B,IAAI,OAAO,EAAE,IACb,aAAAA,QAAM,KAAK,QAAG;AAAA,EAClB;AACA,UAAQ,IAAI,aAAAA,QAAM,KAAK,QAAG,IAAI,MAAM,IAAI,OAAO,EAAE,IAAI,aAAAA,QAAM,KAAK,QAAG,CAAC;AACpE,UAAQ;AAAA,IACN,aAAAA,QAAM,KAAK,4aAAyE;AAAA,EACtF;AACA,UAAQ,IAAI,EAAE;AAChB;AAEA,SAAS,WAAW,aAAqB;AACvC,UAAQ,MAAM;AACd,UAAQ,IAAI,EAAE;AACd,UAAQ;AAAA,IACN,aAAAA,QAAM,KAAK,4aAAyE;AAAA,EACtF;AACA,UAAQ,IAAI,aAAAA,QAAM,KAAK,QAAG,IAAI,MAAM,aAAAA,QAAM,KAAK,MAAM,UAAU,IAAI,aAAAA,QAAM,KAAK,SAAI,CAAC;AACnF,UAAQ;AAAA,IACN,aAAAA,QAAM,KAAK,QAAG,IAAI,MAAM,aAAAA,QAAM,KAAK,gBAAgB,IAAI,IAAI,OAAO,EAAE,IAAI,aAAAA,QAAM,KAAK,QAAG;AAAA,EACxF;AACA,UAAQ;AAAA,IACN,aAAAA,QAAM,KAAK,4aAAyE;AAAA,EACtF;AACA,UAAQ,IAAI,aAAAA,QAAM,KAAK,QAAG,IAAI,MAAM,IAAI,OAAO,EAAE,IAAI,aAAAA,QAAM,KAAK,QAAG,CAAC;AACpE,UAAQ;AAAA,IACN,aAAAA,QAAM,KAAK,QAAG,IACZ,MACA,aAAAA,QAAM,KAAK,WAAW,IACtB,aAAAA,QAAM,KAAK,WAAW,IACtB,IAAI,OAAO,EAAE,IACb,aAAAA,QAAM,KAAK,QAAG;AAAA,EAClB;AACA,UAAQ,IAAI,aAAAA,QAAM,KAAK,QAAG,IAAI,MAAM,IAAI,OAAO,EAAE,IAAI,aAAAA,QAAM,KAAK,QAAG,CAAC;AAEpE,QAAM,WAAW;AAAA,IACf;AAAA,MACE,MAAM;AAAA,MACN,OAAO;AAAA,MACP,MAAM;AAAA,MACN,MAAM,CAAC,YAAY,OAAO;AAAA,IAC5B;AAAA,IACA,EAAE,MAAM,QAAQ,OAAO,QAAQ,MAAM,kCAAkC,MAAM,CAAC,UAAU,EAAE;AAAA,IAC1F;AAAA,MACE,MAAM;AAAA,MACN,OAAO;AAAA,MACP,MAAM;AAAA,MACN,MAAM,CAAC,eAAe,OAAO;AAAA,IAC/B;AAAA,IACA;AAAA,MACE,MAAM;AAAA,MACN,OAAO;AAAA,MACP,MAAM;AAAA,MACN,MAAM,CAAC,QAAQ,UAAU;AAAA,IAC3B;AAAA,EACF;AAEA,WAAS,QAAQ,CAAC,IAAI,MAAM;AAC1B,UAAM,YAAY,GAAG,SAAS;AAC9B,UAAM,SAAS,YAAY,aAAAA,QAAM,MAAM,QAAG,IAAI,aAAAA,QAAM,IAAI,QAAG;AAC3D,UAAM,SAAS,YAAY,aAAAA,QAAM,KAAK,QAAG,IAAI,aAAAA,QAAM,IAAI,GAAG;AAC1D,YAAQ;AAAA,MACN,aAAAA,QAAM,KAAK,QAAG,IACZ,MACA,SACA,MACA,SACA,MACA,aAAAA,QAAM,MAAM,GAAG,IAAI,IACnB,IAAI,OAAO,EAAE,IACb,aAAAA,QAAM,KAAK,QAAG;AAAA,IAClB;AACA,YAAQ,IAAI,aAAAA,QAAM,KAAK,QAAG,IAAI,QAAQ,aAAAA,QAAM,IAAI,GAAG,IAAI,IAAI,IAAI,OAAO,EAAE,IAAI,aAAAA,QAAM,KAAK,QAAG,CAAC;AAC3F,QAAI,IAAI,SAAS,SAAS,GAAG;AAC3B,cAAQ,IAAI,aAAAA,QAAM,KAAK,QAAG,IAAI,MAAM,IAAI,OAAO,EAAE,IAAI,aAAAA,QAAM,KAAK,QAAG,CAAC;AAAA,IACtE;AAAA,EACF,CAAC;AAED,UAAQ,IAAI,aAAAA,QAAM,KAAK,QAAG,IAAI,MAAM,IAAI,OAAO,EAAE,IAAI,aAAAA,QAAM,KAAK,QAAG,CAAC;AACpE,UAAQ;AAAA,IACN,aAAAA,QAAM,KAAK,4aAAyE;AAAA,EACtF;AACA,UAAQ,IAAI,aAAAA,QAAM,KAAK,QAAG,IAAI,MAAM,aAAAA,QAAM,KAAK,UAAU,IAAI,IAAI,OAAO,EAAE,IAAI,aAAAA,QAAM,KAAK,QAAG,CAAC;AAC7F,UAAQ,IAAI,aAAAA,QAAM,KAAK,QAAG,IAAI,MAAM,IAAI,OAAO,EAAE,IAAI,aAAAA,QAAM,KAAK,QAAG,CAAC;AACpE,UAAQ;AAAA,IACN,aAAAA,QAAM,KAAK,QAAG,IACZ,QACA,aAAAA,QAAM,KAAK,eAAK,IAChB,MACA,aAAAA,QAAM,MAAM,UAAU,IACtB,IAAI,OAAO,EAAE,IACb,aAAAA,QAAM,KAAK,QAAG;AAAA,EAClB;AACA,UAAQ;AAAA,IACN,aAAAA,QAAM,KAAK,QAAG,IACZ,QACA,aAAAA,QAAM,KAAK,GAAG,IACd,QACA,aAAAA,QAAM,MAAM,MAAM,IAClB,IAAI,OAAO,EAAE,IACb,aAAAA,QAAM,KAAK,QAAG;AAAA,EAClB;AACA,UAAQ;AAAA,IACN,aAAAA,QAAM,KAAK,QAAG,IACZ,QACA,aAAAA,QAAM,KAAK,GAAG,IACd,QACA,aAAAA,QAAM,MAAM,SAAS,IACrB,IAAI,OAAO,EAAE,IACb,aAAAA,QAAM,KAAK,QAAG;AAAA,EAClB;AACA,UAAQ,IAAI,aAAAA,QAAM,KAAK,QAAG,IAAI,MAAM,IAAI,OAAO,EAAE,IAAI,aAAAA,QAAM,KAAK,QAAG,CAAC;AACpE,UAAQ;AAAA,IACN,aAAAA,QAAM,KAAK,4aAAyE;AAAA,EACtF;AACA,UAAQ,IAAI,aAAAA,QAAM,KAAK,QAAG,IAAI,MAAM,aAAAA,QAAM,KAAK,QAAQ,IAAI,IAAI,OAAO,EAAE,IAAI,aAAAA,QAAM,KAAK,QAAG,CAAC;AAC3F,UAAQ,IAAI,aAAAA,QAAM,KAAK,QAAG,IAAI,MAAM,IAAI,OAAO,EAAE,IAAI,aAAAA,QAAM,KAAK,QAAG,CAAC;AACpE,UAAQ;AAAA,IACN,aAAAA,QAAM,KAAK,QAAG,IACZ,MACA,aAAAA,QAAM,MAAM,QAAG,IACf,MACA,aAAAA,QAAM,MAAM,8BAA8B,IAC1C,IAAI,OAAO,EAAE,IACb,aAAAA,QAAM,KAAK,QAAG;AAAA,EAClB;AACA,UAAQ,IAAI,aAAAA,QAAM,KAAK,QAAG,IAAI,MAAM,IAAI,OAAO,EAAE,IAAI,aAAAA,QAAM,KAAK,QAAG,CAAC;AACpE,UAAQ;AAAA,IACN,aAAAA,QAAM,KAAK,QAAG,IACZ,MACA,aAAAA,QAAM,IAAI,yCAAyC,IACnD,IAAI,OAAO,EAAE,IACb,aAAAA,QAAM,KAAK,QAAG;AAAA,EAClB;AACA,UAAQ,IAAI,aAAAA,QAAM,KAAK,QAAG,IAAI,MAAM,IAAI,OAAO,EAAE,IAAI,aAAAA,QAAM,KAAK,QAAG,CAAC;AACpE,UAAQ;AAAA,IACN,aAAAA,QAAM,KAAK,4aAAyE;AAAA,EACtF;AACA,UAAQ,IAAI,EAAE;AAChB;AAEA,SAAS,kBAAkB;AACzB,UAAQ,MAAM;AACd,UAAQ,IAAI,EAAE;AACd,UAAQ;AAAA,IACN,aAAAA,QAAM,KAAK,4aAAyE;AAAA,EACtF;AACA,UAAQ,IAAI,aAAAA,QAAM,KAAK,QAAG,IAAI,MAAM,aAAAA,QAAM,KAAK,MAAM,UAAU,IAAI,aAAAA,QAAM,KAAK,SAAI,CAAC;AACnF,UAAQ;AAAA,IACN,aAAAA,QAAM,KAAK,QAAG,IAAI,MAAM,aAAAA,QAAM,KAAK,iBAAiB,IAAI,IAAI,OAAO,EAAE,IAAI,aAAAA,QAAM,KAAK,QAAG;AAAA,EACzF;AACA,UAAQ;AAAA,IACN,aAAAA,QAAM,KAAK,4aAAyE;AAAA,EACtF;AACA,UAAQ,IAAI,aAAAA,QAAM,KAAK,QAAG,IAAI,MAAM,IAAI,OAAO,EAAE,IAAI,aAAAA,QAAM,KAAK,QAAG,CAAC;AAEpE,QAAM,WAAW;AAAA,IACf;AAAA,MACE,MAAM;AAAA,MACN,OAAO;AAAA,MACP,MAAM;AAAA,MACN,MAAM,CAAC,YAAY,OAAO;AAAA,IAC5B;AAAA,IACA,EAAE,MAAM,QAAQ,OAAO,QAAQ,MAAM,kCAAkC,MAAM,CAAC,UAAU,EAAE;AAAA,IAC1F;AAAA,MACE,MAAM;AAAA,MACN,OAAO;AAAA,MACP,MAAM;AAAA,MACN,MAAM,CAAC,eAAe,OAAO;AAAA,IAC/B;AAAA,EACF;AAEA,WAAS,QAAQ,CAAC,IAAI,MAAM;AAC1B,UAAM,SAAS,MAAM,IAAI,aAAAA,QAAM,KAAK,QAAG,IAAI,aAAAA,QAAM,IAAI,QAAG;AACxD,UAAM,OAAO,GAAG,KAAK,IAAI,CAAC,MAAM,aAAAA,QAAM,IAAI,GAAG,IAAI,aAAAA,QAAM,KAAK,CAAC,IAAI,aAAAA,QAAM,IAAI,GAAG,CAAC,EAAE,KAAK,GAAG;AACzF,YAAQ;AAAA,MACN,aAAAA,QAAM,KAAK,QAAG,IACZ,MACA,SACA,MACA,aAAAA,QAAM,KAAK,GAAG,IAAI,IAClB,QACA,aAAAA,QAAM,MAAM,GAAG,KAAK,IACpB,IAAI,OAAO,EAAE,IACb,aAAAA,QAAM,KAAK,QAAG;AAAA,IAClB;AACA,YAAQ;AAAA,MACN,aAAAA,QAAM,KAAK,QAAG,IACZ,UACA,aAAAA,QAAM,IAAI,GAAG,IAAI,IACjB,IAAI,OAAO,EAAE,IACb,OACA,IAAI,OAAO,CAAC,IACZ,aAAAA,QAAM,KAAK,QAAG;AAAA,IAClB;AACA,YAAQ,IAAI,aAAAA,QAAM,KAAK,QAAG,IAAI,MAAM,IAAI,OAAO,EAAE,IAAI,aAAAA,QAAM,KAAK,QAAG,CAAC;AAAA,EACtE,CAAC;AAED,UAAQ,IAAI,aAAAA,QAAM,KAAK,QAAG,IAAI,MAAM,IAAI,OAAO,EAAE,IAAI,aAAAA,QAAM,KAAK,QAAG,CAAC;AACpE,UAAQ;AAAA,IACN,aAAAA,QAAM,KAAK,4aAAyE;AAAA,EACtF;AACA,UAAQ,IAAI,aAAAA,QAAM,KAAK,QAAG,IAAI,MAAM,aAAAA,QAAM,KAAK,UAAU,IAAI,IAAI,OAAO,EAAE,IAAI,aAAAA,QAAM,KAAK,QAAG,CAAC;AAC7F,UAAQ,IAAI,aAAAA,QAAM,KAAK,QAAG,IAAI,MAAM,IAAI,OAAO,EAAE,IAAI,aAAAA,QAAM,KAAK,QAAG,CAAC;AACpE,UAAQ;AAAA,IACN,aAAAA,QAAM,KAAK,QAAG,IAAI,QAAQ,aAAAA,QAAM,KAAK,qBAAqB,IAAI,IAAI,OAAO,EAAE,IAAI,aAAAA,QAAM,KAAK,QAAG;AAAA,EAC/F;AACA,UAAQ;AAAA,IACN,aAAAA,QAAM,KAAK,QAAG,IAAI,QAAQ,aAAAA,QAAM,KAAK,kBAAkB,IAAI,IAAI,OAAO,EAAE,IAAI,aAAAA,QAAM,KAAK,QAAG;AAAA,EAC5F;AACA,UAAQ;AAAA,IACN,aAAAA,QAAM,KAAK,QAAG,IAAI,QAAQ,aAAAA,QAAM,KAAK,mBAAmB,IAAI,IAAI,OAAO,EAAE,IAAI,aAAAA,QAAM,KAAK,QAAG;AAAA,EAC7F;AACA,UAAQ,IAAI,aAAAA,QAAM,KAAK,QAAG,IAAI,MAAM,IAAI,OAAO,EAAE,IAAI,aAAAA,QAAM,KAAK,QAAG,CAAC;AACpE,UAAQ,IAAI,aAAAA,QAAM,KAAK,QAAG,IAAI,MAAM,aAAAA,QAAM,KAAK,WAAW,IAAI,IAAI,OAAO,EAAE,IAAI,aAAAA,QAAM,KAAK,QAAG,CAAC;AAC9F,UAAQ,IAAI,aAAAA,QAAM,KAAK,QAAG,IAAI,MAAM,IAAI,OAAO,EAAE,IAAI,aAAAA,QAAM,KAAK,QAAG,CAAC;AACpE,UAAQ;AAAA,IACN,aAAAA,QAAM,KAAK,QAAG,IACZ,QACA,aAAAA,QAAM,KAAK,GAAG,IACd,MACA,aAAAA,QAAM,KAAK,GAAG,IACd,MACA,aAAAA,QAAM,MAAM,mBAAmB,IAC/B,IAAI,OAAO,EAAE,IACb,aAAAA,QAAM,KAAK,QAAG;AAAA,EAClB;AACA,UAAQ;AAAA,IACN,aAAAA,QAAM,KAAK,QAAG,IACZ,QACA,aAAAA,QAAM,KAAK,OAAO,IAClB,MACA,aAAAA,QAAM,MAAM,cAAc,IAC1B,IAAI,OAAO,EAAE,IACb,aAAAA,QAAM,KAAK,QAAG;AAAA,EAClB;AACA,UAAQ;AAAA,IACN,aAAAA,QAAM,KAAK,QAAG,IACZ,QACA,aAAAA,QAAM,KAAK,GAAG,IACd,MACA,aAAAA,QAAM,MAAM,MAAM,IAClB,IAAI,OAAO,EAAE,IACb,aAAAA,QAAM,KAAK,QAAG;AAAA,EAClB;AACA,UAAQ,IAAI,aAAAA,QAAM,KAAK,QAAG,IAAI,MAAM,IAAI,OAAO,EAAE,IAAI,aAAAA,QAAM,KAAK,QAAG,CAAC;AACpE,UAAQ;AAAA,IACN,aAAAA,QAAM,KAAK,4aAAyE;AAAA,EACtF;AACA,UAAQ,IAAI,EAAE;AAChB;","names":["__filename","path","fs","chalk"]}
|
package/dist/cli/index.js
CHANGED
|
@@ -18,47 +18,132 @@ var init_esm_shims = __esm({
|
|
|
18
18
|
}
|
|
19
19
|
});
|
|
20
20
|
|
|
21
|
-
// src/examples/
|
|
22
|
-
var
|
|
21
|
+
// src/examples/cli-use-demo.tsx
|
|
22
|
+
var cli_use_demo_exports = {};
|
|
23
23
|
import { useState } from "react";
|
|
24
24
|
import { render, Box, Text, useInput } from "ink";
|
|
25
25
|
import { jsx, jsxs } from "react/jsx-runtime";
|
|
26
|
-
var
|
|
27
|
-
var
|
|
28
|
-
"src/examples/
|
|
26
|
+
var CLAUDE_ORANGE, FOOTER_TEXT, FOOTER_HIGHLIGHT, LOGO_TEXT, Splash, Chat, App;
|
|
27
|
+
var init_cli_use_demo = __esm({
|
|
28
|
+
"src/examples/cli-use-demo.tsx"() {
|
|
29
29
|
"use strict";
|
|
30
30
|
init_esm_shims();
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
31
|
+
CLAUDE_ORANGE = "#D97757";
|
|
32
|
+
FOOTER_TEXT = "#708090";
|
|
33
|
+
FOOTER_HIGHLIGHT = "#FFFFFF";
|
|
34
|
+
LOGO_TEXT = `
|
|
35
|
+
\u2588\u2588\u2588\u2588\u2588\u2588\u2557\u2588\u2588\u2557 \u2588\u2588\u2557
|
|
36
|
+
\u2588\u2588\u2554\u2550\u2550\u2550\u2550\u255D\u2588\u2588\u2551 \u2588\u2588\u2551
|
|
37
|
+
\u2588\u2588\u2551 \u2588\u2588\u2551 \u2588\u2588\u2551
|
|
38
|
+
\u2588\u2588\u2551 \u2588\u2588\u2551 \u2588\u2588\u2551
|
|
39
|
+
\u255A\u2588\u2588\u2588\u2588\u2588\u2588\u2557\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2557\u2588\u2588\u2551
|
|
40
|
+
\u255A\u2550\u2550\u2550\u2550\u2550\u255D\u255A\u2550\u2550\u2550\u2550\u2550\u2550\u255D\u255A\u2550\u255D
|
|
41
|
+
\u2588\u2588\u2588\u2588\u2588\u2588\u2557 \u2588\u2588\u2588\u2588\u2588\u2588\u2557 \u2588\u2588\u2588\u2588\u2588\u2588\u2557 \u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2557
|
|
42
|
+
\u2588\u2588\u2554\u2550\u2550\u2550\u2550\u255D\u2588\u2588\u2554\u2550\u2550\u2550\u2588\u2588\u2557\u2588\u2588\u2554\u2550\u2550\u2588\u2588\u2557\u2588\u2588\u2554\u2550\u2550\u2550\u2550\u255D
|
|
43
|
+
\u2588\u2588\u2551 \u2588\u2588\u2551 \u2588\u2588\u2551\u2588\u2588\u2551 \u2588\u2588\u2551\u2588\u2588\u2588\u2588\u2588\u2557
|
|
44
|
+
\u2588\u2588\u2551 \u2588\u2588\u2551 \u2588\u2588\u2551\u2588\u2588\u2551 \u2588\u2588\u2551\u2588\u2588\u2554\u2550\u2550\u255D
|
|
45
|
+
\u255A\u2588\u2588\u2588\u2588\u2588\u2588\u2557\u255A\u2588\u2588\u2588\u2588\u2588\u2588\u2554\u255D\u2588\u2588\u2588\u2588\u2588\u2588\u2554\u255D\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2557
|
|
46
|
+
\u255A\u2550\u2550\u2550\u2550\u2550\u255D \u255A\u2550\u2550\u2550\u2550\u2550\u255D \u255A\u2550\u2550\u2550\u2550\u2550\u255D \u255A\u2550\u2550\u2550\u2550\u2550\u2550\u255D
|
|
47
|
+
`;
|
|
48
|
+
Splash = ({ input }) => {
|
|
49
|
+
return /* @__PURE__ */ jsxs(Box, { flexDirection: "column", alignItems: "center", height: "100%", justifyContent: "space-between", children: [
|
|
50
|
+
/* @__PURE__ */ jsx(Box, { marginTop: 2, marginBottom: 1, children: /* @__PURE__ */ jsx(Box, { borderStyle: "round", borderColor: CLAUDE_ORANGE, paddingX: 2, children: /* @__PURE__ */ jsx(Text, { color: CLAUDE_ORANGE, bold: true, children: "Welcome to the Claude Code research preview!" }) }) }),
|
|
51
|
+
/* @__PURE__ */ jsx(Box, { marginBottom: 2, children: /* @__PURE__ */ jsx(Text, { color: CLAUDE_ORANGE, children: LOGO_TEXT }) }),
|
|
52
|
+
/* @__PURE__ */ jsx(
|
|
53
|
+
Box,
|
|
54
|
+
{
|
|
55
|
+
width: "100%",
|
|
56
|
+
borderStyle: "single",
|
|
57
|
+
borderColor: "gray",
|
|
58
|
+
paddingX: 1,
|
|
59
|
+
marginBottom: 1,
|
|
60
|
+
children: /* @__PURE__ */ jsxs(Text, { color: "white", bold: true, children: [
|
|
61
|
+
">",
|
|
62
|
+
" ",
|
|
63
|
+
input,
|
|
64
|
+
"_"
|
|
65
|
+
] })
|
|
66
|
+
}
|
|
67
|
+
),
|
|
68
|
+
/* @__PURE__ */ jsx(Box, { marginBottom: 2, children: /* @__PURE__ */ jsxs(Text, { color: FOOTER_TEXT, children: [
|
|
69
|
+
"\u{1F389} Login successful. Press",
|
|
70
|
+
" ",
|
|
71
|
+
/* @__PURE__ */ jsx(Text, { color: FOOTER_HIGHLIGHT, bold: true, children: "Enter" }),
|
|
72
|
+
" ",
|
|
73
|
+
"to continue"
|
|
74
|
+
] }) })
|
|
75
|
+
] });
|
|
76
|
+
};
|
|
77
|
+
Chat = ({ messages, input }) => {
|
|
78
|
+
return /* @__PURE__ */ jsxs(Box, { flexDirection: "column", height: "100%", children: [
|
|
79
|
+
/* @__PURE__ */ jsx(Box, { flexDirection: "column", flexGrow: 1, children: messages.map((msg, i) => /* @__PURE__ */ jsx(Box, { flexDirection: "column", marginLeft: msg.type === "output" ? 2 : 0, children: /* @__PURE__ */ jsxs(Box, { children: [
|
|
80
|
+
/* @__PURE__ */ jsx(
|
|
81
|
+
Text,
|
|
82
|
+
{
|
|
83
|
+
color: msg.type === "user" ? "cyan" : msg.type === "thinking" ? "yellow" : msg.type === "tool" ? "blue" : msg.type === "system" ? "magenta" : "gray",
|
|
84
|
+
bold: msg.type === "user",
|
|
85
|
+
children: msg.symbol
|
|
86
|
+
}
|
|
87
|
+
),
|
|
88
|
+
/* @__PURE__ */ jsxs(Text, { color: msg.type === "output" ? "gray" : "white", children: [
|
|
89
|
+
" ",
|
|
90
|
+
msg.content
|
|
91
|
+
] })
|
|
92
|
+
] }) }, i)) }),
|
|
93
|
+
/* @__PURE__ */ jsx(Box, { borderStyle: "single", borderColor: "gray", paddingX: 1, marginTop: 1, children: /* @__PURE__ */ jsxs(Text, { color: "white", bold: true, children: [
|
|
94
|
+
">",
|
|
95
|
+
" ",
|
|
96
|
+
input,
|
|
97
|
+
"_"
|
|
98
|
+
] }) })
|
|
99
|
+
] });
|
|
100
|
+
};
|
|
101
|
+
App = () => {
|
|
102
|
+
const [mode, setMode] = useState("splash");
|
|
103
|
+
const [input, setInput] = useState("");
|
|
104
|
+
const [messages, setMessages] = useState([
|
|
105
|
+
{ type: "system", symbol: "*", content: "Welcome to CLI CODE." },
|
|
106
|
+
{ type: "system", symbol: "*", content: "I am ready to assist. Type anything to chat." }
|
|
107
|
+
]);
|
|
108
|
+
useInput((keyInput, key) => {
|
|
109
|
+
if (key.escape || key.ctrl && keyInput === "c") {
|
|
35
110
|
process.exit(0);
|
|
36
111
|
}
|
|
37
112
|
if (key.return) {
|
|
38
|
-
|
|
113
|
+
if (mode === "splash") {
|
|
114
|
+
setMode("chat");
|
|
115
|
+
if (input.trim()) {
|
|
116
|
+
addMessage("user", ">", input);
|
|
117
|
+
addMessage("thinking", "\u23FA", "Processing...");
|
|
118
|
+
setTimeout(() => {
|
|
119
|
+
addMessage("output", "\u23BF", "This is a simulated response in the cli-use demo.");
|
|
120
|
+
}, 1e3);
|
|
121
|
+
setInput("");
|
|
122
|
+
}
|
|
123
|
+
} else {
|
|
124
|
+
if (input.trim()) {
|
|
125
|
+
addMessage("user", ">", input);
|
|
126
|
+
addMessage("thinking", "\u23FA", "Processing...");
|
|
127
|
+
setTimeout(() => {
|
|
128
|
+
addMessage("output", "\u23BF", "This is a simulated response in the cli-use demo.");
|
|
129
|
+
}, 1e3);
|
|
130
|
+
setInput("");
|
|
131
|
+
}
|
|
132
|
+
}
|
|
133
|
+
return;
|
|
134
|
+
}
|
|
135
|
+
if (key.delete || key.backspace) {
|
|
136
|
+
setInput((prev) => prev.slice(0, -1));
|
|
137
|
+
} else {
|
|
138
|
+
setInput((prev) => prev + keyInput);
|
|
39
139
|
}
|
|
40
140
|
});
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
/* @__PURE__ */ jsx(Text, { children: "\u2022 Cross-platform (macOS, Linux, Windows)" }),
|
|
46
|
-
/* @__PURE__ */ jsx(Text, { children: "\u2022 React-based components" }),
|
|
47
|
-
/* @__PURE__ */ jsx(Text, { children: "\u2022 Beautiful styling out of the box" }),
|
|
48
|
-
/* @__PURE__ */ jsx(Text, { children: "\u2022 TypeScript support" })
|
|
49
|
-
] }) }),
|
|
50
|
-
/* @__PURE__ */ jsx(Box, { borderStyle: "round", borderColor: "green", padding: 1, marginBottom: 1, children: /* @__PURE__ */ jsxs(Box, { flexDirection: "column", alignItems: "center", gap: 1, children: [
|
|
51
|
-
/* @__PURE__ */ jsx(Text, { bold: true, color: "green", children: "\u{1F522} Interactive Counter" }),
|
|
52
|
-
/* @__PURE__ */ jsxs(Text, { children: [
|
|
53
|
-
"Count: ",
|
|
54
|
-
count
|
|
55
|
-
] }),
|
|
56
|
-
/* @__PURE__ */ jsx(Text, { dim: true, children: "Press Enter to increment, ESC to exit" })
|
|
57
|
-
] }) }),
|
|
58
|
-
/* @__PURE__ */ jsx(Box, { children: /* @__PURE__ */ jsx(Text, { dim: true, color: "gray", children: "Built with \u2764\uFE0F for beautiful terminal interfaces" }) })
|
|
59
|
-
] });
|
|
141
|
+
const addMessage = (type, symbol, content) => {
|
|
142
|
+
setMessages((prev) => [...prev, { type, symbol, content }]);
|
|
143
|
+
};
|
|
144
|
+
return /* @__PURE__ */ jsx(Box, { flexDirection: "column", minHeight: 20, children: mode === "splash" ? /* @__PURE__ */ jsx(Splash, { input, onEnter: () => setMode("chat") }) : /* @__PURE__ */ jsx(Chat, { messages, input }) });
|
|
60
145
|
};
|
|
61
|
-
render(/* @__PURE__ */ jsx(
|
|
146
|
+
render(/* @__PURE__ */ jsx(App, {}));
|
|
62
147
|
}
|
|
63
148
|
});
|
|
64
149
|
|
|
@@ -66,11 +151,10 @@ var init_ink_demo = __esm({
|
|
|
66
151
|
init_esm_shims();
|
|
67
152
|
import { Command } from "commander";
|
|
68
153
|
import chalk from "chalk";
|
|
69
|
-
import { createRequire } from "module";
|
|
70
154
|
import { spawn } from "child_process";
|
|
71
155
|
import { fileURLToPath as fileURLToPath2 } from "url";
|
|
72
156
|
import path2 from "path";
|
|
73
|
-
|
|
157
|
+
import fs from "fs";
|
|
74
158
|
var __filename2 = fileURLToPath2(import.meta.url);
|
|
75
159
|
var __dirname2 = path2.dirname(__filename2);
|
|
76
160
|
var program = new Command();
|
|
@@ -94,11 +178,14 @@ program.command("run <example>").description("Run an example application").actio
|
|
|
94
178
|
program.command("examples").description("List available examples").action(() => {
|
|
95
179
|
showExamplesTUI();
|
|
96
180
|
});
|
|
97
|
-
program.
|
|
181
|
+
program.command("code").description("Launch the AI-powered CLI Code interface").action(() => {
|
|
182
|
+
showRustDemo();
|
|
183
|
+
});
|
|
184
|
+
program.option("-d, --demo", "Run the cli-use demo").action(() => {
|
|
98
185
|
});
|
|
99
186
|
var options = program.parse(process.argv);
|
|
100
187
|
if (options.opts().demo) {
|
|
101
|
-
Promise.resolve().then(() => (
|
|
188
|
+
Promise.resolve().then(() => (init_cli_use_demo(), cli_use_demo_exports)).catch((err) => {
|
|
102
189
|
console.error("Failed to run demo:", err);
|
|
103
190
|
process.exit(1);
|
|
104
191
|
});
|
|
@@ -106,12 +193,15 @@ if (options.opts().demo) {
|
|
|
106
193
|
function showRustDemo() {
|
|
107
194
|
const isWindows = process.platform === "win32";
|
|
108
195
|
const extension = isWindows ? ".exe" : "";
|
|
109
|
-
const
|
|
196
|
+
const prodBinaryPath = path2.resolve(__dirname2, `../bin/ratatui-demo${extension}`);
|
|
197
|
+
const devBinaryPath = path2.resolve(
|
|
110
198
|
__dirname2,
|
|
111
199
|
`../../native/target/release/ratatui-demo${extension}`
|
|
112
200
|
);
|
|
201
|
+
const binaryPath = fs.existsSync(prodBinaryPath) ? prodBinaryPath : devBinaryPath;
|
|
202
|
+
const workerPath = path2.resolve(__dirname2, "../ai-worker.js");
|
|
113
203
|
console.log(chalk.cyan("Starting Ratatui Demo..."));
|
|
114
|
-
const child = spawn(binaryPath, [], {
|
|
204
|
+
const child = spawn(binaryPath, [workerPath], {
|
|
115
205
|
stdio: "inherit"
|
|
116
206
|
});
|
|
117
207
|
child.on("error", (err) => {
|