create-vorma 0.86.0-pre.2 → 0.86.0-pre.3
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/main.mjs +6 -6
- package/.dist/main.mjs.map +1 -1
- package/package.json +1 -1
package/.dist/main.mjs
CHANGED
|
@@ -14,7 +14,7 @@ import { ReadStream } from "node:tty";
|
|
|
14
14
|
//#region \0rolldown/runtime.js
|
|
15
15
|
var __commonJSMin = (cb, mod) => () => (mod || (cb((mod = { exports: {} }).exports, mod), cb = null), mod.exports);
|
|
16
16
|
//#endregion
|
|
17
|
-
//#region node_modules
|
|
17
|
+
//#region node_modules/fast-string-truncated-width/dist/utils.js
|
|
18
18
|
const getCodePointsLength = (() => {
|
|
19
19
|
const SURROGATE_PAIR_RE = /[\uD800-\uDBFF][\uDC00-\uDFFF]/g;
|
|
20
20
|
return (input) => {
|
|
@@ -31,7 +31,7 @@ const isWideNotCJKTNotEmoji = (x) => {
|
|
|
31
31
|
return x === 8987 || x === 9001 || x >= 12272 && x <= 12287 || x >= 12289 && x <= 12350 || x >= 12441 && x <= 12543 || x >= 12549 && x <= 12591 || x >= 12593 && x <= 12686 || x >= 12688 && x <= 12771 || x >= 12783 && x <= 12830 || x >= 12832 && x <= 12871 || x >= 12880 && x <= 19903 || x >= 65040 && x <= 65049 || x >= 65072 && x <= 65106 || x >= 65108 && x <= 65126 || x >= 65128 && x <= 65131 || x >= 127488 && x <= 127490 || x >= 127504 && x <= 127547 || x >= 127552 && x <= 127560 || x >= 131072 && x <= 196605 || x >= 196608 && x <= 262141;
|
|
32
32
|
};
|
|
33
33
|
//#endregion
|
|
34
|
-
//#region node_modules
|
|
34
|
+
//#region node_modules/fast-string-truncated-width/dist/index.js
|
|
35
35
|
const ANSI_RE = /[\u001b\u009b][[()#;?]*(?:[0-9]{1,4}(?:;[0-9]{0,4})*)?[0-9A-ORZcf-nqry=><]|\u001b\]8;[^;]*;.*?(?:\u0007|\u001b\u005c)/y;
|
|
36
36
|
const CONTROL_RE = /[\x00-\x08\x0A-\x1F\x7F-\x9F]{1,1000}/y;
|
|
37
37
|
const CJKT_WIDE_RE = /(?:(?![\uFF61-\uFF9F\uFF00-\uFFEF])[\p{Script=Han}\p{Script=Hiragana}\p{Script=Katakana}\p{Script=Hangul}\p{Script=Tangut}]){1,1000}/uy;
|
|
@@ -121,7 +121,7 @@ const getStringTruncatedWidth = (input, truncationOptions = {}, widthOptions = {
|
|
|
121
121
|
};
|
|
122
122
|
};
|
|
123
123
|
//#endregion
|
|
124
|
-
//#region node_modules
|
|
124
|
+
//#region node_modules/fast-string-width/dist/index.js
|
|
125
125
|
const NO_TRUNCATION = {
|
|
126
126
|
limit: Infinity,
|
|
127
127
|
ellipsis: "",
|
|
@@ -131,7 +131,7 @@ const fastStringWidth = (input, options = {}) => {
|
|
|
131
131
|
return getStringTruncatedWidth(input, NO_TRUNCATION, options).width;
|
|
132
132
|
};
|
|
133
133
|
//#endregion
|
|
134
|
-
//#region node_modules
|
|
134
|
+
//#region node_modules/fast-wrap-ansi/lib/main.js
|
|
135
135
|
const ESC = "\x1B";
|
|
136
136
|
const CSI = "";
|
|
137
137
|
const END_CODE = 39;
|
|
@@ -296,7 +296,7 @@ function wrapAnsi(string, columns, options) {
|
|
|
296
296
|
return String(string).normalize().split(CRLF_OR_LF).map((line) => exec(line, columns, options)).join("\n");
|
|
297
297
|
}
|
|
298
298
|
//#endregion
|
|
299
|
-
//#region node_modules
|
|
299
|
+
//#region node_modules/@clack/core/dist/index.mjs
|
|
300
300
|
var import_src = (/* @__PURE__ */ __commonJSMin(((exports, module) => {
|
|
301
301
|
const ESC = "\x1B";
|
|
302
302
|
const CSI = `${ESC}[`;
|
|
@@ -685,7 +685,7 @@ var ht$1 = class extends m {
|
|
|
685
685
|
}
|
|
686
686
|
};
|
|
687
687
|
//#endregion
|
|
688
|
-
//#region node_modules
|
|
688
|
+
//#region node_modules/@clack/prompts/dist/index.mjs
|
|
689
689
|
function ee() {
|
|
690
690
|
return V.platform !== "win32" ? V.env.TERM !== "linux" : !!V.env.CI || !!V.env.WT_SESSION || !!V.env.TERMINUS_SUBLIME || V.env.ConEmuTask === "{cmd::Cmder}" || V.env.TERM_PROGRAM === "Terminus-Sublime" || V.env.TERM_PROGRAM === "vscode" || V.env.TERM === "xterm-256color" || V.env.TERM === "alacritty" || V.env.TERMINAL_EMULATOR === "JetBrains-JediTerm";
|
|
691
691
|
}
|
package/.dist/main.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"main.mjs","names":["NO_TRUNCATION","fastStringTruncatedWidth","stringWidth","z","Y","q","w","R","D","x","O","p","M","V","H","Q","#s","v","#n","#u","#t","#e","#i","#r","P","tt","$","U","F","st","et","#c","#a","#d","#f","#g","#o","#h","#l","#p","#m","it","ot","ut","at","ht","e","X","Lt","J","vt","T","h","B","Dt","E","Wt","Ft","Ht","Ut","Kt","qt","wt","bt","Zt","te","St","Ct","Jt","Yt","Xt","nt","zt","confirm","isCancel","text","select","spinner"],"sources":["../../../node_modules/.pnpm/fast-string-truncated-width@3.0.3/node_modules/fast-string-truncated-width/dist/utils.js","../../../node_modules/.pnpm/fast-string-truncated-width@3.0.3/node_modules/fast-string-truncated-width/dist/index.js","../../../node_modules/.pnpm/fast-string-width@3.0.2/node_modules/fast-string-width/dist/index.js","../../../node_modules/.pnpm/fast-wrap-ansi@0.2.2/node_modules/fast-wrap-ansi/lib/main.js","../../../node_modules/.pnpm/sisteransi@1.0.5/node_modules/sisteransi/src/index.js","../../../node_modules/.pnpm/@clack+core@1.3.1/node_modules/@clack/core/dist/index.mjs","../../../node_modules/.pnpm/@clack+prompts@1.4.0/node_modules/@clack/prompts/dist/index.mjs","../main.ts"],"sourcesContent":["/* MAIN */\nconst getCodePointsLength = (() => {\n const SURROGATE_PAIR_RE = /[\\uD800-\\uDBFF][\\uDC00-\\uDFFF]/g;\n return (input) => {\n let surrogatePairsNr = 0;\n SURROGATE_PAIR_RE.lastIndex = 0;\n while (SURROGATE_PAIR_RE.test(input)) {\n surrogatePairsNr += 1;\n }\n return input.length - surrogatePairsNr;\n };\n})();\nconst isFullWidth = (x) => {\n return x === 0x3000 || x >= 0xFF01 && x <= 0xFF60 || x >= 0xFFE0 && x <= 0xFFE6;\n};\nconst isWideNotCJKTNotEmoji = (x) => {\n return x === 0x231B || x === 0x2329 || x >= 0x2FF0 && x <= 0x2FFF || x >= 0x3001 && x <= 0x303E || x >= 0x3099 && x <= 0x30FF || x >= 0x3105 && x <= 0x312F || x >= 0x3131 && x <= 0x318E || x >= 0x3190 && x <= 0x31E3 || x >= 0x31EF && x <= 0x321E || x >= 0x3220 && x <= 0x3247 || x >= 0x3250 && x <= 0x4DBF || x >= 0xFE10 && x <= 0xFE19 || x >= 0xFE30 && x <= 0xFE52 || x >= 0xFE54 && x <= 0xFE66 || x >= 0xFE68 && x <= 0xFE6B || x >= 0x1F200 && x <= 0x1F202 || x >= 0x1F210 && x <= 0x1F23B || x >= 0x1F240 && x <= 0x1F248 || x >= 0x20000 && x <= 0x2FFFD || x >= 0x30000 && x <= 0x3FFFD;\n};\n/* EXPORT */\nexport { getCodePointsLength, isFullWidth, isWideNotCJKTNotEmoji };\n","/* IMPORT */\nimport { getCodePointsLength, isFullWidth, isWideNotCJKTNotEmoji } from './utils.js';\n/* HELPERS */\nconst ANSI_RE = /[\\u001b\\u009b][[()#;?]*(?:[0-9]{1,4}(?:;[0-9]{0,4})*)?[0-9A-ORZcf-nqry=><]|\\u001b\\]8;[^;]*;.*?(?:\\u0007|\\u001b\\u005c)/y;\nconst CONTROL_RE = /[\\x00-\\x08\\x0A-\\x1F\\x7F-\\x9F]{1,1000}/y;\nconst CJKT_WIDE_RE = /(?:(?![\\uFF61-\\uFF9F\\uFF00-\\uFFEF])[\\p{Script=Han}\\p{Script=Hiragana}\\p{Script=Katakana}\\p{Script=Hangul}\\p{Script=Tangut}]){1,1000}/yu;\nconst TAB_RE = /\\t{1,1000}/y;\nconst EMOJI_RE = /[\\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;\nconst LATIN_RE = /(?:[\\x20-\\x7E\\xA0-\\xFF](?!\\uFE0F)){1,1000}/y;\nconst MODIFIER_RE = /\\p{M}+/gu;\nconst NO_TRUNCATION = { limit: Infinity, ellipsis: '' };\n/* MAIN */\nconst getStringTruncatedWidth = (input, truncationOptions = {}, widthOptions = {}) => {\n /* CONSTANTS */\n const LIMIT = truncationOptions.limit ?? Infinity;\n const ELLIPSIS = truncationOptions.ellipsis ?? '';\n const ELLIPSIS_WIDTH = truncationOptions?.ellipsisWidth ?? (ELLIPSIS ? getStringTruncatedWidth(ELLIPSIS, NO_TRUNCATION, widthOptions).width : 0);\n const ANSI_WIDTH = 0;\n const CONTROL_WIDTH = widthOptions.controlWidth ?? 0;\n const TAB_WIDTH = widthOptions.tabWidth ?? 8;\n const EMOJI_WIDTH = widthOptions.emojiWidth ?? 2;\n const FULL_WIDTH_WIDTH = 2;\n const REGULAR_WIDTH = widthOptions.regularWidth ?? 1;\n const WIDE_WIDTH = widthOptions.wideWidth ?? FULL_WIDTH_WIDTH;\n const PARSE_BLOCKS = [\n [LATIN_RE, REGULAR_WIDTH],\n [ANSI_RE, ANSI_WIDTH],\n [CONTROL_RE, CONTROL_WIDTH],\n [TAB_RE, TAB_WIDTH],\n [EMOJI_RE, EMOJI_WIDTH],\n [CJKT_WIDE_RE, WIDE_WIDTH],\n ];\n /* STATE */\n let indexPrev = 0;\n let index = 0;\n let length = input.length;\n let lengthExtra = 0;\n let truncationEnabled = false;\n let truncationIndex = length;\n let truncationLimit = Math.max(0, LIMIT - ELLIPSIS_WIDTH);\n let unmatchedStart = 0;\n let unmatchedEnd = 0;\n let width = 0;\n let widthExtra = 0;\n /* PARSE LOOP */\n outer: while (true) {\n /* UNMATCHED */\n if ((unmatchedEnd > unmatchedStart) || (index >= length && index > indexPrev)) {\n const unmatched = input.slice(unmatchedStart, unmatchedEnd) || input.slice(indexPrev, index);\n lengthExtra = 0;\n for (const char of unmatched.replaceAll(MODIFIER_RE, '')) {\n const codePoint = char.codePointAt(0) || 0;\n if (isFullWidth(codePoint)) {\n widthExtra = FULL_WIDTH_WIDTH;\n }\n else if (isWideNotCJKTNotEmoji(codePoint)) {\n widthExtra = WIDE_WIDTH;\n }\n else {\n widthExtra = REGULAR_WIDTH;\n }\n if ((width + widthExtra) > truncationLimit) {\n truncationIndex = Math.min(truncationIndex, Math.max(unmatchedStart, indexPrev) + lengthExtra);\n }\n if ((width + widthExtra) > LIMIT) {\n truncationEnabled = true;\n break outer;\n }\n lengthExtra += char.length;\n width += widthExtra;\n }\n unmatchedStart = unmatchedEnd = 0;\n }\n /* EXITING */\n if (index >= length) {\n break outer;\n }\n /* PARSE BLOCKS */\n for (let i = 0, l = PARSE_BLOCKS.length; i < l; i++) {\n const [BLOCK_RE, BLOCK_WIDTH] = PARSE_BLOCKS[i];\n BLOCK_RE.lastIndex = index;\n if (BLOCK_RE.test(input)) {\n lengthExtra = BLOCK_RE === CJKT_WIDE_RE ? getCodePointsLength(input.slice(index, BLOCK_RE.lastIndex)) : BLOCK_RE === EMOJI_RE ? 1 : BLOCK_RE.lastIndex - index;\n widthExtra = lengthExtra * BLOCK_WIDTH;\n if ((width + widthExtra) > truncationLimit) {\n truncationIndex = Math.min(truncationIndex, index + Math.floor((truncationLimit - width) / BLOCK_WIDTH));\n }\n if ((width + widthExtra) > LIMIT) {\n truncationEnabled = true;\n break outer;\n }\n width += widthExtra;\n unmatchedStart = indexPrev;\n unmatchedEnd = index;\n index = indexPrev = BLOCK_RE.lastIndex;\n continue outer;\n }\n }\n /* UNMATCHED INDEX */\n index += 1;\n }\n /* RETURN */\n return {\n width: truncationEnabled ? truncationLimit : width,\n index: truncationEnabled ? truncationIndex : length,\n truncated: truncationEnabled,\n ellipsed: truncationEnabled && LIMIT >= ELLIPSIS_WIDTH\n };\n};\n/* EXPORT */\nexport default getStringTruncatedWidth;\n","/* IMPORT */\nimport fastStringTruncatedWidth from 'fast-string-truncated-width';\n/* HELPERS */\nconst NO_TRUNCATION = {\n limit: Infinity,\n ellipsis: '',\n ellipsisWidth: 0,\n};\n/* MAIN */\nconst fastStringWidth = (input, options = {}) => {\n return fastStringTruncatedWidth(input, NO_TRUNCATION, options).width;\n};\n/* EXPORT */\nexport default fastStringWidth;\n","import stringWidth from 'fast-string-width';\nconst ESC = '\\x1B';\nconst CSI = '\\x9B';\nconst END_CODE = 39;\nconst ANSI_ESCAPE_BELL = '\\u0007';\nconst ANSI_CSI = '[';\nconst ANSI_OSC = ']';\nconst ANSI_SGR_TERMINATOR = 'm';\nconst ANSI_ESCAPE_LINK = `${ANSI_OSC}8;;`;\nconst GROUP_REGEX = new RegExp(`(?:\\\\${ANSI_CSI}(?<code>\\\\d+)m|\\\\${ANSI_ESCAPE_LINK}(?<uri>.*)${ANSI_ESCAPE_BELL})`, 'y');\nconst getClosingCode = (openingCode) => {\n if (openingCode >= 30 && openingCode <= 37)\n return 39;\n if (openingCode >= 90 && openingCode <= 97)\n return 39;\n if (openingCode >= 40 && openingCode <= 47)\n return 49;\n if (openingCode >= 100 && openingCode <= 107)\n return 49;\n if (openingCode === 1 || openingCode === 2)\n return 22;\n if (openingCode === 3)\n return 23;\n if (openingCode === 4)\n return 24;\n if (openingCode === 7)\n return 27;\n if (openingCode === 8)\n return 28;\n if (openingCode === 9)\n return 29;\n if (openingCode === 0)\n return 0;\n return undefined;\n};\nconst wrapAnsiCode = (code) => `${ESC}${ANSI_CSI}${code}${ANSI_SGR_TERMINATOR}`;\nconst wrapAnsiHyperlink = (url) => `${ESC}${ANSI_ESCAPE_LINK}${url}${ANSI_ESCAPE_BELL}`;\nconst wrapWord = (rows, word, columns) => {\n const characters = word[Symbol.iterator]();\n let isInsideEscape = false;\n let isInsideLinkEscape = false;\n let lastRow = rows.at(-1);\n let visible = lastRow === undefined ? 0 : stringWidth(lastRow);\n let currentCharacter = characters.next();\n let nextCharacter = characters.next();\n let rawCharacterIndex = 0;\n while (!currentCharacter.done) {\n const character = currentCharacter.value;\n const characterLength = stringWidth(character);\n if (visible + characterLength <= columns) {\n rows[rows.length - 1] += character;\n }\n else {\n rows.push(character);\n visible = 0;\n }\n if (character === ESC || character === CSI) {\n isInsideEscape = true;\n isInsideLinkEscape = word.startsWith(ANSI_ESCAPE_LINK, rawCharacterIndex + 1);\n }\n if (isInsideEscape) {\n if (isInsideLinkEscape) {\n if (character === ANSI_ESCAPE_BELL) {\n isInsideEscape = false;\n isInsideLinkEscape = false;\n }\n }\n else if (character === ANSI_SGR_TERMINATOR) {\n isInsideEscape = false;\n }\n }\n else {\n visible += characterLength;\n if (visible === columns && !nextCharacter.done) {\n rows.push('');\n visible = 0;\n }\n }\n currentCharacter = nextCharacter;\n nextCharacter = characters.next();\n rawCharacterIndex += character.length;\n }\n lastRow = rows.at(-1);\n if (!visible && lastRow !== undefined && lastRow.length && rows.length > 1) {\n rows[rows.length - 2] += rows.pop();\n }\n};\nconst stringVisibleTrimSpacesRight = (string) => {\n const words = string.split(' ');\n let last = words.length;\n while (last) {\n if (stringWidth(words[last - 1])) {\n break;\n }\n last--;\n }\n if (last === words.length) {\n return string;\n }\n return words.slice(0, last).join(' ') + words.slice(last).join('');\n};\nconst exec = (string, columns, options = {}) => {\n if (options.trim !== false && string.trim() === '') {\n return '';\n }\n let returnValue = '';\n let escapeCode;\n let escapeUrl;\n const words = string.split(' ');\n let rows = [''];\n let rowLength = 0;\n for (let index = 0; index < words.length; index++) {\n const word = words[index];\n if (options.trim !== false) {\n const row = rows.at(-1) ?? '';\n const trimmed = row.trimStart();\n if (row.length !== trimmed.length) {\n rows[rows.length - 1] = trimmed;\n rowLength = stringWidth(trimmed);\n }\n }\n if (index !== 0) {\n if (rowLength >= columns &&\n (options.wordWrap === false || options.trim === false)) {\n rows.push('');\n rowLength = 0;\n }\n if (rowLength || options.trim === false) {\n rows[rows.length - 1] += ' ';\n rowLength++;\n }\n }\n const wordLength = stringWidth(word);\n if (options.hard && wordLength > columns) {\n const remainingColumns = columns - rowLength;\n const breaksStartingThisLine = 1 + Math.floor((wordLength - remainingColumns - 1) / columns);\n const breaksStartingNextLine = Math.floor((wordLength - 1) / columns);\n if (breaksStartingNextLine < breaksStartingThisLine) {\n rows.push('');\n }\n wrapWord(rows, word, columns);\n rowLength = stringWidth(rows.at(-1) ?? '');\n continue;\n }\n if (rowLength + wordLength > columns && rowLength && wordLength) {\n if (options.wordWrap === false && rowLength < columns) {\n wrapWord(rows, word, columns);\n rowLength = stringWidth(rows.at(-1) ?? '');\n continue;\n }\n rows.push('');\n rowLength = 0;\n }\n if (rowLength + wordLength > columns && options.wordWrap === false) {\n wrapWord(rows, word, columns);\n rowLength = stringWidth(rows.at(-1) ?? '');\n continue;\n }\n rows[rows.length - 1] += word;\n rowLength += wordLength;\n }\n if (options.trim !== false) {\n rows = rows.map((row) => stringVisibleTrimSpacesRight(row));\n }\n const preString = rows.join('\\n');\n let inSurrogate = false;\n for (let i = 0; i < preString.length; i++) {\n const character = preString[i];\n returnValue += character;\n if (!inSurrogate) {\n inSurrogate = character >= '\\ud800' && character <= '\\udbff';\n if (inSurrogate) {\n continue;\n }\n }\n else {\n inSurrogate = false;\n }\n if (character === ESC || character === CSI) {\n GROUP_REGEX.lastIndex = i + 1;\n const groupsResult = GROUP_REGEX.exec(preString);\n const groups = groupsResult?.groups;\n if (groups?.code !== undefined) {\n const code = Number.parseFloat(groups.code);\n escapeCode = code === END_CODE ? undefined : code;\n }\n else if (groups?.uri !== undefined) {\n escapeUrl = groups.uri.length === 0 ? undefined : groups.uri;\n }\n }\n if (preString[i + 1] === '\\n') {\n if (escapeUrl) {\n returnValue += wrapAnsiHyperlink('');\n }\n const closingCode = escapeCode ? getClosingCode(escapeCode) : undefined;\n if (escapeCode && closingCode) {\n returnValue += wrapAnsiCode(closingCode);\n }\n }\n else if (character === '\\n') {\n if (escapeCode && getClosingCode(escapeCode)) {\n returnValue += wrapAnsiCode(escapeCode);\n }\n if (escapeUrl) {\n returnValue += wrapAnsiHyperlink(escapeUrl);\n }\n }\n }\n return returnValue;\n};\nconst CRLF_OR_LF = /\\r?\\n/;\nexport function wrapAnsi(string, columns, options) {\n return String(string)\n .normalize()\n .split(CRLF_OR_LF)\n .map((line) => exec(line, columns, options))\n .join('\\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 v}from\"node:util\";import{stdout as x,stdin as D}from\"node:process\";import*as b from\"node:readline\";import E from\"node:readline\";import{wrapAnsi as M}from\"fast-wrap-ansi\";import{cursor as p,erase as V}from\"sisteransi\";import{ReadStream as O}from\"node:tty\";function f(r,t,s){if(!s.some(o=>!o.disabled))return r;const e=r+t,i=Math.max(s.length-1,0),n=e<0?i:e>i?0:e;return s[n].disabled?f(n,t<0?-1:1,s):n}function I(r,t,s,e){const i=e.split(`\n`);let n=0,o=r;for(const a of i){if(o<=a.length)break;o-=a.length+1,n++}for(n=Math.max(0,Math.min(i.length-1,n+s)),o=Math.min(o,i[n].length)+t;o<0&&n>0;)n--,o+=i[n].length+1;for(;o>i[n].length&&n<i.length-1;)o-=i[n].length+1,n++;o=Math.max(0,Math.min(i[n].length,o));let u=0;for(let a=0;a<n;a++)u+=i[a].length+1;return u+o}const G=[\"up\",\"down\",\"left\",\"right\",\"space\",\"enter\",\"cancel\"],K=[\"January\",\"February\",\"March\",\"April\",\"May\",\"June\",\"July\",\"August\",\"September\",\"October\",\"November\",\"December\"],h={actions:new Set(G),aliases:new Map([[\"k\",\"up\"],[\"j\",\"down\"],[\"h\",\"left\"],[\"l\",\"right\"],[\"\u0003\",\"cancel\"],[\"escape\",\"cancel\"]]),messages:{cancel:\"Canceled\",error:\"Something went wrong\"},withGuide:!0,date:{monthNames:[...K],messages:{required:\"Please enter a valid date\",invalidMonth:\"There are only 12 months in a year\",invalidDay:(r,t)=>`There are only ${r} days in ${t}`,afterMin:r=>`Date must be on or after ${r.toISOString().slice(0,10)}`,beforeMax:r=>`Date must be on or before ${r.toISOString().slice(0,10)}`}}};function j(r){if(r.aliases!==void 0){const t=r.aliases;for(const s in t){if(!Object.hasOwn(t,s))continue;const e=t[s];h.actions.has(e)&&(h.aliases.has(s)||h.aliases.set(s,e))}}if(r.messages!==void 0){const t=r.messages;t.cancel!==void 0&&(h.messages.cancel=t.cancel),t.error!==void 0&&(h.messages.error=t.error)}if(r.withGuide!==void 0&&(h.withGuide=r.withGuide!==!1),r.date!==void 0){const t=r.date;t.monthNames!==void 0&&(h.date.monthNames=[...t.monthNames]),t.messages!==void 0&&(t.messages.required!==void 0&&(h.date.messages.required=t.messages.required),t.messages.invalidMonth!==void 0&&(h.date.messages.invalidMonth=t.messages.invalidMonth),t.messages.invalidDay!==void 0&&(h.date.messages.invalidDay=t.messages.invalidDay),t.messages.afterMin!==void 0&&(h.date.messages.afterMin=t.messages.afterMin),t.messages.beforeMax!==void 0&&(h.date.messages.beforeMax=t.messages.beforeMax))}}function C(r,t){if(typeof r==\"string\")return h.aliases.get(r)===t;for(const s of r)if(s!==void 0&&C(s,t))return!0;return!1}function z(r,t){if(r===t)return;const s=r.split(`\n`),e=t.split(`\n`),i=Math.max(s.length,e.length),n=[];for(let o=0;o<i;o++)s[o]!==e[o]&&n.push(o);return{lines:n,numLinesBefore:s.length,numLinesAfter:e.length,numLines:i}}const Y=globalThis.process.platform.startsWith(\"win\"),k=Symbol(\"clack:cancel\");function q(r){return r===k}function w(r,t){const s=r;s.isTTY&&s.setRawMode(t)}function R({input:r=D,output:t=x,overwrite:s=!0,hideCursor:e=!0}={}){const i=b.createInterface({input:r,output:t,prompt:\"\",tabSize:1});b.emitKeypressEvents(r,i),r instanceof O&&r.isTTY&&r.setRawMode(!0);const n=(o,{name:u,sequence:a})=>{const l=String(o);if(C([l,u,a],\"cancel\")){e&&t.write(p.show),process.exit(0);return}if(!s)return;const c=u===\"return\"?0:-1,y=u===\"return\"?-1:0;b.moveCursor(t,c,y,()=>{b.clearLine(t,1,()=>{r.once(\"keypress\",n)})})};return e&&t.write(p.hide),r.once(\"keypress\",n),()=>{r.off(\"keypress\",n),e&&t.write(p.show),r instanceof O&&r.isTTY&&!Y&&r.setRawMode(!1),i.terminal=!1,i.close()}}const A=r=>\"columns\"in r&&typeof r.columns==\"number\"?r.columns:80,L=r=>\"rows\"in r&&typeof r.rows==\"number\"?r.rows:20;function W(r,t,s,e=s,i=s,n){const o=A(r??x);return M(t,o-s.length,{hard:!0,trim:!1}).split(`\n`).map((u,a,l)=>{const c=n?n(u,a):u;return a===0?`${e}${c}`:a===l.length-1?`${i}${c}`:`${s}${c}`}).join(`\n`)}let m=class{input;output;_abortSignal;rl;opts;_render;_track=!1;_prevFrame=\"\";_subscribers=new Map;_cursor=0;state=\"initial\";error=\"\";value;userInput=\"\";constructor(t,s=!0){const{input:e=D,output:i=x,render:n,signal:o,...u}=t;this.opts=u,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=o,this.input=e,this.output=i}unsubscribe(){this._subscribers.clear()}setSubscriber(t,s){const e=this._subscribers.get(t)??[];e.push(s),this._subscribers.set(t,e)}on(t,s){this.setSubscriber(t,{cb:s})}once(t,s){this.setSubscriber(t,{cb:s,once:!0})}emit(t,...s){const e=this._subscribers.get(t)??[],i=[];for(const n of e)n.cb(...s),n.once&&i.push(()=>e.splice(e.indexOf(n),1));for(const n of i)n()}prompt(){return new Promise(t=>{if(this._abortSignal){if(this._abortSignal.aborted)return this.state=\"cancel\",this.close(),t(k);this._abortSignal.addEventListener(\"abort\",()=>{this.state=\"cancel\",this.close()},{once:!0})}this.rl=E.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(p.show),this.output.off(\"resize\",this.render),w(this.input,!1),t(this.value)}),this.once(\"cancel\",()=>{this.output.write(p.show),this.output.off(\"resize\",this.render),w(this.input,!1),t(k)})})}_isActionKey(t,s){return t===\"\t\"}_shouldSubmit(t,s){return!0}_setValue(t){this.value=t,this.emit(\"value\",this.value)}_setUserInput(t,s){this.userInput=t??\"\",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(t,s){if(this._track&&s.name!==\"return\"&&(s.name&&this._isActionKey(t,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&&h.aliases.has(s.name)&&this.emit(\"cursor\",h.aliases.get(s.name)),h.actions.has(s.name)&&this.emit(\"cursor\",s.name)),t&&(t.toLowerCase()===\"y\"||t.toLowerCase()===\"n\")&&this.emit(\"confirm\",t.toLowerCase()===\"y\"),this.emit(\"key\",t?.toLowerCase(),s),s?.name===\"return\"&&this._shouldSubmit(t,s)){if(this.opts.validate){const e=this.opts.validate(this.value);e&&(this.error=e instanceof Error?e.message:e,this.state=\"error\",this.rl?.write(this.userInput))}this.state!==\"error\"&&(this.state=\"submit\")}C([t,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 t=M(this._prevFrame,process.stdout.columns,{hard:!0,trim:!1}).split(`\n`).length-1;this.output.write(p.move(-999,t*-1))}render(){const t=M(this._render(this)??\"\",process.stdout.columns,{hard:!0,trim:!1});if(t!==this._prevFrame){if(this.state===\"initial\")this.output.write(p.hide);else{const s=z(this._prevFrame,t),e=L(this.output);if(this.restoreCursor(),s){const i=Math.max(0,s.numLinesAfter-e),n=Math.max(0,s.numLinesBefore-e);let o=s.lines.find(u=>u>=i);if(o===void 0){this._prevFrame=t;return}if(s.lines.length===1){this.output.write(p.move(0,o-n)),this.output.write(V.lines(1));const u=t.split(`\n`);this.output.write(u[o]),this._prevFrame=t,this.output.write(p.move(0,u.length-o-1));return}else if(s.lines.length>1){if(i<n)o=i;else{const a=o-n;a>0&&this.output.write(p.move(0,a))}this.output.write(V.down());const u=t.split(`\n`).slice(o);this.output.write(u.join(`\n`)),this._prevFrame=t;return}}this.output.write(V.down())}this.output.write(t),this.state===\"initial\"&&(this.state=\"active\"),this._prevFrame=t}}};function B(r,t){if(r===void 0||t.length===0)return 0;const s=t.findIndex(e=>e.value===r);return s!==-1?s:0}function J(r,t){return(t.label??String(t.value)).toLowerCase().includes(r.toLowerCase())}function H(r,t){if(t)return r?t:t[0]}let Q=class extends m{filteredOptions;multiple;isNavigating=!1;selectedValues=[];focusedValue;#s=0;#r=\"\";#t;#n;#u;get cursor(){return this.#s}get userInputWithCursor(){if(!this.userInput)return v([\"inverse\",\"hidden\"],\"_\");if(this._cursor>=this.userInput.length)return`${this.userInput}\\u2588`;const t=this.userInput.slice(0,this._cursor),[s,...e]=this.userInput.slice(this._cursor);return`${t}${v(\"inverse\",s)}${e.join(\"\")}`}get options(){return typeof this.#n==\"function\"?this.#n():this.#n}constructor(t){super(t),this.#n=t.options,this.#u=t.placeholder;const s=this.options;this.filteredOptions=[...s],this.multiple=t.multiple===!0,this.#t=typeof t.options==\"function\"?t.filter:t.filter??J;let e;if(t.initialValue&&Array.isArray(t.initialValue)?this.multiple?e=t.initialValue:e=t.initialValue.slice(0,1):!this.multiple&&this.options.length>0&&(e=[this.options[0].value]),e)for(const i of e){const n=s.findIndex(o=>o.value===i);n!==-1&&(this.toggleSelected(i),this.#s=n)}this.focusedValue=this.options[this.#s]?.value,this.on(\"key\",(i,n)=>this.#e(i,n)),this.on(\"userInput\",i=>this.#i(i))}_isActionKey(t,s){return t===\"\t\"||this.multiple&&this.isNavigating&&s.name===\"space\"&&t!==void 0&&t!==\"\"}#e(t,s){const e=s.name===\"up\",i=s.name===\"down\",n=s.name===\"return\",o=this.userInput===\"\"||this.userInput===\"\t\",u=this.#u,a=this.options,l=u!==void 0&&u!==\"\"&&a.some(c=>!c.disabled&&(this.#t?this.#t(u,c):!0));if(s.name===\"tab\"&&o&&l){this.userInput===\"\t\"&&this._clearUserInput(),this._setUserInput(u,!0),this.isNavigating=!1;return}e||i?(this.#s=f(this.#s,e?-1:1,this.filteredOptions),this.focusedValue=this.filteredOptions[this.#s]?.value,this.multiple||(this.selectedValues=[this.focusedValue]),this.isNavigating=!0):n?this.value=H(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(t){this.filteredOptions.length!==0&&(this.multiple?this.selectedValues.includes(t)?this.selectedValues=this.selectedValues.filter(s=>s!==t):this.selectedValues=[...this.selectedValues,t]:this.selectedValues=[t])}#i(t){if(t!==this.#r){this.#r=t;const s=this.options;t&&this.#t?this.filteredOptions=s.filter(n=>this.#t?.(t,n)):this.filteredOptions=[...s];const e=B(this.focusedValue,this.filteredOptions);this.#s=f(e,0,this.filteredOptions);const i=this.filteredOptions[this.#s];i&&!i.disabled?this.focusedValue=i.value:this.focusedValue=void 0,this.multiple||(this.focusedValue!==void 0?this.toggleSelected(this.focusedValue):this.deselectAll())}}};class X extends m{get cursor(){return this.value?0:1}get _value(){return this.cursor===0}constructor(t){super(t,!1),this.value=!!t.initialValue,this.on(\"userInput\",()=>{this.value=this._value}),this.on(\"confirm\",s=>{this.output.write(p.move(0,-1)),this.value=s,this.state=\"submit\",this.close()}),this.on(\"cursor\",()=>{this.value=!this.value})}}const Z={Y:{type:\"year\",len:4},M:{type:\"month\",len:2},D:{type:\"day\",len:2}};function P(r){return[...r].map(t=>Z[t])}function tt(r){const t=new Intl.DateTimeFormat(r,{year:\"numeric\",month:\"2-digit\",day:\"2-digit\"}).formatToParts(new Date(2e3,0,15)),s=[];let e=\"/\";for(const i of t)i.type===\"literal\"?e=i.value.trim()||i.value:(i.type===\"year\"||i.type===\"month\"||i.type===\"day\")&&s.push({type:i.type,len:i.type===\"year\"?4:2});return{segments:s,separator:e}}function $(r){return Number.parseInt((r||\"0\").replace(/_/g,\"0\"),10)||0}function S(r){return{year:$(r.year),month:$(r.month),day:$(r.day)}}function U(r,t){return new Date(r||2001,t||1,0).getDate()}function F(r){const{year:t,month:s,day:e}=S(r);if(!t||t<0||t>9999||!s||s<1||s>12||!e||e<1)return;const i=new Date(Date.UTC(t,s-1,e));if(!(i.getUTCFullYear()!==t||i.getUTCMonth()!==s-1||i.getUTCDate()!==e))return{year:t,month:s,day:e}}function N(r){const t=F(r);return t?new Date(Date.UTC(t.year,t.month-1,t.day)):void 0}function st(r,t,s,e){const i=s?{year:s.getUTCFullYear(),month:s.getUTCMonth()+1,day:s.getUTCDate()}:null,n=e?{year:e.getUTCFullYear(),month:e.getUTCMonth()+1,day:e.getUTCDate()}:null;return r===\"year\"?{min:i?.year??1,max:n?.year??9999}:r===\"month\"?{min:i&&t.year===i.year?i.month:1,max:n&&t.year===n.year?n.month:12}:{min:i&&t.year===i.year&&t.month===i.month?i.day:1,max:n&&t.year===n.year&&t.month===n.month?n.day:U(t.year,t.month)}}class et extends m{#s;#r;#t;#n;#u;#e={segmentIndex:0,positionInSegment:0};#i=!0;#o=null;inlineError=\"\";get segmentCursor(){return{...this.#e}}get segmentValues(){return{...this.#t}}get segments(){return this.#s}get separator(){return this.#r}get formattedValue(){return this.#c(this.#t)}#c(t){return this.#s.map(s=>t[s.type]).join(this.#r)}#a(){this._setUserInput(this.#c(this.#t)),this._setValue(N(this.#t)??void 0)}constructor(t){const s=t.format?{segments:P(t.format),separator:t.separator??\"/\"}:tt(t.locale),e=t.separator??s.separator,i=t.format?P(t.format):s.segments,n=t.initialValue??t.defaultValue,o=n?{year:String(n.getUTCFullYear()).padStart(4,\"0\"),month:String(n.getUTCMonth()+1).padStart(2,\"0\"),day:String(n.getUTCDate()).padStart(2,\"0\")}:{year:\"____\",month:\"__\",day:\"__\"},u=i.map(a=>o[a.type]).join(e);super({...t,initialUserInput:u},!1),this.#s=i,this.#r=e,this.#t=o,this.#n=t.minDate,this.#u=t.maxDate,this.#a(),this.on(\"cursor\",a=>this.#d(a)),this.on(\"key\",(a,l)=>this.#f(a,l)),this.on(\"finalize\",()=>this.#g(t))}#h(){const t=Math.max(0,Math.min(this.#e.segmentIndex,this.#s.length-1)),s=this.#s[t];if(s)return this.#e.positionInSegment=Math.max(0,Math.min(this.#e.positionInSegment,s.len-1)),{segment:s,index:t}}#l(t){this.inlineError=\"\",this.#o=null;const s=this.#h();s&&(this.#e.segmentIndex=Math.max(0,Math.min(this.#s.length-1,s.index+t)),this.#e.positionInSegment=0,this.#i=!0)}#p(t){const s=this.#h();if(!s)return;const{segment:e}=s,i=this.#t[e.type],n=!i||i.replace(/_/g,\"\")===\"\",o=Number.parseInt((i||\"0\").replace(/_/g,\"0\"),10)||0,u=st(e.type,S(this.#t),this.#n,this.#u);let a;n?a=t===1?u.min:u.max:a=Math.max(Math.min(u.max,o+t),u.min),this.#t={...this.#t,[e.type]:a.toString().padStart(e.len,\"0\")},this.#i=!0,this.#o=null,this.#a()}#d(t){if(t)switch(t){case\"right\":return this.#l(1);case\"left\":return this.#l(-1);case\"up\":return this.#p(1);case\"down\":return this.#p(-1)}}#f(t,s){if(s?.name===\"backspace\"||s?.sequence===\"\\x7F\"||s?.sequence===\"\\b\"||t===\"\\x7F\"||t===\"\\b\"){this.inlineError=\"\";const e=this.#h();if(!e)return;if(!this.#t[e.segment.type].replace(/_/g,\"\")){this.#l(-1);return}this.#t[e.segment.type]=\"_\".repeat(e.segment.len),this.#i=!0,this.#e.positionInSegment=0,this.#a();return}if(s?.name===\"tab\"){this.inlineError=\"\";const e=this.#h();if(!e)return;const i=s.shift?-1:1,n=e.index+i;n>=0&&n<this.#s.length&&(this.#e.segmentIndex=n,this.#e.positionInSegment=0,this.#i=!0);return}if(t&&/^[0-9]$/.test(t)){const e=this.#h();if(!e)return;const{segment:i}=e,n=!this.#t[i.type].replace(/_/g,\"\");if(this.#i&&this.#o!==null&&!n){const d=this.#o+t,g={...this.#t,[i.type]:d},_=this.#m(g,i);if(_){this.inlineError=_,this.#o=null,this.#i=!1;return}this.inlineError=\"\",this.#t[i.type]=d,this.#o=null,this.#i=!1,this.#a(),e.index<this.#s.length-1&&(this.#e.segmentIndex=e.index+1,this.#e.positionInSegment=0,this.#i=!0);return}this.#i&&!n&&(this.#t[i.type]=\"_\".repeat(i.len),this.#e.positionInSegment=0),this.#i=!1,this.#o=null;const o=this.#t[i.type],u=o.indexOf(\"_\"),a=u>=0?u:Math.min(this.#e.positionInSegment,i.len-1);if(a<0||a>=i.len)return;let l=o.slice(0,a)+t+o.slice(a+1),c=!1;if(a===0&&o===\"__\"&&(i.type===\"month\"||i.type===\"day\")){const d=Number.parseInt(t,10);l=`0${t}`,c=d<=(i.type===\"month\"?1:2)}if(i.type===\"year\"&&(l=(o.replace(/_/g,\"\")+t).padStart(i.len,\"_\")),!l.includes(\"_\")){const d={...this.#t,[i.type]:l},g=this.#m(d,i);if(g){this.inlineError=g;return}}this.inlineError=\"\",this.#t[i.type]=l;const y=l.includes(\"_\")?void 0:F(this.#t);if(y){const{year:d,month:g}=y,_=U(d,g);this.#t={year:String(Math.max(0,Math.min(9999,d))).padStart(4,\"0\"),month:String(Math.max(1,Math.min(12,g))).padStart(2,\"0\"),day:String(Math.max(1,Math.min(_,y.day))).padStart(2,\"0\")}}this.#a();const T=l.indexOf(\"_\");c?(this.#i=!0,this.#o=t):T>=0?this.#e.positionInSegment=T:u>=0&&e.index<this.#s.length-1?(this.#e.segmentIndex=e.index+1,this.#e.positionInSegment=0,this.#i=!0):this.#e.positionInSegment=Math.min(a+1,i.len-1)}}#m(t,s){const{month:e,day:i}=S(t);if(s.type===\"month\"&&(e<0||e>12))return h.date.messages.invalidMonth;if(s.type===\"day\"&&(i<0||i>31))return h.date.messages.invalidDay(31,\"any month\")}#g(t){const{year:s,month:e,day:i}=S(this.#t);if(s&&e&&i){const n=U(s,e);this.#t={...this.#t,day:String(Math.min(i,n)).padStart(2,\"0\")}}this.value=N(this.#t)??t.defaultValue??void 0}}class it extends m{options;cursor=0;#s;getGroupItems(t){return this.options.filter(s=>s.group===t)}isGroupSelected(t){const s=this.getGroupItems(t),e=this.value;return e===void 0?!1:s.every(i=>e.includes(i.value))}toggleValue(){const t=this.options[this.cursor];if(this.value===void 0&&(this.value=[]),t.group===!0){const s=t.value,e=this.getGroupItems(s);this.isGroupSelected(s)?this.value=this.value.filter(i=>e.findIndex(n=>n.value===i)===-1):this.value=[...this.value,...e.map(i=>i.value)],this.value=Array.from(new Set(this.value))}else{const s=this.value.includes(t.value);this.value=s?this.value.filter(e=>e!==t.value):[...this.value,t.value]}}constructor(t){super(t,!1);const{options:s}=t;this.#s=t.selectableGroups!==!1,this.options=Object.entries(s).flatMap(([e,i])=>[{value:e,group:!0,label:e},...i.map(n=>({...n,group:e}))]),this.value=[...t.initialValues??[]],this.cursor=Math.max(this.options.findIndex(({value:e})=>e===t.cursorAt),this.#s?0:1),this.on(\"cursor\",e=>{switch(e){case\"left\":case\"up\":{this.cursor=this.cursor===0?this.options.length-1:this.cursor-1;const i=this.options[this.cursor]?.group===!0;!this.#s&&i&&(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 i=this.options[this.cursor]?.group===!0;!this.#s&&i&&(this.cursor=this.cursor===this.options.length-1?0:this.cursor+1);break}case\"space\":this.toggleValue();break}})}}class rt extends m{#s=!1;#r;focused=\"editor\";get userInputWithCursor(){if(this.state===\"submit\")return this.userInput;const t=this.userInput;if(this.cursor>=t.length)return`${t}\\u2588`;const s=t.slice(0,this.cursor),e=t[this.cursor],i=t.slice(this.cursor+1);return e===`\n`?`${s}\\u2588\n${i}`:`${s}${v(\"inverse\",e)}${i}`}get cursor(){return this._cursor}#t(t){if(this.userInput.length===0){this._setUserInput(t);return}this._setUserInput(this.userInput.slice(0,this.cursor)+t+this.userInput.slice(this.cursor))}#n(t){const s=this.value??\"\";switch(t){case\"up\":this._cursor=I(this._cursor,0,-1,s);return;case\"down\":this._cursor=I(this._cursor,0,1,s);return;case\"left\":this._cursor=I(this._cursor,-1,0,s);return;case\"right\":this._cursor=I(this._cursor,1,0,s);return}}_shouldSubmit(t,s){if(this.#r)return this.focused===\"submit\"?!0:(this.#t(`\n`),this._cursor++,!1);const e=this.#s;return this.#s=!0,e?(this.userInput[this.cursor-1]===`\n`&&(this._setUserInput(this.userInput.slice(0,this.cursor-1)+this.userInput.slice(this.cursor)),this._cursor--),!0):(this.#t(`\n`),this._cursor++,!1)}constructor(t){super(t,!1),this.#r=t.showSubmit??!1,this.on(\"key\",(s,e)=>{if(e?.name&&h.actions.has(e.name)){this.#n(e.name);return}if(s===\"\t\"&&this.#r){this.focused=this.focused===\"editor\"?\"submit\":\"editor\";return}if(e?.name!==\"return\"){if(this.#s=!1,e?.name===\"backspace\"&&this.cursor>0){this._setUserInput(this.userInput.slice(0,this.cursor-1)+this.userInput.slice(this.cursor)),this._cursor--;return}if(e?.name===\"delete\"&&this.cursor<this.userInput.length){this._setUserInput(this.userInput.slice(0,this.cursor)+this.userInput.slice(this.cursor+1));return}s&&(this.#r&&this.focused===\"submit\"&&(this.focused=\"editor\"),this.#t(s??\"\"),this._cursor++)}}),this.on(\"userInput\",s=>{this._setValue(s)}),this.on(\"finalize\",()=>{this.value||(this.value=t.defaultValue),this.value===void 0&&(this.value=\"\")})}}let nt=class extends m{options;cursor=0;get _value(){return this.options[this.cursor].value}get _enabledOptions(){return this.options.filter(t=>t.disabled!==!0)}toggleAll(){const t=this._enabledOptions,s=this.value!==void 0&&this.value.length===t.length;this.value=s?[]:t.map(e=>e.value)}toggleInvert(){const t=this.value;if(!t)return;const s=this._enabledOptions.filter(e=>!t.includes(e.value));this.value=s.map(e=>e.value)}toggleValue(){this.value===void 0&&(this.value=[]);const t=this.value.includes(this._value);this.value=t?this.value.filter(s=>s!==this._value):[...this.value,this._value]}constructor(t){super(t,!1),this.options=t.options,this.value=[...t.initialValues??[]];const s=Math.max(this.options.findIndex(({value:e})=>e===t.cursorAt),0);this.cursor=this.options[s].disabled?f(s,1,this.options):s,this.on(\"key\",e=>{e===\"a\"&&this.toggleAll(),e===\"i\"&&this.toggleInvert()}),this.on(\"cursor\",e=>{switch(e){case\"left\":case\"up\":this.cursor=f(this.cursor,-1,this.options);break;case\"down\":case\"right\":this.cursor=f(this.cursor,1,this.options);break;case\"space\":this.toggleValue();break}})}};class ot extends m{_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 t=this.userInput;if(this.cursor>=t.length)return`${this.masked}${v([\"inverse\",\"hidden\"],\"_\")}`;const s=this.masked,e=s.slice(0,this.cursor),i=s.slice(this.cursor);return`${e}${v(\"inverse\",i[0])}${i.slice(1)}`}clear(){this._clearUserInput()}constructor({mask:t,...s}){super(s),this._mask=t??\"\\u2022\",this.on(\"userInput\",e=>{this._setValue(e)})}}class ut extends m{options;cursor=0;get _selectedValue(){return this.options[this.cursor]}changeValue(){this.value=this._selectedValue.value}constructor(t){super(t,!1),this.options=t.options;const s=this.options.findIndex(({value:i})=>i===t.initialValue),e=s===-1?0:s;this.cursor=this.options[e].disabled?f(e,1,this.options):e,this.changeValue(),this.on(\"cursor\",i=>{switch(i){case\"left\":case\"up\":this.cursor=f(this.cursor,-1,this.options);break;case\"down\":case\"right\":this.cursor=f(this.cursor,1,this.options);break}this.changeValue()})}}class at extends m{options;cursor=0;constructor(t){super(t,!1),this.options=t.options;const s=t.caseSensitive===!0,e=this.options.map(({value:[i]})=>s?i:i?.toLowerCase());this.cursor=Math.max(e.indexOf(t.initialValue),0),this.on(\"key\",(i,n)=>{if(!i)return;const o=s&&n.shift?i.toUpperCase():i;if(!e.includes(o))return;const u=this.options.find(({value:[a]})=>s?a===o:a?.toLowerCase()===i);u&&(this.value=u.value,this.state=\"submit\",this.emit(\"submit\"))})}}class ht extends m{get userInputWithCursor(){if(this.state===\"submit\")return this.userInput;const t=this.userInput;if(this.cursor>=t.length)return`${this.userInput}\\u2588`;const s=t.slice(0,this.cursor),[e,...i]=t.slice(this.cursor);return`${s}${v(\"inverse\",e)}${i.join(\"\")}`}get cursor(){return this._cursor}constructor(t){super({...t,initialUserInput:t.initialUserInput??t.initialValue}),this.on(\"userInput\",s=>{this._setValue(s)}),this.on(\"finalize\",()=>{this.value||(this.value=t.defaultValue),this.value===void 0&&(this.value=\"\")})}}export{Q as AutocompletePrompt,X as ConfirmPrompt,et as DatePrompt,it as GroupMultiSelectPrompt,rt as MultiLinePrompt,nt as MultiSelectPrompt,ot as PasswordPrompt,m as Prompt,at as SelectKeyPrompt,ut as SelectPrompt,ht as TextPrompt,R as block,A as getColumns,L as getRows,q as isCancel,h as settings,j as updateSettings,W as wrapTextWithPrefix};\n//# sourceMappingURL=index.mjs.map\n","import{getColumns as X,getRows as Lt,AutocompletePrompt as vt,settings as T,ConfirmPrompt as Dt,wrapTextWithPrefix as E,DatePrompt as Wt,isCancel as Ft,GroupMultiSelectPrompt as Ht,MultiLinePrompt as Ut,MultiSelectPrompt as Kt,PasswordPrompt as qt,block as Jt,SelectPrompt as Yt,SelectKeyPrompt as Xt,TextPrompt as zt}from\"@clack/core\";export{isCancel,settings,updateSettings}from\"@clack/core\";import{styleText as e,stripVTControlCharacters as nt}from\"node:util\";import V from\"node:process\";import{wrapAnsi as J}from\"fast-wrap-ansi\";import B from\"fast-string-width\";import{existsSync as Qt,lstatSync as wt,readdirSync as Zt}from\"node:fs\";import{dirname as bt,join as te}from\"node:path\";import{cursor as St,erase as Ct}from\"sisteransi\";function ee(){return V.platform!==\"win32\"?V.env.TERM!==\"linux\":!!V.env.CI||!!V.env.WT_SESSION||!!V.env.TERMINUS_SUBLIME||V.env.ConEmuTask===\"{cmd::Cmder}\"||V.env.TERM_PROGRAM===\"Terminus-Sublime\"||V.env.TERM_PROGRAM===\"vscode\"||V.env.TERM===\"xterm-256color\"||V.env.TERM===\"alacritty\"||V.env.TERMINAL_EMULATOR===\"JetBrains-JediTerm\"}const tt=ee(),ot=()=>process.env.CI===\"true\",It=t=>t.isTTY===!0,w=(t,i)=>tt?t:i,Tt=w(\"\\u25C6\",\"*\"),at=w(\"\\u25A0\",\"x\"),ut=w(\"\\u25B2\",\"x\"),H=w(\"\\u25C7\",\"o\"),lt=w(\"\\u250C\",\"T\"),$=w(\"\\u2502\",\"|\"),x=w(\"\\u2514\",\"\\u2014\"),_t=w(\"\\u2510\",\"T\"),xt=w(\"\\u2518\",\"\\u2014\"),z=w(\"\\u25CF\",\">\"),U=w(\"\\u25CB\",\" \"),et=w(\"\\u25FB\",\"[\\u2022]\"),K=w(\"\\u25FC\",\"[+]\"),Y=w(\"\\u25FB\",\"[ ]\"),Et=w(\"\\u25AA\",\"\\u2022\"),st=w(\"\\u2500\",\"-\"),ct=w(\"\\u256E\",\"+\"),Gt=w(\"\\u251C\",\"+\"),$t=w(\"\\u256F\",\"+\"),dt=w(\"\\u2570\",\"+\"),Mt=w(\"\\u256D\",\"+\"),ht=w(\"\\u25CF\",\"\\u2022\"),pt=w(\"\\u25C6\",\"*\"),mt=w(\"\\u25B2\",\"!\"),gt=w(\"\\u25A0\",\"x\"),P=t=>{switch(t){case\"initial\":case\"active\":return e(\"cyan\",Tt);case\"cancel\":return e(\"red\",at);case\"error\":return e(\"yellow\",ut);case\"submit\":return e(\"green\",H)}},yt=t=>{switch(t){case\"initial\":case\"active\":return e(\"cyan\",$);case\"cancel\":return e(\"red\",$);case\"error\":return e(\"yellow\",$);case\"submit\":return e(\"green\",$)}},Ot=(t,i,s,r,u,n=!1)=>{let a=i,c=0;if(n)for(let o=r-1;o>=s&&(a-=t[o].length,c++,!(a<=u));o--);else for(let o=s;o<r&&(a-=t[o].length,c++,!(a<=u));o++);return{lineCount:a,removals:c}},F=({cursor:t,options:i,style:s,output:r=process.stdout,maxItems:u=Number.POSITIVE_INFINITY,columnPadding:n=0,rowPadding:a=4})=>{const c=X(r)-n,o=Lt(r),l=e(\"dim\",\"...\"),d=Math.max(o-a,0),g=Math.max(Math.min(u,d),5);let p=0;t>=g-3&&(p=Math.max(Math.min(t-g+3,i.length-g),0));let f=g<i.length&&p>0,h=g<i.length&&p+g<i.length;const I=Math.min(p+g,i.length),m=[];let y=0;f&&y++,h&&y++;const v=p+(f?1:0),C=I-(h?1:0);for(let b=v;b<C;b++){const G=J(s(i[b],b===t),c,{hard:!0,trim:!1}).split(`\n`);m.push(G),y+=G.length}if(y>d){let b=0,G=0,M=y;const N=t-v;let O=d;const j=()=>Ot(m,M,0,N,O),k=()=>Ot(m,M,N+1,m.length,O,!0);f?({lineCount:M,removals:b}=j(),M>O&&(h||(O-=1),{lineCount:M,removals:G}=k())):(h||(O-=1),{lineCount:M,removals:G}=k(),M>O&&(O-=1,{lineCount:M,removals:b}=j())),b>0&&(f=!0,m.splice(0,b)),G>0&&(h=!0,m.splice(m.length-G,G))}const S=[];f&&S.push(l);for(const b of m)for(const G of b)S.push(G);return h&&S.push(l),S};function Pt(t){return t.label??String(t.value??\"\")}function Rt(t,i){if(!t)return!0;const s=(i.label??String(i.value??\"\")).toLowerCase(),r=(i.hint??\"\").toLowerCase(),u=String(i.value).toLowerCase(),n=t.toLowerCase();return s.includes(n)||r.includes(n)||u.includes(n)}function se(t,i){const s=[];for(const r of i)t.includes(r.value)&&s.push(r);return s}const At=t=>new vt({options:t.options,initialValue:t.initialValue?[t.initialValue]:void 0,initialUserInput:t.initialUserInput,placeholder:t.placeholder,filter:t.filter??((i,s)=>Rt(i,s)),signal:t.signal,input:t.input,output:t.output,validate:t.validate,render(){const i=t.withGuide??T.withGuide,s=i?[`${e(\"gray\",$)}`,`${P(this.state)} ${t.message}`]:[`${P(this.state)} ${t.message}`],r=this.userInput,u=this.options,n=t.placeholder,a=r===\"\"&&n!==void 0,c=(o,l)=>{const d=Pt(o),g=o.hint&&o.value===this.focusedValue?e(\"dim\",` (${o.hint})`):\"\";switch(l){case\"active\":return`${e(\"green\",z)} ${d}${g}`;case\"inactive\":return`${e(\"dim\",U)} ${e(\"dim\",d)}`;case\"disabled\":return`${e(\"gray\",U)} ${e([\"strikethrough\",\"gray\"],d)}`}};switch(this.state){case\"submit\":{const o=se(this.selectedValues,u),l=o.length>0?` ${e(\"dim\",o.map(Pt).join(\", \"))}`:\"\",d=i?e(\"gray\",$):\"\";return`${s.join(`\n`)}\n${d}${l}`}case\"cancel\":{const o=r?` ${e([\"strikethrough\",\"dim\"],r)}`:\"\",l=i?e(\"gray\",$):\"\";return`${s.join(`\n`)}\n${l}${o}`}default:{const o=this.state===\"error\"?\"yellow\":\"cyan\",l=i?`${e(o,$)} `:\"\",d=i?e(o,x):\"\";let g=\"\";if(this.isNavigating||a){const v=a?n:r;g=v!==\"\"?` ${e(\"dim\",v)}`:\"\"}else g=` ${this.userInputWithCursor}`;const p=this.filteredOptions.length!==u.length?e(\"dim\",` (${this.filteredOptions.length} match${this.filteredOptions.length===1?\"\":\"es\"})`):\"\",f=this.filteredOptions.length===0&&r?[`${l}${e(\"yellow\",\"No matches found\")}`]:[],h=this.state===\"error\"?[`${l}${e(\"yellow\",this.error)}`]:[];i&&s.push(`${l.trimEnd()}`),s.push(`${l}${e(\"dim\",\"Search:\")}${g}${p}`,...f,...h);const I=[`${e(\"dim\",\"\\u2191/\\u2193\")} to select`,`${e(\"dim\",\"Enter:\")} confirm`,`${e(\"dim\",\"Type:\")} to search`],m=[`${l}${I.join(\" \\u2022 \")}`,d],y=this.filteredOptions.length===0?[]:F({cursor:this.cursor,options:this.filteredOptions,columnPadding:i?3:0,rowPadding:s.length+m.length,style:(v,C)=>c(v,v.disabled?\"disabled\":C?\"active\":\"inactive\"),maxItems:t.maxItems,output:t.output});return[...s,...y.map(v=>`${l}${v}`),...m].join(`\n`)}}}}).prompt(),ie=t=>{const i=(r,u,n,a)=>{const c=n.includes(r.value),o=r.label??String(r.value??\"\"),l=r.hint&&a!==void 0&&r.value===a?e(\"dim\",` (${r.hint})`):\"\",d=c?e(\"green\",K):e(\"dim\",Y);return r.disabled?`${e(\"gray\",Y)} ${e([\"strikethrough\",\"gray\"],o)}`:u?`${d} ${o}${l}`:`${d} ${e(\"dim\",o)}`},s=new vt({options:t.options,multiple:!0,placeholder:t.placeholder,filter:t.filter??((r,u)=>Rt(r,u)),validate:()=>{if(t.required&&s.selectedValues.length===0)return\"Please select at least one item\"},initialValue:t.initialValues,signal:t.signal,input:t.input,output:t.output,render(){const r=t.withGuide??T.withGuide,u=`${r?`${e(\"gray\",$)}\n`:\"\"}${P(this.state)} ${t.message}\n`,n=this.userInput,a=t.placeholder,c=n===\"\"&&a!==void 0,o=this.isNavigating||c?e(\"dim\",c?a:n):this.userInputWithCursor,l=this.options,d=this.filteredOptions.length!==l.length?e(\"dim\",` (${this.filteredOptions.length} match${this.filteredOptions.length===1?\"\":\"es\"})`):\"\";switch(this.state){case\"submit\":return`${u}${r?`${e(\"gray\",$)} `:\"\"}${e(\"dim\",`${this.selectedValues.length} items selected`)}`;case\"cancel\":return`${u}${r?`${e(\"gray\",$)} `:\"\"}${e([\"strikethrough\",\"dim\"],n)}`;default:{const g=this.state===\"error\"?\"yellow\":\"cyan\",p=r?`${e(g,$)} `:\"\",f=r?e(g,x):\"\",h=[`${e(\"dim\",\"\\u2191/\\u2193\")} to navigate`,`${e(\"dim\",this.isNavigating?\"Space/Tab:\":\"Tab:\")} select`,`${e(\"dim\",\"Enter:\")} confirm`,`${e(\"dim\",\"Type:\")} to search`],I=this.filteredOptions.length===0&&n?[`${p}${e(\"yellow\",\"No matches found\")}`]:[],m=this.state===\"error\"?[`${p}${e(\"yellow\",this.error)}`]:[],y=[...`${u}${r?e(g,$):\"\"}`.split(`\n`),`${p}${e(\"dim\",\"Search:\")} ${o}${d}`,...I,...m],v=[`${p}${h.join(\" \\u2022 \")}`,f],C=F({cursor:this.cursor,options:this.filteredOptions,style:(S,b)=>i(S,b,this.selectedValues,this.focusedValue),maxItems:t.maxItems,output:t.output,rowPadding:y.length+v.length});return[...y,...C.map(S=>`${p}${S}`),...v].join(`\n`)}}}});return s.prompt()},re=[Mt,ct,dt,$t],ne=[lt,_t,x,xt];function Vt(t,i,s,r){let u=s,n=s;return r===\"center\"?u=Math.floor((i-t)/2):r===\"right\"&&(u=i-t-s),n=i-u-t,[u,n]}const oe=t=>t,ae=(t=\"\",i=\"\",s)=>{const r=s?.output??process.stdout,u=X(r),n=2,a=s?.titlePadding??1,c=s?.contentPadding??2,o=s?.width===void 0||s.width===\"auto\"?1:Math.min(1,s.width),l=s?.withGuide??T.withGuide?`${$} `:\"\",d=s?.formatBorder??oe,g=(s?.rounded?re:ne).map(d),p=d(st),f=d($),h=B(l),I=B(i),m=u-h;let y=Math.floor(u*o)-h;if(s?.width===\"auto\"){const O=t.split(`\n`);let j=I+a*2;for(const rt of O){const W=B(rt)+c*2;W>j&&(j=W)}const k=j+n;k<y&&(y=k)}y%2!==0&&(y<m?y++:y--);const v=y-n,C=v-a*2,S=I>C?`${i.slice(0,C-3)}...`:i,[b,G]=Vt(B(S),v,a,s?.titleAlign),M=J(t,v-c*2,{hard:!0,trim:!1});r.write(`${l}${g[0]}${p.repeat(b)}${S}${p.repeat(G)}${g[1]}\n`);const N=M.split(`\n`);for(const O of N){const[j,k]=Vt(B(O),v,c,s?.contentAlign);r.write(`${l}${f}${\" \".repeat(j)}${O}${\" \".repeat(k)}${f}\n`)}r.write(`${l}${g[2]}${p.repeat(v)}${g[3]}\n`)},ue=t=>{const i=t.active??\"Yes\",s=t.inactive??\"No\";return new Dt({active:i,inactive:s,signal:t.signal,input:t.input,output:t.output,initialValue:t.initialValue??!0,render(){const r=t.withGuide??T.withGuide,u=`${P(this.state)} `,n=r?`${e(\"gray\",$)} `:\"\",a=E(t.output,t.message,n,u),c=`${r?`${e(\"gray\",$)}\n`:\"\"}${a}\n`,o=this.value?i:s;switch(this.state){case\"submit\":{const l=r?`${e(\"gray\",$)} `:\"\";return`${c}${l}${e(\"dim\",o)}`}case\"cancel\":{const l=r?`${e(\"gray\",$)} `:\"\";return`${c}${l}${e([\"strikethrough\",\"dim\"],o)}${r?`\n${e(\"gray\",$)}`:\"\"}`}default:{const l=r?`${e(\"cyan\",$)} `:\"\",d=r?e(\"cyan\",x):\"\";return`${c}${l}${this.value?`${e(\"green\",z)} ${i}`:`${e(\"dim\",U)} ${e(\"dim\",i)}`}${t.vertical?r?`\n${e(\"cyan\",$)} `:`\n`:` ${e(\"dim\",\"/\")} `}${this.value?`${e(\"dim\",U)} ${e(\"dim\",s)}`:`${e(\"green\",z)} ${s}`}\n${d}\n`}}}}).prompt()},le=t=>{const i=t.validate;return new Wt({...t,validate(s){if(s===void 0)return t.defaultValue!==void 0?void 0:i?i(s):T.date.messages.required;const r=u=>u.toISOString().slice(0,10);if(t.minDate&&r(s)<r(t.minDate))return T.date.messages.afterMin(t.minDate);if(t.maxDate&&r(s)>r(t.maxDate))return T.date.messages.beforeMax(t.maxDate);if(i)return i(s)},render(){const s=(t?.withGuide??T.withGuide)!==!1,r=`${`${s?`${e(\"gray\",$)}\n`:\"\"}${P(this.state)} `}${t.message}\n`,u=this.state!==\"initial\"?this.state:\"active\",n=ce(this,u),a=this.value instanceof Date?this.formattedValue:\"\";switch(this.state){case\"error\":{const c=this.error?` ${e(\"yellow\",this.error)}`:\"\",o=s?`${e(\"yellow\",$)} `:\"\",l=s?e(\"yellow\",x):\"\";return`${r.trim()}\n${o}${n}\n${l}${c}\n`}case\"submit\":{const c=a?` ${e(\"dim\",a)}`:\"\",o=s?e(\"gray\",$):\"\";return`${r}${o}${c}`}case\"cancel\":{const c=a?` ${e([\"strikethrough\",\"dim\"],a)}`:\"\",o=s?e(\"gray\",$):\"\";return`${r}${o}${c}${a.trim()?`\n${o}`:\"\"}`}default:{const c=s?`${e(\"cyan\",$)} `:\"\",o=s?e(\"cyan\",x):\"\",l=s?`${e(\"cyan\",$)} `:\"\",d=this.inlineError?`\n${l}${e(\"yellow\",this.inlineError)}`:\"\";return`${r}${c}${n}${d}\n${o}\n`}}}}).prompt()};function ce(t,i){const s=t.segmentValues,r=t.segmentCursor;if(i===\"submit\"||i===\"cancel\")return t.formattedValue;const u=e(\"gray\",t.separator);return t.segments.map((n,a)=>{const c=a===r.segmentIndex&&![\"submit\",\"cancel\"].includes(i),o=de[n.type];return $e(s[n.type],{isActive:c,label:o})}).join(u)}function $e(t,i){const s=!t||t.replace(/_/g,\"\")===\"\";return i.isActive?e(\"inverse\",s?i.label:t.replace(/_/g,\" \")):s?e(\"dim\",i.label):t.replace(/_/g,e(\"dim\",\" \"))}const de={year:\"yyyy\",month:\"mm\",day:\"dd\"},he=async(t,i)=>{const s={},r=Object.keys(t);for(const u of r){const n=t[u],a=await n({results:s})?.catch(c=>{throw c});if(typeof i?.onCancel==\"function\"&&Ft(a)){s[u]=\"canceled\",i.onCancel({results:s});continue}s[u]=a}return s},pe=t=>{const{selectableGroups:i=!0,groupSpacing:s=0}=t,r=(n,a,c=[])=>{const o=n.label??String(n.value),l=typeof n.group==\"string\",d=l&&(c[c.indexOf(n)+1]??{group:!0}),g=l&&d&&d.group===!0;let p=\"\",f=\"\";l&&(i?(p=g?`${x} `:`${$} `,f=g?\" \":`${$} `):p=\" \");let h=\"\";if(s>0&&!l&&(h=`\n`.repeat(s)),a===\"active\")return E(t.output,`${o}${n.hint?` ${e(\"dim\",`(${n.hint})`)}`:\"\"}`,`${h}${e(\"dim\",p)} `,`${h}${e(\"dim\",p)}${e(\"cyan\",et)} `,`${h}${e(\"dim\",f)} `);if(a===\"group-active\")return E(t.output,o,`${h}${p} `,`${h}${p}${e(\"cyan\",et)} `,`${h}${f} `,m=>e(\"dim\",m));if(a===\"group-active-selected\")return E(t.output,o,`${h}${p} `,`${h}${p}${e(\"green\",K)} `,`${h}${f} `,m=>e(\"dim\",m));if(a===\"selected\"){const m=l||i?e(\"green\",K):\"\";return E(t.output,`${o}${n.hint?` (${n.hint})`:\"\"}`,`${h}${e(\"dim\",p)} `,`${h}${e(\"dim\",p)}${m} `,`${h}${e(\"dim\",f)} `,y=>e(\"dim\",y))}if(a===\"cancelled\")return`${e([\"strikethrough\",\"dim\"],o)}`;if(a===\"active-selected\")return E(t.output,`${o}${n.hint?` ${e(\"dim\",`(${n.hint})`)}`:\"\"}`,`${h}${e(\"dim\",p)} `,`${h}${e(\"dim\",p)}${e(\"green\",K)} `,`${h}${e(\"dim\",f)} `);if(a===\"submitted\")return`${e(\"dim\",o)}`;const I=l||i?e(\"dim\",Y):\"\";return E(t.output,o,`${h}${e(\"dim\",p)} `,`${h}${e(\"dim\",p)}${I} `,`${h}${e(\"dim\",f)} `,m=>e(\"dim\",m))},u=t.required??!0;return new Ht({options:t.options,signal:t.signal,input:t.input,output:t.output,initialValues:t.initialValues,required:u,cursorAt:t.cursorAt,selectableGroups:i,validate(n){if(u&&(n===void 0||n.length===0))return`Please select at least one option.\n${e(\"reset\",e(\"dim\",`Press ${e([\"gray\",\"bgWhite\",\"inverse\"],\" space \")} to select, ${e(\"gray\",e([\"bgWhite\",\"inverse\"],\" enter \"))} to submit`))}`},render(){const n=t.withGuide??T.withGuide,a=`${n?`${e(\"gray\",$)}\n`:\"\"}${P(this.state)} ${t.message}\n`,c=this.value??[],o=(l,d)=>{const g=this.options,p=c.includes(l.value)||l.group===!0&&this.isGroupSelected(`${l.value}`);return!d&&typeof l.group==\"string\"&&this.options[this.cursor].value===l.group?r(l,p?\"group-active-selected\":\"group-active\",g):d&&p?r(l,\"active-selected\",g):p?r(l,\"selected\",g):r(l,d?\"active\":\"inactive\",g)};switch(this.state){case\"submit\":{const l=this.options.filter(({value:g})=>c.includes(g)).map(g=>r(g,\"submitted\")),d=l.length===0?\"\":` ${l.join(e(\"dim\",\", \"))}`;return`${a}${n?e(\"gray\",$):\"\"}${d}`}case\"cancel\":{const l=this.options.filter(({value:d})=>c.includes(d)).map(d=>r(d,\"cancelled\")).join(e(\"dim\",\", \"));return`${a}${n?`${e(\"gray\",$)} `:\"\"}${l.trim()?`${l}${n?`\n${e(\"gray\",$)}`:\"\"}`:\"\"}`}case\"error\":{const l=n?`${e(\"yellow\",$)} `:\"\",d=this.error.split(`\n`).map((h,I)=>I===0?`${n?`${e(\"yellow\",x)} `:\"\"}${e(\"yellow\",h)}`:` ${h}`).join(`\n`),g=a.split(`\n`).length,p=d.split(`\n`).length+1,f=F({output:t.output,options:this.options,cursor:this.cursor,maxItems:t.maxItems,columnPadding:l.length,rowPadding:g+p,style:o}).join(`\n${l}`);return`${a}${l}${f}\n${d}\n`}default:{const l=n?`${e(\"cyan\",$)} `:\"\",d=a.split(`\n`).length,g=(n?1:0)+1,p=F({output:t.output,options:this.options,cursor:this.cursor,maxItems:t.maxItems,columnPadding:l.length,rowPadding:d+g,style:o}).join(`\n${l}`);return`${a}${l}${p}\n${n?e(\"cyan\",x):\"\"}\n`}}}}).prompt()},R={message:(t=[],{symbol:i=e(\"gray\",$),secondarySymbol:s=e(\"gray\",$),output:r=process.stdout,spacing:u=1,withGuide:n}={})=>{const a=[],c=n??T.withGuide,o=c?s:\"\",l=c?`${i} `:\"\",d=c?`${s} `:\"\";for(let p=0;p<u;p++)a.push(o);const g=Array.isArray(t)?t:t.split(`\n`);if(g.length>0){const[p,...f]=g;p.length>0?a.push(`${l}${p}`):a.push(c?i:\"\");for(const h of f)h.length>0?a.push(`${d}${h}`):a.push(c?s:\"\")}r.write(`${a.join(`\n`)}\n`)},info:(t,i)=>{R.message(t,{...i,symbol:e(\"blue\",ht)})},success:(t,i)=>{R.message(t,{...i,symbol:e(\"green\",pt)})},step:(t,i)=>{R.message(t,{...i,symbol:e(\"green\",H)})},warn:(t,i)=>{R.message(t,{...i,symbol:e(\"yellow\",mt)})},warning:(t,i)=>{R.warn(t,i)},error:(t,i)=>{R.message(t,{...i,symbol:e(\"red\",gt)})}},me=(t=\"\",i)=>{const s=i?.output??process.stdout,r=i?.withGuide??T.withGuide?`${e(\"gray\",x)} `:\"\";s.write(`${r}${e(\"red\",t)}\n\n`)},ge=(t=\"\",i)=>{const s=i?.output??process.stdout,r=i?.withGuide??T.withGuide?`${e(\"gray\",lt)} `:\"\";s.write(`${r}${t}\n`)},ye=(t=\"\",i)=>{const s=i?.output??process.stdout,r=i?.withGuide??T.withGuide?`${e(\"gray\",$)}\n${e(\"gray\",x)} `:\"\";s.write(`${r}${t}\n\n`)},fe=t=>new Ut({validate:t.validate,placeholder:t.placeholder,defaultValue:t.defaultValue,initialValue:t.initialValue,showSubmit:t.showSubmit,output:t.output,signal:t.signal,input:t.input,render(){const i=t?.withGuide??T.withGuide,s=`${`${i?`${e(\"gray\",$)}\n`:\"\"}${P(this.state)} `}${t.message}\n`,r=t.placeholder?e(\"inverse\",t.placeholder[0])+e(\"dim\",t.placeholder.slice(1)):e([\"inverse\",\"hidden\"],\"_\"),u=this.userInput?this.userInputWithCursor:r,n=this.value??\"\",a=t.showSubmit?`\n ${e(this.focused===\"submit\"?\"cyan\":\"dim\",\"[ submit ]\")}`:\"\";switch(this.state){case\"error\":{const c=`${e(\"yellow\",$)} `,o=i?E(t.output,u,c,void 0):u,l=e(\"yellow\",x);return`${s}${o}\n${l} ${e(\"yellow\",this.error)}${a}\n`}case\"submit\":{const c=`${e(\"gray\",$)} `,o=i?E(t.output,n,c,void 0,void 0,l=>e(\"dim\",l)):n?e(\"dim\",n):\"\";return`${s}${o}`}case\"cancel\":{const c=`${e(\"gray\",$)} `,o=i?E(t.output,n,c,void 0,void 0,l=>e([\"strikethrough\",\"dim\"],l)):n?e([\"strikethrough\",\"dim\"],n):\"\";return`${s}${o}`}default:{const c=i?`${e(\"cyan\",$)} `:\"\",o=i?e(\"cyan\",x):\"\",l=i?E(t.output,u,c):u;return`${s}${l}\n${o}${a}\n`}}}}).prompt(),Q=(t,i)=>t.split(`\n`).map(s=>i(s)).join(`\n`),ve=t=>{const i=(r,u)=>{const n=r.label??String(r.value);return u===\"disabled\"?`${e(\"gray\",Y)} ${Q(n,a=>e([\"strikethrough\",\"gray\"],a))}${r.hint?` ${e(\"dim\",`(${r.hint??\"disabled\"})`)}`:\"\"}`:u===\"active\"?`${e(\"cyan\",et)} ${n}${r.hint?` ${e(\"dim\",`(${r.hint})`)}`:\"\"}`:u===\"selected\"?`${e(\"green\",K)} ${Q(n,a=>e(\"dim\",a))}${r.hint?` ${e(\"dim\",`(${r.hint})`)}`:\"\"}`:u===\"cancelled\"?`${Q(n,a=>e([\"strikethrough\",\"dim\"],a))}`:u===\"active-selected\"?`${e(\"green\",K)} ${n}${r.hint?` ${e(\"dim\",`(${r.hint})`)}`:\"\"}`:u===\"submitted\"?`${Q(n,a=>e(\"dim\",a))}`:`${e(\"dim\",Y)} ${Q(n,a=>e(\"dim\",a))}`},s=t.required??!0;return new Kt({options:t.options,signal:t.signal,input:t.input,output:t.output,initialValues:t.initialValues,required:s,cursorAt:t.cursorAt,validate(r){if(s&&(r===void 0||r.length===0))return`Please select at least one option.\n${e(\"reset\",e(\"dim\",`Press ${e([\"gray\",\"bgWhite\",\"inverse\"],\" space \")} to select, ${e(\"gray\",e(\"bgWhite\",e(\"inverse\",\" enter \")))} to submit`))}`},render(){const r=t.withGuide??T.withGuide,u=E(t.output,t.message,r?`${yt(this.state)} `:\"\",`${P(this.state)} `),n=`${r?`${e(\"gray\",$)}\n`:\"\"}${u}\n`,a=this.value??[],c=(o,l)=>{if(o.disabled)return i(o,\"disabled\");const d=a.includes(o.value);return l&&d?i(o,\"active-selected\"):d?i(o,\"selected\"):i(o,l?\"active\":\"inactive\")};switch(this.state){case\"submit\":{const o=this.options.filter(({value:d})=>a.includes(d)).map(d=>i(d,\"submitted\")).join(e(\"dim\",\", \"))||e(\"dim\",\"none\"),l=E(t.output,o,r?`${e(\"gray\",$)} `:\"\");return`${n}${l}`}case\"cancel\":{const o=this.options.filter(({value:d})=>a.includes(d)).map(d=>i(d,\"cancelled\")).join(e(\"dim\",\", \"));if(o.trim()===\"\")return`${n}${e(\"gray\",$)}`;const l=E(t.output,o,r?`${e(\"gray\",$)} `:\"\");return`${n}${l}${r?`\n${e(\"gray\",$)}`:\"\"}`}case\"error\":{const o=r?`${e(\"yellow\",$)} `:\"\",l=this.error.split(`\n`).map((p,f)=>f===0?`${r?`${e(\"yellow\",x)} `:\"\"}${e(\"yellow\",p)}`:` ${p}`).join(`\n`),d=n.split(`\n`).length,g=l.split(`\n`).length+1;return`${n}${o}${F({output:t.output,options:this.options,cursor:this.cursor,maxItems:t.maxItems,columnPadding:o.length,rowPadding:d+g,style:c}).join(`\n${o}`)}\n${l}\n`}default:{const o=r?`${e(\"cyan\",$)} `:\"\",l=n.split(`\n`).length,d=r?2:1;return`${n}${o}${F({output:t.output,options:this.options,cursor:this.cursor,maxItems:t.maxItems,columnPadding:o.length,rowPadding:l+d,style:c}).join(`\n${o}`)}\n${r?e(\"cyan\",x):\"\"}\n`}}}}).prompt()},we=t=>e(\"dim\",t),be=(t,i,s)=>{const r={hard:!0,trim:!1},u=J(t,i,r).split(`\n`),n=u.reduce((o,l)=>Math.max(B(l),o),0),a=u.map(s).reduce((o,l)=>Math.max(B(l),o),0),c=i-(a-n);return J(t,c,r)},Se=(t=\"\",i=\"\",s)=>{const r=s?.output??V.stdout,u=s?.withGuide??T.withGuide,n=s?.format??we,a=[\"\",...be(t,X(r)-6,n).split(`\n`).map(n),\"\"],c=B(i),o=Math.max(a.reduce((p,f)=>{const h=B(f);return h>p?h:p},0),c)+2,l=a.map(p=>`${e(\"gray\",$)} ${p}${\" \".repeat(o-B(p))}${e(\"gray\",$)}`).join(`\n`),d=u?`${e(\"gray\",$)}\n`:\"\",g=u?Gt:dt;r.write(`${d}${e(\"green\",H)} ${e(\"reset\",i)} ${e(\"gray\",st.repeat(Math.max(o-c-1,1))+ct)}\n${l}\n${e(\"gray\",g+st.repeat(o+2)+$t)}\n`)},Ce=t=>new qt({validate:t.validate,mask:t.mask??Et,signal:t.signal,input:t.input,output:t.output,render(){const i=t.withGuide??T.withGuide,s=`${i?`${e(\"gray\",$)}\n`:\"\"}${P(this.state)} ${t.message}\n`,r=this.userInputWithCursor,u=this.masked;switch(this.state){case\"error\":{const n=i?`${e(\"yellow\",$)} `:\"\",a=i?`${e(\"yellow\",x)} `:\"\",c=u??\"\";return t.clearOnError&&this.clear(),`${s.trim()}\n${n}${c}\n${a}${e(\"yellow\",this.error)}\n`}case\"submit\":{const n=i?`${e(\"gray\",$)} `:\"\",a=u?e(\"dim\",u):\"\";return`${s}${n}${a}`}case\"cancel\":{const n=i?`${e(\"gray\",$)} `:\"\",a=u?e([\"strikethrough\",\"dim\"],u):\"\";return`${s}${n}${a}${u&&i?`\n${e(\"gray\",$)}`:\"\"}`}default:{const n=i?`${e(\"cyan\",$)} `:\"\",a=i?e(\"cyan\",x):\"\";return`${s}${n}${r}\n${a}\n`}}}}).prompt(),Ie=t=>{const i=t.validate;return At({...t,initialUserInput:t.initialValue??t.root??process.cwd(),maxItems:5,validate(s){if(!Array.isArray(s)){if(!s)return\"Please select a path\";if(i)return i(s)}},options(){const s=this.userInput;if(s===\"\")return[];try{let r;Qt(s)?wt(s).isDirectory()&&(!t.directory||s.endsWith(\"/\"))?r=s:r=bt(s):r=bt(s);const u=s.length>1&&s.endsWith(\"/\")?s.slice(0,-1):s;return Zt(r).map(n=>{const a=te(r,n),c=wt(a);return{name:n,path:a,isDirectory:c.isDirectory()}}).filter(({path:n,isDirectory:a})=>n.startsWith(u)&&(a||!t.directory)).map(n=>({value:n.path}))}catch{return[]}}})},Te=t=>e(\"magenta\",t),ft=({indicator:t=\"dots\",onCancel:i,output:s=process.stdout,cancelMessage:r,errorMessage:u,frames:n=tt?[\"\\u25D2\",\"\\u25D0\",\"\\u25D3\",\"\\u25D1\"]:[\"\\u2022\",\"o\",\"O\",\"0\"],delay:a=tt?80:120,signal:c,...o}={})=>{const l=ot();let d,g,p=!1,f=!1,h=\"\",I,m=performance.now();const y=X(s),v=o?.styleFrame??Te,C=_=>{const A=_>1?u??T.messages.error:r??T.messages.cancel;f=_===1,p&&(W(A,_),f&&typeof i==\"function\"&&i())},S=()=>C(2),b=()=>C(1),G=()=>{process.on(\"uncaughtExceptionMonitor\",S),process.on(\"unhandledRejection\",S),process.on(\"SIGINT\",b),process.on(\"SIGTERM\",b),process.on(\"exit\",C),c&&c.addEventListener(\"abort\",b)},M=()=>{process.removeListener(\"uncaughtExceptionMonitor\",S),process.removeListener(\"unhandledRejection\",S),process.removeListener(\"SIGINT\",b),process.removeListener(\"SIGTERM\",b),process.removeListener(\"exit\",C),c&&c.removeEventListener(\"abort\",b)},N=()=>{if(I===void 0)return;l&&s.write(`\n`);const _=J(I,y,{hard:!0,trim:!1}).split(`\n`);_.length>1&&s.write(St.up(_.length-1)),s.write(St.to(0)),s.write(Ct.down())},O=_=>_.replace(/\\.+$/,\"\"),j=_=>{const A=(performance.now()-_)/1e3,L=Math.floor(A/60),D=Math.floor(A%60);return L>0?`[${L}m ${D}s]`:`[${D}s]`},k=o.withGuide??T.withGuide,rt=(_=\"\")=>{p=!0,d=Jt({output:s}),h=O(_),m=performance.now(),k&&s.write(`${e(\"gray\",$)}\n`);let A=0,L=0;G(),g=setInterval(()=>{if(l&&h===I)return;N(),I=h;const D=v(n[A]);let Z;if(l)Z=`${D} ${h}...`;else if(t===\"timer\")Z=`${D} ${h} ${j(m)}`;else{const kt=\".\".repeat(Math.floor(L)).slice(0,3);Z=`${D} ${h}${kt}`}const Bt=J(Z,y,{hard:!0,trim:!1});s.write(Bt),A=A+1<n.length?A+1:0,L=L<4?L+.125:0},a)},W=(_=\"\",A=0,L=!1)=>{if(!p)return;p=!1,clearInterval(g),N();const D=A===0?e(\"green\",H):A===1?e(\"red\",at):e(\"red\",ut);h=_??h,L||(t===\"timer\"?s.write(`${D} ${h} ${j(m)}\n`):s.write(`${D} ${h}\n`)),M(),d()};return{start:rt,stop:(_=\"\")=>W(_,0),message:(_=\"\")=>{h=O(_??h)},cancel:(_=\"\")=>W(_,1),error:(_=\"\")=>W(_,2),clear:()=>W(\"\",0,!0),get isCancelled(){return f}}},jt={light:w(\"\\u2500\",\"-\"),heavy:w(\"\\u2501\",\"=\"),block:w(\"\\u2588\",\"#\")};function _e({style:t=\"heavy\",max:i=100,size:s=40,...r}={}){const u=ft(r);let n=0,a=\"\";const c=Math.max(1,i),o=Math.max(1,s),l=f=>{switch(f){case\"initial\":case\"active\":return h=>e(\"magenta\",h);case\"error\":case\"cancel\":return h=>e(\"red\",h);case\"submit\":return h=>e(\"green\",h);default:return h=>e(\"magenta\",h)}},d=(f,h)=>{const I=Math.floor(n/c*o);return`${l(f)(jt[t].repeat(I))}${e(\"dim\",jt[t].repeat(o-I))} ${h}`},g=(f=\"\")=>{a=f,u.start(d(\"initial\",f))},p=(f=1,h)=>{n=Math.min(c,f+n),u.message(d(\"active\",h??a)),a=h??a};return{start:g,stop:u.stop,cancel:u.cancel,error:u.error,clear:u.clear,advance:p,isCancelled:u.isCancelled,message:f=>p(0,f)}}const it=(t,i)=>t.includes(`\n`)?t.split(`\n`).map(s=>i(s)).join(`\n`):i(t),xe=t=>{const i=(s,r)=>{const u=s.label??String(s.value);switch(r){case\"disabled\":return`${e(\"gray\",U)} ${it(u,n=>e(\"gray\",n))}${s.hint?` ${e(\"dim\",`(${s.hint??\"disabled\"})`)}`:\"\"}`;case\"selected\":return`${it(u,n=>e(\"dim\",n))}`;case\"active\":return`${e(\"green\",z)} ${u}${s.hint?` ${e(\"dim\",`(${s.hint})`)}`:\"\"}`;case\"cancelled\":return`${it(u,n=>e([\"strikethrough\",\"dim\"],n))}`;default:return`${e(\"dim\",U)} ${it(u,n=>e(\"dim\",n))}`}};return new Yt({options:t.options,signal:t.signal,input:t.input,output:t.output,initialValue:t.initialValue,render(){const s=t.withGuide??T.withGuide,r=`${P(this.state)} `,u=`${yt(this.state)} `,n=E(t.output,t.message,u,r),a=`${s?`${e(\"gray\",$)}\n`:\"\"}${n}\n`;switch(this.state){case\"submit\":{const c=s?`${e(\"gray\",$)} `:\"\",o=E(t.output,i(this.options[this.cursor],\"selected\"),c);return`${a}${o}`}case\"cancel\":{const c=s?`${e(\"gray\",$)} `:\"\",o=E(t.output,i(this.options[this.cursor],\"cancelled\"),c);return`${a}${o}${s?`\n${e(\"gray\",$)}`:\"\"}`}default:{const c=s?`${e(\"cyan\",$)} `:\"\",o=s?e(\"cyan\",x):\"\",l=a.split(`\n`).length,d=s?2:1;return`${a}${c}${F({output:t.output,cursor:this.cursor,options:this.options,maxItems:t.maxItems,columnPadding:c.length,rowPadding:l+d,style:(g,p)=>i(g,g.disabled?\"disabled\":p?\"active\":\"inactive\")}).join(`\n${c}`)}\n${o}\n`}}}}).prompt()},Ee=t=>{const i=(s,r=\"inactive\")=>{const u=s.label??String(s.value);return r===\"selected\"?`${e(\"dim\",u)}`:r===\"cancelled\"?`${e([\"strikethrough\",\"dim\"],u)}`:r===\"active\"?`${e([\"bgCyan\",\"gray\"],` ${s.value} `)} ${u}${s.hint?` ${e(\"dim\",`(${s.hint})`)}`:\"\"}`:`${e([\"gray\",\"bgWhite\",\"inverse\"],` ${s.value} `)} ${u}${s.hint?` ${e(\"dim\",`(${s.hint})`)}`:\"\"}`};return new Xt({options:t.options,signal:t.signal,input:t.input,output:t.output,initialValue:t.initialValue,caseSensitive:t.caseSensitive,render(){const s=t.withGuide??T.withGuide,r=`${s?`${e(\"gray\",$)}\n`:\"\"}${P(this.state)} ${t.message}\n`;switch(this.state){case\"submit\":{const u=s?`${e(\"gray\",$)} `:\"\",n=this.options.find(c=>c.value===this.value)??t.options[0],a=E(t.output,i(n,\"selected\"),u);return`${r}${a}`}case\"cancel\":{const u=s?`${e(\"gray\",$)} `:\"\",n=E(t.output,i(this.options[0],\"cancelled\"),u);return`${r}${n}${s?`\n${e(\"gray\",$)}`:\"\"}`}default:{const u=s?`${e(\"cyan\",$)} `:\"\",n=s?e(\"cyan\",x):\"\",a=this.options.map((c,o)=>E(t.output,i(c,o===this.cursor?\"active\":\"inactive\"),u)).join(`\n`);return`${r}${a}\n${n}\n`}}}}).prompt()},Nt=`${e(\"gray\",$)} `,q={message:async(t,{symbol:i=e(\"gray\",$)}={})=>{process.stdout.write(`${e(\"gray\",$)}\n${i} `);let s=3;for await(let r of t){r=r.replace(/\\n/g,`\n${Nt}`),r.includes(`\n`)&&(s=3+nt(r.slice(r.lastIndexOf(`\n`))).length);const u=nt(r).length;s+u<process.stdout.columns?(s+=u,process.stdout.write(r)):(process.stdout.write(`\n${Nt}${r.trimStart()}`),s=3+nt(r.trimStart()).length)}process.stdout.write(`\n`)},info:t=>q.message(t,{symbol:e(\"blue\",ht)}),success:t=>q.message(t,{symbol:e(\"green\",pt)}),step:t=>q.message(t,{symbol:e(\"green\",H)}),warn:t=>q.message(t,{symbol:e(\"yellow\",mt)}),warning:t=>q.warn(t),error:t=>q.message(t,{symbol:e(\"red\",gt)})},Ge=async(t,i)=>{for(const s of t){if(s.enabled===!1)continue;const r=ft(i);r.start(s.title);const u=await s.task(r.message);r.stop(u||s.title)}},Me=t=>t.replace(/\\x1b\\[(?:\\d+;)*\\d*[ABCDEFGHfJKSTsu]|\\x1b\\[(s|u)/g,\"\"),Oe=t=>{const i=t.output??process.stdout,s=X(i),r=e(\"gray\",$),u=t.spacing??1,n=3,a=t.retainLog===!0,c=!ot()&&It(i);i.write(`${r}\n`),i.write(`${e(\"green\",H)} ${t.title}\n`);for(let m=0;m<u;m++)i.write(`${r}\n`);const o=[{value:\"\",full:\"\"}];let l=!1;const d=m=>{if(o.length===0)return;let y=0;m&&(y+=u+2);for(const v of o){const{value:C,result:S}=v;let b=S?.message??C;if(b.length===0)continue;S===void 0&&v.header!==void 0&&v.header!==\"\"&&(b+=`\n${v.header}`);const G=b.split(`\n`).reduce((M,N)=>N===\"\"?M+1:M+Math.ceil((N.length+n)/s),0);y+=G}y>0&&(y+=1,i.write(Ct.lines(y)))},g=(m,y,v)=>{const C=v?`${m.full}\n${m.value}`:m.value;m.header!==void 0&&m.header!==\"\"&&R.message(m.header.split(`\n`).map(S=>e(\"bold\",S)),{output:i,secondarySymbol:r,symbol:r,spacing:0}),R.message(C.split(`\n`).map(S=>e(\"dim\",S)),{output:i,secondarySymbol:r,symbol:r,spacing:y??u})},p=()=>{for(const m of o){const{header:y,value:v,full:C}=m;(y===void 0||y.length===0)&&v.length===0||g(m,void 0,a===!0&&C.length>0)}},f=(m,y,v)=>{if(d(!1),(v?.raw!==!0||!l)&&m.value!==\"\"&&(m.value+=`\n`),m.value+=Me(y),l=v?.raw===!0,t.limit!==void 0){const C=m.value.split(`\n`),S=C.length-t.limit;if(S>0){const b=C.splice(0,S);a&&(m.full+=(m.full===\"\"?\"\":`\n`)+b.join(`\n`))}m.value=C.join(`\n`)}c&&h()},h=()=>{for(const m of o)m.result?m.result.status===\"error\"?R.error(m.result.message,{output:i,secondarySymbol:r,spacing:0}):R.success(m.result.message,{output:i,secondarySymbol:r,spacing:0}):m.value!==\"\"&&g(m,0)},I=(m,y)=>{d(!1),m.result=y,c&&h()};return{message(m,y){f(o[0],m,y)},group(m){const y={header:m,value:\"\",full:\"\"};return o.push(y),{message(v,C){f(y,v,C)},error(v){I(y,{status:\"error\",message:v})},success(v){I(y,{status:\"success\",message:v})}}},error(m,y){d(!0),R.error(m,{output:i,secondarySymbol:r,spacing:1}),y?.showLog!==!1&&p(),o.splice(1,o.length-1),o[0].value=\"\",o[0].full=\"\"},success(m,y){d(!0),R.success(m,{output:i,secondarySymbol:r,spacing:1}),y?.showLog===!0&&p(),o.splice(1,o.length-1),o[0].value=\"\",o[0].full=\"\"}}},Pe=t=>new zt({validate:t.validate,placeholder:t.placeholder,defaultValue:t.defaultValue,initialValue:t.initialValue,output:t.output,signal:t.signal,input:t.input,render(){const i=t?.withGuide??T.withGuide,s=`${`${i?`${e(\"gray\",$)}\n`:\"\"}${P(this.state)} `}${t.message}\n`,r=t.placeholder?e(\"inverse\",t.placeholder[0])+e(\"dim\",t.placeholder.slice(1)):e([\"inverse\",\"hidden\"],\"_\"),u=this.userInput?this.userInputWithCursor:r,n=this.value??\"\";switch(this.state){case\"error\":{const a=this.error?` ${e(\"yellow\",this.error)}`:\"\",c=i?`${e(\"yellow\",$)} `:\"\",o=i?e(\"yellow\",x):\"\";return`${s.trim()}\n${c}${u}\n${o}${a}\n`}case\"submit\":{const a=n?` ${e(\"dim\",n)}`:\"\",c=i?e(\"gray\",$):\"\";return`${s}${c}${a}`}case\"cancel\":{const a=n?` ${e([\"strikethrough\",\"dim\"],n)}`:\"\",c=i?e(\"gray\",$):\"\";return`${s}${c}${a}${n.trim()?`\n${c}`:\"\"}`}default:{const a=i?`${e(\"cyan\",$)} `:\"\",c=i?e(\"cyan\",x):\"\";return`${s}${a}${u}\n${c}\n`}}}}).prompt();export{$ as S_BAR,x as S_BAR_END,xt as S_BAR_END_RIGHT,st as S_BAR_H,lt as S_BAR_START,_t as S_BAR_START_RIGHT,et as S_CHECKBOX_ACTIVE,Y as S_CHECKBOX_INACTIVE,K as S_CHECKBOX_SELECTED,Gt as S_CONNECT_LEFT,dt as S_CORNER_BOTTOM_LEFT,$t as S_CORNER_BOTTOM_RIGHT,Mt as S_CORNER_TOP_LEFT,ct as S_CORNER_TOP_RIGHT,gt as S_ERROR,ht as S_INFO,Et as S_PASSWORD_MASK,z as S_RADIO_ACTIVE,U as S_RADIO_INACTIVE,Tt as S_STEP_ACTIVE,at as S_STEP_CANCEL,ut as S_STEP_ERROR,H as S_STEP_SUBMIT,pt as S_SUCCESS,mt as S_WARN,At as autocomplete,ie as autocompleteMultiselect,ae as box,me as cancel,ue as confirm,le as date,he as group,pe as groupMultiselect,ge as intro,ot as isCI,It as isTTY,F as limitOptions,R as log,fe as multiline,ve as multiselect,Se as note,ye as outro,Ce as password,Ie as path,_e as progress,xe as select,Ee as selectKey,ft as spinner,q as stream,P as symbol,yt as symbolBar,Oe as taskLog,Ge as tasks,Pe as text,tt as unicode,w as unicodeOr};\n//# sourceMappingURL=index.mjs.map\n","#!/usr/bin/env node\n\n/// <reference types=\"node\" />\n\nimport { execSync } from \"node:child_process\";\nimport * as fs from \"node:fs\";\nimport * as os from \"node:os\";\nimport * as path from \"node:path\";\nimport { dirname } from \"node:path\";\nimport { fileURLToPath } from \"node:url\";\nimport {\n\tcancel,\n\tconfirm,\n\tintro,\n\tisCancel,\n\tlog,\n\tselect,\n\tspinner,\n\ttext,\n} from \"@clack/prompts\";\n\n// __TODO this pkg is completely out of date -- update it\n\nconst __filename = fileURLToPath(import.meta.url);\nconst __dirname = dirname(__filename);\n\nasync function main() {\n\tconst args = process.argv.slice(2);\n\tconst isLocalTest = args.includes(\"--local-test\");\n\n\tconsole.log();\n\tintro(\"Welcome to the Vorma new app creator!\");\n\n\t// Check Go installation\n\tlet goVersion = \"\";\n\ttry {\n\t\tgoVersion = execSync(\"go version\", { encoding: \"utf8\" }).trim();\n\t\tconst versionMatch = goVersion.match(/go(\\d+)\\.(\\d+)/);\n\t\tif (versionMatch) {\n\t\t\tif (!versionMatch[1] || !versionMatch[2]) {\n\t\t\t\tcancel(\n\t\t\t\t\t\"Go version not recognized. Please ensure Go is installed correctly. See https://go.dev/doc/install for installation instructions.\",\n\t\t\t\t);\n\t\t\t\tprocess.exit(1);\n\t\t\t}\n\t\t\tconst major = parseInt(versionMatch[1]);\n\t\t\tconst minor = parseInt(versionMatch[2]);\n\t\t\tif (major < 1 || (major === 1 && minor < 24)) {\n\t\t\t\tcancel(\n\t\t\t\t\t\"Go version 1.24 or higher is required. See https://go.dev/doc/install for installation instructions.\",\n\t\t\t\t);\n\t\t\t\tprocess.exit(1);\n\t\t\t}\n\t\t}\n\t} catch {\n\t\tcancel(\n\t\t\t\"Go is not installed. See https://go.dev/doc/install for installation instructions.\",\n\t\t);\n\t\tprocess.exit(1);\n\t}\n\n\t// Check Node version\n\tconst nodeVersion = process.version;\n\tconst firstPart = nodeVersion.split(\".\")[0];\n\tif (!firstPart || firstPart.length < 2 || !firstPart.startsWith(\"v\")) {\n\t\tcancel(\n\t\t\t\"Node.js version not recognized. Please ensure Node.js is installed correctly.\",\n\t\t);\n\t\tprocess.exit(1);\n\t}\n\tconst nodeMajor = parseInt(firstPart.substring(1));\n\tif (nodeMajor < 22) {\n\t\tcancel(\"Node.js version 22.11 or higher is required\");\n\t\tprocess.exit(1);\n\t}\n\n\t// Option to create a new directory at start if not already in desired location\n\tconst createNewDir = await confirm({\n\t\tmessage: \"Create a new directory for your Vorma app?\",\n\t\tinitialValue: true,\n\t});\n\n\tif (isCancel(createNewDir)) {\n\t\tcancel(\"Operation cancelled\");\n\t\tprocess.exit(0);\n\t}\n\n\tlet targetDir = process.cwd();\n\n\tif (createNewDir) {\n\t\tconst dirName = await text({\n\t\t\tmessage: \"Enter directory name:\",\n\t\t\tvalidate: (value) => {\n\t\t\t\tif (!value || value.trim() === \"\") {\n\t\t\t\t\treturn \"Directory name is required\";\n\t\t\t\t}\n\t\t\t\t// Check for invalid characters in directory name\n\t\t\t\tif (!/^[a-zA-Z0-9-_]+$/.test(value)) {\n\t\t\t\t\treturn \"Directory name can only contain letters, numbers, hyphens, and underscores\";\n\t\t\t\t}\n\t\t\t\t// Check if directory already exists\n\t\t\t\tconst proposedPath = path.join(process.cwd(), value);\n\t\t\t\tif (fs.existsSync(proposedPath)) {\n\t\t\t\t\treturn `Directory \"${value}\" already exists`;\n\t\t\t\t}\n\t\t\t\treturn undefined;\n\t\t\t},\n\t\t});\n\n\t\tif (isCancel(dirName)) {\n\t\t\tcancel(\"Operation cancelled\");\n\t\t\tprocess.exit(0);\n\t\t}\n\n\t\t// Create the directory and change to it\n\t\ttargetDir = path.join(process.cwd(), dirName as string);\n\t\tfs.mkdirSync(targetDir, { recursive: true });\n\t\tprocess.chdir(targetDir);\n\t\tlog.success(`Created directory: ${dirName}`);\n\t}\n\n\t// Find go.mod and determine import path\n\tlet goModPath: string | null = null;\n\tlet moduleRoot: string | null = null;\n\tlet moduleName: string | null = null;\n\tlet createNewModule = false;\n\n\t// Search for go.mod\n\tlet currentDir = process.cwd();\n\twhile (currentDir !== path.dirname(currentDir)) {\n\t\tconst modPath = path.join(currentDir, \"go.mod\");\n\t\tif (fs.existsSync(modPath)) {\n\t\t\tgoModPath = modPath;\n\t\t\tmoduleRoot = currentDir;\n\t\t\tbreak;\n\t\t}\n\t\tcurrentDir = path.dirname(currentDir);\n\t}\n\n\t// Parse module name if found\n\tif (goModPath) {\n\t\tconst modContent = fs.readFileSync(goModPath, \"utf8\");\n\t\tconst moduleMatch = modContent.match(/^module\\s+(.+)$/m);\n\t\tif (moduleMatch && moduleMatch[1]) {\n\t\t\tmoduleName = moduleMatch[1].trim();\n\t\t}\n\n\t\t// When module is found, give option to use it or create nested module\n\t\tconst moduleChoice = await select({\n\t\t\tmessage: `Found parent Go module: ${moduleName}`,\n\t\t\toptions: [\n\t\t\t\t{ value: \"new\", label: \"Create new go.mod\" },\n\t\t\t\t{ value: \"use\", label: \"Use parent go.mod\" },\n\t\t\t],\n\t\t});\n\n\t\tif (isCancel(moduleChoice)) {\n\t\t\tcancel(\"Operation cancelled\");\n\t\t\tprocess.exit(0);\n\t\t}\n\n\t\tif (moduleChoice === \"new\") {\n\t\t\tcreateNewModule = true;\n\t\t\t// Reset module info since we're creating a new one\n\t\t\tgoModPath = null;\n\t\t\tmoduleRoot = null;\n\t\t\tmoduleName = null;\n\t\t}\n\t} else {\n\t\t// No module found, we need to create one\n\t\tcreateNewModule = true;\n\t}\n\n\t// Handle go.mod initialization if needed\n\tif (createNewModule) {\n\t\tconst modNameInput = await text({\n\t\t\tmessage: 'Enter module name (e.g., \"myapp\" or \"github.com/user/myapp\"):',\n\t\t\tvalidate: (value) => {\n\t\t\t\tif (!value || value.trim() === \"\") {\n\t\t\t\t\treturn \"Module name is required\";\n\t\t\t\t}\n\t\t\t\treturn undefined;\n\t\t\t},\n\t\t});\n\n\t\tif (isCancel(modNameInput)) {\n\t\t\tcancel(\"Operation cancelled\");\n\t\t\tprocess.exit(0);\n\t\t}\n\n\t\tmoduleName = modNameInput as string;\n\t\tmoduleRoot = process.cwd();\n\n\t\tconst s = spinner();\n\t\ts.start(\"Initializing Go module\");\n\t\ttry {\n\t\t\texecSync(`go mod init ${moduleName}`, { cwd: moduleRoot });\n\t\t\tif (isLocalTest) {\n\t\t\t\tconst vormaPath = path.resolve(__dirname, \"../../../../../\");\n\t\t\t\texecSync(`go mod edit -replace github.com/vormadev/vorma=${vormaPath}`, {\n\t\t\t\t\tcwd: moduleRoot,\n\t\t\t\t});\n\t\t\t\tlog.info(\"Using local Vorma code for testing\");\n\t\t\t}\n\t\t\ts.stop(\"Go module initialized\");\n\t\t} catch (error) {\n\t\t\ts.stop(\"Failed to initialize module\");\n\t\t\tcancel(`Error: ${error as any}`);\n\t\t\tprocess.exit(1);\n\t\t}\n\t}\n\n\t// Check for underscore directories from module root to current directory\n\tconst pathFromModuleRoot = moduleRoot ? path.relative(moduleRoot, process.cwd()) : \"\";\n\tconst pathSegments = pathFromModuleRoot\n\t\t.split(path.sep)\n\t\t.filter((seg) => seg.length > 0);\n\tconst underscoreSegments = pathSegments.filter((seg) => seg.startsWith(\"_\"));\n\tif (underscoreSegments.length > 0) {\n\t\tcancel(\n\t\t\t`Cannot create Vorma app in a path containing directories that start with underscores:\\n ${underscoreSegments.join(\", \")}\\n` +\n\t\t\t\t` Go ignores directories starting with underscores, which will cause build issues.`,\n\t\t);\n\t\tprocess.exit(1);\n\t}\n\n\t// Calculate import path automatically\n\tlet importPath = moduleName!;\n\tif (moduleRoot !== process.cwd()) {\n\t\tconst relativePath = path.relative(moduleRoot!, process.cwd());\n\t\timportPath = path.posix.join(moduleName!, ...relativePath.split(path.sep));\n\t}\n\n\t// Collect options\n\tconst uiVariant = await select({\n\t\tmessage: \"Choose frontend UI library:\",\n\t\toptions: [\n\t\t\t{ value: \"react\", label: \"React\" },\n\t\t\t{ value: \"preact\", label: \"Preact\" },\n\t\t\t{ value: \"solid\", label: \"Solid\" },\n\t\t],\n\t});\n\n\tif (isCancel(uiVariant)) {\n\t\tcancel(\"Operation cancelled\");\n\t\tprocess.exit(0);\n\t}\n\n\tconst packageManager = (await select({\n\t\tmessage: \"Choose JS package manager:\",\n\t\toptions: [\n\t\t\t{ value: \"npm\", label: \"npm\" },\n\t\t\t{ value: \"pnpm\", label: \"pnpm\" },\n\t\t\t{ value: \"yarn\", label: \"yarn\" },\n\t\t\t{ value: \"bun\", label: \"bun\" },\n\t\t],\n\t})) as string;\n\n\tif (isCancel(packageManager)) {\n\t\tcancel(\"Operation cancelled\");\n\t\tprocess.exit(0);\n\t}\n\n\tconst deploymentTarget = await select({\n\t\tmessage: \"Choose deployment target:\",\n\t\toptions: [\n\t\t\t{\n\t\t\t\tvalue: \"docker\",\n\t\t\t\tlabel: \"Docker\",\n\t\t\t},\n\t\t\t{\n\t\t\t\tvalue: \"vercel\",\n\t\t\t\tlabel: \"Vercel\",\n\t\t\t},\n\t\t\t{\n\t\t\t\tvalue: \"none\",\n\t\t\t\tlabel: \"None (I'll figure it out myself)\",\n\t\t\t},\n\t\t],\n\t});\n\n\tif (isCancel(deploymentTarget)) {\n\t\tcancel(\"Operation cancelled\");\n\t\tprocess.exit(0);\n\t}\n\n\t// Ask about Tailwind CSS\n\tconst includeTailwind = await confirm({\n\t\tmessage: \"Include Tailwind CSS?\",\n\t\tinitialValue: false,\n\t});\n\n\tif (isCancel(includeTailwind)) {\n\t\tcancel(\"Operation cancelled\");\n\t\tprocess.exit(0);\n\t}\n\n\tconsole.log();\n\tconsole.log(\"🛠️ Preparing bootstrapper...\");\n\n\t// Create temporary directory\n\tconst tempDir = fs.mkdtempSync(path.join(os.tmpdir(), \"create-vorma-\"));\n\tconst bootstrapFile = path.join(tempDir, \"main.go\");\n\n\t// Extract Go version string (e.g., \"go1.24.0\")\n\tconst goVersionMatch = goVersion.match(/go\\d+\\.\\d+\\.\\d+/);\n\tconst goVersionString = goVersionMatch ? goVersionMatch[0] : \"\";\n\n\ttry {\n\t\t// Write bootstrap Go file\n\t\tconst goCode = `package main\n\nimport \"github.com/vormadev/vorma/bootstrap\"\n\nfunc main() {\n\tbootstrap.Init(bootstrap.Options{\n\t\tGoImportBase: \"${importPath}\",\n\t\tUIVariant: \"${uiVariant}\",\n\t\tJSPackageManager: \"${packageManager}\",\n\t\tDeploymentTarget: \"${deploymentTarget}\",\n\t\tIncludeTailwind: ${includeTailwind},\n\t\tNodeMajorVersion: \"${nodeMajor}\",\n\t\tGoVersion: \"${goVersionString}\",\n\t\t${createNewDir ? `CreatedInDir: \"${path.basename(targetDir)}\",` : \"\"}\n\t\tModuleRoot: \"${moduleRoot || process.cwd()}\",\n\t\tCurrentDir: \"${process.cwd()}\",\n\t\tHasParentModule: ${moduleRoot !== null && moduleRoot !== process.cwd()},\n\t})\n}\n`;\n\t\tfs.writeFileSync(bootstrapFile, goCode);\n\n\t\t// Install Vorma dependency\n\t\tconst packageJsonPath = path.join(__dirname, \"../package.json\");\n\t\tconst packageJson = JSON.parse(fs.readFileSync(packageJsonPath, \"utf8\"));\n\t\tconst version = packageJson.version;\n\t\tconst usingExistingModule = !createNewModule;\n\t\tconst skipVormaGet = isLocalTest && usingExistingModule;\n\t\tif (!skipVormaGet) {\n\t\t\texecSync(`go get github.com/vormadev/vorma@v${version}`, {\n\t\t\t\tcwd: process.cwd(),\n\t\t\t\tstdio: \"pipe\",\n\t\t\t});\n\t\t}\n\n\t\t// Run bootstrap\n\t\tconsole.log(\"🛠️ Running bootstrapper...\");\n\t\ttry {\n\t\t\texecSync(`go run ${bootstrapFile}`, {\n\t\t\t\tcwd: process.cwd(),\n\t\t\t\tstdio: \"inherit\",\n\t\t\t});\n\t\t} catch (error) {\n\t\t\tconsole.error(\"Failed to create app\");\n\t\t\tthrow error;\n\t\t}\n\t} catch (error) {\n\t\tcancel(`Error: ${error as any}`);\n\t\tprocess.exit(1);\n\t} finally {\n\t\t// Clean up temp directory\n\t\ttry {\n\t\t\tfs.rmSync(tempDir, { recursive: true, force: true });\n\t\t} catch {\n\t\t\t// Ignore cleanup errors\n\t\t}\n\t}\n}\n\nmain().catch((error) => {\n\tconsole.error(\"Unexpected error:\", error);\n\tprocess.exit(1);\n});\n"],"x_google_ignoreList":[0,1,2,3,4,5,6],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"main.mjs","names":["NO_TRUNCATION","fastStringTruncatedWidth","stringWidth","z","Y","q","w","R","D","x","O","p","M","V","H","Q","#s","v","#n","#u","#t","#e","#i","#r","P","tt","$","U","F","st","et","#c","#a","#d","#f","#g","#o","#h","#l","#p","#m","it","ot","ut","at","ht","e","X","Lt","J","vt","T","h","B","Dt","E","Wt","Ft","Ht","Ut","Kt","qt","wt","bt","Zt","te","St","Ct","Jt","Yt","Xt","nt","zt","confirm","isCancel","text","select","spinner"],"sources":["../../../node_modules/fast-string-truncated-width/dist/utils.js","../../../node_modules/fast-string-truncated-width/dist/index.js","../../../node_modules/fast-string-width/dist/index.js","../../../node_modules/fast-wrap-ansi/lib/main.js","../../../node_modules/sisteransi/src/index.js","../../../node_modules/@clack/core/dist/index.mjs","../../../node_modules/@clack/prompts/dist/index.mjs","../main.ts"],"sourcesContent":["/* MAIN */\nconst getCodePointsLength = (() => {\n const SURROGATE_PAIR_RE = /[\\uD800-\\uDBFF][\\uDC00-\\uDFFF]/g;\n return (input) => {\n let surrogatePairsNr = 0;\n SURROGATE_PAIR_RE.lastIndex = 0;\n while (SURROGATE_PAIR_RE.test(input)) {\n surrogatePairsNr += 1;\n }\n return input.length - surrogatePairsNr;\n };\n})();\nconst isFullWidth = (x) => {\n return x === 0x3000 || x >= 0xFF01 && x <= 0xFF60 || x >= 0xFFE0 && x <= 0xFFE6;\n};\nconst isWideNotCJKTNotEmoji = (x) => {\n return x === 0x231B || x === 0x2329 || x >= 0x2FF0 && x <= 0x2FFF || x >= 0x3001 && x <= 0x303E || x >= 0x3099 && x <= 0x30FF || x >= 0x3105 && x <= 0x312F || x >= 0x3131 && x <= 0x318E || x >= 0x3190 && x <= 0x31E3 || x >= 0x31EF && x <= 0x321E || x >= 0x3220 && x <= 0x3247 || x >= 0x3250 && x <= 0x4DBF || x >= 0xFE10 && x <= 0xFE19 || x >= 0xFE30 && x <= 0xFE52 || x >= 0xFE54 && x <= 0xFE66 || x >= 0xFE68 && x <= 0xFE6B || x >= 0x1F200 && x <= 0x1F202 || x >= 0x1F210 && x <= 0x1F23B || x >= 0x1F240 && x <= 0x1F248 || x >= 0x20000 && x <= 0x2FFFD || x >= 0x30000 && x <= 0x3FFFD;\n};\n/* EXPORT */\nexport { getCodePointsLength, isFullWidth, isWideNotCJKTNotEmoji };\n","/* IMPORT */\nimport { getCodePointsLength, isFullWidth, isWideNotCJKTNotEmoji } from './utils.js';\n/* HELPERS */\nconst ANSI_RE = /[\\u001b\\u009b][[()#;?]*(?:[0-9]{1,4}(?:;[0-9]{0,4})*)?[0-9A-ORZcf-nqry=><]|\\u001b\\]8;[^;]*;.*?(?:\\u0007|\\u001b\\u005c)/y;\nconst CONTROL_RE = /[\\x00-\\x08\\x0A-\\x1F\\x7F-\\x9F]{1,1000}/y;\nconst CJKT_WIDE_RE = /(?:(?![\\uFF61-\\uFF9F\\uFF00-\\uFFEF])[\\p{Script=Han}\\p{Script=Hiragana}\\p{Script=Katakana}\\p{Script=Hangul}\\p{Script=Tangut}]){1,1000}/yu;\nconst TAB_RE = /\\t{1,1000}/y;\nconst EMOJI_RE = /[\\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;\nconst LATIN_RE = /(?:[\\x20-\\x7E\\xA0-\\xFF](?!\\uFE0F)){1,1000}/y;\nconst MODIFIER_RE = /\\p{M}+/gu;\nconst NO_TRUNCATION = { limit: Infinity, ellipsis: '' };\n/* MAIN */\nconst getStringTruncatedWidth = (input, truncationOptions = {}, widthOptions = {}) => {\n /* CONSTANTS */\n const LIMIT = truncationOptions.limit ?? Infinity;\n const ELLIPSIS = truncationOptions.ellipsis ?? '';\n const ELLIPSIS_WIDTH = truncationOptions?.ellipsisWidth ?? (ELLIPSIS ? getStringTruncatedWidth(ELLIPSIS, NO_TRUNCATION, widthOptions).width : 0);\n const ANSI_WIDTH = 0;\n const CONTROL_WIDTH = widthOptions.controlWidth ?? 0;\n const TAB_WIDTH = widthOptions.tabWidth ?? 8;\n const EMOJI_WIDTH = widthOptions.emojiWidth ?? 2;\n const FULL_WIDTH_WIDTH = 2;\n const REGULAR_WIDTH = widthOptions.regularWidth ?? 1;\n const WIDE_WIDTH = widthOptions.wideWidth ?? FULL_WIDTH_WIDTH;\n const PARSE_BLOCKS = [\n [LATIN_RE, REGULAR_WIDTH],\n [ANSI_RE, ANSI_WIDTH],\n [CONTROL_RE, CONTROL_WIDTH],\n [TAB_RE, TAB_WIDTH],\n [EMOJI_RE, EMOJI_WIDTH],\n [CJKT_WIDE_RE, WIDE_WIDTH],\n ];\n /* STATE */\n let indexPrev = 0;\n let index = 0;\n let length = input.length;\n let lengthExtra = 0;\n let truncationEnabled = false;\n let truncationIndex = length;\n let truncationLimit = Math.max(0, LIMIT - ELLIPSIS_WIDTH);\n let unmatchedStart = 0;\n let unmatchedEnd = 0;\n let width = 0;\n let widthExtra = 0;\n /* PARSE LOOP */\n outer: while (true) {\n /* UNMATCHED */\n if ((unmatchedEnd > unmatchedStart) || (index >= length && index > indexPrev)) {\n const unmatched = input.slice(unmatchedStart, unmatchedEnd) || input.slice(indexPrev, index);\n lengthExtra = 0;\n for (const char of unmatched.replaceAll(MODIFIER_RE, '')) {\n const codePoint = char.codePointAt(0) || 0;\n if (isFullWidth(codePoint)) {\n widthExtra = FULL_WIDTH_WIDTH;\n }\n else if (isWideNotCJKTNotEmoji(codePoint)) {\n widthExtra = WIDE_WIDTH;\n }\n else {\n widthExtra = REGULAR_WIDTH;\n }\n if ((width + widthExtra) > truncationLimit) {\n truncationIndex = Math.min(truncationIndex, Math.max(unmatchedStart, indexPrev) + lengthExtra);\n }\n if ((width + widthExtra) > LIMIT) {\n truncationEnabled = true;\n break outer;\n }\n lengthExtra += char.length;\n width += widthExtra;\n }\n unmatchedStart = unmatchedEnd = 0;\n }\n /* EXITING */\n if (index >= length) {\n break outer;\n }\n /* PARSE BLOCKS */\n for (let i = 0, l = PARSE_BLOCKS.length; i < l; i++) {\n const [BLOCK_RE, BLOCK_WIDTH] = PARSE_BLOCKS[i];\n BLOCK_RE.lastIndex = index;\n if (BLOCK_RE.test(input)) {\n lengthExtra = BLOCK_RE === CJKT_WIDE_RE ? getCodePointsLength(input.slice(index, BLOCK_RE.lastIndex)) : BLOCK_RE === EMOJI_RE ? 1 : BLOCK_RE.lastIndex - index;\n widthExtra = lengthExtra * BLOCK_WIDTH;\n if ((width + widthExtra) > truncationLimit) {\n truncationIndex = Math.min(truncationIndex, index + Math.floor((truncationLimit - width) / BLOCK_WIDTH));\n }\n if ((width + widthExtra) > LIMIT) {\n truncationEnabled = true;\n break outer;\n }\n width += widthExtra;\n unmatchedStart = indexPrev;\n unmatchedEnd = index;\n index = indexPrev = BLOCK_RE.lastIndex;\n continue outer;\n }\n }\n /* UNMATCHED INDEX */\n index += 1;\n }\n /* RETURN */\n return {\n width: truncationEnabled ? truncationLimit : width,\n index: truncationEnabled ? truncationIndex : length,\n truncated: truncationEnabled,\n ellipsed: truncationEnabled && LIMIT >= ELLIPSIS_WIDTH\n };\n};\n/* EXPORT */\nexport default getStringTruncatedWidth;\n","/* IMPORT */\nimport fastStringTruncatedWidth from 'fast-string-truncated-width';\n/* HELPERS */\nconst NO_TRUNCATION = {\n limit: Infinity,\n ellipsis: '',\n ellipsisWidth: 0,\n};\n/* MAIN */\nconst fastStringWidth = (input, options = {}) => {\n return fastStringTruncatedWidth(input, NO_TRUNCATION, options).width;\n};\n/* EXPORT */\nexport default fastStringWidth;\n","import stringWidth from 'fast-string-width';\nconst ESC = '\\x1B';\nconst CSI = '\\x9B';\nconst END_CODE = 39;\nconst ANSI_ESCAPE_BELL = '\\u0007';\nconst ANSI_CSI = '[';\nconst ANSI_OSC = ']';\nconst ANSI_SGR_TERMINATOR = 'm';\nconst ANSI_ESCAPE_LINK = `${ANSI_OSC}8;;`;\nconst GROUP_REGEX = new RegExp(`(?:\\\\${ANSI_CSI}(?<code>\\\\d+)m|\\\\${ANSI_ESCAPE_LINK}(?<uri>.*)${ANSI_ESCAPE_BELL})`, 'y');\nconst getClosingCode = (openingCode) => {\n if (openingCode >= 30 && openingCode <= 37)\n return 39;\n if (openingCode >= 90 && openingCode <= 97)\n return 39;\n if (openingCode >= 40 && openingCode <= 47)\n return 49;\n if (openingCode >= 100 && openingCode <= 107)\n return 49;\n if (openingCode === 1 || openingCode === 2)\n return 22;\n if (openingCode === 3)\n return 23;\n if (openingCode === 4)\n return 24;\n if (openingCode === 7)\n return 27;\n if (openingCode === 8)\n return 28;\n if (openingCode === 9)\n return 29;\n if (openingCode === 0)\n return 0;\n return undefined;\n};\nconst wrapAnsiCode = (code) => `${ESC}${ANSI_CSI}${code}${ANSI_SGR_TERMINATOR}`;\nconst wrapAnsiHyperlink = (url) => `${ESC}${ANSI_ESCAPE_LINK}${url}${ANSI_ESCAPE_BELL}`;\nconst wrapWord = (rows, word, columns) => {\n const characters = word[Symbol.iterator]();\n let isInsideEscape = false;\n let isInsideLinkEscape = false;\n let lastRow = rows.at(-1);\n let visible = lastRow === undefined ? 0 : stringWidth(lastRow);\n let currentCharacter = characters.next();\n let nextCharacter = characters.next();\n let rawCharacterIndex = 0;\n while (!currentCharacter.done) {\n const character = currentCharacter.value;\n const characterLength = stringWidth(character);\n if (visible + characterLength <= columns) {\n rows[rows.length - 1] += character;\n }\n else {\n rows.push(character);\n visible = 0;\n }\n if (character === ESC || character === CSI) {\n isInsideEscape = true;\n isInsideLinkEscape = word.startsWith(ANSI_ESCAPE_LINK, rawCharacterIndex + 1);\n }\n if (isInsideEscape) {\n if (isInsideLinkEscape) {\n if (character === ANSI_ESCAPE_BELL) {\n isInsideEscape = false;\n isInsideLinkEscape = false;\n }\n }\n else if (character === ANSI_SGR_TERMINATOR) {\n isInsideEscape = false;\n }\n }\n else {\n visible += characterLength;\n if (visible === columns && !nextCharacter.done) {\n rows.push('');\n visible = 0;\n }\n }\n currentCharacter = nextCharacter;\n nextCharacter = characters.next();\n rawCharacterIndex += character.length;\n }\n lastRow = rows.at(-1);\n if (!visible && lastRow !== undefined && lastRow.length && rows.length > 1) {\n rows[rows.length - 2] += rows.pop();\n }\n};\nconst stringVisibleTrimSpacesRight = (string) => {\n const words = string.split(' ');\n let last = words.length;\n while (last) {\n if (stringWidth(words[last - 1])) {\n break;\n }\n last--;\n }\n if (last === words.length) {\n return string;\n }\n return words.slice(0, last).join(' ') + words.slice(last).join('');\n};\nconst exec = (string, columns, options = {}) => {\n if (options.trim !== false && string.trim() === '') {\n return '';\n }\n let returnValue = '';\n let escapeCode;\n let escapeUrl;\n const words = string.split(' ');\n let rows = [''];\n let rowLength = 0;\n for (let index = 0; index < words.length; index++) {\n const word = words[index];\n if (options.trim !== false) {\n const row = rows.at(-1) ?? '';\n const trimmed = row.trimStart();\n if (row.length !== trimmed.length) {\n rows[rows.length - 1] = trimmed;\n rowLength = stringWidth(trimmed);\n }\n }\n if (index !== 0) {\n if (rowLength >= columns &&\n (options.wordWrap === false || options.trim === false)) {\n rows.push('');\n rowLength = 0;\n }\n if (rowLength || options.trim === false) {\n rows[rows.length - 1] += ' ';\n rowLength++;\n }\n }\n const wordLength = stringWidth(word);\n if (options.hard && wordLength > columns) {\n const remainingColumns = columns - rowLength;\n const breaksStartingThisLine = 1 + Math.floor((wordLength - remainingColumns - 1) / columns);\n const breaksStartingNextLine = Math.floor((wordLength - 1) / columns);\n if (breaksStartingNextLine < breaksStartingThisLine) {\n rows.push('');\n }\n wrapWord(rows, word, columns);\n rowLength = stringWidth(rows.at(-1) ?? '');\n continue;\n }\n if (rowLength + wordLength > columns && rowLength && wordLength) {\n if (options.wordWrap === false && rowLength < columns) {\n wrapWord(rows, word, columns);\n rowLength = stringWidth(rows.at(-1) ?? '');\n continue;\n }\n rows.push('');\n rowLength = 0;\n }\n if (rowLength + wordLength > columns && options.wordWrap === false) {\n wrapWord(rows, word, columns);\n rowLength = stringWidth(rows.at(-1) ?? '');\n continue;\n }\n rows[rows.length - 1] += word;\n rowLength += wordLength;\n }\n if (options.trim !== false) {\n rows = rows.map((row) => stringVisibleTrimSpacesRight(row));\n }\n const preString = rows.join('\\n');\n let inSurrogate = false;\n for (let i = 0; i < preString.length; i++) {\n const character = preString[i];\n returnValue += character;\n if (!inSurrogate) {\n inSurrogate = character >= '\\ud800' && character <= '\\udbff';\n if (inSurrogate) {\n continue;\n }\n }\n else {\n inSurrogate = false;\n }\n if (character === ESC || character === CSI) {\n GROUP_REGEX.lastIndex = i + 1;\n const groupsResult = GROUP_REGEX.exec(preString);\n const groups = groupsResult?.groups;\n if (groups?.code !== undefined) {\n const code = Number.parseFloat(groups.code);\n escapeCode = code === END_CODE ? undefined : code;\n }\n else if (groups?.uri !== undefined) {\n escapeUrl = groups.uri.length === 0 ? undefined : groups.uri;\n }\n }\n if (preString[i + 1] === '\\n') {\n if (escapeUrl) {\n returnValue += wrapAnsiHyperlink('');\n }\n const closingCode = escapeCode ? getClosingCode(escapeCode) : undefined;\n if (escapeCode && closingCode) {\n returnValue += wrapAnsiCode(closingCode);\n }\n }\n else if (character === '\\n') {\n if (escapeCode && getClosingCode(escapeCode)) {\n returnValue += wrapAnsiCode(escapeCode);\n }\n if (escapeUrl) {\n returnValue += wrapAnsiHyperlink(escapeUrl);\n }\n }\n }\n return returnValue;\n};\nconst CRLF_OR_LF = /\\r?\\n/;\nexport function wrapAnsi(string, columns, options) {\n return String(string)\n .normalize()\n .split(CRLF_OR_LF)\n .map((line) => exec(line, columns, options))\n .join('\\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 v}from\"node:util\";import{stdout as x,stdin as D}from\"node:process\";import*as b from\"node:readline\";import E from\"node:readline\";import{wrapAnsi as M}from\"fast-wrap-ansi\";import{cursor as p,erase as V}from\"sisteransi\";import{ReadStream as O}from\"node:tty\";function f(r,t,s){if(!s.some(o=>!o.disabled))return r;const e=r+t,i=Math.max(s.length-1,0),n=e<0?i:e>i?0:e;return s[n].disabled?f(n,t<0?-1:1,s):n}function I(r,t,s,e){const i=e.split(`\n`);let n=0,o=r;for(const a of i){if(o<=a.length)break;o-=a.length+1,n++}for(n=Math.max(0,Math.min(i.length-1,n+s)),o=Math.min(o,i[n].length)+t;o<0&&n>0;)n--,o+=i[n].length+1;for(;o>i[n].length&&n<i.length-1;)o-=i[n].length+1,n++;o=Math.max(0,Math.min(i[n].length,o));let u=0;for(let a=0;a<n;a++)u+=i[a].length+1;return u+o}const G=[\"up\",\"down\",\"left\",\"right\",\"space\",\"enter\",\"cancel\"],K=[\"January\",\"February\",\"March\",\"April\",\"May\",\"June\",\"July\",\"August\",\"September\",\"October\",\"November\",\"December\"],h={actions:new Set(G),aliases:new Map([[\"k\",\"up\"],[\"j\",\"down\"],[\"h\",\"left\"],[\"l\",\"right\"],[\"\u0003\",\"cancel\"],[\"escape\",\"cancel\"]]),messages:{cancel:\"Canceled\",error:\"Something went wrong\"},withGuide:!0,date:{monthNames:[...K],messages:{required:\"Please enter a valid date\",invalidMonth:\"There are only 12 months in a year\",invalidDay:(r,t)=>`There are only ${r} days in ${t}`,afterMin:r=>`Date must be on or after ${r.toISOString().slice(0,10)}`,beforeMax:r=>`Date must be on or before ${r.toISOString().slice(0,10)}`}}};function j(r){if(r.aliases!==void 0){const t=r.aliases;for(const s in t){if(!Object.hasOwn(t,s))continue;const e=t[s];h.actions.has(e)&&(h.aliases.has(s)||h.aliases.set(s,e))}}if(r.messages!==void 0){const t=r.messages;t.cancel!==void 0&&(h.messages.cancel=t.cancel),t.error!==void 0&&(h.messages.error=t.error)}if(r.withGuide!==void 0&&(h.withGuide=r.withGuide!==!1),r.date!==void 0){const t=r.date;t.monthNames!==void 0&&(h.date.monthNames=[...t.monthNames]),t.messages!==void 0&&(t.messages.required!==void 0&&(h.date.messages.required=t.messages.required),t.messages.invalidMonth!==void 0&&(h.date.messages.invalidMonth=t.messages.invalidMonth),t.messages.invalidDay!==void 0&&(h.date.messages.invalidDay=t.messages.invalidDay),t.messages.afterMin!==void 0&&(h.date.messages.afterMin=t.messages.afterMin),t.messages.beforeMax!==void 0&&(h.date.messages.beforeMax=t.messages.beforeMax))}}function C(r,t){if(typeof r==\"string\")return h.aliases.get(r)===t;for(const s of r)if(s!==void 0&&C(s,t))return!0;return!1}function z(r,t){if(r===t)return;const s=r.split(`\n`),e=t.split(`\n`),i=Math.max(s.length,e.length),n=[];for(let o=0;o<i;o++)s[o]!==e[o]&&n.push(o);return{lines:n,numLinesBefore:s.length,numLinesAfter:e.length,numLines:i}}const Y=globalThis.process.platform.startsWith(\"win\"),k=Symbol(\"clack:cancel\");function q(r){return r===k}function w(r,t){const s=r;s.isTTY&&s.setRawMode(t)}function R({input:r=D,output:t=x,overwrite:s=!0,hideCursor:e=!0}={}){const i=b.createInterface({input:r,output:t,prompt:\"\",tabSize:1});b.emitKeypressEvents(r,i),r instanceof O&&r.isTTY&&r.setRawMode(!0);const n=(o,{name:u,sequence:a})=>{const l=String(o);if(C([l,u,a],\"cancel\")){e&&t.write(p.show),process.exit(0);return}if(!s)return;const c=u===\"return\"?0:-1,y=u===\"return\"?-1:0;b.moveCursor(t,c,y,()=>{b.clearLine(t,1,()=>{r.once(\"keypress\",n)})})};return e&&t.write(p.hide),r.once(\"keypress\",n),()=>{r.off(\"keypress\",n),e&&t.write(p.show),r instanceof O&&r.isTTY&&!Y&&r.setRawMode(!1),i.terminal=!1,i.close()}}const A=r=>\"columns\"in r&&typeof r.columns==\"number\"?r.columns:80,L=r=>\"rows\"in r&&typeof r.rows==\"number\"?r.rows:20;function W(r,t,s,e=s,i=s,n){const o=A(r??x);return M(t,o-s.length,{hard:!0,trim:!1}).split(`\n`).map((u,a,l)=>{const c=n?n(u,a):u;return a===0?`${e}${c}`:a===l.length-1?`${i}${c}`:`${s}${c}`}).join(`\n`)}let m=class{input;output;_abortSignal;rl;opts;_render;_track=!1;_prevFrame=\"\";_subscribers=new Map;_cursor=0;state=\"initial\";error=\"\";value;userInput=\"\";constructor(t,s=!0){const{input:e=D,output:i=x,render:n,signal:o,...u}=t;this.opts=u,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=o,this.input=e,this.output=i}unsubscribe(){this._subscribers.clear()}setSubscriber(t,s){const e=this._subscribers.get(t)??[];e.push(s),this._subscribers.set(t,e)}on(t,s){this.setSubscriber(t,{cb:s})}once(t,s){this.setSubscriber(t,{cb:s,once:!0})}emit(t,...s){const e=this._subscribers.get(t)??[],i=[];for(const n of e)n.cb(...s),n.once&&i.push(()=>e.splice(e.indexOf(n),1));for(const n of i)n()}prompt(){return new Promise(t=>{if(this._abortSignal){if(this._abortSignal.aborted)return this.state=\"cancel\",this.close(),t(k);this._abortSignal.addEventListener(\"abort\",()=>{this.state=\"cancel\",this.close()},{once:!0})}this.rl=E.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(p.show),this.output.off(\"resize\",this.render),w(this.input,!1),t(this.value)}),this.once(\"cancel\",()=>{this.output.write(p.show),this.output.off(\"resize\",this.render),w(this.input,!1),t(k)})})}_isActionKey(t,s){return t===\"\t\"}_shouldSubmit(t,s){return!0}_setValue(t){this.value=t,this.emit(\"value\",this.value)}_setUserInput(t,s){this.userInput=t??\"\",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(t,s){if(this._track&&s.name!==\"return\"&&(s.name&&this._isActionKey(t,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&&h.aliases.has(s.name)&&this.emit(\"cursor\",h.aliases.get(s.name)),h.actions.has(s.name)&&this.emit(\"cursor\",s.name)),t&&(t.toLowerCase()===\"y\"||t.toLowerCase()===\"n\")&&this.emit(\"confirm\",t.toLowerCase()===\"y\"),this.emit(\"key\",t?.toLowerCase(),s),s?.name===\"return\"&&this._shouldSubmit(t,s)){if(this.opts.validate){const e=this.opts.validate(this.value);e&&(this.error=e instanceof Error?e.message:e,this.state=\"error\",this.rl?.write(this.userInput))}this.state!==\"error\"&&(this.state=\"submit\")}C([t,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 t=M(this._prevFrame,process.stdout.columns,{hard:!0,trim:!1}).split(`\n`).length-1;this.output.write(p.move(-999,t*-1))}render(){const t=M(this._render(this)??\"\",process.stdout.columns,{hard:!0,trim:!1});if(t!==this._prevFrame){if(this.state===\"initial\")this.output.write(p.hide);else{const s=z(this._prevFrame,t),e=L(this.output);if(this.restoreCursor(),s){const i=Math.max(0,s.numLinesAfter-e),n=Math.max(0,s.numLinesBefore-e);let o=s.lines.find(u=>u>=i);if(o===void 0){this._prevFrame=t;return}if(s.lines.length===1){this.output.write(p.move(0,o-n)),this.output.write(V.lines(1));const u=t.split(`\n`);this.output.write(u[o]),this._prevFrame=t,this.output.write(p.move(0,u.length-o-1));return}else if(s.lines.length>1){if(i<n)o=i;else{const a=o-n;a>0&&this.output.write(p.move(0,a))}this.output.write(V.down());const u=t.split(`\n`).slice(o);this.output.write(u.join(`\n`)),this._prevFrame=t;return}}this.output.write(V.down())}this.output.write(t),this.state===\"initial\"&&(this.state=\"active\"),this._prevFrame=t}}};function B(r,t){if(r===void 0||t.length===0)return 0;const s=t.findIndex(e=>e.value===r);return s!==-1?s:0}function J(r,t){return(t.label??String(t.value)).toLowerCase().includes(r.toLowerCase())}function H(r,t){if(t)return r?t:t[0]}let Q=class extends m{filteredOptions;multiple;isNavigating=!1;selectedValues=[];focusedValue;#s=0;#r=\"\";#t;#n;#u;get cursor(){return this.#s}get userInputWithCursor(){if(!this.userInput)return v([\"inverse\",\"hidden\"],\"_\");if(this._cursor>=this.userInput.length)return`${this.userInput}\\u2588`;const t=this.userInput.slice(0,this._cursor),[s,...e]=this.userInput.slice(this._cursor);return`${t}${v(\"inverse\",s)}${e.join(\"\")}`}get options(){return typeof this.#n==\"function\"?this.#n():this.#n}constructor(t){super(t),this.#n=t.options,this.#u=t.placeholder;const s=this.options;this.filteredOptions=[...s],this.multiple=t.multiple===!0,this.#t=typeof t.options==\"function\"?t.filter:t.filter??J;let e;if(t.initialValue&&Array.isArray(t.initialValue)?this.multiple?e=t.initialValue:e=t.initialValue.slice(0,1):!this.multiple&&this.options.length>0&&(e=[this.options[0].value]),e)for(const i of e){const n=s.findIndex(o=>o.value===i);n!==-1&&(this.toggleSelected(i),this.#s=n)}this.focusedValue=this.options[this.#s]?.value,this.on(\"key\",(i,n)=>this.#e(i,n)),this.on(\"userInput\",i=>this.#i(i))}_isActionKey(t,s){return t===\"\t\"||this.multiple&&this.isNavigating&&s.name===\"space\"&&t!==void 0&&t!==\"\"}#e(t,s){const e=s.name===\"up\",i=s.name===\"down\",n=s.name===\"return\",o=this.userInput===\"\"||this.userInput===\"\t\",u=this.#u,a=this.options,l=u!==void 0&&u!==\"\"&&a.some(c=>!c.disabled&&(this.#t?this.#t(u,c):!0));if(s.name===\"tab\"&&o&&l){this.userInput===\"\t\"&&this._clearUserInput(),this._setUserInput(u,!0),this.isNavigating=!1;return}e||i?(this.#s=f(this.#s,e?-1:1,this.filteredOptions),this.focusedValue=this.filteredOptions[this.#s]?.value,this.multiple||(this.selectedValues=[this.focusedValue]),this.isNavigating=!0):n?this.value=H(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(t){this.filteredOptions.length!==0&&(this.multiple?this.selectedValues.includes(t)?this.selectedValues=this.selectedValues.filter(s=>s!==t):this.selectedValues=[...this.selectedValues,t]:this.selectedValues=[t])}#i(t){if(t!==this.#r){this.#r=t;const s=this.options;t&&this.#t?this.filteredOptions=s.filter(n=>this.#t?.(t,n)):this.filteredOptions=[...s];const e=B(this.focusedValue,this.filteredOptions);this.#s=f(e,0,this.filteredOptions);const i=this.filteredOptions[this.#s];i&&!i.disabled?this.focusedValue=i.value:this.focusedValue=void 0,this.multiple||(this.focusedValue!==void 0?this.toggleSelected(this.focusedValue):this.deselectAll())}}};class X extends m{get cursor(){return this.value?0:1}get _value(){return this.cursor===0}constructor(t){super(t,!1),this.value=!!t.initialValue,this.on(\"userInput\",()=>{this.value=this._value}),this.on(\"confirm\",s=>{this.output.write(p.move(0,-1)),this.value=s,this.state=\"submit\",this.close()}),this.on(\"cursor\",()=>{this.value=!this.value})}}const Z={Y:{type:\"year\",len:4},M:{type:\"month\",len:2},D:{type:\"day\",len:2}};function P(r){return[...r].map(t=>Z[t])}function tt(r){const t=new Intl.DateTimeFormat(r,{year:\"numeric\",month:\"2-digit\",day:\"2-digit\"}).formatToParts(new Date(2e3,0,15)),s=[];let e=\"/\";for(const i of t)i.type===\"literal\"?e=i.value.trim()||i.value:(i.type===\"year\"||i.type===\"month\"||i.type===\"day\")&&s.push({type:i.type,len:i.type===\"year\"?4:2});return{segments:s,separator:e}}function $(r){return Number.parseInt((r||\"0\").replace(/_/g,\"0\"),10)||0}function S(r){return{year:$(r.year),month:$(r.month),day:$(r.day)}}function U(r,t){return new Date(r||2001,t||1,0).getDate()}function F(r){const{year:t,month:s,day:e}=S(r);if(!t||t<0||t>9999||!s||s<1||s>12||!e||e<1)return;const i=new Date(Date.UTC(t,s-1,e));if(!(i.getUTCFullYear()!==t||i.getUTCMonth()!==s-1||i.getUTCDate()!==e))return{year:t,month:s,day:e}}function N(r){const t=F(r);return t?new Date(Date.UTC(t.year,t.month-1,t.day)):void 0}function st(r,t,s,e){const i=s?{year:s.getUTCFullYear(),month:s.getUTCMonth()+1,day:s.getUTCDate()}:null,n=e?{year:e.getUTCFullYear(),month:e.getUTCMonth()+1,day:e.getUTCDate()}:null;return r===\"year\"?{min:i?.year??1,max:n?.year??9999}:r===\"month\"?{min:i&&t.year===i.year?i.month:1,max:n&&t.year===n.year?n.month:12}:{min:i&&t.year===i.year&&t.month===i.month?i.day:1,max:n&&t.year===n.year&&t.month===n.month?n.day:U(t.year,t.month)}}class et extends m{#s;#r;#t;#n;#u;#e={segmentIndex:0,positionInSegment:0};#i=!0;#o=null;inlineError=\"\";get segmentCursor(){return{...this.#e}}get segmentValues(){return{...this.#t}}get segments(){return this.#s}get separator(){return this.#r}get formattedValue(){return this.#c(this.#t)}#c(t){return this.#s.map(s=>t[s.type]).join(this.#r)}#a(){this._setUserInput(this.#c(this.#t)),this._setValue(N(this.#t)??void 0)}constructor(t){const s=t.format?{segments:P(t.format),separator:t.separator??\"/\"}:tt(t.locale),e=t.separator??s.separator,i=t.format?P(t.format):s.segments,n=t.initialValue??t.defaultValue,o=n?{year:String(n.getUTCFullYear()).padStart(4,\"0\"),month:String(n.getUTCMonth()+1).padStart(2,\"0\"),day:String(n.getUTCDate()).padStart(2,\"0\")}:{year:\"____\",month:\"__\",day:\"__\"},u=i.map(a=>o[a.type]).join(e);super({...t,initialUserInput:u},!1),this.#s=i,this.#r=e,this.#t=o,this.#n=t.minDate,this.#u=t.maxDate,this.#a(),this.on(\"cursor\",a=>this.#d(a)),this.on(\"key\",(a,l)=>this.#f(a,l)),this.on(\"finalize\",()=>this.#g(t))}#h(){const t=Math.max(0,Math.min(this.#e.segmentIndex,this.#s.length-1)),s=this.#s[t];if(s)return this.#e.positionInSegment=Math.max(0,Math.min(this.#e.positionInSegment,s.len-1)),{segment:s,index:t}}#l(t){this.inlineError=\"\",this.#o=null;const s=this.#h();s&&(this.#e.segmentIndex=Math.max(0,Math.min(this.#s.length-1,s.index+t)),this.#e.positionInSegment=0,this.#i=!0)}#p(t){const s=this.#h();if(!s)return;const{segment:e}=s,i=this.#t[e.type],n=!i||i.replace(/_/g,\"\")===\"\",o=Number.parseInt((i||\"0\").replace(/_/g,\"0\"),10)||0,u=st(e.type,S(this.#t),this.#n,this.#u);let a;n?a=t===1?u.min:u.max:a=Math.max(Math.min(u.max,o+t),u.min),this.#t={...this.#t,[e.type]:a.toString().padStart(e.len,\"0\")},this.#i=!0,this.#o=null,this.#a()}#d(t){if(t)switch(t){case\"right\":return this.#l(1);case\"left\":return this.#l(-1);case\"up\":return this.#p(1);case\"down\":return this.#p(-1)}}#f(t,s){if(s?.name===\"backspace\"||s?.sequence===\"\\x7F\"||s?.sequence===\"\\b\"||t===\"\\x7F\"||t===\"\\b\"){this.inlineError=\"\";const e=this.#h();if(!e)return;if(!this.#t[e.segment.type].replace(/_/g,\"\")){this.#l(-1);return}this.#t[e.segment.type]=\"_\".repeat(e.segment.len),this.#i=!0,this.#e.positionInSegment=0,this.#a();return}if(s?.name===\"tab\"){this.inlineError=\"\";const e=this.#h();if(!e)return;const i=s.shift?-1:1,n=e.index+i;n>=0&&n<this.#s.length&&(this.#e.segmentIndex=n,this.#e.positionInSegment=0,this.#i=!0);return}if(t&&/^[0-9]$/.test(t)){const e=this.#h();if(!e)return;const{segment:i}=e,n=!this.#t[i.type].replace(/_/g,\"\");if(this.#i&&this.#o!==null&&!n){const d=this.#o+t,g={...this.#t,[i.type]:d},_=this.#m(g,i);if(_){this.inlineError=_,this.#o=null,this.#i=!1;return}this.inlineError=\"\",this.#t[i.type]=d,this.#o=null,this.#i=!1,this.#a(),e.index<this.#s.length-1&&(this.#e.segmentIndex=e.index+1,this.#e.positionInSegment=0,this.#i=!0);return}this.#i&&!n&&(this.#t[i.type]=\"_\".repeat(i.len),this.#e.positionInSegment=0),this.#i=!1,this.#o=null;const o=this.#t[i.type],u=o.indexOf(\"_\"),a=u>=0?u:Math.min(this.#e.positionInSegment,i.len-1);if(a<0||a>=i.len)return;let l=o.slice(0,a)+t+o.slice(a+1),c=!1;if(a===0&&o===\"__\"&&(i.type===\"month\"||i.type===\"day\")){const d=Number.parseInt(t,10);l=`0${t}`,c=d<=(i.type===\"month\"?1:2)}if(i.type===\"year\"&&(l=(o.replace(/_/g,\"\")+t).padStart(i.len,\"_\")),!l.includes(\"_\")){const d={...this.#t,[i.type]:l},g=this.#m(d,i);if(g){this.inlineError=g;return}}this.inlineError=\"\",this.#t[i.type]=l;const y=l.includes(\"_\")?void 0:F(this.#t);if(y){const{year:d,month:g}=y,_=U(d,g);this.#t={year:String(Math.max(0,Math.min(9999,d))).padStart(4,\"0\"),month:String(Math.max(1,Math.min(12,g))).padStart(2,\"0\"),day:String(Math.max(1,Math.min(_,y.day))).padStart(2,\"0\")}}this.#a();const T=l.indexOf(\"_\");c?(this.#i=!0,this.#o=t):T>=0?this.#e.positionInSegment=T:u>=0&&e.index<this.#s.length-1?(this.#e.segmentIndex=e.index+1,this.#e.positionInSegment=0,this.#i=!0):this.#e.positionInSegment=Math.min(a+1,i.len-1)}}#m(t,s){const{month:e,day:i}=S(t);if(s.type===\"month\"&&(e<0||e>12))return h.date.messages.invalidMonth;if(s.type===\"day\"&&(i<0||i>31))return h.date.messages.invalidDay(31,\"any month\")}#g(t){const{year:s,month:e,day:i}=S(this.#t);if(s&&e&&i){const n=U(s,e);this.#t={...this.#t,day:String(Math.min(i,n)).padStart(2,\"0\")}}this.value=N(this.#t)??t.defaultValue??void 0}}class it extends m{options;cursor=0;#s;getGroupItems(t){return this.options.filter(s=>s.group===t)}isGroupSelected(t){const s=this.getGroupItems(t),e=this.value;return e===void 0?!1:s.every(i=>e.includes(i.value))}toggleValue(){const t=this.options[this.cursor];if(this.value===void 0&&(this.value=[]),t.group===!0){const s=t.value,e=this.getGroupItems(s);this.isGroupSelected(s)?this.value=this.value.filter(i=>e.findIndex(n=>n.value===i)===-1):this.value=[...this.value,...e.map(i=>i.value)],this.value=Array.from(new Set(this.value))}else{const s=this.value.includes(t.value);this.value=s?this.value.filter(e=>e!==t.value):[...this.value,t.value]}}constructor(t){super(t,!1);const{options:s}=t;this.#s=t.selectableGroups!==!1,this.options=Object.entries(s).flatMap(([e,i])=>[{value:e,group:!0,label:e},...i.map(n=>({...n,group:e}))]),this.value=[...t.initialValues??[]],this.cursor=Math.max(this.options.findIndex(({value:e})=>e===t.cursorAt),this.#s?0:1),this.on(\"cursor\",e=>{switch(e){case\"left\":case\"up\":{this.cursor=this.cursor===0?this.options.length-1:this.cursor-1;const i=this.options[this.cursor]?.group===!0;!this.#s&&i&&(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 i=this.options[this.cursor]?.group===!0;!this.#s&&i&&(this.cursor=this.cursor===this.options.length-1?0:this.cursor+1);break}case\"space\":this.toggleValue();break}})}}class rt extends m{#s=!1;#r;focused=\"editor\";get userInputWithCursor(){if(this.state===\"submit\")return this.userInput;const t=this.userInput;if(this.cursor>=t.length)return`${t}\\u2588`;const s=t.slice(0,this.cursor),e=t[this.cursor],i=t.slice(this.cursor+1);return e===`\n`?`${s}\\u2588\n${i}`:`${s}${v(\"inverse\",e)}${i}`}get cursor(){return this._cursor}#t(t){if(this.userInput.length===0){this._setUserInput(t);return}this._setUserInput(this.userInput.slice(0,this.cursor)+t+this.userInput.slice(this.cursor))}#n(t){const s=this.value??\"\";switch(t){case\"up\":this._cursor=I(this._cursor,0,-1,s);return;case\"down\":this._cursor=I(this._cursor,0,1,s);return;case\"left\":this._cursor=I(this._cursor,-1,0,s);return;case\"right\":this._cursor=I(this._cursor,1,0,s);return}}_shouldSubmit(t,s){if(this.#r)return this.focused===\"submit\"?!0:(this.#t(`\n`),this._cursor++,!1);const e=this.#s;return this.#s=!0,e?(this.userInput[this.cursor-1]===`\n`&&(this._setUserInput(this.userInput.slice(0,this.cursor-1)+this.userInput.slice(this.cursor)),this._cursor--),!0):(this.#t(`\n`),this._cursor++,!1)}constructor(t){super(t,!1),this.#r=t.showSubmit??!1,this.on(\"key\",(s,e)=>{if(e?.name&&h.actions.has(e.name)){this.#n(e.name);return}if(s===\"\t\"&&this.#r){this.focused=this.focused===\"editor\"?\"submit\":\"editor\";return}if(e?.name!==\"return\"){if(this.#s=!1,e?.name===\"backspace\"&&this.cursor>0){this._setUserInput(this.userInput.slice(0,this.cursor-1)+this.userInput.slice(this.cursor)),this._cursor--;return}if(e?.name===\"delete\"&&this.cursor<this.userInput.length){this._setUserInput(this.userInput.slice(0,this.cursor)+this.userInput.slice(this.cursor+1));return}s&&(this.#r&&this.focused===\"submit\"&&(this.focused=\"editor\"),this.#t(s??\"\"),this._cursor++)}}),this.on(\"userInput\",s=>{this._setValue(s)}),this.on(\"finalize\",()=>{this.value||(this.value=t.defaultValue),this.value===void 0&&(this.value=\"\")})}}let nt=class extends m{options;cursor=0;get _value(){return this.options[this.cursor].value}get _enabledOptions(){return this.options.filter(t=>t.disabled!==!0)}toggleAll(){const t=this._enabledOptions,s=this.value!==void 0&&this.value.length===t.length;this.value=s?[]:t.map(e=>e.value)}toggleInvert(){const t=this.value;if(!t)return;const s=this._enabledOptions.filter(e=>!t.includes(e.value));this.value=s.map(e=>e.value)}toggleValue(){this.value===void 0&&(this.value=[]);const t=this.value.includes(this._value);this.value=t?this.value.filter(s=>s!==this._value):[...this.value,this._value]}constructor(t){super(t,!1),this.options=t.options,this.value=[...t.initialValues??[]];const s=Math.max(this.options.findIndex(({value:e})=>e===t.cursorAt),0);this.cursor=this.options[s].disabled?f(s,1,this.options):s,this.on(\"key\",e=>{e===\"a\"&&this.toggleAll(),e===\"i\"&&this.toggleInvert()}),this.on(\"cursor\",e=>{switch(e){case\"left\":case\"up\":this.cursor=f(this.cursor,-1,this.options);break;case\"down\":case\"right\":this.cursor=f(this.cursor,1,this.options);break;case\"space\":this.toggleValue();break}})}};class ot extends m{_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 t=this.userInput;if(this.cursor>=t.length)return`${this.masked}${v([\"inverse\",\"hidden\"],\"_\")}`;const s=this.masked,e=s.slice(0,this.cursor),i=s.slice(this.cursor);return`${e}${v(\"inverse\",i[0])}${i.slice(1)}`}clear(){this._clearUserInput()}constructor({mask:t,...s}){super(s),this._mask=t??\"\\u2022\",this.on(\"userInput\",e=>{this._setValue(e)})}}class ut extends m{options;cursor=0;get _selectedValue(){return this.options[this.cursor]}changeValue(){this.value=this._selectedValue.value}constructor(t){super(t,!1),this.options=t.options;const s=this.options.findIndex(({value:i})=>i===t.initialValue),e=s===-1?0:s;this.cursor=this.options[e].disabled?f(e,1,this.options):e,this.changeValue(),this.on(\"cursor\",i=>{switch(i){case\"left\":case\"up\":this.cursor=f(this.cursor,-1,this.options);break;case\"down\":case\"right\":this.cursor=f(this.cursor,1,this.options);break}this.changeValue()})}}class at extends m{options;cursor=0;constructor(t){super(t,!1),this.options=t.options;const s=t.caseSensitive===!0,e=this.options.map(({value:[i]})=>s?i:i?.toLowerCase());this.cursor=Math.max(e.indexOf(t.initialValue),0),this.on(\"key\",(i,n)=>{if(!i)return;const o=s&&n.shift?i.toUpperCase():i;if(!e.includes(o))return;const u=this.options.find(({value:[a]})=>s?a===o:a?.toLowerCase()===i);u&&(this.value=u.value,this.state=\"submit\",this.emit(\"submit\"))})}}class ht extends m{get userInputWithCursor(){if(this.state===\"submit\")return this.userInput;const t=this.userInput;if(this.cursor>=t.length)return`${this.userInput}\\u2588`;const s=t.slice(0,this.cursor),[e,...i]=t.slice(this.cursor);return`${s}${v(\"inverse\",e)}${i.join(\"\")}`}get cursor(){return this._cursor}constructor(t){super({...t,initialUserInput:t.initialUserInput??t.initialValue}),this.on(\"userInput\",s=>{this._setValue(s)}),this.on(\"finalize\",()=>{this.value||(this.value=t.defaultValue),this.value===void 0&&(this.value=\"\")})}}export{Q as AutocompletePrompt,X as ConfirmPrompt,et as DatePrompt,it as GroupMultiSelectPrompt,rt as MultiLinePrompt,nt as MultiSelectPrompt,ot as PasswordPrompt,m as Prompt,at as SelectKeyPrompt,ut as SelectPrompt,ht as TextPrompt,R as block,A as getColumns,L as getRows,q as isCancel,h as settings,j as updateSettings,W as wrapTextWithPrefix};\n//# sourceMappingURL=index.mjs.map\n","import{getColumns as X,getRows as Lt,AutocompletePrompt as vt,settings as T,ConfirmPrompt as Dt,wrapTextWithPrefix as E,DatePrompt as Wt,isCancel as Ft,GroupMultiSelectPrompt as Ht,MultiLinePrompt as Ut,MultiSelectPrompt as Kt,PasswordPrompt as qt,block as Jt,SelectPrompt as Yt,SelectKeyPrompt as Xt,TextPrompt as zt}from\"@clack/core\";export{isCancel,settings,updateSettings}from\"@clack/core\";import{styleText as e,stripVTControlCharacters as nt}from\"node:util\";import V from\"node:process\";import{wrapAnsi as J}from\"fast-wrap-ansi\";import B from\"fast-string-width\";import{existsSync as Qt,lstatSync as wt,readdirSync as Zt}from\"node:fs\";import{dirname as bt,join as te}from\"node:path\";import{cursor as St,erase as Ct}from\"sisteransi\";function ee(){return V.platform!==\"win32\"?V.env.TERM!==\"linux\":!!V.env.CI||!!V.env.WT_SESSION||!!V.env.TERMINUS_SUBLIME||V.env.ConEmuTask===\"{cmd::Cmder}\"||V.env.TERM_PROGRAM===\"Terminus-Sublime\"||V.env.TERM_PROGRAM===\"vscode\"||V.env.TERM===\"xterm-256color\"||V.env.TERM===\"alacritty\"||V.env.TERMINAL_EMULATOR===\"JetBrains-JediTerm\"}const tt=ee(),ot=()=>process.env.CI===\"true\",It=t=>t.isTTY===!0,w=(t,i)=>tt?t:i,Tt=w(\"\\u25C6\",\"*\"),at=w(\"\\u25A0\",\"x\"),ut=w(\"\\u25B2\",\"x\"),H=w(\"\\u25C7\",\"o\"),lt=w(\"\\u250C\",\"T\"),$=w(\"\\u2502\",\"|\"),x=w(\"\\u2514\",\"\\u2014\"),_t=w(\"\\u2510\",\"T\"),xt=w(\"\\u2518\",\"\\u2014\"),z=w(\"\\u25CF\",\">\"),U=w(\"\\u25CB\",\" \"),et=w(\"\\u25FB\",\"[\\u2022]\"),K=w(\"\\u25FC\",\"[+]\"),Y=w(\"\\u25FB\",\"[ ]\"),Et=w(\"\\u25AA\",\"\\u2022\"),st=w(\"\\u2500\",\"-\"),ct=w(\"\\u256E\",\"+\"),Gt=w(\"\\u251C\",\"+\"),$t=w(\"\\u256F\",\"+\"),dt=w(\"\\u2570\",\"+\"),Mt=w(\"\\u256D\",\"+\"),ht=w(\"\\u25CF\",\"\\u2022\"),pt=w(\"\\u25C6\",\"*\"),mt=w(\"\\u25B2\",\"!\"),gt=w(\"\\u25A0\",\"x\"),P=t=>{switch(t){case\"initial\":case\"active\":return e(\"cyan\",Tt);case\"cancel\":return e(\"red\",at);case\"error\":return e(\"yellow\",ut);case\"submit\":return e(\"green\",H)}},yt=t=>{switch(t){case\"initial\":case\"active\":return e(\"cyan\",$);case\"cancel\":return e(\"red\",$);case\"error\":return e(\"yellow\",$);case\"submit\":return e(\"green\",$)}},Ot=(t,i,s,r,u,n=!1)=>{let a=i,c=0;if(n)for(let o=r-1;o>=s&&(a-=t[o].length,c++,!(a<=u));o--);else for(let o=s;o<r&&(a-=t[o].length,c++,!(a<=u));o++);return{lineCount:a,removals:c}},F=({cursor:t,options:i,style:s,output:r=process.stdout,maxItems:u=Number.POSITIVE_INFINITY,columnPadding:n=0,rowPadding:a=4})=>{const c=X(r)-n,o=Lt(r),l=e(\"dim\",\"...\"),d=Math.max(o-a,0),g=Math.max(Math.min(u,d),5);let p=0;t>=g-3&&(p=Math.max(Math.min(t-g+3,i.length-g),0));let f=g<i.length&&p>0,h=g<i.length&&p+g<i.length;const I=Math.min(p+g,i.length),m=[];let y=0;f&&y++,h&&y++;const v=p+(f?1:0),C=I-(h?1:0);for(let b=v;b<C;b++){const G=J(s(i[b],b===t),c,{hard:!0,trim:!1}).split(`\n`);m.push(G),y+=G.length}if(y>d){let b=0,G=0,M=y;const N=t-v;let O=d;const j=()=>Ot(m,M,0,N,O),k=()=>Ot(m,M,N+1,m.length,O,!0);f?({lineCount:M,removals:b}=j(),M>O&&(h||(O-=1),{lineCount:M,removals:G}=k())):(h||(O-=1),{lineCount:M,removals:G}=k(),M>O&&(O-=1,{lineCount:M,removals:b}=j())),b>0&&(f=!0,m.splice(0,b)),G>0&&(h=!0,m.splice(m.length-G,G))}const S=[];f&&S.push(l);for(const b of m)for(const G of b)S.push(G);return h&&S.push(l),S};function Pt(t){return t.label??String(t.value??\"\")}function Rt(t,i){if(!t)return!0;const s=(i.label??String(i.value??\"\")).toLowerCase(),r=(i.hint??\"\").toLowerCase(),u=String(i.value).toLowerCase(),n=t.toLowerCase();return s.includes(n)||r.includes(n)||u.includes(n)}function se(t,i){const s=[];for(const r of i)t.includes(r.value)&&s.push(r);return s}const At=t=>new vt({options:t.options,initialValue:t.initialValue?[t.initialValue]:void 0,initialUserInput:t.initialUserInput,placeholder:t.placeholder,filter:t.filter??((i,s)=>Rt(i,s)),signal:t.signal,input:t.input,output:t.output,validate:t.validate,render(){const i=t.withGuide??T.withGuide,s=i?[`${e(\"gray\",$)}`,`${P(this.state)} ${t.message}`]:[`${P(this.state)} ${t.message}`],r=this.userInput,u=this.options,n=t.placeholder,a=r===\"\"&&n!==void 0,c=(o,l)=>{const d=Pt(o),g=o.hint&&o.value===this.focusedValue?e(\"dim\",` (${o.hint})`):\"\";switch(l){case\"active\":return`${e(\"green\",z)} ${d}${g}`;case\"inactive\":return`${e(\"dim\",U)} ${e(\"dim\",d)}`;case\"disabled\":return`${e(\"gray\",U)} ${e([\"strikethrough\",\"gray\"],d)}`}};switch(this.state){case\"submit\":{const o=se(this.selectedValues,u),l=o.length>0?` ${e(\"dim\",o.map(Pt).join(\", \"))}`:\"\",d=i?e(\"gray\",$):\"\";return`${s.join(`\n`)}\n${d}${l}`}case\"cancel\":{const o=r?` ${e([\"strikethrough\",\"dim\"],r)}`:\"\",l=i?e(\"gray\",$):\"\";return`${s.join(`\n`)}\n${l}${o}`}default:{const o=this.state===\"error\"?\"yellow\":\"cyan\",l=i?`${e(o,$)} `:\"\",d=i?e(o,x):\"\";let g=\"\";if(this.isNavigating||a){const v=a?n:r;g=v!==\"\"?` ${e(\"dim\",v)}`:\"\"}else g=` ${this.userInputWithCursor}`;const p=this.filteredOptions.length!==u.length?e(\"dim\",` (${this.filteredOptions.length} match${this.filteredOptions.length===1?\"\":\"es\"})`):\"\",f=this.filteredOptions.length===0&&r?[`${l}${e(\"yellow\",\"No matches found\")}`]:[],h=this.state===\"error\"?[`${l}${e(\"yellow\",this.error)}`]:[];i&&s.push(`${l.trimEnd()}`),s.push(`${l}${e(\"dim\",\"Search:\")}${g}${p}`,...f,...h);const I=[`${e(\"dim\",\"\\u2191/\\u2193\")} to select`,`${e(\"dim\",\"Enter:\")} confirm`,`${e(\"dim\",\"Type:\")} to search`],m=[`${l}${I.join(\" \\u2022 \")}`,d],y=this.filteredOptions.length===0?[]:F({cursor:this.cursor,options:this.filteredOptions,columnPadding:i?3:0,rowPadding:s.length+m.length,style:(v,C)=>c(v,v.disabled?\"disabled\":C?\"active\":\"inactive\"),maxItems:t.maxItems,output:t.output});return[...s,...y.map(v=>`${l}${v}`),...m].join(`\n`)}}}}).prompt(),ie=t=>{const i=(r,u,n,a)=>{const c=n.includes(r.value),o=r.label??String(r.value??\"\"),l=r.hint&&a!==void 0&&r.value===a?e(\"dim\",` (${r.hint})`):\"\",d=c?e(\"green\",K):e(\"dim\",Y);return r.disabled?`${e(\"gray\",Y)} ${e([\"strikethrough\",\"gray\"],o)}`:u?`${d} ${o}${l}`:`${d} ${e(\"dim\",o)}`},s=new vt({options:t.options,multiple:!0,placeholder:t.placeholder,filter:t.filter??((r,u)=>Rt(r,u)),validate:()=>{if(t.required&&s.selectedValues.length===0)return\"Please select at least one item\"},initialValue:t.initialValues,signal:t.signal,input:t.input,output:t.output,render(){const r=t.withGuide??T.withGuide,u=`${r?`${e(\"gray\",$)}\n`:\"\"}${P(this.state)} ${t.message}\n`,n=this.userInput,a=t.placeholder,c=n===\"\"&&a!==void 0,o=this.isNavigating||c?e(\"dim\",c?a:n):this.userInputWithCursor,l=this.options,d=this.filteredOptions.length!==l.length?e(\"dim\",` (${this.filteredOptions.length} match${this.filteredOptions.length===1?\"\":\"es\"})`):\"\";switch(this.state){case\"submit\":return`${u}${r?`${e(\"gray\",$)} `:\"\"}${e(\"dim\",`${this.selectedValues.length} items selected`)}`;case\"cancel\":return`${u}${r?`${e(\"gray\",$)} `:\"\"}${e([\"strikethrough\",\"dim\"],n)}`;default:{const g=this.state===\"error\"?\"yellow\":\"cyan\",p=r?`${e(g,$)} `:\"\",f=r?e(g,x):\"\",h=[`${e(\"dim\",\"\\u2191/\\u2193\")} to navigate`,`${e(\"dim\",this.isNavigating?\"Space/Tab:\":\"Tab:\")} select`,`${e(\"dim\",\"Enter:\")} confirm`,`${e(\"dim\",\"Type:\")} to search`],I=this.filteredOptions.length===0&&n?[`${p}${e(\"yellow\",\"No matches found\")}`]:[],m=this.state===\"error\"?[`${p}${e(\"yellow\",this.error)}`]:[],y=[...`${u}${r?e(g,$):\"\"}`.split(`\n`),`${p}${e(\"dim\",\"Search:\")} ${o}${d}`,...I,...m],v=[`${p}${h.join(\" \\u2022 \")}`,f],C=F({cursor:this.cursor,options:this.filteredOptions,style:(S,b)=>i(S,b,this.selectedValues,this.focusedValue),maxItems:t.maxItems,output:t.output,rowPadding:y.length+v.length});return[...y,...C.map(S=>`${p}${S}`),...v].join(`\n`)}}}});return s.prompt()},re=[Mt,ct,dt,$t],ne=[lt,_t,x,xt];function Vt(t,i,s,r){let u=s,n=s;return r===\"center\"?u=Math.floor((i-t)/2):r===\"right\"&&(u=i-t-s),n=i-u-t,[u,n]}const oe=t=>t,ae=(t=\"\",i=\"\",s)=>{const r=s?.output??process.stdout,u=X(r),n=2,a=s?.titlePadding??1,c=s?.contentPadding??2,o=s?.width===void 0||s.width===\"auto\"?1:Math.min(1,s.width),l=s?.withGuide??T.withGuide?`${$} `:\"\",d=s?.formatBorder??oe,g=(s?.rounded?re:ne).map(d),p=d(st),f=d($),h=B(l),I=B(i),m=u-h;let y=Math.floor(u*o)-h;if(s?.width===\"auto\"){const O=t.split(`\n`);let j=I+a*2;for(const rt of O){const W=B(rt)+c*2;W>j&&(j=W)}const k=j+n;k<y&&(y=k)}y%2!==0&&(y<m?y++:y--);const v=y-n,C=v-a*2,S=I>C?`${i.slice(0,C-3)}...`:i,[b,G]=Vt(B(S),v,a,s?.titleAlign),M=J(t,v-c*2,{hard:!0,trim:!1});r.write(`${l}${g[0]}${p.repeat(b)}${S}${p.repeat(G)}${g[1]}\n`);const N=M.split(`\n`);for(const O of N){const[j,k]=Vt(B(O),v,c,s?.contentAlign);r.write(`${l}${f}${\" \".repeat(j)}${O}${\" \".repeat(k)}${f}\n`)}r.write(`${l}${g[2]}${p.repeat(v)}${g[3]}\n`)},ue=t=>{const i=t.active??\"Yes\",s=t.inactive??\"No\";return new Dt({active:i,inactive:s,signal:t.signal,input:t.input,output:t.output,initialValue:t.initialValue??!0,render(){const r=t.withGuide??T.withGuide,u=`${P(this.state)} `,n=r?`${e(\"gray\",$)} `:\"\",a=E(t.output,t.message,n,u),c=`${r?`${e(\"gray\",$)}\n`:\"\"}${a}\n`,o=this.value?i:s;switch(this.state){case\"submit\":{const l=r?`${e(\"gray\",$)} `:\"\";return`${c}${l}${e(\"dim\",o)}`}case\"cancel\":{const l=r?`${e(\"gray\",$)} `:\"\";return`${c}${l}${e([\"strikethrough\",\"dim\"],o)}${r?`\n${e(\"gray\",$)}`:\"\"}`}default:{const l=r?`${e(\"cyan\",$)} `:\"\",d=r?e(\"cyan\",x):\"\";return`${c}${l}${this.value?`${e(\"green\",z)} ${i}`:`${e(\"dim\",U)} ${e(\"dim\",i)}`}${t.vertical?r?`\n${e(\"cyan\",$)} `:`\n`:` ${e(\"dim\",\"/\")} `}${this.value?`${e(\"dim\",U)} ${e(\"dim\",s)}`:`${e(\"green\",z)} ${s}`}\n${d}\n`}}}}).prompt()},le=t=>{const i=t.validate;return new Wt({...t,validate(s){if(s===void 0)return t.defaultValue!==void 0?void 0:i?i(s):T.date.messages.required;const r=u=>u.toISOString().slice(0,10);if(t.minDate&&r(s)<r(t.minDate))return T.date.messages.afterMin(t.minDate);if(t.maxDate&&r(s)>r(t.maxDate))return T.date.messages.beforeMax(t.maxDate);if(i)return i(s)},render(){const s=(t?.withGuide??T.withGuide)!==!1,r=`${`${s?`${e(\"gray\",$)}\n`:\"\"}${P(this.state)} `}${t.message}\n`,u=this.state!==\"initial\"?this.state:\"active\",n=ce(this,u),a=this.value instanceof Date?this.formattedValue:\"\";switch(this.state){case\"error\":{const c=this.error?` ${e(\"yellow\",this.error)}`:\"\",o=s?`${e(\"yellow\",$)} `:\"\",l=s?e(\"yellow\",x):\"\";return`${r.trim()}\n${o}${n}\n${l}${c}\n`}case\"submit\":{const c=a?` ${e(\"dim\",a)}`:\"\",o=s?e(\"gray\",$):\"\";return`${r}${o}${c}`}case\"cancel\":{const c=a?` ${e([\"strikethrough\",\"dim\"],a)}`:\"\",o=s?e(\"gray\",$):\"\";return`${r}${o}${c}${a.trim()?`\n${o}`:\"\"}`}default:{const c=s?`${e(\"cyan\",$)} `:\"\",o=s?e(\"cyan\",x):\"\",l=s?`${e(\"cyan\",$)} `:\"\",d=this.inlineError?`\n${l}${e(\"yellow\",this.inlineError)}`:\"\";return`${r}${c}${n}${d}\n${o}\n`}}}}).prompt()};function ce(t,i){const s=t.segmentValues,r=t.segmentCursor;if(i===\"submit\"||i===\"cancel\")return t.formattedValue;const u=e(\"gray\",t.separator);return t.segments.map((n,a)=>{const c=a===r.segmentIndex&&![\"submit\",\"cancel\"].includes(i),o=de[n.type];return $e(s[n.type],{isActive:c,label:o})}).join(u)}function $e(t,i){const s=!t||t.replace(/_/g,\"\")===\"\";return i.isActive?e(\"inverse\",s?i.label:t.replace(/_/g,\" \")):s?e(\"dim\",i.label):t.replace(/_/g,e(\"dim\",\" \"))}const de={year:\"yyyy\",month:\"mm\",day:\"dd\"},he=async(t,i)=>{const s={},r=Object.keys(t);for(const u of r){const n=t[u],a=await n({results:s})?.catch(c=>{throw c});if(typeof i?.onCancel==\"function\"&&Ft(a)){s[u]=\"canceled\",i.onCancel({results:s});continue}s[u]=a}return s},pe=t=>{const{selectableGroups:i=!0,groupSpacing:s=0}=t,r=(n,a,c=[])=>{const o=n.label??String(n.value),l=typeof n.group==\"string\",d=l&&(c[c.indexOf(n)+1]??{group:!0}),g=l&&d&&d.group===!0;let p=\"\",f=\"\";l&&(i?(p=g?`${x} `:`${$} `,f=g?\" \":`${$} `):p=\" \");let h=\"\";if(s>0&&!l&&(h=`\n`.repeat(s)),a===\"active\")return E(t.output,`${o}${n.hint?` ${e(\"dim\",`(${n.hint})`)}`:\"\"}`,`${h}${e(\"dim\",p)} `,`${h}${e(\"dim\",p)}${e(\"cyan\",et)} `,`${h}${e(\"dim\",f)} `);if(a===\"group-active\")return E(t.output,o,`${h}${p} `,`${h}${p}${e(\"cyan\",et)} `,`${h}${f} `,m=>e(\"dim\",m));if(a===\"group-active-selected\")return E(t.output,o,`${h}${p} `,`${h}${p}${e(\"green\",K)} `,`${h}${f} `,m=>e(\"dim\",m));if(a===\"selected\"){const m=l||i?e(\"green\",K):\"\";return E(t.output,`${o}${n.hint?` (${n.hint})`:\"\"}`,`${h}${e(\"dim\",p)} `,`${h}${e(\"dim\",p)}${m} `,`${h}${e(\"dim\",f)} `,y=>e(\"dim\",y))}if(a===\"cancelled\")return`${e([\"strikethrough\",\"dim\"],o)}`;if(a===\"active-selected\")return E(t.output,`${o}${n.hint?` ${e(\"dim\",`(${n.hint})`)}`:\"\"}`,`${h}${e(\"dim\",p)} `,`${h}${e(\"dim\",p)}${e(\"green\",K)} `,`${h}${e(\"dim\",f)} `);if(a===\"submitted\")return`${e(\"dim\",o)}`;const I=l||i?e(\"dim\",Y):\"\";return E(t.output,o,`${h}${e(\"dim\",p)} `,`${h}${e(\"dim\",p)}${I} `,`${h}${e(\"dim\",f)} `,m=>e(\"dim\",m))},u=t.required??!0;return new Ht({options:t.options,signal:t.signal,input:t.input,output:t.output,initialValues:t.initialValues,required:u,cursorAt:t.cursorAt,selectableGroups:i,validate(n){if(u&&(n===void 0||n.length===0))return`Please select at least one option.\n${e(\"reset\",e(\"dim\",`Press ${e([\"gray\",\"bgWhite\",\"inverse\"],\" space \")} to select, ${e(\"gray\",e([\"bgWhite\",\"inverse\"],\" enter \"))} to submit`))}`},render(){const n=t.withGuide??T.withGuide,a=`${n?`${e(\"gray\",$)}\n`:\"\"}${P(this.state)} ${t.message}\n`,c=this.value??[],o=(l,d)=>{const g=this.options,p=c.includes(l.value)||l.group===!0&&this.isGroupSelected(`${l.value}`);return!d&&typeof l.group==\"string\"&&this.options[this.cursor].value===l.group?r(l,p?\"group-active-selected\":\"group-active\",g):d&&p?r(l,\"active-selected\",g):p?r(l,\"selected\",g):r(l,d?\"active\":\"inactive\",g)};switch(this.state){case\"submit\":{const l=this.options.filter(({value:g})=>c.includes(g)).map(g=>r(g,\"submitted\")),d=l.length===0?\"\":` ${l.join(e(\"dim\",\", \"))}`;return`${a}${n?e(\"gray\",$):\"\"}${d}`}case\"cancel\":{const l=this.options.filter(({value:d})=>c.includes(d)).map(d=>r(d,\"cancelled\")).join(e(\"dim\",\", \"));return`${a}${n?`${e(\"gray\",$)} `:\"\"}${l.trim()?`${l}${n?`\n${e(\"gray\",$)}`:\"\"}`:\"\"}`}case\"error\":{const l=n?`${e(\"yellow\",$)} `:\"\",d=this.error.split(`\n`).map((h,I)=>I===0?`${n?`${e(\"yellow\",x)} `:\"\"}${e(\"yellow\",h)}`:` ${h}`).join(`\n`),g=a.split(`\n`).length,p=d.split(`\n`).length+1,f=F({output:t.output,options:this.options,cursor:this.cursor,maxItems:t.maxItems,columnPadding:l.length,rowPadding:g+p,style:o}).join(`\n${l}`);return`${a}${l}${f}\n${d}\n`}default:{const l=n?`${e(\"cyan\",$)} `:\"\",d=a.split(`\n`).length,g=(n?1:0)+1,p=F({output:t.output,options:this.options,cursor:this.cursor,maxItems:t.maxItems,columnPadding:l.length,rowPadding:d+g,style:o}).join(`\n${l}`);return`${a}${l}${p}\n${n?e(\"cyan\",x):\"\"}\n`}}}}).prompt()},R={message:(t=[],{symbol:i=e(\"gray\",$),secondarySymbol:s=e(\"gray\",$),output:r=process.stdout,spacing:u=1,withGuide:n}={})=>{const a=[],c=n??T.withGuide,o=c?s:\"\",l=c?`${i} `:\"\",d=c?`${s} `:\"\";for(let p=0;p<u;p++)a.push(o);const g=Array.isArray(t)?t:t.split(`\n`);if(g.length>0){const[p,...f]=g;p.length>0?a.push(`${l}${p}`):a.push(c?i:\"\");for(const h of f)h.length>0?a.push(`${d}${h}`):a.push(c?s:\"\")}r.write(`${a.join(`\n`)}\n`)},info:(t,i)=>{R.message(t,{...i,symbol:e(\"blue\",ht)})},success:(t,i)=>{R.message(t,{...i,symbol:e(\"green\",pt)})},step:(t,i)=>{R.message(t,{...i,symbol:e(\"green\",H)})},warn:(t,i)=>{R.message(t,{...i,symbol:e(\"yellow\",mt)})},warning:(t,i)=>{R.warn(t,i)},error:(t,i)=>{R.message(t,{...i,symbol:e(\"red\",gt)})}},me=(t=\"\",i)=>{const s=i?.output??process.stdout,r=i?.withGuide??T.withGuide?`${e(\"gray\",x)} `:\"\";s.write(`${r}${e(\"red\",t)}\n\n`)},ge=(t=\"\",i)=>{const s=i?.output??process.stdout,r=i?.withGuide??T.withGuide?`${e(\"gray\",lt)} `:\"\";s.write(`${r}${t}\n`)},ye=(t=\"\",i)=>{const s=i?.output??process.stdout,r=i?.withGuide??T.withGuide?`${e(\"gray\",$)}\n${e(\"gray\",x)} `:\"\";s.write(`${r}${t}\n\n`)},fe=t=>new Ut({validate:t.validate,placeholder:t.placeholder,defaultValue:t.defaultValue,initialValue:t.initialValue,showSubmit:t.showSubmit,output:t.output,signal:t.signal,input:t.input,render(){const i=t?.withGuide??T.withGuide,s=`${`${i?`${e(\"gray\",$)}\n`:\"\"}${P(this.state)} `}${t.message}\n`,r=t.placeholder?e(\"inverse\",t.placeholder[0])+e(\"dim\",t.placeholder.slice(1)):e([\"inverse\",\"hidden\"],\"_\"),u=this.userInput?this.userInputWithCursor:r,n=this.value??\"\",a=t.showSubmit?`\n ${e(this.focused===\"submit\"?\"cyan\":\"dim\",\"[ submit ]\")}`:\"\";switch(this.state){case\"error\":{const c=`${e(\"yellow\",$)} `,o=i?E(t.output,u,c,void 0):u,l=e(\"yellow\",x);return`${s}${o}\n${l} ${e(\"yellow\",this.error)}${a}\n`}case\"submit\":{const c=`${e(\"gray\",$)} `,o=i?E(t.output,n,c,void 0,void 0,l=>e(\"dim\",l)):n?e(\"dim\",n):\"\";return`${s}${o}`}case\"cancel\":{const c=`${e(\"gray\",$)} `,o=i?E(t.output,n,c,void 0,void 0,l=>e([\"strikethrough\",\"dim\"],l)):n?e([\"strikethrough\",\"dim\"],n):\"\";return`${s}${o}`}default:{const c=i?`${e(\"cyan\",$)} `:\"\",o=i?e(\"cyan\",x):\"\",l=i?E(t.output,u,c):u;return`${s}${l}\n${o}${a}\n`}}}}).prompt(),Q=(t,i)=>t.split(`\n`).map(s=>i(s)).join(`\n`),ve=t=>{const i=(r,u)=>{const n=r.label??String(r.value);return u===\"disabled\"?`${e(\"gray\",Y)} ${Q(n,a=>e([\"strikethrough\",\"gray\"],a))}${r.hint?` ${e(\"dim\",`(${r.hint??\"disabled\"})`)}`:\"\"}`:u===\"active\"?`${e(\"cyan\",et)} ${n}${r.hint?` ${e(\"dim\",`(${r.hint})`)}`:\"\"}`:u===\"selected\"?`${e(\"green\",K)} ${Q(n,a=>e(\"dim\",a))}${r.hint?` ${e(\"dim\",`(${r.hint})`)}`:\"\"}`:u===\"cancelled\"?`${Q(n,a=>e([\"strikethrough\",\"dim\"],a))}`:u===\"active-selected\"?`${e(\"green\",K)} ${n}${r.hint?` ${e(\"dim\",`(${r.hint})`)}`:\"\"}`:u===\"submitted\"?`${Q(n,a=>e(\"dim\",a))}`:`${e(\"dim\",Y)} ${Q(n,a=>e(\"dim\",a))}`},s=t.required??!0;return new Kt({options:t.options,signal:t.signal,input:t.input,output:t.output,initialValues:t.initialValues,required:s,cursorAt:t.cursorAt,validate(r){if(s&&(r===void 0||r.length===0))return`Please select at least one option.\n${e(\"reset\",e(\"dim\",`Press ${e([\"gray\",\"bgWhite\",\"inverse\"],\" space \")} to select, ${e(\"gray\",e(\"bgWhite\",e(\"inverse\",\" enter \")))} to submit`))}`},render(){const r=t.withGuide??T.withGuide,u=E(t.output,t.message,r?`${yt(this.state)} `:\"\",`${P(this.state)} `),n=`${r?`${e(\"gray\",$)}\n`:\"\"}${u}\n`,a=this.value??[],c=(o,l)=>{if(o.disabled)return i(o,\"disabled\");const d=a.includes(o.value);return l&&d?i(o,\"active-selected\"):d?i(o,\"selected\"):i(o,l?\"active\":\"inactive\")};switch(this.state){case\"submit\":{const o=this.options.filter(({value:d})=>a.includes(d)).map(d=>i(d,\"submitted\")).join(e(\"dim\",\", \"))||e(\"dim\",\"none\"),l=E(t.output,o,r?`${e(\"gray\",$)} `:\"\");return`${n}${l}`}case\"cancel\":{const o=this.options.filter(({value:d})=>a.includes(d)).map(d=>i(d,\"cancelled\")).join(e(\"dim\",\", \"));if(o.trim()===\"\")return`${n}${e(\"gray\",$)}`;const l=E(t.output,o,r?`${e(\"gray\",$)} `:\"\");return`${n}${l}${r?`\n${e(\"gray\",$)}`:\"\"}`}case\"error\":{const o=r?`${e(\"yellow\",$)} `:\"\",l=this.error.split(`\n`).map((p,f)=>f===0?`${r?`${e(\"yellow\",x)} `:\"\"}${e(\"yellow\",p)}`:` ${p}`).join(`\n`),d=n.split(`\n`).length,g=l.split(`\n`).length+1;return`${n}${o}${F({output:t.output,options:this.options,cursor:this.cursor,maxItems:t.maxItems,columnPadding:o.length,rowPadding:d+g,style:c}).join(`\n${o}`)}\n${l}\n`}default:{const o=r?`${e(\"cyan\",$)} `:\"\",l=n.split(`\n`).length,d=r?2:1;return`${n}${o}${F({output:t.output,options:this.options,cursor:this.cursor,maxItems:t.maxItems,columnPadding:o.length,rowPadding:l+d,style:c}).join(`\n${o}`)}\n${r?e(\"cyan\",x):\"\"}\n`}}}}).prompt()},we=t=>e(\"dim\",t),be=(t,i,s)=>{const r={hard:!0,trim:!1},u=J(t,i,r).split(`\n`),n=u.reduce((o,l)=>Math.max(B(l),o),0),a=u.map(s).reduce((o,l)=>Math.max(B(l),o),0),c=i-(a-n);return J(t,c,r)},Se=(t=\"\",i=\"\",s)=>{const r=s?.output??V.stdout,u=s?.withGuide??T.withGuide,n=s?.format??we,a=[\"\",...be(t,X(r)-6,n).split(`\n`).map(n),\"\"],c=B(i),o=Math.max(a.reduce((p,f)=>{const h=B(f);return h>p?h:p},0),c)+2,l=a.map(p=>`${e(\"gray\",$)} ${p}${\" \".repeat(o-B(p))}${e(\"gray\",$)}`).join(`\n`),d=u?`${e(\"gray\",$)}\n`:\"\",g=u?Gt:dt;r.write(`${d}${e(\"green\",H)} ${e(\"reset\",i)} ${e(\"gray\",st.repeat(Math.max(o-c-1,1))+ct)}\n${l}\n${e(\"gray\",g+st.repeat(o+2)+$t)}\n`)},Ce=t=>new qt({validate:t.validate,mask:t.mask??Et,signal:t.signal,input:t.input,output:t.output,render(){const i=t.withGuide??T.withGuide,s=`${i?`${e(\"gray\",$)}\n`:\"\"}${P(this.state)} ${t.message}\n`,r=this.userInputWithCursor,u=this.masked;switch(this.state){case\"error\":{const n=i?`${e(\"yellow\",$)} `:\"\",a=i?`${e(\"yellow\",x)} `:\"\",c=u??\"\";return t.clearOnError&&this.clear(),`${s.trim()}\n${n}${c}\n${a}${e(\"yellow\",this.error)}\n`}case\"submit\":{const n=i?`${e(\"gray\",$)} `:\"\",a=u?e(\"dim\",u):\"\";return`${s}${n}${a}`}case\"cancel\":{const n=i?`${e(\"gray\",$)} `:\"\",a=u?e([\"strikethrough\",\"dim\"],u):\"\";return`${s}${n}${a}${u&&i?`\n${e(\"gray\",$)}`:\"\"}`}default:{const n=i?`${e(\"cyan\",$)} `:\"\",a=i?e(\"cyan\",x):\"\";return`${s}${n}${r}\n${a}\n`}}}}).prompt(),Ie=t=>{const i=t.validate;return At({...t,initialUserInput:t.initialValue??t.root??process.cwd(),maxItems:5,validate(s){if(!Array.isArray(s)){if(!s)return\"Please select a path\";if(i)return i(s)}},options(){const s=this.userInput;if(s===\"\")return[];try{let r;Qt(s)?wt(s).isDirectory()&&(!t.directory||s.endsWith(\"/\"))?r=s:r=bt(s):r=bt(s);const u=s.length>1&&s.endsWith(\"/\")?s.slice(0,-1):s;return Zt(r).map(n=>{const a=te(r,n),c=wt(a);return{name:n,path:a,isDirectory:c.isDirectory()}}).filter(({path:n,isDirectory:a})=>n.startsWith(u)&&(a||!t.directory)).map(n=>({value:n.path}))}catch{return[]}}})},Te=t=>e(\"magenta\",t),ft=({indicator:t=\"dots\",onCancel:i,output:s=process.stdout,cancelMessage:r,errorMessage:u,frames:n=tt?[\"\\u25D2\",\"\\u25D0\",\"\\u25D3\",\"\\u25D1\"]:[\"\\u2022\",\"o\",\"O\",\"0\"],delay:a=tt?80:120,signal:c,...o}={})=>{const l=ot();let d,g,p=!1,f=!1,h=\"\",I,m=performance.now();const y=X(s),v=o?.styleFrame??Te,C=_=>{const A=_>1?u??T.messages.error:r??T.messages.cancel;f=_===1,p&&(W(A,_),f&&typeof i==\"function\"&&i())},S=()=>C(2),b=()=>C(1),G=()=>{process.on(\"uncaughtExceptionMonitor\",S),process.on(\"unhandledRejection\",S),process.on(\"SIGINT\",b),process.on(\"SIGTERM\",b),process.on(\"exit\",C),c&&c.addEventListener(\"abort\",b)},M=()=>{process.removeListener(\"uncaughtExceptionMonitor\",S),process.removeListener(\"unhandledRejection\",S),process.removeListener(\"SIGINT\",b),process.removeListener(\"SIGTERM\",b),process.removeListener(\"exit\",C),c&&c.removeEventListener(\"abort\",b)},N=()=>{if(I===void 0)return;l&&s.write(`\n`);const _=J(I,y,{hard:!0,trim:!1}).split(`\n`);_.length>1&&s.write(St.up(_.length-1)),s.write(St.to(0)),s.write(Ct.down())},O=_=>_.replace(/\\.+$/,\"\"),j=_=>{const A=(performance.now()-_)/1e3,L=Math.floor(A/60),D=Math.floor(A%60);return L>0?`[${L}m ${D}s]`:`[${D}s]`},k=o.withGuide??T.withGuide,rt=(_=\"\")=>{p=!0,d=Jt({output:s}),h=O(_),m=performance.now(),k&&s.write(`${e(\"gray\",$)}\n`);let A=0,L=0;G(),g=setInterval(()=>{if(l&&h===I)return;N(),I=h;const D=v(n[A]);let Z;if(l)Z=`${D} ${h}...`;else if(t===\"timer\")Z=`${D} ${h} ${j(m)}`;else{const kt=\".\".repeat(Math.floor(L)).slice(0,3);Z=`${D} ${h}${kt}`}const Bt=J(Z,y,{hard:!0,trim:!1});s.write(Bt),A=A+1<n.length?A+1:0,L=L<4?L+.125:0},a)},W=(_=\"\",A=0,L=!1)=>{if(!p)return;p=!1,clearInterval(g),N();const D=A===0?e(\"green\",H):A===1?e(\"red\",at):e(\"red\",ut);h=_??h,L||(t===\"timer\"?s.write(`${D} ${h} ${j(m)}\n`):s.write(`${D} ${h}\n`)),M(),d()};return{start:rt,stop:(_=\"\")=>W(_,0),message:(_=\"\")=>{h=O(_??h)},cancel:(_=\"\")=>W(_,1),error:(_=\"\")=>W(_,2),clear:()=>W(\"\",0,!0),get isCancelled(){return f}}},jt={light:w(\"\\u2500\",\"-\"),heavy:w(\"\\u2501\",\"=\"),block:w(\"\\u2588\",\"#\")};function _e({style:t=\"heavy\",max:i=100,size:s=40,...r}={}){const u=ft(r);let n=0,a=\"\";const c=Math.max(1,i),o=Math.max(1,s),l=f=>{switch(f){case\"initial\":case\"active\":return h=>e(\"magenta\",h);case\"error\":case\"cancel\":return h=>e(\"red\",h);case\"submit\":return h=>e(\"green\",h);default:return h=>e(\"magenta\",h)}},d=(f,h)=>{const I=Math.floor(n/c*o);return`${l(f)(jt[t].repeat(I))}${e(\"dim\",jt[t].repeat(o-I))} ${h}`},g=(f=\"\")=>{a=f,u.start(d(\"initial\",f))},p=(f=1,h)=>{n=Math.min(c,f+n),u.message(d(\"active\",h??a)),a=h??a};return{start:g,stop:u.stop,cancel:u.cancel,error:u.error,clear:u.clear,advance:p,isCancelled:u.isCancelled,message:f=>p(0,f)}}const it=(t,i)=>t.includes(`\n`)?t.split(`\n`).map(s=>i(s)).join(`\n`):i(t),xe=t=>{const i=(s,r)=>{const u=s.label??String(s.value);switch(r){case\"disabled\":return`${e(\"gray\",U)} ${it(u,n=>e(\"gray\",n))}${s.hint?` ${e(\"dim\",`(${s.hint??\"disabled\"})`)}`:\"\"}`;case\"selected\":return`${it(u,n=>e(\"dim\",n))}`;case\"active\":return`${e(\"green\",z)} ${u}${s.hint?` ${e(\"dim\",`(${s.hint})`)}`:\"\"}`;case\"cancelled\":return`${it(u,n=>e([\"strikethrough\",\"dim\"],n))}`;default:return`${e(\"dim\",U)} ${it(u,n=>e(\"dim\",n))}`}};return new Yt({options:t.options,signal:t.signal,input:t.input,output:t.output,initialValue:t.initialValue,render(){const s=t.withGuide??T.withGuide,r=`${P(this.state)} `,u=`${yt(this.state)} `,n=E(t.output,t.message,u,r),a=`${s?`${e(\"gray\",$)}\n`:\"\"}${n}\n`;switch(this.state){case\"submit\":{const c=s?`${e(\"gray\",$)} `:\"\",o=E(t.output,i(this.options[this.cursor],\"selected\"),c);return`${a}${o}`}case\"cancel\":{const c=s?`${e(\"gray\",$)} `:\"\",o=E(t.output,i(this.options[this.cursor],\"cancelled\"),c);return`${a}${o}${s?`\n${e(\"gray\",$)}`:\"\"}`}default:{const c=s?`${e(\"cyan\",$)} `:\"\",o=s?e(\"cyan\",x):\"\",l=a.split(`\n`).length,d=s?2:1;return`${a}${c}${F({output:t.output,cursor:this.cursor,options:this.options,maxItems:t.maxItems,columnPadding:c.length,rowPadding:l+d,style:(g,p)=>i(g,g.disabled?\"disabled\":p?\"active\":\"inactive\")}).join(`\n${c}`)}\n${o}\n`}}}}).prompt()},Ee=t=>{const i=(s,r=\"inactive\")=>{const u=s.label??String(s.value);return r===\"selected\"?`${e(\"dim\",u)}`:r===\"cancelled\"?`${e([\"strikethrough\",\"dim\"],u)}`:r===\"active\"?`${e([\"bgCyan\",\"gray\"],` ${s.value} `)} ${u}${s.hint?` ${e(\"dim\",`(${s.hint})`)}`:\"\"}`:`${e([\"gray\",\"bgWhite\",\"inverse\"],` ${s.value} `)} ${u}${s.hint?` ${e(\"dim\",`(${s.hint})`)}`:\"\"}`};return new Xt({options:t.options,signal:t.signal,input:t.input,output:t.output,initialValue:t.initialValue,caseSensitive:t.caseSensitive,render(){const s=t.withGuide??T.withGuide,r=`${s?`${e(\"gray\",$)}\n`:\"\"}${P(this.state)} ${t.message}\n`;switch(this.state){case\"submit\":{const u=s?`${e(\"gray\",$)} `:\"\",n=this.options.find(c=>c.value===this.value)??t.options[0],a=E(t.output,i(n,\"selected\"),u);return`${r}${a}`}case\"cancel\":{const u=s?`${e(\"gray\",$)} `:\"\",n=E(t.output,i(this.options[0],\"cancelled\"),u);return`${r}${n}${s?`\n${e(\"gray\",$)}`:\"\"}`}default:{const u=s?`${e(\"cyan\",$)} `:\"\",n=s?e(\"cyan\",x):\"\",a=this.options.map((c,o)=>E(t.output,i(c,o===this.cursor?\"active\":\"inactive\"),u)).join(`\n`);return`${r}${a}\n${n}\n`}}}}).prompt()},Nt=`${e(\"gray\",$)} `,q={message:async(t,{symbol:i=e(\"gray\",$)}={})=>{process.stdout.write(`${e(\"gray\",$)}\n${i} `);let s=3;for await(let r of t){r=r.replace(/\\n/g,`\n${Nt}`),r.includes(`\n`)&&(s=3+nt(r.slice(r.lastIndexOf(`\n`))).length);const u=nt(r).length;s+u<process.stdout.columns?(s+=u,process.stdout.write(r)):(process.stdout.write(`\n${Nt}${r.trimStart()}`),s=3+nt(r.trimStart()).length)}process.stdout.write(`\n`)},info:t=>q.message(t,{symbol:e(\"blue\",ht)}),success:t=>q.message(t,{symbol:e(\"green\",pt)}),step:t=>q.message(t,{symbol:e(\"green\",H)}),warn:t=>q.message(t,{symbol:e(\"yellow\",mt)}),warning:t=>q.warn(t),error:t=>q.message(t,{symbol:e(\"red\",gt)})},Ge=async(t,i)=>{for(const s of t){if(s.enabled===!1)continue;const r=ft(i);r.start(s.title);const u=await s.task(r.message);r.stop(u||s.title)}},Me=t=>t.replace(/\\x1b\\[(?:\\d+;)*\\d*[ABCDEFGHfJKSTsu]|\\x1b\\[(s|u)/g,\"\"),Oe=t=>{const i=t.output??process.stdout,s=X(i),r=e(\"gray\",$),u=t.spacing??1,n=3,a=t.retainLog===!0,c=!ot()&&It(i);i.write(`${r}\n`),i.write(`${e(\"green\",H)} ${t.title}\n`);for(let m=0;m<u;m++)i.write(`${r}\n`);const o=[{value:\"\",full:\"\"}];let l=!1;const d=m=>{if(o.length===0)return;let y=0;m&&(y+=u+2);for(const v of o){const{value:C,result:S}=v;let b=S?.message??C;if(b.length===0)continue;S===void 0&&v.header!==void 0&&v.header!==\"\"&&(b+=`\n${v.header}`);const G=b.split(`\n`).reduce((M,N)=>N===\"\"?M+1:M+Math.ceil((N.length+n)/s),0);y+=G}y>0&&(y+=1,i.write(Ct.lines(y)))},g=(m,y,v)=>{const C=v?`${m.full}\n${m.value}`:m.value;m.header!==void 0&&m.header!==\"\"&&R.message(m.header.split(`\n`).map(S=>e(\"bold\",S)),{output:i,secondarySymbol:r,symbol:r,spacing:0}),R.message(C.split(`\n`).map(S=>e(\"dim\",S)),{output:i,secondarySymbol:r,symbol:r,spacing:y??u})},p=()=>{for(const m of o){const{header:y,value:v,full:C}=m;(y===void 0||y.length===0)&&v.length===0||g(m,void 0,a===!0&&C.length>0)}},f=(m,y,v)=>{if(d(!1),(v?.raw!==!0||!l)&&m.value!==\"\"&&(m.value+=`\n`),m.value+=Me(y),l=v?.raw===!0,t.limit!==void 0){const C=m.value.split(`\n`),S=C.length-t.limit;if(S>0){const b=C.splice(0,S);a&&(m.full+=(m.full===\"\"?\"\":`\n`)+b.join(`\n`))}m.value=C.join(`\n`)}c&&h()},h=()=>{for(const m of o)m.result?m.result.status===\"error\"?R.error(m.result.message,{output:i,secondarySymbol:r,spacing:0}):R.success(m.result.message,{output:i,secondarySymbol:r,spacing:0}):m.value!==\"\"&&g(m,0)},I=(m,y)=>{d(!1),m.result=y,c&&h()};return{message(m,y){f(o[0],m,y)},group(m){const y={header:m,value:\"\",full:\"\"};return o.push(y),{message(v,C){f(y,v,C)},error(v){I(y,{status:\"error\",message:v})},success(v){I(y,{status:\"success\",message:v})}}},error(m,y){d(!0),R.error(m,{output:i,secondarySymbol:r,spacing:1}),y?.showLog!==!1&&p(),o.splice(1,o.length-1),o[0].value=\"\",o[0].full=\"\"},success(m,y){d(!0),R.success(m,{output:i,secondarySymbol:r,spacing:1}),y?.showLog===!0&&p(),o.splice(1,o.length-1),o[0].value=\"\",o[0].full=\"\"}}},Pe=t=>new zt({validate:t.validate,placeholder:t.placeholder,defaultValue:t.defaultValue,initialValue:t.initialValue,output:t.output,signal:t.signal,input:t.input,render(){const i=t?.withGuide??T.withGuide,s=`${`${i?`${e(\"gray\",$)}\n`:\"\"}${P(this.state)} `}${t.message}\n`,r=t.placeholder?e(\"inverse\",t.placeholder[0])+e(\"dim\",t.placeholder.slice(1)):e([\"inverse\",\"hidden\"],\"_\"),u=this.userInput?this.userInputWithCursor:r,n=this.value??\"\";switch(this.state){case\"error\":{const a=this.error?` ${e(\"yellow\",this.error)}`:\"\",c=i?`${e(\"yellow\",$)} `:\"\",o=i?e(\"yellow\",x):\"\";return`${s.trim()}\n${c}${u}\n${o}${a}\n`}case\"submit\":{const a=n?` ${e(\"dim\",n)}`:\"\",c=i?e(\"gray\",$):\"\";return`${s}${c}${a}`}case\"cancel\":{const a=n?` ${e([\"strikethrough\",\"dim\"],n)}`:\"\",c=i?e(\"gray\",$):\"\";return`${s}${c}${a}${n.trim()?`\n${c}`:\"\"}`}default:{const a=i?`${e(\"cyan\",$)} `:\"\",c=i?e(\"cyan\",x):\"\";return`${s}${a}${u}\n${c}\n`}}}}).prompt();export{$ as S_BAR,x as S_BAR_END,xt as S_BAR_END_RIGHT,st as S_BAR_H,lt as S_BAR_START,_t as S_BAR_START_RIGHT,et as S_CHECKBOX_ACTIVE,Y as S_CHECKBOX_INACTIVE,K as S_CHECKBOX_SELECTED,Gt as S_CONNECT_LEFT,dt as S_CORNER_BOTTOM_LEFT,$t as S_CORNER_BOTTOM_RIGHT,Mt as S_CORNER_TOP_LEFT,ct as S_CORNER_TOP_RIGHT,gt as S_ERROR,ht as S_INFO,Et as S_PASSWORD_MASK,z as S_RADIO_ACTIVE,U as S_RADIO_INACTIVE,Tt as S_STEP_ACTIVE,at as S_STEP_CANCEL,ut as S_STEP_ERROR,H as S_STEP_SUBMIT,pt as S_SUCCESS,mt as S_WARN,At as autocomplete,ie as autocompleteMultiselect,ae as box,me as cancel,ue as confirm,le as date,he as group,pe as groupMultiselect,ge as intro,ot as isCI,It as isTTY,F as limitOptions,R as log,fe as multiline,ve as multiselect,Se as note,ye as outro,Ce as password,Ie as path,_e as progress,xe as select,Ee as selectKey,ft as spinner,q as stream,P as symbol,yt as symbolBar,Oe as taskLog,Ge as tasks,Pe as text,tt as unicode,w as unicodeOr};\n//# sourceMappingURL=index.mjs.map\n","#!/usr/bin/env node\n\n/// <reference types=\"node\" />\n\nimport { execSync } from \"node:child_process\";\nimport * as fs from \"node:fs\";\nimport * as os from \"node:os\";\nimport * as path from \"node:path\";\nimport { dirname } from \"node:path\";\nimport { fileURLToPath } from \"node:url\";\nimport {\n\tcancel,\n\tconfirm,\n\tintro,\n\tisCancel,\n\tlog,\n\tselect,\n\tspinner,\n\ttext,\n} from \"@clack/prompts\";\n\n// __TODO this pkg is completely out of date -- update it\n\nconst __filename = fileURLToPath(import.meta.url);\nconst __dirname = dirname(__filename);\n\nasync function main() {\n\tconst args = process.argv.slice(2);\n\tconst isLocalTest = args.includes(\"--local-test\");\n\n\tconsole.log();\n\tintro(\"Welcome to the Vorma new app creator!\");\n\n\t// Check Go installation\n\tlet goVersion = \"\";\n\ttry {\n\t\tgoVersion = execSync(\"go version\", { encoding: \"utf8\" }).trim();\n\t\tconst versionMatch = goVersion.match(/go(\\d+)\\.(\\d+)/);\n\t\tif (versionMatch) {\n\t\t\tif (!versionMatch[1] || !versionMatch[2]) {\n\t\t\t\tcancel(\n\t\t\t\t\t\"Go version not recognized. Please ensure Go is installed correctly. See https://go.dev/doc/install for installation instructions.\",\n\t\t\t\t);\n\t\t\t\tprocess.exit(1);\n\t\t\t}\n\t\t\tconst major = parseInt(versionMatch[1]);\n\t\t\tconst minor = parseInt(versionMatch[2]);\n\t\t\tif (major < 1 || (major === 1 && minor < 24)) {\n\t\t\t\tcancel(\n\t\t\t\t\t\"Go version 1.24 or higher is required. See https://go.dev/doc/install for installation instructions.\",\n\t\t\t\t);\n\t\t\t\tprocess.exit(1);\n\t\t\t}\n\t\t}\n\t} catch {\n\t\tcancel(\n\t\t\t\"Go is not installed. See https://go.dev/doc/install for installation instructions.\",\n\t\t);\n\t\tprocess.exit(1);\n\t}\n\n\t// Check Node version\n\tconst nodeVersion = process.version;\n\tconst firstPart = nodeVersion.split(\".\")[0];\n\tif (!firstPart || firstPart.length < 2 || !firstPart.startsWith(\"v\")) {\n\t\tcancel(\n\t\t\t\"Node.js version not recognized. Please ensure Node.js is installed correctly.\",\n\t\t);\n\t\tprocess.exit(1);\n\t}\n\tconst nodeMajor = parseInt(firstPart.substring(1));\n\tif (nodeMajor < 22) {\n\t\tcancel(\"Node.js version 22.11 or higher is required\");\n\t\tprocess.exit(1);\n\t}\n\n\t// Option to create a new directory at start if not already in desired location\n\tconst createNewDir = await confirm({\n\t\tmessage: \"Create a new directory for your Vorma app?\",\n\t\tinitialValue: true,\n\t});\n\n\tif (isCancel(createNewDir)) {\n\t\tcancel(\"Operation cancelled\");\n\t\tprocess.exit(0);\n\t}\n\n\tlet targetDir = process.cwd();\n\n\tif (createNewDir) {\n\t\tconst dirName = await text({\n\t\t\tmessage: \"Enter directory name:\",\n\t\t\tvalidate: (value) => {\n\t\t\t\tif (!value || value.trim() === \"\") {\n\t\t\t\t\treturn \"Directory name is required\";\n\t\t\t\t}\n\t\t\t\t// Check for invalid characters in directory name\n\t\t\t\tif (!/^[a-zA-Z0-9-_]+$/.test(value)) {\n\t\t\t\t\treturn \"Directory name can only contain letters, numbers, hyphens, and underscores\";\n\t\t\t\t}\n\t\t\t\t// Check if directory already exists\n\t\t\t\tconst proposedPath = path.join(process.cwd(), value);\n\t\t\t\tif (fs.existsSync(proposedPath)) {\n\t\t\t\t\treturn `Directory \"${value}\" already exists`;\n\t\t\t\t}\n\t\t\t\treturn undefined;\n\t\t\t},\n\t\t});\n\n\t\tif (isCancel(dirName)) {\n\t\t\tcancel(\"Operation cancelled\");\n\t\t\tprocess.exit(0);\n\t\t}\n\n\t\t// Create the directory and change to it\n\t\ttargetDir = path.join(process.cwd(), dirName as string);\n\t\tfs.mkdirSync(targetDir, { recursive: true });\n\t\tprocess.chdir(targetDir);\n\t\tlog.success(`Created directory: ${dirName}`);\n\t}\n\n\t// Find go.mod and determine import path\n\tlet goModPath: string | null = null;\n\tlet moduleRoot: string | null = null;\n\tlet moduleName: string | null = null;\n\tlet createNewModule = false;\n\n\t// Search for go.mod\n\tlet currentDir = process.cwd();\n\twhile (currentDir !== path.dirname(currentDir)) {\n\t\tconst modPath = path.join(currentDir, \"go.mod\");\n\t\tif (fs.existsSync(modPath)) {\n\t\t\tgoModPath = modPath;\n\t\t\tmoduleRoot = currentDir;\n\t\t\tbreak;\n\t\t}\n\t\tcurrentDir = path.dirname(currentDir);\n\t}\n\n\t// Parse module name if found\n\tif (goModPath) {\n\t\tconst modContent = fs.readFileSync(goModPath, \"utf8\");\n\t\tconst moduleMatch = modContent.match(/^module\\s+(.+)$/m);\n\t\tif (moduleMatch && moduleMatch[1]) {\n\t\t\tmoduleName = moduleMatch[1].trim();\n\t\t}\n\n\t\t// When module is found, give option to use it or create nested module\n\t\tconst moduleChoice = await select({\n\t\t\tmessage: `Found parent Go module: ${moduleName}`,\n\t\t\toptions: [\n\t\t\t\t{ value: \"new\", label: \"Create new go.mod\" },\n\t\t\t\t{ value: \"use\", label: \"Use parent go.mod\" },\n\t\t\t],\n\t\t});\n\n\t\tif (isCancel(moduleChoice)) {\n\t\t\tcancel(\"Operation cancelled\");\n\t\t\tprocess.exit(0);\n\t\t}\n\n\t\tif (moduleChoice === \"new\") {\n\t\t\tcreateNewModule = true;\n\t\t\t// Reset module info since we're creating a new one\n\t\t\tgoModPath = null;\n\t\t\tmoduleRoot = null;\n\t\t\tmoduleName = null;\n\t\t}\n\t} else {\n\t\t// No module found, we need to create one\n\t\tcreateNewModule = true;\n\t}\n\n\t// Handle go.mod initialization if needed\n\tif (createNewModule) {\n\t\tconst modNameInput = await text({\n\t\t\tmessage: 'Enter module name (e.g., \"myapp\" or \"github.com/user/myapp\"):',\n\t\t\tvalidate: (value) => {\n\t\t\t\tif (!value || value.trim() === \"\") {\n\t\t\t\t\treturn \"Module name is required\";\n\t\t\t\t}\n\t\t\t\treturn undefined;\n\t\t\t},\n\t\t});\n\n\t\tif (isCancel(modNameInput)) {\n\t\t\tcancel(\"Operation cancelled\");\n\t\t\tprocess.exit(0);\n\t\t}\n\n\t\tmoduleName = modNameInput as string;\n\t\tmoduleRoot = process.cwd();\n\n\t\tconst s = spinner();\n\t\ts.start(\"Initializing Go module\");\n\t\ttry {\n\t\t\texecSync(`go mod init ${moduleName}`, { cwd: moduleRoot });\n\t\t\tif (isLocalTest) {\n\t\t\t\tconst vormaPath = path.resolve(__dirname, \"../../../../../\");\n\t\t\t\texecSync(`go mod edit -replace github.com/vormadev/vorma=${vormaPath}`, {\n\t\t\t\t\tcwd: moduleRoot,\n\t\t\t\t});\n\t\t\t\tlog.info(\"Using local Vorma code for testing\");\n\t\t\t}\n\t\t\ts.stop(\"Go module initialized\");\n\t\t} catch (error) {\n\t\t\ts.stop(\"Failed to initialize module\");\n\t\t\tcancel(`Error: ${error as any}`);\n\t\t\tprocess.exit(1);\n\t\t}\n\t}\n\n\t// Check for underscore directories from module root to current directory\n\tconst pathFromModuleRoot = moduleRoot ? path.relative(moduleRoot, process.cwd()) : \"\";\n\tconst pathSegments = pathFromModuleRoot\n\t\t.split(path.sep)\n\t\t.filter((seg) => seg.length > 0);\n\tconst underscoreSegments = pathSegments.filter((seg) => seg.startsWith(\"_\"));\n\tif (underscoreSegments.length > 0) {\n\t\tcancel(\n\t\t\t`Cannot create Vorma app in a path containing directories that start with underscores:\\n ${underscoreSegments.join(\", \")}\\n` +\n\t\t\t\t` Go ignores directories starting with underscores, which will cause build issues.`,\n\t\t);\n\t\tprocess.exit(1);\n\t}\n\n\t// Calculate import path automatically\n\tlet importPath = moduleName!;\n\tif (moduleRoot !== process.cwd()) {\n\t\tconst relativePath = path.relative(moduleRoot!, process.cwd());\n\t\timportPath = path.posix.join(moduleName!, ...relativePath.split(path.sep));\n\t}\n\n\t// Collect options\n\tconst uiVariant = await select({\n\t\tmessage: \"Choose frontend UI library:\",\n\t\toptions: [\n\t\t\t{ value: \"react\", label: \"React\" },\n\t\t\t{ value: \"preact\", label: \"Preact\" },\n\t\t\t{ value: \"solid\", label: \"Solid\" },\n\t\t],\n\t});\n\n\tif (isCancel(uiVariant)) {\n\t\tcancel(\"Operation cancelled\");\n\t\tprocess.exit(0);\n\t}\n\n\tconst packageManager = (await select({\n\t\tmessage: \"Choose JS package manager:\",\n\t\toptions: [\n\t\t\t{ value: \"npm\", label: \"npm\" },\n\t\t\t{ value: \"pnpm\", label: \"pnpm\" },\n\t\t\t{ value: \"yarn\", label: \"yarn\" },\n\t\t\t{ value: \"bun\", label: \"bun\" },\n\t\t],\n\t})) as string;\n\n\tif (isCancel(packageManager)) {\n\t\tcancel(\"Operation cancelled\");\n\t\tprocess.exit(0);\n\t}\n\n\tconst deploymentTarget = await select({\n\t\tmessage: \"Choose deployment target:\",\n\t\toptions: [\n\t\t\t{\n\t\t\t\tvalue: \"docker\",\n\t\t\t\tlabel: \"Docker\",\n\t\t\t},\n\t\t\t{\n\t\t\t\tvalue: \"vercel\",\n\t\t\t\tlabel: \"Vercel\",\n\t\t\t},\n\t\t\t{\n\t\t\t\tvalue: \"none\",\n\t\t\t\tlabel: \"None (I'll figure it out myself)\",\n\t\t\t},\n\t\t],\n\t});\n\n\tif (isCancel(deploymentTarget)) {\n\t\tcancel(\"Operation cancelled\");\n\t\tprocess.exit(0);\n\t}\n\n\t// Ask about Tailwind CSS\n\tconst includeTailwind = await confirm({\n\t\tmessage: \"Include Tailwind CSS?\",\n\t\tinitialValue: false,\n\t});\n\n\tif (isCancel(includeTailwind)) {\n\t\tcancel(\"Operation cancelled\");\n\t\tprocess.exit(0);\n\t}\n\n\tconsole.log();\n\tconsole.log(\"🛠️ Preparing bootstrapper...\");\n\n\t// Create temporary directory\n\tconst tempDir = fs.mkdtempSync(path.join(os.tmpdir(), \"create-vorma-\"));\n\tconst bootstrapFile = path.join(tempDir, \"main.go\");\n\n\t// Extract Go version string (e.g., \"go1.24.0\")\n\tconst goVersionMatch = goVersion.match(/go\\d+\\.\\d+\\.\\d+/);\n\tconst goVersionString = goVersionMatch ? goVersionMatch[0] : \"\";\n\n\ttry {\n\t\t// Write bootstrap Go file\n\t\tconst goCode = `package main\n\nimport \"github.com/vormadev/vorma/bootstrap\"\n\nfunc main() {\n\tbootstrap.Init(bootstrap.Options{\n\t\tGoImportBase: \"${importPath}\",\n\t\tUIVariant: \"${uiVariant}\",\n\t\tJSPackageManager: \"${packageManager}\",\n\t\tDeploymentTarget: \"${deploymentTarget}\",\n\t\tIncludeTailwind: ${includeTailwind},\n\t\tNodeMajorVersion: \"${nodeMajor}\",\n\t\tGoVersion: \"${goVersionString}\",\n\t\t${createNewDir ? `CreatedInDir: \"${path.basename(targetDir)}\",` : \"\"}\n\t\tModuleRoot: \"${moduleRoot || process.cwd()}\",\n\t\tCurrentDir: \"${process.cwd()}\",\n\t\tHasParentModule: ${moduleRoot !== null && moduleRoot !== process.cwd()},\n\t})\n}\n`;\n\t\tfs.writeFileSync(bootstrapFile, goCode);\n\n\t\t// Install Vorma dependency\n\t\tconst packageJsonPath = path.join(__dirname, \"../package.json\");\n\t\tconst packageJson = JSON.parse(fs.readFileSync(packageJsonPath, \"utf8\"));\n\t\tconst version = packageJson.version;\n\t\tconst usingExistingModule = !createNewModule;\n\t\tconst skipVormaGet = isLocalTest && usingExistingModule;\n\t\tif (!skipVormaGet) {\n\t\t\texecSync(`go get github.com/vormadev/vorma@v${version}`, {\n\t\t\t\tcwd: process.cwd(),\n\t\t\t\tstdio: \"pipe\",\n\t\t\t});\n\t\t}\n\n\t\t// Run bootstrap\n\t\tconsole.log(\"🛠️ Running bootstrapper...\");\n\t\ttry {\n\t\t\texecSync(`go run ${bootstrapFile}`, {\n\t\t\t\tcwd: process.cwd(),\n\t\t\t\tstdio: \"inherit\",\n\t\t\t});\n\t\t} catch (error) {\n\t\t\tconsole.error(\"Failed to create app\");\n\t\t\tthrow error;\n\t\t}\n\t} catch (error) {\n\t\tcancel(`Error: ${error as any}`);\n\t\tprocess.exit(1);\n\t} finally {\n\t\t// Clean up temp directory\n\t\ttry {\n\t\t\tfs.rmSync(tempDir, { recursive: true, force: true });\n\t\t} catch {\n\t\t\t// Ignore cleanup errors\n\t\t}\n\t}\n}\n\nmain().catch((error) => {\n\tconsole.error(\"Unexpected error:\", error);\n\tprocess.exit(1);\n});\n"],"x_google_ignoreList":[0,1,2,3,4,5,6],"mappings":"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"}
|