@pz4l/tinyimg-cli 0.0.0 → 0.1.0-beta.1
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/dist/index.mjs +1 -1
- package/dist/index.mjs.map +1 -1
- package/package.json +9 -6
package/dist/index.mjs
CHANGED
|
@@ -3,7 +3,7 @@ import process$1, { stdin, stdout } from "node:process";
|
|
|
3
3
|
import cac from "cac";
|
|
4
4
|
import kleur from "kleur";
|
|
5
5
|
import fs from "node:fs/promises";
|
|
6
|
-
import { AllCompressionFailedError, AllKeysExhaustedError, KeyPool, NoValidKeysError, compressImages, maskKey, queryQuota, readConfig, validateKey, writeConfig } from "tinyimg-core";
|
|
6
|
+
import { AllCompressionFailedError, AllKeysExhaustedError, KeyPool, NoValidKeysError, compressImages, maskKey, queryQuota, readConfig, validateKey, writeConfig } from "@pz4l/tinyimg-core";
|
|
7
7
|
import path from "node:path";
|
|
8
8
|
import fastGlob from "fast-glob";
|
|
9
9
|
import { stripVTControlCharacters, styleText } from "node:util";
|
package/dist/index.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.mjs","names":["x","ft","X","pt","Ft","Q","U","mt","gt","vt","Et","K","H","_t","bt","z","Ct","W","xt","q","R","J","I","Bt","N","wt","Dt","St","Vt","#t","D","#e","#i","#r","#n","#s","kt","yt","Lt","Mt","Tt","Wt","N","t","Y","tt","Be","st","rt","it","nt","j","at","dt","xe","_e","$t","ht","De","Te","ot","lt","ut","ue","ct","select"],"sources":["../src/utils/files.ts","../src/utils/format.ts","../src/commands/compress.ts","../../../node_modules/.pnpm/sisteransi@1.0.5/node_modules/sisteransi/src/index.js","../../../node_modules/.pnpm/@clack+core@1.1.0/node_modules/@clack/core/dist/index.mjs","../../../node_modules/.pnpm/@clack+prompts@1.1.0/node_modules/@clack/prompts/dist/index.mjs","../src/commands/key.ts","../src/cli.ts"],"sourcesContent":["import fs from 'node:fs/promises'\nimport path from 'node:path'\nimport fastGlob from 'fast-glob'\n\nconst IMAGE_EXTENSIONS = ['.png', '.jpg', '.jpeg'] as const\n\n// Regex for normalizing path separators in glob patterns\nconst BACKSLASH_REGEX = /\\\\/g\n\n/**\n * Expand input paths (files, directories, globs) to absolute file paths\n * Filters for supported image formats only\n */\nexport async function expandInputs(inputs: string[]): Promise<string[]> {\n const results: string[] = []\n\n for (const input of inputs) {\n try {\n const stat = await fs.stat(input)\n\n if (stat.isFile()) {\n // Single file\n if (isImageFile(input)) {\n results.push(path.resolve(input))\n }\n }\n else if (stat.isDirectory()) {\n // Directory - recursively find all image files\n const pattern = path.join(input, '**', '*').replace(BACKSLASH_REGEX, '/')\n const files = await fastGlob.glob(pattern, {\n absolute: true,\n onlyFiles: true,\n })\n results.push(...files.filter(isImageFile))\n }\n }\n catch {\n // Not a file or directory - try as glob pattern\n try {\n const files = await fastGlob.glob(input, {\n absolute: true,\n onlyFiles: true,\n })\n results.push(...files.filter(isImageFile))\n }\n catch {\n // Invalid pattern, skip\n continue\n }\n }\n }\n\n // Deduplicate\n return Array.from(new Set(results))\n}\n\n/**\n * Resolve output path for compressed image\n * If outputDir provided, join with basename of input\n * Otherwise, return input path (overwrite in place)\n */\nexport async function resolveOutputPath(inputPath: string, outputDir?: string): Promise<string> {\n if (outputDir) {\n const outputPath = path.join(outputDir, path.basename(inputPath))\n const absOutputPath = path.resolve(outputPath)\n\n // Create output directory if it doesn't exist\n await fs.mkdir(path.dirname(absOutputPath), { recursive: true })\n\n return absOutputPath\n }\n\n // No output directory - overwrite in place\n return path.resolve(inputPath)\n}\n\n/**\n * Check if file is a supported image format\n */\nexport function isImageFile(filePath: string): boolean {\n const ext = path.extname(filePath).toLowerCase()\n return IMAGE_EXTENSIONS.includes(ext as any)\n}\n","import path from 'node:path'\nimport kleur from 'kleur'\n\n/**\n * Format progress counter for batch compression\n */\nexport function formatProgress(current: number, total: number): string {\n return kleur.cyan(`Compressing ${current}/${total}...`)\n}\n\n/**\n * Format compression result with size comparison\n */\nexport function formatResult(\n inputPath: string,\n _outputPath: string,\n originalSize: number,\n compressedSize: number,\n): string {\n const basename = path.basename(inputPath)\n const savedBytes = originalSize - compressedSize\n const savedPercent = ((savedBytes / originalSize) * 100).toFixed(1)\n\n const originalStr = formatBytes(originalSize)\n const compressedStr = formatBytes(compressedSize)\n\n return `${kleur.green('✓')} ${kleur.yellow(`${basename}: ${originalStr} → ${compressedStr} (${savedPercent}% saved)`)}`\n}\n\n/**\n * Convert bytes to human readable format\n */\nexport function formatBytes(bytes: number): string {\n if (bytes < 1024) {\n return `${bytes}B`\n }\n if (bytes < 1024 * 1024) {\n return `${(bytes / 1024).toFixed(0)}KB`\n }\n return `${(bytes / (1024 * 1024)).toFixed(2)}MB`\n}\n","import type { Buffer } from 'node:buffer'\nimport type { CompressServiceOptions, KeyStrategy } from 'tinyimg-core'\nimport fs from 'node:fs/promises'\nimport process from 'node:process'\nimport kleur from 'kleur'\nimport { AllCompressionFailedError, AllKeysExhaustedError, compressImages, KeyPool, NoValidKeysError } from 'tinyimg-core'\nimport { expandInputs, resolveOutputPath } from '../utils/files'\nimport { formatProgress, formatResult } from '../utils/format'\n\ninterface CompressOptions {\n output?: string\n key?: string\n mode?: KeyStrategy\n parallel?: string\n cache?: boolean\n}\n\n/**\n * Main compression command handler\n */\nexport async function compressCommand(inputs: string[], options: CompressOptions): Promise<void> {\n // Validate inputs\n if (inputs.length === 0) {\n console.error(kleur.red('Error: No input files specified'))\n console.log('Usage: tinyimg [options] <input...>')\n process.exit(1)\n }\n\n // Expand inputs to file paths\n const files = await expandInputs(inputs)\n\n if (files.length === 0) {\n console.error(kleur.red('Error: No valid image files found'))\n console.log('Supported formats: PNG, JPG, JPEG')\n process.exit(1)\n }\n\n // Display configuration\n console.log(kleur.cyan('\\nConfiguration:'))\n console.log(` Mode: ${options.mode || 'random'}`)\n console.log(` Parallel: ${options.parallel || '8'}`)\n console.log(` Cache: ${options.cache !== false ? 'enabled' : 'disabled'}`)\n console.log(` Files: ${files.length}\\n`)\n\n // Read all files into buffers\n const buffers: Buffer[] = []\n for (const file of files) {\n try {\n const buffer = await fs.readFile(file)\n buffers.push(buffer)\n }\n catch (error: any) {\n console.error(kleur.red(`Error reading ${file}: ${error.message}`))\n process.exit(1)\n }\n }\n\n // Build compression options\n const compressOptions: CompressServiceOptions = {\n cache: options.cache !== false,\n concurrency: options.parallel ? Number.parseInt(options.parallel, 10) : 8,\n }\n\n // Add mode if specified\n if (options.mode) {\n compressOptions.mode = options.mode as any\n }\n\n // Create KeyPool if mode specified\n if (options.mode) {\n try {\n const pool = new KeyPool(options.mode)\n compressOptions.keyPool = pool\n }\n catch (error: any) {\n console.error(kleur.red(`Error: ${error.message}`))\n process.exit(1)\n }\n }\n\n // Compress all images\n try {\n const results = await compressImages(buffers, compressOptions)\n\n // Write results and display progress\n for (let i = 0; i < files.length; i++) {\n const inputFile = files[i]\n const originalBuffer = buffers[i]\n const compressedBuffer = results[i]\n const outputPath = await resolveOutputPath(inputFile, options.output)\n\n // Display progress\n console.log(formatProgress(i + 1, files.length))\n\n // Write compressed file\n await fs.writeFile(outputPath, compressedBuffer)\n\n // Display result\n console.log(formatResult(inputFile, outputPath, originalBuffer.length, compressedBuffer.length))\n }\n\n console.log(kleur.green('\\n✓ Compression complete'))\n }\n catch (error: any) {\n if (error instanceof AllKeysExhaustedError) {\n console.error(kleur.red('Error: All API keys have exhausted quota'))\n console.log('Please add more keys or wait for quota to reset')\n }\n else if (error instanceof NoValidKeysError) {\n console.error(kleur.red('Error: No valid API keys configured'))\n console.log('Please add API keys using: tinyimg key add <key>')\n }\n else if (error instanceof AllCompressionFailedError) {\n console.error(kleur.red('Error: All compression methods failed'))\n console.log('Please check your network connection and API status')\n }\n else {\n console.error(kleur.red(`Error: ${error.message}`))\n }\n process.exit(1)\n }\n}\n","'use strict';\n\nconst ESC = '\\x1B';\nconst CSI = `${ESC}[`;\nconst beep = '\\u0007';\n\nconst cursor = {\n to(x, y) {\n if (!y) return `${CSI}${x + 1}G`;\n return `${CSI}${y + 1};${x + 1}H`;\n },\n move(x, y) {\n let ret = '';\n\n if (x < 0) ret += `${CSI}${-x}D`;\n else if (x > 0) ret += `${CSI}${x}C`;\n\n if (y < 0) ret += `${CSI}${-y}A`;\n else if (y > 0) ret += `${CSI}${y}B`;\n\n return ret;\n },\n up: (count = 1) => `${CSI}${count}A`,\n down: (count = 1) => `${CSI}${count}B`,\n forward: (count = 1) => `${CSI}${count}C`,\n backward: (count = 1) => `${CSI}${count}D`,\n nextLine: (count = 1) => `${CSI}E`.repeat(count),\n prevLine: (count = 1) => `${CSI}F`.repeat(count),\n left: `${CSI}G`,\n hide: `${CSI}?25l`,\n show: `${CSI}?25h`,\n save: `${ESC}7`,\n restore: `${ESC}8`\n}\n\nconst scroll = {\n up: (count = 1) => `${CSI}S`.repeat(count),\n down: (count = 1) => `${CSI}T`.repeat(count)\n}\n\nconst erase = {\n screen: `${CSI}2J`,\n up: (count = 1) => `${CSI}1J`.repeat(count),\n down: (count = 1) => `${CSI}J`.repeat(count),\n line: `${CSI}2K`,\n lineEnd: `${CSI}K`,\n lineStart: `${CSI}1K`,\n lines(count) {\n let clear = '';\n for (let i = 0; i < count; i++)\n clear += this.line + (i < count - 1 ? cursor.up() : '');\n if (count)\n clear += cursor.left;\n return clear;\n }\n}\n\nmodule.exports = { cursor, scroll, erase, beep };\n","import{styleText as D}from\"node:util\";import{stdout as R,stdin as q}from\"node:process\";import*as k from\"node:readline\";import ot from\"node:readline\";import{cursor as I,erase as N}from\"sisteransi\";import{ReadStream as J}from\"node:tty\";function x(t,e,s){if(!s.some(u=>!u.disabled))return t;const i=t+e,r=Math.max(s.length-1,0),n=i<0?r:i>r?0:i;return s[n].disabled?x(n,e<0?-1:1,s):n}const at=t=>t===161||t===164||t===167||t===168||t===170||t===173||t===174||t>=176&&t<=180||t>=182&&t<=186||t>=188&&t<=191||t===198||t===208||t===215||t===216||t>=222&&t<=225||t===230||t>=232&&t<=234||t===236||t===237||t===240||t===242||t===243||t>=247&&t<=250||t===252||t===254||t===257||t===273||t===275||t===283||t===294||t===295||t===299||t>=305&&t<=307||t===312||t>=319&&t<=322||t===324||t>=328&&t<=331||t===333||t===338||t===339||t===358||t===359||t===363||t===462||t===464||t===466||t===468||t===470||t===472||t===474||t===476||t===593||t===609||t===708||t===711||t>=713&&t<=715||t===717||t===720||t>=728&&t<=731||t===733||t===735||t>=768&&t<=879||t>=913&&t<=929||t>=931&&t<=937||t>=945&&t<=961||t>=963&&t<=969||t===1025||t>=1040&&t<=1103||t===1105||t===8208||t>=8211&&t<=8214||t===8216||t===8217||t===8220||t===8221||t>=8224&&t<=8226||t>=8228&&t<=8231||t===8240||t===8242||t===8243||t===8245||t===8251||t===8254||t===8308||t===8319||t>=8321&&t<=8324||t===8364||t===8451||t===8453||t===8457||t===8467||t===8470||t===8481||t===8482||t===8486||t===8491||t===8531||t===8532||t>=8539&&t<=8542||t>=8544&&t<=8555||t>=8560&&t<=8569||t===8585||t>=8592&&t<=8601||t===8632||t===8633||t===8658||t===8660||t===8679||t===8704||t===8706||t===8707||t===8711||t===8712||t===8715||t===8719||t===8721||t===8725||t===8730||t>=8733&&t<=8736||t===8739||t===8741||t>=8743&&t<=8748||t===8750||t>=8756&&t<=8759||t===8764||t===8765||t===8776||t===8780||t===8786||t===8800||t===8801||t>=8804&&t<=8807||t===8810||t===8811||t===8814||t===8815||t===8834||t===8835||t===8838||t===8839||t===8853||t===8857||t===8869||t===8895||t===8978||t>=9312&&t<=9449||t>=9451&&t<=9547||t>=9552&&t<=9587||t>=9600&&t<=9615||t>=9618&&t<=9621||t===9632||t===9633||t>=9635&&t<=9641||t===9650||t===9651||t===9654||t===9655||t===9660||t===9661||t===9664||t===9665||t>=9670&&t<=9672||t===9675||t>=9678&&t<=9681||t>=9698&&t<=9701||t===9711||t===9733||t===9734||t===9737||t===9742||t===9743||t===9756||t===9758||t===9792||t===9794||t===9824||t===9825||t>=9827&&t<=9829||t>=9831&&t<=9834||t===9836||t===9837||t===9839||t===9886||t===9887||t===9919||t>=9926&&t<=9933||t>=9935&&t<=9939||t>=9941&&t<=9953||t===9955||t===9960||t===9961||t>=9963&&t<=9969||t===9972||t>=9974&&t<=9977||t===9979||t===9980||t===9982||t===9983||t===10045||t>=10102&&t<=10111||t>=11094&&t<=11097||t>=12872&&t<=12879||t>=57344&&t<=63743||t>=65024&&t<=65039||t===65533||t>=127232&&t<=127242||t>=127248&&t<=127277||t>=127280&&t<=127337||t>=127344&&t<=127373||t===127375||t===127376||t>=127387&&t<=127404||t>=917760&&t<=917999||t>=983040&&t<=1048573||t>=1048576&&t<=1114109,lt=t=>t===12288||t>=65281&&t<=65376||t>=65504&&t<=65510,ht=t=>t>=4352&&t<=4447||t===8986||t===8987||t===9001||t===9002||t>=9193&&t<=9196||t===9200||t===9203||t===9725||t===9726||t===9748||t===9749||t>=9800&&t<=9811||t===9855||t===9875||t===9889||t===9898||t===9899||t===9917||t===9918||t===9924||t===9925||t===9934||t===9940||t===9962||t===9970||t===9971||t===9973||t===9978||t===9981||t===9989||t===9994||t===9995||t===10024||t===10060||t===10062||t>=10067&&t<=10069||t===10071||t>=10133&&t<=10135||t===10160||t===10175||t===11035||t===11036||t===11088||t===11093||t>=11904&&t<=11929||t>=11931&&t<=12019||t>=12032&&t<=12245||t>=12272&&t<=12287||t>=12289&&t<=12350||t>=12353&&t<=12438||t>=12441&&t<=12543||t>=12549&&t<=12591||t>=12593&&t<=12686||t>=12688&&t<=12771||t>=12783&&t<=12830||t>=12832&&t<=12871||t>=12880&&t<=19903||t>=19968&&t<=42124||t>=42128&&t<=42182||t>=43360&&t<=43388||t>=44032&&t<=55203||t>=63744&&t<=64255||t>=65040&&t<=65049||t>=65072&&t<=65106||t>=65108&&t<=65126||t>=65128&&t<=65131||t>=94176&&t<=94180||t===94192||t===94193||t>=94208&&t<=100343||t>=100352&&t<=101589||t>=101632&&t<=101640||t>=110576&&t<=110579||t>=110581&&t<=110587||t===110589||t===110590||t>=110592&&t<=110882||t===110898||t>=110928&&t<=110930||t===110933||t>=110948&&t<=110951||t>=110960&&t<=111355||t===126980||t===127183||t===127374||t>=127377&&t<=127386||t>=127488&&t<=127490||t>=127504&&t<=127547||t>=127552&&t<=127560||t===127568||t===127569||t>=127584&&t<=127589||t>=127744&&t<=127776||t>=127789&&t<=127797||t>=127799&&t<=127868||t>=127870&&t<=127891||t>=127904&&t<=127946||t>=127951&&t<=127955||t>=127968&&t<=127984||t===127988||t>=127992&&t<=128062||t===128064||t>=128066&&t<=128252||t>=128255&&t<=128317||t>=128331&&t<=128334||t>=128336&&t<=128359||t===128378||t===128405||t===128406||t===128420||t>=128507&&t<=128591||t>=128640&&t<=128709||t===128716||t>=128720&&t<=128722||t>=128725&&t<=128727||t>=128732&&t<=128735||t===128747||t===128748||t>=128756&&t<=128764||t>=128992&&t<=129003||t===129008||t>=129292&&t<=129338||t>=129340&&t<=129349||t>=129351&&t<=129535||t>=129648&&t<=129660||t>=129664&&t<=129672||t>=129680&&t<=129725||t>=129727&&t<=129733||t>=129742&&t<=129755||t>=129760&&t<=129768||t>=129776&&t<=129784||t>=131072&&t<=196605||t>=196608&&t<=262141,O=/[\\u001b\\u009b][[()#;?]*(?:[0-9]{1,4}(?:;[0-9]{0,4})*)?[0-9A-ORZcf-nqry=><]/y,y=/[\\x00-\\x08\\x0A-\\x1F\\x7F-\\x9F]{1,1000}/y,L=/\\t{1,1000}/y,P=/[\\u{1F1E6}-\\u{1F1FF}]{2}|\\u{1F3F4}[\\u{E0061}-\\u{E007A}]{2}[\\u{E0030}-\\u{E0039}\\u{E0061}-\\u{E007A}]{1,3}\\u{E007F}|(?:\\p{Emoji}\\uFE0F\\u20E3?|\\p{Emoji_Modifier_Base}\\p{Emoji_Modifier}?|\\p{Emoji_Presentation})(?:\\u200D(?:\\p{Emoji_Modifier_Base}\\p{Emoji_Modifier}?|\\p{Emoji_Presentation}|\\p{Emoji}\\uFE0F\\u20E3?))*/yu,M=/(?:[\\x20-\\x7E\\xA0-\\xFF](?!\\uFE0F)){1,1000}/y,ct=/\\p{M}+/gu,ft={limit:1/0,ellipsis:\"\"},X=(t,e={},s={})=>{const i=e.limit??1/0,r=e.ellipsis??\"\",n=e?.ellipsisWidth??(r?X(r,ft,s).width:0),u=s.ansiWidth??0,a=s.controlWidth??0,l=s.tabWidth??8,E=s.ambiguousWidth??1,g=s.emojiWidth??2,m=s.fullWidthWidth??2,A=s.regularWidth??1,V=s.wideWidth??2;let h=0,o=0,p=t.length,v=0,F=!1,d=p,b=Math.max(0,i-n),C=0,w=0,c=0,f=0;t:for(;;){if(w>C||o>=p&&o>h){const ut=t.slice(C,w)||t.slice(h,o);v=0;for(const Y of ut.replaceAll(ct,\"\")){const $=Y.codePointAt(0)||0;if(lt($)?f=m:ht($)?f=V:E!==A&&at($)?f=E:f=A,c+f>b&&(d=Math.min(d,Math.max(C,h)+v)),c+f>i){F=!0;break t}v+=Y.length,c+=f}C=w=0}if(o>=p)break;if(M.lastIndex=o,M.test(t)){if(v=M.lastIndex-o,f=v*A,c+f>b&&(d=Math.min(d,o+Math.floor((b-c)/A))),c+f>i){F=!0;break}c+=f,C=h,w=o,o=h=M.lastIndex;continue}if(O.lastIndex=o,O.test(t)){if(c+u>b&&(d=Math.min(d,o)),c+u>i){F=!0;break}c+=u,C=h,w=o,o=h=O.lastIndex;continue}if(y.lastIndex=o,y.test(t)){if(v=y.lastIndex-o,f=v*a,c+f>b&&(d=Math.min(d,o+Math.floor((b-c)/a))),c+f>i){F=!0;break}c+=f,C=h,w=o,o=h=y.lastIndex;continue}if(L.lastIndex=o,L.test(t)){if(v=L.lastIndex-o,f=v*l,c+f>b&&(d=Math.min(d,o+Math.floor((b-c)/l))),c+f>i){F=!0;break}c+=f,C=h,w=o,o=h=L.lastIndex;continue}if(P.lastIndex=o,P.test(t)){if(c+g>b&&(d=Math.min(d,o)),c+g>i){F=!0;break}c+=g,C=h,w=o,o=h=P.lastIndex;continue}o+=1}return{width:F?b:c,index:F?d:p,truncated:F,ellipsed:F&&i>=n}},pt={limit:1/0,ellipsis:\"\",ellipsisWidth:0},S=(t,e={})=>X(t,pt,e).width,T=\"\\x1B\",Z=\"\\x9B\",Ft=39,j=\"\\x07\",Q=\"[\",dt=\"]\",tt=\"m\",U=`${dt}8;;`,et=new RegExp(`(?:\\\\${Q}(?<code>\\\\d+)m|\\\\${U}(?<uri>.*)${j})`,\"y\"),mt=t=>{if(t>=30&&t<=37||t>=90&&t<=97)return 39;if(t>=40&&t<=47||t>=100&&t<=107)return 49;if(t===1||t===2)return 22;if(t===3)return 23;if(t===4)return 24;if(t===7)return 27;if(t===8)return 28;if(t===9)return 29;if(t===0)return 0},st=t=>`${T}${Q}${t}${tt}`,it=t=>`${T}${U}${t}${j}`,gt=t=>t.map(e=>S(e)),G=(t,e,s)=>{const i=e[Symbol.iterator]();let r=!1,n=!1,u=t.at(-1),a=u===void 0?0:S(u),l=i.next(),E=i.next(),g=0;for(;!l.done;){const m=l.value,A=S(m);a+A<=s?t[t.length-1]+=m:(t.push(m),a=0),(m===T||m===Z)&&(r=!0,n=e.startsWith(U,g+1)),r?n?m===j&&(r=!1,n=!1):m===tt&&(r=!1):(a+=A,a===s&&!E.done&&(t.push(\"\"),a=0)),l=E,E=i.next(),g+=m.length}u=t.at(-1),!a&&u!==void 0&&u.length>0&&t.length>1&&(t[t.length-2]+=t.pop())},vt=t=>{const e=t.split(\" \");let s=e.length;for(;s>0&&!(S(e[s-1])>0);)s--;return s===e.length?t:e.slice(0,s).join(\" \")+e.slice(s).join(\"\")},Et=(t,e,s={})=>{if(s.trim!==!1&&t.trim()===\"\")return\"\";let i=\"\",r,n;const u=t.split(\" \"),a=gt(u);let l=[\"\"];for(const[h,o]of u.entries()){s.trim!==!1&&(l[l.length-1]=(l.at(-1)??\"\").trimStart());let p=S(l.at(-1)??\"\");if(h!==0&&(p>=e&&(s.wordWrap===!1||s.trim===!1)&&(l.push(\"\"),p=0),(p>0||s.trim===!1)&&(l[l.length-1]+=\" \",p++)),s.hard&&a[h]>e){const v=e-p,F=1+Math.floor((a[h]-v-1)/e);Math.floor((a[h]-1)/e)<F&&l.push(\"\"),G(l,o,e);continue}if(p+a[h]>e&&p>0&&a[h]>0){if(s.wordWrap===!1&&p<e){G(l,o,e);continue}l.push(\"\")}if(p+a[h]>e&&s.wordWrap===!1){G(l,o,e);continue}l[l.length-1]+=o}s.trim!==!1&&(l=l.map(h=>vt(h)));const E=l.join(`\n`),g=E[Symbol.iterator]();let m=g.next(),A=g.next(),V=0;for(;!m.done;){const h=m.value,o=A.value;if(i+=h,h===T||h===Z){et.lastIndex=V+1;const F=et.exec(E)?.groups;if(F?.code!==void 0){const d=Number.parseFloat(F.code);r=d===Ft?void 0:d}else F?.uri!==void 0&&(n=F.uri.length===0?void 0:F.uri)}const p=r?mt(r):void 0;o===`\n`?(n&&(i+=it(\"\")),r&&p&&(i+=st(p))):h===`\n`&&(r&&p&&(i+=st(r)),n&&(i+=it(n))),V+=h.length,m=A,A=g.next()}return i};function K(t,e,s){return String(t).normalize().replaceAll(`\\r\n`,`\n`).split(`\n`).map(i=>Et(i,e,s)).join(`\n`)}const At=[\"up\",\"down\",\"left\",\"right\",\"space\",\"enter\",\"cancel\"],_={actions:new Set(At),aliases:new Map([[\"k\",\"up\"],[\"j\",\"down\"],[\"h\",\"left\"],[\"l\",\"right\"],[\"\u0003\",\"cancel\"],[\"escape\",\"cancel\"]]),messages:{cancel:\"Canceled\",error:\"Something went wrong\"},withGuide:!0};function It(t){if(t.aliases!==void 0){const e=t.aliases;for(const s in e){if(!Object.hasOwn(e,s))continue;const i=e[s];_.actions.has(i)&&(_.aliases.has(s)||_.aliases.set(s,i))}}if(t.messages!==void 0){const e=t.messages;e.cancel!==void 0&&(_.messages.cancel=e.cancel),e.error!==void 0&&(_.messages.error=e.error)}t.withGuide!==void 0&&(_.withGuide=t.withGuide!==!1)}function H(t,e){if(typeof t==\"string\")return _.aliases.get(t)===e;for(const s of t)if(s!==void 0&&H(s,e))return!0;return!1}function _t(t,e){if(t===e)return;const s=t.split(`\n`),i=e.split(`\n`),r=Math.max(s.length,i.length),n=[];for(let u=0;u<r;u++)s[u]!==i[u]&&n.push(u);return{lines:n,numLinesBefore:s.length,numLinesAfter:i.length,numLines:r}}const bt=globalThis.process.platform.startsWith(\"win\"),z=Symbol(\"clack:cancel\");function Ct(t){return t===z}function W(t,e){const s=t;s.isTTY&&s.setRawMode(e)}function xt({input:t=q,output:e=R,overwrite:s=!0,hideCursor:i=!0}={}){const r=k.createInterface({input:t,output:e,prompt:\"\",tabSize:1});k.emitKeypressEvents(t,r),t instanceof J&&t.isTTY&&t.setRawMode(!0);const n=(u,{name:a,sequence:l})=>{const E=String(u);if(H([E,a,l],\"cancel\")){i&&e.write(I.show),process.exit(0);return}if(!s)return;const g=a===\"return\"?0:-1,m=a===\"return\"?-1:0;k.moveCursor(e,g,m,()=>{k.clearLine(e,1,()=>{t.once(\"keypress\",n)})})};return i&&e.write(I.hide),t.once(\"keypress\",n),()=>{t.off(\"keypress\",n),i&&e.write(I.show),t instanceof J&&t.isTTY&&!bt&&t.setRawMode(!1),r.terminal=!1,r.close()}}const rt=t=>\"columns\"in t&&typeof t.columns==\"number\"?t.columns:80,nt=t=>\"rows\"in t&&typeof t.rows==\"number\"?t.rows:20;function Bt(t,e,s,i=s){const r=rt(t??R);return K(e,r-s.length,{hard:!0,trim:!1}).split(`\n`).map((n,u)=>`${u===0?i:s}${n}`).join(`\n`)}class B{input;output;_abortSignal;rl;opts;_render;_track=!1;_prevFrame=\"\";_subscribers=new Map;_cursor=0;state=\"initial\";error=\"\";value;userInput=\"\";constructor(e,s=!0){const{input:i=q,output:r=R,render:n,signal:u,...a}=e;this.opts=a,this.onKeypress=this.onKeypress.bind(this),this.close=this.close.bind(this),this.render=this.render.bind(this),this._render=n.bind(this),this._track=s,this._abortSignal=u,this.input=i,this.output=r}unsubscribe(){this._subscribers.clear()}setSubscriber(e,s){const i=this._subscribers.get(e)??[];i.push(s),this._subscribers.set(e,i)}on(e,s){this.setSubscriber(e,{cb:s})}once(e,s){this.setSubscriber(e,{cb:s,once:!0})}emit(e,...s){const i=this._subscribers.get(e)??[],r=[];for(const n of i)n.cb(...s),n.once&&r.push(()=>i.splice(i.indexOf(n),1));for(const n of r)n()}prompt(){return new Promise(e=>{if(this._abortSignal){if(this._abortSignal.aborted)return this.state=\"cancel\",this.close(),e(z);this._abortSignal.addEventListener(\"abort\",()=>{this.state=\"cancel\",this.close()},{once:!0})}this.rl=ot.createInterface({input:this.input,tabSize:2,prompt:\"\",escapeCodeTimeout:50,terminal:!0}),this.rl.prompt(),this.opts.initialUserInput!==void 0&&this._setUserInput(this.opts.initialUserInput,!0),this.input.on(\"keypress\",this.onKeypress),W(this.input,!0),this.output.on(\"resize\",this.render),this.render(),this.once(\"submit\",()=>{this.output.write(I.show),this.output.off(\"resize\",this.render),W(this.input,!1),e(this.value)}),this.once(\"cancel\",()=>{this.output.write(I.show),this.output.off(\"resize\",this.render),W(this.input,!1),e(z)})})}_isActionKey(e,s){return e===\"\t\"}_setValue(e){this.value=e,this.emit(\"value\",this.value)}_setUserInput(e,s){this.userInput=e??\"\",this.emit(\"userInput\",this.userInput),s&&this._track&&this.rl&&(this.rl.write(this.userInput),this._cursor=this.rl.cursor)}_clearUserInput(){this.rl?.write(null,{ctrl:!0,name:\"u\"}),this._setUserInput(\"\")}onKeypress(e,s){if(this._track&&s.name!==\"return\"&&(s.name&&this._isActionKey(e,s)&&this.rl?.write(null,{ctrl:!0,name:\"h\"}),this._cursor=this.rl?.cursor??0,this._setUserInput(this.rl?.line)),this.state===\"error\"&&(this.state=\"active\"),s?.name&&(!this._track&&_.aliases.has(s.name)&&this.emit(\"cursor\",_.aliases.get(s.name)),_.actions.has(s.name)&&this.emit(\"cursor\",s.name)),e&&(e.toLowerCase()===\"y\"||e.toLowerCase()===\"n\")&&this.emit(\"confirm\",e.toLowerCase()===\"y\"),this.emit(\"key\",e?.toLowerCase(),s),s?.name===\"return\"){if(this.opts.validate){const i=this.opts.validate(this.value);i&&(this.error=i instanceof Error?i.message:i,this.state=\"error\",this.rl?.write(this.userInput))}this.state!==\"error\"&&(this.state=\"submit\")}H([e,s?.name,s?.sequence],\"cancel\")&&(this.state=\"cancel\"),(this.state===\"submit\"||this.state===\"cancel\")&&this.emit(\"finalize\"),this.render(),(this.state===\"submit\"||this.state===\"cancel\")&&this.close()}close(){this.input.unpipe(),this.input.removeListener(\"keypress\",this.onKeypress),this.output.write(`\n`),W(this.input,!1),this.rl?.close(),this.rl=void 0,this.emit(`${this.state}`,this.value),this.unsubscribe()}restoreCursor(){const e=K(this._prevFrame,process.stdout.columns,{hard:!0,trim:!1}).split(`\n`).length-1;this.output.write(I.move(-999,e*-1))}render(){const e=K(this._render(this)??\"\",process.stdout.columns,{hard:!0,trim:!1});if(e!==this._prevFrame){if(this.state===\"initial\")this.output.write(I.hide);else{const s=_t(this._prevFrame,e),i=nt(this.output);if(this.restoreCursor(),s){const r=Math.max(0,s.numLinesAfter-i),n=Math.max(0,s.numLinesBefore-i);let u=s.lines.find(a=>a>=r);if(u===void 0){this._prevFrame=e;return}if(s.lines.length===1){this.output.write(I.move(0,u-n)),this.output.write(N.lines(1));const a=e.split(`\n`);this.output.write(a[u]),this._prevFrame=e,this.output.write(I.move(0,a.length-u-1));return}else if(s.lines.length>1){if(r<n)u=r;else{const l=u-n;l>0&&this.output.write(I.move(0,l))}this.output.write(N.down());const a=e.split(`\n`).slice(u);this.output.write(a.join(`\n`)),this._prevFrame=e;return}}this.output.write(N.down())}this.output.write(e),this.state===\"initial\"&&(this.state=\"active\"),this._prevFrame=e}}}function wt(t,e){if(t===void 0||e.length===0)return 0;const s=e.findIndex(i=>i.value===t);return s!==-1?s:0}function Dt(t,e){return(e.label??String(e.value)).toLowerCase().includes(t.toLowerCase())}function St(t,e){if(e)return t?e:e[0]}class Vt extends B{filteredOptions;multiple;isNavigating=!1;selectedValues=[];focusedValue;#t=0;#s=\"\";#i;#e;get cursor(){return this.#t}get userInputWithCursor(){if(!this.userInput)return D([\"inverse\",\"hidden\"],\"_\");if(this._cursor>=this.userInput.length)return`${this.userInput}\\u2588`;const e=this.userInput.slice(0,this._cursor),[s,...i]=this.userInput.slice(this._cursor);return`${e}${D(\"inverse\",s)}${i.join(\"\")}`}get options(){return typeof this.#e==\"function\"?this.#e():this.#e}constructor(e){super(e),this.#e=e.options;const s=this.options;this.filteredOptions=[...s],this.multiple=e.multiple===!0,this.#i=e.filter??Dt;let i;if(e.initialValue&&Array.isArray(e.initialValue)?this.multiple?i=e.initialValue:i=e.initialValue.slice(0,1):!this.multiple&&this.options.length>0&&(i=[this.options[0].value]),i)for(const r of i){const n=s.findIndex(u=>u.value===r);n!==-1&&(this.toggleSelected(r),this.#t=n)}this.focusedValue=this.options[this.#t]?.value,this.on(\"key\",(r,n)=>this.#r(r,n)),this.on(\"userInput\",r=>this.#n(r))}_isActionKey(e,s){return e===\"\t\"||this.multiple&&this.isNavigating&&s.name===\"space\"&&e!==void 0&&e!==\"\"}#r(e,s){const i=s.name===\"up\",r=s.name===\"down\",n=s.name===\"return\";i||r?(this.#t=x(this.#t,i?-1:1,this.filteredOptions),this.focusedValue=this.filteredOptions[this.#t]?.value,this.multiple||(this.selectedValues=[this.focusedValue]),this.isNavigating=!0):n?this.value=St(this.multiple,this.selectedValues):this.multiple?this.focusedValue!==void 0&&(s.name===\"tab\"||this.isNavigating&&s.name===\"space\")?this.toggleSelected(this.focusedValue):this.isNavigating=!1:(this.focusedValue&&(this.selectedValues=[this.focusedValue]),this.isNavigating=!1)}deselectAll(){this.selectedValues=[]}toggleSelected(e){this.filteredOptions.length!==0&&(this.multiple?this.selectedValues.includes(e)?this.selectedValues=this.selectedValues.filter(s=>s!==e):this.selectedValues=[...this.selectedValues,e]:this.selectedValues=[e])}#n(e){if(e!==this.#s){this.#s=e;const s=this.options;e?this.filteredOptions=s.filter(n=>this.#i(e,n)):this.filteredOptions=[...s];const i=wt(this.focusedValue,this.filteredOptions);this.#t=x(i,0,this.filteredOptions);const r=this.filteredOptions[this.#t];r&&!r.disabled?this.focusedValue=r.value:this.focusedValue=void 0,this.multiple||(this.focusedValue!==void 0?this.toggleSelected(this.focusedValue):this.deselectAll())}}}class kt extends B{get cursor(){return this.value?0:1}get _value(){return this.cursor===0}constructor(e){super(e,!1),this.value=!!e.initialValue,this.on(\"userInput\",()=>{this.value=this._value}),this.on(\"confirm\",s=>{this.output.write(I.move(0,-1)),this.value=s,this.state=\"submit\",this.close()}),this.on(\"cursor\",()=>{this.value=!this.value})}}class yt extends B{options;cursor=0;#t;getGroupItems(e){return this.options.filter(s=>s.group===e)}isGroupSelected(e){const s=this.getGroupItems(e),i=this.value;return i===void 0?!1:s.every(r=>i.includes(r.value))}toggleValue(){const e=this.options[this.cursor];if(this.value===void 0&&(this.value=[]),e.group===!0){const s=e.value,i=this.getGroupItems(s);this.isGroupSelected(s)?this.value=this.value.filter(r=>i.findIndex(n=>n.value===r)===-1):this.value=[...this.value,...i.map(r=>r.value)],this.value=Array.from(new Set(this.value))}else{const s=this.value.includes(e.value);this.value=s?this.value.filter(i=>i!==e.value):[...this.value,e.value]}}constructor(e){super(e,!1);const{options:s}=e;this.#t=e.selectableGroups!==!1,this.options=Object.entries(s).flatMap(([i,r])=>[{value:i,group:!0,label:i},...r.map(n=>({...n,group:i}))]),this.value=[...e.initialValues??[]],this.cursor=Math.max(this.options.findIndex(({value:i})=>i===e.cursorAt),this.#t?0:1),this.on(\"cursor\",i=>{switch(i){case\"left\":case\"up\":{this.cursor=this.cursor===0?this.options.length-1:this.cursor-1;const r=this.options[this.cursor]?.group===!0;!this.#t&&r&&(this.cursor=this.cursor===0?this.options.length-1:this.cursor-1);break}case\"down\":case\"right\":{this.cursor=this.cursor===this.options.length-1?0:this.cursor+1;const r=this.options[this.cursor]?.group===!0;!this.#t&&r&&(this.cursor=this.cursor===this.options.length-1?0:this.cursor+1);break}case\"space\":this.toggleValue();break}})}}let Lt=class extends B{options;cursor=0;get _value(){return this.options[this.cursor].value}get _enabledOptions(){return this.options.filter(e=>e.disabled!==!0)}toggleAll(){const e=this._enabledOptions,s=this.value!==void 0&&this.value.length===e.length;this.value=s?[]:e.map(i=>i.value)}toggleInvert(){const e=this.value;if(!e)return;const s=this._enabledOptions.filter(i=>!e.includes(i.value));this.value=s.map(i=>i.value)}toggleValue(){this.value===void 0&&(this.value=[]);const e=this.value.includes(this._value);this.value=e?this.value.filter(s=>s!==this._value):[...this.value,this._value]}constructor(e){super(e,!1),this.options=e.options,this.value=[...e.initialValues??[]];const s=Math.max(this.options.findIndex(({value:i})=>i===e.cursorAt),0);this.cursor=this.options[s].disabled?x(s,1,this.options):s,this.on(\"key\",i=>{i===\"a\"&&this.toggleAll(),i===\"i\"&&this.toggleInvert()}),this.on(\"cursor\",i=>{switch(i){case\"left\":case\"up\":this.cursor=x(this.cursor,-1,this.options);break;case\"down\":case\"right\":this.cursor=x(this.cursor,1,this.options);break;case\"space\":this.toggleValue();break}})}};class Mt extends B{_mask=\"\\u2022\";get cursor(){return this._cursor}get masked(){return this.userInput.replaceAll(/./g,this._mask)}get userInputWithCursor(){if(this.state===\"submit\"||this.state===\"cancel\")return this.masked;const e=this.userInput;if(this.cursor>=e.length)return`${this.masked}${D([\"inverse\",\"hidden\"],\"_\")}`;const s=this.masked,i=s.slice(0,this.cursor),r=s.slice(this.cursor);return`${i}${D(\"inverse\",r[0])}${r.slice(1)}`}clear(){this._clearUserInput()}constructor({mask:e,...s}){super(s),this._mask=e??\"\\u2022\",this.on(\"userInput\",i=>{this._setValue(i)})}}class Tt extends B{options;cursor=0;get _selectedValue(){return this.options[this.cursor]}changeValue(){this.value=this._selectedValue.value}constructor(e){super(e,!1),this.options=e.options;const s=this.options.findIndex(({value:r})=>r===e.initialValue),i=s===-1?0:s;this.cursor=this.options[i].disabled?x(i,1,this.options):i,this.changeValue(),this.on(\"cursor\",r=>{switch(r){case\"left\":case\"up\":this.cursor=x(this.cursor,-1,this.options);break;case\"down\":case\"right\":this.cursor=x(this.cursor,1,this.options);break}this.changeValue()})}}class Wt extends B{options;cursor=0;constructor(e){super(e,!1),this.options=e.options;const s=e.caseSensitive===!0,i=this.options.map(({value:[r]})=>s?r:r?.toLowerCase());this.cursor=Math.max(i.indexOf(e.initialValue),0),this.on(\"key\",(r,n)=>{if(!r)return;const u=s&&n.shift?r.toUpperCase():r;if(!i.includes(u))return;const a=this.options.find(({value:[l]})=>s?l===u:l?.toLowerCase()===r);a&&(this.value=a.value,this.state=\"submit\",this.emit(\"submit\"))})}}class $t extends B{get userInputWithCursor(){if(this.state===\"submit\")return this.userInput;const e=this.userInput;if(this.cursor>=e.length)return`${this.userInput}\\u2588`;const s=e.slice(0,this.cursor),[i,...r]=e.slice(this.cursor);return`${s}${D(\"inverse\",i)}${r.join(\"\")}`}get cursor(){return this._cursor}constructor(e){super({...e,initialUserInput:e.initialUserInput??e.initialValue}),this.on(\"userInput\",s=>{this._setValue(s)}),this.on(\"finalize\",()=>{this.value||(this.value=e.defaultValue),this.value===void 0&&(this.value=\"\")})}}export{Vt as AutocompletePrompt,kt as ConfirmPrompt,yt as GroupMultiSelectPrompt,Lt as MultiSelectPrompt,Mt as PasswordPrompt,B as Prompt,Wt as SelectKeyPrompt,Tt as SelectPrompt,$t as TextPrompt,xt as block,rt as getColumns,nt as getRows,Ct as isCancel,_ as settings,It as updateSettings,Bt as wrapTextWithPrefix};\n//# sourceMappingURL=index.mjs.map\n","import{getColumns as Y,getRows as tt,AutocompletePrompt as Be,settings as _,ConfirmPrompt as st,isCancel as rt,GroupMultiSelectPrompt as it,MultiSelectPrompt as nt,wrapTextWithPrefix as j,PasswordPrompt as at,block as ot,SelectPrompt as lt,SelectKeyPrompt as ut,TextPrompt as ct}from\"@clack/core\";export{isCancel,settings,updateSettings}from\"@clack/core\";import{styleText as t,stripVTControlCharacters as ue}from\"node:util\";import N from\"node:process\";import{readdirSync as $t,existsSync as dt,lstatSync as xe}from\"node:fs\";import{dirname as _e,join as ht}from\"node:path\";import{cursor as De,erase as Te}from\"sisteransi\";function pt(){return N.platform!==\"win32\"?N.env.TERM!==\"linux\":!!N.env.CI||!!N.env.WT_SESSION||!!N.env.TERMINUS_SUBLIME||N.env.ConEmuTask===\"{cmd::Cmder}\"||N.env.TERM_PROGRAM===\"Terminus-Sublime\"||N.env.TERM_PROGRAM===\"vscode\"||N.env.TERM===\"xterm-256color\"||N.env.TERM===\"alacritty\"||N.env.TERMINAL_EMULATOR===\"JetBrains-JediTerm\"}const ee=pt(),ce=()=>process.env.CI===\"true\",Me=e=>e.isTTY===!0,I=(e,r)=>ee?e:r,Re=I(\"\\u25C6\",\"*\"),$e=I(\"\\u25A0\",\"x\"),de=I(\"\\u25B2\",\"x\"),V=I(\"\\u25C7\",\"o\"),he=I(\"\\u250C\",\"T\"),h=I(\"\\u2502\",\"|\"),x=I(\"\\u2514\",\"\\u2014\"),Oe=I(\"\\u2510\",\"T\"),Pe=I(\"\\u2518\",\"\\u2014\"),z=I(\"\\u25CF\",\">\"),H=I(\"\\u25CB\",\" \"),te=I(\"\\u25FB\",\"[\\u2022]\"),U=I(\"\\u25FC\",\"[+]\"),q=I(\"\\u25FB\",\"[ ]\"),Ne=I(\"\\u25AA\",\"\\u2022\"),se=I(\"\\u2500\",\"-\"),pe=I(\"\\u256E\",\"+\"),We=I(\"\\u251C\",\"+\"),me=I(\"\\u256F\",\"+\"),ge=I(\"\\u2570\",\"+\"),Ge=I(\"\\u256D\",\"+\"),fe=I(\"\\u25CF\",\"\\u2022\"),Fe=I(\"\\u25C6\",\"*\"),ye=I(\"\\u25B2\",\"!\"),Ee=I(\"\\u25A0\",\"x\"),W=e=>{switch(e){case\"initial\":case\"active\":return t(\"cyan\",Re);case\"cancel\":return t(\"red\",$e);case\"error\":return t(\"yellow\",de);case\"submit\":return t(\"green\",V)}},ve=e=>{switch(e){case\"initial\":case\"active\":return t(\"cyan\",h);case\"cancel\":return t(\"red\",h);case\"error\":return t(\"yellow\",h);case\"submit\":return t(\"green\",h)}},mt=e=>e===161||e===164||e===167||e===168||e===170||e===173||e===174||e>=176&&e<=180||e>=182&&e<=186||e>=188&&e<=191||e===198||e===208||e===215||e===216||e>=222&&e<=225||e===230||e>=232&&e<=234||e===236||e===237||e===240||e===242||e===243||e>=247&&e<=250||e===252||e===254||e===257||e===273||e===275||e===283||e===294||e===295||e===299||e>=305&&e<=307||e===312||e>=319&&e<=322||e===324||e>=328&&e<=331||e===333||e===338||e===339||e===358||e===359||e===363||e===462||e===464||e===466||e===468||e===470||e===472||e===474||e===476||e===593||e===609||e===708||e===711||e>=713&&e<=715||e===717||e===720||e>=728&&e<=731||e===733||e===735||e>=768&&e<=879||e>=913&&e<=929||e>=931&&e<=937||e>=945&&e<=961||e>=963&&e<=969||e===1025||e>=1040&&e<=1103||e===1105||e===8208||e>=8211&&e<=8214||e===8216||e===8217||e===8220||e===8221||e>=8224&&e<=8226||e>=8228&&e<=8231||e===8240||e===8242||e===8243||e===8245||e===8251||e===8254||e===8308||e===8319||e>=8321&&e<=8324||e===8364||e===8451||e===8453||e===8457||e===8467||e===8470||e===8481||e===8482||e===8486||e===8491||e===8531||e===8532||e>=8539&&e<=8542||e>=8544&&e<=8555||e>=8560&&e<=8569||e===8585||e>=8592&&e<=8601||e===8632||e===8633||e===8658||e===8660||e===8679||e===8704||e===8706||e===8707||e===8711||e===8712||e===8715||e===8719||e===8721||e===8725||e===8730||e>=8733&&e<=8736||e===8739||e===8741||e>=8743&&e<=8748||e===8750||e>=8756&&e<=8759||e===8764||e===8765||e===8776||e===8780||e===8786||e===8800||e===8801||e>=8804&&e<=8807||e===8810||e===8811||e===8814||e===8815||e===8834||e===8835||e===8838||e===8839||e===8853||e===8857||e===8869||e===8895||e===8978||e>=9312&&e<=9449||e>=9451&&e<=9547||e>=9552&&e<=9587||e>=9600&&e<=9615||e>=9618&&e<=9621||e===9632||e===9633||e>=9635&&e<=9641||e===9650||e===9651||e===9654||e===9655||e===9660||e===9661||e===9664||e===9665||e>=9670&&e<=9672||e===9675||e>=9678&&e<=9681||e>=9698&&e<=9701||e===9711||e===9733||e===9734||e===9737||e===9742||e===9743||e===9756||e===9758||e===9792||e===9794||e===9824||e===9825||e>=9827&&e<=9829||e>=9831&&e<=9834||e===9836||e===9837||e===9839||e===9886||e===9887||e===9919||e>=9926&&e<=9933||e>=9935&&e<=9939||e>=9941&&e<=9953||e===9955||e===9960||e===9961||e>=9963&&e<=9969||e===9972||e>=9974&&e<=9977||e===9979||e===9980||e===9982||e===9983||e===10045||e>=10102&&e<=10111||e>=11094&&e<=11097||e>=12872&&e<=12879||e>=57344&&e<=63743||e>=65024&&e<=65039||e===65533||e>=127232&&e<=127242||e>=127248&&e<=127277||e>=127280&&e<=127337||e>=127344&&e<=127373||e===127375||e===127376||e>=127387&&e<=127404||e>=917760&&e<=917999||e>=983040&&e<=1048573||e>=1048576&&e<=1114109,gt=e=>e===12288||e>=65281&&e<=65376||e>=65504&&e<=65510,ft=e=>e>=4352&&e<=4447||e===8986||e===8987||e===9001||e===9002||e>=9193&&e<=9196||e===9200||e===9203||e===9725||e===9726||e===9748||e===9749||e>=9800&&e<=9811||e===9855||e===9875||e===9889||e===9898||e===9899||e===9917||e===9918||e===9924||e===9925||e===9934||e===9940||e===9962||e===9970||e===9971||e===9973||e===9978||e===9981||e===9989||e===9994||e===9995||e===10024||e===10060||e===10062||e>=10067&&e<=10069||e===10071||e>=10133&&e<=10135||e===10160||e===10175||e===11035||e===11036||e===11088||e===11093||e>=11904&&e<=11929||e>=11931&&e<=12019||e>=12032&&e<=12245||e>=12272&&e<=12287||e>=12289&&e<=12350||e>=12353&&e<=12438||e>=12441&&e<=12543||e>=12549&&e<=12591||e>=12593&&e<=12686||e>=12688&&e<=12771||e>=12783&&e<=12830||e>=12832&&e<=12871||e>=12880&&e<=19903||e>=19968&&e<=42124||e>=42128&&e<=42182||e>=43360&&e<=43388||e>=44032&&e<=55203||e>=63744&&e<=64255||e>=65040&&e<=65049||e>=65072&&e<=65106||e>=65108&&e<=65126||e>=65128&&e<=65131||e>=94176&&e<=94180||e===94192||e===94193||e>=94208&&e<=100343||e>=100352&&e<=101589||e>=101632&&e<=101640||e>=110576&&e<=110579||e>=110581&&e<=110587||e===110589||e===110590||e>=110592&&e<=110882||e===110898||e>=110928&&e<=110930||e===110933||e>=110948&&e<=110951||e>=110960&&e<=111355||e===126980||e===127183||e===127374||e>=127377&&e<=127386||e>=127488&&e<=127490||e>=127504&&e<=127547||e>=127552&&e<=127560||e===127568||e===127569||e>=127584&&e<=127589||e>=127744&&e<=127776||e>=127789&&e<=127797||e>=127799&&e<=127868||e>=127870&&e<=127891||e>=127904&&e<=127946||e>=127951&&e<=127955||e>=127968&&e<=127984||e===127988||e>=127992&&e<=128062||e===128064||e>=128066&&e<=128252||e>=128255&&e<=128317||e>=128331&&e<=128334||e>=128336&&e<=128359||e===128378||e===128405||e===128406||e===128420||e>=128507&&e<=128591||e>=128640&&e<=128709||e===128716||e>=128720&&e<=128722||e>=128725&&e<=128727||e>=128732&&e<=128735||e===128747||e===128748||e>=128756&&e<=128764||e>=128992&&e<=129003||e===129008||e>=129292&&e<=129338||e>=129340&&e<=129349||e>=129351&&e<=129535||e>=129648&&e<=129660||e>=129664&&e<=129672||e>=129680&&e<=129725||e>=129727&&e<=129733||e>=129742&&e<=129755||e>=129760&&e<=129768||e>=129776&&e<=129784||e>=131072&&e<=196605||e>=196608&&e<=262141,we=/[\\u001b\\u009b][[()#;?]*(?:[0-9]{1,4}(?:;[0-9]{0,4})*)?[0-9A-ORZcf-nqry=><]/y,re=/[\\x00-\\x08\\x0A-\\x1F\\x7F-\\x9F]{1,1000}/y,ie=/\\t{1,1000}/y,Ae=/[\\u{1F1E6}-\\u{1F1FF}]{2}|\\u{1F3F4}[\\u{E0061}-\\u{E007A}]{2}[\\u{E0030}-\\u{E0039}\\u{E0061}-\\u{E007A}]{1,3}\\u{E007F}|(?:\\p{Emoji}\\uFE0F\\u20E3?|\\p{Emoji_Modifier_Base}\\p{Emoji_Modifier}?|\\p{Emoji_Presentation})(?:\\u200D(?:\\p{Emoji_Modifier_Base}\\p{Emoji_Modifier}?|\\p{Emoji_Presentation}|\\p{Emoji}\\uFE0F\\u20E3?))*/yu,ne=/(?:[\\x20-\\x7E\\xA0-\\xFF](?!\\uFE0F)){1,1000}/y,Ft=/\\p{M}+/gu,yt={limit:1/0,ellipsis:\"\"},Le=(e,r={},s={})=>{const i=r.limit??1/0,a=r.ellipsis??\"\",o=r?.ellipsisWidth??(a?Le(a,yt,s).width:0),u=s.ansiWidth??0,l=s.controlWidth??0,n=s.tabWidth??8,c=s.ambiguousWidth??1,p=s.emojiWidth??2,f=s.fullWidthWidth??2,g=s.regularWidth??1,E=s.wideWidth??2;let $=0,m=0,d=e.length,F=0,y=!1,v=d,C=Math.max(0,i-o),A=0,b=0,w=0,S=0;e:for(;;){if(b>A||m>=d&&m>$){const T=e.slice(A,b)||e.slice($,m);F=0;for(const M of T.replaceAll(Ft,\"\")){const O=M.codePointAt(0)||0;if(gt(O)?S=f:ft(O)?S=E:c!==g&&mt(O)?S=c:S=g,w+S>C&&(v=Math.min(v,Math.max(A,$)+F)),w+S>i){y=!0;break e}F+=M.length,w+=S}A=b=0}if(m>=d)break;if(ne.lastIndex=m,ne.test(e)){if(F=ne.lastIndex-m,S=F*g,w+S>C&&(v=Math.min(v,m+Math.floor((C-w)/g))),w+S>i){y=!0;break}w+=S,A=$,b=m,m=$=ne.lastIndex;continue}if(we.lastIndex=m,we.test(e)){if(w+u>C&&(v=Math.min(v,m)),w+u>i){y=!0;break}w+=u,A=$,b=m,m=$=we.lastIndex;continue}if(re.lastIndex=m,re.test(e)){if(F=re.lastIndex-m,S=F*l,w+S>C&&(v=Math.min(v,m+Math.floor((C-w)/l))),w+S>i){y=!0;break}w+=S,A=$,b=m,m=$=re.lastIndex;continue}if(ie.lastIndex=m,ie.test(e)){if(F=ie.lastIndex-m,S=F*n,w+S>C&&(v=Math.min(v,m+Math.floor((C-w)/n))),w+S>i){y=!0;break}w+=S,A=$,b=m,m=$=ie.lastIndex;continue}if(Ae.lastIndex=m,Ae.test(e)){if(w+p>C&&(v=Math.min(v,m)),w+p>i){y=!0;break}w+=p,A=$,b=m,m=$=Ae.lastIndex;continue}m+=1}return{width:y?C:w,index:y?v:d,truncated:y,ellipsed:y&&i>=o}},Et={limit:1/0,ellipsis:\"\",ellipsisWidth:0},D=(e,r={})=>Le(e,Et,r).width,ae=\"\\x1B\",je=\"\\x9B\",vt=39,Ce=\"\\x07\",ke=\"[\",wt=\"]\",Ve=\"m\",Se=`${wt}8;;`,He=new RegExp(`(?:\\\\${ke}(?<code>\\\\d+)m|\\\\${Se}(?<uri>.*)${Ce})`,\"y\"),At=e=>{if(e>=30&&e<=37||e>=90&&e<=97)return 39;if(e>=40&&e<=47||e>=100&&e<=107)return 49;if(e===1||e===2)return 22;if(e===3)return 23;if(e===4)return 24;if(e===7)return 27;if(e===8)return 28;if(e===9)return 29;if(e===0)return 0},Ue=e=>`${ae}${ke}${e}${Ve}`,Ke=e=>`${ae}${Se}${e}${Ce}`,Ct=e=>e.map(r=>D(r)),Ie=(e,r,s)=>{const i=r[Symbol.iterator]();let a=!1,o=!1,u=e.at(-1),l=u===void 0?0:D(u),n=i.next(),c=i.next(),p=0;for(;!n.done;){const f=n.value,g=D(f);l+g<=s?e[e.length-1]+=f:(e.push(f),l=0),(f===ae||f===je)&&(a=!0,o=r.startsWith(Se,p+1)),a?o?f===Ce&&(a=!1,o=!1):f===Ve&&(a=!1):(l+=g,l===s&&!c.done&&(e.push(\"\"),l=0)),n=c,c=i.next(),p+=f.length}u=e.at(-1),!l&&u!==void 0&&u.length>0&&e.length>1&&(e[e.length-2]+=e.pop())},St=e=>{const r=e.split(\" \");let s=r.length;for(;s>0&&!(D(r[s-1])>0);)s--;return s===r.length?e:r.slice(0,s).join(\" \")+r.slice(s).join(\"\")},It=(e,r,s={})=>{if(s.trim!==!1&&e.trim()===\"\")return\"\";let i=\"\",a,o;const u=e.split(\" \"),l=Ct(u);let n=[\"\"];for(const[$,m]of u.entries()){s.trim!==!1&&(n[n.length-1]=(n.at(-1)??\"\").trimStart());let d=D(n.at(-1)??\"\");if($!==0&&(d>=r&&(s.wordWrap===!1||s.trim===!1)&&(n.push(\"\"),d=0),(d>0||s.trim===!1)&&(n[n.length-1]+=\" \",d++)),s.hard&&l[$]>r){const F=r-d,y=1+Math.floor((l[$]-F-1)/r);Math.floor((l[$]-1)/r)<y&&n.push(\"\"),Ie(n,m,r);continue}if(d+l[$]>r&&d>0&&l[$]>0){if(s.wordWrap===!1&&d<r){Ie(n,m,r);continue}n.push(\"\")}if(d+l[$]>r&&s.wordWrap===!1){Ie(n,m,r);continue}n[n.length-1]+=m}s.trim!==!1&&(n=n.map($=>St($)));const c=n.join(`\n`),p=c[Symbol.iterator]();let f=p.next(),g=p.next(),E=0;for(;!f.done;){const $=f.value,m=g.value;if(i+=$,$===ae||$===je){He.lastIndex=E+1;const y=He.exec(c)?.groups;if(y?.code!==void 0){const v=Number.parseFloat(y.code);a=v===vt?void 0:v}else y?.uri!==void 0&&(o=y.uri.length===0?void 0:y.uri)}const d=a?At(a):void 0;m===`\n`?(o&&(i+=Ke(\"\")),a&&d&&(i+=Ue(d))):$===`\n`&&(a&&d&&(i+=Ue(a)),o&&(i+=Ke(o))),E+=$.length,f=g,g=p.next()}return i};function J(e,r,s){return String(e).normalize().replaceAll(`\\r\n`,`\n`).split(`\n`).map(i=>It(i,r,s)).join(`\n`)}const bt=(e,r,s,i,a)=>{let o=r,u=0;for(let l=s;l<i;l++){const n=e[l];if(o=o-n.length,u++,o<=a)break}return{lineCount:o,removals:u}},X=({cursor:e,options:r,style:s,output:i=process.stdout,maxItems:a=Number.POSITIVE_INFINITY,columnPadding:o=0,rowPadding:u=4})=>{const l=Y(i)-o,n=tt(i),c=t(\"dim\",\"...\"),p=Math.max(n-u,0),f=Math.max(Math.min(a,p),5);let g=0;e>=f-3&&(g=Math.max(Math.min(e-f+3,r.length-f),0));let E=f<r.length&&g>0,$=f<r.length&&g+f<r.length;const m=Math.min(g+f,r.length),d=[];let F=0;E&&F++,$&&F++;const y=g+(E?1:0),v=m-($?1:0);for(let A=y;A<v;A++){const b=J(s(r[A],A===e),l,{hard:!0,trim:!1}).split(`\n`);d.push(b),F+=b.length}if(F>p){let A=0,b=0,w=F;const S=e-y,T=(M,O)=>bt(d,w,M,O,p);E?({lineCount:w,removals:A}=T(0,S),w>p&&({lineCount:w,removals:b}=T(S+1,d.length))):({lineCount:w,removals:b}=T(S+1,d.length),w>p&&({lineCount:w,removals:A}=T(0,S))),A>0&&(E=!0,d.splice(0,A)),b>0&&($=!0,d.splice(d.length-b,b))}const C=[];E&&C.push(c);for(const A of d)for(const b of A)C.push(b);return $&&C.push(c),C};function qe(e){return e.label??String(e.value??\"\")}function Je(e,r){if(!e)return!0;const s=(r.label??String(r.value??\"\")).toLowerCase(),i=(r.hint??\"\").toLowerCase(),a=String(r.value).toLowerCase(),o=e.toLowerCase();return s.includes(o)||i.includes(o)||a.includes(o)}function Bt(e,r){const s=[];for(const i of r)e.includes(i.value)&&s.push(i);return s}const Xe=e=>new Be({options:e.options,initialValue:e.initialValue?[e.initialValue]:void 0,initialUserInput:e.initialUserInput,filter:e.filter??((r,s)=>Je(r,s)),signal:e.signal,input:e.input,output:e.output,validate:e.validate,render(){const r=e.withGuide??_.withGuide,s=r?[`${t(\"gray\",h)}`,`${W(this.state)} ${e.message}`]:[`${W(this.state)} ${e.message}`],i=this.userInput,a=this.options,o=e.placeholder,u=i===\"\"&&o!==void 0,l=(n,c)=>{const p=qe(n),f=n.hint&&n.value===this.focusedValue?t(\"dim\",` (${n.hint})`):\"\";switch(c){case\"active\":return`${t(\"green\",z)} ${p}${f}`;case\"inactive\":return`${t(\"dim\",H)} ${t(\"dim\",p)}`;case\"disabled\":return`${t(\"gray\",H)} ${t([\"strikethrough\",\"gray\"],p)}`}};switch(this.state){case\"submit\":{const n=Bt(this.selectedValues,a),c=n.length>0?` ${t(\"dim\",n.map(qe).join(\", \"))}`:\"\",p=r?t(\"gray\",h):\"\";return`${s.join(`\n`)}\n${p}${c}`}case\"cancel\":{const n=i?` ${t([\"strikethrough\",\"dim\"],i)}`:\"\",c=r?t(\"gray\",h):\"\";return`${s.join(`\n`)}\n${c}${n}`}default:{const n=this.state===\"error\"?\"yellow\":\"cyan\",c=r?`${t(n,h)} `:\"\",p=r?t(n,x):\"\";let f=\"\";if(this.isNavigating||u){const y=u?o:i;f=y!==\"\"?` ${t(\"dim\",y)}`:\"\"}else f=` ${this.userInputWithCursor}`;const g=this.filteredOptions.length!==a.length?t(\"dim\",` (${this.filteredOptions.length} match${this.filteredOptions.length===1?\"\":\"es\"})`):\"\",E=this.filteredOptions.length===0&&i?[`${c}${t(\"yellow\",\"No matches found\")}`]:[],$=this.state===\"error\"?[`${c}${t(\"yellow\",this.error)}`]:[];r&&s.push(`${c.trimEnd()}`),s.push(`${c}${t(\"dim\",\"Search:\")}${f}${g}`,...E,...$);const m=[`${t(\"dim\",\"\\u2191/\\u2193\")} to select`,`${t(\"dim\",\"Enter:\")} confirm`,`${t(\"dim\",\"Type:\")} to search`],d=[`${c}${m.join(\" \\u2022 \")}`,p],F=this.filteredOptions.length===0?[]:X({cursor:this.cursor,options:this.filteredOptions,columnPadding:r?3:0,rowPadding:s.length+d.length,style:(y,v)=>l(y,y.disabled?\"disabled\":v?\"active\":\"inactive\"),maxItems:e.maxItems,output:e.output});return[...s,...F.map(y=>`${c}${y}`),...d].join(`\n`)}}}}).prompt(),xt=e=>{const r=(i,a,o,u)=>{const l=o.includes(i.value),n=i.label??String(i.value??\"\"),c=i.hint&&u!==void 0&&i.value===u?t(\"dim\",` (${i.hint})`):\"\",p=l?t(\"green\",U):t(\"dim\",q);return i.disabled?`${t(\"gray\",q)} ${t([\"strikethrough\",\"gray\"],n)}`:a?`${p} ${n}${c}`:`${p} ${t(\"dim\",n)}`},s=new Be({options:e.options,multiple:!0,filter:e.filter??((i,a)=>Je(i,a)),validate:()=>{if(e.required&&s.selectedValues.length===0)return\"Please select at least one item\"},initialValue:e.initialValues,signal:e.signal,input:e.input,output:e.output,render(){const i=`${t(\"gray\",h)}\n${W(this.state)} ${e.message}\n`,a=this.userInput,o=e.placeholder,u=a===\"\"&&o!==void 0,l=this.isNavigating||u?t(\"dim\",u?o:a):this.userInputWithCursor,n=this.options,c=this.filteredOptions.length!==n.length?t(\"dim\",` (${this.filteredOptions.length} match${this.filteredOptions.length===1?\"\":\"es\"})`):\"\";switch(this.state){case\"submit\":return`${i}${t(\"gray\",h)} ${t(\"dim\",`${this.selectedValues.length} items selected`)}`;case\"cancel\":return`${i}${t(\"gray\",h)} ${t([\"strikethrough\",\"dim\"],a)}`;default:{const p=this.state===\"error\"?\"yellow\":\"cyan\",f=[`${t(\"dim\",\"\\u2191/\\u2193\")} to navigate`,`${t(\"dim\",this.isNavigating?\"Space/Tab:\":\"Tab:\")} select`,`${t(\"dim\",\"Enter:\")} confirm`,`${t(\"dim\",\"Type:\")} to search`],g=this.filteredOptions.length===0&&a?[`${t(p,h)} ${t(\"yellow\",\"No matches found\")}`]:[],E=this.state===\"error\"?[`${t(p,h)} ${t(\"yellow\",this.error)}`]:[],$=[...`${i}${t(p,h)}`.split(`\n`),`${t(p,h)} ${t(\"dim\",\"Search:\")} ${l}${c}`,...g,...E],m=[`${t(p,h)} ${f.join(\" \\u2022 \")}`,t(p,x)],d=X({cursor:this.cursor,options:this.filteredOptions,style:(F,y)=>r(F,y,this.selectedValues,this.focusedValue),maxItems:e.maxItems,output:e.output,rowPadding:$.length+m.length});return[...$,...d.map(F=>`${t(p,h)} ${F}`),...m].join(`\n`)}}}});return s.prompt()},_t=[Ge,pe,ge,me],Dt=[he,Oe,x,Pe];function Ye(e,r,s,i){let a=s,o=s;return i===\"center\"?a=Math.floor((r-e)/2):i===\"right\"&&(a=r-e-s),o=r-a-e,[a,o]}const Tt=e=>e,Mt=(e=\"\",r=\"\",s)=>{const i=s?.output??process.stdout,a=Y(i),o=2,u=s?.titlePadding??1,l=s?.contentPadding??2,n=s?.width===void 0||s.width===\"auto\"?1:Math.min(1,s.width),c=s?.withGuide??_.withGuide?`${h} `:\"\",p=s?.formatBorder??Tt,f=(s?.rounded?_t:Dt).map(p),g=p(se),E=p(h),$=D(c),m=D(r),d=a-$;let F=Math.floor(a*n)-$;if(s?.width===\"auto\"){const T=e.split(`\n`);let M=m+u*2;for(const le of T){const k=D(le)+l*2;k>M&&(M=k)}const O=M+o;O<F&&(F=O)}F%2!==0&&(F<d?F++:F--);const y=F-o,v=y-u*2,C=m>v?`${r.slice(0,v-3)}...`:r,[A,b]=Ye(D(C),y,u,s?.titleAlign),w=J(e,y-l*2,{hard:!0,trim:!1});i.write(`${c}${f[0]}${g.repeat(A)}${C}${g.repeat(b)}${f[1]}\n`);const S=w.split(`\n`);for(const T of S){const[M,O]=Ye(D(T),y,l,s?.contentAlign);i.write(`${c}${E}${\" \".repeat(M)}${T}${\" \".repeat(O)}${E}\n`)}i.write(`${c}${f[2]}${g.repeat(y)}${f[3]}\n`)},Rt=e=>{const r=e.active??\"Yes\",s=e.inactive??\"No\";return new st({active:r,inactive:s,signal:e.signal,input:e.input,output:e.output,initialValue:e.initialValue??!0,render(){const i=e.withGuide??_.withGuide,a=`${i?`${t(\"gray\",h)}\n`:\"\"}${W(this.state)} ${e.message}\n`,o=this.value?r:s;switch(this.state){case\"submit\":{const u=i?`${t(\"gray\",h)} `:\"\";return`${a}${u}${t(\"dim\",o)}`}case\"cancel\":{const u=i?`${t(\"gray\",h)} `:\"\";return`${a}${u}${t([\"strikethrough\",\"dim\"],o)}${i?`\n${t(\"gray\",h)}`:\"\"}`}default:{const u=i?`${t(\"cyan\",h)} `:\"\",l=i?t(\"cyan\",x):\"\";return`${a}${u}${this.value?`${t(\"green\",z)} ${r}`:`${t(\"dim\",H)} ${t(\"dim\",r)}`}${e.vertical?i?`\n${t(\"cyan\",h)} `:`\n`:` ${t(\"dim\",\"/\")} `}${this.value?`${t(\"dim\",H)} ${t(\"dim\",s)}`:`${t(\"green\",z)} ${s}`}\n${l}\n`}}}}).prompt()},Ot=async(e,r)=>{const s={},i=Object.keys(e);for(const a of i){const o=e[a],u=await o({results:s})?.catch(l=>{throw l});if(typeof r?.onCancel==\"function\"&&rt(u)){s[a]=\"canceled\",r.onCancel({results:s});continue}s[a]=u}return s},Pt=e=>{const{selectableGroups:r=!0,groupSpacing:s=0}=e,i=(o,u,l=[])=>{const n=o.label??String(o.value),c=typeof o.group==\"string\",p=c&&(l[l.indexOf(o)+1]??{group:!0}),f=c&&p&&p.group===!0,g=c?r?`${f?x:h} `:\" \":\"\";let E=\"\";if(s>0&&!c){const m=`\n${t(\"cyan\",h)}`;E=`${m.repeat(s-1)}${m} `}if(u===\"active\")return`${E}${t(\"dim\",g)}${t(\"cyan\",te)} ${n}${o.hint?` ${t(\"dim\",`(${o.hint})`)}`:\"\"}`;if(u===\"group-active\")return`${E}${g}${t(\"cyan\",te)} ${t(\"dim\",n)}`;if(u===\"group-active-selected\")return`${E}${g}${t(\"green\",U)} ${t(\"dim\",n)}`;if(u===\"selected\"){const m=c||r?t(\"green\",U):\"\";return`${E}${t(\"dim\",g)}${m} ${t(\"dim\",n)}${o.hint?` ${t(\"dim\",`(${o.hint})`)}`:\"\"}`}if(u===\"cancelled\")return`${t([\"strikethrough\",\"dim\"],n)}`;if(u===\"active-selected\")return`${E}${t(\"dim\",g)}${t(\"green\",U)} ${n}${o.hint?` ${t(\"dim\",`(${o.hint})`)}`:\"\"}`;if(u===\"submitted\")return`${t(\"dim\",n)}`;const $=c||r?t(\"dim\",q):\"\";return`${E}${t(\"dim\",g)}${$} ${t(\"dim\",n)}`},a=e.required??!0;return new it({options:e.options,signal:e.signal,input:e.input,output:e.output,initialValues:e.initialValues,required:a,cursorAt:e.cursorAt,selectableGroups:r,validate(o){if(a&&(o===void 0||o.length===0))return`Please select at least one option.\n${t(\"reset\",t(\"dim\",`Press ${t([\"gray\",\"bgWhite\",\"inverse\"],\" space \")} to select, ${t(\"gray\",t([\"bgWhite\",\"inverse\"],\" enter \"))} to submit`))}`},render(){const o=`${t(\"gray\",h)}\n${W(this.state)} ${e.message}\n`,u=this.value??[];switch(this.state){case\"submit\":{const l=this.options.filter(({value:c})=>u.includes(c)).map(c=>i(c,\"submitted\")),n=l.length===0?\"\":` ${l.join(t(\"dim\",\", \"))}`;return`${o}${t(\"gray\",h)}${n}`}case\"cancel\":{const l=this.options.filter(({value:n})=>u.includes(n)).map(n=>i(n,\"cancelled\")).join(t(\"dim\",\", \"));return`${o}${t(\"gray\",h)} ${l.trim()?`${l}\n${t(\"gray\",h)}`:\"\"}`}case\"error\":{const l=this.error.split(`\n`).map((n,c)=>c===0?`${t(\"yellow\",x)} ${t(\"yellow\",n)}`:` ${n}`).join(`\n`);return`${o}${t(\"yellow\",h)} ${this.options.map((n,c,p)=>{const f=u.includes(n.value)||n.group===!0&&this.isGroupSelected(`${n.value}`),g=c===this.cursor;return!g&&typeof n.group==\"string\"&&this.options[this.cursor].value===n.group?i(n,f?\"group-active-selected\":\"group-active\",p):g&&f?i(n,\"active-selected\",p):f?i(n,\"selected\",p):i(n,g?\"active\":\"inactive\",p)}).join(`\n${t(\"yellow\",h)} `)}\n${l}\n`}default:{const l=this.options.map((c,p,f)=>{const g=u.includes(c.value)||c.group===!0&&this.isGroupSelected(`${c.value}`),E=p===this.cursor,$=!E&&typeof c.group==\"string\"&&this.options[this.cursor].value===c.group;let m=\"\";return $?m=i(c,g?\"group-active-selected\":\"group-active\",f):E&&g?m=i(c,\"active-selected\",f):g?m=i(c,\"selected\",f):m=i(c,E?\"active\":\"inactive\",f),`${p!==0&&!m.startsWith(`\n`)?\" \":\"\"}${m}`}).join(`\n${t(\"cyan\",h)}`),n=l.startsWith(`\n`)?\"\":\" \";return`${o}${t(\"cyan\",h)}${n}${l}\n${t(\"cyan\",x)}\n`}}}}).prompt()},R={message:(e=[],{symbol:r=t(\"gray\",h),secondarySymbol:s=t(\"gray\",h),output:i=process.stdout,spacing:a=1,withGuide:o}={})=>{const u=[],l=o??_.withGuide,n=l?s:\"\",c=l?`${r} `:\"\",p=l?`${s} `:\"\";for(let g=0;g<a;g++)u.push(n);const f=Array.isArray(e)?e:e.split(`\n`);if(f.length>0){const[g,...E]=f;g.length>0?u.push(`${c}${g}`):u.push(l?r:\"\");for(const $ of E)$.length>0?u.push(`${p}${$}`):u.push(l?s:\"\")}i.write(`${u.join(`\n`)}\n`)},info:(e,r)=>{R.message(e,{...r,symbol:t(\"blue\",fe)})},success:(e,r)=>{R.message(e,{...r,symbol:t(\"green\",Fe)})},step:(e,r)=>{R.message(e,{...r,symbol:t(\"green\",V)})},warn:(e,r)=>{R.message(e,{...r,symbol:t(\"yellow\",ye)})},warning:(e,r)=>{R.warn(e,r)},error:(e,r)=>{R.message(e,{...r,symbol:t(\"red\",Ee)})}},Nt=(e=\"\",r)=>{const s=r?.output??process.stdout,i=r?.withGuide??_.withGuide?`${t(\"gray\",x)} `:\"\";s.write(`${i}${t(\"red\",e)}\n\n`)},Wt=(e=\"\",r)=>{const s=r?.output??process.stdout,i=r?.withGuide??_.withGuide?`${t(\"gray\",he)} `:\"\";s.write(`${i}${e}\n`)},Gt=(e=\"\",r)=>{const s=r?.output??process.stdout,i=r?.withGuide??_.withGuide?`${t(\"gray\",h)}\n${t(\"gray\",x)} `:\"\";s.write(`${i}${e}\n\n`)},Q=(e,r)=>e.split(`\n`).map(s=>r(s)).join(`\n`),Lt=e=>{const r=(i,a)=>{const o=i.label??String(i.value);return a===\"disabled\"?`${t(\"gray\",q)} ${Q(o,u=>t([\"strikethrough\",\"gray\"],u))}${i.hint?` ${t(\"dim\",`(${i.hint??\"disabled\"})`)}`:\"\"}`:a===\"active\"?`${t(\"cyan\",te)} ${o}${i.hint?` ${t(\"dim\",`(${i.hint})`)}`:\"\"}`:a===\"selected\"?`${t(\"green\",U)} ${Q(o,u=>t(\"dim\",u))}${i.hint?` ${t(\"dim\",`(${i.hint})`)}`:\"\"}`:a===\"cancelled\"?`${Q(o,u=>t([\"strikethrough\",\"dim\"],u))}`:a===\"active-selected\"?`${t(\"green\",U)} ${o}${i.hint?` ${t(\"dim\",`(${i.hint})`)}`:\"\"}`:a===\"submitted\"?`${Q(o,u=>t(\"dim\",u))}`:`${t(\"dim\",q)} ${Q(o,u=>t(\"dim\",u))}`},s=e.required??!0;return new nt({options:e.options,signal:e.signal,input:e.input,output:e.output,initialValues:e.initialValues,required:s,cursorAt:e.cursorAt,validate(i){if(s&&(i===void 0||i.length===0))return`Please select at least one option.\n${t(\"reset\",t(\"dim\",`Press ${t([\"gray\",\"bgWhite\",\"inverse\"],\" space \")} to select, ${t(\"gray\",t(\"bgWhite\",t(\"inverse\",\" enter \")))} to submit`))}`},render(){const i=j(e.output,e.message,`${ve(this.state)} `,`${W(this.state)} `),a=`${t(\"gray\",h)}\n${i}\n`,o=this.value??[],u=(l,n)=>{if(l.disabled)return r(l,\"disabled\");const c=o.includes(l.value);return n&&c?r(l,\"active-selected\"):c?r(l,\"selected\"):r(l,n?\"active\":\"inactive\")};switch(this.state){case\"submit\":{const l=this.options.filter(({value:c})=>o.includes(c)).map(c=>r(c,\"submitted\")).join(t(\"dim\",\", \"))||t(\"dim\",\"none\"),n=j(e.output,l,`${t(\"gray\",h)} `);return`${a}${n}`}case\"cancel\":{const l=this.options.filter(({value:c})=>o.includes(c)).map(c=>r(c,\"cancelled\")).join(t(\"dim\",\", \"));if(l.trim()===\"\")return`${a}${t(\"gray\",h)}`;const n=j(e.output,l,`${t(\"gray\",h)} `);return`${a}${n}\n${t(\"gray\",h)}`}case\"error\":{const l=`${t(\"yellow\",h)} `,n=this.error.split(`\n`).map((f,g)=>g===0?`${t(\"yellow\",x)} ${t(\"yellow\",f)}`:` ${f}`).join(`\n`),c=a.split(`\n`).length,p=n.split(`\n`).length+1;return`${a}${l}${X({output:e.output,options:this.options,cursor:this.cursor,maxItems:e.maxItems,columnPadding:l.length,rowPadding:c+p,style:u}).join(`\n${l}`)}\n${n}\n`}default:{const l=`${t(\"cyan\",h)} `,n=a.split(`\n`).length;return`${a}${l}${X({output:e.output,options:this.options,cursor:this.cursor,maxItems:e.maxItems,columnPadding:l.length,rowPadding:n+2,style:u}).join(`\n${l}`)}\n${t(\"cyan\",x)}\n`}}}}).prompt()},jt=e=>t(\"dim\",e),kt=(e,r,s)=>{const i={hard:!0,trim:!1},a=J(e,r,i).split(`\n`),o=a.reduce((n,c)=>Math.max(D(c),n),0),u=a.map(s).reduce((n,c)=>Math.max(D(c),n),0),l=r-(u-o);return J(e,l,i)},Vt=(e=\"\",r=\"\",s)=>{const i=s?.output??N.stdout,a=s?.withGuide??_.withGuide,o=s?.format??jt,u=[\"\",...kt(e,Y(i)-6,o).split(`\n`).map(o),\"\"],l=D(r),n=Math.max(u.reduce((g,E)=>{const $=D(E);return $>g?$:g},0),l)+2,c=u.map(g=>`${t(\"gray\",h)} ${g}${\" \".repeat(n-D(g))}${t(\"gray\",h)}`).join(`\n`),p=a?`${t(\"gray\",h)}\n`:\"\",f=a?We:ge;i.write(`${p}${t(\"green\",V)} ${t(\"reset\",r)} ${t(\"gray\",se.repeat(Math.max(n-l-1,1))+pe)}\n${c}\n${t(\"gray\",f+se.repeat(n+2)+me)}\n`)},Ht=e=>new at({validate:e.validate,mask:e.mask??Ne,signal:e.signal,input:e.input,output:e.output,render(){const r=e.withGuide??_.withGuide,s=`${r?`${t(\"gray\",h)}\n`:\"\"}${W(this.state)} ${e.message}\n`,i=this.userInputWithCursor,a=this.masked;switch(this.state){case\"error\":{const o=r?`${t(\"yellow\",h)} `:\"\",u=r?`${t(\"yellow\",x)} `:\"\",l=a??\"\";return e.clearOnError&&this.clear(),`${s.trim()}\n${o}${l}\n${u}${t(\"yellow\",this.error)}\n`}case\"submit\":{const o=r?`${t(\"gray\",h)} `:\"\",u=a?t(\"dim\",a):\"\";return`${s}${o}${u}`}case\"cancel\":{const o=r?`${t(\"gray\",h)} `:\"\",u=a?t([\"strikethrough\",\"dim\"],a):\"\";return`${s}${o}${u}${a&&r?`\n${t(\"gray\",h)}`:\"\"}`}default:{const o=r?`${t(\"cyan\",h)} `:\"\",u=r?t(\"cyan\",x):\"\";return`${s}${o}${i}\n${u}\n`}}}}).prompt(),Ut=e=>{const r=e.validate;return Xe({...e,initialUserInput:e.initialValue??e.root??process.cwd(),maxItems:5,validate(s){if(!Array.isArray(s)){if(!s)return\"Please select a path\";if(r)return r(s)}},options(){const s=this.userInput;if(s===\"\")return[];try{let i;return dt(s)?xe(s).isDirectory()?i=s:i=_e(s):i=_e(s),$t(i).map(a=>{const o=ht(i,a),u=xe(o);return{name:a,path:o,isDirectory:u.isDirectory()}}).filter(({path:a,isDirectory:o})=>a.startsWith(s)&&(e.directory||!o)).map(a=>({value:a.path}))}catch{return[]}}})},Kt=e=>t(\"magenta\",e),be=({indicator:e=\"dots\",onCancel:r,output:s=process.stdout,cancelMessage:i,errorMessage:a,frames:o=ee?[\"\\u25D2\",\"\\u25D0\",\"\\u25D3\",\"\\u25D1\"]:[\"\\u2022\",\"o\",\"O\",\"0\"],delay:u=ee?80:120,signal:l,...n}={})=>{const c=ce();let p,f,g=!1,E=!1,$=\"\",m,d=performance.now();const F=Y(s),y=n?.styleFrame??Kt,v=B=>{const P=B>1?a??_.messages.error:i??_.messages.cancel;E=B===1,g&&(k(P,B),E&&typeof r==\"function\"&&r())},C=()=>v(2),A=()=>v(1),b=()=>{process.on(\"uncaughtExceptionMonitor\",C),process.on(\"unhandledRejection\",C),process.on(\"SIGINT\",A),process.on(\"SIGTERM\",A),process.on(\"exit\",v),l&&l.addEventListener(\"abort\",A)},w=()=>{process.removeListener(\"uncaughtExceptionMonitor\",C),process.removeListener(\"unhandledRejection\",C),process.removeListener(\"SIGINT\",A),process.removeListener(\"SIGTERM\",A),process.removeListener(\"exit\",v),l&&l.removeEventListener(\"abort\",A)},S=()=>{if(m===void 0)return;c&&s.write(`\n`);const B=J(m,F,{hard:!0,trim:!1}).split(`\n`);B.length>1&&s.write(De.up(B.length-1)),s.write(De.to(0)),s.write(Te.down())},T=B=>B.replace(/\\.+$/,\"\"),M=B=>{const P=(performance.now()-B)/1e3,G=Math.floor(P/60),L=Math.floor(P%60);return G>0?`[${G}m ${L}s]`:`[${L}s]`},O=n.withGuide??_.withGuide,le=(B=\"\")=>{g=!0,p=ot({output:s}),$=T(B),d=performance.now(),O&&s.write(`${t(\"gray\",h)}\n`);let P=0,G=0;b(),f=setInterval(()=>{if(c&&$===m)return;S(),m=$;const L=y(o[P]);let Z;if(c)Z=`${L} ${$}...`;else if(e===\"timer\")Z=`${L} ${$} ${M(d)}`;else{const et=\".\".repeat(Math.floor(G)).slice(0,3);Z=`${L} ${$}${et}`}const Ze=J(Z,F,{hard:!0,trim:!1});s.write(Ze),P=P+1<o.length?P+1:0,G=G<4?G+.125:0},u)},k=(B=\"\",P=0,G=!1)=>{if(!g)return;g=!1,clearInterval(f),S();const L=P===0?t(\"green\",V):P===1?t(\"red\",$e):t(\"red\",de);$=B??$,G||(e===\"timer\"?s.write(`${L} ${$} ${M(d)}\n`):s.write(`${L} ${$}\n`)),w(),p()};return{start:le,stop:(B=\"\")=>k(B,0),message:(B=\"\")=>{$=T(B??$)},cancel:(B=\"\")=>k(B,1),error:(B=\"\")=>k(B,2),clear:()=>k(\"\",0,!0),get isCancelled(){return E}}},ze={light:I(\"\\u2500\",\"-\"),heavy:I(\"\\u2501\",\"=\"),block:I(\"\\u2588\",\"#\")};function qt({style:e=\"heavy\",max:r=100,size:s=40,...i}={}){const a=be(i);let o=0,u=\"\";const l=Math.max(1,r),n=Math.max(1,s),c=E=>{switch(E){case\"initial\":case\"active\":return $=>t(\"magenta\",$);case\"error\":case\"cancel\":return $=>t(\"red\",$);case\"submit\":return $=>t(\"green\",$);default:return $=>t(\"magenta\",$)}},p=(E,$)=>{const m=Math.floor(o/l*n);return`${c(E)(ze[e].repeat(m))}${t(\"dim\",ze[e].repeat(n-m))} ${$}`},f=(E=\"\")=>{u=E,a.start(p(\"initial\",E))},g=(E=1,$)=>{o=Math.min(l,E+o),a.message(p(\"active\",$??u)),u=$??u};return{start:f,stop:a.stop,cancel:a.cancel,error:a.error,clear:a.clear,advance:g,isCancelled:a.isCancelled,message:E=>g(0,E)}}const oe=(e,r)=>e.includes(`\n`)?e.split(`\n`).map(s=>r(s)).join(`\n`):r(e),Jt=e=>{const r=(s,i)=>{const a=s.label??String(s.value);switch(i){case\"disabled\":return`${t(\"gray\",H)} ${oe(a,o=>t(\"gray\",o))}${s.hint?` ${t(\"dim\",`(${s.hint??\"disabled\"})`)}`:\"\"}`;case\"selected\":return`${oe(a,o=>t(\"dim\",o))}`;case\"active\":return`${t(\"green\",z)} ${a}${s.hint?` ${t(\"dim\",`(${s.hint})`)}`:\"\"}`;case\"cancelled\":return`${oe(a,o=>t([\"strikethrough\",\"dim\"],o))}`;default:return`${t(\"dim\",H)} ${oe(a,o=>t(\"dim\",o))}`}};return new lt({options:e.options,signal:e.signal,input:e.input,output:e.output,initialValue:e.initialValue,render(){const s=e.withGuide??_.withGuide,i=`${W(this.state)} `,a=`${ve(this.state)} `,o=j(e.output,e.message,a,i),u=`${s?`${t(\"gray\",h)}\n`:\"\"}${o}\n`;switch(this.state){case\"submit\":{const l=s?`${t(\"gray\",h)} `:\"\",n=j(e.output,r(this.options[this.cursor],\"selected\"),l);return`${u}${n}`}case\"cancel\":{const l=s?`${t(\"gray\",h)} `:\"\",n=j(e.output,r(this.options[this.cursor],\"cancelled\"),l);return`${u}${n}${s?`\n${t(\"gray\",h)}`:\"\"}`}default:{const l=s?`${t(\"cyan\",h)} `:\"\",n=s?t(\"cyan\",x):\"\",c=u.split(`\n`).length,p=s?2:1;return`${u}${l}${X({output:e.output,cursor:this.cursor,options:this.options,maxItems:e.maxItems,columnPadding:l.length,rowPadding:c+p,style:(f,g)=>r(f,f.disabled?\"disabled\":g?\"active\":\"inactive\")}).join(`\n${l}`)}\n${n}\n`}}}}).prompt()},Xt=e=>{const r=(s,i=\"inactive\")=>{const a=s.label??String(s.value);return i===\"selected\"?`${t(\"dim\",a)}`:i===\"cancelled\"?`${t([\"strikethrough\",\"dim\"],a)}`:i===\"active\"?`${t([\"bgCyan\",\"gray\"],` ${s.value} `)} ${a}${s.hint?` ${t(\"dim\",`(${s.hint})`)}`:\"\"}`:`${t([\"gray\",\"bgWhite\",\"inverse\"],` ${s.value} `)} ${a}${s.hint?` ${t(\"dim\",`(${s.hint})`)}`:\"\"}`};return new ut({options:e.options,signal:e.signal,input:e.input,output:e.output,initialValue:e.initialValue,caseSensitive:e.caseSensitive,render(){const s=e.withGuide??_.withGuide,i=`${s?`${t(\"gray\",h)}\n`:\"\"}${W(this.state)} ${e.message}\n`;switch(this.state){case\"submit\":{const a=s?`${t(\"gray\",h)} `:\"\",o=this.options.find(l=>l.value===this.value)??e.options[0],u=j(e.output,r(o,\"selected\"),a);return`${i}${u}`}case\"cancel\":{const a=s?`${t(\"gray\",h)} `:\"\",o=j(e.output,r(this.options[0],\"cancelled\"),a);return`${i}${o}${s?`\n${t(\"gray\",h)}`:\"\"}`}default:{const a=s?`${t(\"cyan\",h)} `:\"\",o=s?t(\"cyan\",x):\"\",u=this.options.map((l,n)=>j(e.output,r(l,n===this.cursor?\"active\":\"inactive\"),a)).join(`\n`);return`${i}${u}\n${o}\n`}}}}).prompt()},Qe=`${t(\"gray\",h)} `,K={message:async(e,{symbol:r=t(\"gray\",h)}={})=>{process.stdout.write(`${t(\"gray\",h)}\n${r} `);let s=3;for await(let i of e){i=i.replace(/\\n/g,`\n${Qe}`),i.includes(`\n`)&&(s=3+ue(i.slice(i.lastIndexOf(`\n`))).length);const a=ue(i).length;s+a<process.stdout.columns?(s+=a,process.stdout.write(i)):(process.stdout.write(`\n${Qe}${i.trimStart()}`),s=3+ue(i.trimStart()).length)}process.stdout.write(`\n`)},info:e=>K.message(e,{symbol:t(\"blue\",fe)}),success:e=>K.message(e,{symbol:t(\"green\",Fe)}),step:e=>K.message(e,{symbol:t(\"green\",V)}),warn:e=>K.message(e,{symbol:t(\"yellow\",ye)}),warning:e=>K.warn(e),error:e=>K.message(e,{symbol:t(\"red\",Ee)})},Yt=async(e,r)=>{for(const s of e){if(s.enabled===!1)continue;const i=be(r);i.start(s.title);const a=await s.task(i.message);i.stop(a||s.title)}},zt=e=>e.replace(/\\x1b\\[(?:\\d+;)*\\d*[ABCDEFGHfJKSTsu]|\\x1b\\[(s|u)/g,\"\"),Qt=e=>{const r=e.output??process.stdout,s=Y(r),i=t(\"gray\",h),a=e.spacing??1,o=3,u=e.retainLog===!0,l=!ce()&&Me(r);r.write(`${i}\n`),r.write(`${t(\"green\",V)} ${e.title}\n`);for(let d=0;d<a;d++)r.write(`${i}\n`);const n=[{value:\"\",full:\"\"}];let c=!1;const p=d=>{if(n.length===0)return;let F=0;d&&(F+=a+2);for(const y of n){const{value:v,result:C}=y;let A=C?.message??v;if(A.length===0)continue;C===void 0&&y.header!==void 0&&y.header!==\"\"&&(A+=`\n${y.header}`);const b=A.split(`\n`).reduce((w,S)=>S===\"\"?w+1:w+Math.ceil((S.length+o)/s),0);F+=b}F>0&&(F+=1,r.write(Te.lines(F)))},f=(d,F,y)=>{const v=y?`${d.full}\n${d.value}`:d.value;d.header!==void 0&&d.header!==\"\"&&R.message(d.header.split(`\n`).map(C=>t(\"bold\",C)),{output:r,secondarySymbol:i,symbol:i,spacing:0}),R.message(v.split(`\n`).map(C=>t(\"dim\",C)),{output:r,secondarySymbol:i,symbol:i,spacing:F??a})},g=()=>{for(const d of n){const{header:F,value:y,full:v}=d;(F===void 0||F.length===0)&&y.length===0||f(d,void 0,u===!0&&v.length>0)}},E=(d,F,y)=>{if(p(!1),(y?.raw!==!0||!c)&&d.value!==\"\"&&(d.value+=`\n`),d.value+=zt(F),c=y?.raw===!0,e.limit!==void 0){const v=d.value.split(`\n`),C=v.length-e.limit;if(C>0){const A=v.splice(0,C);u&&(d.full+=(d.full===\"\"?\"\":`\n`)+A.join(`\n`))}d.value=v.join(`\n`)}l&&$()},$=()=>{for(const d of n)d.result?d.result.status===\"error\"?R.error(d.result.message,{output:r,secondarySymbol:i,spacing:0}):R.success(d.result.message,{output:r,secondarySymbol:i,spacing:0}):d.value!==\"\"&&f(d,0)},m=(d,F)=>{p(!1),d.result=F,l&&$()};return{message(d,F){E(n[0],d,F)},group(d){const F={header:d,value:\"\",full:\"\"};return n.push(F),{message(y,v){E(F,y,v)},error(y){m(F,{status:\"error\",message:y})},success(y){m(F,{status:\"success\",message:y})}}},error(d,F){p(!0),R.error(d,{output:r,secondarySymbol:i,spacing:1}),F?.showLog!==!1&&g(),n.splice(1,n.length-1),n[0].value=\"\",n[0].full=\"\"},success(d,F){p(!0),R.success(d,{output:r,secondarySymbol:i,spacing:1}),F?.showLog===!0&&g(),n.splice(1,n.length-1),n[0].value=\"\",n[0].full=\"\"}}},Zt=e=>new ct({validate:e.validate,placeholder:e.placeholder,defaultValue:e.defaultValue,initialValue:e.initialValue,output:e.output,signal:e.signal,input:e.input,render(){const r=e?.withGuide??_.withGuide,s=`${`${r?`${t(\"gray\",h)}\n`:\"\"}${W(this.state)} `}${e.message}\n`,i=e.placeholder?t(\"inverse\",e.placeholder[0])+t(\"dim\",e.placeholder.slice(1)):t([\"inverse\",\"hidden\"],\"_\"),a=this.userInput?this.userInputWithCursor:i,o=this.value??\"\";switch(this.state){case\"error\":{const u=this.error?` ${t(\"yellow\",this.error)}`:\"\",l=r?`${t(\"yellow\",h)} `:\"\",n=r?t(\"yellow\",x):\"\";return`${s.trim()}\n${l}${a}\n${n}${u}\n`}case\"submit\":{const u=o?` ${t(\"dim\",o)}`:\"\",l=r?t(\"gray\",h):\"\";return`${s}${l}${u}`}case\"cancel\":{const u=o?` ${t([\"strikethrough\",\"dim\"],o)}`:\"\",l=r?t(\"gray\",h):\"\";return`${s}${l}${u}${o.trim()?`\n${l}`:\"\"}`}default:{const u=r?`${t(\"cyan\",h)} `:\"\",l=r?t(\"cyan\",x):\"\";return`${s}${u}${a}\n${l}\n`}}}}).prompt();export{h as S_BAR,x as S_BAR_END,Pe as S_BAR_END_RIGHT,se as S_BAR_H,he as S_BAR_START,Oe as S_BAR_START_RIGHT,te as S_CHECKBOX_ACTIVE,q as S_CHECKBOX_INACTIVE,U as S_CHECKBOX_SELECTED,We as S_CONNECT_LEFT,ge as S_CORNER_BOTTOM_LEFT,me as S_CORNER_BOTTOM_RIGHT,Ge as S_CORNER_TOP_LEFT,pe as S_CORNER_TOP_RIGHT,Ee as S_ERROR,fe as S_INFO,Ne as S_PASSWORD_MASK,z as S_RADIO_ACTIVE,H as S_RADIO_INACTIVE,Re as S_STEP_ACTIVE,$e as S_STEP_CANCEL,de as S_STEP_ERROR,V as S_STEP_SUBMIT,Fe as S_SUCCESS,ye as S_WARN,Xe as autocomplete,xt as autocompleteMultiselect,Mt as box,Nt as cancel,Rt as confirm,Ot as group,Pt as groupMultiselect,Wt as intro,ce as isCI,Me as isTTY,X as limitOptions,R as log,Lt as multiselect,Vt as note,Gt as outro,Ht as password,Ut as path,qt as progress,Jt as select,Xt as selectKey,be as spinner,K as stream,W as symbol,ve as symbolBar,Qt as taskLog,Yt as tasks,Zt as text,ee as unicode,I as unicodeOr};\n//# sourceMappingURL=index.mjs.map\n","import process from 'node:process'\nimport { select } from '@clack/prompts'\nimport kleur from 'kleur'\nimport { maskKey, queryQuota, readConfig, validateKey, writeConfig } from 'tinyimg-core'\n\nexport async function keyAdd(key: string): Promise<void> {\n try {\n // Validate key using tinify API\n const isValid = await validateKey(key)\n\n if (!isValid) {\n console.error(kleur.red('✗ Invalid API key. Please check your key and try again.'))\n process.exit(1)\n }\n\n // Read config, add key, write back\n const config = readConfig()\n\n // Check if key already exists\n const existingKey = config.keys.find(k => k.key === key)\n if (existingKey) {\n console.warn(kleur.yellow(`⚠ API key ${maskKey(key)} already exists in config.`))\n process.exit(0)\n }\n\n // Add new key with metadata\n config.keys.push({\n key,\n valid: true,\n lastCheck: new Date().toISOString(),\n })\n\n writeConfig(config)\n\n console.log(kleur.green(`✓ API key ${maskKey(key)} added successfully.`))\n }\n catch (error: any) {\n if (error.message?.includes('credentials') || error.message?.includes('Unauthorized')) {\n console.error(kleur.red('✗ Invalid API key. Please check your key and try again.'))\n process.exit(1)\n }\n\n // Network or other errors\n console.error(kleur.red(`✗ Error validating key: ${error.message}`))\n process.exit(1)\n }\n}\n\nexport async function keyRemove(key?: string): Promise<void> {\n try {\n const config = readConfig()\n\n if (config.keys.length === 0) {\n console.warn(kleur.yellow('⚠ No API keys configured. Use \"tinyimg key add <key>\" to add one.'))\n process.exit(0)\n }\n\n let keyToRemove: string\n\n // If no key provided, use interactive selection\n if (!key) {\n const options = config.keys.map(k => ({\n value: k.key,\n label: `${maskKey(k.key)} ${k.valid ? '(valid)' : '(invalid)'}`,\n }))\n\n const selected = await select({\n message: 'Select API key to remove:',\n options,\n })\n\n if (typeof selected !== 'string') {\n console.log(kleur.yellow('Operation cancelled.'))\n process.exit(0)\n }\n\n keyToRemove = selected\n }\n else {\n keyToRemove = key\n }\n\n // Find and remove the key\n const keyIndex = config.keys.findIndex(k => k.key === keyToRemove)\n\n if (keyIndex === -1) {\n console.error(kleur.red(`✗ API key ${maskKey(keyToRemove)} not found.`))\n process.exit(1)\n }\n\n const removedKey = config.keys.splice(keyIndex, 1)[0]\n writeConfig(config)\n\n console.log(kleur.green(`✓ API key ${maskKey(removedKey.key)} removed successfully.`))\n }\n catch (error: any) {\n console.error(kleur.red(`✗ Error removing key: ${error.message}`))\n process.exit(1)\n }\n}\n\nexport async function keyList(): Promise<void> {\n try {\n const config = readConfig()\n\n if (config.keys.length === 0) {\n console.log(kleur.yellow('⚠ No API keys configured.'))\n console.log(kleur.gray('Use \"tinyimg key add <key>\" to add one.'))\n process.exit(0)\n }\n\n console.log(kleur.bold('\\nAPI Keys:\\n'))\n\n for (const keyMeta of config.keys) {\n const masked = maskKey(keyMeta.key)\n const status = keyMeta.valid ? kleur.green('✓ Valid') : kleur.red('✗ Invalid')\n const lastCheck = new Date(keyMeta.lastCheck).toLocaleString()\n\n console.log(` ${masked} - ${status}`)\n\n try {\n const remaining = await queryQuota(keyMeta.key)\n const quotaInfo = kleur.gray(` Quota: ${remaining}/500 remaining | Last check: ${lastCheck}`)\n console.log(quotaInfo)\n }\n catch {\n const quotaInfo = kleur.yellow(` Quota: Unable to query | Last check: ${lastCheck}`)\n console.log(quotaInfo)\n }\n\n console.log() // Empty line between keys\n }\n }\n catch (error: any) {\n console.error(kleur.red(`✗ Error listing keys: ${error.message}`))\n process.exit(1)\n }\n}\n","#!/usr/bin/env node\nimport process from 'node:process'\nimport cac from 'cac'\nimport kleur from 'kleur'\nimport { compressCommand } from './commands/compress'\nimport { keyAdd, keyList, keyRemove } from './commands/key'\n\nconst cli = cac('tinyimg')\n\n// Main compression command\ncli\n .command('[...inputs]', 'Compress images (PNG, JPG, JPEG)')\n .option('-o, --output <dir>', 'Output directory (default: overwrite in place)')\n .option('-k, --key <key>', 'API key (overrides environment and config)')\n .option('-m, --mode <mode>', 'Key selection strategy (random|round-robin|priority)', {\n default: 'random',\n })\n .option('-p, --parallel <number>', 'Concurrency limit (default: 8)', {\n default: '8',\n })\n .option('-c, --cache', 'Enable caching (default: true)', { default: true })\n .option('--no-cache', 'Disable caching')\n .action(async (inputs: string[], options: any) => {\n try {\n await compressCommand(inputs, options)\n }\n catch (error: any) {\n console.error(kleur.red(`Error: ${error.message}`))\n process.exit(1)\n }\n })\n\n// Key management subcommands\ncli\n .command('key add <key>', 'Add API key')\n .action(async (key: string) => {\n try {\n await keyAdd(key)\n }\n catch (error: any) {\n console.error(kleur.red(`Error: ${error.message}`))\n process.exit(1)\n }\n })\n\ncli\n .command('key remove [key]', 'Remove API key (interactive if not specified)')\n .action(async (key?: string) => {\n try {\n await keyRemove(key)\n }\n catch (error: any) {\n console.error(kleur.red(`Error: ${error.message}`))\n process.exit(1)\n }\n })\n\ncli\n .command('key', 'List all API keys with quota info')\n .action(async () => {\n try {\n await keyList()\n }\n catch (error: any) {\n console.error(kleur.red(`Error: ${error.message}`))\n process.exit(1)\n }\n })\n\ncli.help()\ncli.parse()\n\nexport async function main() {\n // CLI logic is already executed via cli.parse() at module level\n // This export is for testing/programmatic use\n}\n"],"x_google_ignoreList":[3,4,5],"mappings":"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I,OAAK,MAAI,OAAK,KAAG,OAAK,KAAG,OAAK,MAAI,OAAK,KAAG,OAAK,KAAG,OAAK,MAAI,OAAK,MAAI,OAAK,MAAI,OAAK,MAAI,OAAK,MAAI,OAAK,KAAG,OAAK,KAAG,OAAK,MAAI,OAAK,MAAI,OAAK,MAAI,OAAK,MAAI,OAAK,MAAI,OAAK,MAAI,OAAK,MAAI,OAAK,MAAI,OAAK,MAAI,OAAK,KAAG,OAAK,KAAG,OAAK,MAAI,OAAK,KAAG,OAAK,KAAG,OAAK,MAAI,OAAK,KAAG,OAAK,KAAG,OAAK,MAAI,OAAK,MAAI,OAAK,MAAI,OAAK,MAAI,OAAK,MAAI,OAAK,MAAI,OAAK,MAAI,OAAK,MAAI,OAAK,MAAI,OAAK,MAAI,OAAK,MAAI,OAAK,MAAI,OAAK,MAAI,OAAK,MAAI,OAAK,MAAI,OAAK,MAAI,OAAK,MAAI,OAAK,MAAI,OAAK,KAAG,OAAK,KAAG,OAAK,MAAI,OAAK,MAAI,OAAK,KAAG,OAAK,KAAG,OAAK,MAAI,OAAK,MAAI,OAAK,KAAG,OAAK,KAAG,OAAK,KAAG,OAAK,KAAG,OAAK,KAAG,OAAK,KAAG,OAAK,KAAG,OAAK,KAAG,OAAK,KAAG,OAAK,KAAG,OAAK,MAAI,QAAM,KAAG,QAAM,KAAG,QAAM,MAAI,QAAM,MAAI,QAAM,KAAG,QAAM,KAAG,QAAM,MAAI,QAAM,MAAI,QAAM,MAAI,QAAM,MAAI,QAAM,KAAG,QAAM,KAAG,QAAM,KAAG,QAAM,KAAG,QAAM,MAAI,QAAM,MAAI,QAAM,MAAI,QAAM,MAAI,QAAM,MAAI,QAAM,MAAI,QAAM,MAAI,QAAM,MAAI,QAAM,KAAG,QAAM,KAAG,QAAM,MAAI,QAAM,MAAI,QAAM,MAAI,QAAM,MAAI,QAAM,MAAI,QAAM,MAAI,QAAM,MAAI,QAAM,MAAI,QAAM,MAAI,QAAM,MAAI,QAAM,MAAI,QAAM,MAAI,QAAM,KAAG,QAAM,KAAG,QAAM,KAAG,QAAM,KAAG,QAAM,KAAG,QAAM,KAAG,QAAM,MAAI,QAAM,KAAG,QAAM,KAAG,QAAM,MAAI,QAAM,MAAI,QAAM,MAAI,QAAM,MAAI,QAAM,MAAI,QAAM,MAAI,QAAM,MAAI,QAAM,MAAI,QAAM,MAAI,QAAM,MAAI,QAAM,MAAI,QAAM,MAAI,QAAM,MAAI,QAAM,MAAI,QAAM,MAAI,QAAM,KAAG,QAAM,KAAG,QAAM,MAAI,QAAM,MAAI,QAAM,KAAG,QAAM,KAAG,QAAM,MAAI,QAAM,KAAG,QAAM,KAAG,QAAM,MAAI,QAAM,MAAI,QAAM,MAAI,QAAM,MAAI,QAAM,MAAI,QAAM,MAAI,QAAM,MAAI,QAAM,KAAG,QAAM,KAAG,QAAM,MAAI,QAAM,MAAI,QAAM,MAAI,QAAM,MAAI,QAAM,MAAI,QAAM,MAAI,QAAM,MAAI,QAAM,MAAI,QAAM,MAAI,QAAM,MAAI,QAAM,MAAI,QAAM,MAAI,QAAM,MAAI,QAAM,KAAG,QAAM,KAAG,QAAM,KAAG,QAAM,KAAG,QAAM,KAAG,QAAM,KAAG,QAAM,KAAG,QAAM,KAAG,QAAM,KAAG,QAAM,KAAG,QAAM,MAAI,QAAM,MAAI,QAAM,KAAG,QAAM,KAAG,QAAM,MAAI,QAAM,MAAI,QAAM,MAAI,QAAM,MAAI,QAAM,MAAI,QAAM,MAAI,QAAM,MAAI,QAAM,MAAI,QAAM,KAAG,QAAM,KAAG,QAAM,MAAI,QAAM,KAAG,QAAM,KAAG,QAAM,KAAG,QAAM,KAAG,QAAM,MAAI,QAAM,MAAI,QAAM,MAAI,QAAM,MAAI,QAAM,MAAI,QAAM,MAAI,QAAM,MAAI,QAAM,MAAI,QAAM,MAAI,QAAM,MAAI,QAAM,MAAI,QAAM,MAAI,QAAM,KAAG,QAAM,KAAG,QAAM,KAAG,QAAM,KAAG,QAAM,MAAI,QAAM,MAAI,QAAM,MAAI,QAAM,MAAI,QAAM,MAAI,QAAM,MAAI,QAAM,KAAG,QAAM,KAAG,QAAM,KAAG,QAAM,KAAG,QAAM,KAAG,QAAM,KAAG,QAAM,MAAI,QAAM,MAAI,QAAM,MAAI,QAAM,KAAG,QAAM,KAAG,QAAM,MAAI,QAAM,KAAG,QAAM,KAAG,QAAM,MAAI,QAAM,MAAI,QAAM,MAAI,QAAM,MAAI,QAAM,MAAI,SAAO,KAAG,SAAO,KAAG,SAAO,KAAG,SAAO,KAAG,SAAO,KAAG,SAAO,KAAG,SAAO,KAAG,SAAO,KAAG,SAAO,KAAG,SAAO,KAAG,SAAO,MAAI,SAAO,KAAG,UAAQ,KAAG,UAAQ,KAAG,UAAQ,KAAG,UAAQ,KAAG,UAAQ,KAAG,UAAQ,KAAG,UAAQ,KAAG,UAAQ,MAAI,UAAQ,MAAI,UAAQ,KAAG,UAAQ,KAAG,UAAQ,KAAG,UAAQ,KAAG,UAAQ,KAAG,UAAQ,KAAG,WAAS,KAAG,WAAS,KAAG,SAAQ,MAAG,MAAG,MAAI,SAAO,KAAG,SAAO,KAAG,SAAO,KAAG,SAAO,KAAG,OAAM,MAAG,MAAG,KAAG,QAAM,KAAG,QAAM,MAAI,QAAM,MAAI,QAAM,MAAI,QAAM,MAAI,QAAM,KAAG,QAAM,KAAG,QAAM,MAAI,QAAM,MAAI,QAAM,MAAI,QAAM,MAAI,QAAM,MAAI,QAAM,MAAI,QAAM,KAAG,QAAM,KAAG,QAAM,MAAI,QAAM,MAAI,QAAM,MAAI,QAAM,MAAI,QAAM,MAAI,QAAM,MAAI,QAAM,MAAI,QAAM,MAAI,QAAM,MAAI,QAAM,MAAI,QAAM,MAAI,QAAM,MAAI,QAAM,MAAI,QAAM,MAAI,QAAM,MAAI,QAAM,MAAI,QAAM,MAAI,QAAM,MAAI,QAAM,MAAI,QAAM,MAAI,QAAM,MAAI,SAAO,MAAI,SAAO,MAAI,SAAO,KAAG,SAAO,KAAG,SAAO,MAAI,SAAO,KAAG,SAAO,KAAG,SAAO,MAAI,SAAO,MAAI,SAAO,MAAI,SAAO,MAAI,SAAO,MAAI,SAAO,MAAI,SAAO,KAAG,SAAO,KAAG,SAAO,KAAG,SAAO,KAAG,SAAO,KAAG,SAAO,KAAG,SAAO,KAAG,SAAO,KAAG,SAAO,KAAG,SAAO,KAAG,SAAO,KAAG,SAAO,KAAG,SAAO,KAAG,SAAO,KAAG,SAAO,KAAG,SAAO,KAAG,SAAO,KAAG,SAAO,KAAG,SAAO,KAAG,SAAO,KAAG,SAAO,KAAG,SAAO,KAAG,SAAO,KAAG,SAAO,KAAG,SAAO,KAAG,SAAO,KAAG,SAAO,KAAG,SAAO,KAAG,SAAO,KAAG,SAAO,KAAG,SAAO,KAAG,SAAO,KAAG,SAAO,KAAG,SAAO,KAAG,SAAO,KAAG,SAAO,KAAG,SAAO,KAAG,SAAO,KAAG,SAAO,KAAG,SAAO,KAAG,SAAO,KAAG,SAAO,KAAG,SAAO,KAAG,SAAO,KAAG,SAAO,KAAG,SAAO,KAA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,KAAG,QAAM,MAAI,QAAM,MAAI,QAAM,MAAI,QAAM,MAAI,QAAM,MAAI,QAAM,MAAI,QAAM,MAAI,QAAM,MAAI,QAAM,MAAI,QAAM,MAAI,QAAM,MAAI,QAAM,MAAI,QAAM,KAAG,QAAM,KAAG,QAAM,KAAG,QAAM,KAAG,QAAM,KAAG,QAAM,KAAG,QAAM,MAAI,QAAM,KAAG,QAAM,KAAG,QAAM,MAAI,QAAM,MAAI,QAAM,MAAI,QAAM,MAAI,QAAM,MAAI,QAAM,MAAI,QAAM,MAAI,QAAM,MAAI,QAAM,MAAI,QAAM,MAAI,QAAM,MAAI,QAAM,MAAI,QAAM,MAAI,QAAM,MAAI,QAAM,MAAI,QAAM,KAAG,QAAM,KAAG,QAAM,MAAI,QAAM,MAAI,QAAM,KAAG,QAAM,KAAG,QAAM,MAAI,QAAM,KAAG,QAAM,KAAG,QAAM,MAAI,QAAM,MAAI,QAAM,MAAI,QAAM,MAAI,QAAM,MAAI,QAAM,MAAI,QAAM,MAAI,QAAM,KAAG,QAAM,KAAG,QAAM,MAAI,QAAM,MAAI,QAAM,MAAI,QAAM,MAAI,QAAM,MAAI,QAAM,MAAI,QAAM,MAAI,QAAM,MAAI,QAAM,MAAI,QAAM,MAAI,QAAM,MAAI,QAAM,MAAI,QAAM,MAAI,QAAM,KAAG,QAAM,KAAG,QAAM,KAAG,QAAM,KAAG,QAAM,KAAG,QAAM,KAAG,QAAM,KAAG,QAAM,KAAG,QAAM,KAAG,QAAM,KAAG,QAAM,MAAI,QAAM,MAAI,QAAM,KAAG,QAAM,KAAG,QAAM,MAAI,QAAM,MAAI,QAAM,MAAI,QAAM,MAAI,QAAM,MAAI,QAAM,MAAI,QAAM,MAAI,QAAM,MAAI,QAAM,KAAG,QAAM,KAAG,QAAM,MAAI,QAAM,KAAG,QAAM,KAAG,QAAM,KAAG,QAAM,KAAG,QAAM,MAAI,QAAM,MAAI,QAAM,MAAI,QAAM,MAAI,QAAM,MAAI,QAAM,MAAI,QAAM,MAAI,QAAM,MAAI,QAAM,MAAI,QAAM,MAAI,QAAM,MAAI,QAAM,MAAI,QAAM,KAAG,QAAM,KAAG,QAAM,KAAG,QAAM,KAAG,QAAM,MAAI,QAAM,MAAI,QAAM,MAAI,QAAM,MAAI,QAAM,MAAI,QAAM,MAAI,QAAM,KAAG,QAAM,KAAG,QAAM,KAAG,QAAM,KAAG,QAAM,KAAG,QAAM,KAAG,QAAM,MAAI,QAAM,MAAI,QAAM,MAAI,QAAM,KAAG,QAAM,KAAG,QAAM,MAAI,QAAM,KAAG,QAAM,KAAG,QAAM,MAAI,QAAM,MAAI,QAAM,MAAI,QAAM,MAAI,QAAM,MAAI,SAAO,KAAG,SAAO,KAAG,SAAO,KAAG,SAAO,KAAG,SAAO,KAAG,SAAO,KAAG,SAAO,KAAG,SAAO,KAAG,SAAO,KAAG,SAAO,KAAG,SAAO,MAAI,SAAO,KAAG,UAAQ,KAAG,UAAQ,KAAG,UAAQ,KAAG,UAAQ,KAAG,UAAQ,KAAG,UAAQ,KAAG,UAAQ,KAAG,UAAQ,MAAI,UAAQ,MAAI,UAAQ,KAAG,UAAQ,KAAG,UAAQ,KAAG,UAAQ,KAAG,UAAQ,KAAG,UAAQ,KAAG,WAAS,KAAG,WAAS,KAAG,SAAQ,MAAG,MAAG,MAAI,SAAO,KAAG,SAAO,KAAG,SAAO,KAAG,SAAO,KAAG,OAAM,MAAG,MAAG,KAAG,QAAM,KAAG,QAAM,MAAI,QAAM,MAAI,QAAM,MAAI,QAAM,MAAI,QAAM,KAAG,QAAM,KAAG,QAAM,MAAI,QAAM,MAAI,QAAM,MAAI,QAAM,MAAI,QAAM,MAAI,QAAM,MAAI,QAAM,KAAG,QAAM,KAAG,QAAM,MAAI,QAAM,MAAI,QAAM,MAAI,QAAM,MAAI,QAAM,MAAI,QAAM,MAAI,QAAM,MAAI,QAAM,MAAI,QAAM,MAAI,QAAM,MAAI,QAAM,MAAI,QAAM,MAAI,QAAM,MAAI,QAAM,MAAI,QAAM,MAAI,QAAM,MAAI,QAAM,MAAI,QAAM,MAAI,QAAM,MAAI,QAAM,MAAI,QAAM,MAAI,SAAO,MAAI,SAAO,MAAI,SAAO,KAAG,SAAO,KAAG,SAAO,MAAI,SAAO,KAAG,SAAO,KAAG,SAAO,MAAI,SAAO,MAAI,SAAO,MAAI,SAAO,MAAI,SAAO,MAAI,SAAO,MAAI,SAAO,KAAG,SAAO,KAAG,SAAO,KAAG,SAAO,KAAG,SAAO,KAAG,SAAO,KAAG,SAAO,KAAG,SAAO,KAAG,SAAO,KAAG,SAAO,KAAG,SAAO,KAAG,SAAO,KAAG,SAAO,KAAG,SAAO,KAAG,SAAO,KAAG,SAAO,KAAG,SAAO,KAAG,SAAO,KAAG,SAAO,KAAG,SAAO,KAAG,SAAO,KAAG,SAAO,KAAG,SAAO,KAAG,SAAO,KAAG,SAAO,KAAG,SAAO,KAAG,SAAO,KAAG,SAAO,KAAG,SAAO,KAAG,SAAO,KAAG,SAAO,KAAG,SAAO,KAAG,SAAO,KAAG,SAAO,KAAG,SAAO,KAAG,SAAO,KAAG,SAAO,KAAG,SAAO,KAAG,SAAO,KAAG,SAAO,KAAG,SAAO,KAAG,SAAO,KAAG,SAAO,KAAG,SAAO,KAAG,SAAO,KAAG,SAAO,KAAG,SAAO,MAAI,SAAO,MAAI,SAAO,KAAG,SAAO,KAAG,UAAQ,KAAG,UAAQ,KAAG,UAAQ,KAAG,UAAQ,KAAG,UAAQ,KAAG,UAAQ,KAAG,UAAQ,KAAG,UAAQ,KAAG,UAAQ,MAAI,UAAQ,MAAI,UAAQ,KAAG,UAAQ,KAAG,UAAQ,MAAI,UAAQ,KAAG,UAAQ,KAAG,UAAQ,MAAI,UAAQ,KAAG,UAAQ,KAAG,UAAQ,KAAG,UAAQ,KAAG,UAAQ,MAAI,UAAQ,MAAI,UAAQ,MAAI,UAAQ,KAAG,UAAQ,KAAG,UAAQ,KAAG,UAAQ,KAAG,UAAQ,KAAG,UAAQ,KAAG,UAAQ,KAAG,UAAQ,KAAG,UAAQ,MAAI,UAAQ,MAAI,UAAQ,KAAG,UAAQ,KAAG,UAAQ,KAAG,UAAQ,KAAG,UAAQ,KAAG,UAAQ,KAAG,UAAQ,KAAG,UAAQ,KAAG,UAAQ,KAAG,UAAQ,KAAG,UAAQ,KAAG,UAAQ,KAAG,UAAQ,KAAG,UAAQ,KAAG,UAAQ,KAAG,UAAQ,KAAG,UAAQ,MAAI,UAAQ,KAAG,UAAQ,KAAG,UAAQ,MAAI,UAAQ,KAAG,UAAQ,KAAG,UAAQ,KAAG,UAAQ,KAAG,UAAQ,KAAG,UAAQ,KAAG,UAAQ,KAAG,UAAQ,KAAG,UAAQ,MAAI,UAAQ,MAAI,UAAQ,MAAI,UAAQ,MAAI,UAAQ,KAAG,UAAQ,KAAG,UAAQ,KAAG,UAAQ,KAAG,UAAQ,MAAI,UAAQ,KAAG,UAAQ,KAAG,UAAQ,KAAG,UAAQ,KAAG,UAAQ,KAAG,UAAQ,KAAG,UAAQ,MAAI,UAAQ,MAAI,UAAQ,KAAG,UAAQ,KAAG,UAAQ,KAAG,UAAQ,KAAG,UAAQ,MAAI,UAAQ,KAAG,UAAQ,KAAG,UAAQ,KAAG,UAAQ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"}
|
|
1
|
+
{"version":3,"file":"index.mjs","names":["x","ft","X","pt","Ft","Q","U","mt","gt","vt","Et","K","H","_t","bt","z","Ct","W","xt","q","R","J","I","Bt","N","wt","Dt","St","Vt","#t","D","#e","#i","#r","#n","#s","kt","yt","Lt","Mt","Tt","Wt","N","t","Y","tt","Be","st","rt","it","nt","j","at","dt","xe","_e","$t","ht","De","Te","ot","lt","ut","ue","ct","select"],"sources":["../src/utils/files.ts","../src/utils/format.ts","../src/commands/compress.ts","../../../node_modules/.pnpm/sisteransi@1.0.5/node_modules/sisteransi/src/index.js","../../../node_modules/.pnpm/@clack+core@1.1.0/node_modules/@clack/core/dist/index.mjs","../../../node_modules/.pnpm/@clack+prompts@1.1.0/node_modules/@clack/prompts/dist/index.mjs","../src/commands/key.ts","../src/cli.ts"],"sourcesContent":["import fs from 'node:fs/promises'\nimport path from 'node:path'\nimport fastGlob from 'fast-glob'\n\nconst IMAGE_EXTENSIONS = ['.png', '.jpg', '.jpeg'] as const\n\n// Regex for normalizing path separators in glob patterns\nconst BACKSLASH_REGEX = /\\\\/g\n\n/**\n * Expand input paths (files, directories, globs) to absolute file paths\n * Filters for supported image formats only\n */\nexport async function expandInputs(inputs: string[]): Promise<string[]> {\n const results: string[] = []\n\n for (const input of inputs) {\n try {\n const stat = await fs.stat(input)\n\n if (stat.isFile()) {\n // Single file\n if (isImageFile(input)) {\n results.push(path.resolve(input))\n }\n }\n else if (stat.isDirectory()) {\n // Directory - recursively find all image files\n const pattern = path.join(input, '**', '*').replace(BACKSLASH_REGEX, '/')\n const files = await fastGlob.glob(pattern, {\n absolute: true,\n onlyFiles: true,\n })\n results.push(...files.filter(isImageFile))\n }\n }\n catch {\n // Not a file or directory - try as glob pattern\n try {\n const files = await fastGlob.glob(input, {\n absolute: true,\n onlyFiles: true,\n })\n results.push(...files.filter(isImageFile))\n }\n catch {\n // Invalid pattern, skip\n continue\n }\n }\n }\n\n // Deduplicate\n return Array.from(new Set(results))\n}\n\n/**\n * Resolve output path for compressed image\n * If outputDir provided, join with basename of input\n * Otherwise, return input path (overwrite in place)\n */\nexport async function resolveOutputPath(inputPath: string, outputDir?: string): Promise<string> {\n if (outputDir) {\n const outputPath = path.join(outputDir, path.basename(inputPath))\n const absOutputPath = path.resolve(outputPath)\n\n // Create output directory if it doesn't exist\n await fs.mkdir(path.dirname(absOutputPath), { recursive: true })\n\n return absOutputPath\n }\n\n // No output directory - overwrite in place\n return path.resolve(inputPath)\n}\n\n/**\n * Check if file is a supported image format\n */\nexport function isImageFile(filePath: string): boolean {\n const ext = path.extname(filePath).toLowerCase()\n return IMAGE_EXTENSIONS.includes(ext as any)\n}\n","import path from 'node:path'\nimport kleur from 'kleur'\n\n/**\n * Format progress counter for batch compression\n */\nexport function formatProgress(current: number, total: number): string {\n return kleur.cyan(`Compressing ${current}/${total}...`)\n}\n\n/**\n * Format compression result with size comparison\n */\nexport function formatResult(\n inputPath: string,\n _outputPath: string,\n originalSize: number,\n compressedSize: number,\n): string {\n const basename = path.basename(inputPath)\n const savedBytes = originalSize - compressedSize\n const savedPercent = ((savedBytes / originalSize) * 100).toFixed(1)\n\n const originalStr = formatBytes(originalSize)\n const compressedStr = formatBytes(compressedSize)\n\n return `${kleur.green('✓')} ${kleur.yellow(`${basename}: ${originalStr} → ${compressedStr} (${savedPercent}% saved)`)}`\n}\n\n/**\n * Convert bytes to human readable format\n */\nexport function formatBytes(bytes: number): string {\n if (bytes < 1024) {\n return `${bytes}B`\n }\n if (bytes < 1024 * 1024) {\n return `${(bytes / 1024).toFixed(0)}KB`\n }\n return `${(bytes / (1024 * 1024)).toFixed(2)}MB`\n}\n","import type { CompressServiceOptions, KeyStrategy } from '@pz4l/tinyimg-core'\nimport type { Buffer } from 'node:buffer'\nimport fs from 'node:fs/promises'\nimport process from 'node:process'\nimport { AllCompressionFailedError, AllKeysExhaustedError, compressImages, KeyPool, NoValidKeysError } from '@pz4l/tinyimg-core'\nimport kleur from 'kleur'\nimport { expandInputs, resolveOutputPath } from '../utils/files'\nimport { formatProgress, formatResult } from '../utils/format'\n\ninterface CompressOptions {\n output?: string\n key?: string\n mode?: KeyStrategy\n parallel?: string\n cache?: boolean\n}\n\n/**\n * Main compression command handler\n */\nexport async function compressCommand(inputs: string[], options: CompressOptions): Promise<void> {\n // Validate inputs\n if (inputs.length === 0) {\n console.error(kleur.red('Error: No input files specified'))\n console.log('Usage: tinyimg [options] <input...>')\n process.exit(1)\n }\n\n // Expand inputs to file paths\n const files = await expandInputs(inputs)\n\n if (files.length === 0) {\n console.error(kleur.red('Error: No valid image files found'))\n console.log('Supported formats: PNG, JPG, JPEG')\n process.exit(1)\n }\n\n // Display configuration\n console.log(kleur.cyan('\\nConfiguration:'))\n console.log(` Mode: ${options.mode || 'random'}`)\n console.log(` Parallel: ${options.parallel || '8'}`)\n console.log(` Cache: ${options.cache !== false ? 'enabled' : 'disabled'}`)\n console.log(` Files: ${files.length}\\n`)\n\n // Read all files into buffers\n const buffers: Buffer[] = []\n for (const file of files) {\n try {\n const buffer = await fs.readFile(file)\n buffers.push(buffer)\n }\n catch (error: any) {\n console.error(kleur.red(`Error reading ${file}: ${error.message}`))\n process.exit(1)\n }\n }\n\n // Build compression options\n const compressOptions: CompressServiceOptions = {\n cache: options.cache !== false,\n concurrency: options.parallel ? Number.parseInt(options.parallel, 10) : 8,\n }\n\n // Add mode if specified\n if (options.mode) {\n compressOptions.mode = options.mode as any\n }\n\n // Create KeyPool if mode specified\n if (options.mode) {\n try {\n const pool = new KeyPool(options.mode)\n compressOptions.keyPool = pool\n }\n catch (error: any) {\n console.error(kleur.red(`Error: ${error.message}`))\n process.exit(1)\n }\n }\n\n // Compress all images\n try {\n const results = await compressImages(buffers, compressOptions)\n\n // Write results and display progress\n for (let i = 0; i < files.length; i++) {\n const inputFile = files[i]\n const originalBuffer = buffers[i]\n const compressedBuffer = results[i]\n const outputPath = await resolveOutputPath(inputFile, options.output)\n\n // Display progress\n console.log(formatProgress(i + 1, files.length))\n\n // Write compressed file\n await fs.writeFile(outputPath, compressedBuffer)\n\n // Display result\n console.log(formatResult(inputFile, outputPath, originalBuffer.length, compressedBuffer.length))\n }\n\n console.log(kleur.green('\\n✓ Compression complete'))\n }\n catch (error: any) {\n if (error instanceof AllKeysExhaustedError) {\n console.error(kleur.red('Error: All API keys have exhausted quota'))\n console.log('Please add more keys or wait for quota to reset')\n }\n else if (error instanceof NoValidKeysError) {\n console.error(kleur.red('Error: No valid API keys configured'))\n console.log('Please add API keys using: tinyimg key add <key>')\n }\n else if (error instanceof AllCompressionFailedError) {\n console.error(kleur.red('Error: All compression methods failed'))\n console.log('Please check your network connection and API status')\n }\n else {\n console.error(kleur.red(`Error: ${error.message}`))\n }\n process.exit(1)\n }\n}\n","'use strict';\n\nconst ESC = '\\x1B';\nconst CSI = `${ESC}[`;\nconst beep = '\\u0007';\n\nconst cursor = {\n to(x, y) {\n if (!y) return `${CSI}${x + 1}G`;\n return `${CSI}${y + 1};${x + 1}H`;\n },\n move(x, y) {\n let ret = '';\n\n if (x < 0) ret += `${CSI}${-x}D`;\n else if (x > 0) ret += `${CSI}${x}C`;\n\n if (y < 0) ret += `${CSI}${-y}A`;\n else if (y > 0) ret += `${CSI}${y}B`;\n\n return ret;\n },\n up: (count = 1) => `${CSI}${count}A`,\n down: (count = 1) => `${CSI}${count}B`,\n forward: (count = 1) => `${CSI}${count}C`,\n backward: (count = 1) => `${CSI}${count}D`,\n nextLine: (count = 1) => `${CSI}E`.repeat(count),\n prevLine: (count = 1) => `${CSI}F`.repeat(count),\n left: `${CSI}G`,\n hide: `${CSI}?25l`,\n show: `${CSI}?25h`,\n save: `${ESC}7`,\n restore: `${ESC}8`\n}\n\nconst scroll = {\n up: (count = 1) => `${CSI}S`.repeat(count),\n down: (count = 1) => `${CSI}T`.repeat(count)\n}\n\nconst erase = {\n screen: `${CSI}2J`,\n up: (count = 1) => `${CSI}1J`.repeat(count),\n down: (count = 1) => `${CSI}J`.repeat(count),\n line: `${CSI}2K`,\n lineEnd: `${CSI}K`,\n lineStart: `${CSI}1K`,\n lines(count) {\n let clear = '';\n for (let i = 0; i < count; i++)\n clear += this.line + (i < count - 1 ? cursor.up() : '');\n if (count)\n clear += cursor.left;\n return clear;\n }\n}\n\nmodule.exports = { cursor, scroll, erase, beep };\n","import{styleText as D}from\"node:util\";import{stdout as R,stdin as q}from\"node:process\";import*as k from\"node:readline\";import ot from\"node:readline\";import{cursor as I,erase as N}from\"sisteransi\";import{ReadStream as J}from\"node:tty\";function x(t,e,s){if(!s.some(u=>!u.disabled))return t;const i=t+e,r=Math.max(s.length-1,0),n=i<0?r:i>r?0:i;return s[n].disabled?x(n,e<0?-1:1,s):n}const at=t=>t===161||t===164||t===167||t===168||t===170||t===173||t===174||t>=176&&t<=180||t>=182&&t<=186||t>=188&&t<=191||t===198||t===208||t===215||t===216||t>=222&&t<=225||t===230||t>=232&&t<=234||t===236||t===237||t===240||t===242||t===243||t>=247&&t<=250||t===252||t===254||t===257||t===273||t===275||t===283||t===294||t===295||t===299||t>=305&&t<=307||t===312||t>=319&&t<=322||t===324||t>=328&&t<=331||t===333||t===338||t===339||t===358||t===359||t===363||t===462||t===464||t===466||t===468||t===470||t===472||t===474||t===476||t===593||t===609||t===708||t===711||t>=713&&t<=715||t===717||t===720||t>=728&&t<=731||t===733||t===735||t>=768&&t<=879||t>=913&&t<=929||t>=931&&t<=937||t>=945&&t<=961||t>=963&&t<=969||t===1025||t>=1040&&t<=1103||t===1105||t===8208||t>=8211&&t<=8214||t===8216||t===8217||t===8220||t===8221||t>=8224&&t<=8226||t>=8228&&t<=8231||t===8240||t===8242||t===8243||t===8245||t===8251||t===8254||t===8308||t===8319||t>=8321&&t<=8324||t===8364||t===8451||t===8453||t===8457||t===8467||t===8470||t===8481||t===8482||t===8486||t===8491||t===8531||t===8532||t>=8539&&t<=8542||t>=8544&&t<=8555||t>=8560&&t<=8569||t===8585||t>=8592&&t<=8601||t===8632||t===8633||t===8658||t===8660||t===8679||t===8704||t===8706||t===8707||t===8711||t===8712||t===8715||t===8719||t===8721||t===8725||t===8730||t>=8733&&t<=8736||t===8739||t===8741||t>=8743&&t<=8748||t===8750||t>=8756&&t<=8759||t===8764||t===8765||t===8776||t===8780||t===8786||t===8800||t===8801||t>=8804&&t<=8807||t===8810||t===8811||t===8814||t===8815||t===8834||t===8835||t===8838||t===8839||t===8853||t===8857||t===8869||t===8895||t===8978||t>=9312&&t<=9449||t>=9451&&t<=9547||t>=9552&&t<=9587||t>=9600&&t<=9615||t>=9618&&t<=9621||t===9632||t===9633||t>=9635&&t<=9641||t===9650||t===9651||t===9654||t===9655||t===9660||t===9661||t===9664||t===9665||t>=9670&&t<=9672||t===9675||t>=9678&&t<=9681||t>=9698&&t<=9701||t===9711||t===9733||t===9734||t===9737||t===9742||t===9743||t===9756||t===9758||t===9792||t===9794||t===9824||t===9825||t>=9827&&t<=9829||t>=9831&&t<=9834||t===9836||t===9837||t===9839||t===9886||t===9887||t===9919||t>=9926&&t<=9933||t>=9935&&t<=9939||t>=9941&&t<=9953||t===9955||t===9960||t===9961||t>=9963&&t<=9969||t===9972||t>=9974&&t<=9977||t===9979||t===9980||t===9982||t===9983||t===10045||t>=10102&&t<=10111||t>=11094&&t<=11097||t>=12872&&t<=12879||t>=57344&&t<=63743||t>=65024&&t<=65039||t===65533||t>=127232&&t<=127242||t>=127248&&t<=127277||t>=127280&&t<=127337||t>=127344&&t<=127373||t===127375||t===127376||t>=127387&&t<=127404||t>=917760&&t<=917999||t>=983040&&t<=1048573||t>=1048576&&t<=1114109,lt=t=>t===12288||t>=65281&&t<=65376||t>=65504&&t<=65510,ht=t=>t>=4352&&t<=4447||t===8986||t===8987||t===9001||t===9002||t>=9193&&t<=9196||t===9200||t===9203||t===9725||t===9726||t===9748||t===9749||t>=9800&&t<=9811||t===9855||t===9875||t===9889||t===9898||t===9899||t===9917||t===9918||t===9924||t===9925||t===9934||t===9940||t===9962||t===9970||t===9971||t===9973||t===9978||t===9981||t===9989||t===9994||t===9995||t===10024||t===10060||t===10062||t>=10067&&t<=10069||t===10071||t>=10133&&t<=10135||t===10160||t===10175||t===11035||t===11036||t===11088||t===11093||t>=11904&&t<=11929||t>=11931&&t<=12019||t>=12032&&t<=12245||t>=12272&&t<=12287||t>=12289&&t<=12350||t>=12353&&t<=12438||t>=12441&&t<=12543||t>=12549&&t<=12591||t>=12593&&t<=12686||t>=12688&&t<=12771||t>=12783&&t<=12830||t>=12832&&t<=12871||t>=12880&&t<=19903||t>=19968&&t<=42124||t>=42128&&t<=42182||t>=43360&&t<=43388||t>=44032&&t<=55203||t>=63744&&t<=64255||t>=65040&&t<=65049||t>=65072&&t<=65106||t>=65108&&t<=65126||t>=65128&&t<=65131||t>=94176&&t<=94180||t===94192||t===94193||t>=94208&&t<=100343||t>=100352&&t<=101589||t>=101632&&t<=101640||t>=110576&&t<=110579||t>=110581&&t<=110587||t===110589||t===110590||t>=110592&&t<=110882||t===110898||t>=110928&&t<=110930||t===110933||t>=110948&&t<=110951||t>=110960&&t<=111355||t===126980||t===127183||t===127374||t>=127377&&t<=127386||t>=127488&&t<=127490||t>=127504&&t<=127547||t>=127552&&t<=127560||t===127568||t===127569||t>=127584&&t<=127589||t>=127744&&t<=127776||t>=127789&&t<=127797||t>=127799&&t<=127868||t>=127870&&t<=127891||t>=127904&&t<=127946||t>=127951&&t<=127955||t>=127968&&t<=127984||t===127988||t>=127992&&t<=128062||t===128064||t>=128066&&t<=128252||t>=128255&&t<=128317||t>=128331&&t<=128334||t>=128336&&t<=128359||t===128378||t===128405||t===128406||t===128420||t>=128507&&t<=128591||t>=128640&&t<=128709||t===128716||t>=128720&&t<=128722||t>=128725&&t<=128727||t>=128732&&t<=128735||t===128747||t===128748||t>=128756&&t<=128764||t>=128992&&t<=129003||t===129008||t>=129292&&t<=129338||t>=129340&&t<=129349||t>=129351&&t<=129535||t>=129648&&t<=129660||t>=129664&&t<=129672||t>=129680&&t<=129725||t>=129727&&t<=129733||t>=129742&&t<=129755||t>=129760&&t<=129768||t>=129776&&t<=129784||t>=131072&&t<=196605||t>=196608&&t<=262141,O=/[\\u001b\\u009b][[()#;?]*(?:[0-9]{1,4}(?:;[0-9]{0,4})*)?[0-9A-ORZcf-nqry=><]/y,y=/[\\x00-\\x08\\x0A-\\x1F\\x7F-\\x9F]{1,1000}/y,L=/\\t{1,1000}/y,P=/[\\u{1F1E6}-\\u{1F1FF}]{2}|\\u{1F3F4}[\\u{E0061}-\\u{E007A}]{2}[\\u{E0030}-\\u{E0039}\\u{E0061}-\\u{E007A}]{1,3}\\u{E007F}|(?:\\p{Emoji}\\uFE0F\\u20E3?|\\p{Emoji_Modifier_Base}\\p{Emoji_Modifier}?|\\p{Emoji_Presentation})(?:\\u200D(?:\\p{Emoji_Modifier_Base}\\p{Emoji_Modifier}?|\\p{Emoji_Presentation}|\\p{Emoji}\\uFE0F\\u20E3?))*/yu,M=/(?:[\\x20-\\x7E\\xA0-\\xFF](?!\\uFE0F)){1,1000}/y,ct=/\\p{M}+/gu,ft={limit:1/0,ellipsis:\"\"},X=(t,e={},s={})=>{const i=e.limit??1/0,r=e.ellipsis??\"\",n=e?.ellipsisWidth??(r?X(r,ft,s).width:0),u=s.ansiWidth??0,a=s.controlWidth??0,l=s.tabWidth??8,E=s.ambiguousWidth??1,g=s.emojiWidth??2,m=s.fullWidthWidth??2,A=s.regularWidth??1,V=s.wideWidth??2;let h=0,o=0,p=t.length,v=0,F=!1,d=p,b=Math.max(0,i-n),C=0,w=0,c=0,f=0;t:for(;;){if(w>C||o>=p&&o>h){const ut=t.slice(C,w)||t.slice(h,o);v=0;for(const Y of ut.replaceAll(ct,\"\")){const $=Y.codePointAt(0)||0;if(lt($)?f=m:ht($)?f=V:E!==A&&at($)?f=E:f=A,c+f>b&&(d=Math.min(d,Math.max(C,h)+v)),c+f>i){F=!0;break t}v+=Y.length,c+=f}C=w=0}if(o>=p)break;if(M.lastIndex=o,M.test(t)){if(v=M.lastIndex-o,f=v*A,c+f>b&&(d=Math.min(d,o+Math.floor((b-c)/A))),c+f>i){F=!0;break}c+=f,C=h,w=o,o=h=M.lastIndex;continue}if(O.lastIndex=o,O.test(t)){if(c+u>b&&(d=Math.min(d,o)),c+u>i){F=!0;break}c+=u,C=h,w=o,o=h=O.lastIndex;continue}if(y.lastIndex=o,y.test(t)){if(v=y.lastIndex-o,f=v*a,c+f>b&&(d=Math.min(d,o+Math.floor((b-c)/a))),c+f>i){F=!0;break}c+=f,C=h,w=o,o=h=y.lastIndex;continue}if(L.lastIndex=o,L.test(t)){if(v=L.lastIndex-o,f=v*l,c+f>b&&(d=Math.min(d,o+Math.floor((b-c)/l))),c+f>i){F=!0;break}c+=f,C=h,w=o,o=h=L.lastIndex;continue}if(P.lastIndex=o,P.test(t)){if(c+g>b&&(d=Math.min(d,o)),c+g>i){F=!0;break}c+=g,C=h,w=o,o=h=P.lastIndex;continue}o+=1}return{width:F?b:c,index:F?d:p,truncated:F,ellipsed:F&&i>=n}},pt={limit:1/0,ellipsis:\"\",ellipsisWidth:0},S=(t,e={})=>X(t,pt,e).width,T=\"\\x1B\",Z=\"\\x9B\",Ft=39,j=\"\\x07\",Q=\"[\",dt=\"]\",tt=\"m\",U=`${dt}8;;`,et=new RegExp(`(?:\\\\${Q}(?<code>\\\\d+)m|\\\\${U}(?<uri>.*)${j})`,\"y\"),mt=t=>{if(t>=30&&t<=37||t>=90&&t<=97)return 39;if(t>=40&&t<=47||t>=100&&t<=107)return 49;if(t===1||t===2)return 22;if(t===3)return 23;if(t===4)return 24;if(t===7)return 27;if(t===8)return 28;if(t===9)return 29;if(t===0)return 0},st=t=>`${T}${Q}${t}${tt}`,it=t=>`${T}${U}${t}${j}`,gt=t=>t.map(e=>S(e)),G=(t,e,s)=>{const i=e[Symbol.iterator]();let r=!1,n=!1,u=t.at(-1),a=u===void 0?0:S(u),l=i.next(),E=i.next(),g=0;for(;!l.done;){const m=l.value,A=S(m);a+A<=s?t[t.length-1]+=m:(t.push(m),a=0),(m===T||m===Z)&&(r=!0,n=e.startsWith(U,g+1)),r?n?m===j&&(r=!1,n=!1):m===tt&&(r=!1):(a+=A,a===s&&!E.done&&(t.push(\"\"),a=0)),l=E,E=i.next(),g+=m.length}u=t.at(-1),!a&&u!==void 0&&u.length>0&&t.length>1&&(t[t.length-2]+=t.pop())},vt=t=>{const e=t.split(\" \");let s=e.length;for(;s>0&&!(S(e[s-1])>0);)s--;return s===e.length?t:e.slice(0,s).join(\" \")+e.slice(s).join(\"\")},Et=(t,e,s={})=>{if(s.trim!==!1&&t.trim()===\"\")return\"\";let i=\"\",r,n;const u=t.split(\" \"),a=gt(u);let l=[\"\"];for(const[h,o]of u.entries()){s.trim!==!1&&(l[l.length-1]=(l.at(-1)??\"\").trimStart());let p=S(l.at(-1)??\"\");if(h!==0&&(p>=e&&(s.wordWrap===!1||s.trim===!1)&&(l.push(\"\"),p=0),(p>0||s.trim===!1)&&(l[l.length-1]+=\" \",p++)),s.hard&&a[h]>e){const v=e-p,F=1+Math.floor((a[h]-v-1)/e);Math.floor((a[h]-1)/e)<F&&l.push(\"\"),G(l,o,e);continue}if(p+a[h]>e&&p>0&&a[h]>0){if(s.wordWrap===!1&&p<e){G(l,o,e);continue}l.push(\"\")}if(p+a[h]>e&&s.wordWrap===!1){G(l,o,e);continue}l[l.length-1]+=o}s.trim!==!1&&(l=l.map(h=>vt(h)));const E=l.join(`\n`),g=E[Symbol.iterator]();let m=g.next(),A=g.next(),V=0;for(;!m.done;){const h=m.value,o=A.value;if(i+=h,h===T||h===Z){et.lastIndex=V+1;const F=et.exec(E)?.groups;if(F?.code!==void 0){const d=Number.parseFloat(F.code);r=d===Ft?void 0:d}else F?.uri!==void 0&&(n=F.uri.length===0?void 0:F.uri)}const p=r?mt(r):void 0;o===`\n`?(n&&(i+=it(\"\")),r&&p&&(i+=st(p))):h===`\n`&&(r&&p&&(i+=st(r)),n&&(i+=it(n))),V+=h.length,m=A,A=g.next()}return i};function K(t,e,s){return String(t).normalize().replaceAll(`\\r\n`,`\n`).split(`\n`).map(i=>Et(i,e,s)).join(`\n`)}const At=[\"up\",\"down\",\"left\",\"right\",\"space\",\"enter\",\"cancel\"],_={actions:new Set(At),aliases:new Map([[\"k\",\"up\"],[\"j\",\"down\"],[\"h\",\"left\"],[\"l\",\"right\"],[\"\u0003\",\"cancel\"],[\"escape\",\"cancel\"]]),messages:{cancel:\"Canceled\",error:\"Something went wrong\"},withGuide:!0};function It(t){if(t.aliases!==void 0){const e=t.aliases;for(const s in e){if(!Object.hasOwn(e,s))continue;const i=e[s];_.actions.has(i)&&(_.aliases.has(s)||_.aliases.set(s,i))}}if(t.messages!==void 0){const e=t.messages;e.cancel!==void 0&&(_.messages.cancel=e.cancel),e.error!==void 0&&(_.messages.error=e.error)}t.withGuide!==void 0&&(_.withGuide=t.withGuide!==!1)}function H(t,e){if(typeof t==\"string\")return _.aliases.get(t)===e;for(const s of t)if(s!==void 0&&H(s,e))return!0;return!1}function _t(t,e){if(t===e)return;const s=t.split(`\n`),i=e.split(`\n`),r=Math.max(s.length,i.length),n=[];for(let u=0;u<r;u++)s[u]!==i[u]&&n.push(u);return{lines:n,numLinesBefore:s.length,numLinesAfter:i.length,numLines:r}}const bt=globalThis.process.platform.startsWith(\"win\"),z=Symbol(\"clack:cancel\");function Ct(t){return t===z}function W(t,e){const s=t;s.isTTY&&s.setRawMode(e)}function xt({input:t=q,output:e=R,overwrite:s=!0,hideCursor:i=!0}={}){const r=k.createInterface({input:t,output:e,prompt:\"\",tabSize:1});k.emitKeypressEvents(t,r),t instanceof J&&t.isTTY&&t.setRawMode(!0);const n=(u,{name:a,sequence:l})=>{const E=String(u);if(H([E,a,l],\"cancel\")){i&&e.write(I.show),process.exit(0);return}if(!s)return;const g=a===\"return\"?0:-1,m=a===\"return\"?-1:0;k.moveCursor(e,g,m,()=>{k.clearLine(e,1,()=>{t.once(\"keypress\",n)})})};return i&&e.write(I.hide),t.once(\"keypress\",n),()=>{t.off(\"keypress\",n),i&&e.write(I.show),t instanceof J&&t.isTTY&&!bt&&t.setRawMode(!1),r.terminal=!1,r.close()}}const rt=t=>\"columns\"in t&&typeof t.columns==\"number\"?t.columns:80,nt=t=>\"rows\"in t&&typeof t.rows==\"number\"?t.rows:20;function Bt(t,e,s,i=s){const r=rt(t??R);return K(e,r-s.length,{hard:!0,trim:!1}).split(`\n`).map((n,u)=>`${u===0?i:s}${n}`).join(`\n`)}class B{input;output;_abortSignal;rl;opts;_render;_track=!1;_prevFrame=\"\";_subscribers=new Map;_cursor=0;state=\"initial\";error=\"\";value;userInput=\"\";constructor(e,s=!0){const{input:i=q,output:r=R,render:n,signal:u,...a}=e;this.opts=a,this.onKeypress=this.onKeypress.bind(this),this.close=this.close.bind(this),this.render=this.render.bind(this),this._render=n.bind(this),this._track=s,this._abortSignal=u,this.input=i,this.output=r}unsubscribe(){this._subscribers.clear()}setSubscriber(e,s){const i=this._subscribers.get(e)??[];i.push(s),this._subscribers.set(e,i)}on(e,s){this.setSubscriber(e,{cb:s})}once(e,s){this.setSubscriber(e,{cb:s,once:!0})}emit(e,...s){const i=this._subscribers.get(e)??[],r=[];for(const n of i)n.cb(...s),n.once&&r.push(()=>i.splice(i.indexOf(n),1));for(const n of r)n()}prompt(){return new Promise(e=>{if(this._abortSignal){if(this._abortSignal.aborted)return this.state=\"cancel\",this.close(),e(z);this._abortSignal.addEventListener(\"abort\",()=>{this.state=\"cancel\",this.close()},{once:!0})}this.rl=ot.createInterface({input:this.input,tabSize:2,prompt:\"\",escapeCodeTimeout:50,terminal:!0}),this.rl.prompt(),this.opts.initialUserInput!==void 0&&this._setUserInput(this.opts.initialUserInput,!0),this.input.on(\"keypress\",this.onKeypress),W(this.input,!0),this.output.on(\"resize\",this.render),this.render(),this.once(\"submit\",()=>{this.output.write(I.show),this.output.off(\"resize\",this.render),W(this.input,!1),e(this.value)}),this.once(\"cancel\",()=>{this.output.write(I.show),this.output.off(\"resize\",this.render),W(this.input,!1),e(z)})})}_isActionKey(e,s){return e===\"\t\"}_setValue(e){this.value=e,this.emit(\"value\",this.value)}_setUserInput(e,s){this.userInput=e??\"\",this.emit(\"userInput\",this.userInput),s&&this._track&&this.rl&&(this.rl.write(this.userInput),this._cursor=this.rl.cursor)}_clearUserInput(){this.rl?.write(null,{ctrl:!0,name:\"u\"}),this._setUserInput(\"\")}onKeypress(e,s){if(this._track&&s.name!==\"return\"&&(s.name&&this._isActionKey(e,s)&&this.rl?.write(null,{ctrl:!0,name:\"h\"}),this._cursor=this.rl?.cursor??0,this._setUserInput(this.rl?.line)),this.state===\"error\"&&(this.state=\"active\"),s?.name&&(!this._track&&_.aliases.has(s.name)&&this.emit(\"cursor\",_.aliases.get(s.name)),_.actions.has(s.name)&&this.emit(\"cursor\",s.name)),e&&(e.toLowerCase()===\"y\"||e.toLowerCase()===\"n\")&&this.emit(\"confirm\",e.toLowerCase()===\"y\"),this.emit(\"key\",e?.toLowerCase(),s),s?.name===\"return\"){if(this.opts.validate){const i=this.opts.validate(this.value);i&&(this.error=i instanceof Error?i.message:i,this.state=\"error\",this.rl?.write(this.userInput))}this.state!==\"error\"&&(this.state=\"submit\")}H([e,s?.name,s?.sequence],\"cancel\")&&(this.state=\"cancel\"),(this.state===\"submit\"||this.state===\"cancel\")&&this.emit(\"finalize\"),this.render(),(this.state===\"submit\"||this.state===\"cancel\")&&this.close()}close(){this.input.unpipe(),this.input.removeListener(\"keypress\",this.onKeypress),this.output.write(`\n`),W(this.input,!1),this.rl?.close(),this.rl=void 0,this.emit(`${this.state}`,this.value),this.unsubscribe()}restoreCursor(){const e=K(this._prevFrame,process.stdout.columns,{hard:!0,trim:!1}).split(`\n`).length-1;this.output.write(I.move(-999,e*-1))}render(){const e=K(this._render(this)??\"\",process.stdout.columns,{hard:!0,trim:!1});if(e!==this._prevFrame){if(this.state===\"initial\")this.output.write(I.hide);else{const s=_t(this._prevFrame,e),i=nt(this.output);if(this.restoreCursor(),s){const r=Math.max(0,s.numLinesAfter-i),n=Math.max(0,s.numLinesBefore-i);let u=s.lines.find(a=>a>=r);if(u===void 0){this._prevFrame=e;return}if(s.lines.length===1){this.output.write(I.move(0,u-n)),this.output.write(N.lines(1));const a=e.split(`\n`);this.output.write(a[u]),this._prevFrame=e,this.output.write(I.move(0,a.length-u-1));return}else if(s.lines.length>1){if(r<n)u=r;else{const l=u-n;l>0&&this.output.write(I.move(0,l))}this.output.write(N.down());const a=e.split(`\n`).slice(u);this.output.write(a.join(`\n`)),this._prevFrame=e;return}}this.output.write(N.down())}this.output.write(e),this.state===\"initial\"&&(this.state=\"active\"),this._prevFrame=e}}}function wt(t,e){if(t===void 0||e.length===0)return 0;const s=e.findIndex(i=>i.value===t);return s!==-1?s:0}function Dt(t,e){return(e.label??String(e.value)).toLowerCase().includes(t.toLowerCase())}function St(t,e){if(e)return t?e:e[0]}class Vt extends B{filteredOptions;multiple;isNavigating=!1;selectedValues=[];focusedValue;#t=0;#s=\"\";#i;#e;get cursor(){return this.#t}get userInputWithCursor(){if(!this.userInput)return D([\"inverse\",\"hidden\"],\"_\");if(this._cursor>=this.userInput.length)return`${this.userInput}\\u2588`;const e=this.userInput.slice(0,this._cursor),[s,...i]=this.userInput.slice(this._cursor);return`${e}${D(\"inverse\",s)}${i.join(\"\")}`}get options(){return typeof this.#e==\"function\"?this.#e():this.#e}constructor(e){super(e),this.#e=e.options;const s=this.options;this.filteredOptions=[...s],this.multiple=e.multiple===!0,this.#i=e.filter??Dt;let i;if(e.initialValue&&Array.isArray(e.initialValue)?this.multiple?i=e.initialValue:i=e.initialValue.slice(0,1):!this.multiple&&this.options.length>0&&(i=[this.options[0].value]),i)for(const r of i){const n=s.findIndex(u=>u.value===r);n!==-1&&(this.toggleSelected(r),this.#t=n)}this.focusedValue=this.options[this.#t]?.value,this.on(\"key\",(r,n)=>this.#r(r,n)),this.on(\"userInput\",r=>this.#n(r))}_isActionKey(e,s){return e===\"\t\"||this.multiple&&this.isNavigating&&s.name===\"space\"&&e!==void 0&&e!==\"\"}#r(e,s){const i=s.name===\"up\",r=s.name===\"down\",n=s.name===\"return\";i||r?(this.#t=x(this.#t,i?-1:1,this.filteredOptions),this.focusedValue=this.filteredOptions[this.#t]?.value,this.multiple||(this.selectedValues=[this.focusedValue]),this.isNavigating=!0):n?this.value=St(this.multiple,this.selectedValues):this.multiple?this.focusedValue!==void 0&&(s.name===\"tab\"||this.isNavigating&&s.name===\"space\")?this.toggleSelected(this.focusedValue):this.isNavigating=!1:(this.focusedValue&&(this.selectedValues=[this.focusedValue]),this.isNavigating=!1)}deselectAll(){this.selectedValues=[]}toggleSelected(e){this.filteredOptions.length!==0&&(this.multiple?this.selectedValues.includes(e)?this.selectedValues=this.selectedValues.filter(s=>s!==e):this.selectedValues=[...this.selectedValues,e]:this.selectedValues=[e])}#n(e){if(e!==this.#s){this.#s=e;const s=this.options;e?this.filteredOptions=s.filter(n=>this.#i(e,n)):this.filteredOptions=[...s];const i=wt(this.focusedValue,this.filteredOptions);this.#t=x(i,0,this.filteredOptions);const r=this.filteredOptions[this.#t];r&&!r.disabled?this.focusedValue=r.value:this.focusedValue=void 0,this.multiple||(this.focusedValue!==void 0?this.toggleSelected(this.focusedValue):this.deselectAll())}}}class kt extends B{get cursor(){return this.value?0:1}get _value(){return this.cursor===0}constructor(e){super(e,!1),this.value=!!e.initialValue,this.on(\"userInput\",()=>{this.value=this._value}),this.on(\"confirm\",s=>{this.output.write(I.move(0,-1)),this.value=s,this.state=\"submit\",this.close()}),this.on(\"cursor\",()=>{this.value=!this.value})}}class yt extends B{options;cursor=0;#t;getGroupItems(e){return this.options.filter(s=>s.group===e)}isGroupSelected(e){const s=this.getGroupItems(e),i=this.value;return i===void 0?!1:s.every(r=>i.includes(r.value))}toggleValue(){const e=this.options[this.cursor];if(this.value===void 0&&(this.value=[]),e.group===!0){const s=e.value,i=this.getGroupItems(s);this.isGroupSelected(s)?this.value=this.value.filter(r=>i.findIndex(n=>n.value===r)===-1):this.value=[...this.value,...i.map(r=>r.value)],this.value=Array.from(new Set(this.value))}else{const s=this.value.includes(e.value);this.value=s?this.value.filter(i=>i!==e.value):[...this.value,e.value]}}constructor(e){super(e,!1);const{options:s}=e;this.#t=e.selectableGroups!==!1,this.options=Object.entries(s).flatMap(([i,r])=>[{value:i,group:!0,label:i},...r.map(n=>({...n,group:i}))]),this.value=[...e.initialValues??[]],this.cursor=Math.max(this.options.findIndex(({value:i})=>i===e.cursorAt),this.#t?0:1),this.on(\"cursor\",i=>{switch(i){case\"left\":case\"up\":{this.cursor=this.cursor===0?this.options.length-1:this.cursor-1;const r=this.options[this.cursor]?.group===!0;!this.#t&&r&&(this.cursor=this.cursor===0?this.options.length-1:this.cursor-1);break}case\"down\":case\"right\":{this.cursor=this.cursor===this.options.length-1?0:this.cursor+1;const r=this.options[this.cursor]?.group===!0;!this.#t&&r&&(this.cursor=this.cursor===this.options.length-1?0:this.cursor+1);break}case\"space\":this.toggleValue();break}})}}let Lt=class extends B{options;cursor=0;get _value(){return this.options[this.cursor].value}get _enabledOptions(){return this.options.filter(e=>e.disabled!==!0)}toggleAll(){const e=this._enabledOptions,s=this.value!==void 0&&this.value.length===e.length;this.value=s?[]:e.map(i=>i.value)}toggleInvert(){const e=this.value;if(!e)return;const s=this._enabledOptions.filter(i=>!e.includes(i.value));this.value=s.map(i=>i.value)}toggleValue(){this.value===void 0&&(this.value=[]);const e=this.value.includes(this._value);this.value=e?this.value.filter(s=>s!==this._value):[...this.value,this._value]}constructor(e){super(e,!1),this.options=e.options,this.value=[...e.initialValues??[]];const s=Math.max(this.options.findIndex(({value:i})=>i===e.cursorAt),0);this.cursor=this.options[s].disabled?x(s,1,this.options):s,this.on(\"key\",i=>{i===\"a\"&&this.toggleAll(),i===\"i\"&&this.toggleInvert()}),this.on(\"cursor\",i=>{switch(i){case\"left\":case\"up\":this.cursor=x(this.cursor,-1,this.options);break;case\"down\":case\"right\":this.cursor=x(this.cursor,1,this.options);break;case\"space\":this.toggleValue();break}})}};class Mt extends B{_mask=\"\\u2022\";get cursor(){return this._cursor}get masked(){return this.userInput.replaceAll(/./g,this._mask)}get userInputWithCursor(){if(this.state===\"submit\"||this.state===\"cancel\")return this.masked;const e=this.userInput;if(this.cursor>=e.length)return`${this.masked}${D([\"inverse\",\"hidden\"],\"_\")}`;const s=this.masked,i=s.slice(0,this.cursor),r=s.slice(this.cursor);return`${i}${D(\"inverse\",r[0])}${r.slice(1)}`}clear(){this._clearUserInput()}constructor({mask:e,...s}){super(s),this._mask=e??\"\\u2022\",this.on(\"userInput\",i=>{this._setValue(i)})}}class Tt extends B{options;cursor=0;get _selectedValue(){return this.options[this.cursor]}changeValue(){this.value=this._selectedValue.value}constructor(e){super(e,!1),this.options=e.options;const s=this.options.findIndex(({value:r})=>r===e.initialValue),i=s===-1?0:s;this.cursor=this.options[i].disabled?x(i,1,this.options):i,this.changeValue(),this.on(\"cursor\",r=>{switch(r){case\"left\":case\"up\":this.cursor=x(this.cursor,-1,this.options);break;case\"down\":case\"right\":this.cursor=x(this.cursor,1,this.options);break}this.changeValue()})}}class Wt extends B{options;cursor=0;constructor(e){super(e,!1),this.options=e.options;const s=e.caseSensitive===!0,i=this.options.map(({value:[r]})=>s?r:r?.toLowerCase());this.cursor=Math.max(i.indexOf(e.initialValue),0),this.on(\"key\",(r,n)=>{if(!r)return;const u=s&&n.shift?r.toUpperCase():r;if(!i.includes(u))return;const a=this.options.find(({value:[l]})=>s?l===u:l?.toLowerCase()===r);a&&(this.value=a.value,this.state=\"submit\",this.emit(\"submit\"))})}}class $t extends B{get userInputWithCursor(){if(this.state===\"submit\")return this.userInput;const e=this.userInput;if(this.cursor>=e.length)return`${this.userInput}\\u2588`;const s=e.slice(0,this.cursor),[i,...r]=e.slice(this.cursor);return`${s}${D(\"inverse\",i)}${r.join(\"\")}`}get cursor(){return this._cursor}constructor(e){super({...e,initialUserInput:e.initialUserInput??e.initialValue}),this.on(\"userInput\",s=>{this._setValue(s)}),this.on(\"finalize\",()=>{this.value||(this.value=e.defaultValue),this.value===void 0&&(this.value=\"\")})}}export{Vt as AutocompletePrompt,kt as ConfirmPrompt,yt as GroupMultiSelectPrompt,Lt as MultiSelectPrompt,Mt as PasswordPrompt,B as Prompt,Wt as SelectKeyPrompt,Tt as SelectPrompt,$t as TextPrompt,xt as block,rt as getColumns,nt as getRows,Ct as isCancel,_ as settings,It as updateSettings,Bt as wrapTextWithPrefix};\n//# sourceMappingURL=index.mjs.map\n","import{getColumns as Y,getRows as tt,AutocompletePrompt as Be,settings as _,ConfirmPrompt as st,isCancel as rt,GroupMultiSelectPrompt as it,MultiSelectPrompt as nt,wrapTextWithPrefix as j,PasswordPrompt as at,block as ot,SelectPrompt as lt,SelectKeyPrompt as ut,TextPrompt as ct}from\"@clack/core\";export{isCancel,settings,updateSettings}from\"@clack/core\";import{styleText as t,stripVTControlCharacters as ue}from\"node:util\";import N from\"node:process\";import{readdirSync as $t,existsSync as dt,lstatSync as xe}from\"node:fs\";import{dirname as _e,join as ht}from\"node:path\";import{cursor as De,erase as Te}from\"sisteransi\";function pt(){return N.platform!==\"win32\"?N.env.TERM!==\"linux\":!!N.env.CI||!!N.env.WT_SESSION||!!N.env.TERMINUS_SUBLIME||N.env.ConEmuTask===\"{cmd::Cmder}\"||N.env.TERM_PROGRAM===\"Terminus-Sublime\"||N.env.TERM_PROGRAM===\"vscode\"||N.env.TERM===\"xterm-256color\"||N.env.TERM===\"alacritty\"||N.env.TERMINAL_EMULATOR===\"JetBrains-JediTerm\"}const ee=pt(),ce=()=>process.env.CI===\"true\",Me=e=>e.isTTY===!0,I=(e,r)=>ee?e:r,Re=I(\"\\u25C6\",\"*\"),$e=I(\"\\u25A0\",\"x\"),de=I(\"\\u25B2\",\"x\"),V=I(\"\\u25C7\",\"o\"),he=I(\"\\u250C\",\"T\"),h=I(\"\\u2502\",\"|\"),x=I(\"\\u2514\",\"\\u2014\"),Oe=I(\"\\u2510\",\"T\"),Pe=I(\"\\u2518\",\"\\u2014\"),z=I(\"\\u25CF\",\">\"),H=I(\"\\u25CB\",\" \"),te=I(\"\\u25FB\",\"[\\u2022]\"),U=I(\"\\u25FC\",\"[+]\"),q=I(\"\\u25FB\",\"[ ]\"),Ne=I(\"\\u25AA\",\"\\u2022\"),se=I(\"\\u2500\",\"-\"),pe=I(\"\\u256E\",\"+\"),We=I(\"\\u251C\",\"+\"),me=I(\"\\u256F\",\"+\"),ge=I(\"\\u2570\",\"+\"),Ge=I(\"\\u256D\",\"+\"),fe=I(\"\\u25CF\",\"\\u2022\"),Fe=I(\"\\u25C6\",\"*\"),ye=I(\"\\u25B2\",\"!\"),Ee=I(\"\\u25A0\",\"x\"),W=e=>{switch(e){case\"initial\":case\"active\":return t(\"cyan\",Re);case\"cancel\":return t(\"red\",$e);case\"error\":return t(\"yellow\",de);case\"submit\":return t(\"green\",V)}},ve=e=>{switch(e){case\"initial\":case\"active\":return t(\"cyan\",h);case\"cancel\":return t(\"red\",h);case\"error\":return t(\"yellow\",h);case\"submit\":return t(\"green\",h)}},mt=e=>e===161||e===164||e===167||e===168||e===170||e===173||e===174||e>=176&&e<=180||e>=182&&e<=186||e>=188&&e<=191||e===198||e===208||e===215||e===216||e>=222&&e<=225||e===230||e>=232&&e<=234||e===236||e===237||e===240||e===242||e===243||e>=247&&e<=250||e===252||e===254||e===257||e===273||e===275||e===283||e===294||e===295||e===299||e>=305&&e<=307||e===312||e>=319&&e<=322||e===324||e>=328&&e<=331||e===333||e===338||e===339||e===358||e===359||e===363||e===462||e===464||e===466||e===468||e===470||e===472||e===474||e===476||e===593||e===609||e===708||e===711||e>=713&&e<=715||e===717||e===720||e>=728&&e<=731||e===733||e===735||e>=768&&e<=879||e>=913&&e<=929||e>=931&&e<=937||e>=945&&e<=961||e>=963&&e<=969||e===1025||e>=1040&&e<=1103||e===1105||e===8208||e>=8211&&e<=8214||e===8216||e===8217||e===8220||e===8221||e>=8224&&e<=8226||e>=8228&&e<=8231||e===8240||e===8242||e===8243||e===8245||e===8251||e===8254||e===8308||e===8319||e>=8321&&e<=8324||e===8364||e===8451||e===8453||e===8457||e===8467||e===8470||e===8481||e===8482||e===8486||e===8491||e===8531||e===8532||e>=8539&&e<=8542||e>=8544&&e<=8555||e>=8560&&e<=8569||e===8585||e>=8592&&e<=8601||e===8632||e===8633||e===8658||e===8660||e===8679||e===8704||e===8706||e===8707||e===8711||e===8712||e===8715||e===8719||e===8721||e===8725||e===8730||e>=8733&&e<=8736||e===8739||e===8741||e>=8743&&e<=8748||e===8750||e>=8756&&e<=8759||e===8764||e===8765||e===8776||e===8780||e===8786||e===8800||e===8801||e>=8804&&e<=8807||e===8810||e===8811||e===8814||e===8815||e===8834||e===8835||e===8838||e===8839||e===8853||e===8857||e===8869||e===8895||e===8978||e>=9312&&e<=9449||e>=9451&&e<=9547||e>=9552&&e<=9587||e>=9600&&e<=9615||e>=9618&&e<=9621||e===9632||e===9633||e>=9635&&e<=9641||e===9650||e===9651||e===9654||e===9655||e===9660||e===9661||e===9664||e===9665||e>=9670&&e<=9672||e===9675||e>=9678&&e<=9681||e>=9698&&e<=9701||e===9711||e===9733||e===9734||e===9737||e===9742||e===9743||e===9756||e===9758||e===9792||e===9794||e===9824||e===9825||e>=9827&&e<=9829||e>=9831&&e<=9834||e===9836||e===9837||e===9839||e===9886||e===9887||e===9919||e>=9926&&e<=9933||e>=9935&&e<=9939||e>=9941&&e<=9953||e===9955||e===9960||e===9961||e>=9963&&e<=9969||e===9972||e>=9974&&e<=9977||e===9979||e===9980||e===9982||e===9983||e===10045||e>=10102&&e<=10111||e>=11094&&e<=11097||e>=12872&&e<=12879||e>=57344&&e<=63743||e>=65024&&e<=65039||e===65533||e>=127232&&e<=127242||e>=127248&&e<=127277||e>=127280&&e<=127337||e>=127344&&e<=127373||e===127375||e===127376||e>=127387&&e<=127404||e>=917760&&e<=917999||e>=983040&&e<=1048573||e>=1048576&&e<=1114109,gt=e=>e===12288||e>=65281&&e<=65376||e>=65504&&e<=65510,ft=e=>e>=4352&&e<=4447||e===8986||e===8987||e===9001||e===9002||e>=9193&&e<=9196||e===9200||e===9203||e===9725||e===9726||e===9748||e===9749||e>=9800&&e<=9811||e===9855||e===9875||e===9889||e===9898||e===9899||e===9917||e===9918||e===9924||e===9925||e===9934||e===9940||e===9962||e===9970||e===9971||e===9973||e===9978||e===9981||e===9989||e===9994||e===9995||e===10024||e===10060||e===10062||e>=10067&&e<=10069||e===10071||e>=10133&&e<=10135||e===10160||e===10175||e===11035||e===11036||e===11088||e===11093||e>=11904&&e<=11929||e>=11931&&e<=12019||e>=12032&&e<=12245||e>=12272&&e<=12287||e>=12289&&e<=12350||e>=12353&&e<=12438||e>=12441&&e<=12543||e>=12549&&e<=12591||e>=12593&&e<=12686||e>=12688&&e<=12771||e>=12783&&e<=12830||e>=12832&&e<=12871||e>=12880&&e<=19903||e>=19968&&e<=42124||e>=42128&&e<=42182||e>=43360&&e<=43388||e>=44032&&e<=55203||e>=63744&&e<=64255||e>=65040&&e<=65049||e>=65072&&e<=65106||e>=65108&&e<=65126||e>=65128&&e<=65131||e>=94176&&e<=94180||e===94192||e===94193||e>=94208&&e<=100343||e>=100352&&e<=101589||e>=101632&&e<=101640||e>=110576&&e<=110579||e>=110581&&e<=110587||e===110589||e===110590||e>=110592&&e<=110882||e===110898||e>=110928&&e<=110930||e===110933||e>=110948&&e<=110951||e>=110960&&e<=111355||e===126980||e===127183||e===127374||e>=127377&&e<=127386||e>=127488&&e<=127490||e>=127504&&e<=127547||e>=127552&&e<=127560||e===127568||e===127569||e>=127584&&e<=127589||e>=127744&&e<=127776||e>=127789&&e<=127797||e>=127799&&e<=127868||e>=127870&&e<=127891||e>=127904&&e<=127946||e>=127951&&e<=127955||e>=127968&&e<=127984||e===127988||e>=127992&&e<=128062||e===128064||e>=128066&&e<=128252||e>=128255&&e<=128317||e>=128331&&e<=128334||e>=128336&&e<=128359||e===128378||e===128405||e===128406||e===128420||e>=128507&&e<=128591||e>=128640&&e<=128709||e===128716||e>=128720&&e<=128722||e>=128725&&e<=128727||e>=128732&&e<=128735||e===128747||e===128748||e>=128756&&e<=128764||e>=128992&&e<=129003||e===129008||e>=129292&&e<=129338||e>=129340&&e<=129349||e>=129351&&e<=129535||e>=129648&&e<=129660||e>=129664&&e<=129672||e>=129680&&e<=129725||e>=129727&&e<=129733||e>=129742&&e<=129755||e>=129760&&e<=129768||e>=129776&&e<=129784||e>=131072&&e<=196605||e>=196608&&e<=262141,we=/[\\u001b\\u009b][[()#;?]*(?:[0-9]{1,4}(?:;[0-9]{0,4})*)?[0-9A-ORZcf-nqry=><]/y,re=/[\\x00-\\x08\\x0A-\\x1F\\x7F-\\x9F]{1,1000}/y,ie=/\\t{1,1000}/y,Ae=/[\\u{1F1E6}-\\u{1F1FF}]{2}|\\u{1F3F4}[\\u{E0061}-\\u{E007A}]{2}[\\u{E0030}-\\u{E0039}\\u{E0061}-\\u{E007A}]{1,3}\\u{E007F}|(?:\\p{Emoji}\\uFE0F\\u20E3?|\\p{Emoji_Modifier_Base}\\p{Emoji_Modifier}?|\\p{Emoji_Presentation})(?:\\u200D(?:\\p{Emoji_Modifier_Base}\\p{Emoji_Modifier}?|\\p{Emoji_Presentation}|\\p{Emoji}\\uFE0F\\u20E3?))*/yu,ne=/(?:[\\x20-\\x7E\\xA0-\\xFF](?!\\uFE0F)){1,1000}/y,Ft=/\\p{M}+/gu,yt={limit:1/0,ellipsis:\"\"},Le=(e,r={},s={})=>{const i=r.limit??1/0,a=r.ellipsis??\"\",o=r?.ellipsisWidth??(a?Le(a,yt,s).width:0),u=s.ansiWidth??0,l=s.controlWidth??0,n=s.tabWidth??8,c=s.ambiguousWidth??1,p=s.emojiWidth??2,f=s.fullWidthWidth??2,g=s.regularWidth??1,E=s.wideWidth??2;let $=0,m=0,d=e.length,F=0,y=!1,v=d,C=Math.max(0,i-o),A=0,b=0,w=0,S=0;e:for(;;){if(b>A||m>=d&&m>$){const T=e.slice(A,b)||e.slice($,m);F=0;for(const M of T.replaceAll(Ft,\"\")){const O=M.codePointAt(0)||0;if(gt(O)?S=f:ft(O)?S=E:c!==g&&mt(O)?S=c:S=g,w+S>C&&(v=Math.min(v,Math.max(A,$)+F)),w+S>i){y=!0;break e}F+=M.length,w+=S}A=b=0}if(m>=d)break;if(ne.lastIndex=m,ne.test(e)){if(F=ne.lastIndex-m,S=F*g,w+S>C&&(v=Math.min(v,m+Math.floor((C-w)/g))),w+S>i){y=!0;break}w+=S,A=$,b=m,m=$=ne.lastIndex;continue}if(we.lastIndex=m,we.test(e)){if(w+u>C&&(v=Math.min(v,m)),w+u>i){y=!0;break}w+=u,A=$,b=m,m=$=we.lastIndex;continue}if(re.lastIndex=m,re.test(e)){if(F=re.lastIndex-m,S=F*l,w+S>C&&(v=Math.min(v,m+Math.floor((C-w)/l))),w+S>i){y=!0;break}w+=S,A=$,b=m,m=$=re.lastIndex;continue}if(ie.lastIndex=m,ie.test(e)){if(F=ie.lastIndex-m,S=F*n,w+S>C&&(v=Math.min(v,m+Math.floor((C-w)/n))),w+S>i){y=!0;break}w+=S,A=$,b=m,m=$=ie.lastIndex;continue}if(Ae.lastIndex=m,Ae.test(e)){if(w+p>C&&(v=Math.min(v,m)),w+p>i){y=!0;break}w+=p,A=$,b=m,m=$=Ae.lastIndex;continue}m+=1}return{width:y?C:w,index:y?v:d,truncated:y,ellipsed:y&&i>=o}},Et={limit:1/0,ellipsis:\"\",ellipsisWidth:0},D=(e,r={})=>Le(e,Et,r).width,ae=\"\\x1B\",je=\"\\x9B\",vt=39,Ce=\"\\x07\",ke=\"[\",wt=\"]\",Ve=\"m\",Se=`${wt}8;;`,He=new RegExp(`(?:\\\\${ke}(?<code>\\\\d+)m|\\\\${Se}(?<uri>.*)${Ce})`,\"y\"),At=e=>{if(e>=30&&e<=37||e>=90&&e<=97)return 39;if(e>=40&&e<=47||e>=100&&e<=107)return 49;if(e===1||e===2)return 22;if(e===3)return 23;if(e===4)return 24;if(e===7)return 27;if(e===8)return 28;if(e===9)return 29;if(e===0)return 0},Ue=e=>`${ae}${ke}${e}${Ve}`,Ke=e=>`${ae}${Se}${e}${Ce}`,Ct=e=>e.map(r=>D(r)),Ie=(e,r,s)=>{const i=r[Symbol.iterator]();let a=!1,o=!1,u=e.at(-1),l=u===void 0?0:D(u),n=i.next(),c=i.next(),p=0;for(;!n.done;){const f=n.value,g=D(f);l+g<=s?e[e.length-1]+=f:(e.push(f),l=0),(f===ae||f===je)&&(a=!0,o=r.startsWith(Se,p+1)),a?o?f===Ce&&(a=!1,o=!1):f===Ve&&(a=!1):(l+=g,l===s&&!c.done&&(e.push(\"\"),l=0)),n=c,c=i.next(),p+=f.length}u=e.at(-1),!l&&u!==void 0&&u.length>0&&e.length>1&&(e[e.length-2]+=e.pop())},St=e=>{const r=e.split(\" \");let s=r.length;for(;s>0&&!(D(r[s-1])>0);)s--;return s===r.length?e:r.slice(0,s).join(\" \")+r.slice(s).join(\"\")},It=(e,r,s={})=>{if(s.trim!==!1&&e.trim()===\"\")return\"\";let i=\"\",a,o;const u=e.split(\" \"),l=Ct(u);let n=[\"\"];for(const[$,m]of u.entries()){s.trim!==!1&&(n[n.length-1]=(n.at(-1)??\"\").trimStart());let d=D(n.at(-1)??\"\");if($!==0&&(d>=r&&(s.wordWrap===!1||s.trim===!1)&&(n.push(\"\"),d=0),(d>0||s.trim===!1)&&(n[n.length-1]+=\" \",d++)),s.hard&&l[$]>r){const F=r-d,y=1+Math.floor((l[$]-F-1)/r);Math.floor((l[$]-1)/r)<y&&n.push(\"\"),Ie(n,m,r);continue}if(d+l[$]>r&&d>0&&l[$]>0){if(s.wordWrap===!1&&d<r){Ie(n,m,r);continue}n.push(\"\")}if(d+l[$]>r&&s.wordWrap===!1){Ie(n,m,r);continue}n[n.length-1]+=m}s.trim!==!1&&(n=n.map($=>St($)));const c=n.join(`\n`),p=c[Symbol.iterator]();let f=p.next(),g=p.next(),E=0;for(;!f.done;){const $=f.value,m=g.value;if(i+=$,$===ae||$===je){He.lastIndex=E+1;const y=He.exec(c)?.groups;if(y?.code!==void 0){const v=Number.parseFloat(y.code);a=v===vt?void 0:v}else y?.uri!==void 0&&(o=y.uri.length===0?void 0:y.uri)}const d=a?At(a):void 0;m===`\n`?(o&&(i+=Ke(\"\")),a&&d&&(i+=Ue(d))):$===`\n`&&(a&&d&&(i+=Ue(a)),o&&(i+=Ke(o))),E+=$.length,f=g,g=p.next()}return i};function J(e,r,s){return String(e).normalize().replaceAll(`\\r\n`,`\n`).split(`\n`).map(i=>It(i,r,s)).join(`\n`)}const bt=(e,r,s,i,a)=>{let o=r,u=0;for(let l=s;l<i;l++){const n=e[l];if(o=o-n.length,u++,o<=a)break}return{lineCount:o,removals:u}},X=({cursor:e,options:r,style:s,output:i=process.stdout,maxItems:a=Number.POSITIVE_INFINITY,columnPadding:o=0,rowPadding:u=4})=>{const l=Y(i)-o,n=tt(i),c=t(\"dim\",\"...\"),p=Math.max(n-u,0),f=Math.max(Math.min(a,p),5);let g=0;e>=f-3&&(g=Math.max(Math.min(e-f+3,r.length-f),0));let E=f<r.length&&g>0,$=f<r.length&&g+f<r.length;const m=Math.min(g+f,r.length),d=[];let F=0;E&&F++,$&&F++;const y=g+(E?1:0),v=m-($?1:0);for(let A=y;A<v;A++){const b=J(s(r[A],A===e),l,{hard:!0,trim:!1}).split(`\n`);d.push(b),F+=b.length}if(F>p){let A=0,b=0,w=F;const S=e-y,T=(M,O)=>bt(d,w,M,O,p);E?({lineCount:w,removals:A}=T(0,S),w>p&&({lineCount:w,removals:b}=T(S+1,d.length))):({lineCount:w,removals:b}=T(S+1,d.length),w>p&&({lineCount:w,removals:A}=T(0,S))),A>0&&(E=!0,d.splice(0,A)),b>0&&($=!0,d.splice(d.length-b,b))}const C=[];E&&C.push(c);for(const A of d)for(const b of A)C.push(b);return $&&C.push(c),C};function qe(e){return e.label??String(e.value??\"\")}function Je(e,r){if(!e)return!0;const s=(r.label??String(r.value??\"\")).toLowerCase(),i=(r.hint??\"\").toLowerCase(),a=String(r.value).toLowerCase(),o=e.toLowerCase();return s.includes(o)||i.includes(o)||a.includes(o)}function Bt(e,r){const s=[];for(const i of r)e.includes(i.value)&&s.push(i);return s}const Xe=e=>new Be({options:e.options,initialValue:e.initialValue?[e.initialValue]:void 0,initialUserInput:e.initialUserInput,filter:e.filter??((r,s)=>Je(r,s)),signal:e.signal,input:e.input,output:e.output,validate:e.validate,render(){const r=e.withGuide??_.withGuide,s=r?[`${t(\"gray\",h)}`,`${W(this.state)} ${e.message}`]:[`${W(this.state)} ${e.message}`],i=this.userInput,a=this.options,o=e.placeholder,u=i===\"\"&&o!==void 0,l=(n,c)=>{const p=qe(n),f=n.hint&&n.value===this.focusedValue?t(\"dim\",` (${n.hint})`):\"\";switch(c){case\"active\":return`${t(\"green\",z)} ${p}${f}`;case\"inactive\":return`${t(\"dim\",H)} ${t(\"dim\",p)}`;case\"disabled\":return`${t(\"gray\",H)} ${t([\"strikethrough\",\"gray\"],p)}`}};switch(this.state){case\"submit\":{const n=Bt(this.selectedValues,a),c=n.length>0?` ${t(\"dim\",n.map(qe).join(\", \"))}`:\"\",p=r?t(\"gray\",h):\"\";return`${s.join(`\n`)}\n${p}${c}`}case\"cancel\":{const n=i?` ${t([\"strikethrough\",\"dim\"],i)}`:\"\",c=r?t(\"gray\",h):\"\";return`${s.join(`\n`)}\n${c}${n}`}default:{const n=this.state===\"error\"?\"yellow\":\"cyan\",c=r?`${t(n,h)} `:\"\",p=r?t(n,x):\"\";let f=\"\";if(this.isNavigating||u){const y=u?o:i;f=y!==\"\"?` ${t(\"dim\",y)}`:\"\"}else f=` ${this.userInputWithCursor}`;const g=this.filteredOptions.length!==a.length?t(\"dim\",` (${this.filteredOptions.length} match${this.filteredOptions.length===1?\"\":\"es\"})`):\"\",E=this.filteredOptions.length===0&&i?[`${c}${t(\"yellow\",\"No matches found\")}`]:[],$=this.state===\"error\"?[`${c}${t(\"yellow\",this.error)}`]:[];r&&s.push(`${c.trimEnd()}`),s.push(`${c}${t(\"dim\",\"Search:\")}${f}${g}`,...E,...$);const m=[`${t(\"dim\",\"\\u2191/\\u2193\")} to select`,`${t(\"dim\",\"Enter:\")} confirm`,`${t(\"dim\",\"Type:\")} to search`],d=[`${c}${m.join(\" \\u2022 \")}`,p],F=this.filteredOptions.length===0?[]:X({cursor:this.cursor,options:this.filteredOptions,columnPadding:r?3:0,rowPadding:s.length+d.length,style:(y,v)=>l(y,y.disabled?\"disabled\":v?\"active\":\"inactive\"),maxItems:e.maxItems,output:e.output});return[...s,...F.map(y=>`${c}${y}`),...d].join(`\n`)}}}}).prompt(),xt=e=>{const r=(i,a,o,u)=>{const l=o.includes(i.value),n=i.label??String(i.value??\"\"),c=i.hint&&u!==void 0&&i.value===u?t(\"dim\",` (${i.hint})`):\"\",p=l?t(\"green\",U):t(\"dim\",q);return i.disabled?`${t(\"gray\",q)} ${t([\"strikethrough\",\"gray\"],n)}`:a?`${p} ${n}${c}`:`${p} ${t(\"dim\",n)}`},s=new Be({options:e.options,multiple:!0,filter:e.filter??((i,a)=>Je(i,a)),validate:()=>{if(e.required&&s.selectedValues.length===0)return\"Please select at least one item\"},initialValue:e.initialValues,signal:e.signal,input:e.input,output:e.output,render(){const i=`${t(\"gray\",h)}\n${W(this.state)} ${e.message}\n`,a=this.userInput,o=e.placeholder,u=a===\"\"&&o!==void 0,l=this.isNavigating||u?t(\"dim\",u?o:a):this.userInputWithCursor,n=this.options,c=this.filteredOptions.length!==n.length?t(\"dim\",` (${this.filteredOptions.length} match${this.filteredOptions.length===1?\"\":\"es\"})`):\"\";switch(this.state){case\"submit\":return`${i}${t(\"gray\",h)} ${t(\"dim\",`${this.selectedValues.length} items selected`)}`;case\"cancel\":return`${i}${t(\"gray\",h)} ${t([\"strikethrough\",\"dim\"],a)}`;default:{const p=this.state===\"error\"?\"yellow\":\"cyan\",f=[`${t(\"dim\",\"\\u2191/\\u2193\")} to navigate`,`${t(\"dim\",this.isNavigating?\"Space/Tab:\":\"Tab:\")} select`,`${t(\"dim\",\"Enter:\")} confirm`,`${t(\"dim\",\"Type:\")} to search`],g=this.filteredOptions.length===0&&a?[`${t(p,h)} ${t(\"yellow\",\"No matches found\")}`]:[],E=this.state===\"error\"?[`${t(p,h)} ${t(\"yellow\",this.error)}`]:[],$=[...`${i}${t(p,h)}`.split(`\n`),`${t(p,h)} ${t(\"dim\",\"Search:\")} ${l}${c}`,...g,...E],m=[`${t(p,h)} ${f.join(\" \\u2022 \")}`,t(p,x)],d=X({cursor:this.cursor,options:this.filteredOptions,style:(F,y)=>r(F,y,this.selectedValues,this.focusedValue),maxItems:e.maxItems,output:e.output,rowPadding:$.length+m.length});return[...$,...d.map(F=>`${t(p,h)} ${F}`),...m].join(`\n`)}}}});return s.prompt()},_t=[Ge,pe,ge,me],Dt=[he,Oe,x,Pe];function Ye(e,r,s,i){let a=s,o=s;return i===\"center\"?a=Math.floor((r-e)/2):i===\"right\"&&(a=r-e-s),o=r-a-e,[a,o]}const Tt=e=>e,Mt=(e=\"\",r=\"\",s)=>{const i=s?.output??process.stdout,a=Y(i),o=2,u=s?.titlePadding??1,l=s?.contentPadding??2,n=s?.width===void 0||s.width===\"auto\"?1:Math.min(1,s.width),c=s?.withGuide??_.withGuide?`${h} `:\"\",p=s?.formatBorder??Tt,f=(s?.rounded?_t:Dt).map(p),g=p(se),E=p(h),$=D(c),m=D(r),d=a-$;let F=Math.floor(a*n)-$;if(s?.width===\"auto\"){const T=e.split(`\n`);let M=m+u*2;for(const le of T){const k=D(le)+l*2;k>M&&(M=k)}const O=M+o;O<F&&(F=O)}F%2!==0&&(F<d?F++:F--);const y=F-o,v=y-u*2,C=m>v?`${r.slice(0,v-3)}...`:r,[A,b]=Ye(D(C),y,u,s?.titleAlign),w=J(e,y-l*2,{hard:!0,trim:!1});i.write(`${c}${f[0]}${g.repeat(A)}${C}${g.repeat(b)}${f[1]}\n`);const S=w.split(`\n`);for(const T of S){const[M,O]=Ye(D(T),y,l,s?.contentAlign);i.write(`${c}${E}${\" \".repeat(M)}${T}${\" \".repeat(O)}${E}\n`)}i.write(`${c}${f[2]}${g.repeat(y)}${f[3]}\n`)},Rt=e=>{const r=e.active??\"Yes\",s=e.inactive??\"No\";return new st({active:r,inactive:s,signal:e.signal,input:e.input,output:e.output,initialValue:e.initialValue??!0,render(){const i=e.withGuide??_.withGuide,a=`${i?`${t(\"gray\",h)}\n`:\"\"}${W(this.state)} ${e.message}\n`,o=this.value?r:s;switch(this.state){case\"submit\":{const u=i?`${t(\"gray\",h)} `:\"\";return`${a}${u}${t(\"dim\",o)}`}case\"cancel\":{const u=i?`${t(\"gray\",h)} `:\"\";return`${a}${u}${t([\"strikethrough\",\"dim\"],o)}${i?`\n${t(\"gray\",h)}`:\"\"}`}default:{const u=i?`${t(\"cyan\",h)} `:\"\",l=i?t(\"cyan\",x):\"\";return`${a}${u}${this.value?`${t(\"green\",z)} ${r}`:`${t(\"dim\",H)} ${t(\"dim\",r)}`}${e.vertical?i?`\n${t(\"cyan\",h)} `:`\n`:` ${t(\"dim\",\"/\")} `}${this.value?`${t(\"dim\",H)} ${t(\"dim\",s)}`:`${t(\"green\",z)} ${s}`}\n${l}\n`}}}}).prompt()},Ot=async(e,r)=>{const s={},i=Object.keys(e);for(const a of i){const o=e[a],u=await o({results:s})?.catch(l=>{throw l});if(typeof r?.onCancel==\"function\"&&rt(u)){s[a]=\"canceled\",r.onCancel({results:s});continue}s[a]=u}return s},Pt=e=>{const{selectableGroups:r=!0,groupSpacing:s=0}=e,i=(o,u,l=[])=>{const n=o.label??String(o.value),c=typeof o.group==\"string\",p=c&&(l[l.indexOf(o)+1]??{group:!0}),f=c&&p&&p.group===!0,g=c?r?`${f?x:h} `:\" \":\"\";let E=\"\";if(s>0&&!c){const m=`\n${t(\"cyan\",h)}`;E=`${m.repeat(s-1)}${m} `}if(u===\"active\")return`${E}${t(\"dim\",g)}${t(\"cyan\",te)} ${n}${o.hint?` ${t(\"dim\",`(${o.hint})`)}`:\"\"}`;if(u===\"group-active\")return`${E}${g}${t(\"cyan\",te)} ${t(\"dim\",n)}`;if(u===\"group-active-selected\")return`${E}${g}${t(\"green\",U)} ${t(\"dim\",n)}`;if(u===\"selected\"){const m=c||r?t(\"green\",U):\"\";return`${E}${t(\"dim\",g)}${m} ${t(\"dim\",n)}${o.hint?` ${t(\"dim\",`(${o.hint})`)}`:\"\"}`}if(u===\"cancelled\")return`${t([\"strikethrough\",\"dim\"],n)}`;if(u===\"active-selected\")return`${E}${t(\"dim\",g)}${t(\"green\",U)} ${n}${o.hint?` ${t(\"dim\",`(${o.hint})`)}`:\"\"}`;if(u===\"submitted\")return`${t(\"dim\",n)}`;const $=c||r?t(\"dim\",q):\"\";return`${E}${t(\"dim\",g)}${$} ${t(\"dim\",n)}`},a=e.required??!0;return new it({options:e.options,signal:e.signal,input:e.input,output:e.output,initialValues:e.initialValues,required:a,cursorAt:e.cursorAt,selectableGroups:r,validate(o){if(a&&(o===void 0||o.length===0))return`Please select at least one option.\n${t(\"reset\",t(\"dim\",`Press ${t([\"gray\",\"bgWhite\",\"inverse\"],\" space \")} to select, ${t(\"gray\",t([\"bgWhite\",\"inverse\"],\" enter \"))} to submit`))}`},render(){const o=`${t(\"gray\",h)}\n${W(this.state)} ${e.message}\n`,u=this.value??[];switch(this.state){case\"submit\":{const l=this.options.filter(({value:c})=>u.includes(c)).map(c=>i(c,\"submitted\")),n=l.length===0?\"\":` ${l.join(t(\"dim\",\", \"))}`;return`${o}${t(\"gray\",h)}${n}`}case\"cancel\":{const l=this.options.filter(({value:n})=>u.includes(n)).map(n=>i(n,\"cancelled\")).join(t(\"dim\",\", \"));return`${o}${t(\"gray\",h)} ${l.trim()?`${l}\n${t(\"gray\",h)}`:\"\"}`}case\"error\":{const l=this.error.split(`\n`).map((n,c)=>c===0?`${t(\"yellow\",x)} ${t(\"yellow\",n)}`:` ${n}`).join(`\n`);return`${o}${t(\"yellow\",h)} ${this.options.map((n,c,p)=>{const f=u.includes(n.value)||n.group===!0&&this.isGroupSelected(`${n.value}`),g=c===this.cursor;return!g&&typeof n.group==\"string\"&&this.options[this.cursor].value===n.group?i(n,f?\"group-active-selected\":\"group-active\",p):g&&f?i(n,\"active-selected\",p):f?i(n,\"selected\",p):i(n,g?\"active\":\"inactive\",p)}).join(`\n${t(\"yellow\",h)} `)}\n${l}\n`}default:{const l=this.options.map((c,p,f)=>{const g=u.includes(c.value)||c.group===!0&&this.isGroupSelected(`${c.value}`),E=p===this.cursor,$=!E&&typeof c.group==\"string\"&&this.options[this.cursor].value===c.group;let m=\"\";return $?m=i(c,g?\"group-active-selected\":\"group-active\",f):E&&g?m=i(c,\"active-selected\",f):g?m=i(c,\"selected\",f):m=i(c,E?\"active\":\"inactive\",f),`${p!==0&&!m.startsWith(`\n`)?\" \":\"\"}${m}`}).join(`\n${t(\"cyan\",h)}`),n=l.startsWith(`\n`)?\"\":\" \";return`${o}${t(\"cyan\",h)}${n}${l}\n${t(\"cyan\",x)}\n`}}}}).prompt()},R={message:(e=[],{symbol:r=t(\"gray\",h),secondarySymbol:s=t(\"gray\",h),output:i=process.stdout,spacing:a=1,withGuide:o}={})=>{const u=[],l=o??_.withGuide,n=l?s:\"\",c=l?`${r} `:\"\",p=l?`${s} `:\"\";for(let g=0;g<a;g++)u.push(n);const f=Array.isArray(e)?e:e.split(`\n`);if(f.length>0){const[g,...E]=f;g.length>0?u.push(`${c}${g}`):u.push(l?r:\"\");for(const $ of E)$.length>0?u.push(`${p}${$}`):u.push(l?s:\"\")}i.write(`${u.join(`\n`)}\n`)},info:(e,r)=>{R.message(e,{...r,symbol:t(\"blue\",fe)})},success:(e,r)=>{R.message(e,{...r,symbol:t(\"green\",Fe)})},step:(e,r)=>{R.message(e,{...r,symbol:t(\"green\",V)})},warn:(e,r)=>{R.message(e,{...r,symbol:t(\"yellow\",ye)})},warning:(e,r)=>{R.warn(e,r)},error:(e,r)=>{R.message(e,{...r,symbol:t(\"red\",Ee)})}},Nt=(e=\"\",r)=>{const s=r?.output??process.stdout,i=r?.withGuide??_.withGuide?`${t(\"gray\",x)} `:\"\";s.write(`${i}${t(\"red\",e)}\n\n`)},Wt=(e=\"\",r)=>{const s=r?.output??process.stdout,i=r?.withGuide??_.withGuide?`${t(\"gray\",he)} `:\"\";s.write(`${i}${e}\n`)},Gt=(e=\"\",r)=>{const s=r?.output??process.stdout,i=r?.withGuide??_.withGuide?`${t(\"gray\",h)}\n${t(\"gray\",x)} `:\"\";s.write(`${i}${e}\n\n`)},Q=(e,r)=>e.split(`\n`).map(s=>r(s)).join(`\n`),Lt=e=>{const r=(i,a)=>{const o=i.label??String(i.value);return a===\"disabled\"?`${t(\"gray\",q)} ${Q(o,u=>t([\"strikethrough\",\"gray\"],u))}${i.hint?` ${t(\"dim\",`(${i.hint??\"disabled\"})`)}`:\"\"}`:a===\"active\"?`${t(\"cyan\",te)} ${o}${i.hint?` ${t(\"dim\",`(${i.hint})`)}`:\"\"}`:a===\"selected\"?`${t(\"green\",U)} ${Q(o,u=>t(\"dim\",u))}${i.hint?` ${t(\"dim\",`(${i.hint})`)}`:\"\"}`:a===\"cancelled\"?`${Q(o,u=>t([\"strikethrough\",\"dim\"],u))}`:a===\"active-selected\"?`${t(\"green\",U)} ${o}${i.hint?` ${t(\"dim\",`(${i.hint})`)}`:\"\"}`:a===\"submitted\"?`${Q(o,u=>t(\"dim\",u))}`:`${t(\"dim\",q)} ${Q(o,u=>t(\"dim\",u))}`},s=e.required??!0;return new nt({options:e.options,signal:e.signal,input:e.input,output:e.output,initialValues:e.initialValues,required:s,cursorAt:e.cursorAt,validate(i){if(s&&(i===void 0||i.length===0))return`Please select at least one option.\n${t(\"reset\",t(\"dim\",`Press ${t([\"gray\",\"bgWhite\",\"inverse\"],\" space \")} to select, ${t(\"gray\",t(\"bgWhite\",t(\"inverse\",\" enter \")))} to submit`))}`},render(){const i=j(e.output,e.message,`${ve(this.state)} `,`${W(this.state)} `),a=`${t(\"gray\",h)}\n${i}\n`,o=this.value??[],u=(l,n)=>{if(l.disabled)return r(l,\"disabled\");const c=o.includes(l.value);return n&&c?r(l,\"active-selected\"):c?r(l,\"selected\"):r(l,n?\"active\":\"inactive\")};switch(this.state){case\"submit\":{const l=this.options.filter(({value:c})=>o.includes(c)).map(c=>r(c,\"submitted\")).join(t(\"dim\",\", \"))||t(\"dim\",\"none\"),n=j(e.output,l,`${t(\"gray\",h)} `);return`${a}${n}`}case\"cancel\":{const l=this.options.filter(({value:c})=>o.includes(c)).map(c=>r(c,\"cancelled\")).join(t(\"dim\",\", \"));if(l.trim()===\"\")return`${a}${t(\"gray\",h)}`;const n=j(e.output,l,`${t(\"gray\",h)} `);return`${a}${n}\n${t(\"gray\",h)}`}case\"error\":{const l=`${t(\"yellow\",h)} `,n=this.error.split(`\n`).map((f,g)=>g===0?`${t(\"yellow\",x)} ${t(\"yellow\",f)}`:` ${f}`).join(`\n`),c=a.split(`\n`).length,p=n.split(`\n`).length+1;return`${a}${l}${X({output:e.output,options:this.options,cursor:this.cursor,maxItems:e.maxItems,columnPadding:l.length,rowPadding:c+p,style:u}).join(`\n${l}`)}\n${n}\n`}default:{const l=`${t(\"cyan\",h)} `,n=a.split(`\n`).length;return`${a}${l}${X({output:e.output,options:this.options,cursor:this.cursor,maxItems:e.maxItems,columnPadding:l.length,rowPadding:n+2,style:u}).join(`\n${l}`)}\n${t(\"cyan\",x)}\n`}}}}).prompt()},jt=e=>t(\"dim\",e),kt=(e,r,s)=>{const i={hard:!0,trim:!1},a=J(e,r,i).split(`\n`),o=a.reduce((n,c)=>Math.max(D(c),n),0),u=a.map(s).reduce((n,c)=>Math.max(D(c),n),0),l=r-(u-o);return J(e,l,i)},Vt=(e=\"\",r=\"\",s)=>{const i=s?.output??N.stdout,a=s?.withGuide??_.withGuide,o=s?.format??jt,u=[\"\",...kt(e,Y(i)-6,o).split(`\n`).map(o),\"\"],l=D(r),n=Math.max(u.reduce((g,E)=>{const $=D(E);return $>g?$:g},0),l)+2,c=u.map(g=>`${t(\"gray\",h)} ${g}${\" \".repeat(n-D(g))}${t(\"gray\",h)}`).join(`\n`),p=a?`${t(\"gray\",h)}\n`:\"\",f=a?We:ge;i.write(`${p}${t(\"green\",V)} ${t(\"reset\",r)} ${t(\"gray\",se.repeat(Math.max(n-l-1,1))+pe)}\n${c}\n${t(\"gray\",f+se.repeat(n+2)+me)}\n`)},Ht=e=>new at({validate:e.validate,mask:e.mask??Ne,signal:e.signal,input:e.input,output:e.output,render(){const r=e.withGuide??_.withGuide,s=`${r?`${t(\"gray\",h)}\n`:\"\"}${W(this.state)} ${e.message}\n`,i=this.userInputWithCursor,a=this.masked;switch(this.state){case\"error\":{const o=r?`${t(\"yellow\",h)} `:\"\",u=r?`${t(\"yellow\",x)} `:\"\",l=a??\"\";return e.clearOnError&&this.clear(),`${s.trim()}\n${o}${l}\n${u}${t(\"yellow\",this.error)}\n`}case\"submit\":{const o=r?`${t(\"gray\",h)} `:\"\",u=a?t(\"dim\",a):\"\";return`${s}${o}${u}`}case\"cancel\":{const o=r?`${t(\"gray\",h)} `:\"\",u=a?t([\"strikethrough\",\"dim\"],a):\"\";return`${s}${o}${u}${a&&r?`\n${t(\"gray\",h)}`:\"\"}`}default:{const o=r?`${t(\"cyan\",h)} `:\"\",u=r?t(\"cyan\",x):\"\";return`${s}${o}${i}\n${u}\n`}}}}).prompt(),Ut=e=>{const r=e.validate;return Xe({...e,initialUserInput:e.initialValue??e.root??process.cwd(),maxItems:5,validate(s){if(!Array.isArray(s)){if(!s)return\"Please select a path\";if(r)return r(s)}},options(){const s=this.userInput;if(s===\"\")return[];try{let i;return dt(s)?xe(s).isDirectory()?i=s:i=_e(s):i=_e(s),$t(i).map(a=>{const o=ht(i,a),u=xe(o);return{name:a,path:o,isDirectory:u.isDirectory()}}).filter(({path:a,isDirectory:o})=>a.startsWith(s)&&(e.directory||!o)).map(a=>({value:a.path}))}catch{return[]}}})},Kt=e=>t(\"magenta\",e),be=({indicator:e=\"dots\",onCancel:r,output:s=process.stdout,cancelMessage:i,errorMessage:a,frames:o=ee?[\"\\u25D2\",\"\\u25D0\",\"\\u25D3\",\"\\u25D1\"]:[\"\\u2022\",\"o\",\"O\",\"0\"],delay:u=ee?80:120,signal:l,...n}={})=>{const c=ce();let p,f,g=!1,E=!1,$=\"\",m,d=performance.now();const F=Y(s),y=n?.styleFrame??Kt,v=B=>{const P=B>1?a??_.messages.error:i??_.messages.cancel;E=B===1,g&&(k(P,B),E&&typeof r==\"function\"&&r())},C=()=>v(2),A=()=>v(1),b=()=>{process.on(\"uncaughtExceptionMonitor\",C),process.on(\"unhandledRejection\",C),process.on(\"SIGINT\",A),process.on(\"SIGTERM\",A),process.on(\"exit\",v),l&&l.addEventListener(\"abort\",A)},w=()=>{process.removeListener(\"uncaughtExceptionMonitor\",C),process.removeListener(\"unhandledRejection\",C),process.removeListener(\"SIGINT\",A),process.removeListener(\"SIGTERM\",A),process.removeListener(\"exit\",v),l&&l.removeEventListener(\"abort\",A)},S=()=>{if(m===void 0)return;c&&s.write(`\n`);const B=J(m,F,{hard:!0,trim:!1}).split(`\n`);B.length>1&&s.write(De.up(B.length-1)),s.write(De.to(0)),s.write(Te.down())},T=B=>B.replace(/\\.+$/,\"\"),M=B=>{const P=(performance.now()-B)/1e3,G=Math.floor(P/60),L=Math.floor(P%60);return G>0?`[${G}m ${L}s]`:`[${L}s]`},O=n.withGuide??_.withGuide,le=(B=\"\")=>{g=!0,p=ot({output:s}),$=T(B),d=performance.now(),O&&s.write(`${t(\"gray\",h)}\n`);let P=0,G=0;b(),f=setInterval(()=>{if(c&&$===m)return;S(),m=$;const L=y(o[P]);let Z;if(c)Z=`${L} ${$}...`;else if(e===\"timer\")Z=`${L} ${$} ${M(d)}`;else{const et=\".\".repeat(Math.floor(G)).slice(0,3);Z=`${L} ${$}${et}`}const Ze=J(Z,F,{hard:!0,trim:!1});s.write(Ze),P=P+1<o.length?P+1:0,G=G<4?G+.125:0},u)},k=(B=\"\",P=0,G=!1)=>{if(!g)return;g=!1,clearInterval(f),S();const L=P===0?t(\"green\",V):P===1?t(\"red\",$e):t(\"red\",de);$=B??$,G||(e===\"timer\"?s.write(`${L} ${$} ${M(d)}\n`):s.write(`${L} ${$}\n`)),w(),p()};return{start:le,stop:(B=\"\")=>k(B,0),message:(B=\"\")=>{$=T(B??$)},cancel:(B=\"\")=>k(B,1),error:(B=\"\")=>k(B,2),clear:()=>k(\"\",0,!0),get isCancelled(){return E}}},ze={light:I(\"\\u2500\",\"-\"),heavy:I(\"\\u2501\",\"=\"),block:I(\"\\u2588\",\"#\")};function qt({style:e=\"heavy\",max:r=100,size:s=40,...i}={}){const a=be(i);let o=0,u=\"\";const l=Math.max(1,r),n=Math.max(1,s),c=E=>{switch(E){case\"initial\":case\"active\":return $=>t(\"magenta\",$);case\"error\":case\"cancel\":return $=>t(\"red\",$);case\"submit\":return $=>t(\"green\",$);default:return $=>t(\"magenta\",$)}},p=(E,$)=>{const m=Math.floor(o/l*n);return`${c(E)(ze[e].repeat(m))}${t(\"dim\",ze[e].repeat(n-m))} ${$}`},f=(E=\"\")=>{u=E,a.start(p(\"initial\",E))},g=(E=1,$)=>{o=Math.min(l,E+o),a.message(p(\"active\",$??u)),u=$??u};return{start:f,stop:a.stop,cancel:a.cancel,error:a.error,clear:a.clear,advance:g,isCancelled:a.isCancelled,message:E=>g(0,E)}}const oe=(e,r)=>e.includes(`\n`)?e.split(`\n`).map(s=>r(s)).join(`\n`):r(e),Jt=e=>{const r=(s,i)=>{const a=s.label??String(s.value);switch(i){case\"disabled\":return`${t(\"gray\",H)} ${oe(a,o=>t(\"gray\",o))}${s.hint?` ${t(\"dim\",`(${s.hint??\"disabled\"})`)}`:\"\"}`;case\"selected\":return`${oe(a,o=>t(\"dim\",o))}`;case\"active\":return`${t(\"green\",z)} ${a}${s.hint?` ${t(\"dim\",`(${s.hint})`)}`:\"\"}`;case\"cancelled\":return`${oe(a,o=>t([\"strikethrough\",\"dim\"],o))}`;default:return`${t(\"dim\",H)} ${oe(a,o=>t(\"dim\",o))}`}};return new lt({options:e.options,signal:e.signal,input:e.input,output:e.output,initialValue:e.initialValue,render(){const s=e.withGuide??_.withGuide,i=`${W(this.state)} `,a=`${ve(this.state)} `,o=j(e.output,e.message,a,i),u=`${s?`${t(\"gray\",h)}\n`:\"\"}${o}\n`;switch(this.state){case\"submit\":{const l=s?`${t(\"gray\",h)} `:\"\",n=j(e.output,r(this.options[this.cursor],\"selected\"),l);return`${u}${n}`}case\"cancel\":{const l=s?`${t(\"gray\",h)} `:\"\",n=j(e.output,r(this.options[this.cursor],\"cancelled\"),l);return`${u}${n}${s?`\n${t(\"gray\",h)}`:\"\"}`}default:{const l=s?`${t(\"cyan\",h)} `:\"\",n=s?t(\"cyan\",x):\"\",c=u.split(`\n`).length,p=s?2:1;return`${u}${l}${X({output:e.output,cursor:this.cursor,options:this.options,maxItems:e.maxItems,columnPadding:l.length,rowPadding:c+p,style:(f,g)=>r(f,f.disabled?\"disabled\":g?\"active\":\"inactive\")}).join(`\n${l}`)}\n${n}\n`}}}}).prompt()},Xt=e=>{const r=(s,i=\"inactive\")=>{const a=s.label??String(s.value);return i===\"selected\"?`${t(\"dim\",a)}`:i===\"cancelled\"?`${t([\"strikethrough\",\"dim\"],a)}`:i===\"active\"?`${t([\"bgCyan\",\"gray\"],` ${s.value} `)} ${a}${s.hint?` ${t(\"dim\",`(${s.hint})`)}`:\"\"}`:`${t([\"gray\",\"bgWhite\",\"inverse\"],` ${s.value} `)} ${a}${s.hint?` ${t(\"dim\",`(${s.hint})`)}`:\"\"}`};return new ut({options:e.options,signal:e.signal,input:e.input,output:e.output,initialValue:e.initialValue,caseSensitive:e.caseSensitive,render(){const s=e.withGuide??_.withGuide,i=`${s?`${t(\"gray\",h)}\n`:\"\"}${W(this.state)} ${e.message}\n`;switch(this.state){case\"submit\":{const a=s?`${t(\"gray\",h)} `:\"\",o=this.options.find(l=>l.value===this.value)??e.options[0],u=j(e.output,r(o,\"selected\"),a);return`${i}${u}`}case\"cancel\":{const a=s?`${t(\"gray\",h)} `:\"\",o=j(e.output,r(this.options[0],\"cancelled\"),a);return`${i}${o}${s?`\n${t(\"gray\",h)}`:\"\"}`}default:{const a=s?`${t(\"cyan\",h)} `:\"\",o=s?t(\"cyan\",x):\"\",u=this.options.map((l,n)=>j(e.output,r(l,n===this.cursor?\"active\":\"inactive\"),a)).join(`\n`);return`${i}${u}\n${o}\n`}}}}).prompt()},Qe=`${t(\"gray\",h)} `,K={message:async(e,{symbol:r=t(\"gray\",h)}={})=>{process.stdout.write(`${t(\"gray\",h)}\n${r} `);let s=3;for await(let i of e){i=i.replace(/\\n/g,`\n${Qe}`),i.includes(`\n`)&&(s=3+ue(i.slice(i.lastIndexOf(`\n`))).length);const a=ue(i).length;s+a<process.stdout.columns?(s+=a,process.stdout.write(i)):(process.stdout.write(`\n${Qe}${i.trimStart()}`),s=3+ue(i.trimStart()).length)}process.stdout.write(`\n`)},info:e=>K.message(e,{symbol:t(\"blue\",fe)}),success:e=>K.message(e,{symbol:t(\"green\",Fe)}),step:e=>K.message(e,{symbol:t(\"green\",V)}),warn:e=>K.message(e,{symbol:t(\"yellow\",ye)}),warning:e=>K.warn(e),error:e=>K.message(e,{symbol:t(\"red\",Ee)})},Yt=async(e,r)=>{for(const s of e){if(s.enabled===!1)continue;const i=be(r);i.start(s.title);const a=await s.task(i.message);i.stop(a||s.title)}},zt=e=>e.replace(/\\x1b\\[(?:\\d+;)*\\d*[ABCDEFGHfJKSTsu]|\\x1b\\[(s|u)/g,\"\"),Qt=e=>{const r=e.output??process.stdout,s=Y(r),i=t(\"gray\",h),a=e.spacing??1,o=3,u=e.retainLog===!0,l=!ce()&&Me(r);r.write(`${i}\n`),r.write(`${t(\"green\",V)} ${e.title}\n`);for(let d=0;d<a;d++)r.write(`${i}\n`);const n=[{value:\"\",full:\"\"}];let c=!1;const p=d=>{if(n.length===0)return;let F=0;d&&(F+=a+2);for(const y of n){const{value:v,result:C}=y;let A=C?.message??v;if(A.length===0)continue;C===void 0&&y.header!==void 0&&y.header!==\"\"&&(A+=`\n${y.header}`);const b=A.split(`\n`).reduce((w,S)=>S===\"\"?w+1:w+Math.ceil((S.length+o)/s),0);F+=b}F>0&&(F+=1,r.write(Te.lines(F)))},f=(d,F,y)=>{const v=y?`${d.full}\n${d.value}`:d.value;d.header!==void 0&&d.header!==\"\"&&R.message(d.header.split(`\n`).map(C=>t(\"bold\",C)),{output:r,secondarySymbol:i,symbol:i,spacing:0}),R.message(v.split(`\n`).map(C=>t(\"dim\",C)),{output:r,secondarySymbol:i,symbol:i,spacing:F??a})},g=()=>{for(const d of n){const{header:F,value:y,full:v}=d;(F===void 0||F.length===0)&&y.length===0||f(d,void 0,u===!0&&v.length>0)}},E=(d,F,y)=>{if(p(!1),(y?.raw!==!0||!c)&&d.value!==\"\"&&(d.value+=`\n`),d.value+=zt(F),c=y?.raw===!0,e.limit!==void 0){const v=d.value.split(`\n`),C=v.length-e.limit;if(C>0){const A=v.splice(0,C);u&&(d.full+=(d.full===\"\"?\"\":`\n`)+A.join(`\n`))}d.value=v.join(`\n`)}l&&$()},$=()=>{for(const d of n)d.result?d.result.status===\"error\"?R.error(d.result.message,{output:r,secondarySymbol:i,spacing:0}):R.success(d.result.message,{output:r,secondarySymbol:i,spacing:0}):d.value!==\"\"&&f(d,0)},m=(d,F)=>{p(!1),d.result=F,l&&$()};return{message(d,F){E(n[0],d,F)},group(d){const F={header:d,value:\"\",full:\"\"};return n.push(F),{message(y,v){E(F,y,v)},error(y){m(F,{status:\"error\",message:y})},success(y){m(F,{status:\"success\",message:y})}}},error(d,F){p(!0),R.error(d,{output:r,secondarySymbol:i,spacing:1}),F?.showLog!==!1&&g(),n.splice(1,n.length-1),n[0].value=\"\",n[0].full=\"\"},success(d,F){p(!0),R.success(d,{output:r,secondarySymbol:i,spacing:1}),F?.showLog===!0&&g(),n.splice(1,n.length-1),n[0].value=\"\",n[0].full=\"\"}}},Zt=e=>new ct({validate:e.validate,placeholder:e.placeholder,defaultValue:e.defaultValue,initialValue:e.initialValue,output:e.output,signal:e.signal,input:e.input,render(){const r=e?.withGuide??_.withGuide,s=`${`${r?`${t(\"gray\",h)}\n`:\"\"}${W(this.state)} `}${e.message}\n`,i=e.placeholder?t(\"inverse\",e.placeholder[0])+t(\"dim\",e.placeholder.slice(1)):t([\"inverse\",\"hidden\"],\"_\"),a=this.userInput?this.userInputWithCursor:i,o=this.value??\"\";switch(this.state){case\"error\":{const u=this.error?` ${t(\"yellow\",this.error)}`:\"\",l=r?`${t(\"yellow\",h)} `:\"\",n=r?t(\"yellow\",x):\"\";return`${s.trim()}\n${l}${a}\n${n}${u}\n`}case\"submit\":{const u=o?` ${t(\"dim\",o)}`:\"\",l=r?t(\"gray\",h):\"\";return`${s}${l}${u}`}case\"cancel\":{const u=o?` ${t([\"strikethrough\",\"dim\"],o)}`:\"\",l=r?t(\"gray\",h):\"\";return`${s}${l}${u}${o.trim()?`\n${l}`:\"\"}`}default:{const u=r?`${t(\"cyan\",h)} `:\"\",l=r?t(\"cyan\",x):\"\";return`${s}${u}${a}\n${l}\n`}}}}).prompt();export{h as S_BAR,x as S_BAR_END,Pe as S_BAR_END_RIGHT,se as S_BAR_H,he as S_BAR_START,Oe as S_BAR_START_RIGHT,te as S_CHECKBOX_ACTIVE,q as S_CHECKBOX_INACTIVE,U as S_CHECKBOX_SELECTED,We as S_CONNECT_LEFT,ge as S_CORNER_BOTTOM_LEFT,me as S_CORNER_BOTTOM_RIGHT,Ge as S_CORNER_TOP_LEFT,pe as S_CORNER_TOP_RIGHT,Ee as S_ERROR,fe as S_INFO,Ne as S_PASSWORD_MASK,z as S_RADIO_ACTIVE,H as S_RADIO_INACTIVE,Re as S_STEP_ACTIVE,$e as S_STEP_CANCEL,de as S_STEP_ERROR,V as S_STEP_SUBMIT,Fe as S_SUCCESS,ye as S_WARN,Xe as autocomplete,xt as autocompleteMultiselect,Mt as box,Nt as cancel,Rt as confirm,Ot as group,Pt as groupMultiselect,Wt as intro,ce as isCI,Me as isTTY,X as limitOptions,R as log,Lt as multiselect,Vt as note,Gt as outro,Ht as password,Ut as path,qt as progress,Jt as select,Xt as selectKey,be as spinner,K as stream,W as symbol,ve as symbolBar,Qt as taskLog,Yt as tasks,Zt as text,ee as unicode,I as unicodeOr};\n//# sourceMappingURL=index.mjs.map\n","import process from 'node:process'\nimport { select } from '@clack/prompts'\nimport { maskKey, queryQuota, readConfig, validateKey, writeConfig } from '@pz4l/tinyimg-core'\nimport kleur from 'kleur'\n\nexport async function keyAdd(key: string): Promise<void> {\n try {\n // Validate key using tinify API\n const isValid = await validateKey(key)\n\n if (!isValid) {\n console.error(kleur.red('✗ Invalid API key. Please check your key and try again.'))\n process.exit(1)\n }\n\n // Read config, add key, write back\n const config = readConfig()\n\n // Check if key already exists\n const existingKey = config.keys.find(k => k.key === key)\n if (existingKey) {\n console.warn(kleur.yellow(`⚠ API key ${maskKey(key)} already exists in config.`))\n process.exit(0)\n }\n\n // Add new key with metadata\n config.keys.push({\n key,\n valid: true,\n lastCheck: new Date().toISOString(),\n })\n\n writeConfig(config)\n\n console.log(kleur.green(`✓ API key ${maskKey(key)} added successfully.`))\n }\n catch (error: any) {\n if (error.message?.includes('credentials') || error.message?.includes('Unauthorized')) {\n console.error(kleur.red('✗ Invalid API key. Please check your key and try again.'))\n process.exit(1)\n }\n\n // Network or other errors\n console.error(kleur.red(`✗ Error validating key: ${error.message}`))\n process.exit(1)\n }\n}\n\nexport async function keyRemove(key?: string): Promise<void> {\n try {\n const config = readConfig()\n\n if (config.keys.length === 0) {\n console.warn(kleur.yellow('⚠ No API keys configured. Use \"tinyimg key add <key>\" to add one.'))\n process.exit(0)\n }\n\n let keyToRemove: string\n\n // If no key provided, use interactive selection\n if (!key) {\n const options = config.keys.map(k => ({\n value: k.key,\n label: `${maskKey(k.key)} ${k.valid ? '(valid)' : '(invalid)'}`,\n }))\n\n const selected = await select({\n message: 'Select API key to remove:',\n options,\n })\n\n if (typeof selected !== 'string') {\n console.log(kleur.yellow('Operation cancelled.'))\n process.exit(0)\n }\n\n keyToRemove = selected\n }\n else {\n keyToRemove = key\n }\n\n // Find and remove the key\n const keyIndex = config.keys.findIndex(k => k.key === keyToRemove)\n\n if (keyIndex === -1) {\n console.error(kleur.red(`✗ API key ${maskKey(keyToRemove)} not found.`))\n process.exit(1)\n }\n\n const removedKey = config.keys.splice(keyIndex, 1)[0]\n writeConfig(config)\n\n console.log(kleur.green(`✓ API key ${maskKey(removedKey.key)} removed successfully.`))\n }\n catch (error: any) {\n console.error(kleur.red(`✗ Error removing key: ${error.message}`))\n process.exit(1)\n }\n}\n\nexport async function keyList(): Promise<void> {\n try {\n const config = readConfig()\n\n if (config.keys.length === 0) {\n console.log(kleur.yellow('⚠ No API keys configured.'))\n console.log(kleur.gray('Use \"tinyimg key add <key>\" to add one.'))\n process.exit(0)\n }\n\n console.log(kleur.bold('\\nAPI Keys:\\n'))\n\n for (const keyMeta of config.keys) {\n const masked = maskKey(keyMeta.key)\n const status = keyMeta.valid ? kleur.green('✓ Valid') : kleur.red('✗ Invalid')\n const lastCheck = new Date(keyMeta.lastCheck).toLocaleString()\n\n console.log(` ${masked} - ${status}`)\n\n try {\n const remaining = await queryQuota(keyMeta.key)\n const quotaInfo = kleur.gray(` Quota: ${remaining}/500 remaining | Last check: ${lastCheck}`)\n console.log(quotaInfo)\n }\n catch {\n const quotaInfo = kleur.yellow(` Quota: Unable to query | Last check: ${lastCheck}`)\n console.log(quotaInfo)\n }\n\n console.log() // Empty line between keys\n }\n }\n catch (error: any) {\n console.error(kleur.red(`✗ Error listing keys: ${error.message}`))\n process.exit(1)\n }\n}\n","#!/usr/bin/env node\nimport process from 'node:process'\nimport cac from 'cac'\nimport kleur from 'kleur'\nimport { compressCommand } from './commands/compress'\nimport { keyAdd, keyList, keyRemove } from './commands/key'\n\nconst cli = cac('tinyimg')\n\n// Main compression command\ncli\n .command('[...inputs]', 'Compress images (PNG, JPG, JPEG)')\n .option('-o, --output <dir>', 'Output directory (default: overwrite in place)')\n .option('-k, --key <key>', 'API key (overrides environment and config)')\n .option('-m, --mode <mode>', 'Key selection strategy (random|round-robin|priority)', {\n default: 'random',\n })\n .option('-p, --parallel <number>', 'Concurrency limit (default: 8)', {\n default: '8',\n })\n .option('-c, --cache', 'Enable caching (default: true)', { default: true })\n .option('--no-cache', 'Disable caching')\n .action(async (inputs: string[], options: any) => {\n try {\n await compressCommand(inputs, options)\n }\n catch (error: any) {\n console.error(kleur.red(`Error: ${error.message}`))\n process.exit(1)\n }\n })\n\n// Key management subcommands\ncli\n .command('key add <key>', 'Add API key')\n .action(async (key: string) => {\n try {\n await keyAdd(key)\n }\n catch (error: any) {\n console.error(kleur.red(`Error: ${error.message}`))\n process.exit(1)\n }\n })\n\ncli\n .command('key remove [key]', 'Remove API key (interactive if not specified)')\n .action(async (key?: string) => {\n try {\n await keyRemove(key)\n }\n catch (error: any) {\n console.error(kleur.red(`Error: ${error.message}`))\n process.exit(1)\n }\n })\n\ncli\n .command('key', 'List all API keys with quota info')\n .action(async () => {\n try {\n await keyList()\n }\n catch (error: any) {\n console.error(kleur.red(`Error: ${error.message}`))\n process.exit(1)\n }\n })\n\ncli.help()\ncli.parse()\n\nexport async function main() {\n // CLI logic is already executed via cli.parse() at module level\n // This export is for testing/programmatic use\n}\n"],"x_google_ignoreList":[3,4,5],"mappings":"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I,OAAK,MAAI,OAAK,KAAG,OAAK,KAAG,OAAK,MAAI,OAAK,KAAG,OAAK,KAAG,OAAK,MAAI,OAAK,MAAI,OAAK,MAAI,OAAK,MAAI,OAAK,MAAI,OAAK,KAAG,OAAK,KAAG,OAAK,MAAI,OAAK,MAAI,OAAK,MAAI,OAAK,MAAI,OAAK,MAAI,OAAK,MAAI,OAAK,MAAI,OAAK,MAAI,OAAK,MAAI,OAAK,KAAG,OAAK,KAAG,OAAK,MAAI,OAAK,KAAG,OAAK,KAAG,OAAK,MAAI,OAAK,KAAG,OAAK,KAAG,OAAK,MAAI,OAAK,MAAI,OAAK,MAAI,OAAK,MAAI,OAAK,MAAI,OAAK,MAAI,OAAK,MAAI,OAAK,MAAI,OAAK,MAAI,OAAK,MAAI,OAAK,MAAI,OAAK,MAAI,OAAK,MAAI,OAAK,MAAI,OAAK,MAAI,OAAK,MAAI,OAAK,MAAI,OAAK,MAAI,OAAK,KAAG,OAAK,KAAG,OAAK,MAAI,OAAK,MAAI,OAAK,KAAG,OAAK,KAAG,OAAK,MAAI,OAAK,MAAI,OAAK,KAAG,OAAK,KAAG,OAAK,KAAG,OAAK,KAAG,OAAK,KAAG,OAAK,KAAG,OAAK,KAAG,OAAK,KAAG,OAAK,KAAG,OAAK,KAAG,OAAK,MAAI,QAAM,KAAG,QAAM,KAAG,QAAM,MAAI,QAAM,MAAI,QAAM,KAAG,QAAM,KAAG,QAAM,MAAI,QAAM,MAAI,QAAM,MAAI,QAAM,MAAI,QAAM,KAAG,QAAM,KAAG,QAAM,KAAG,QAAM,KAAG,QAAM,MAAI,QAAM,MAAI,QAAM,MAAI,QAAM,MAAI,QAAM,MAAI,QAAM,MAAI,QAAM,MAAI,QAAM,MAAI,QAAM,KAAG,QAAM,KAAG,QAAM,MAAI,QAAM,MAAI,QAAM,MAAI,QAAM,MAAI,QAAM,MAAI,QAAM,MAAI,QAAM,MAAI,QAAM,MAAI,QAAM,MAAI,QAAM,MAAI,QAAM,MAAI,QAAM,MAAI,QAAM,KAAG,QAAM,KAAG,QAAM,KAAG,QAAM,KAAG,QAAM,KAAG,QAAM,KAAG,QAAM,MAAI,QAAM,KAAG,QAAM,KAAG,QAAM,MAAI,QAAM,MAAI,QAAM,MAAI,QAAM,MAAI,QAAM,MAAI,QAAM,MAAI,QAAM,MAAI,QAAM,MAAI,QAAM,MAAI,QAAM,MAAI,QAAM,MAAI,QAAM,MAAI,QAAM,MAAI,QAAM,MAAI,QAAM,MAAI,QAAM,KAAG,QAAM,KAAG,QAAM,MAAI,QAAM,MAAI,QAAM,KAAG,QAAM,KAAG,QAAM,MAAI,QAAM,KAAG,QAAM,KAAG,QAAM,MAAI,QAAM,MAAI,QAAM,MAAI,QAAM,MAAI,QAAM,MAAI,QAAM,MAAI,QAAM,MAAI,QAAM,KAAG,QAAM,KAAG,QAAM,MAAI,QAAM,MAAI,QAAM,MAAI,QAAM,MAAI,QAAM,MAAI,QAAM,MAAI,QAAM,MAAI,QAAM,MAAI,QAAM,MAAI,QAAM,MAAI,QAAM,MAAI,QAAM,MAAI,QAAM,MAAI,QAAM,KAAG,QAAM,KAAG,QAAM,KAAG,QAAM,KAAG,QAAM,KAAG,QAAM,KAAG,QAAM,KAAG,QAAM,KAAG,QAAM,KAAG,QAAM,KAAG,QAAM,MAAI,QAAM,MAAI,QAAM,KAAG,QAAM,KAAG,QAAM,MAAI,QAAM,MAAI,QAAM,MAAI,QAAM,MAAI,QAAM,MAAI,QAAM,MAAI,QAAM,MAAI,QAAM,MAAI,QAAM,KAAG,QAAM,KAAG,QAAM,MAAI,QAAM,KAAG,QAAM,KAAG,QAAM,KAAG,QAAM,KAAG,QAAM,MAAI,QAAM,MAAI,QAAM,MAAI,QAAM,MAAI,QAAM,MAAI,QAAM,MAAI,QAAM,MAAI,QAAM,MAAI,QAAM,MAAI,QAAM,MAAI,QAAM,MAAI,QAAM,MAAI,QAAM,KAAG,QAAM,KAAG,QAAM,KAAG,QAAM,KAAG,QAAM,MAAI,QAAM,MAAI,QAAM,MAAI,QAAM,MAAI,QAAM,MAAI,QAAM,MAAI,QAAM,KAAG,QAAM,KAAG,QAAM,KAAG,QAAM,KAAG,QAAM,KAAG,QAAM,KAAG,QAAM,MAAI,QAAM,MAAI,QAAM,MAAI,QAAM,KAAG,QAAM,KAAG,QAAM,MAAI,QAAM,KAAG,QAAM,KAAG,QAAM,MAAI,QAAM,MAAI,QAAM,MAAI,QAAM,MAAI,QAAM,MAAI,SAAO,KAAG,SAAO,KAAG,SAAO,KAAG,SAAO,KAAG,SAAO,KAAG,SAAO,KAAG,SAAO,KAAG,SAAO,KAAG,SAAO,KAAG,SAAO,KAAG,SAAO,MAAI,SAAO,KAAG,UAAQ,KAAG,UAAQ,KAAG,UAAQ,KAAG,UAAQ,KAAG,UAAQ,KAAG,UAAQ,KAAG,UAAQ,KAAG,UAAQ,MAAI,UAAQ,MAAI,UAAQ,KAAG,UAAQ,KAAG,UAAQ,KAAG,UAAQ,KAAG,UAAQ,KAAG,UAAQ,KAAG,WAAS,KAAG,WAAS,KAAG,SAAQ,MAAG,MAAG,MAAI,SAAO,KAAG,SAAO,KAAG,SAAO,KAAG,SAAO,KAAG,OAAM,MAAG,MAAG,KAAG,QAAM,KAAG,QAAM,MAAI,QAAM,MAAI,QAAM,MAAI,QAAM,MAAI,QAAM,KAAG,QAAM,KAAG,QAAM,MAAI,QAAM,MAAI,QAAM,MAAI,QAAM,MAAI,QAAM,MAAI,QAAM,MAAI,QAAM,KAAG,QAAM,KAAG,QAAM,MAAI,QAAM,MAAI,QAAM,MAAI,QAAM,MAAI,QAAM,MAAI,QAAM,MAAI,QAAM,MAAI,QAAM,MAAI,QAAM,MAAI,QAAM,MAAI,QAAM,MAAI,QAAM,MAAI,QAAM,MAAI,QAAM,MAAI,QAAM,MAAI,QAAM,MAAI,QAAM,MAAI,QAAM,MAAI,QAAM,MAAI,QAAM,MAAI,QAAM,MAAI,SAAO,MAAI,SAAO,MAAI,SAAO,KAAG,SAAO,KAAG,SAAO,MAAI,SAAO,KAAG,SAAO,KAAG,SAAO,MAAI,SAAO,MAAI,SAAO,MAAI,SAAO,MAAI,SAAO,MAAI,SAAO,MAAI,SAAO,KAAG,SAAO,KAAG,SAAO,KAAG,SAAO,KAAG,SAAO,KAAG,SAAO,KAAG,SAAO,KAAG,SAAO,KAAG,SAAO,KAAG,SAAO,KAAG,SAAO,KAAG,SAAO,KAAG,SAAO,KAAG,SAAO,KAAG,SAAO,KAAG,SAAO,KAAG,SAAO,KAAG,SAAO,KAAG,SAAO,KAAG,SAAO,KAAG,SAAO,KAAG,SAAO,KAAG,SAAO,KAAG,SAAO,KAAG,SAAO,KAAG,SAAO,KAAG,SAAO,KAAG,SAAO,KAAG,SAAO,KAAG,SAAO,KAAG,SAAO,KAAG,SAAO,KAAG,SAAO,KAAG,SAAO,KAAG,SAAO,KAAG,SAAO,KAAG,SAAO,KAAG,SAAO,KAAG,SAAO,KAAG,SAAO,KAAG,SAAO,KAAG,SAAO,KAAG,SAAO,KAAG,SAAO,KAAG,SAAO,KAAG,SAAO,KAA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,KAAG,QAAM,MAAI,QAAM,MAAI,QAAM,MAAI,QAAM,MAAI,QAAM,MAAI,QAAM,MAAI,QAAM,MAAI,QAAM,MAAI,QAAM,MAAI,QAAM,MAAI,QAAM,MAAI,QAAM,MAAI,QAAM,KAAG,QAAM,KAAG,QAAM,KAAG,QAAM,KAAG,QAAM,KAAG,QAAM,KAAG,QAAM,MAAI,QAAM,KAAG,QAAM,KAAG,QAAM,MAAI,QAAM,MAAI,QAAM,MAAI,QAAM,MAAI,QAAM,MAAI,QAAM,MAAI,QAAM,MAAI,QAAM,MAAI,QAAM,MAAI,QAAM,MAAI,QAAM,MAAI,QAAM,MAAI,QAAM,MAAI,QAAM,MAAI,QAAM,MAAI,QAAM,KAAG,QAAM,KAAG,QAAM,MAAI,QAAM,MAAI,QAAM,KAAG,QAAM,KAAG,QAAM,MAAI,QAAM,KAAG,QAAM,KAAG,QAAM,MAAI,QAAM,MAAI,QAAM,MAAI,QAAM,MAAI,QAAM,MAAI,QAAM,MAAI,QAAM,MAAI,QAAM,KAAG,QAAM,KAAG,QAAM,MAAI,QAAM,MAAI,QAAM,MAAI,QAAM,MAAI,QAAM,MAAI,QAAM,MAAI,QAAM,MAAI,QAAM,MAAI,QAAM,MAAI,QAAM,MAAI,QAAM,MAAI,QAAM,MAAI,QAAM,MAAI,QAAM,KAAG,QAAM,KAAG,QAAM,KAAG,QAAM,KAAG,QAAM,KAAG,QAAM,KAAG,QAAM,KAAG,QAAM,KAAG,QAAM,KAAG,QAAM,KAAG,QAAM,MAAI,QAAM,MAAI,QAAM,KAAG,QAAM,KAAG,QAAM,MAAI,QAAM,MAAI,QAAM,MAAI,QAAM,MAAI,QAAM,MAAI,QAAM,MAAI,QAAM,MAAI,QAAM,MAAI,QAAM,KAAG,QAAM,KAAG,QAAM,MAAI,QAAM,KAAG,QAAM,KAAG,QAAM,KAAG,QAAM,KAAG,QAAM,MAAI,QAAM,MAAI,QAAM,MAAI,QAAM,MAAI,QAAM,MAAI,QAAM,MAAI,QAAM,MAAI,QAAM,MAAI,QAAM,MAAI,QAAM,MAAI,QAAM,MAAI,QAAM,MAAI,QAAM,KAAG,QAAM,KAAG,QAAM,KAAG,QAAM,KAAG,QAAM,MAAI,QAAM,MAAI,QAAM,MAAI,QAAM,MAAI,QAAM,MAAI,QAAM,MAAI,QAAM,KAAG,QAAM,KAAG,QAAM,KAAG,QAAM,KAAG,QAAM,KAAG,QAAM,KAAG,QAAM,MAAI,QAAM,MAAI,QAAM,MAAI,QAAM,KAAG,QAAM,KAAG,QAAM,MAAI,QAAM,KAAG,QAAM,KAAG,QAAM,MAAI,QAAM,MAAI,QAAM,MAAI,QAAM,MAAI,QAAM,MAAI,SAAO,KAAG,SAAO,KAAG,SAAO,KAAG,SAAO,KAAG,SAAO,KAAG,SAAO,KAAG,SAAO,KAAG,SAAO,KAAG,SAAO,KAAG,SAAO,KAAG,SAAO,MAAI,SAAO,KAAG,UAAQ,KAAG,UAAQ,KAAG,UAAQ,KAAG,UAAQ,KAAG,UAAQ,KAAG,UAAQ,KAAG,UAAQ,KAAG,UAAQ,MAAI,UAAQ,MAAI,UAAQ,KAAG,UAAQ,KAAG,UAAQ,KAAG,UAAQ,KAAG,UAAQ,KAAG,UAAQ,KAAG,WAAS,KAAG,WAAS,KAAG,SAAQ,MAAG,MAAG,MAAI,SAAO,KAAG,SAAO,KAAG,SAAO,KAAG,SAAO,KAAG,OAAM,MAAG,MAAG,KAAG,QAAM,KAAG,QAAM,MAAI,QAAM,MAAI,QAAM,MAAI,QAAM,MAAI,QAAM,KAAG,QAAM,KAAG,QAAM,MAAI,QAAM,MAAI,QAAM,MAAI,QAAM,MAAI,QAAM,MAAI,QAAM,MAAI,QAAM,KAAG,QAAM,KAAG,QAAM,MAAI,QAAM,MAAI,QAAM,MAAI,QAAM,MAAI,QAAM,MAAI,QAAM,MAAI,QAAM,MAAI,QAAM,MAAI,QAAM,MAAI,QAAM,MAAI,QAAM,MAAI,QAAM,MAAI,QAAM,MAAI,QAAM,MAAI,QAAM,MAAI,QAAM,MAAI,QAAM,MAAI,QAAM,MAAI,QAAM,MAAI,QAAM,MAAI,QAAM,MAAI,SAAO,MAAI,SAAO,MAAI,SAAO,KAAG,SAAO,KAAG,SAAO,MAAI,SAAO,KAAG,SAAO,KAAG,SAAO,MAAI,SAAO,MAAI,SAAO,MAAI,SAAO,MAAI,SAAO,MAAI,SAAO,MAAI,SAAO,KAAG,SAAO,KAAG,SAAO,KAAG,SAAO,KAAG,SAAO,KAAG,SAAO,KAAG,SAAO,KAAG,SAAO,KAAG,SAAO,KAAG,SAAO,KAAG,SAAO,KAAG,SAAO,KAAG,SAAO,KAAG,SAAO,KAAG,SAAO,KAAG,SAAO,KAAG,SAAO,KAAG,SAAO,KAAG,SAAO,KAAG,SAAO,KAAG,SAAO,KAAG,SAAO,KAAG,SAAO,KAAG,SAAO,KAAG,SAAO,KAAG,SAAO,KAAG,SAAO,KAAG,SAAO,KAAG,SAAO,KAAG,SAAO,KAAG,SAAO,KAAG,SAAO,KAAG,SAAO,KAAG,SAAO,KAAG,SAAO,KAAG,SAAO,KAAG,SAAO,KAAG,SAAO,KAAG,SAAO,KAAG,SAAO,KAAG,SAAO,KAAG,SAAO,KAAG,SAAO,KAAG,SAAO,KAAG,SAAO,KAAG,SAAO,KAAG,SAAO,MAAI,SAAO,MAAI,SAAO,KAAG,SAAO,KAAG,UAAQ,KAAG,UAAQ,KAAG,UAAQ,KAAG,UAAQ,KAAG,UAAQ,KAAG,UAAQ,KAAG,UAAQ,KAAG,UAAQ,KAAG,UAAQ,MAAI,UAAQ,MAAI,UAAQ,KAAG,UAAQ,KAAG,UAAQ,MAAI,UAAQ,KAAG,UAAQ,KAAG,UAAQ,MAAI,UAAQ,KAAG,UAAQ,KAAG,UAAQ,KAAG,UAAQ,KAAG,UAAQ,MAAI,UAAQ,MAAI,UAAQ,MAAI,UAAQ,KAAG,UAAQ,KAAG,UAAQ,KAAG,UAAQ,KAAG,UAAQ,KAAG,UAAQ,KAAG,UAAQ,KAAG,UAAQ,KAAG,UAAQ,MAAI,UAAQ,MAAI,UAAQ,KAAG,UAAQ,KAAG,UAAQ,KAAG,UAAQ,KAAG,UAAQ,KAAG,UAAQ,KAAG,UAAQ,KAAG,UAAQ,KAAG,UAAQ,KAAG,UAAQ,KAAG,UAAQ,KAAG,UAAQ,KAAG,UAAQ,KAAG,UAAQ,KAAG,UAAQ,KAAG,UAAQ,KAAG,UAAQ,MAAI,UAAQ,KAAG,UAAQ,KAAG,UAAQ,MAAI,UAAQ,KAAG,UAAQ,KAAG,UAAQ,KAAG,UAAQ,KAAG,UAAQ,KAAG,UAAQ,KAAG,UAAQ,KAAG,UAAQ,KAAG,UAAQ,MAAI,UAAQ,MAAI,UAAQ,MAAI,UAAQ,MAAI,UAAQ,KAAG,UAAQ,KAAG,UAAQ,KAAG,UAAQ,KAAG,UAAQ,MAAI,UAAQ,KAAG,UAAQ,KAAG,UAAQ,KAAG,UAAQ,KAAG,UAAQ,KAAG,UAAQ,KAAG,UAAQ,MAAI,UAAQ,MAAI,UAAQ,KAAG,UAAQ,KAAG,UAAQ,KAAG,UAAQ,KAAG,UAAQ,MAAI,UAAQ,KAAG,UAAQ,KAAG,UAAQ,KAAG,UAAQ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"}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@pz4l/tinyimg-cli",
|
|
3
3
|
"type": "module",
|
|
4
|
-
"version": "0.0.
|
|
4
|
+
"version": "0.1.0-beta.1",
|
|
5
5
|
"description": "CLI tool for TinyPNG image compression with batch processing and interactive key management",
|
|
6
6
|
"author": "pzehrel",
|
|
7
7
|
"license": "MIT",
|
|
@@ -46,17 +46,20 @@
|
|
|
46
46
|
"engines": {
|
|
47
47
|
"node": ">=18"
|
|
48
48
|
},
|
|
49
|
-
"
|
|
50
|
-
"
|
|
51
|
-
"typecheck": "tsc --noEmit"
|
|
49
|
+
"publishConfig": {
|
|
50
|
+
"access": "public"
|
|
52
51
|
},
|
|
53
52
|
"dependencies": {
|
|
54
53
|
"cac": "^7.0.0",
|
|
55
54
|
"fast-glob": "^3.3.3",
|
|
56
55
|
"kleur": "^4.1.5",
|
|
57
|
-
"@pz4l/tinyimg-core": "
|
|
56
|
+
"@pz4l/tinyimg-core": "0.1.0-beta.1"
|
|
58
57
|
},
|
|
59
58
|
"devDependencies": {
|
|
60
59
|
"@clack/prompts": "^1.1.0"
|
|
60
|
+
},
|
|
61
|
+
"scripts": {
|
|
62
|
+
"build": "tsdown",
|
|
63
|
+
"typecheck": "tsc --noEmit"
|
|
61
64
|
}
|
|
62
|
-
}
|
|
65
|
+
}
|