/**
 * Minified by jsDelivr using Terser v5.39.0.
 * Original file: /npm/listr2@10.2.1/dist/index.mjs
 *
 * Do NOT use SRI with dynamically generated files! More information: https://www.jsdelivr.com/using-sri-with-dynamic-files
 */
import EventEmitter from"eventemitter3";import{inspect,styleText}from"node:util";import{format}from"util";import{EOL}from"os";import{StringDecoder}from"string_decoder";import{Writable}from"stream";import rfdc from"rfdc";import{randomUUID}from"crypto";const ANSI_ESCAPE="[",ANSI_ESCAPE_CODES={CURSOR_HIDE:"[?25l",CURSOR_SHOW:"[?25h"};let ListrEnvironmentVariables=function(t){return t.FORCE_UNICODE="LISTR_FORCE_UNICODE",t.FORCE_TTY="LISTR_FORCE_TTY",t.DISABLE_COLOR="NO_COLOR",t.FORCE_COLOR="FORCE_COLOR",t}({}),ListrErrorTypes=function(t){return t.WILL_RETRY="WILL_RETRY",t.WILL_ROLLBACK="WILL_ROLLBACK",t.HAS_FAILED_TO_ROLLBACK="HAS_FAILED_TO_ROLLBACK",t.HAS_FAILED="HAS_FAILED",t.HAS_FAILED_WITHOUT_ERROR="HAS_FAILED_WITHOUT_ERROR",t}({}),ListrEventType=function(t){return t.SHOULD_REFRESH_RENDER="SHOUD_REFRESH_RENDER",t}({}),ListrRendererSelection=function(t){return t.PRIMARY="PRIMARY",t.SECONDARY="SECONDARY",t.SILENT="SILENT",t}({}),ListrTaskEventType=function(t){return t.TITLE="TITLE",t.STATE="STATE",t.ENABLED="ENABLED",t.SUBTASK="SUBTASK",t.PROMPT="PROMPT",t.OUTPUT="OUTPUT",t.MESSAGE="MESSAGE",t.CLOSED="CLOSED",t}({}),ListrTaskState=function(t){return t.WAITING="WAITING",t.STARTED="STARTED",t.COMPLETED="COMPLETED",t.FAILED="FAILED",t.SKIPPED="SKIPPED",t.ROLLING_BACK="ROLLING_BACK",t.ROLLED_BACK="ROLLED_BACK",t.RETRY="RETRY",t.PAUSED="PAUSED",t.PROMPT="PROMPT",t.PROMPT_COMPLETED="PROMPT_COMPLETED",t.PROMPT_FAILED="PROMPT_FAILED",t}({});var EventManager=class{emitter=new EventEmitter;emit(t,e){this.emitter.emit(t,e)}on(t,e){this.emitter.addListener(t,e)}once(t,e){this.emitter.once(t,e)}off(t,e){this.emitter.off(t,e)}complete(){this.emitter.removeAllListeners()}},BaseEventMap=class{};function isObservable(t){return!!t&&"object"==typeof t&&"function"==typeof t.subscribe}function isReadable(t){return!!t&&"object"==typeof t&&!0===t.readable&&"function"==typeof t.read&&"function"==typeof t.on}function isUnicodeSupported(){return!!process.env[ListrEnvironmentVariables.FORCE_UNICODE]||"win32"!==process.platform||!!process.env.CI||!!process.env.WT_SESSION||"vscode"===process.env.TERM_PROGRAM||"xterm-256color"===process.env.TERM||"alacritty"===process.env.TERM}const CLEAR_LINE_REGEX="(?:\\u001b|\\u009b)\\[[\\=><~/#&.:=?%@~_-]*[0-9]*[\\a-ln-tqyz=><~/#&.:=?%@~_-]+",BELL_REGEX=/\u0007/;function cleanseAnsi(t){return String(t).replace(new RegExp(CLEAR_LINE_REGEX,"gmi"),"").replace(new RegExp(BELL_REGEX,"gmi"),"").trim()}const color=Object.fromEntries(Object.keys(inspect.colors).map((t=>[t,e=>styleText(t,String(e))])));function indent(t,e){return t.replace(/^(?!\s*$)/gm," ".repeat(e))}const FIGURES_MAIN={warning:"⚠",cross:"✖",arrowDown:"↓",tick:"✔",arrowRight:"→",pointer:"❯",checkboxOn:"☒",arrowLeft:"←",squareSmallFilled:"◼",pointerSmall:"›"},FIGURES_FALLBACK={...FIGURES_MAIN,warning:"‼",cross:"×",tick:"√",pointer:">",checkboxOn:"[×]",squareSmallFilled:"■"},figures=isUnicodeSupported()?FIGURES_MAIN:FIGURES_FALLBACK;function splat(t,...e){return format(String(t),...e)}let ListrLogLevels=function(t){return t.STARTED="STARTED",t.COMPLETED="COMPLETED",t.FAILED="FAILED",t.SKIPPED="SKIPPED",t.OUTPUT="OUTPUT",t.TITLE="TITLE",t.ROLLBACK="ROLLBACK",t.RETRY="RETRY",t.PROMPT="PROMPT",t.PAUSED="PAUSED",t}({});const LISTR_LOGGER_STYLE={icon:{[ListrLogLevels.STARTED]:figures.pointer,[ListrLogLevels.FAILED]:figures.cross,[ListrLogLevels.SKIPPED]:figures.arrowDown,[ListrLogLevels.COMPLETED]:figures.tick,[ListrLogLevels.OUTPUT]:figures.pointerSmall,[ListrLogLevels.TITLE]:figures.arrowRight,[ListrLogLevels.RETRY]:figures.warning,[ListrLogLevels.ROLLBACK]:figures.arrowLeft,[ListrLogLevels.PAUSED]:figures.squareSmallFilled},color:{[ListrLogLevels.STARTED]:color.yellow,[ListrLogLevels.FAILED]:color.red,[ListrLogLevels.SKIPPED]:color.yellow,[ListrLogLevels.COMPLETED]:color.green,[ListrLogLevels.RETRY]:color.yellowBright,[ListrLogLevels.ROLLBACK]:color.redBright,[ListrLogLevels.PAUSED]:color.yellowBright}},LISTR_LOGGER_STDERR_LEVELS=[ListrLogLevels.RETRY,ListrLogLevels.ROLLBACK,ListrLogLevels.FAILED];var ListrLogger=class{process;constructor(t){this.options=t,this.options={useIcons:!0,toStderr:[],...t??{}},this.options.fields??={},this.options.fields.prefix??=[],this.options.fields.suffix??=[],this.process=this.options.processOutput??new ProcessOutput}log(t,e,s){const r=this.format(t,e,s);this.options.toStderr.includes(t)?this.process.toStderr(r):this.process.toStdout(r)}toStdout(t,e,s=!0){this.process.toStdout(this.format(null,t,e),s)}toStderr(t,e,s=!0){this.process.toStderr(this.format(null,t,e),s)}wrap(t,e){return t?this.applyFormat(`[${t}]`,e):t}splat(...t){const e=t.shift()??"";return 0===t.length?e:splat(e,t)}suffix(t,...e){return e.filter(Boolean).forEach((e=>{if(t+=this.spacing(t),"string"==typeof e)t+=this.wrap(e);else if("object"==typeof e){if(e.args??=[],"function"==typeof e.condition?!e.condition(...e.args):!(e.condition??1))return t;t+=this.wrap("function"==typeof e.field?e.field(...e.args):e.field,{format:e?.format(...e.args)})}})),t}prefix(t,...e){return e.filter(Boolean).forEach((e=>{if(t=this.spacing(t)+t,"string"==typeof e)t=this.wrap(e)+t;else if("object"==typeof e){if(e.args??=[],"function"==typeof e.condition?!e.condition(...e.args):!(e.condition??1))return t;t=this.wrap("function"==typeof e.field?e.field(...e.args):e.field,{format:e?.format()})+t}})),t}fields(t,e){return this.options?.fields?.prefix&&(t=this.prefix(t,...this.options.fields.prefix)),e?.prefix&&(t=this.prefix(t,...e.prefix)),e?.suffix&&(t=this.suffix(t,...e.suffix)),this.options?.fields?.suffix&&(t=this.suffix(t,...this.options.fields.suffix)),t}icon(t,e){if(!t)return null;if(!e){const s=this.options.icon?.[t];e="function"==typeof s?s():s}const s=this.options.color?.[t];return e&&s&&(e=s(e)),e}format(t,e,s){return Array.isArray(e)||(e=[e]),e=this.splat(e.shift(),...e).toString().split(EOL).filter((t=>!t||""!==t.trim())).map((e=>this.style(t,this.fields(e,{prefix:Array.isArray(s?.prefix)?s.prefix:[s?.prefix],suffix:Array.isArray(s?.suffix)?s.suffix:[s?.suffix]})))).join(EOL)}style(t,e){if(!t||!e)return e;const s=this.icon(t,!this.options.useIcons&&this.wrap(t));return s&&(e=s+" "+e),e}applyFormat(t,e){return e?.format?e.format(t):t}spacing(t){return void 0===t||""===t.trim()?"":" "}},ProcessOutputBuffer=class{buffer=[];decoder=new StringDecoder;constructor(t){this.options=t}get all(){return this.buffer}get last(){return this.buffer.at(-1)}get length(){return this.buffer.length}write(t,...e){const s=e[e.length-1];return this.buffer.push({time:Date.now(),stream:this.options?.stream,entry:this.decoder.write("string"==typeof t?Buffer.from(t,"string"==typeof e[0]?e[0]:void 0):Buffer.from(t))}),this.options?.limit&&(this.buffer=this.buffer.slice(-this.options.limit)),"function"==typeof s&&s(),!0}reset(){this.buffer=[]}},ProcessOutputStream=class{method;buffer;constructor(t){this.stream=t,this.method=t.write,this.buffer=new ProcessOutputBuffer({stream:t})}get out(){const t=this;return new Proxy(this.stream,{get:(e,s,r)=>"write"===s?t.write.bind(t):Reflect.get(e,s,r)})}hijack(){this.stream.write=this.buffer.write.bind(this.buffer)}release(){this.stream.write=this.method;const t=[...this.buffer.all];return this.buffer.reset(),t}write(...t){return this.method.apply(this.stream,t)}},ProcessOutput=class{stream;active;constructor(t,e,s){this.options=s,this.stream={stdout:new ProcessOutputStream(t??process.stdout),stderr:new ProcessOutputStream(e??process.stderr)},this.options={dump:["stdout","stderr"],leaveEmptyLine:!0,...s}}get stdout(){return this.stream.stdout.out}get stderr(){return this.stream.stderr.out}hijack(){if(this.active)throw new Error("ProcessOutput has been already hijacked!");this.stream.stdout.write(ANSI_ESCAPE_CODES.CURSOR_HIDE),Object.values(this.stream).forEach((t=>t.hijack())),this.active=!0}release(){const t=Object.entries(this.stream).map((([t,e])=>({name:t,buffer:e.release()}))).filter((t=>this.options.dump.includes(t.name))).flatMap((t=>t.buffer)).sort(((t,e)=>t.time-e.time)).map((t=>({...t,entry:cleanseAnsi(t.entry)}))).filter((t=>t.entry));t.length>0&&(this.options.leaveEmptyLine&&this.stdout.write(EOL),t.forEach((t=>{(t.stream??this.stdout).write(t.entry+EOL)}))),this.stream.stdout.write(ANSI_ESCAPE_CODES.CURSOR_SHOW),this.active=!1}toStdout(t,e=!0){return e&&(t+=EOL),this.stream.stdout.write(t)}toStderr(t,e=!0){return e&&(t+=EOL),this.stream.stderr.write(t)}};function createWritable(t){const e=new Writable;return e.rows=1/0,e.columns=1/0,e.write=e=>(t(e.toString()),!0),e}var ListrPromptAdapter=class{state;constructor(t,e){this.task=t,this.wrapper=e}reportStarted(){if(this.state=this.task.state,this.task.prompt)throw new PromptError("There is already an active prompt attached to this task which may not be cleaned up properly.");this.task.prompt=this,this.task.state$=ListrTaskState.PROMPT}reportFailed(){this.task.state$=ListrTaskState.PROMPT_FAILED,this.restoreState()}reportCompleted(){this.task.state$=ListrTaskState.PROMPT_COMPLETED,this.restoreState()}restoreState(){this.task.prompt=void 0,this.state&&(this.task.state=this.state)}},Spinner=class{spinner=isUnicodeSupported()?["⠋","⠙","⠹","⠸","⠼","⠴","⠦","⠧","⠇","⠏"]:["-","\\","|","/"];id;spinnerPosition=0;spin(){this.spinnerPosition=++this.spinnerPosition%this.spinner.length}fetch(){return this.spinner[this.spinnerPosition]}isRunning(){return!!this.id}start(t,e=100){this.id=setInterval((()=>{this.spin(),t&&t()}),e)}stop(){clearInterval(this.id),this.id=void 0}};let ListrDefaultRendererLogLevels=function(t){return t.SKIPPED_WITH_COLLAPSE="SKIPPED_WITH_COLLAPSE",t.SKIPPED_WITHOUT_COLLAPSE="SKIPPED_WITHOUT_COLLAPSE",t.OUTPUT="OUTPUT",t.OUTPUT_WITH_BOTTOMBAR="OUTPUT_WITH_BOTTOMBAR",t.PENDING="PENDING",t.COMPLETED="COMPLETED",t.COMPLETED_WITH_FAILED_SUBTASKS="COMPLETED_WITH_FAILED_SUBTASKS",t.COMPLETED_WITH_FAILED_SISTER_TASKS="COMPLETED_WITH_SISTER_TASKS_FAILED",t.RETRY="RETRY",t.ROLLING_BACK="ROLLING_BACK",t.ROLLED_BACK="ROLLED_BACK",t.FAILED="FAILED",t.FAILED_WITH_FAILED_SUBTASKS="FAILED_WITH_SUBTASKS",t.WAITING="WAITING",t.PAUSED="PAUSED",t}({});const LISTR_DEFAULT_RENDERER_STYLE={icon:{[ListrDefaultRendererLogLevels.SKIPPED_WITH_COLLAPSE]:figures.arrowDown,[ListrDefaultRendererLogLevels.SKIPPED_WITHOUT_COLLAPSE]:figures.warning,[ListrDefaultRendererLogLevels.OUTPUT]:figures.pointerSmall,[ListrDefaultRendererLogLevels.OUTPUT_WITH_BOTTOMBAR]:figures.pointerSmall,[ListrDefaultRendererLogLevels.PENDING]:figures.pointer,[ListrDefaultRendererLogLevels.COMPLETED]:figures.tick,[ListrDefaultRendererLogLevels.COMPLETED_WITH_FAILED_SUBTASKS]:figures.warning,[ListrDefaultRendererLogLevels.COMPLETED_WITH_FAILED_SISTER_TASKS]:figures.squareSmallFilled,[ListrDefaultRendererLogLevels.RETRY]:figures.warning,[ListrDefaultRendererLogLevels.ROLLING_BACK]:figures.warning,[ListrDefaultRendererLogLevels.ROLLED_BACK]:figures.arrowLeft,[ListrDefaultRendererLogLevels.FAILED]:figures.cross,[ListrDefaultRendererLogLevels.FAILED_WITH_FAILED_SUBTASKS]:figures.pointer,[ListrDefaultRendererLogLevels.WAITING]:figures.squareSmallFilled,[ListrDefaultRendererLogLevels.PAUSED]:figures.squareSmallFilled},color:{[ListrDefaultRendererLogLevels.SKIPPED_WITH_COLLAPSE]:color.yellow,[ListrDefaultRendererLogLevels.SKIPPED_WITHOUT_COLLAPSE]:color.yellow,[ListrDefaultRendererLogLevels.PENDING]:color.yellow,[ListrDefaultRendererLogLevels.COMPLETED]:color.green,[ListrDefaultRendererLogLevels.COMPLETED_WITH_FAILED_SUBTASKS]:color.yellow,[ListrDefaultRendererLogLevels.COMPLETED_WITH_FAILED_SISTER_TASKS]:color.red,[ListrDefaultRendererLogLevels.RETRY]:color.yellowBright,[ListrDefaultRendererLogLevels.ROLLING_BACK]:color.redBright,[ListrDefaultRendererLogLevels.ROLLED_BACK]:color.redBright,[ListrDefaultRendererLogLevels.FAILED]:color.red,[ListrDefaultRendererLogLevels.FAILED_WITH_FAILED_SUBTASKS]:color.red,[ListrDefaultRendererLogLevels.WAITING]:color.dim,[ListrDefaultRendererLogLevels.PAUSED]:color.yellowBright}};function parseTimer(t){const e=Math.floor(t/1e3),s=Math.floor(e/60);let r;return 0===e&&0===s&&(r=`0.${Math.floor(t/100)}s`),e>0&&(r=e%60+"s"),s>0&&(r=`${s}m${r}`),r}const PRESET_TIMER={condition:!0,field:parseTimer,format:()=>color.dim};function parseTimestamp(){const t=new Date;return String(t.getHours()).padStart(2,"0")+":"+String(t.getMinutes()).padStart(2,"0")+":"+String(t.getSeconds()).padStart(2,"0")}const PRESET_TIMESTAMP={condition:!0,field:parseTimestamp,format:()=>color.dim};var DefaultRenderer=class t{static nonTTY=!1;static rendererOptions={indentation:2,clearOutput:!1,showSubtasks:!0,collapseSubtasks:!0,collapseSkips:!0,showSkipMessage:!0,suffixSkips:!1,collapseErrors:!0,showErrorMessage:!0,suffixRetries:!0,lazy:!1,removeEmptyLines:!0,formatOutput:"wrap",pausedTimer:{...PRESET_TIMER,format:()=>color.yellowBright}};static rendererTaskOptions={outputBar:!0};prompt;activePrompt;spinner;logger;updater;truncate;wrap;buffer={output:new Map,bottom:new Map};cache={render:new Map,rendererOptions:new Map,rendererTaskOptions:new Map};constructor(e,s,r){this.tasks=e,this.options=s,this.events=r,this.options={...t.rendererOptions,...this.options,icon:{...LISTR_DEFAULT_RENDERER_STYLE.icon,...s?.icon??{}},color:{...LISTR_DEFAULT_RENDERER_STYLE.color,...s?.color??{}}},this.spinner=this.options.spinner??new Spinner,this.logger=this.options.logger??new ListrLogger({useIcons:!0,toStderr:[]}),this.logger.options.icon=this.options.icon,this.logger.options.color=this.options.color}async render(){const{createLogUpdate:t}=await import("log-update"),{default:e}=await import("cli-truncate"),{default:s}=await import("wrap-ansi");this.updater=t(this.logger.process.stdout),this.truncate=e,this.wrap=s,this.logger.process.hijack(),this.options?.lazy||this.spinner.start((()=>{this.update()})),this.events.on(ListrEventType.SHOULD_REFRESH_RENDER,(()=>{this.update()}))}update(){this.updater(this.create())}end(){this.spinner.stop(),this.updater.clear(),this.updater.done(),this.options.clearOutput||this.logger.process.toStdout(this.create({prompt:!1})),this.logger.process.release()}create(t){t={tasks:!0,bottomBar:!0,prompt:!0,...t};const e=[],s=this.renderer(this.tasks),r=this.renderBottomBar(),i=this.renderPrompt();return t.tasks&&s.length>0&&e.push(...s),t.bottomBar&&r.length>0&&(e.length>0&&e.push(""),e.push(...r)),t.prompt&&i.length>0&&(e.length>0&&e.push(""),e.push(...i)),e.join(EOL)}style(t,e=!1){const s=this.cache.rendererOptions.get(t.id);if(t.isSkipped()){if(e||s.collapseSkips)return this.logger.icon(ListrDefaultRendererLogLevels.SKIPPED_WITH_COLLAPSE);if(!1===s.collapseSkips)return this.logger.icon(ListrDefaultRendererLogLevels.SKIPPED_WITHOUT_COLLAPSE)}if(e)return this.shouldOutputToBottomBar(t)?this.logger.icon(ListrDefaultRendererLogLevels.OUTPUT_WITH_BOTTOMBAR):this.logger.icon(ListrDefaultRendererLogLevels.OUTPUT);if(t.hasSubtasks()){if(t.isStarted()||t.isPrompt()&&!1!==s.showSubtasks&&!t.subtasks.every((t=>!t.hasTitle())))return this.logger.icon(ListrDefaultRendererLogLevels.PENDING);if(t.isCompleted()&&t.subtasks.some((t=>t.hasFailed())))return this.logger.icon(ListrDefaultRendererLogLevels.COMPLETED_WITH_FAILED_SUBTASKS);if(t.hasFailed())return this.logger.icon(ListrDefaultRendererLogLevels.FAILED_WITH_FAILED_SUBTASKS)}return t.isStarted()||t.isPrompt()?this.logger.icon(ListrDefaultRendererLogLevels.PENDING,!this.options?.lazy&&this.spinner.fetch()):t.isCompleted()?this.logger.icon(ListrDefaultRendererLogLevels.COMPLETED):t.isRetrying()?this.logger.icon(ListrDefaultRendererLogLevels.RETRY,!this.options?.lazy&&this.spinner.fetch()):t.isRollingBack()?this.logger.icon(ListrDefaultRendererLogLevels.ROLLING_BACK,!this.options?.lazy&&this.spinner.fetch()):t.hasRolledBack()?this.logger.icon(ListrDefaultRendererLogLevels.ROLLED_BACK):t.hasFailed()?this.logger.icon(ListrDefaultRendererLogLevels.FAILED):t.isPaused()?this.logger.icon(ListrDefaultRendererLogLevels.PAUSED):this.logger.icon(ListrDefaultRendererLogLevels.WAITING)}format(t,e,s){if(""===t.trim())return[];let r;e&&(t=e+" "+t);const i=(process.stdout.columns??80)-s*this.options.indentation-2;switch(this.options.formatOutput){case"truncate":r=t.split(EOL).map(((t,e)=>this.truncate(this.indent(t,e),i)));break;case"wrap":r=this.wrap(t,i,{hard:!0,trim:!1}).split(EOL).map(((t,e)=>this.indent(t,e)));break;default:throw new ListrRendererError("Format option for the renderer is wrong.")}return this.options.removeEmptyLines&&(r=r.filter(Boolean)),r.map((t=>indent(t,s*this.options.indentation)))}shouldOutputToOutputBar(t){const e=this.cache.rendererTaskOptions.get(t.id).outputBar;return"number"==typeof e&&0!==e||"boolean"==typeof e&&!1!==e}shouldOutputToBottomBar(t){const e=this.cache.rendererTaskOptions.get(t.id).bottomBar;return"number"==typeof e&&0!==e||"boolean"==typeof e&&!1!==e||!t.hasTitle()}renderer(t,e=0){return t.flatMap((s=>{if(!s.isEnabled())return[];if(this.cache.render.has(s.id))return this.cache.render.get(s.id);this.calculate(s),this.setupBuffer(s);const r=this.cache.rendererOptions.get(s.id),i=this.cache.rendererTaskOptions.get(s.id),o=[];if(s.isPrompt()){if(this.activePrompt&&this.activePrompt!==s.id)throw new ListrRendererError("Only one prompt can be active at the given time, please re-evaluate your task design.");this.activePrompt||(s.on(ListrTaskEventType.PROMPT,(t=>{const e=cleanseAnsi(t);e&&(this.prompt=e)})),s.on(ListrTaskEventType.STATE,(t=>{(t===ListrTaskState.PROMPT_COMPLETED||s.hasFinalized()||s.hasReset())&&(this.prompt=null,this.activePrompt=null,s.off(ListrTaskEventType.PROMPT))})),this.activePrompt=s.id)}if(s.hasTitle()&&(!t.some((t=>t.hasFailed()))||s.hasFailed()||!1===s.options.exitOnError||s.isCompleted()||s.isSkipped()?s.hasFailed()&&r.collapseErrors?o.push(...this.format(!s.hasSubtasks()&&s.message.error&&r.showErrorMessage?s.message.error:s.title,this.style(s),e)):s.isSkipped()&&r.collapseSkips?o.push(...this.format(this.logger.suffix(s.message.skip&&r.showSkipMessage?s.message.skip:s.title,{field:ListrLogLevels.SKIPPED,condition:r.suffixSkips,format:()=>color.dim}),this.style(s),e)):s.isRetrying()?o.push(...this.format(this.logger.suffix(s.title,{field:`${ListrLogLevels.RETRY}:${s.message.retry.count}`,format:()=>color.yellow,condition:r.suffixRetries}),this.style(s),e)):s.isCompleted()&&s.hasTitle()&&assertFunctionOrSelf(i.timer?.condition,s.message.duration)?o.push(...this.format(this.logger.suffix(s?.title,{...i.timer,args:[s.message.duration]}),this.style(s),e)):s.isPaused()?o.push(...this.format(this.logger.suffix(s.title,{...r.pausedTimer,args:[s.message.paused-Date.now()]}),this.style(s),e)):o.push(...this.format(s.title,this.style(s),e)):o.push(...this.format(s.title,this.logger.icon(ListrDefaultRendererLogLevels.COMPLETED_WITH_FAILED_SISTER_TASKS),e))),s.hasSubtasks()&&r.showSubtasks||(!s.hasFailed()||!1!==r.collapseErrors||!r.showErrorMessage&&r.showSubtasks?!s.isSkipped()||!1!==r.collapseSkips||!r.showSkipMessage&&r.showSubtasks||o.push(...this.dump(s,e,ListrLogLevels.SKIPPED)):o.push(...this.dump(s,e,ListrLogLevels.FAILED))),(s.isPending()||i.persistentOutput)&&o.push(...this.renderOutputBar(s,e)),!1!==r.showSubtasks&&s.hasSubtasks()&&(s.isPending()||s.hasFinalized()&&!s.hasTitle()||s.isCompleted()&&!1===r.collapseSubtasks&&!s.subtasks.some((t=>!0===this.cache.rendererOptions.get(t.id)?.collapseSubtasks))||s.subtasks.some((t=>!1===this.cache.rendererOptions.get(t.id)?.collapseSubtasks))||s.subtasks.some((t=>t.hasFailed()))||s.subtasks.some((t=>t.hasRolledBack())))){const t=s.hasTitle()?e+1:e,r=this.renderer(s.subtasks,t);o.push(...r)}return s.hasFinalized()&&(i.persistentOutput||(this.buffer.bottom.delete(s.id),this.buffer.output.delete(s.id))),s.isClosed()&&(this.cache.render.set(s.id,o),this.reset(s)),o}))}renderOutputBar(t,e){const s=this.buffer.output.get(t.id);return s?s.all.flatMap((s=>this.dump(t,e,ListrLogLevels.OUTPUT,s.entry))):[]}renderBottomBar(){return 0===this.buffer.bottom.size?[]:Array.from(this.buffer.bottom.values()).flatMap((t=>t.all)).sort(((t,e)=>t.time-e.time)).map((t=>t.entry))}renderPrompt(){return this.prompt?[this.prompt]:[]}calculate(e){if(this.cache.rendererOptions.has(e.id)&&this.cache.rendererTaskOptions.has(e.id))return;const s={...this.options,...e.rendererOptions};this.cache.rendererOptions.set(e.id,s),this.cache.rendererTaskOptions.set(e.id,{...t.rendererTaskOptions,timer:s.timer,...e.rendererTaskOptions})}setupBuffer(t){if(this.buffer.bottom.has(t.id)||this.buffer.output.has(t.id))return;const e=this.cache.rendererTaskOptions.get(t.id);this.shouldOutputToBottomBar(t)&&!this.buffer.bottom.has(t.id)?(this.buffer.bottom.set(t.id,new ProcessOutputBuffer({limit:"number"==typeof e.bottomBar?e.bottomBar:1})),t.on(ListrTaskEventType.OUTPUT,(e=>{const s=this.dump(t,-1,ListrLogLevels.OUTPUT,e);this.buffer.bottom.get(t.id).write(s.join(EOL))})),t.on(ListrTaskEventType.STATE,(e=>{if(e===(ListrTaskState.RETRY||ListrTaskState.ROLLING_BACK))this.buffer.bottom.delete(t.id)}))):this.shouldOutputToOutputBar(t)&&!this.buffer.output.has(t.id)&&(this.buffer.output.set(t.id,new ProcessOutputBuffer({limit:"number"==typeof e.outputBar?e.outputBar:1})),t.on(ListrTaskEventType.OUTPUT,(e=>{this.buffer.output.get(t.id).write(e)})),t.on(ListrTaskEventType.STATE,(e=>{if(e===(ListrTaskState.RETRY||ListrTaskState.ROLLING_BACK))this.buffer.output.delete(t.id)})))}reset(t){this.cache.rendererOptions.delete(t.id),this.cache.rendererTaskOptions.delete(t.id),this.buffer.output.delete(t.id)}dump(t,e,s=ListrLogLevels.OUTPUT,r){if(!r)switch(s){case ListrLogLevels.OUTPUT:r=t.output;break;case ListrLogLevels.SKIPPED:r=t.message.skip;break;case ListrLogLevels.FAILED:r=t.message.error}return t.hasTitle()&&s===ListrLogLevels.FAILED&&r===t.title||"string"!=typeof r?[]:(s===ListrLogLevels.OUTPUT&&(r=cleanseAnsi(r)),this.format(r,this.style(t,!0),e+1))}indent(t,e){return e>0?indent(t.trimEnd(),this.options.indentation):t.trimEnd()}},SilentRenderer=class{static nonTTY=!0;static rendererOptions;static rendererTaskOptions;constructor(t,e){this.tasks=t,this.options=e}render(){}end(){}},SimpleRenderer=class t{static nonTTY=!0;static rendererOptions={pausedTimer:{...PRESET_TIMER,field:t=>`${ListrLogLevels.PAUSED}:${t}`,format:()=>color.yellowBright}};static rendererTaskOptions={};logger;cache={rendererOptions:new Map,rendererTaskOptions:new Map};constructor(e,s){this.tasks=e,this.options=s,this.options={...t.rendererOptions,...s,icon:{...LISTR_LOGGER_STYLE.icon,...s?.icon??{}},color:{...LISTR_LOGGER_STYLE.color,...s?.color??{}}},this.logger=this.options.logger??new ListrLogger({useIcons:!0,toStderr:LISTR_LOGGER_STDERR_LEVELS}),this.logger.options.icon=this.options.icon,this.logger.options.color=this.options.color,this.options.timestamp&&this.logger.options.fields.prefix.unshift(this.options.timestamp)}end(){}render(){this.renderer(this.tasks)}renderer(t){t.forEach((t=>{this.calculate(t),t.once(ListrTaskEventType.CLOSED,(()=>{this.reset(t)}));const e=this.cache.rendererOptions.get(t.id),s=this.cache.rendererTaskOptions.get(t.id);t.on(ListrTaskEventType.SUBTASK,(t=>{this.renderer(t)})),t.on(ListrTaskEventType.STATE,(e=>{if(t.hasTitle())if(e===ListrTaskState.STARTED)this.logger.log(ListrLogLevels.STARTED,t.title);else if(e===ListrTaskState.COMPLETED){const e=s?.timer;this.logger.log(ListrLogLevels.COMPLETED,t.title,e&&{suffix:{...e,condition:!!t.message?.duration&&e.condition,args:[t.message.duration]}})}else e===ListrTaskState.PROMPT?(this.logger.process.hijack(),t.on(ListrTaskEventType.PROMPT,(t=>{this.logger.process.toStderr(t,!1)}))):e===ListrTaskState.PROMPT_COMPLETED&&(t.off(ListrTaskEventType.PROMPT),this.logger.process.release())})),t.on(ListrTaskEventType.OUTPUT,(t=>{this.logger.log(ListrLogLevels.OUTPUT,t)})),t.on(ListrTaskEventType.MESSAGE,(s=>{if(s.error)this.logger.log(ListrLogLevels.FAILED,t.title,{suffix:{field:`${ListrLogLevels.FAILED}: ${s.error}`,format:()=>color.red}});else if(s.skip)this.logger.log(ListrLogLevels.SKIPPED,t.title,{suffix:{field:`${ListrLogLevels.SKIPPED}: ${s.skip}`,format:()=>color.yellow}});else if(s.rollback)this.logger.log(ListrLogLevels.ROLLBACK,t.title,{suffix:{field:`${ListrLogLevels.ROLLBACK}: ${s.rollback}`,format:()=>color.red}});else if(s.retry)this.logger.log(ListrLogLevels.RETRY,t.title,{suffix:{field:`${ListrLogLevels.RETRY}:${s.retry.count}`,format:()=>color.red}});else if(s.paused){const r=e?.pausedTimer;this.logger.log(ListrLogLevels.PAUSED,t.title,r&&{suffix:{...r,condition:!!s?.paused&&r.condition,args:[s.paused-Date.now()]}})}}))}))}calculate(e){if(this.cache.rendererOptions.has(e.id)&&this.cache.rendererTaskOptions.has(e.id))return;const s={...this.options,...e.rendererOptions};this.cache.rendererOptions.set(e.id,s),this.cache.rendererTaskOptions.set(e.id,{...t.rendererTaskOptions,timer:s.timer,...e.rendererTaskOptions})}reset(t){this.cache.rendererOptions.delete(t.id),this.cache.rendererTaskOptions.delete(t.id)}},TestRendererSerializer=class{constructor(t){this.options=t}serialize(t,e,s){return JSON.stringify(this.generate(t,e,s))}generate(t,e,s){const r={event:t,data:e};if("boolean"!=typeof this.options?.task){const t=Object.fromEntries(this.options.task.map((t=>{const e=s[t];return"function"==typeof e?[t,e.call(s)]:[t,e]})));Object.keys(s).length>0&&(r.task=t)}return r}},TestRenderer=class t{static nonTTY=!0;static rendererOptions={subtasks:!0,state:Object.values(ListrTaskState),output:!0,prompt:!0,title:!0,messages:["skip","error","retry","rollback","paused"],messagesToStderr:["error","rollback","retry"],task:["hasRolledBack","isRollingBack","isCompleted","isSkipped","hasFinalized","hasSubtasks","title","hasReset","hasTitle","isPrompt","isPaused","isPending","isSkipped","isStarted","hasFailed","isEnabled","isRetrying","path"]};static rendererTaskOptions;logger;serializer;constructor(e,s){this.tasks=e,this.options=s,this.options={...t.rendererOptions,...this.options},this.logger=this.options.logger??new ListrLogger({useIcons:!1}),this.serializer=new TestRendererSerializer(this.options)}render(){this.renderer(this.tasks)}end(){}renderer(t){t.forEach((t=>{this.options.subtasks&&t.on(ListrTaskEventType.SUBTASK,(t=>{this.renderer(t)})),this.options.state&&t.on(ListrTaskEventType.STATE,(e=>{this.logger.toStdout(this.serializer.serialize(ListrTaskEventType.STATE,e,t))})),this.options.output&&t.on(ListrTaskEventType.OUTPUT,(e=>{this.logger.toStdout(this.serializer.serialize(ListrTaskEventType.OUTPUT,e,t))})),this.options.prompt&&t.on(ListrTaskEventType.PROMPT,(e=>{this.logger.toStdout(this.serializer.serialize(ListrTaskEventType.PROMPT,e,t))})),this.options.title&&t.on(ListrTaskEventType.TITLE,(e=>{this.logger.toStdout(this.serializer.serialize(ListrTaskEventType.TITLE,e,t))})),t.on(ListrTaskEventType.MESSAGE,(e=>{const s=Object.fromEntries(Object.entries(e).map((([t,e])=>{if(this.options.messages.includes(t))return[t,e]})).filter(Boolean));if(Object.keys(s).length>0){const e=this.serializer.serialize(ListrTaskEventType.MESSAGE,s,t);this.options.messagesToStderr.some((t=>Object.keys(s).includes(t)))?this.logger.toStderr(e):this.logger.toStdout(e)}}))}))}},VerboseRenderer=class t{static nonTTY=!0;static rendererOptions={logTitleChange:!1,pausedTimer:{...PRESET_TIMER,format:()=>color.yellowBright}};static rendererTaskOptions;logger;cache={rendererOptions:new Map,rendererTaskOptions:new Map};constructor(e,s){this.tasks=e,this.options=s,this.options={...t.rendererOptions,...this.options,icon:{...LISTR_LOGGER_STYLE.icon,...s?.icon??{}},color:{...LISTR_LOGGER_STYLE.color,...s?.color??{}}},this.logger=this.options.logger??new ListrLogger({useIcons:!1,toStderr:LISTR_LOGGER_STDERR_LEVELS}),this.logger.options.icon=this.options.icon,this.logger.options.color=this.options.color,this.options.timestamp&&this.logger.options.fields.prefix.unshift(this.options.timestamp)}render(){this.renderer(this.tasks)}end(){}renderer(t){t.forEach((t=>{this.calculate(t),t.once(ListrTaskEventType.CLOSED,(()=>{this.reset(t)}));const e=this.cache.rendererOptions.get(t.id),s=this.cache.rendererTaskOptions.get(t.id);t.on(ListrTaskEventType.SUBTASK,(t=>{this.renderer(t)})),t.on(ListrTaskEventType.STATE,(e=>{if(t.hasTitle())if(e===ListrTaskState.STARTED)this.logger.log(ListrLogLevels.STARTED,t.title);else if(e===ListrTaskState.COMPLETED){const e=s.timer;this.logger.log(ListrLogLevels.COMPLETED,t.title,e&&{suffix:{...e,condition:!!t.message?.duration&&e.condition,args:[t.message.duration]}})}})),t.on(ListrTaskEventType.OUTPUT,(t=>{this.logger.log(ListrLogLevels.OUTPUT,t)})),t.on(ListrTaskEventType.PROMPT,(t=>{const e=cleanseAnsi(t);e&&this.logger.log(ListrLogLevels.PROMPT,e)})),!1!==this.options?.logTitleChange&&t.on(ListrTaskEventType.TITLE,(t=>{this.logger.log(ListrLogLevels.TITLE,t)})),t.on(ListrTaskEventType.MESSAGE,(s=>{if(s?.error)this.logger.log(ListrLogLevels.FAILED,s.error);else if(s?.skip)this.logger.log(ListrLogLevels.SKIPPED,s.skip);else if(s?.rollback)this.logger.log(ListrLogLevels.ROLLBACK,s.rollback);else if(s?.retry)this.logger.log(ListrLogLevels.RETRY,t.title,{suffix:s.retry.count.toString()});else if(s?.paused){const r=e?.pausedTimer;this.logger.log(ListrLogLevels.PAUSED,t.title,r&&{suffix:{...r,condition:!!s?.paused&&r.condition,args:[s.paused-Date.now()]}})}}))}))}calculate(e){if(this.cache.rendererOptions.has(e.id)&&this.cache.rendererTaskOptions.has(e.id))return;const s={...this.options,...e.rendererOptions};this.cache.rendererOptions.set(e.id,s),this.cache.rendererTaskOptions.set(e.id,{...t.rendererTaskOptions,timer:s.timer,...e.rendererTaskOptions})}reset(t){this.cache.rendererOptions.delete(t.id),this.cache.rendererTaskOptions.delete(t.id)}};const RENDERERS={default:DefaultRenderer,simple:SimpleRenderer,verbose:VerboseRenderer,test:TestRenderer,silent:SilentRenderer};function isRendererSupported(t){return!0===process.stdout.isTTY||!0===t.nonTTY}function getRendererClass(t){return"string"==typeof t?RENDERERS[t]??RENDERERS.default:"function"==typeof t?t:RENDERERS.default}function getRenderer(t){if(assertFunctionOrSelf(t?.silentRendererCondition))return{renderer:getRendererClass("silent"),selection:ListrRendererSelection.SILENT};const e={renderer:getRendererClass(t.renderer),options:t.rendererOptions,selection:ListrRendererSelection.PRIMARY};return!isRendererSupported(e.renderer)||assertFunctionOrSelf(t?.fallbackRendererCondition)?{renderer:getRendererClass(t.fallbackRenderer),options:t.fallbackRendererOptions,selection:ListrRendererSelection.SECONDARY}:e}function assertFunctionOrSelf(t,...e){return"function"==typeof t?t(...e):t}const clone=rfdc({circles:!0});function cloneObject(t){return clone(t)}var Concurrency=class{concurrency;count;queue;constructor(t){this.concurrency=t.concurrency,this.count=0,this.queue=new Set}add(t){return this.count<this.concurrency?this.run(t):new Promise((e=>{this.queue.add((()=>e(this.run(t))))}))}flush(){for(const t of this.queue){if(this.count>=this.concurrency)break;this.queue.delete(t),t()}}run(t){this.count++;const e=t();return e.then((()=>{this.count--,this.flush()}),(()=>{this.queue.clear()})),e}};function delay(t){return new Promise((e=>{setTimeout(e,t)}))}var ListrError=class extends Error{path;ctx;constructor(t,e,s){super(t.message),this.error=t,this.type=e,this.task=s,this.name="ListrError",this.path=s.path,"full"===s?.options.collectErrors&&(this.task=cloneObject(s),this.ctx=cloneObject(s.listr.ctx)),this.stack=t?.stack}},ListrRendererError=class extends Error{},PromptError=class extends Error{},TaskWrapper=class{constructor(t){this.task=t}get title(){return this.task.title}set title(t){t=Array.isArray(t)?t:[t],this.task.title$=splat(t.shift(),...t)}get output(){return this.task.output}set output(t){t=Array.isArray(t)?t:[t],this.task.output$=splat(t.shift(),...t)}set promptOutput(t){this.task.promptOutput$=t}newListr(t,e){let s;return s="function"==typeof t?t(this):t,new Listr(s,e,this.task)}report(t,e){!1!==this.task.options.collectErrors&&this.task.listr.errors.push(new ListrError(t,e,this.task)),this.task.message$={error:t.message??this.task?.title}}skip(t,...e){this.task.state$=ListrTaskState.SKIPPED,t&&(this.task.message$={skip:t?splat(t,...e):this.task?.title})}isRetrying(){return this.task.isRetrying()?this.task.retry:{count:0}}prompt(t){return this.task.prompt?this.task.prompt:new t(this.task,this)}stdout(t){return createWritable((e=>{if(t===ListrTaskEventType.PROMPT)this.promptOutput=e;else this.output=e}))}run(t){return this.task.run(t,this)}},ListrTaskEventManager=class extends EventManager{},Task=class extends ListrTaskEventManager{id=randomUUID();state=ListrTaskState.WAITING;subtasks;title;initialTitle;output;retry;message={};prompt;parent;enabled;taskFn;closed;constructor(t,e,s,r,i){if(super(),this.listr=t,this.task=e,this.options=s,this.rendererOptions=r,this.rendererTaskOptions=i,e.title){const t=Array.isArray(e?.title)?e.title:[e.title];this.title=splat(t.shift(),...t),this.initialTitle=this.title}this.taskFn=e.task,this.parent=t.parentTask}set state$(t){if(this.state=t,this.emit(ListrTaskEventType.STATE,t),this.hasSubtasks()&&this.hasFailed())for(const t of this.subtasks)t.state===ListrTaskState.STARTED&&(t.state$=ListrTaskState.FAILED);this.listr.events.emit(ListrEventType.SHOULD_REFRESH_RENDER)}set output$(t){this.output=t,this.emit(ListrTaskEventType.OUTPUT,t),this.listr.events.emit(ListrEventType.SHOULD_REFRESH_RENDER)}set promptOutput$(t){this.emit(ListrTaskEventType.PROMPT,t),cleanseAnsi(t)&&this.listr.events.emit(ListrEventType.SHOULD_REFRESH_RENDER)}set message$(t){this.message={...this.message,...t},this.emit(ListrTaskEventType.MESSAGE,t),this.listr.events.emit(ListrEventType.SHOULD_REFRESH_RENDER)}set title$(t){this.title=t,this.emit(ListrTaskEventType.TITLE,t),this.listr.events.emit(ListrEventType.SHOULD_REFRESH_RENDER)}get path(){return[...this.listr.path,this.initialTitle]}async check(t){return this.state===ListrTaskState.WAITING&&(this.enabled=await assertFunctionOrSelf(this.task?.enabled??!0,t),this.emit(ListrTaskEventType.ENABLED,this.enabled),this.listr.events.emit(ListrEventType.SHOULD_REFRESH_RENDER)),this.enabled}hasSubtasks(){return this.subtasks?.length>0}hasFinalized(){return this.isCompleted()||this.hasFailed()||this.isSkipped()||this.hasRolledBack()}isPending(){return this.isStarted()||this.isPrompt()||this.hasReset()}isStarted(){return this.state===ListrTaskState.STARTED}isSkipped(){return this.state===ListrTaskState.SKIPPED}isCompleted(){return this.state===ListrTaskState.COMPLETED}hasFailed(){return this.state===ListrTaskState.FAILED}isRollingBack(){return this.state===ListrTaskState.ROLLING_BACK}hasRolledBack(){return this.state===ListrTaskState.ROLLED_BACK}isRetrying(){return this.state===ListrTaskState.RETRY}hasReset(){return this.state===ListrTaskState.RETRY||this.state===ListrTaskState.ROLLING_BACK}isEnabled(){return this.enabled}hasTitle(){return"string"==typeof this?.title}isPrompt(){return this.state===ListrTaskState.PROMPT}isPaused(){return this.state===ListrTaskState.PAUSED}isClosed(){return this.closed}async pause(t){const e=this.state;this.state$=ListrTaskState.PAUSED,this.message$={paused:Date.now()+t},await delay(t),this.state$=e,this.message$={paused:null}}async run(t,e){const s=e=>(e instanceof Listr?(e.options={...this.options,...e.options},e.rendererClass=getRendererClass("silent"),this.subtasks=e.tasks,e.errors=this.listr.errors,this.emit(ListrTaskEventType.SUBTASK,this.subtasks),e=e.run(t)):e instanceof Promise?e=e.then(s):isReadable(e)?e=new Promise(((t,s)=>{e.on("data",(t=>{this.output$=t.toString()})),e.on("error",(t=>s(t))),e.on("end",(()=>t(null)))})):isObservable(e)&&(e=new Promise(((t,s)=>{e.subscribe({next:t=>{this.output$=t},error:s,complete:t})}))),e),r=Date.now();this.state$=ListrTaskState.STARTED;const i=await assertFunctionOrSelf(this.task?.skip??!1,t);if(i)return"string"==typeof i?this.message$={skip:i}:this.hasTitle()?this.message$={skip:this.title}:this.message$={skip:"Skipped task without a title."},void(this.state$=ListrTaskState.SKIPPED);try{const i="number"==typeof this.task?.retry&&this.task.retry>0?this.task.retry+1:"object"==typeof this.task?.retry&&this.task.retry.tries>0?this.task.retry.tries+1:1,o="object"==typeof this.task.retry&&this.task.retry.delay;for(let r=1;r<=i;r++)try{await s(this.taskFn(t,e));break}catch(t){if(r===i)throw t;this.retry={count:r,error:t},this.message$={retry:this.retry},this.title$=this.initialTitle,this.output=void 0,e.report(t,ListrErrorTypes.WILL_RETRY),this.state$=ListrTaskState.RETRY,o&&await this.pause(o)}(this.isStarted()||this.isRetrying())&&(this.message$={duration:Date.now()-r},this.state$=ListrTaskState.COMPLETED)}catch(s){if(this.prompt instanceof PromptError&&(s=this.prompt),this.task?.rollback){e.report(s,ListrErrorTypes.WILL_ROLLBACK);try{this.state$=ListrTaskState.ROLLING_BACK,await this.task.rollback(t,e),this.message$={rollback:this.title},this.state$=ListrTaskState.ROLLED_BACK}catch(t){throw this.state$=ListrTaskState.FAILED,e.report(t,ListrErrorTypes.HAS_FAILED_TO_ROLLBACK),this.close(),t}if(!1!==this.listr.options?.exitAfterRollback)throw this.close(),s}else{if(this.state$=ListrTaskState.FAILED,!1!==this.listr.options.exitOnError&&!1!==await assertFunctionOrSelf(this.task?.exitOnError,t))throw e.report(s,ListrErrorTypes.HAS_FAILED),this.close(),s;this.hasSubtasks()||e.report(s,ListrErrorTypes.HAS_FAILED_WITHOUT_ERROR)}}finally{this.close()}}close(){this.emit(ListrTaskEventType.CLOSED),this.listr.events.emit(ListrEventType.SHOULD_REFRESH_RENDER),this.complete()}},ListrEventManager=class extends EventManager{},Listr=class{tasks=[];errors=[];ctx;events;path=[];rendererClass;rendererClassOptions;rendererSelection;boundSignalHandler;concurrency;renderer;constructor(t,e,s){this.task=t,this.options=e,this.parentTask=s,this.options={concurrent:!1,renderer:"default",fallbackRenderer:"simple",exitOnError:!0,exitAfterRollback:!0,collectErrors:!1,registerSignalListeners:!0,...this.parentTask?.options??{},...e},!0===this.options.concurrent?this.options.concurrent=1/0:"number"!=typeof this.options.concurrent&&(this.options.concurrent=1),this.concurrency=new Concurrency({concurrency:this.options.concurrent}),s&&(this.path=[...s.listr.path,s.title],this.errors=s.listr.errors),this.parentTask?.listr.events instanceof ListrEventManager?this.events=this.parentTask.listr.events:this.events=new ListrEventManager,(this.options?.forceTTY||process.env[ListrEnvironmentVariables.FORCE_TTY])&&(process.stdout.isTTY=!0,process.stderr.isTTY=!0),this.options?.forceUnicode&&(process.env[ListrEnvironmentVariables.FORCE_UNICODE]="1");const r=getRenderer({renderer:this.options.renderer,rendererOptions:this.options.rendererOptions,fallbackRenderer:this.options.fallbackRenderer,fallbackRendererOptions:this.options.fallbackRendererOptions,fallbackRendererCondition:this.options?.fallbackRendererCondition,silentRendererCondition:this.options?.silentRendererCondition});this.rendererClass=r.renderer,this.rendererClassOptions=r.options,this.rendererSelection=r.selection,this.add(t??[]),this.options.registerSignalListeners&&(this.boundSignalHandler=this.signalHandler.bind(this),process.once("SIGINT",this.boundSignalHandler).setMaxListeners(0))}isRoot(){return!this.parentTask}isSubtask(){return!!this.parentTask}add(t){this.tasks.push(...this.generate(t))}async run(t){this.renderer||(this.renderer=new this.rendererClass(this.tasks,this.rendererClassOptions,this.events)),await this.renderer.render(),this.ctx=this.options?.ctx??t??{};try{await Promise.all(this.tasks.map((t=>t.check(this.ctx)))),await Promise.all(this.tasks.map((t=>this.concurrency.add((()=>this.runTask(t)))))),this.renderer.end(),this.removeSignalHandler()}catch(t){if(!1!==this.options.exitOnError)throw this.renderer.end(t),this.removeSignalHandler(),t}return this.ctx}generate(t){return(t=Array.isArray(t)?t:[t]).map((t=>{let e;return this.rendererSelection===ListrRendererSelection.PRIMARY?e=t.rendererOptions:this.rendererSelection===ListrRendererSelection.SECONDARY&&(e=t.fallbackRendererOptions),new Task(this,t,this.options,this.rendererClassOptions,e)}))}async runTask(t){if(await t.check(this.ctx))return new TaskWrapper(t).run(this.ctx)}signalHandler(){this.tasks?.forEach((async t=>{t.isPending()&&(t.state$=ListrTaskState.FAILED)})),this.isRoot()&&(this.renderer?.end(new Error("Interrupted.")),process.exit(127))}removeSignalHandler(){this.boundSignalHandler&&process.removeListener("SIGINT",this.boundSignalHandler)}};export{ANSI_ESCAPE,ANSI_ESCAPE_CODES,BaseEventMap,Concurrency,DefaultRenderer,EventManager,LISTR_DEFAULT_RENDERER_STYLE,LISTR_LOGGER_STDERR_LEVELS,LISTR_LOGGER_STYLE,Listr,ListrDefaultRendererLogLevels,ListrEnvironmentVariables,ListrError,ListrErrorTypes,ListrEventManager,ListrEventType,ListrLogLevels,ListrLogger,ListrPromptAdapter,ListrRendererError,ListrRendererSelection,ListrTaskEventManager,ListrTaskEventType,ListrTaskState,PRESET_TIMER,PRESET_TIMESTAMP,ProcessOutput,ProcessOutputBuffer,ProcessOutputStream,PromptError,SilentRenderer,SimpleRenderer,Spinner,TestRenderer,TestRendererSerializer,VerboseRenderer,assertFunctionOrSelf,cleanseAnsi,cloneObject,color,createWritable,delay,figures,getRenderer,getRendererClass,indent,isObservable,isReadable,isUnicodeSupported,parseTimer,parseTimestamp,splat};
//# sourceMappingURL=/sm/e2f62103752b1da724169efc11eee2bc57886a71516ece399c94a0942d9a4d50.map