tasuku 3.0.0-beta.1 → 3.0.0-beta.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/README.md CHANGED
@@ -58,7 +58,7 @@ npm i tasuku
58
58
 
59
59
  ## Quick start
60
60
 
61
- タスク (Tasuku) is a minimal task runner for Node.js. Call `task()` from anywhere to display loading, success, and error states in the terminal:
61
+ タスク (Tasuku) is a minimal task runner for Node.js. Call `task()` from anywhere to display loading, success, error, and skipped states in the terminal:
62
62
 
63
63
  ```ts
64
64
  import task from 'tasuku'
@@ -87,7 +87,7 @@ Hide
87
87
  Type "node {file}"
88
88
  Enter
89
89
  Show
90
- Sleep 3s
90
+ Sleep 4s
91
91
  -->
92
92
 
93
93
  ```js
@@ -125,8 +125,8 @@ export const seed = (count: number) => task('Seeding data', async () => {
125
125
  ```
126
126
  ```ts
127
127
  // deploy.ts
128
- import { migrate, seed } from './db.js'
129
128
  import task from 'tasuku'
129
+ import { migrate, seed } from './db.js'
130
130
 
131
131
  await task('Deploy', async () => {
132
132
  await migrate('./migrations') // automatically nested under "Deploy"
@@ -220,7 +220,7 @@ Returns a `TaskPromise<T>` — a Promise that resolves to `T` (the task function
220
220
  ```ts
221
221
  type TaskPromise<T> = Promise<T> & {
222
222
  // State of the task
223
- state: 'loading' | 'error' | 'warning' | 'success'
223
+ state: 'loading' | 'error' | 'warning' | 'success' | 'skipped'
224
224
 
225
225
  // Warning message if state is 'warning', otherwise undefined
226
226
  warning: string | undefined
@@ -228,6 +228,9 @@ type TaskPromise<T> = Promise<T> & {
228
228
  // Error message if state is 'error', otherwise undefined
229
229
  error: string | undefined
230
230
 
231
+ // Skip message if state is 'skipped', otherwise undefined
232
+ skipped: string | undefined
233
+
231
234
  // Clear the task from the terminal. Returns the promise for chaining.
232
235
  // If the task is still running, clears automatically on completion.
233
236
  clear: () => TaskPromise<T>
@@ -257,6 +260,7 @@ type TaskFunction = (api: {
257
260
  setOutput(output: string | { message: string }): void
258
261
  setWarning(warning?: Error | string | false | null): void
259
262
  setError(error?: Error | string | false | null): void
263
+ skip(message?: string): never
260
264
  streamPreview: Writable & { clear(): void }
261
265
  startTime(): void
262
266
  stopTime(): number
@@ -410,6 +414,29 @@ Call with a string or Error to put the task in a warning state. Call with no arg
410
414
 
411
415
  Call with a string or Error to put the task in an error state. Call with no argument (or a falsy value) to revert to loading state. Tasks automatically enter error state when an uncaught error is thrown.
412
416
 
417
+ #### skip()
418
+
419
+ Skip the task entirely. Throws internally so no `return` is needed — code after `skip()` is unreachable. The task transitions to skipped state and the promise resolves with `undefined`.
420
+
421
+ ```ts
422
+ await task('Compile', async ({ skip }) => {
423
+ if (cacheValid) { skip('cache hit') }
424
+ await compile()
425
+ })
426
+ ```
427
+
428
+ Pass an optional message to explain why the task was skipped. The message is accessible via the `skipped` property on the returned promise:
429
+
430
+ ```ts
431
+ const p = task('Deploy', async ({ skip }) => {
432
+ if (!hasChanges) { skip('no changes') }
433
+ await deploy()
434
+ })
435
+ await p
436
+
437
+ console.log(p.skipped) // 'no changes'
438
+ ```
439
+
413
440
  #### startTime()
414
441
 
415
442
  Start or restart the elapsed time counter. Calling again resets to 0. Time is displayed after the status: `⠋ Task [status] (3s)`
@@ -608,14 +635,15 @@ await task('my title', async ({ setTitle, setStatus, setOutput }) => {
608
635
  | Success | ✔ | Completed without error |
609
636
  | Warning | ⚠ | Completed with a warning |
610
637
  | Error | ✖ | Exited with an error |
638
+ | Skipped | ⊘ | Intentionally skipped |
611
639
 
612
640
  <p align="center" demo>
613
- <img src=".github/media/task-states.gif" width="600" alt="Terminal showing all five task states: success, warning, error, loading, and pending">
641
+ <img src=".github/media/task-states.gif" width="600" alt="Terminal showing all six task states: success, warning, error, skipped, loading, and pending">
614
642
  <details>
615
643
  <summary>View code</summary>
616
644
 
617
645
  <!-- @vhs
618
- Set Height 480
646
+ Set Height 560
619
647
  Set TypingSpeed 0
620
648
  Hide
621
649
  Type "node {file}"
@@ -644,6 +672,10 @@ const tasks = task.group(task => [
644
672
  setError(new Error('Something went wrong'))
645
673
  }),
646
674
 
675
+ task('Skipped task', async ({ skip }) => {
676
+ skip('Not needed')
677
+ }),
678
+
647
679
  task('Loading task', async () => {
648
680
  await setTimeout(5000)
649
681
  }),
@@ -904,6 +936,7 @@ type TasukuTheme = {
904
936
  success: string
905
937
  error: string
906
938
  warning: string
939
+ skipped: string
907
940
  parent: string // Parent task with children
908
941
  parentError: string // Parent task in error state
909
942
  }
@@ -911,6 +944,8 @@ type TasukuTheme = {
911
944
  title?: (text: string, state: State, frame: number) => string
912
945
  dim: (text: string) => string // Status, elapsed time
913
946
  secondary: (text: string) => string // Output text, stream preview
947
+ error?: (text: string) => string // Error output message
948
+ warning?: (text: string) => string // Warning output message
914
949
  }
915
950
  }
916
951
  ```
@@ -0,0 +1 @@
1
+ import{b as s}from"./index-D7F2xFGS.mjs";const t=s(215,119,87),a=s(255,255,255),o=s(80,80,80),c=s(153,153,153),n=s(78,186,101),r=s(255,107,128),e=s(255,193,7);export{n as a,a as b,r as e,c as i,o as s,t,e as w};
package/dist/create.d.mts CHANGED
@@ -1,5 +1,5 @@
1
- import { C as CreateTasukuOptions, T as Task, g as RendererFactory } from './types-BC9OrTGg.mjs';
2
- export { R as Renderer, f as TasukuTheme } from './types-BC9OrTGg.mjs';
1
+ import { C as CreateTasukuOptions, T as Task, a as RendererFactory } from './types-CHLyZVi8.mjs';
2
+ export { R as Renderer, g as TasukuTheme } from './types-CHLyZVi8.mjs';
3
3
  import 'node:stream';
4
4
 
5
5
  declare const createTasuku: ({ theme, renderer: rendererFactory, outputStream, }: CreateTasukuOptions) => Task;
package/dist/create.mjs CHANGED
@@ -1 +1 @@
1
- import{c as a}from"./patch-console-PhLhxtc5.mjs";import{p as s}from"./pinned-DCoOgkO1.mjs";import{i as x}from"./inline-SSRUlOZv.mjs";import"node:async_hooks";import"os";import"node:stream";import"node:process";import"node:os";export{a as createTasuku,x as inline,s as pinned};
1
+ import{c as m}from"./patch-console-BZRKJTPe.mjs";import{p as n}from"./pinned-C8CAzwc9.mjs";import{i as f}from"./inline-DgxsObjS.mjs";import"node:async_hooks";import"node:stream";import"node:process";import"node:os";export{m as createTasuku,f as inline,n as pinned};
@@ -0,0 +1 @@
1
+ import{r as u,y as r,g as e,a,d as n}from"./index-D7F2xFGS.mjs";const o={spinner:["\u280B","\u2819","\u2839","\u2838","\u283C","\u2834","\u2826","\u2827","\u2807","\u280F"].map(s=>r(s)),icons:{pending:e("\u25FC"),success:a("\u2714"),error:u("\u2716"),warning:r("\u26A0"),skipped:e("\u2298"),parent:r("\u276F"),parentError:u("\u276F")},colors:{dim:n,secondary:e,error:u,warning:r}};export{o as t};
@@ -1,4 +1,4 @@
1
- import { f as TasukuTheme } from './types-BC9OrTGg.mjs';
1
+ import { g as TasukuTheme } from './types-CHLyZVi8.mjs';
2
2
 
3
3
  declare const theme: TasukuTheme;
4
4
 
@@ -0,0 +1,2 @@
1
+ var z=Object.defineProperty;var s=(p,M)=>z(p,"name",{value:M,configurable:!0});function J(p){return p&&p.__esModule&&Object.prototype.hasOwnProperty.call(p,"default")?p.default:p}s(J,"getDefaultExportFromCjs");var j={exports:{}},N;function K(){if(N)return j.exports;N=1;let p,M,k,{defineProperty:U,setPrototypeOf:G,create:Y,keys:F}=Object,y="",{round:x,max:S}=Math,_=s(n=>{let r=/([a-f\d]{3,6})/i.exec(n)?.[1],i=r?.length,o=parseInt(6^i?3^i?"0":r[0]+r[0]+r[1]+r[1]+r[2]+r[2]:r,16);return[o>>16&255,o>>8&255,255&o]},"p"),H=s((n,r,i)=>n^r||r^i?16+36*x(n/51)+6*x(r/51)+x(i/51):8>n?16:n>248?231:x(24*(n-8)/247)+232,"u"),A=s(n=>{let r,i,o,a,e;return 8>n?30+n:16>n?n-8+90:(232>n?(e=(n-=16)%36,r=(n/36|0)/5,i=(e/6|0)/5,o=e%6/5):r=i=o=(10*(n-232)+8)/255,a=2*S(r,i,o),a?30+(x(o)<<2|x(i)<<1|x(r))+(2^a?0:60):30)},"d"),W=(()=>{let n=s(g=>o.some((c=>g.test(c))),"r2"),r=globalThis,i=r.process??{},o=i.argv??[],a=i.env??{},e=-1;try{p=","+F(a).join(",")}catch{a={},e=0}let b="FORCE_COLOR",B={false:0,0:0,1:1,2:2,3:3}[a[b]]??-1,f=b in a&&B||n(/^--color=?(true|always)?$/);return f&&(e=B),~e||(e=((g,c,d)=>(M=g.TERM,{"24bit":3,truecolor:3,ansi256:2,ansi:1}[g.COLORTERM]||(g.CI?/,GITHUB/.test(p)?3:1:c&&M!=="dumb"?d?3:/-256/.test(M)?2:1:0)))(a,!!a.PM2_HOME||a.NEXT_RUNTIME?.includes("edge")||!!i.stdout?.isTTY,i.platform==="win32")),!B||a.NO_COLOR||n(/^--(no-color|color=(false|never))$/)?0:r.window?.chrome||f&&!e?3:e})(),P={open:y,close:y},m=39,v=49,q={},L=s(({p:n},{open:r,close:i})=>{let o=s((b,...B)=>{if(!b){if(r&&r===i)return r;if((b??y)===y)return y}let f,g=b.raw?String.raw({raw:b},...B):y+b,c=o.p,d=c.o,R=c.c;if(g.includes("\x1B"))for(;c;c=c.p){let{open:$,close:C}=c,w=C.length,E=y,O=0;if(w)for(;~(f=g.indexOf(C,O));O=f+w)E+=g.slice(O,f)+$;g=E+g.slice(O)}return d+(g.includes(`
2
+ `)?g.replace(/(\r?\n)/g,R+"$1"+d):g)+R},"o2"),a=r,e=i;return n&&(a=n.o+r,e=i+n.c),G(o,k),o.p={open:r,close:i,o:a,c:e,p:n},o.open=a,o.close=e,o},"m");const I=new(s(function n(r=W){let i={Ansis:n,level:r,isSupported:s(()=>a,"isSupported"),strip:s(t=>t.replace(/[›][[()#;?]*(?:[0-9]{1,4}(?:;[0-9]{0,4})*)?[0-9A-ORZcf-nqry=><]/g,y),"strip"),extend(t){for(let l in t){let u=t[l],h=(typeof u)[0];h==="s"?(o(l,c(..._(u))),o(E(l),d(..._(u)))):o(l,u,h==="f")}return k=Y({},q),G(i,k),i}},o=s((t,l,u)=>{q[t]={get(){let h=u?(...T)=>L(this,l(...T)):L(this,l);return U(this,t,{value:h}),h}}},"c2"),a=r>0,e=s((t,l)=>a?{open:`\x1B[${t}m`,close:`\x1B[${l}m`}:P,"w2"),b=s(t=>l=>t(..._(l)),"y"),B=s((t,l)=>(u,h,T)=>e(`${t}8;2;${u};${h};${T}`,l),"R"),f=s((t,l)=>(u,h,T)=>e(((D,X,Z)=>A(H(D,X,Z)))(u,h,T)+t,l),"$"),g=s(t=>(l,u,h)=>t(H(l,u,h)),"x"),c=B(3,m),d=B(4,v),R=s(t=>e("38;5;"+t,m),"C"),$=s(t=>e("48;5;"+t,v),"E");r===2?(c=g(R),d=g($)):r===1&&(c=f(0,m),d=f(10,v),R=s(t=>e(A(t),m),"C"),$=s(t=>e(A(t)+10,v),"E"));let C,w={fg:R,bg:$,rgb:c,bgRgb:d,hex:b(c),bgHex:b(d),visible:P,reset:e(0,0),bold:e(1,22),dim:e(2,22),italic:e(3,23),underline:e(4,24),inverse:e(7,27),hidden:e(8,28),strikethrough:e(9,29)},E=s(t=>"bg"+t[0].toUpperCase()+t.slice(1),"_"),O="Bright";return"black,red,green,yellow,blue,magenta,cyan,white,gray".split(",").map(((t,l)=>{C=E(t),8>l?(w[t+O]=e(90+l,m),w[C+O]=e(100+l,v)):l=60,w[t]=e(30+l,m),w[C]=e(40+l,v)})),i.extend(w)},"e2"));return j.exports=I,I.default=I,j.exports}s(K,"requireAnsis");var Q=K(),V=J(Q);const{Ansis:oe,fg:ae,bg:ge,rgb:ee,bgRgb:ce,hex:ue,bgHex:be,reset:he,inverse:pe,hidden:de,visible:fe,bold:ye,dim:re,italic:Be,underline:we,strikethrough:xe,black:Oe,red:te,green:ne,yellow:ie,blue:me,magenta:ve,cyan:Re,white:Ce,gray:le,redBright:Me,greenBright:$e,yellowBright:Ee,blueBright:Te,magentaBright:ke,cyanBright:_e,whiteBright:Ae,bgBlack:Ie,bgRed:je,bgGreen:Ge,bgYellow:He,bgBlue:Pe,bgMagenta:qe,bgCyan:Le,bgWhite:Ne,bgGray:Ue,bgRedBright:Ye,bgGreenBright:Fe,bgYellowBright:Se,bgBlueBright:We,bgMagentaBright:De,bgCyanBright:Xe,bgWhiteBright:Ze}=V;export{ne as a,ee as b,re as d,le as g,te as r,ie as y};
package/dist/index.d.mts CHANGED
@@ -1,6 +1,6 @@
1
- import { T as Task, C as CreateTasukuOptions } from './types-BC9OrTGg.mjs';
2
- export { R as Renderer, g as RendererFactory, S as State, c as TaskFunction, d as TaskGroupPromise, b as TaskInnerAPI, e as TaskOptions, a as TaskPromise, f as TasukuTheme } from './types-BC9OrTGg.mjs';
3
- export { t as theme } from './default-CFIL_U8K.mjs';
1
+ import { C as CreateTasukuOptions, T as Task } from './types-CHLyZVi8.mjs';
2
+ export { R as Renderer, a as RendererFactory, S as State, b as TaskFunction, c as TaskGroupPromise, d as TaskInnerAPI, e as TaskOptions, f as TaskPromise, g as TasukuTheme } from './types-CHLyZVi8.mjs';
3
+ export { t as theme } from './default-Dsddpx1H.mjs';
4
4
  import 'node:stream';
5
5
 
6
6
  declare const createTasuku: (overrides?: Partial<CreateTasukuOptions>) => Task;
package/dist/index.mjs CHANGED
@@ -1 +1 @@
1
- var i=Object.defineProperty;var t=(r,p)=>i(r,"name",{value:p,configurable:!0});import{c as o}from"./patch-console-PhLhxtc5.mjs";import{p as m}from"./pinned-DCoOgkO1.mjs";import{t as e}from"./default-BEjMJA3x.mjs";import"node:async_hooks";import"os";import"node:stream";import"node:process";import"node:os";import"./index-DliZudNt.mjs";const a=t(r=>o({renderer:m,theme:e,...r}),"createTasuku");var s=o({renderer:m,theme:e});export{a as createTasuku,s as default,e as theme};
1
+ var a=Object.defineProperty;var t=(r,p)=>a(r,"name",{value:p,configurable:!0});import{c as o}from"./patch-console-BZRKJTPe.mjs";import{p as m}from"./pinned-C8CAzwc9.mjs";import{t as e}from"./default-C2LITu6I.mjs";import"node:async_hooks";import"node:stream";import"node:process";import"node:os";import"./index-D7F2xFGS.mjs";const i=t(r=>o({renderer:m,theme:e,...r}),"createTasuku");var s=o({renderer:m,theme:e});export{i as createTasuku,s as default,e as theme};
@@ -0,0 +1,4 @@
1
+ var U=Object.defineProperty;var c=(o,r)=>U(o,"name",{value:r,configurable:!0});import{s as X,p as _,a as j,i as q,b as O,g as z,f as E,d as G}from"./patch-console-BZRKJTPe.mjs";const k=c((o,r)=>{let a=0,h="",e=0;for(;e<o.length;){const l=o[e];if(l==="\x1B"&&e+1<o.length){const u=o[e+1];switch(u){case"[":{for(h+=l+u,e+=2;e<o.length&&(h+=o[e],!(o[e]>="@"&&o[e]<="~"));)e+=1;break}case"]":case"P":case"_":case"^":case"X":{for(h+=l+u,e+=2;e<o.length&&(h+=o[e],o[e]!=="\x07");){if(o[e]==="\x1B"&&e+1<o.length&&o[e+1]==="\\"){h+=o[e+1],e+=1;break}e+=1}break}case"(":case")":case"*":case"+":{h+=l+u,e+=2,e<o.length&&(h+=o[e]);break}default:{h+=l+u,e+=1;break}}}else{const u=l.charCodeAt(0),d=u>=55296&&u<=56319&&e+1<o.length?l+o[e+1]:l,p=u<128?1:X(d);if(a+p>r)break;h+=d,a+=p,d.length===2&&(e+=1)}e+=1}return h},"truncateLine"),y=c(o=>{let r=0;for(let a=0;a<o.length;a+=1)o[a]===`
2
+ `&&(r+=1);return r},"countNewlines"),H=c((o,r,a)=>{const e=r.isTTY===!0&&!q;let l=0,u=0,d,p,m;const x=new Map,$=new WeakSet,I=c((n,s)=>{const t=G(n,s,a);return t?(r.write(t),y(t)):0},"writeTaskOutput"),v=c((n,s)=>{const t=z(n.state,n.children.length>0,a,u);return E(n,t,s,a,l)},"getLine"),b=c((n,s=1)=>{for(const[,t]of x)t.offset>=s&&(t.offset+=n)},"incrementOffsets"),A=c((n,s)=>{const t=r.columns||80;b(1),r.write(`${k(v(n,s),t-1)}
3
+ `),x.set(n,{offset:1,depth:s,outputWritten:!1})},"appendLineAtRest"),D=c((n,s,t)=>{const w=r.columns||80,g=(r.rows||24)-1;if(t-1>g){A(n,s);return}const T=k(v(n,s),w-1);b(1,t);const f=t-1;let i="";f>0&&(i+=`\x1B[${f}A`),i+=`\x1B[L${T}\x1B[${t}B\r`,r.write(i),x.set(n,{offset:t,depth:s,outputWritten:!1})},"insertLineAfterOffset"),R=c((n,s)=>{const t=(r.rows||24)-1;n.offset>t||r.write(`\x1B[${n.offset}A\r\x1B[2K${s}\x1B[${n.offset}B\r`)},"updateLineInPlace"),K=c(()=>{let n=0;for(const[,s]of x)s.outputWritten||(n+=1);return n},"countActiveTasks"),C=c((n,s,t)=>{const w=r.columns||80,g=t!==void 0;let T=t;for(const f of n){if(f.state==="pending")continue;let i=x.get(f);if(!i){if(m!==void 0&&K()>=m)continue;g?D(f,s,T):A(f,s),i=x.get(f)}let F=i.offset;if(f.children.length>0){const B=C(f.children,s+1,i.offset);B!==void 0&&(F=B)}g&&(T=F);const M=O(f.state);if(M&&!i.outputWritten){R(i,k(v(f,i.depth),w-1));const B=I(f,i.depth);B>0&&b(B),i.outputWritten=!0}else!M&&i.outputWritten&&(i.outputWritten=!1)}return g?T:void 0},"processTaskList"),L=c(()=>{const n=r.columns||80,s=(r.rows||24)-1;let t="";for(const[w,g]of x){if(g.outputWritten||w.state!=="loading"||g.offset>s)continue;const T=k(v(w,g.depth),n-1);t+=`\x1B[${g.offset}A\r\x1B[2K${T}\x1B[${g.offset}B\r`}t&&r.write(t)},"renderSpinnerFrames"),N=c(()=>{C(o,0),L()},"renderTTY"),Y=c((n,s)=>{for(const t of n)$.has(t)||O(t.state)&&($.add(t),r.write(`${v(t,s)}
4
+ `),t.children.length>0&&Y(t.children,s+1),I(t,s))},"commitDoneTasksNonTTY"),P=c(()=>{e?N():Y(o,0)},"render");p=_(c((n,s)=>{if((n==="stderr"?process.stderr:process.stdout).write(s),e){const w=y(s);w>0&&b(w)}},"handleConsoleOutput"));const V=c(()=>{d||!e||(d=setInterval(()=>{l+=1,u=l%a.spinner.length,L()},a.spinnerInterval??80),d.unref())},"startSpinner"),W=c(()=>{P(),j(o)?d&&(clearInterval(d),d=void 0):V()},"renderAndManageSpinner");return{triggerRender:W,flushRender:W,renderFinal:W,destroy:c(()=>{clearInterval(d),d=void 0,p?.(),p=void 0,x.clear()},"destroy"),setMaxVisible:c(n=>{m=typeof n=="number"?n:void 0},"setMaxVisible")}},"inline");export{H as i};
package/dist/inline.d.mts CHANGED
@@ -1,6 +1,6 @@
1
- import { T as Task, C as CreateTasukuOptions } from './types-BC9OrTGg.mjs';
2
- export { R as Renderer, g as RendererFactory, S as State, c as TaskFunction, d as TaskGroupPromise, b as TaskInnerAPI, e as TaskOptions, a as TaskPromise, f as TasukuTheme } from './types-BC9OrTGg.mjs';
3
- export { t as theme } from './default-CFIL_U8K.mjs';
1
+ import { C as CreateTasukuOptions, T as Task } from './types-CHLyZVi8.mjs';
2
+ export { R as Renderer, a as RendererFactory, S as State, b as TaskFunction, c as TaskGroupPromise, d as TaskInnerAPI, e as TaskOptions, f as TaskPromise, g as TasukuTheme } from './types-CHLyZVi8.mjs';
3
+ export { t as theme } from './default-Dsddpx1H.mjs';
4
4
  import 'node:stream';
5
5
 
6
6
  declare const createTasuku: (overrides?: Partial<CreateTasukuOptions>) => Task;
package/dist/inline.mjs CHANGED
@@ -1 +1 @@
1
- var a=Object.defineProperty;var t=(r,m)=>a(r,"name",{value:m,configurable:!0});import{c as i}from"./patch-console-PhLhxtc5.mjs";import{i as o}from"./inline-SSRUlOZv.mjs";import{t as e}from"./default-BEjMJA3x.mjs";import"node:async_hooks";import"os";import"node:stream";import"./index-DliZudNt.mjs";const p=t(r=>i({renderer:o,theme:e,...r}),"createTasuku");var n=i({renderer:o,theme:e});export{p as createTasuku,n as default,e as theme};
1
+ var m=Object.defineProperty;var t=(r,a)=>m(r,"name",{value:a,configurable:!0});import{c as i}from"./patch-console-BZRKJTPe.mjs";import{i as o}from"./inline-DgxsObjS.mjs";import{t as e}from"./default-C2LITu6I.mjs";import"node:async_hooks";import"node:stream";import"./index-D7F2xFGS.mjs";const n=t(r=>i({renderer:o,theme:e,...r}),"createTasuku");var p=i({renderer:o,theme:e});export{n as createTasuku,p as default,e as theme};
@@ -0,0 +1,8 @@
1
+ var Y=Object.defineProperty;var o=(e,r)=>Y(e,"name",{value:r,configurable:!0});import{AsyncLocalStorage as Z}from"node:async_hooks";import{Writable as _}from"node:stream";async function H(e,r,{concurrency:n=Number.POSITIVE_INFINITY,stopOnError:s=!0,signal:t}={}){return new Promise((c,g)=>{if(e[Symbol.iterator]===void 0&&e[Symbol.asyncIterator]===void 0)throw new TypeError(`Expected \`input\` to be either an \`Iterable\` or \`AsyncIterable\`, got (${typeof e})`);if(typeof r!="function")throw new TypeError("Mapper function is required");if(!(Number.isSafeInteger(n)&&n>=1||n===Number.POSITIVE_INFINITY))throw new TypeError(`Expected \`concurrency\` to be an integer from 1 and up or \`Infinity\`, got \`${n}\` (${typeof n})`);const u=[],l=[],y=new Map;let M=!1,T=!1,i=!1,m=0,w=0;const p=e[Symbol.iterator]===void 0?e[Symbol.asyncIterator]():e[Symbol.iterator](),d=o(()=>{h(t.reason)},"signalListener"),a=o(()=>{t?.removeEventListener("abort",d)},"cleanup"),E=o(b=>{c(b),a()},"resolve"),h=o(b=>{M=!0,T=!0,g(b),a()},"reject");t&&(t.aborted&&h(t.reason),t.addEventListener("abort",d,{once:!0}));const $=o(async()=>{if(T)return;const b=await p.next(),x=w;if(w++,b.done){if(i=!0,m===0&&!T){if(!s&&l.length>0){h(new AggregateError(l));return}if(T=!0,y.size===0){E(u);return}const R=[];for(const[v,I]of u.entries())y.get(v)!==B&&R.push(I);E(R)}return}m++,(async()=>{try{const R=await b.value;if(T)return;const v=await r(R,x);v===B&&y.set(x,v),u[x]=v,m--,await $()}catch(R){if(s)h(R);else{l.push(R),m--;try{await $()}catch(v){h(v)}}}})()},"next");(async()=>{for(let b=0;b<n;b++){try{await $()}catch(x){h(x);break}if(i||M)break}})()})}o(H,"pMap");const B=Symbol("skip"),K=o((e,r)=>new Proxy(e,{set(n,s,t){const c=Reflect.get(n,s);return Reflect.set(n,s,t),c!==t&&r(),!0}}),"reactive"),F=o(e=>e==="success"||e==="error"||e==="warning"||e==="skipped","isTerminalState"),D=o(e=>{for(const r of e)if(r.state==="loading"||r.state==="pending"||r.children&&r.children.length>0&&!D(r.children))return!1;return!0},"areAllTasksDone"),Q=5,k=o((e,r)=>{const n=[];let s=0,t="";const c=o(l=>l.split("\r").reverse().find(Boolean)??"","resolveCarriageReturn"),g=o(()=>{const l=t.includes("\r")?c(t):t,y=l?[...n,l].join(`
2
+ `):n.join(`
3
+ `);e.streamOutput=y,e.streamTruncatedLines=Math.max(0,s-r)},"flush"),u=new _({write(l,y,M){const i=(t+l.toString()).split(/\r?\n/);t=i.pop();for(const m of i){const w=m.includes("\r")?c(m):m;n.push(w),s+=1,n.length>r&&n.shift()}if(t.includes("\r")){const m=c(t);t=t.endsWith("\r")?`${m}\r`:m}(i.length>0||t)&&g(),M()},final(l){if(t){const y=t.includes("\r")?c(t):t;n.push(y),s+=1,n.length>r&&n.shift(),t="",g()}l()}});return u.clear=()=>{n.length=0,s=0,t="",e.streamOutput=void 0,e.streamTruncatedLines=void 0},u},"createStreamPreview");class j{static{o(this,"TaskSkipError")}message;constructor(r){this.message=r??""}}const J=o(({theme:e,renderer:r,outputStream:n})=>{const s=new Z;let t;const c=o(()=>{t?.triggerRender()},"triggerRender"),g=o((i,m,w)=>{let p;const d={signal:m,setTitle(a){i.title=a},setStatus(a){i.status=a},setOutput(a){i.output=typeof a=="string"?a:a.message},get streamPreview(){return p||(p=k(i,Math.max(1,Math.trunc(w?.previewLines??Q)))),p},setWarning(a){a?(d.setOutput(a),i.state="warning"):(i.state="loading",i.output=void 0)},setError(a){a?(d.setOutput(a),i.state="error"):(i.state="loading",i.output=void 0)},skip(a){throw new j(a)},startTime:o(()=>{i.startedAt=Date.now(),i.elapsedMs=void 0},"startTime"),stopTime:o(()=>i.startedAt===void 0?0:(i.elapsedMs=Date.now()-i.startedAt,i.startedAt=void 0,i.elapsedMs),"stopTime")};return{api:d,dispose:o(()=>p?.destroy(),"dispose")}},"createTaskInnerApi"),u=o(i=>{t||(t=r(i,n??process.stderr,e),i.isRoot=!0)},"ensureRenderer"),l=o((i,m,w,p)=>{const d=K({title:m,state:"pending",children:[]},c);return i.push(d),{task:d,run:o(async a=>{const E=s.getStore()?.abortController.signal,h=new AbortController,$=[a,p?.signal,E].filter(Boolean),b=o(function(){h.abort(this.reason)},"forwardAbort");for(const f of $){if(f.aborted){h.abort(f.reason);break}f.addEventListener("abort",b)}const x=o(()=>{for(const f of $)f.removeEventListener("abort",b)},"cleanupSignalListeners"),{signal:R}=h,{api:v,dispose:I}=g(d,R,p);d.state="loading",p?.showTime&&v.startTime();let P;try{P=await s.run({children:d.children,abortController:h},()=>w(v))}catch(f){if(f instanceof j){v.stopTime(),f.message&&(d.output=f.message),d.state="skipped",I(),x(),t?.flushRender();return}throw h.abort(f),v.stopTime(),v.setError(f instanceof Error||typeof f=="object"&&f!==null&&"message"in f&&typeof f.message=="string"?f:String(f)),I(),x(),t?.flushRender(!0),f}return v.stopTime(),I(),x(),d.state==="loading"&&(d.state="success"),t?.flushRender(),P},"run"),clear:o(()=>{const a=i.indexOf(d);a!==-1&&i.splice(a,1),t&&(i.isRoot&&i.length===0?(t.renderFinal(),t.destroy(),t=void 0):t.triggerRender())},"clear")}},"registerTask"),y=o(i=>{const w=i.run();return Object.defineProperties(w,{state:{get:o(()=>i.task.state,"get"),enumerable:!0,configurable:!0},warning:{get:o(()=>i.task.state==="warning"?i.task.output:void 0,"get"),enumerable:!0,configurable:!0},error:{get:o(()=>i.task.state==="error"?i.task.output:void 0,"get"),enumerable:!0,configurable:!0},skipped:{get:o(()=>i.task.state==="skipped"?i.task.output:void 0,"get"),enumerable:!0,configurable:!0},clear:{value:o(()=>{const{state:p}=i.task;return F(p)?i.clear():w.finally(()=>i.clear()).catch(()=>{}),w},"value"),enumerable:!0,configurable:!0}}),w},"createTaskPromise");return o(i=>{const m=o((w,p,d)=>{const a=s.getStore()?.children??i;u(a);const E=l(a,w,p,d);return y(E)},"task");return m.group=((w,p)=>{const d=s.getStore()?.children??i;u(d);const a=w((f,C,z)=>l(d,f,C,z));p?.maxVisible!==void 0&&t&&t.setMaxVisible(p.maxVisible);const E=new AbortController,h=p?.signal,$=o(function(){E.abort(this.reason)},"forwardGroupAbort");h&&(h.aborted?E.abort(h.reason):h.addEventListener("abort",$));const b=E.signal,x=p?.stopOnError!==!1,I=H(a,async f=>{try{return await f.run(b)}catch(C){throw x&&E.abort(C),C}},{concurrency:p?.concurrency??1,stopOnError:x,signal:b}).finally(()=>{h&&h.removeEventListener("abort",$)}),P=o(()=>{for(const f of a)f.clear();p?.maxVisible!==void 0&&t&&t.setMaxVisible(void 0)},"clearAll");return Object.assign(I,{clear:o(()=>(a.every(({task:C})=>F(C.state))?P():I.finally(()=>P()).catch(()=>{}),I),"clear")}),I}),m},"createTaskFunction")([])},"createTasuku");function X({onlyFirst:e=!1}={}){const t="(?:\\u001B\\][\\s\\S]*?(?:\\u0007|\\u001B\\u005C|\\u009C))|[\\u001B\\u009B][[\\]()#;?]*(?:\\d{1,4}(?:[;:]\\d{0,4})*)?[\\dA-PR-TZcf-nq-uy=><~]";return new RegExp(t,e?void 0:"g")}o(X,"ansiRegex");const ee=X();function te(e){if(typeof e!="string")throw new TypeError(`Expected a \`string\`, got \`${typeof e}\``);return!e.includes("\x1B")&&!e.includes("\x9B")?e:e.replace(ee,"")}o(te,"stripAnsi");const O=[161,161,164,164,167,168,170,170,173,174,176,180,182,186,188,191,198,198,208,208,215,216,222,225,230,230,232,234,236,237,240,240,242,243,247,250,252,252,254,254,257,257,273,273,275,275,283,283,294,295,299,299,305,307,312,312,319,322,324,324,328,331,333,333,338,339,358,359,363,363,462,462,464,464,466,466,468,468,470,470,472,472,474,474,476,476,593,593,609,609,708,708,711,711,713,715,717,717,720,720,728,731,733,733,735,735,768,879,913,929,931,937,945,961,963,969,1025,1025,1040,1103,1105,1105,8208,8208,8211,8214,8216,8217,8220,8221,8224,8226,8228,8231,8240,8240,8242,8243,8245,8245,8251,8251,8254,8254,8308,8308,8319,8319,8321,8324,8364,8364,8451,8451,8453,8453,8457,8457,8467,8467,8470,8470,8481,8482,8486,8486,8491,8491,8531,8532,8539,8542,8544,8555,8560,8569,8585,8585,8592,8601,8632,8633,8658,8658,8660,8660,8679,8679,8704,8704,8706,8707,8711,8712,8715,8715,8719,8719,8721,8721,8725,8725,8730,8730,8733,8736,8739,8739,8741,8741,8743,8748,8750,8750,8756,8759,8764,8765,8776,8776,8780,8780,8786,8786,8800,8801,8804,8807,8810,8811,8814,8815,8834,8835,8838,8839,8853,8853,8857,8857,8869,8869,8895,8895,8978,8978,9312,9449,9451,9547,9552,9587,9600,9615,9618,9621,9632,9633,9635,9641,9650,9651,9654,9655,9660,9661,9664,9665,9670,9672,9675,9675,9678,9681,9698,9701,9711,9711,9733,9734,9737,9737,9742,9743,9756,9756,9758,9758,9792,9792,9794,9794,9824,9825,9827,9829,9831,9834,9836,9837,9839,9839,9886,9887,9919,9919,9926,9933,9935,9939,9941,9953,9955,9955,9960,9961,9963,9969,9972,9972,9974,9977,9979,9980,9982,9983,10045,10045,10102,10111,11094,11097,12872,12879,57344,63743,65024,65039,65533,65533,127232,127242,127248,127277,127280,127337,127344,127373,127375,127376,127387,127404,917760,917999,983040,1048573,1048576,1114109],L=[12288,12288,65281,65376,65504,65510],S=[4352,4447,8986,8987,9001,9002,9193,9196,9200,9200,9203,9203,9725,9726,9748,9749,9776,9783,9800,9811,9855,9855,9866,9871,9875,9875,9889,9889,9898,9899,9917,9918,9924,9925,9934,9934,9940,9940,9962,9962,9970,9971,9973,9973,9978,9978,9981,9981,9989,9989,9994,9995,10024,10024,10060,10060,10062,10062,10067,10069,10071,10071,10133,10135,10160,10160,10175,10175,11035,11036,11088,11088,11093,11093,11904,11929,11931,12019,12032,12245,12272,12287,12289,12350,12353,12438,12441,12543,12549,12591,12593,12686,12688,12773,12783,12830,12832,12871,12880,42124,42128,42182,43360,43388,44032,55203,63744,64255,65040,65049,65072,65106,65108,65126,65128,65131,94176,94180,94192,94198,94208,101589,101631,101662,101760,101874,110576,110579,110581,110587,110589,110590,110592,110882,110898,110898,110928,110930,110933,110933,110948,110951,110960,111355,119552,119638,119648,119670,126980,126980,127183,127183,127374,127374,127377,127386,127488,127490,127504,127547,127552,127560,127568,127569,127584,127589,127744,127776,127789,127797,127799,127868,127870,127891,127904,127946,127951,127955,127968,127984,127988,127988,127992,128062,128064,128064,128066,128252,128255,128317,128331,128334,128336,128359,128378,128378,128405,128406,128420,128420,128507,128591,128640,128709,128716,128716,128720,128722,128725,128728,128732,128735,128747,128748,128756,128764,128992,129003,129008,129008,129292,129338,129340,129349,129351,129535,129648,129660,129664,129674,129678,129734,129736,129736,129741,129756,129759,129770,129775,129784,131072,196605,196608,262141],W=o((e,r)=>{let n=0,s=Math.floor(e.length/2)-1;for(;n<=s;){const t=Math.floor((n+s)/2),c=t*2;if(r<e[c])s=t-1;else if(r>e[c+1])n=t+1;else return!0}return!1},"isInRange"),ne=O[0],re=O.at(-1),oe=L[0],se=L.at(-1),ie=S[0],ce=S.at(-1),V=19968,[ae,ue]=le(S);function le(e){let r=e[0],n=e[1];for(let s=0;s<e.length;s+=2){const t=e[s],c=e[s+1];if(V>=t&&V<=c)return[t,c];c-t>n-r&&(r=t,n=c)}return[r,n]}o(le,"findWideFastPathRange");const fe=o(e=>e<ne||e>re?!1:W(O,e),"isAmbiguous"),de=o(e=>e<oe||e>se?!1:W(L,e),"isFullWidth"),pe=o(e=>e>=ae&&e<=ue?!0:e<ie||e>ce?!1:W(S,e),"isWide");function ge(e){if(!Number.isSafeInteger(e))throw new TypeError(`Expected a code point, got \`${typeof e}\`.`)}o(ge,"validate");function q(e,{ambiguousAsWide:r=!1}={}){return ge(e),de(e)||pe(e)||r&&fe(e)?2:1}o(q,"eastAsianWidth");const me=new Intl.Segmenter,he=new RegExp("^(?:\\p{Default_Ignorable_Code_Point}|\\p{Control}|\\p{Format}|\\p{Mark}|\\p{Surrogate})+$","v"),we=new RegExp("^[\\p{Default_Ignorable_Code_Point}\\p{Control}\\p{Format}\\p{Mark}\\p{Surrogate}]+","v"),be=new RegExp("^\\p{RGI_Emoji}$","v"),ve=/^[\d#*]\u20E3$/,xe=new RegExp("\\p{Extended_Pictographic}","gu");function ye(e){if(e.length>50)return!1;if(ve.test(e))return!0;if(e.includes("\u200D")){const r=e.match(xe);return r!==null&&r.length>=2}return!1}o(ye,"isDoubleWidthNonRgiEmojiSequence");function Ee(e){return e.replace(we,"")}o(Ee,"baseVisible");function Re(e){return he.test(e)}o(Re,"isZeroWidthCluster");function Ie(e,r){let n=0;if(e.length>1)for(const s of e.slice(1))s>="\uFF00"&&s<="\uFFEF"&&(n+=q(s.codePointAt(0),r));return n}o(Ie,"trailingHalfwidthWidth");function $e(e,r={}){if(typeof e!="string"||e.length===0)return 0;const{ambiguousIsNarrow:n=!0,countAnsiEscapeCodes:s=!1}=r;let t=e;if(!s&&(t.includes("\x1B")||t.includes("\x9B"))&&(t=te(t)),t.length===0)return 0;if(/^[\u0020-\u007E]*$/.test(t))return t.length;let c=0;const g={ambiguousAsWide:!n};for(const{segment:u}of me.segment(t)){if(Re(u))continue;if(be.test(u)||ye(u)){c+=2;continue}const l=Ee(u).codePointAt(0);c+=q(l,g),c+=Ie(u,g)}return c}o($e,"stringWidth");const Te=o(e=>{const r=Math.floor(e/1e3);if(r<60)return`(${r}s)`;const n=Math.floor(r/60);if(n<60){const c=r%60;return`(${n}m ${c}s)`}const s=Math.floor(n/60),t=n%60;return`(${s}h ${t}m)`},"formatElapsed"),Ce=o((e,r,n,s,t)=>{const c=" ".repeat(n),g=s.colors.title?s.colors.title(e.title,e.state,t):e.title;let u=`${c}${r} ${g}`;e.status&&(u+=` ${s.colors.dim(`[${e.status}]`)}`);const l=e.elapsedMs??(e.startedAt===void 0?void 0:Date.now()-e.startedAt);return l!==void 0&&l>=1e3&&(u+=` ${s.colors.dim(Te(l))}`),u},"formatTaskLine"),Ae=o((e,r,n)=>{const s=`${" ".repeat(r)} `;let t="";if(e.output){const c=e.state==="error"&&n.colors.error||e.state==="warning"&&n.colors.warning||n.colors.secondary,g=e.output.split(`
4
+ `);for(let u=0;u<g.length;u+=1){const l=u===0?`${n.colors.secondary("\u2192")} `:" ";t+=`${s}${l}${c(g[u])}
5
+ `}}if(e.streamOutput){const c=`${s} `,g=e.streamOutput.split(`
6
+ `);for(let u=0;u<g.length;u+=1){const l=u===0?`${s}\u23BF `:c;t+=`${l}${n.colors.secondary(g[u])}
7
+ `}e.streamTruncatedLines&&(t+=`${c}${n.colors.secondary(`(+ ${e.streamTruncatedLines} lines)`)}
8
+ `)}return t},"formatTaskOutput"),Me=o((e,r,n,s)=>{switch(e){case"loading":return r?n.icons.parent:n.spinner[s];case"success":return r?n.icons.parent:n.icons.success;case"error":return r?n.icons.parentError:n.icons.error;case"warning":return n.icons.warning;case"skipped":return n.icons.skipped;default:return n.icons.pending}},"getIcon"),Pe=!!(process.env.CI||process.env.CONTINUOUS_INTEGRATION||process.env.BUILD_NUMBER),G=["assert","count","countReset","debug","dir","dirxml","error","group","groupCollapsed","groupEnd","info","log","table","time","timeEnd","timeLog","trace","warn"],A=[],N=new Map,U=o(e=>{const r=o(s=>new _({write(t,c,g){e(s,String(t)),g()}}),"createStream"),n=new console.Console(r("stdout"),r("stderr"));for(const s of G)console[s]=n[s]},"installPatch"),Se=o(e=>{if(A.length===0)for(const r of G)N.set(r,console[r]);return A.push(e),U(e),()=>{const r=A.indexOf(e);if(r!==-1)if(A.splice(r,1),A.length===0){for(const[n,s]of N)console[n]=s;N.clear()}else U(A.at(-1))}},"patchConsole");export{D as a,F as b,J as c,Ae as d,Ce as f,Me as g,Pe as i,Se as p,$e as s};
@@ -0,0 +1,6 @@
1
+ var ne=Object.defineProperty;var s=(i,n)=>ne(i,"name",{value:n,configurable:!0});import{i as k,p as oe,a as P,s as re,g as ie,f as te,d as le}from"./patch-console-BZRKJTPe.mjs";import m from"node:process";import ae from"node:os";const W=globalThis.window?.document!==void 0;globalThis.process?.versions?.node,globalThis.process?.versions?.bun,globalThis.Deno?.version?.deno,globalThis.process?.versions?.electron,globalThis.navigator?.userAgent?.includes("jsdom"),typeof WorkerGlobalScope<"u"&&globalThis instanceof WorkerGlobalScope,typeof DedicatedWorkerGlobalScope<"u"&&globalThis instanceof DedicatedWorkerGlobalScope,typeof SharedWorkerGlobalScope<"u"&&globalThis instanceof SharedWorkerGlobalScope,typeof ServiceWorkerGlobalScope<"u"&&globalThis instanceof ServiceWorkerGlobalScope;const L=globalThis.navigator?.userAgentData?.platform;L==="macOS"||globalThis.navigator?.platform==="MacIntel"||globalThis.navigator?.userAgent?.includes(" Mac ")===!0||globalThis.process?.platform,L==="Windows"||globalThis.navigator?.platform==="Win32"||globalThis.process?.platform,L==="Linux"||globalThis.navigator?.platform?.startsWith("Linux")===!0||globalThis.navigator?.userAgent?.includes(" Linux ")===!0||globalThis.process?.platform,L==="Android"||globalThis.navigator?.platform==="Android"||globalThis.navigator?.userAgent?.includes(" Android ")===!0||globalThis.process?.platform;const c="\x1B[",X=!W&&m.env.TERM_PROGRAM==="Apple_Terminal",ce=!W&&m.platform==="win32";!W&&(m.env.TERM?.startsWith("screen")||m.env.TERM?.startsWith("tmux")||m.env.TMUX),W||m.cwd;const de=s((i=1)=>c+i+"A","cursorUp"),fe=s((i=1)=>c+i+"B","cursorDown"),ue=X?"\x1B7":c+"s",pe=X?"\x1B8":c+"u",ge=c+"J",K=c+"2J",he=s(()=>{if(W||!ce)return!1;const i=ae.release().split("."),n=Number(i[0]),d=Number(i[2]??0);return n<10||n===10&&d<10586},"isOldWindows");he()?`${K}${c}`:`${K}${c}${c}`;const Te=s((i,n,d)=>{let C=0,B=0,f,p,G="",T=!1,A=!1,F=!1,z;const M=n.isTTY===!0,H=M&&!k,I=s(()=>{k||(n.write(ue),A=!0)},"savePosition"),y=s(()=>{A&&n.write(pe+ge)},"clearRenderArea");let g,D=n.rows||24;const Q=s(()=>{if(g!==void 0){const e=typeof g=="function"?g(D):g;return Math.max(1,e)}return Math.max(5,D-2)},"getVisibleLinesLimit"),O=s((e,o)=>{const l=e.children&&e.children.length>0,h=ie(e.state,l,d,B);let t=`${te(e,h,o,d,C)}
2
+ `;return t+=le(e,o,d),l&&(t+=N(e.children,o+1)),t},"renderTask"),J=s(e=>e==="loading"?0:e==="pending"?1:2,"getStatePriority");let w=!1;const N=s((e,o=0)=>{if(o===0)if(w&&g===void 0)T=!1;else{const h=Q(),t=e.map(r=>O(r,o));if(t.reduce((r,a)=>r+a.split(`
3
+ `).length-1,0)<=h)return T=!1,t.join("");const u=[...e].sort((r,a)=>J(r.state)-J(a.state));let v="",_=0,E=0;for(let r=0;r<u.length;r+=1){const a=O(u[r],o),b=a.split(`
4
+ `).length-1,$=r<u.length-1?1:0;if(_+b+$>h&&E>0)break;v+=a,_+=b,E+=1}const q=u.slice(E);if(T=q.length>0,T){const r=[];let a=0,b=0,R=0;for(const $ of q)$.state==="loading"?a+=1:$.state==="pending"?b+=1:R+=1;a>0&&r.push(`${a} loading`),b>0&&r.push(`${b} queued`),R>0&&r.push(`${R} completed`),v+=`${d.colors.dim(`(+ ${r.join(", ")})`)}
5
+ `}return v}return e.map(l=>O(l,o)).join("")},"renderTaskList"),Z=s((e,o)=>{y(),(e==="stderr"?process.stderr:process.stdout).write(o),I(),i.length>0&&!F&&x()},"handleConsoleOutput"),V=s(()=>{f||!M||k||(f=setInterval(()=>{C+=1,B=C%d.spinner.length,S()},d.spinnerInterval??80),f.unref())},"startSpinner"),x=s((e=!1)=>{const o=N(i),l=P(i);if(l&&f?(clearInterval(f),f=void 0):!l&&!f&&V(),k&&!e){l&&o!==G&&(n.write(o),G=o);return}if(y(),A||I(),n.write(o),G=o,M){const h=n.columns||80;let t=0;const j=o.split(`
6
+ `);for(let u=0;u<j.length-1;u+=1){const v=re(j[u]);t+=v<=h?1:Math.ceil(v/h)}t>0&&(n.write(de(t)),I(),n.write(fe(t)))}},"render"),S=s(()=>{p||(p=setTimeout(()=>{p=void 0,x()},33))},"scheduleRender"),ee=s((e=!1)=>{!e&&!H||(p&&(clearTimeout(p),p=void 0),x(),P(i)&&T&&(F=!0))},"flushRender"),U=s(()=>{D=n.rows||24,S()},"handleResize"),se=s(()=>{process.off("exit",Y),n.off("resize",U),clearInterval(f),clearTimeout(p),z?.(),y(),A=!1},"destroy"),Y=s(()=>{T&&P(i)&&(g=void 0,w=!0,x(),w=!1)},"handleExit");return M&&n.on("resize",U),H&&process.on("exit",Y),k||(z=oe(Z),V()),{triggerRender:S,flushRender:ee,renderFinal:s(()=>{w=!0,x(!0),w=!1},"renderFinal"),destroy:se,setMaxVisible:s(e=>{g=e},"setMaxVisible")}},"pinned");export{Te as p};
@@ -1,4 +1,4 @@
1
- import { T as Task, f as TasukuTheme } from '../types-BC9OrTGg.mjs';
1
+ import { T as Task, g as TasukuTheme } from '../types-CHLyZVi8.mjs';
2
2
  import 'node:stream';
3
3
 
4
4
  declare const theme: TasukuTheme;
@@ -1 +1 @@
1
- import{b as r,d as n}from"../index-DliZudNt.mjs";import{c as i}from"../patch-console-PhLhxtc5.mjs";import{p as s}from"../pinned-DCoOgkO1.mjs";import"node:async_hooks";import"os";import"node:stream";import"node:process";import"node:os";const o=r(215,119,87),a=r(255,255,255),t=process.platform==="darwin"?"\u23FA":"\u25CF",e={spinner:[o(t),n(o(t))],spinnerInterval:1e3,icons:{pending:r(80,80,80)(t),success:r(78,186,101)(t),error:r(255,107,128)(t),warning:r(255,193,7)(t),parent:o("\u276F"),parentError:r(255,107,128)("\u276F")},colors:{title:a,dim:r(80,80,80),secondary:r(153,153,153)}};var p=i({renderer:s,theme:e});export{p as default,e as theme};
1
+ import{d as i}from"../index-D7F2xFGS.mjs";import{c as n}from"../patch-console-BZRKJTPe.mjs";import{p}from"../pinned-C8CAzwc9.mjs";import{e,t as s,s as t,w as a,a as m,i as c,b as d}from"../claude-palette-C-goBtER.mjs";import"node:async_hooks";import"node:stream";import"node:process";import"node:os";const r=process.platform==="darwin"?"\u23FA":"\u25CF",o={spinner:[s(r),i(s(r))],spinnerInterval:1e3,icons:{pending:t(r),success:m(r),error:e(r),warning:a(r),skipped:t(r),parent:s("\u276F"),parentError:e("\u276F")},colors:{title:d,dim:t,secondary:c,error:e,warning:a}};var u=n({renderer:p,theme:o});export{u as default,o as theme};
@@ -1,4 +1,4 @@
1
- import { T as Task, f as TasukuTheme } from '../types-BC9OrTGg.mjs';
1
+ import { T as Task, g as TasukuTheme } from '../types-CHLyZVi8.mjs';
2
2
  import 'node:stream';
3
3
 
4
4
  declare const theme: TasukuTheme;
@@ -1 +1 @@
1
- var g=Object.defineProperty;var a=(r,s)=>g(r,"name",{value:s,configurable:!0});import{b as e}from"../index-DliZudNt.mjs";import{c as f}from"../patch-console-PhLhxtc5.mjs";import{p as F}from"../pinned-DCoOgkO1.mjs";import"node:async_hooks";import"os";import"node:stream";import"node:process";import"node:os";const n=e(215,119,87),b=e(255,255,255),v=e(245,149,117),w=a((r,s,p)=>{if(s!=="loading")return b(r);const u=r.length+20,i=r.length+10-p%u,o=i-1,t=i+2,l=o>0?r.slice(0,o):"",d=r.slice(Math.max(0,o),Math.min(r.length,t)),h=t<r.length?r.slice(t):"";return n(l)+v(d)+n(h)},"shimmerTitle"),c=["\xB7","\u2722","\u2733","\u2736","\u273B","\u273D"],m={spinner:[...c,...[...c].reverse()].map(r=>n(r)),spinnerInterval:200,icons:{pending:e(80,80,80)("\u25FC"),success:e(78,186,101)("\u2714"),error:e(255,107,128)("\u2716"),warning:e(255,193,7)("\u26A0"),parent:n("\u276F"),parentError:e(255,107,128)("\u276F")},colors:{title:w,dim:e(80,80,80),secondary:e(153,153,153)}};var B=f({renderer:F,theme:m});export{B as default,m as theme};
1
+ var b=Object.defineProperty;var c=(r,s)=>b(r,"name",{value:s,configurable:!0});import{b as w}from"../index-D7F2xFGS.mjs";import{c as v}from"../patch-console-BZRKJTPe.mjs";import{p as F}from"../pinned-C8CAzwc9.mjs";import{e as i,t as e,s as o,w as m,a as k,i as B,b as I}from"../claude-palette-C-goBtER.mjs";import"node:async_hooks";import"node:stream";import"node:process";import"node:os";const M=w(245,149,117),T=c((r,s,l)=>{if(s!=="loading")return I(r);const d=r.length+20,t=r.length+10-l%d,n=t-1,a=t+2,g=n>0?r.slice(0,n):"",h=r.slice(Math.max(0,n),Math.min(r.length,a)),f=a<r.length?r.slice(a):"";return e(g)+M(h)+e(f)},"shimmerTitle"),u=["\xB7","\u2722","\u2733","\u2736","\u273B","\u273D"],p={spinner:[...u,...[...u].reverse()].map(r=>e(r)),spinnerInterval:200,icons:{pending:o("\u25FC"),success:k("\u2714"),error:i("\u2716"),warning:m("\u26A0"),skipped:o("\u2298"),parent:e("\u276F"),parentError:i("\u276F")},colors:{title:T,dim:o,secondary:B,error:i,warning:m}};var y=v({renderer:F,theme:p});export{y as default,p as theme};
@@ -1,4 +1,4 @@
1
- import { T as Task, f as TasukuTheme } from '../types-BC9OrTGg.mjs';
1
+ import { T as Task, g as TasukuTheme } from '../types-CHLyZVi8.mjs';
2
2
  import 'node:stream';
3
3
 
4
4
  declare const theme: TasukuTheme;
@@ -1 +1 @@
1
- var P=Object.defineProperty;var r=(n,o)=>P(n,"name",{value:o,configurable:!0});import{b as e,r as m,y as _,g as D,d as G}from"../index-DliZudNt.mjs";import{c as N}from"../patch-console-PhLhxtc5.mjs";import{p as F}from"../pinned-DCoOgkO1.mjs";import"node:async_hooks";import"os";import"node:stream";import"node:process";import"node:os";const c=10,d=2e3,h=5,p=50,a=128,S=255,b=r(n=>n>h?0:.5*(1+Math.cos(Math.PI*n/h)),"cosineIntensity"),f=r(n=>{const o=n*.9;return Math.round(S*o+a*(1-o))},"blendGray"),I="\u2022",L=1+c*2,g=d/p,M=[];for(let n=0;n<g;n+=1){const o=n/g*L,i=Math.abs(c-o),t=f(b(i));M.push(e(t,t,t).bold(I))}const R=r((n,o,i)=>{if(o!=="loading")return n;const t=n.length+c*2,T=i*p%d/d*t;let u="";for(let s=0;s<n.length;s+=1){const y=s+c,H=Math.abs(y-T),l=f(b(H));u+=e(l,l,l).bold(n[s])}return u},"shimmerTitle"),A=e(a,a,a),E={spinner:M,spinnerInterval:p,icons:{pending:G(I),success:D.bold("\u2713"),error:m.bold("\u2717"),warning:_("\u26A0"),parent:A("\u276F"),parentError:m.bold("\u276F")},colors:{title:R,dim:A,secondary:e(153,153,153)}};var W=N({renderer:F,theme:E});export{W as default,E as theme};
1
+ var D=Object.defineProperty;var t=(n,o)=>D(n,"name",{value:o,configurable:!0});import{b as e,r as l,d as h,y as b,a as G}from"../index-D7F2xFGS.mjs";import{c as N}from"../patch-console-BZRKJTPe.mjs";import{p as F}from"../pinned-C8CAzwc9.mjs";import"node:async_hooks";import"node:stream";import"node:process";import"node:os";const a=10,p=2e3,f=5,u=50,c=128,S=255,I=t(n=>n>f?0:.5*(1+Math.cos(Math.PI*n/f)),"cosineIntensity"),g=t(n=>{const o=n*.9;return Math.round(S*o+c*(1-o))},"blendGray"),M="\u2022",w=1+a*2,A=p/u,E=[];for(let n=0;n<A;n+=1){const o=n/A*w,i=Math.abs(a-o),r=g(I(i));E.push(e(r,r,r).bold(M))}const L=t((n,o,i)=>{if(o!=="loading")return n;const r=n.length+a*2,H=i*u%p/p*r;let m="";for(let s=0;s<n.length;s+=1){const P=s+a,_=Math.abs(P-H),d=g(I(_));m+=e(d,d,d).bold(n[s])}return m},"shimmerTitle"),T=e(c,c,c),y={spinner:E,spinnerInterval:u,icons:{pending:h(M),success:G.bold("\u2713"),error:l.bold("\u2717"),warning:b("\u26A0"),skipped:h("\u2298"),parent:T("\u276F"),parentError:l.bold("\u276F")},colors:{title:L,dim:T,secondary:e(153,153,153),error:l,warning:b}};var R=N({renderer:F,theme:y});export{R as default,y as theme};
@@ -1,6 +1,6 @@
1
1
  import { Writable } from 'node:stream';
2
2
 
3
- type State = 'pending' | 'loading' | 'error' | 'warning' | 'success';
3
+ type State = 'pending' | 'loading' | 'error' | 'warning' | 'success' | 'skipped';
4
4
  type TaskGroupOptions = {
5
5
  /**
6
6
  * Number of tasks to run at a time.
@@ -65,6 +65,7 @@ type TaskInnerAPI = {
65
65
  setOutput(output: string | {
66
66
  message: string;
67
67
  }): void;
68
+ skip(message?: string): never;
68
69
  streamPreview: StreamPreview;
69
70
  startTime(): void;
70
71
  stopTime(): number;
@@ -79,6 +80,7 @@ type TaskPromise<T = unknown> = Promise<T> & {
79
80
  state: State;
80
81
  warning: string | undefined;
81
82
  error: string | undefined;
83
+ skipped: string | undefined;
82
84
  clear: () => TaskPromise<T>;
83
85
  };
84
86
  type Task = (<TaskReturnType>(
@@ -122,6 +124,7 @@ type TasukuIcons = {
122
124
  success: string;
123
125
  error: string;
124
126
  warning: string;
127
+ skipped: string;
125
128
  parent: string;
126
129
  parentError: string;
127
130
  };
@@ -129,6 +132,8 @@ type TasukuColors = {
129
132
  title?: (text: string, state: State, frame: number) => string;
130
133
  dim: ColorFunction;
131
134
  secondary: ColorFunction;
135
+ error?: ColorFunction;
136
+ warning?: ColorFunction;
132
137
  };
133
138
  type TasukuTheme = {
134
139
  spinner: string[];
@@ -138,7 +143,7 @@ type TasukuTheme = {
138
143
  };
139
144
  type Renderer = {
140
145
  triggerRender: () => void;
141
- flushRender: () => void;
146
+ flushRender: (force?: boolean) => void;
142
147
  renderFinal: () => void;
143
148
  destroy: () => void;
144
149
  setMaxVisible: (limit?: number | ((terminalHeight: number) => number)) => void;
@@ -150,4 +155,4 @@ type CreateTasukuOptions = {
150
155
  outputStream?: NodeJS.WriteStream;
151
156
  };
152
157
 
153
- export type { CreateTasukuOptions as C, Renderer as R, State as S, Task as T, TaskPromise as a, TaskInnerAPI as b, TaskFunction as c, TaskGroupPromise as d, TaskOptions as e, TasukuTheme as f, RendererFactory as g };
158
+ export type { CreateTasukuOptions as C, Renderer as R, State as S, Task as T, RendererFactory as a, TaskFunction as b, TaskGroupPromise as c, TaskInnerAPI as d, TaskOptions as e, TaskPromise as f, TasukuTheme as g };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "tasuku",
3
- "version": "3.0.0-beta.1",
3
+ "version": "3.0.0-beta.3",
4
4
  "description": "タスク — The minimal task runner",
5
5
  "keywords": [
6
6
  "simple",
@@ -1 +0,0 @@
1
- import{r as u,y as r,g as a,a as e,d as n}from"./index-DliZudNt.mjs";const o={spinner:["\u280B","\u2819","\u2839","\u2838","\u283C","\u2834","\u2826","\u2827","\u2807","\u280F"].map(s=>r(s)),icons:{pending:e("\u25FC"),success:a("\u2714"),error:u("\u2716"),warning:r("\u26A0"),parent:r("\u276F"),parentError:u("\u276F")},colors:{dim:n,secondary:e}};export{o as t};
@@ -1,2 +0,0 @@
1
- var z=Object.defineProperty;var l=(T,C)=>z(T,"name",{value:C,configurable:!0});import{e as J}from"./patch-console-PhLhxtc5.mjs";var G={exports:{}},P;function K(){if(P)return G.exports;P=1;let T,C,k,{defineProperty:U,setPrototypeOf:H,create:Y,keys:F}=Object,f="",{round:y,max:S}=Math,A=l(n=>{let r=/([a-f\d]{3,6})/i.exec(n)?.[1],i=r?.length,o=parseInt(6^i?3^i?"0":r[0]+r[0]+r[1]+r[1]+r[2]+r[2]:r,16);return[o>>16&255,o>>8&255,255&o]},"p"),j=l((n,r,i)=>n^r||r^i?16+36*y(n/51)+6*y(r/51)+y(i/51):8>n?16:n>248?231:y(24*(n-8)/247)+232,"u"),I=l(n=>{let r,i,o,a,e;return 8>n?30+n:16>n?n-8+90:(232>n?(e=(n-=16)%36,r=(n/36|0)/5,i=(e/6|0)/5,o=e%6/5):r=i=o=(10*(n-232)+8)/255,a=2*S(r,i,o),a?30+(y(o)<<2|y(i)<<1|y(r))+(2^a?0:60):30)},"d"),W=(()=>{let n=l(g=>o.some((c=>g.test(c))),"r2"),r=globalThis,i=r.process??{},o=i.argv??[],a=i.env??{},e=-1;try{T=","+F(a).join(",")}catch{a={},e=0}let h="FORCE_COLOR",B={false:0,0:0,1:1,2:2,3:3}[a[h]]??-1,d=h in a&&B||n(/^--color=?(true|always)?$/);return d&&(e=B),~e||(e=((g,c,p)=>(C=g.TERM,{"24bit":3,truecolor:3,ansi256:2,ansi:1}[g.COLORTERM]||(g.CI?/,GITHUB/.test(T)?3:1:c&&C!=="dumb"?p?3:/-256/.test(C)?2:1:0)))(a,!!a.PM2_HOME||a.NEXT_RUNTIME?.includes("edge")||!!i.stdout?.isTTY,i.platform==="win32")),!B||a.NO_COLOR||n(/^--(no-color|color=(false|never))$/)?0:r.window?.chrome||d&&!e?3:e})(),q={open:f,close:f},m=39,v=49,L={},N=l(({p:n},{open:r,close:i})=>{let o=l((h,...B)=>{if(!h){if(r&&r===i)return r;if((h??f)===f)return f}let d,g=h.raw?String.raw({raw:h},...B):f+h,c=o.p,p=c.o,O=c.c;if(g.includes("\x1B"))for(;c;c=c.p){let{open:$,close:R}=c,x=R.length,E=f,w=0;if(x)for(;~(d=g.indexOf(R,w));w=d+x)E+=g.slice(w,d)+$;g=E+g.slice(w)}return p+(g.includes(`
2
- `)?g.replace(/(\r?\n)/g,O+"$1"+p):g)+O},"o2"),a=r,e=i;return n&&(a=n.o+r,e=i+n.c),H(o,k),o.p={open:r,close:i,o:a,c:e,p:n},o.open=a,o.close=e,o},"m");const _=new(l(function n(r=W){let i={Ansis:n,level:r,isSupported:l(()=>a,"isSupported"),strip:l(t=>t.replace(/[›][[()#;?]*(?:[0-9]{1,4}(?:;[0-9]{0,4})*)?[0-9A-ORZcf-nqry=><]/g,f),"strip"),extend(t){for(let s in t){let b=t[s],u=(typeof b)[0];u==="s"?(o(s,c(...A(b))),o(E(s),p(...A(b)))):o(s,b,u==="f")}return k=Y({},L),H(i,k),i}},o=l((t,s,b)=>{L[t]={get(){let u=b?(...M)=>N(this,s(...M)):N(this,s);return U(this,t,{value:u}),u}}},"c2"),a=r>0,e=l((t,s)=>a?{open:`\x1B[${t}m`,close:`\x1B[${s}m`}:q,"w2"),h=l(t=>s=>t(...A(s)),"y"),B=l((t,s)=>(b,u,M)=>e(`${t}8;2;${b};${u};${M}`,s),"R"),d=l((t,s)=>(b,u,M)=>e(((D,X,Z)=>I(j(D,X,Z)))(b,u,M)+t,s),"$"),g=l(t=>(s,b,u)=>t(j(s,b,u)),"x"),c=B(3,m),p=B(4,v),O=l(t=>e("38;5;"+t,m),"C"),$=l(t=>e("48;5;"+t,v),"E");r===2?(c=g(O),p=g($)):r===1&&(c=d(0,m),p=d(10,v),O=l(t=>e(I(t),m),"C"),$=l(t=>e(I(t)+10,v),"E"));let R,x={fg:O,bg:$,rgb:c,bgRgb:p,hex:h(c),bgHex:h(p),visible:q,reset:e(0,0),bold:e(1,22),dim:e(2,22),italic:e(3,23),underline:e(4,24),inverse:e(7,27),hidden:e(8,28),strikethrough:e(9,29)},E=l(t=>"bg"+t[0].toUpperCase()+t.slice(1),"_"),w="Bright";return"black,red,green,yellow,blue,magenta,cyan,white,gray".split(",").map(((t,s)=>{R=E(t),8>s?(x[t+w]=e(90+s,m),x[R+w]=e(100+s,v)):s=60,x[t]=e(30+s,m),x[R]=e(40+s,v)})),i.extend(x)},"e2"));return G.exports=_,_.default=_,G.exports}l(K,"requireAnsis");var Q=K(),V=J(Q);const{Ansis:ae,fg:ge,bg:ce,rgb:ee,bgRgb:be,hex:he,bgHex:ue,reset:pe,inverse:de,hidden:fe,visible:Be,bold:xe,dim:re,italic:ye,underline:we,strikethrough:me,black:ve,red:te,green:ne,yellow:ie,blue:Oe,magenta:Re,cyan:Ce,white:$e,gray:se,redBright:Ee,greenBright:Me,yellowBright:Te,blueBright:ke,magentaBright:Ae,cyanBright:Ie,whiteBright:_e,bgBlack:Ge,bgRed:He,bgGreen:je,bgYellow:qe,bgBlue:Le,bgMagenta:Ne,bgCyan:Pe,bgWhite:Ue,bgGray:Ye,bgRedBright:Fe,bgGreenBright:Se,bgYellowBright:We,bgBlueBright:De,bgMagentaBright:Xe,bgCyanBright:Ze,bgWhiteBright:ze}=V;export{se as a,ee as b,re as d,ne as g,te as r,ie as y};
@@ -1,3 +0,0 @@
1
- var N=Object.defineProperty;var r=(o,i)=>N(o,"name",{value:i,configurable:!0});import{s as U,p as X,a as _,i as j,b as O,g as q,f as z,d as E}from"./patch-console-PhLhxtc5.mjs";const b=r((o,i)=>{let h=0,a="",n=0;for(;n<o.length;){const l=o[n];if(l==="\x1B"&&n+1<o.length){const d=o[n+1];switch(d){case"[":{for(a+=l+d,n+=2;n<o.length&&(a+=o[n],!(o[n]>="@"&&o[n]<="~"));)n+=1;break}case"]":case"P":case"_":case"^":case"X":{for(a+=l+d,n+=2;n<o.length&&(a+=o[n],o[n]!=="\x07");){if(o[n]==="\x1B"&&n+1<o.length&&o[n+1]==="\\"){a+=o[n+1],n+=1;break}n+=1}break}case"(":case")":case"*":case"+":{a+=l+d,n+=2,n<o.length&&(a+=o[n]);break}default:{a+=l+d,n+=1;break}}}else{const d=U(l);if(h+d>i)break;a+=l,h+=d}n+=1}return a},"truncateLine"),G=r((o,i,h)=>{const n=i.isTTY===!0&&!j;let l=0,d=0,x,k,m;const T=new Map,$=new WeakSet,I=r((e,s)=>{const t=E(e,s,h);return t?(i.write(t),(t.match(/\n/g)||[]).length):0},"writeTaskOutput"),p=r((e,s)=>{const t=q(e.state,e.children.length>0,h,d);return z(e,t,s,h,l)},"getLine"),B=r((e,s=1)=>{for(const[,t]of T)t.offset>=s&&(t.offset+=e)},"incrementOffsets"),L=r((e,s)=>{const t=i.columns||80;B(1),i.write(`${b(p(e,s),t-1)}
2
- `),T.set(e,{offset:1,depth:s,outputWritten:!1})},"appendLineAtRest"),y=r((e,s,t)=>{const g=i.columns||80,u=(i.rows||24)-1;if(t-1>u){L(e,s);return}const w=b(p(e,s),g-1);B(1,t);const f=t-1;let c="";f>0&&(c+=`\x1B[${f}A`),c+=`\x1B[L${w}\x1B[${t}B\r`,i.write(c),T.set(e,{offset:t,depth:s,outputWritten:!1})},"insertLineAfterOffset"),D=r((e,s)=>{const t=(i.rows||24)-1;e.offset>t||i.write(`\x1B[${e.offset}A\r\x1B[2K${s}\x1B[${e.offset}B\r`)},"updateLineInPlace"),R=r(()=>{let e=0;for(const[,s]of T)s.outputWritten||(e+=1);return e},"countActiveTasks"),A=r((e,s,t)=>{const g=i.columns||80,u=t!==void 0;let w=t;for(const f of e){if(f.state==="pending")continue;let c=T.get(f);if(!c){if(m!==void 0&&R()>=m)continue;u?y(f,s,w):L(f,s),c=T.get(f)}let F=c.offset;if(f.children.length>0){const v=A(f.children,s+1,c.offset);v!==void 0&&(F=v)}u&&(w=F);const M=O(f.state);if(M&&!c.outputWritten){D(c,b(p(f,c.depth),g-1));const v=I(f,c.depth);v>0&&B(v),c.outputWritten=!0}else!M&&c.outputWritten&&(c.outputWritten=!1)}return u?w:void 0},"processTaskList"),C=r(()=>{const e=i.columns||80,s=(i.rows||24)-1;let t="";for(const[g,u]of T){if(u.outputWritten||g.state!=="loading"||u.offset>s)continue;const w=b(p(g,u.depth),e-1);t+=`\x1B[${u.offset}A\r\x1B[2K${w}\x1B[${u.offset}B\r`}t&&i.write(t)},"renderSpinnerFrames"),K=r(()=>{A(o,0),C()},"renderTTY"),Y=r((e,s)=>{for(const t of e)$.has(t)||O(t.state)&&($.add(t),i.write(`${p(t,s)}
3
- `),t.children.length>0&&Y(t.children,s+1),I(t,s))},"commitDoneTasksNonTTY"),P=r(()=>{n?K():Y(o,0)},"render");k=X(r((e,s)=>{if((e==="stderr"?process.stderr:process.stdout).write(s),n){const g=(s.match(/\n/g)||[]).length;g>0&&B(g)}},"handleConsoleOutput"));const V=r(()=>{x||!n||(x=setInterval(()=>{l+=1,d=l%h.spinner.length,C()},h.spinnerInterval??80),x.unref())},"startSpinner"),W=r(()=>{P(),_(o)?x&&(clearInterval(x),x=void 0):V()},"renderAndManageSpinner");return{triggerRender:W,flushRender:W,renderFinal:W,destroy:r(()=>{clearInterval(x),x=void 0,k?.(),k=void 0,T.clear()},"destroy"),setMaxVisible:r(e=>{m=typeof e=="number"?e:void 0},"setMaxVisible")}},"inline");export{G as i};
@@ -1,12 +0,0 @@
1
- var G=Object.defineProperty;var E=(F,e)=>G(F,"name",{value:e,configurable:!0});import{AsyncLocalStorage as Y}from"node:async_hooks";import L from"os";import{Writable as j}from"node:stream";function z(F,e=1,t={}){const{indent:C=" ",includeEmptyLines:u=!1}=t;if(typeof F!="string")throw new TypeError(`Expected \`input\` to be a \`string\`, got \`${typeof F}\``);if(typeof e!="number")throw new TypeError(`Expected \`count\` to be a \`number\`, got \`${typeof e}\``);if(e<0)throw new RangeError(`Expected \`count\` to be at least 0, got \`${e}\``);if(typeof C!="string")throw new TypeError(`Expected \`options.indent\` to be a \`string\`, got \`${typeof C}\``);if(e===0)return F;const r=u?/^/gm:/^(?!\s*$)/gm;return F.replace(r,C.repeat(e))}E(z,"indentString");function H(F){if(typeof F!="string")throw new TypeError("Expected a string");return F.replace(/[|\\{}()[\]^$+*?.]/g,"\\$&").replace(/-/g,"\\x2d")}E(H,"escapeStringRegexp");const P=/\s+at.*[(\s](.*)\)?/,Q=/^(?:(?:(?:node|node:[\w/]+|(?:(?:node:)?internal\/[\w/]*|.*node_modules\/(?:babel-polyfill|pirates)\/.*)?\w+)(?:\.js)?:\d+:\d+)|native)/,Z=typeof L.homedir>"u"?"":L.homedir().replace(/\\/g,"/");function J(F,{pretty:e=!1,basePath:t}={}){const C=t&&new RegExp(`(at | \\()${H(t.replace(/\\/g,"/"))}`,"g");if(typeof F=="string")return F.replace(/\\/g,"/").split(`
2
- `).filter(u=>{const r=u.match(P);if(r===null||!r[1])return!0;const D=r[1];return D.includes(".app/Contents/Resources/electron.asar")||D.includes(".app/Contents/Resources/default_app.asar")||D.includes("node_modules/electron/dist/resources/electron.asar")||D.includes("node_modules/electron/dist/resources/default_app.asar")?!1:!Q.test(D)}).filter(u=>u.trim()!=="").map(u=>(C&&(u=u.replace(C,"$1")),e&&(u=u.replace(P,(r,D)=>r.replace(D,D.replace(Z,"~")))),u)).join(`
3
- `)}E(J,"cleanStack");const K=E(F=>F.replace(/\s+at .*aggregate-error\/index.js:\d+:\d+\)?/g,""),"cleanInternalStack");class X extends Error{static{E(this,"AggregateError")}#D;name="AggregateError";constructor(e){if(!Array.isArray(e))throw new TypeError(`Expected input to be an Array, got ${typeof e}`);e=e.map(C=>C instanceof Error?C:C!==null&&typeof C=="object"?Object.assign(new Error(C.message),C):new Error(C));let t=e.map(C=>typeof C.stack=="string"&&C.stack.length>0?K(J(C.stack)):String(C)).join(`
4
- `);t=`
5
- `+z(t,4),super(t),this.#D=e}get errors(){return this.#D.slice()}}class k extends Error{static{E(this,"AbortError")}constructor(e){super(),this.name="AbortError",this.message=e}}const N=E(F=>globalThis.DOMException===void 0?new k(F):new DOMException(F),"getDOMException"),S=E(F=>{const e=F.reason===void 0?N("This operation was aborted."):F.reason;return e instanceof Error?e:N(e)},"getAbortedReason");async function DD(F,e,{concurrency:t=Number.POSITIVE_INFINITY,stopOnError:C=!0,signal:u}={}){return new Promise((r,D)=>{if(F[Symbol.iterator]===void 0&&F[Symbol.asyncIterator]===void 0)throw new TypeError(`Expected \`input\` to be either an \`Iterable\` or \`AsyncIterable\`, got (${typeof F})`);if(typeof e!="function")throw new TypeError("Mapper function is required");if(!((Number.isSafeInteger(t)||t===Number.POSITIVE_INFINITY)&&t>=1))throw new TypeError(`Expected \`concurrency\` to be an integer from 1 and up or \`Infinity\`, got \`${t}\` (${typeof t})`);const s=[],i=[],p=new Map;let w=!1,m=!1,n=!1,B=0,A=0;const c=F[Symbol.iterator]===void 0?F[Symbol.asyncIterator]():F[Symbol.iterator](),a=E(f=>{w=!0,m=!0,D(f)},"reject");u&&(u.aborted&&a(S(u)),u.addEventListener("abort",()=>{a(S(u))}));const o=E(async()=>{if(m)return;const f=await c.next(),l=A;if(A++,f.done){if(n=!0,B===0&&!m){if(!C&&i.length>0){a(new X(i));return}if(m=!0,p.size===0){r(s);return}const g=[];for(const[h,v]of s.entries())p.get(h)!==_&&g.push(v);r(g)}return}B++,(async()=>{try{const g=await f.value;if(m)return;const h=await e(g,l);h===_&&p.set(l,h),s[l]=h,B--,await o()}catch(g){if(C)a(g);else{i.push(g),B--;try{await o()}catch(h){a(h)}}}})()},"next");(async()=>{for(let f=0;f<t;f++){try{await o()}catch(l){a(l);break}if(n||w)break}})()})}E(DD,"pMap");const _=Symbol("skip"),uD=E((F,e)=>new Proxy(F,{set(t,C,u){return Reflect.set(t,C,u),e(),!0}}),"reactive"),T=E(F=>F==="success"||F==="error"||F==="warning","isTerminalState"),W=E(F=>{for(const e of F)if(e.state==="loading"||e.state==="pending"||e.children&&e.children.length>0&&!W(e.children))return!1;return!0},"areAllTasksDone"),FD=5,eD=E((F,e)=>{const t=[];let C=0,u="";const r=E(i=>i.split("\r").reverse().find(Boolean)??"","resolveCarriageReturn"),D=E(()=>{const i=u.includes("\r")?r(u):u,p=i?[...t,i].join(`
6
- `):t.join(`
7
- `);F.streamOutput=p,F.streamTruncatedLines=Math.max(0,C-e)},"flush"),s=new j({write(i,p,w){const n=(u+i.toString()).split(/\r?\n/);u=n.pop();for(const B of n){const A=B.includes("\r")?r(B):B;t.push(A),C+=1,t.length>e&&t.shift()}if(u.includes("\r")){const B=r(u);u=u.endsWith("\r")?`${B}\r`:B}(n.length>0||u)&&D(),w()},final(i){if(u){const p=u.includes("\r")?r(u):u;t.push(p),C+=1,t.length>e&&t.shift(),u="",D()}i()}});return s.clear=()=>{F.streamOutput=void 0,F.streamTruncatedLines=void 0},s},"createStreamPreview"),CD=E(({theme:F,renderer:e,outputStream:t})=>{const C=new Y;let u;const r=E(()=>{u?.triggerRender()},"triggerRender"),D=E((n,B,A)=>{let c;const a={signal:B,setTitle(o){n.title=o},setStatus(o){n.status=o},setOutput(o){n.output=typeof o=="string"?o:"message"in o?o.message:""},get streamPreview(){return c||(c=eD(n,Math.max(1,Math.trunc(A?.previewLines??FD)))),c},setWarning(o){o?(a.setOutput(o),n.state="warning"):(n.state="loading",n.output=void 0)},setError(o){o?(a.setOutput(o),n.state="error"):(n.state="loading",n.output=void 0)},startTime:E(()=>{n.startedAt=Date.now(),n.elapsedMs=void 0},"startTime"),stopTime:E(()=>n.startedAt===void 0?0:(n.elapsedMs=Date.now()-n.startedAt,n.startedAt=void 0,n.elapsedMs),"stopTime")};return{api:a,dispose:E(()=>c?.destroy(),"dispose")}},"createTaskInnerApi"),s=E(n=>{u||(u=e(n,t??process.stderr,F),n.isRoot=!0)},"ensureRenderer"),i=E((n,B,A,c)=>{const a=uD({title:B,state:"pending",children:[]},r);return n.push(a),{task:a,run:E(async o=>{const f=C.getStore()?.abortController.signal,l=new AbortController,g=[o,c?.signal,f].filter(Boolean),h=E(function(){l.abort(this.reason)},"forwardAbort");for(const d of g){if(d.aborted){l.abort(d.reason);break}d.addEventListener("abort",h)}const v=E(()=>{for(const d of g)d.removeEventListener("abort",h)},"cleanupSignalListeners"),{signal:O}=l,{api:y,dispose:b}=D(a,O,c);a.state="loading",c?.showTime&&y.startTime();let $;try{$=await C.run({children:a.children,abortController:l},()=>A(y))}catch(d){throw l.abort(d),y.stopTime(),y.setError(d),b(),v(),u?.flushRender(),d}return y.stopTime(),b(),v(),a.state==="loading"&&(a.state="success"),u?.flushRender(),$},"run"),clear:E(()=>{const o=n.indexOf(a);o!==-1&&n.splice(o,1),u&&(n.isRoot&&n.length===0?(u.renderFinal(),u.destroy(),u=void 0):u.triggerRender())},"clear")}},"registerTask"),p=E(n=>{const A=n.run();return Object.defineProperties(A,{state:{get:E(()=>n.task.state,"get"),enumerable:!0,configurable:!0},warning:{get:E(()=>n.task.state==="warning"?n.task.output:void 0,"get"),enumerable:!0,configurable:!0},error:{get:E(()=>n.task.state==="error"?n.task.output:void 0,"get"),enumerable:!0,configurable:!0},clear:{value:E(()=>{const{state:c}=n.task;return T(c)?n.clear():A.finally(()=>n.clear()).catch(()=>{}),A},"value"),enumerable:!0,configurable:!0}}),A},"createTaskPromise");return E(n=>{const B=E((A,c,a)=>{const o=C.getStore()?.children??n;s(o);const f=i(o,A,c,a);return p(f)},"task");return B.group=((A,c)=>{const a=C.getStore()?.children??n;s(a);const o=A((d,x,U)=>i(a,d,x,U));c?.maxVisible!==void 0&&u&&u.setMaxVisible(c.maxVisible);const f=new AbortController,l=c?.signal,g=E(function(){f.abort(this.reason)},"forwardGroupAbort");l&&(l.aborted?f.abort(l.reason):l.addEventListener("abort",g));const h=f.signal,v=c?.stopOnError!==!1,b=DD(o,async d=>{try{return await d.run(h)}catch(x){throw v&&f.abort(x),x}},{concurrency:1,...c}).finally(()=>{l&&l.removeEventListener("abort",g)}),$=E(()=>{for(const d of o)d.clear();c?.maxVisible!==void 0&&u&&u.setMaxVisible(void 0)},"clearAll");return Object.assign(b,{clear:E(()=>(o.every(({task:x})=>T(x.state))?$():b.finally(()=>$()).catch(()=>{}),b),"clear")}),b}),B},"createTaskFunction")([])},"createTasuku");function tD({onlyFirst:F=!1}={}){const u="(?:\\u001B\\][\\s\\S]*?(?:\\u0007|\\u001B\\u005C|\\u009C))|[\\u001B\\u009B][[\\]()#;?]*(?:\\d{1,4}(?:[;:]\\d{0,4})*)?[\\dA-PR-TZcf-nq-uy=><~]";return new RegExp(u,F?void 0:"g")}E(tD,"ansiRegex");const rD=tD();function ED(F){if(typeof F!="string")throw new TypeError(`Expected a \`string\`, got \`${typeof F}\``);return F.replace(rD,"")}E(ED,"stripAnsi");function R(F){return F&&F.__esModule&&Object.prototype.hasOwnProperty.call(F,"default")?F.default:F}E(R,"getDefaultExportFromCjs");var I={exports:{}},V;function nD(){return V||(V=1,(function(F){var e={};F.exports=e,e.eastAsianWidth=function(C){var u=C.charCodeAt(0),r=C.length==2?C.charCodeAt(1):0,D=u;return 55296<=u&&u<=56319&&56320<=r&&r<=57343&&(u&=1023,r&=1023,D=u<<10|r,D+=65536),D==12288||65281<=D&&D<=65376||65504<=D&&D<=65510?"F":D==8361||65377<=D&&D<=65470||65474<=D&&D<=65479||65482<=D&&D<=65487||65490<=D&&D<=65495||65498<=D&&D<=65500||65512<=D&&D<=65518?"H":4352<=D&&D<=4447||4515<=D&&D<=4519||4602<=D&&D<=4607||9001<=D&&D<=9002||11904<=D&&D<=11929||11931<=D&&D<=12019||12032<=D&&D<=12245||12272<=D&&D<=12283||12289<=D&&D<=12350||12353<=D&&D<=12438||12441<=D&&D<=12543||12549<=D&&D<=12589||12593<=D&&D<=12686||12688<=D&&D<=12730||12736<=D&&D<=12771||12784<=D&&D<=12830||12832<=D&&D<=12871||12880<=D&&D<=13054||13056<=D&&D<=19903||19968<=D&&D<=42124||42128<=D&&D<=42182||43360<=D&&D<=43388||44032<=D&&D<=55203||55216<=D&&D<=55238||55243<=D&&D<=55291||63744<=D&&D<=64255||65040<=D&&D<=65049||65072<=D&&D<=65106||65108<=D&&D<=65126||65128<=D&&D<=65131||110592<=D&&D<=110593||127488<=D&&D<=127490||127504<=D&&D<=127546||127552<=D&&D<=127560||127568<=D&&D<=127569||131072<=D&&D<=194367||177984<=D&&D<=196605||196608<=D&&D<=262141?"W":32<=D&&D<=126||162<=D&&D<=163||165<=D&&D<=166||D==172||D==175||10214<=D&&D<=10221||10629<=D&&D<=10630?"Na":D==161||D==164||167<=D&&D<=168||D==170||173<=D&&D<=174||176<=D&&D<=180||182<=D&&D<=186||188<=D&&D<=191||D==198||D==208||215<=D&&D<=216||222<=D&&D<=225||D==230||232<=D&&D<=234||236<=D&&D<=237||D==240||242<=D&&D<=243||247<=D&&D<=250||D==252||D==254||D==257||D==273||D==275||D==283||294<=D&&D<=295||D==299||305<=D&&D<=307||D==312||319<=D&&D<=322||D==324||328<=D&&D<=331||D==333||338<=D&&D<=339||358<=D&&D<=359||D==363||D==462||D==464||D==466||D==468||D==470||D==472||D==474||D==476||D==593||D==609||D==708||D==711||713<=D&&D<=715||D==717||D==720||728<=D&&D<=731||D==733||D==735||768<=D&&D<=879||913<=D&&D<=929||931<=D&&D<=937||945<=D&&D<=961||963<=D&&D<=969||D==1025||1040<=D&&D<=1103||D==1105||D==8208||8211<=D&&D<=8214||8216<=D&&D<=8217||8220<=D&&D<=8221||8224<=D&&D<=8226||8228<=D&&D<=8231||D==8240||8242<=D&&D<=8243||D==8245||D==8251||D==8254||D==8308||D==8319||8321<=D&&D<=8324||D==8364||D==8451||D==8453||D==8457||D==8467||D==8470||8481<=D&&D<=8482||D==8486||D==8491||8531<=D&&D<=8532||8539<=D&&D<=8542||8544<=D&&D<=8555||8560<=D&&D<=8569||D==8585||8592<=D&&D<=8601||8632<=D&&D<=8633||D==8658||D==8660||D==8679||D==8704||8706<=D&&D<=8707||8711<=D&&D<=8712||D==8715||D==8719||D==8721||D==8725||D==8730||8733<=D&&D<=8736||D==8739||D==8741||8743<=D&&D<=8748||D==8750||8756<=D&&D<=8759||8764<=D&&D<=8765||D==8776||D==8780||D==8786||8800<=D&&D<=8801||8804<=D&&D<=8807||8810<=D&&D<=8811||8814<=D&&D<=8815||8834<=D&&D<=8835||8838<=D&&D<=8839||D==8853||D==8857||D==8869||D==8895||D==8978||9312<=D&&D<=9449||9451<=D&&D<=9547||9552<=D&&D<=9587||9600<=D&&D<=9615||9618<=D&&D<=9621||9632<=D&&D<=9633||9635<=D&&D<=9641||9650<=D&&D<=9651||9654<=D&&D<=9655||9660<=D&&D<=9661||9664<=D&&D<=9665||9670<=D&&D<=9672||D==9675||9678<=D&&D<=9681||9698<=D&&D<=9701||D==9711||9733<=D&&D<=9734||D==9737||9742<=D&&D<=9743||9748<=D&&D<=9749||D==9756||D==9758||D==9792||D==9794||9824<=D&&D<=9825||9827<=D&&D<=9829||9831<=D&&D<=9834||9836<=D&&D<=9837||D==9839||9886<=D&&D<=9887||9918<=D&&D<=9919||9924<=D&&D<=9933||9935<=D&&D<=9953||D==9955||9960<=D&&D<=9983||D==10045||D==10071||10102<=D&&D<=10111||11093<=D&&D<=11097||12872<=D&&D<=12879||57344<=D&&D<=63743||65024<=D&&D<=65039||D==65533||127232<=D&&D<=127242||127248<=D&&D<=127277||127280<=D&&D<=127337||127344<=D&&D<=127386||917760<=D&&D<=917999||983040<=D&&D<=1048573||1048576<=D&&D<=1114109?"A":"N"},e.characterLength=function(C){var u=this.eastAsianWidth(C);return u=="F"||u=="W"||u=="A"?2:1};function t(C){return C.match(/[\uD800-\uDBFF][\uDC00-\uDFFF]|[^\uD800-\uDFFF]/g)||[]}E(t,"stringToArray"),e.length=function(C){for(var u=t(C),r=0,D=0;D<u.length;D++)r=r+this.characterLength(u[D]);return r},e.slice=function(C,u,r){textLen=e.length(C),u=u||0,r=r||1,u<0&&(u=textLen+u),r<0&&(r=textLen+r);for(var D="",s=0,i=t(C),p=0;p<i.length;p++){var w=i[p],m=e.length(w);if(s>=u-(m==2?1:0))if(s+m<=r)D+=w;else break;s+=m}return D}})(I)),I.exports}E(nD,"requireEastasianwidth");var oD=nD(),sD=R(oD),M,q;function iD(){return q||(q=1,M=E(function(){return/\uD83C\uDFF4\uDB40\uDC67\uDB40\uDC62(?:\uDB40\uDC77\uDB40\uDC6C\uDB40\uDC73|\uDB40\uDC73\uDB40\uDC63\uDB40\uDC74|\uDB40\uDC65\uDB40\uDC6E\uDB40\uDC67)\uDB40\uDC7F|(?:\uD83E\uDDD1\uD83C\uDFFF\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFF\u200D\uD83E\uDD1D\u200D(?:\uD83D[\uDC68\uDC69]))(?:\uD83C[\uDFFB-\uDFFE])|(?:\uD83E\uDDD1\uD83C\uDFFE\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFE\u200D\uD83E\uDD1D\u200D(?:\uD83D[\uDC68\uDC69]))(?:\uD83C[\uDFFB-\uDFFD\uDFFF])|(?:\uD83E\uDDD1\uD83C\uDFFD\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFD\u200D\uD83E\uDD1D\u200D(?:\uD83D[\uDC68\uDC69]))(?:\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])|(?:\uD83E\uDDD1\uD83C\uDFFC\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFC\u200D\uD83E\uDD1D\u200D(?:\uD83D[\uDC68\uDC69]))(?:\uD83C[\uDFFB\uDFFD-\uDFFF])|(?:\uD83E\uDDD1\uD83C\uDFFB\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFB\u200D\uD83E\uDD1D\u200D(?:\uD83D[\uDC68\uDC69]))(?:\uD83C[\uDFFC-\uDFFF])|\uD83D\uDC68(?:\uD83C\uDFFB(?:\u200D(?:\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFF])|\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFF]))|\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFC-\uDFFF])|[\u2695\u2696\u2708]\uFE0F|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD]))?|(?:\uD83C[\uDFFC-\uDFFF])\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFF])|\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFF]))|\u200D(?:\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83D\uDC68|(?:\uD83D[\uDC68\uDC69])\u200D(?:\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67]))|\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67])|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFF\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFE])|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFE\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFD\uDFFF])|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFD\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFC\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB\uDFFD-\uDFFF])|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|(?:\uD83C\uDFFF\u200D[\u2695\u2696\u2708]|\uD83C\uDFFE\u200D[\u2695\u2696\u2708]|\uD83C\uDFFD\u200D[\u2695\u2696\u2708]|\uD83C\uDFFC\u200D[\u2695\u2696\u2708]|\u200D[\u2695\u2696\u2708])\uFE0F|\u200D(?:(?:\uD83D[\uDC68\uDC69])\u200D(?:\uD83D[\uDC66\uDC67])|\uD83D[\uDC66\uDC67])|\uD83C\uDFFF|\uD83C\uDFFE|\uD83C\uDFFD|\uD83C\uDFFC)?|(?:\uD83D\uDC69(?:\uD83C\uDFFB\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D(?:\uD83D[\uDC68\uDC69])|\uD83D[\uDC68\uDC69])|(?:\uD83C[\uDFFC-\uDFFF])\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D(?:\uD83D[\uDC68\uDC69])|\uD83D[\uDC68\uDC69]))|\uD83E\uDDD1(?:\uD83C[\uDFFB-\uDFFF])\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1)(?:\uD83C[\uDFFB-\uDFFF])|\uD83D\uDC69\u200D\uD83D\uDC69\u200D(?:\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67]))|\uD83D\uDC69(?:\u200D(?:\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D(?:\uD83D[\uDC68\uDC69])|\uD83D[\uDC68\uDC69])|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFF\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFE\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFD\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFC\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFB\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD]))|\uD83E\uDDD1(?:\u200D(?:\uD83E\uDD1D\u200D\uD83E\uDDD1|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFF\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFE\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFD\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFC\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFB\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD]))|\uD83D\uDC69\u200D\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC69\u200D\uD83D\uDC69\u200D(?:\uD83D[\uDC66\uDC67])|\uD83D\uDC69\u200D\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67])|(?:\uD83D\uDC41\uFE0F\u200D\uD83D\uDDE8|\uD83E\uDDD1(?:\uD83C\uDFFF\u200D[\u2695\u2696\u2708]|\uD83C\uDFFE\u200D[\u2695\u2696\u2708]|\uD83C\uDFFD\u200D[\u2695\u2696\u2708]|\uD83C\uDFFC\u200D[\u2695\u2696\u2708]|\uD83C\uDFFB\u200D[\u2695\u2696\u2708]|\u200D[\u2695\u2696\u2708])|\uD83D\uDC69(?:\uD83C\uDFFF\u200D[\u2695\u2696\u2708]|\uD83C\uDFFE\u200D[\u2695\u2696\u2708]|\uD83C\uDFFD\u200D[\u2695\u2696\u2708]|\uD83C\uDFFC\u200D[\u2695\u2696\u2708]|\uD83C\uDFFB\u200D[\u2695\u2696\u2708]|\u200D[\u2695\u2696\u2708])|\uD83D\uDE36\u200D\uD83C\uDF2B|\uD83C\uDFF3\uFE0F\u200D\u26A7|\uD83D\uDC3B\u200D\u2744|(?:(?:\uD83C[\uDFC3\uDFC4\uDFCA]|\uD83D[\uDC6E\uDC70\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4-\uDEB6]|\uD83E[\uDD26\uDD35\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD-\uDDCF\uDDD4\uDDD6-\uDDDD])(?:\uD83C[\uDFFB-\uDFFF])|\uD83D\uDC6F|\uD83E[\uDD3C\uDDDE\uDDDF])\u200D[\u2640\u2642]|(?:\u26F9|\uD83C[\uDFCB\uDFCC]|\uD83D\uDD75)(?:\uFE0F|\uD83C[\uDFFB-\uDFFF])\u200D[\u2640\u2642]|\uD83C\uDFF4\u200D\u2620|(?:\uD83C[\uDFC3\uDFC4\uDFCA]|\uD83D[\uDC6E\uDC70\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4-\uDEB6]|\uD83E[\uDD26\uDD35\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD-\uDDCF\uDDD4\uDDD6-\uDDDD])\u200D[\u2640\u2642]|[\xA9\xAE\u203C\u2049\u2122\u2139\u2194-\u2199\u21A9\u21AA\u2328\u23CF\u23ED-\u23EF\u23F1\u23F2\u23F8-\u23FA\u24C2\u25AA\u25AB\u25B6\u25C0\u25FB\u25FC\u2600-\u2604\u260E\u2611\u2618\u2620\u2622\u2623\u2626\u262A\u262E\u262F\u2638-\u263A\u2640\u2642\u265F\u2660\u2663\u2665\u2666\u2668\u267B\u267E\u2692\u2694-\u2697\u2699\u269B\u269C\u26A0\u26A7\u26B0\u26B1\u26C8\u26CF\u26D1\u26D3\u26E9\u26F0\u26F1\u26F4\u26F7\u26F8\u2702\u2708\u2709\u270F\u2712\u2714\u2716\u271D\u2721\u2733\u2734\u2744\u2747\u2763\u27A1\u2934\u2935\u2B05-\u2B07\u3030\u303D\u3297\u3299]|\uD83C[\uDD70\uDD71\uDD7E\uDD7F\uDE02\uDE37\uDF21\uDF24-\uDF2C\uDF36\uDF7D\uDF96\uDF97\uDF99-\uDF9B\uDF9E\uDF9F\uDFCD\uDFCE\uDFD4-\uDFDF\uDFF5\uDFF7]|\uD83D[\uDC3F\uDCFD\uDD49\uDD4A\uDD6F\uDD70\uDD73\uDD76-\uDD79\uDD87\uDD8A-\uDD8D\uDDA5\uDDA8\uDDB1\uDDB2\uDDBC\uDDC2-\uDDC4\uDDD1-\uDDD3\uDDDC-\uDDDE\uDDE1\uDDE3\uDDE8\uDDEF\uDDF3\uDDFA\uDECB\uDECD-\uDECF\uDEE0-\uDEE5\uDEE9\uDEF0\uDEF3])\uFE0F|\uD83C\uDFF3\uFE0F\u200D\uD83C\uDF08|\uD83D\uDC69\u200D\uD83D\uDC67|\uD83D\uDC69\u200D\uD83D\uDC66|\uD83D\uDE35\u200D\uD83D\uDCAB|\uD83D\uDE2E\u200D\uD83D\uDCA8|\uD83D\uDC15\u200D\uD83E\uDDBA|\uD83E\uDDD1(?:\uD83C\uDFFF|\uD83C\uDFFE|\uD83C\uDFFD|\uD83C\uDFFC|\uD83C\uDFFB)?|\uD83D\uDC69(?:\uD83C\uDFFF|\uD83C\uDFFE|\uD83C\uDFFD|\uD83C\uDFFC|\uD83C\uDFFB)?|\uD83C\uDDFD\uD83C\uDDF0|\uD83C\uDDF6\uD83C\uDDE6|\uD83C\uDDF4\uD83C\uDDF2|\uD83D\uDC08\u200D\u2B1B|\u2764\uFE0F\u200D(?:\uD83D\uDD25|\uD83E\uDE79)|\uD83D\uDC41\uFE0F|\uD83C\uDFF3\uFE0F|\uD83C\uDDFF(?:\uD83C[\uDDE6\uDDF2\uDDFC])|\uD83C\uDDFE(?:\uD83C[\uDDEA\uDDF9])|\uD83C\uDDFC(?:\uD83C[\uDDEB\uDDF8])|\uD83C\uDDFB(?:\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDEE\uDDF3\uDDFA])|\uD83C\uDDFA(?:\uD83C[\uDDE6\uDDEC\uDDF2\uDDF3\uDDF8\uDDFE\uDDFF])|\uD83C\uDDF9(?:\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDED\uDDEF-\uDDF4\uDDF7\uDDF9\uDDFB\uDDFC\uDDFF])|\uD83C\uDDF8(?:\uD83C[\uDDE6-\uDDEA\uDDEC-\uDDF4\uDDF7-\uDDF9\uDDFB\uDDFD-\uDDFF])|\uD83C\uDDF7(?:\uD83C[\uDDEA\uDDF4\uDDF8\uDDFA\uDDFC])|\uD83C\uDDF5(?:\uD83C[\uDDE6\uDDEA-\uDDED\uDDF0-\uDDF3\uDDF7-\uDDF9\uDDFC\uDDFE])|\uD83C\uDDF3(?:\uD83C[\uDDE6\uDDE8\uDDEA-\uDDEC\uDDEE\uDDF1\uDDF4\uDDF5\uDDF7\uDDFA\uDDFF])|\uD83C\uDDF2(?:\uD83C[\uDDE6\uDDE8-\uDDED\uDDF0-\uDDFF])|\uD83C\uDDF1(?:\uD83C[\uDDE6-\uDDE8\uDDEE\uDDF0\uDDF7-\uDDFB\uDDFE])|\uD83C\uDDF0(?:\uD83C[\uDDEA\uDDEC-\uDDEE\uDDF2\uDDF3\uDDF5\uDDF7\uDDFC\uDDFE\uDDFF])|\uD83C\uDDEF(?:\uD83C[\uDDEA\uDDF2\uDDF4\uDDF5])|\uD83C\uDDEE(?:\uD83C[\uDDE8-\uDDEA\uDDF1-\uDDF4\uDDF6-\uDDF9])|\uD83C\uDDED(?:\uD83C[\uDDF0\uDDF2\uDDF3\uDDF7\uDDF9\uDDFA])|\uD83C\uDDEC(?:\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEE\uDDF1-\uDDF3\uDDF5-\uDDFA\uDDFC\uDDFE])|\uD83C\uDDEB(?:\uD83C[\uDDEE-\uDDF0\uDDF2\uDDF4\uDDF7])|\uD83C\uDDEA(?:\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDED\uDDF7-\uDDFA])|\uD83C\uDDE9(?:\uD83C[\uDDEA\uDDEC\uDDEF\uDDF0\uDDF2\uDDF4\uDDFF])|\uD83C\uDDE8(?:\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDEE\uDDF0-\uDDF5\uDDF7\uDDFA-\uDDFF])|\uD83C\uDDE7(?:\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEF\uDDF1-\uDDF4\uDDF6-\uDDF9\uDDFB\uDDFC\uDDFE\uDDFF])|\uD83C\uDDE6(?:\uD83C[\uDDE8-\uDDEC\uDDEE\uDDF1\uDDF2\uDDF4\uDDF6-\uDDFA\uDDFC\uDDFD\uDDFF])|[#\*0-9]\uFE0F\u20E3|\u2764\uFE0F|(?:\uD83C[\uDFC3\uDFC4\uDFCA]|\uD83D[\uDC6E\uDC70\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4-\uDEB6]|\uD83E[\uDD26\uDD35\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD-\uDDCF\uDDD4\uDDD6-\uDDDD])(?:\uD83C[\uDFFB-\uDFFF])|(?:\u26F9|\uD83C[\uDFCB\uDFCC]|\uD83D\uDD75)(?:\uFE0F|\uD83C[\uDFFB-\uDFFF])|\uD83C\uDFF4|(?:[\u270A\u270B]|\uD83C[\uDF85\uDFC2\uDFC7]|\uD83D[\uDC42\uDC43\uDC46-\uDC50\uDC66\uDC67\uDC6B-\uDC6D\uDC72\uDC74-\uDC76\uDC78\uDC7C\uDC83\uDC85\uDC8F\uDC91\uDCAA\uDD7A\uDD95\uDD96\uDE4C\uDE4F\uDEC0\uDECC]|\uD83E[\uDD0C\uDD0F\uDD18-\uDD1C\uDD1E\uDD1F\uDD30-\uDD34\uDD36\uDD77\uDDB5\uDDB6\uDDBB\uDDD2\uDDD3\uDDD5])(?:\uD83C[\uDFFB-\uDFFF])|(?:[\u261D\u270C\u270D]|\uD83D[\uDD74\uDD90])(?:\uFE0F|\uD83C[\uDFFB-\uDFFF])|[\u270A\u270B]|\uD83C[\uDF85\uDFC2\uDFC7]|\uD83D[\uDC08\uDC15\uDC3B\uDC42\uDC43\uDC46-\uDC50\uDC66\uDC67\uDC6B-\uDC6D\uDC72\uDC74-\uDC76\uDC78\uDC7C\uDC83\uDC85\uDC8F\uDC91\uDCAA\uDD7A\uDD95\uDD96\uDE2E\uDE35\uDE36\uDE4C\uDE4F\uDEC0\uDECC]|\uD83E[\uDD0C\uDD0F\uDD18-\uDD1C\uDD1E\uDD1F\uDD30-\uDD34\uDD36\uDD77\uDDB5\uDDB6\uDDBB\uDDD2\uDDD3\uDDD5]|\uD83C[\uDFC3\uDFC4\uDFCA]|\uD83D[\uDC6E\uDC70\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4-\uDEB6]|\uD83E[\uDD26\uDD35\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD-\uDDCF\uDDD4\uDDD6-\uDDDD]|\uD83D\uDC6F|\uD83E[\uDD3C\uDDDE\uDDDF]|[\u231A\u231B\u23E9-\u23EC\u23F0\u23F3\u25FD\u25FE\u2614\u2615\u2648-\u2653\u267F\u2693\u26A1\u26AA\u26AB\u26BD\u26BE\u26C4\u26C5\u26CE\u26D4\u26EA\u26F2\u26F3\u26F5\u26FA\u26FD\u2705\u2728\u274C\u274E\u2753-\u2755\u2757\u2795-\u2797\u27B0\u27BF\u2B1B\u2B1C\u2B50\u2B55]|\uD83C[\uDC04\uDCCF\uDD8E\uDD91-\uDD9A\uDE01\uDE1A\uDE2F\uDE32-\uDE36\uDE38-\uDE3A\uDE50\uDE51\uDF00-\uDF20\uDF2D-\uDF35\uDF37-\uDF7C\uDF7E-\uDF84\uDF86-\uDF93\uDFA0-\uDFC1\uDFC5\uDFC6\uDFC8\uDFC9\uDFCF-\uDFD3\uDFE0-\uDFF0\uDFF8-\uDFFF]|\uD83D[\uDC00-\uDC07\uDC09-\uDC14\uDC16-\uDC3A\uDC3C-\uDC3E\uDC40\uDC44\uDC45\uDC51-\uDC65\uDC6A\uDC79-\uDC7B\uDC7D-\uDC80\uDC84\uDC88-\uDC8E\uDC90\uDC92-\uDCA9\uDCAB-\uDCFC\uDCFF-\uDD3D\uDD4B-\uDD4E\uDD50-\uDD67\uDDA4\uDDFB-\uDE2D\uDE2F-\uDE34\uDE37-\uDE44\uDE48-\uDE4A\uDE80-\uDEA2\uDEA4-\uDEB3\uDEB7-\uDEBF\uDEC1-\uDEC5\uDED0-\uDED2\uDED5-\uDED7\uDEEB\uDEEC\uDEF4-\uDEFC\uDFE0-\uDFEB]|\uD83E[\uDD0D\uDD0E\uDD10-\uDD17\uDD1D\uDD20-\uDD25\uDD27-\uDD2F\uDD3A\uDD3F-\uDD45\uDD47-\uDD76\uDD78\uDD7A-\uDDB4\uDDB7\uDDBA\uDDBC-\uDDCB\uDDD0\uDDE0-\uDDFF\uDE70-\uDE74\uDE78-\uDE7A\uDE80-\uDE86\uDE90-\uDEA8\uDEB0-\uDEB6\uDEC0-\uDEC2\uDED0-\uDED6]|(?:[\u231A\u231B\u23E9-\u23EC\u23F0\u23F3\u25FD\u25FE\u2614\u2615\u2648-\u2653\u267F\u2693\u26A1\u26AA\u26AB\u26BD\u26BE\u26C4\u26C5\u26CE\u26D4\u26EA\u26F2\u26F3\u26F5\u26FA\u26FD\u2705\u270A\u270B\u2728\u274C\u274E\u2753-\u2755\u2757\u2795-\u2797\u27B0\u27BF\u2B1B\u2B1C\u2B50\u2B55]|\uD83C[\uDC04\uDCCF\uDD8E\uDD91-\uDD9A\uDDE6-\uDDFF\uDE01\uDE1A\uDE2F\uDE32-\uDE36\uDE38-\uDE3A\uDE50\uDE51\uDF00-\uDF20\uDF2D-\uDF35\uDF37-\uDF7C\uDF7E-\uDF93\uDFA0-\uDFCA\uDFCF-\uDFD3\uDFE0-\uDFF0\uDFF4\uDFF8-\uDFFF]|\uD83D[\uDC00-\uDC3E\uDC40\uDC42-\uDCFC\uDCFF-\uDD3D\uDD4B-\uDD4E\uDD50-\uDD67\uDD7A\uDD95\uDD96\uDDA4\uDDFB-\uDE4F\uDE80-\uDEC5\uDECC\uDED0-\uDED2\uDED5-\uDED7\uDEEB\uDEEC\uDEF4-\uDEFC\uDFE0-\uDFEB]|\uD83E[\uDD0C-\uDD3A\uDD3C-\uDD45\uDD47-\uDD78\uDD7A-\uDDCB\uDDCD-\uDDFF\uDE70-\uDE74\uDE78-\uDE7A\uDE80-\uDE86\uDE90-\uDEA8\uDEB0-\uDEB6\uDEC0-\uDEC2\uDED0-\uDED6])|(?:[#\*0-9\xA9\xAE\u203C\u2049\u2122\u2139\u2194-\u2199\u21A9\u21AA\u231A\u231B\u2328\u23CF\u23E9-\u23F3\u23F8-\u23FA\u24C2\u25AA\u25AB\u25B6\u25C0\u25FB-\u25FE\u2600-\u2604\u260E\u2611\u2614\u2615\u2618\u261D\u2620\u2622\u2623\u2626\u262A\u262E\u262F\u2638-\u263A\u2640\u2642\u2648-\u2653\u265F\u2660\u2663\u2665\u2666\u2668\u267B\u267E\u267F\u2692-\u2697\u2699\u269B\u269C\u26A0\u26A1\u26A7\u26AA\u26AB\u26B0\u26B1\u26BD\u26BE\u26C4\u26C5\u26C8\u26CE\u26CF\u26D1\u26D3\u26D4\u26E9\u26EA\u26F0-\u26F5\u26F7-\u26FA\u26FD\u2702\u2705\u2708-\u270D\u270F\u2712\u2714\u2716\u271D\u2721\u2728\u2733\u2734\u2744\u2747\u274C\u274E\u2753-\u2755\u2757\u2763\u2764\u2795-\u2797\u27A1\u27B0\u27BF\u2934\u2935\u2B05-\u2B07\u2B1B\u2B1C\u2B50\u2B55\u3030\u303D\u3297\u3299]|\uD83C[\uDC04\uDCCF\uDD70\uDD71\uDD7E\uDD7F\uDD8E\uDD91-\uDD9A\uDDE6-\uDDFF\uDE01\uDE02\uDE1A\uDE2F\uDE32-\uDE3A\uDE50\uDE51\uDF00-\uDF21\uDF24-\uDF93\uDF96\uDF97\uDF99-\uDF9B\uDF9E-\uDFF0\uDFF3-\uDFF5\uDFF7-\uDFFF]|\uD83D[\uDC00-\uDCFD\uDCFF-\uDD3D\uDD49-\uDD4E\uDD50-\uDD67\uDD6F\uDD70\uDD73-\uDD7A\uDD87\uDD8A-\uDD8D\uDD90\uDD95\uDD96\uDDA4\uDDA5\uDDA8\uDDB1\uDDB2\uDDBC\uDDC2-\uDDC4\uDDD1-\uDDD3\uDDDC-\uDDDE\uDDE1\uDDE3\uDDE8\uDDEF\uDDF3\uDDFA-\uDE4F\uDE80-\uDEC5\uDECB-\uDED2\uDED5-\uDED7\uDEE0-\uDEE5\uDEE9\uDEEB\uDEEC\uDEF0\uDEF3-\uDEFC\uDFE0-\uDFEB]|\uD83E[\uDD0C-\uDD3A\uDD3C-\uDD45\uDD47-\uDD78\uDD7A-\uDDCB\uDDCD-\uDDFF\uDE70-\uDE74\uDE78-\uDE7A\uDE80-\uDE86\uDE90-\uDEA8\uDEB0-\uDEB6\uDEC0-\uDEC2\uDED0-\uDED6])\uFE0F|(?:[\u261D\u26F9\u270A-\u270D]|\uD83C[\uDF85\uDFC2-\uDFC4\uDFC7\uDFCA-\uDFCC]|\uD83D[\uDC42\uDC43\uDC46-\uDC50\uDC66-\uDC78\uDC7C\uDC81-\uDC83\uDC85-\uDC87\uDC8F\uDC91\uDCAA\uDD74\uDD75\uDD7A\uDD90\uDD95\uDD96\uDE45-\uDE47\uDE4B-\uDE4F\uDEA3\uDEB4-\uDEB6\uDEC0\uDECC]|\uD83E[\uDD0C\uDD0F\uDD18-\uDD1F\uDD26\uDD30-\uDD39\uDD3C-\uDD3E\uDD77\uDDB5\uDDB6\uDDB8\uDDB9\uDDBB\uDDCD-\uDDCF\uDDD1-\uDDDD])/g},"emojiRegex$1")),M}E(iD,"requireEmojiRegex");var aD=iD(),cD=R(aD);function BD(F,e={}){if(typeof F!="string"||F.length===0||(e={ambiguousIsNarrow:!0,...e},F=ED(F),F.length===0))return 0;F=F.replace(cD()," ");const t=e.ambiguousIsNarrow?1:2;let C=0;for(const u of F){const r=u.codePointAt(0);if(r<=31||r>=127&&r<=159||r>=768&&r<=879)continue;switch(sD.eastAsianWidth(u)){case"F":case"W":C+=2;break;case"A":C+=t;break;default:C+=1}}return C}E(BD,"stringWidth");const lD=E(F=>{const e=Math.floor(F/1e3);if(e<60)return`(${e}s)`;const t=Math.floor(e/60);if(t<60){const r=e%60;return`(${t}m ${r}s)`}const C=Math.floor(t/60),u=t%60;return`(${C}h ${u}m)`},"formatElapsed"),AD=E((F,e,t,C,u)=>{const r=" ".repeat(t),D=C.colors.title?C.colors.title(F.title,F.state,u):F.title;let s=`${r}${e} ${D}`;F.status&&(s+=` ${C.colors.dim(`[${F.status}]`)}`);const i=F.elapsedMs??(F.startedAt===void 0?void 0:Date.now()-F.startedAt);return i!==void 0&&i>=1e3&&(s+=` ${C.colors.dim(lD(i))}`),s},"formatTaskLine"),fD=E((F,e,t)=>{const C=`${" ".repeat(e)} `;let u="";if(F.output){const r=F.output.split(`
8
- `);for(let D=0;D<r.length;D+=1){const s=D===0?"\u2192 ":"";u+=`${C}${t.colors.secondary(`${s}${r[D]}`)}
9
- `}}if(F.streamOutput){const r=`${C} `,D=F.streamOutput.split(`
10
- `);for(let s=0;s<D.length;s+=1){const i=s===0?`${C}\u23BF `:r;u+=`${i}${t.colors.secondary(D[s])}
11
- `}F.streamTruncatedLines&&(u+=`${r}${t.colors.secondary(`(+ ${F.streamTruncatedLines} lines)`)}
12
- `)}return u},"formatTaskOutput"),dD=E((F,e,t,C)=>{switch(F){case"loading":return e?t.icons.parent:t.spinner[C];case"success":return e?t.icons.parent:t.icons.success;case"error":return e?t.icons.parentError:t.icons.error;case"warning":return t.icons.warning;default:return t.icons.pending}},"getIcon"),pD=!!(process.env.CI||process.env.CONTINUOUS_INTEGRATION||process.env.BUILD_NUMBER),gD=["assert","count","countReset","debug","dir","dirxml","error","group","groupCollapsed","groupEnd","info","log","table","time","timeEnd","timeLog","trace","warn"],hD=E(F=>{const e=E(u=>new j({write(r,D,s){F(u,String(r)),s()}}),"createStream"),t=new console.Console(e("stdout"),e("stderr")),C=new Map;for(const u of gD)C.set(u,console[u]),console[u]=t[u];return()=>{for(const[u,r]of C)console[u]=r}},"patchConsole");export{W as a,T as b,CD as c,fD as d,R as e,AD as f,dD as g,pD as i,hD as p,BD as s};
@@ -1,6 +0,0 @@
1
- var Z=Object.defineProperty;var e=(r,o)=>Z(r,"name",{value:o,configurable:!0});import{i as k,p as ee,a as I,s as se,g as oe,f as ne,d as re}from"./patch-console-PhLhxtc5.mjs";import m from"node:process";import ie from"node:os";const A=globalThis.window?.document!==void 0;globalThis.process?.versions?.node,globalThis.process?.versions?.bun,globalThis.Deno?.version?.deno,globalThis.process?.versions?.electron,globalThis.navigator?.userAgent?.includes("jsdom"),typeof WorkerGlobalScope<"u"&&globalThis instanceof WorkerGlobalScope,typeof DedicatedWorkerGlobalScope<"u"&&globalThis instanceof DedicatedWorkerGlobalScope,typeof SharedWorkerGlobalScope<"u"&&globalThis instanceof SharedWorkerGlobalScope,typeof ServiceWorkerGlobalScope<"u"&&globalThis instanceof ServiceWorkerGlobalScope;const y=globalThis.navigator?.userAgentData?.platform;y==="macOS"||globalThis.navigator?.platform==="MacIntel"||globalThis.navigator?.userAgent?.includes(" Mac ")===!0||globalThis.process?.platform,y==="Windows"||globalThis.navigator?.platform==="Win32"||globalThis.process?.platform,y==="Linux"||globalThis.navigator?.platform?.startsWith("Linux")===!0||globalThis.navigator?.userAgent?.includes(" Linux ")===!0||globalThis.process?.platform,y==="Android"||globalThis.navigator?.platform==="Android"||globalThis.navigator?.userAgent?.includes(" Android ")===!0||globalThis.process?.platform;const a="\x1B[",Y=!A&&m.env.TERM_PROGRAM==="Apple_Terminal",te=!A&&m.platform==="win32";!A&&(m.env.TERM?.startsWith("screen")||m.env.TERM?.startsWith("tmux")||m.env.TMUX),A||m.cwd;const le=e((r=1)=>a+r+"A","cursorUp"),ae=e((r=1)=>a+r+"B","cursorDown"),ce=Y?"\x1B7":a+"s",de=Y?"\x1B8":a+"u",fe=a+"J",_=a+"2J",ue=e(()=>{if(A||!te)return!1;const r=ie.release().split("."),o=Number(r[0]),c=Number(r[2]??0);return o<10||o===10&&c<10586},"isOldWindows");ue()?`${_}${a}`:`${_}${a}${a}`;const pe=e((r,o,c)=>{let D=0,P=0,d,u,M="",w=!1,R=!1,j;const $=o.isTTY===!0,B=$&&!k,L=e(()=>{k||(o.write(ce),R=!0)},"savePosition"),O=e(()=>{R&&o.write(de+fe)},"clearRenderArea");let p,S=o.rows||24;const q=e(()=>{if(p!==void 0){const s=typeof p=="function"?p(S):p;return Math.max(1,s)}return Math.max(5,S-2)},"getVisibleLinesLimit"),F=e((s,n)=>{const l=s.children&&s.children.length>0,g=oe(s.state,l,c,P);let i=`${ne(s,g,n,c,D)}
2
- `;return i+=re(s,n,c),l&&(i+=H(s.children,n+1)),i},"renderTask"),z=e(s=>s==="loading"?0:s==="pending"?1:2,"getStatePriority");let x=!1;const H=e((s,n=0)=>{if(n===0)if(x&&p===void 0)w=!1;else{const g=q(),i=[...s].sort((t,f)=>z(t.state)-z(f.state));let h="",T=0,v=0;for(let t=0;t<i.length;t+=1){const f=F(i[t],n),b=f.split(`
3
- `).length-1,G=t<i.length-1?1:0;if(T+b+G>g&&v>0)break;h+=f,T+=b,v+=1}const U=i.slice(v);if(w=U.length>0,w){const t=[];let f=0,b=0,C=0;for(const G of U)G.state==="loading"?f+=1:G.state==="pending"?b+=1:C+=1;return f>0&&t.push(`${f} loading`),b>0&&t.push(`${b} queued`),C>0&&t.push(`${C} completed`),h+=`${c.colors.dim(`(+ ${t.join(", ")})`)}
4
- `,h}}return s.map(l=>F(l,n)).join("")},"renderTaskList"),X=e((s,n)=>{O(),(s==="stderr"?process.stderr:process.stdout).write(n),L(),r.length>0&&W()},"handleConsoleOutput"),J=e(()=>{d||!$||k||(d=setInterval(()=>{D+=1,P=D%c.spinner.length,E()},c.spinnerInterval??80),d.unref())},"startSpinner"),W=e((s=!1)=>{const n=H(r),l=I(r);if(l&&d?(clearInterval(d),d=void 0):!l&&!d&&J(),k&&!s){I(r)&&n!==M&&(o.write(n),M=n);return}if(O(),R||L(),o.write(n),M=n,$){const g=o.columns||80;let i=0;const h=n.split(`
5
- `);for(let T=0;T<h.length-1;T+=1){const v=se(h[T]);i+=v<=g?1:Math.ceil(v/g)}i>0&&(o.write(le(i)),L(),o.write(ae(i)))}},"render"),E=e(()=>{u||(u=setTimeout(()=>{u=void 0,W()},33))},"scheduleRender"),K=e(()=>{B&&(u&&(clearTimeout(u),u=void 0),W(),I(r)&&w&&(M=`
6
- `))},"flushRender"),N=e(()=>{S=o.rows||24,E()},"handleResize"),Q=e(()=>{process.off("exit",V),o.off("resize",N),clearInterval(d),clearTimeout(u),j?.(),O(),R=!1},"destroy"),V=e(()=>{w&&I(r)&&(p=void 0,x=!0,W(),x=!1)},"handleExit");return $&&o.on("resize",N),B&&process.on("exit",V),k||(j=ee(X),J()),{triggerRender:E,flushRender:K,renderFinal:e(()=>{x=!0,W(!0),x=!1},"renderFinal"),destroy:Q,setMaxVisible:e(s=>{p=s},"setMaxVisible")}},"pinned");export{pe as p};